/* ============================================================
   FONDS ENKI BILAL — STYLES SITE-WIDE
   ------------------------------------------------------------
   Ce fichier remplace les règles qui étaient dans
   Avada Theme Options → Custom CSS.
   Chargé par PHP en wp_head priorité 200 pour passer APRÈS
   le CSS dynamique d'Avada (qui sort à priorité ~110).
   ============================================================ */

/* ============================================================
   1. STYLES GLOBAUX DU SITE (FONDS ENKI BILAL) Sasan
   ============================================================ */
.height-full {
  height: 100% !important;
}
.contact-max-width {
  max-width: 57.23vw;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Mobile responsive */
@media (max-width: 768px) {
  .contact-max-width {
    max-width: 100%;
  }
}
.hp-image-enki-bilal img {
  object-fit: cover;
  width: 100%;
  height: 36.03vw;
  min-height: 400px;
}
.hp-image-boutique-actualites img {
  object-fit: cover;
  width: 100%;
  height: 35.03vw;
  min-height: 380px;
}
.hp-hero-img {
  width: 100%;
  height: 49.1vw;
  object-fit: contain;
}
.underline-solid a {
  display: inline-block;
  border-bottom: 1px solid #000000;
  padding-bottom: 5px;
}

/* -------- Button hover underline -------- */
.text-underline a,
.button-underline {
  position: relative;
  display: inline-block;
  cursor: pointer;
}
.text-underline a::after,
.button-underline::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -6px;
  width: 0;
  height: 1px;
  background-color: currentColor !important;
  transition: all 0.3s ease;
  transform: translateX(-50%);
}
.text-underline a:hover,
.button-underline:hover {
  color: currentColor !important;
}
.text-underline a:hover::after,
.button-underline:hover::after {
  width: 100%;
}
.link-underline-close {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.link-underline-close::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 2px;
  background: currentColor;
  transform: scaleX(1);
  transform-origin: center;
  transition: transform 0.3s ease;
}
.link-underline-close:hover::after {
  transform: scaleX(0);
}

/* -------- Bouton "Réserver" (sale-button) -------- */
.sale-button a {
  position: relative;
  display: inline-block;
  padding: 8px 12px;
  text-decoration: none;
  border-bottom: 1px solid #000;
  color: #000;
  transition:
    color 0.3s ease,
    background-color 0.3s ease;
}
.sale-button a::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 8px;
  height: 1px;
  background: #fff;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease;
}
.sale-button a:hover {
  background-color: #000;
  color: #fff !important;
}
.sale-button a:hover::after {
  transform: scaleX(1);
}

/* -------- Bouton WC "Ajouter au panier" -------- */
.single_add_to_cart_button {
  position: relative;
  display: inline-block;
  background: #000;
  color: #fff;
  border: none;
  padding: 10px 18px;
  cursor: pointer;
  overflow: hidden;
  transition: color 0.3s ease;
}
.single_add_to_cart_button::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 8px;
  width: 0%;
  height: 1px;
  background: #fff;
  transform: translateX(-50%);
  transition: width 0.3s ease;
}
.single_add_to_cart_button:hover::after {
  width: 70%;
}

/* -------- Postcards Filter Styles -------- */

.postcards-filter .fusion-filters a {
  position: relative;
  text-decoration: none;
  display: inline-block;
  color: inherit;
}
.postcards-filter .fusion-filters a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: center;
  transition:
    transform 0.3s ease,
    text-shadow 0.25s ease;
}
.postcards-filter .fusion-filters a:hover::after {
  transform: scaleX(1);
}
.postcards-filter .fusion-filter.fusion-active a::after {
  transform: scaleX(1);
}
.postcards-filter .fusion-filter.fusion-active a {
  border: 0 !important;
  text-shadow: 0 0 0.6px currentColor;
}

/* -------- Pagination -------- */
.pagination a,
.pagination span {
  border: none !important;
  background: transparent !important;
  color: #000 !important;
  position: relative;
}
.pagination .current::after,
.pagination a:hover::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #000;
}

/* -------- Effet sur tous les boutons Avada -------- */
.fusion-button {
  position: relative;
  text-decoration: none;
}
.fusion-button::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 8px;
  height: 1px;
  background: #fcfcfc;
  transform: scaleX(0);
  transition: transform 0.35s ease;
}
.fusion-button:hover::after {
  transform: scaleX(1);
}

/* -------- Icônes Font Awesome dans les titres Avada -------- */
.title-calendar-icon .fusion-title-heading::before {
  content: "\f133";
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  margin-right: 8px;
  display: inline-block;
}
.title-location-icon .fusion-title-heading::before {
  content: "\f3c5";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 8px;
  display: inline-block;
}

/* ============================================================
   FOOTER & NAVIGATION (Sasan)
   ------------------------------------------------------------
   Rapatrié depuis Avada Theme Options → Custom CSS le 2026-05-10.
   ============================================================ */
.text-underline-footer a {
  position: relative;
  display: inline-block;
  cursor: pointer;
}
.text-underline-footer a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0px;
  width: 0;
  height: 1px;
  background-color: white !important;
  transition: all 0.3s ease;
  transform: translateX(-50%);
}
.text-underline-footer a:hover {
  color: currentColor !important;
}
.text-underline-footer a:hover::after {
  width: 100%;
}
.text-limite-4lignes {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* ---- Utilitaire : reset marges headings dans wrapper text-responsive-style ---- */
/* Bug corrigé : la version originale écrivait `.text-responsive-style h1,h2,h3,h4`
   ce qui appliquait aux h2/h3/h4 du site entier. On scope correctement chaque
   sélecteur sur .text-responsive-style. */
.text-responsive-style h1,
.text-responsive-style h2,
.text-responsive-style h3,
.text-responsive-style h4 {
  margin-bottom: 12px !important;
  margin-top: 0 !important;
}
/* ============================================================
   FEB STATUS BADGE — bouton "Ouvert/Fermé" avec dropdown
   ============================================================ */
.feb-status-badge {
  display: inline-block;
  position: relative;
  z-index: 99999;
  user-select: none;
  font-family: var(--awb-typography5-font-family, sans-serif);
}
.feb-status-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 999px;
  border: none;
  background: transparent;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  transition: opacity 0.2s ease;
  font-family: inherit;
}
.feb-status-badge.feb-status-open .feb-status-trigger {
  background-color: #008236;
}
/* État FERMÉ : couleurs inversées (fond blanc + texte rouge) + bord pulsant */
.feb-status-badge.feb-status-closed .feb-status-trigger {
  background-color: #ffffff !important;
  color: #e7000b !important;
  border: 1px solid #e7000b !important;
  animation: feb-pulse-border 2s ease-in-out infinite;
}
.feb-status-badge.feb-status-closed .feb-status-dot {
  background-color: #e7000b;
}
.feb-status-badge.feb-status-closed .feb-status-chevron {
  border-top-color: #e7000b;
}

/* Dropdown style fermé : textes en rouge sur fond blanc */
.feb-status-badge.feb-status-closed .feb-day-name,
.feb-status-badge.feb-status-closed .feb-status-hours,
.feb-status-badge.feb-status-closed .feb-closures-title,
.feb-status-badge.feb-status-closed .feb-status-closures li,
.feb-status-badge.feb-status-closed .feb-closure-date,
.feb-status-badge.feb-status-closed .feb-closure-label {
  color: #e7000b !important;
}
.feb-status-badge.feb-status-closed .feb-day-state.feb-state-open,
.feb-status-badge.feb-status-closed .feb-day-state.feb-state-closed {
  color: #e7000b !important;
  opacity: 0.7;
}
.feb-status-badge.feb-status-closed .feb-day-state.feb-state-open {
  opacity: 1;
  font-weight: 700;
}
.feb-status-badge.feb-status-closed .feb-status-day {
  border-bottom-color: rgba(231, 0, 11, 0.15);
}
.feb-status-badge.feb-status-closed .feb-status-day.feb-day-current {
  background-color: rgba(231, 0, 11, 0.06);
}

/* Animation du bord pulsant rouge */
@keyframes feb-pulse-border {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(231, 0, 11, 0.4);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(231, 0, 11, 0);
  }
}

/* Accessibilité : respecte prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .feb-status-badge.feb-status-closed .feb-status-trigger {
    animation: none !important;
  }
}
.feb-status-trigger:hover {
  opacity: 0.92;
}
.feb-status-trigger:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.feb-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.95);
  display: inline-block;
  flex-shrink: 0;
}
.feb-status-chevron {
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid #fff;
  margin-left: 4px;
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.feb-status-trigger[aria-expanded="true"] .feb-status-chevron {
  transform: rotate(180deg);
}
.feb-status-panel {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 240px;
  background: #fff;
  color: #080808;
  padding: 14px 16px 12px;
  border-radius: 6px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.16);
  z-index: 99999;
}
.feb-status-panel[hidden] {
  display: none;
}
.feb-status-panel::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 7px solid transparent;
  border-bottom-color: #fff;
}
.feb-status-week {
  list-style: none;
  padding: 0;
  margin: 0 0 10px 0;
}
.feb-status-day {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0;
  font-size: 13px;
  line-height: 1.4;
  border-bottom: 1px solid #f2f2f2;
}
.feb-status-day:last-child {
  border-bottom: none;
}
.feb-status-day.feb-day-current {
  font-weight: 700;
  background-color: #fafafa;
  margin: 0 -8px;
  padding: 5px 8px;
  border-radius: 4px;
  border-bottom: none;
}
.feb-day-name {
  color: #080808;
}
.feb-day-state {
  font-weight: 600;
  font-size: 12px;
}
.feb-day-state.feb-state-open {
  color: #008236;
}
.feb-day-state.feb-state-closed {
  color: #e7000b;
}
.feb-status-hours {
  font-size: 12px;
  color: #555;
  border-top: 1px solid #eee;
  padding-top: 8px;
  text-align: center;
  margin-bottom: 0;
}
.feb-status-closures {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid #eee;
}
.feb-closures-title {
  font-size: 11px;
  font-weight: 600;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}
.feb-status-closures ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.feb-status-closures li {
  font-size: 12px;
  color: #555;
  line-height: 1.4;
  display: flex;
  gap: 8px;
}
.feb-closure-date {
  font-weight: 600;
  color: #080808;
  min-width: 60px;
}

/* ============================================================
   RESPONSIVE — RÈGLES PAR BREAKPOINT (HOMEPAGE)
   ------------------------------------------------------------
   Breakpoints alignés sur Avada Theme Options :
     - mobile        : ≤ 640px  (visibility_small)
     - tablette      : 641–1024px (visibility_medium)
     - desktop       : ≥ 1025px
   ============================================================ */
@media (max-width: 1024px) {
  .hp-image-enki-bilal img,
  .hp-image-boutique-actualites img {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }
  .hp-hero-img {
    height: auto !important;
    aspect-ratio: 16 / 9;
    object-fit: contain;
  }
  .height-full {
    height: auto !important;
  }
}
@media (max-width: 640px) {
  .hp-image-enki-bilal img,
  .hp-image-boutique-actualites img {
    aspect-ratio: 1 / 1;
  }
  .hp-hero-img {
    aspect-ratio: auto;
  }
  .height-full {
    height: auto !important;
  }
  .full-mobile-width .fusion-builder-row {
    max-width: 100% !important;
    width: 100% !important;
  }

  /* ---- Sasan : icône panier devant l'item menu billetterie ---- */
  #menu-item-1331 .menu-text::before {
    content: "\f07a";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 8px;
  }
  /* ---- Sasan : underline statique sur mobile ---- */
  .text-underline a {
    text-decoration: underline;
    text-underline-offset: 4px;
  }
  /* ---- Sasan : titres alignés à gauche sur mobile ---- */
  .titre-align-left .fusion-title { width: 100%; }
  .titre-align-left .fusion-title-heading { text-align: left !important; }
  /* ---- Sasan : ajustements bloc transport ---- */
  .adresse-text { font-size: 15px; }
  .transport-line { font-size: 13px; gap: 5px; }
  .btn-itineraire {
    width: 100%;
    text-align: center;
    box-sizing: border-box;
  }
}

/* ============================================================
   PAGE MON ESPACE — WooCommerce my-account élégant
   ------------------------------------------------------------
   - Visibilité conditionnelle : .feb-only-logged-in / -out
   - Container narrow login (1/2 width gauche, pas centré)
   - Container dashboard full width avec sidebar nav WC
   - Charte : noir #080808 / vert #008236 / blanc épuré
   ============================================================ */

/* ---- Visibilité conditionnelle (basée sur body.logged-in WP) ---- */
body:not(.logged-in) .feb-only-logged-in { display: none !important; }
body.logged-in .feb-only-logged-out { display: none !important; }

/* ---- Aside login (la moitié droite avec accroche) ---- */
.feb-login-aside {
  border-left: 1px solid var(--awb-color3, #e5e5e5);
}
@media (max-width: 768px) {
  .feb-login-aside { border-left: none; padding-top: 30px; }
}
.feb-login-aside-content h3 {
  font-family: var(--awb-typography1-font-family, inherit);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--awb-color8, #111);
  margin: 0 0 14px;
}
.feb-login-aside-content p {
  font-size: 0.95rem;
  color: var(--awb-color7, #555);
  margin: 0 0 14px;
  line-height: 1.5;
}
.feb-login-aside-content ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.feb-login-aside-content ul li {
  position: relative;
  padding: 8px 0 8px 26px;
  font-size: 0.95rem;
  color: var(--awb-color8, #111);
  border-bottom: 1px solid #f5f5f5;
  line-height: 1.4;
}
.feb-login-aside-content ul li:last-child { border-bottom: none; }
.feb-login-aside-content ul li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 13px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #008236;
}

/* ============================================================
   WOOCOMMERCE MY ACCOUNT — wrapper commun
   ============================================================ */
.feb-account-wrap .woocommerce {
  font-family: var(--awb-typography5-font-family, inherit);
  color: var(--awb-color8, #080808);
}

/* ============================================================
   FORMULAIRES (login + register + edit + addresses)
   ============================================================ */
.feb-account-wrap .woocommerce form .form-row {
  margin-bottom: 18px;
  padding: 0;
}
.feb-account-wrap .woocommerce form .form-row label {
  display: block;
  margin-bottom: 6px;
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--awb-color7, #666);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.feb-account-wrap .woocommerce form .form-row input[type="text"],
.feb-account-wrap .woocommerce form .form-row input[type="email"],
.feb-account-wrap .woocommerce form .form-row input[type="password"],
.feb-account-wrap .woocommerce form .form-row input[type="tel"],
.feb-account-wrap .woocommerce form .form-row select,
.feb-account-wrap .woocommerce form .form-row textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--awb-color3, #ddd);
  border-radius: 6px;
  font-size: 0.95rem;
  font-family: inherit;
  background: #fff;
  color: var(--awb-color8, #111);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.feb-account-wrap .woocommerce form .form-row input:focus,
.feb-account-wrap .woocommerce form .form-row select:focus,
.feb-account-wrap .woocommerce form .form-row textarea:focus {
  outline: none;
  border-color: #008236;
  box-shadow: 0 0 0 3px rgba(0, 130, 54, 0.10);
}

/* Cases à cocher */
.feb-account-wrap .woocommerce-form__label-for-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9rem;
  color: var(--awb-color7, #555);
  cursor: pointer;
  margin-top: 12px;
}
.feb-account-wrap .woocommerce-form__input-checkbox {
  width: 18px;
  height: 18px;
  accent-color: #008236;
  cursor: pointer;
}

/* Boutons (Connexion, Enregistrer, Inscription) */
.feb-account-wrap .woocommerce form .button,
.feb-account-wrap .woocommerce a.button,
.feb-account-wrap .woocommerce-Button,
.feb-account-wrap .woocommerce input[type="submit"].button {
  background: var(--awb-color8, #111);
  color: #fff !important;
  padding: 13px 28px;
  border: 1px solid var(--awb-color8, #111);
  border-radius: 6px;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: inherit;
}
.feb-account-wrap .woocommerce form .button:hover,
.feb-account-wrap .woocommerce a.button:hover,
.feb-account-wrap .woocommerce-Button:hover {
  background: #008236;
  border-color: #008236;
  color: #fff !important;
}

/* Liens (mot de passe oublié, etc.) */
.feb-account-wrap .woocommerce a:not(.button):not(.woocommerce-MyAccount-navigation a):not(.edit) {
  color: var(--awb-color8, #080808);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s;
}
.feb-account-wrap .woocommerce a:not(.button):not(.woocommerce-MyAccount-navigation a):not(.edit):hover {
  color: #008236;
}
.feb-account-wrap .woocommerce-LostPassword {
  margin-top: 14px;
  font-size: 0.85rem;
}

/* Séparateurs entre formulaires Login / Register sur la même page */
.feb-account-wrap .woocommerce > .col2-set,
.feb-account-wrap .woocommerce > .u-columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}

/* Titres "Connexion" / "Inscription" */
.feb-account-wrap .woocommerce h2 {
  font-family: var(--awb-typography1-font-family, inherit);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--awb-color8, #111);
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--awb-color3, #eee);
}

/* ============================================================
   DASHBOARD CONNECTÉ — sidebar nav + content
   ============================================================ */
.feb-account-wrap--dashboard .woocommerce-MyAccount-navigation {
  margin-bottom: 0;
}

@media (min-width: 992px) {
  .feb-account-wrap--dashboard .woocommerce {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 40px;
    align-items: start;
  }
  .feb-account-wrap--dashboard .woocommerce-MyAccount-navigation {
    grid-column: 1;
  }
  .feb-account-wrap--dashboard .woocommerce-MyAccount-content {
    grid-column: 2;
  }
}

/* Sidebar navigation (vertical menu) */
.feb-account-wrap--dashboard .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  border: none;
  border-right: 2px solid var(--awb-color3, #f0f0f0);
}
@media (max-width: 991px) {
  .feb-account-wrap--dashboard .woocommerce-MyAccount-navigation ul {
    flex-direction: row;
    flex-wrap: wrap;
    border-right: none;
    border-bottom: 2px solid var(--awb-color3, #f0f0f0);
    margin-bottom: 24px;
  }
}
.feb-account-wrap--dashboard .woocommerce-MyAccount-navigation li {
  margin: 0;
}
.feb-account-wrap--dashboard .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 12px 18px;
  color: var(--awb-color8, #080808);
  text-decoration: none !important;
  font-size: 0.92rem;
  font-weight: 500;
  border-right: 2px solid transparent;
  margin-right: -2px;
  transition: color 0.2s, border-color 0.2s, background 0.2s;
}
@media (max-width: 991px) {
  .feb-account-wrap--dashboard .woocommerce-MyAccount-navigation li a {
    border-right: none;
    border-bottom: 2px solid transparent;
    margin-right: 0;
    margin-bottom: -2px;
  }
}
.feb-account-wrap--dashboard .woocommerce-MyAccount-navigation li a:hover {
  color: #008236;
  background: rgba(0, 130, 54, 0.04);
}
.feb-account-wrap--dashboard .woocommerce-MyAccount-navigation li.is-active a {
  color: #008236;
  border-right-color: #008236;
  font-weight: 700;
  background: rgba(0, 130, 54, 0.06);
}
@media (max-width: 991px) {
  .feb-account-wrap--dashboard .woocommerce-MyAccount-navigation li.is-active a {
    border-right-color: transparent;
    border-bottom-color: #008236;
  }
}

/* Contenu du dashboard */
.feb-account-wrap--dashboard .woocommerce-MyAccount-content {
  font-size: 0.95rem;
  line-height: 1.6;
}
.feb-account-wrap--dashboard .woocommerce-MyAccount-content h2,
.feb-account-wrap--dashboard .woocommerce-MyAccount-content h3 {
  font-family: var(--awb-typography1-font-family, inherit);
  font-size: 1.25rem;
  color: var(--awb-color8, #111);
  margin: 0 0 18px;
  padding: 0;
  border: none;
}
.feb-account-wrap--dashboard .woocommerce-MyAccount-content p {
  margin: 0 0 12px;
  color: var(--awb-color8, #111);
}

/* Tableaux (commandes, téléchargements) */
.feb-account-wrap .woocommerce table.shop_table {
  border: 1px solid var(--awb-color3, #f0f0f0);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 8px;
  overflow: hidden;
  width: 100%;
  margin: 0 0 24px;
}
.feb-account-wrap .woocommerce table.shop_table th {
  background: #fafafa;
  color: var(--awb-color8, #111);
  font-weight: 600;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 14px 16px;
  text-align: left;
  border-bottom: 1px solid var(--awb-color3, #f0f0f0);
}
.feb-account-wrap .woocommerce table.shop_table td {
  padding: 14px 16px;
  border-bottom: 1px solid #f5f5f5;
  font-size: 0.9rem;
  color: var(--awb-color8, #111);
}
.feb-account-wrap .woocommerce table.shop_table tr:last-child td {
  border-bottom: none;
}

/* Messages WC (erreur, succès, info) */
.feb-account-wrap .woocommerce-message,
.feb-account-wrap .woocommerce-info,
.feb-account-wrap .woocommerce-error {
  padding: 14px 18px;
  border-radius: 6px;
  margin-bottom: 24px;
  font-size: 0.9rem;
  list-style: none;
  border-left: 4px solid;
}
.feb-account-wrap .woocommerce-message {
  background: #f0fdf4;
  border-left-color: #008236;
  color: #166534;
}
.feb-account-wrap .woocommerce-info {
  background: #eff6ff;
  border-left-color: #1447e6;
  color: #1e3a8a;
}
.feb-account-wrap .woocommerce-error {
  background: #fef2f2;
  border-left-color: #e7000b;
  color: #991b1b;
  list-style: none;
  padding-left: 18px;
}

/* Adresses (billing + shipping) */
.feb-account-wrap .woocommerce-Addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 16px;
}
@media (max-width: 600px) {
  .feb-account-wrap .woocommerce-Addresses {
    grid-template-columns: 1fr;
  }
}
.feb-account-wrap .woocommerce-Address {
  background: #fafafa;
  padding: 24px;
  border-radius: 8px;
  border: 1px solid var(--awb-color3, #f0f0f0);
}
.feb-account-wrap .woocommerce-Address-title {
  margin-bottom: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.feb-account-wrap .woocommerce-Address-title h3,
.feb-account-wrap .woocommerce-Address-title h2 {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--awb-color8, #111);
  border: none;
  padding: 0;
}
.feb-account-wrap .woocommerce-Address-title .edit {
  color: #008236 !important;
  font-size: 0.78rem;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
}
.feb-account-wrap .woocommerce-Address-title .edit:hover {
  text-decoration: underline !important;
}
.feb-account-wrap .woocommerce-Address address {
  font-style: normal;
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--awb-color7, #555);
  margin: 0;
}

/* Bouton "Voir" / "Annuler" sur les commandes */
.feb-account-wrap .woocommerce-orders-table__cell-order-actions a.button {
  padding: 8px 14px !important;
  font-size: 0.75rem !important;
  margin-right: 4px;
}

/* ============================================================
   PARCOURS D'ACHAT — Stepper (panier / commander / confirmation)
   ============================================================ */
.feb-cart-steps,
.feb-checkout-steps-wrap .feb-cart-steps {
  list-style: none; margin: 0 0 24px; padding: 0;
  display: flex; flex-wrap: wrap; gap: 8px 18px;
  font-size: .85rem; color: var(--awb-color7, #767676);
}
.feb-cart-steps li {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 0; opacity: .55;
}
.feb-cart-steps li span {
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--awb-color3, #e0e0e0); color: var(--awb-color8, #333);
  font-weight: 600; font-size: .75rem; line-height: 1;
}
.feb-cart-steps li.is-current {
  opacity: 1; color: var(--awb-color8, #111); font-weight: 600;
}
.feb-cart-steps li.is-current span {
  background: var(--awb-color5, #111); color: #fff;
}
.feb-cart-steps li.is-done {
  opacity: .9; color: var(--awb-color8, #111);
}
.feb-cart-steps li.is-done span {
  background: #2e7d32; color: #fff; font-size: 0;
}
.feb-cart-steps li.is-done span::before {
  content: "✓"; font-size: 13px; line-height: 1; font-weight: 700;
}
@media (max-width: 600px) {
  .feb-cart-steps { gap: 6px 12px; font-size: .78rem; }
  .feb-cart-steps li span { width: 20px; height: 20px; font-size: .7rem; }
}

/* ============================================================
   FIX BOUTON CHECKOUT — texte noir, underline noir
   Scopé sur la page panier UNIQUEMENT
   ============================================================ */
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a,
body.woocommerce-cart a.wc-block-cart__submit-button,
body.woocommerce-cart a.checkout-button,
body.woocommerce-cart .wc-block-components-checkout-place-order-button {
  background-color: transparent !important;
  color: #000000 !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 8px 0 !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .04em;
  text-decoration: underline !important;
  text-decoration-color: #000000 !important;
  text-underline-offset: 5px !important;
  text-decoration-thickness: 2px !important;
  box-shadow: none !important;
  transform: none !important;
  transition: text-decoration-color .15s ease;
}
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a:hover,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a:focus,
body.woocommerce-cart a.wc-block-cart__submit-button:hover,
body.woocommerce-cart a.wc-block-cart__submit-button:focus,
body.woocommerce-cart a.checkout-button:hover,
body.woocommerce-cart a.checkout-button:focus,
body.woocommerce-cart .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-cart .wc-block-components-checkout-place-order-button:focus {
  background-color: transparent !important;
  color: #000000 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
  outline: none;
}
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a:visited {
  color: #000000 !important;
}

/* ============================================================
   PAGE VISITER LE FONDS — Infos pratiques (V3)
   ============================================================ */

/* ---- Grid container ---- */
.feb-infos-pratiques {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media (min-width: 768px) {
  .feb-infos-pratiques {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}
@media (min-width: 1200px) {
  .feb-infos-pratiques {
    gap: 28px;
  }
}
.feb-infos-pratiques--hero {
  display: block !important;
}

/* ---- Cards (base) ---- */
.feb-info-card {
  background: #fff;
  border: 1px solid var(--awb-color3, #e8e8e8);
  border-radius: 14px;
  padding: 26px 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.feb-info-card-full { grid-column: 1 / -1; }
@media (hover: hover) and (min-width: 768px) {
  .feb-info-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    border-color: var(--awb-color3, #d8d8d8);
  }
}
@media (min-width: 992px) {
  .feb-info-card { padding: 32px 32px; }
}

/* ---- Carte Horaires (hero) — layout interne 2 cols desktop ---- */
.feb-info-card-horaires {
  background: linear-gradient(135deg, #fafafa 0%, #ffffff 60%, #f5f5f5 100%);
  border: 1px solid var(--awb-color3, #e0e0e0);
}
.feb-info-card-horaires .feb-info-icon {
  background: #000;
  color: #fff;
}
.feb-horaires-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media (min-width: 768px) {
  .feb-horaires-grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: start;
  }
}
.feb-horaires-main p { margin: 0 0 6px; }
.feb-horaires-jours {
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--awb-color7, #666);
}
.feb-horaires-heures {
  font-family: var(--awb-typography1-font-family, inherit);
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  font-weight: 700;
  color: var(--awb-color8, #111);
  line-height: 1.1;
  margin-top: 4px !important;
}
.feb-horaires-meta p { margin: 0 0 8px; }
.feb-horaires-note {
  font-size: 13px !important;
  color: #888 !important;
  line-height: 1.5;
}

/* ---- Header (icône + titre) ---- */
.feb-info-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 4px;
}
.feb-info-title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--awb-color8, #111);
  font-family: var(--awb-typography1-font-family, inherit);
}
@media (min-width: 992px) {
  .feb-info-title { font-size: 1.25rem; }
}
.feb-info-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--awb-color2, #f3f3f3);
  color: var(--awb-color8, #111);
  font-size: 18px;
  flex-shrink: 0;
}
.feb-info-icon-metro {
  background: #003ca6 !important;
  color: #fff;
}
.feb-icon-letter {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 900;
  font-size: 24px;
  line-height: 1;
}
.feb-info-icon-bus {
  background: #008b3e !important;
  color: #fff;
  border-radius: 8px;
}

/* ---- Body ---- */
.feb-info-body { flex: 1; }
.feb-info-body p {
  margin: 0 0 6px;
  color: var(--awb-color7, #555);
  line-height: 1.55;
  font-size: .95rem;
}
.feb-info-body p:last-child { margin-bottom: 0; }
.feb-info-body strong { color: var(--awb-color8, #111); font-weight: 600; }
.feb-info-body a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.feb-info-body a:hover { color: #008236; }
@media (min-width: 992px) {
  .feb-info-body p { font-size: 1rem; line-height: 1.6; }
}

/* ---- Listes (contacts, stations, arrêts) ---- */
.feb-contact-list { list-style: none; margin: 0; padding: 0; }
.feb-contact-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  font-size: .95rem;
}
.feb-contact-list li i {
  color: var(--awb-color7, #999);
  width: 18px;
  text-align: center;
  font-size: 14px;
}
.feb-stations-list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.feb-stations-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .95rem;
}
.feb-stations-list li a { font-weight: 500; }

/* ---- Badges lignes métro (rond, couleurs RATP) ---- */
.feb-metro-line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #fff;
  background: #666;
  line-height: 1;
  flex-shrink: 0;
}
.feb-metro-line-1  { background: #FFCD00; color: #000; }
.feb-metro-line-2  { background: #003CA6; }
.feb-metro-line-3  { background: #837902; }
.feb-metro-line-3b { background: #6EC4E8; color: #000; }
.feb-metro-line-4  { background: #CF009E; }
.feb-metro-line-5  { background: #FF7E2E; }
.feb-metro-line-6  { background: #6ECA97; color: #000; }
.feb-metro-line-7  { background: #FA9ABA; color: #000; }
.feb-metro-line-7b { background: #6ECA97; color: #000; }
.feb-metro-line-8  { background: #E19BDF; color: #000; }
.feb-metro-line-9  { background: #B6BD00; color: #000; }
.feb-metro-line-10 { background: #C9910D; }
.feb-metro-line-11 { background: #704B1C; }
.feb-metro-line-12 { background: #007852; }
.feb-metro-line-13 { background: #6EC4E8; color: #000; }
.feb-metro-line-14 { background: #62259D; }

/* ---- Bus : numéros ---- */
.feb-bus-numbers {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 6px 0 14px;
}
.feb-bus-line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px; height: 28px;
  padding: 0 8px;
  border-radius: 6px;
  background: #008b3e;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  font-size: 13px;
  line-height: 1;
}
.feb-bus-stops {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 6px;
}
.feb-bus-stops li {
  font-size: .9rem;
  padding-left: 14px;
  position: relative;
}
.feb-bus-stops li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #008b3e;
  font-weight: 700;
}

/* ---- Boutons cards Visiter ---- */
.feb-info-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  align-self: flex-start;
  margin-top: 14px;
  padding: 11px 20px;
  background: #000;
  color: #fff !important;
  text-decoration: none !important;
  border-radius: 6px;
  font-size: .85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  transition: background .2s, color .2s, border-color .2s;
}
.feb-info-button:hover { background: #008236; color: #fff !important; }
.feb-info-button-light {
  background: var(--awb-color2, #f3f3f3);
  color: var(--awb-color8, #111) !important;
  border: 1px solid var(--awb-color3, #ddd);
}
.feb-info-button-light:hover {
  background: #000;
  color: #fff !important;
  border-color: #000;
}

/* ---- PMR : dégradé vert restauré ---- */
.feb-info-card-pmr {
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 50%, #bbf7d0 100%) !important;
  border: 1px solid rgba(0, 130, 54, 0.2);
  position: relative;
  overflow: hidden;
}
.feb-info-card-pmr::before {
  content: "";
  position: absolute;
  top: -40%;
  right: -10%;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgba(0, 130, 54, 0.10) 0%, transparent 65%);
  pointer-events: none;
}
.feb-info-card-pmr .feb-info-icon {
  background: #008236;
  color: #fff;
}
.feb-info-card-pmr .feb-info-title { color: #044418; }
.feb-info-card-pmr .feb-info-body p { color: #166534; }

/* ---- Mobile (≤ 600px) ---- */
@media (max-width: 600px) {
  .feb-info-card { padding: 22px 20px; }
  .feb-info-title { font-size: 1.05rem; }
  .feb-info-icon { width: 42px; height: 42px; font-size: 16px; }
  .feb-icon-letter { font-size: 22px; }
  .feb-horaires-heures { font-size: 1.6rem; }
}

/* ============================================================
   VISITER LE FONDS — correctifs du 2026-05-10
   - Icônes Bus/PMR via CSS pseudo-element (résiste à wpautop)
   - Métro : M circle et badges lignes alignés (36px)
   ============================================================ */
.feb-info-icon-bus:empty::before {
  content: "\f207"; /* fa-bus */
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 18px;
  color: #fff;
  line-height: 1;
}
.feb-info-card-pmr .feb-info-icon:empty::before {
  content: "\f193"; /* fa-wheelchair */
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 18px;
  color: #fff;
  line-height: 1;
}
.feb-info-card .feb-info-icon-metro {
  width: 36px !important;
  height: 36px !important;
}
.feb-info-card .feb-info-icon-metro .feb-icon-letter {
  font-size: 19px !important;
}

/* ============================================================
   PAGE COMMANDER + CONFIRMATION (order-received endpoint)
   ------------------------------------------------------------
   - Cards style Métro/Bus pour chaque section WC
   - H2/H3 réduits de -30% au total (1.3rem / 1.05rem)
   - Visibilité conditionnelle pour containers Avada éditables :
     .feb-only-on-checkout / .feb-only-on-confirmation
   - .feb-confirmation-success : container "Merci pour votre commande"
   - .feb-confirmation-notice : container notice email (vert tendre)
   ============================================================ */

/* ---- Visibilité conditionnelle des containers Avada ---- */
.feb-only-on-confirmation { display: none; }
body.woocommerce-order-received .feb-only-on-checkout { display: none !important; }
body.woocommerce-order-received .feb-only-on-confirmation { display: block !important; }

/* Cacher le titre par défaut de WC (on utilise notre fusion_title) */
body.woocommerce-order-received .woocommerce-thankyou-order-received,
body.woocommerce-order-received .wc-block-order-confirmation-status {
  display: none !important;
}

/* ---- H2 / H3 réduits de -30% au total ---- */
body.woocommerce-order-received h2,
body.woocommerce-order-received .woocommerce-order h2,
body.woocommerce-order-received .fusion-title-heading,
body.woocommerce-order-received .wc-block-order-confirmation-status h2 {
  font-size: 1.3rem !important;
  line-height: 1.3 !important;
}
body.woocommerce-order-received h3,
body.woocommerce-order-received .woocommerce-order h3 {
  font-size: 1.05rem !important;
  line-height: 1.4 !important;
}

/* Wrapper global plus aéré */
body.woocommerce-order-received .woocommerce-order {
  max-width: 900px;
  margin: 0 auto;
}

/* ---- Encadrer chaque section WC en card style Métro/Bus ---- */
body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received .woocommerce-thankyou-order-details,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .wc-block-order-confirmation-summary,
body.woocommerce-order-received .wc-block-order-confirmation-shipping-address,
body.woocommerce-order-received .wc-block-order-confirmation-billing-address,
body.woocommerce-order-received .wc-block-order-confirmation-totals-wrapper,
body.woocommerce-order-received .wc-block-order-confirmation-additional-information {
  background: #fff;
  border: 1px solid var(--awb-color3, #e8e8e8);
  border-radius: 14px;
  padding: 26px 28px;
  margin-bottom: 20px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
}
@media (min-width: 992px) {
  body.woocommerce-order-received .woocommerce-order-overview,
  body.woocommerce-order-received .woocommerce-thankyou-order-details,
  body.woocommerce-order-received .woocommerce-order-details,
  body.woocommerce-order-received .woocommerce-customer-details,
  body.woocommerce-order-received .wc-block-order-confirmation-summary,
  body.woocommerce-order-received .wc-block-order-confirmation-shipping-address,
  body.woocommerce-order-received .wc-block-order-confirmation-billing-address,
  body.woocommerce-order-received .wc-block-order-confirmation-totals-wrapper,
  body.woocommerce-order-received .wc-block-order-confirmation-additional-information {
    padding: 32px;
  }
}

/* ---- Liste infos commande (n°, date, total, paiement) en grid ---- */
body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received .woocommerce-thankyou-order-details {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  padding-left: 28px !important;
}
@media (min-width: 768px) {
  body.woocommerce-order-received .woocommerce-order-overview,
  body.woocommerce-order-received .woocommerce-thankyou-order-details {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1100px) {
  body.woocommerce-order-received .woocommerce-order-overview,
  body.woocommerce-order-received .woocommerce-thankyou-order-details {
    grid-template-columns: repeat(4, 1fr);
  }
}
body.woocommerce-order-received .woocommerce-order-overview li,
body.woocommerce-order-received .woocommerce-thankyou-order-details li {
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-transform: none;
  font-size: 0.85rem;
  color: var(--awb-color7, #666);
  border: none;
  padding: 0;
}
body.woocommerce-order-received .woocommerce-order-overview li strong,
body.woocommerce-order-received .woocommerce-thankyou-order-details li strong {
  font-weight: 700;
  color: var(--awb-color8, #111);
  font-size: 1rem;
}

/* ---- Tableau commande propre ---- */
body.woocommerce-order-received .woocommerce-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}
body.woocommerce-order-received .woocommerce-table th,
body.woocommerce-order-received .woocommerce-table td {
  padding: 12px 0;
  border-bottom: 1px solid var(--awb-color3, #eee);
  text-align: left;
  font-size: 0.95rem;
}
body.woocommerce-order-received .woocommerce-table tfoot tr:last-child th,
body.woocommerce-order-received .woocommerce-table tfoot tr:last-child td {
  border-bottom: none;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--awb-color8, #111);
  padding-top: 16px;
}

/* ---- Adresses en grid 2 cols sur desktop ---- */
body.woocommerce-order-received .woocommerce-customer-details address {
  font-style: normal;
  line-height: 1.6;
}
@media (min-width: 768px) {
  body.woocommerce-order-received .woocommerce-customer-details .col2-set {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }
}

/* ============================================================
   CONTAINER "Merci pour votre commande" (Avada)
   La colonne porte la classe .feb-confirmation-success
   ============================================================ */
.feb-confirmation-success {
  background: linear-gradient(135deg, #fafafa 0%, #ffffff 60%, #f5f5f5 100%) !important;
  border: 1px solid var(--awb-color3, #e0e0e0) !important;
  border-radius: 14px !important;
  padding: 26px 28px !important;
  margin-bottom: 20px !important;
}
@media (min-width: 992px) {
  .feb-confirmation-success { padding: 36px !important; }
}

/* ============================================================
   CONTAINER "Notice email" (Avada)
   La colonne porte la classe .feb-confirmation-notice
   ============================================================ */
.feb-confirmation-notice {
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 50%, #bbf7d0 100%) !important;
  border: 1px solid rgba(0, 130, 54, 0.25) !important;
  border-radius: 14px !important;
  padding: 26px 28px !important;
  position: relative;
  overflow: hidden;
}
.feb-confirmation-notice::before {
  content: "";
  position: absolute;
  top: -40%;
  right: -10%;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgba(0, 130, 54, 0.10) 0%, transparent 65%);
  pointer-events: none;
}
.feb-confirmation-notice .fusion-title h3,
.feb-confirmation-notice .feb-notice-title .fusion-title-heading {
  color: #044418 !important;
  margin: 0 0 14px !important;
  font-size: 1.05rem !important;
  position: relative;
  z-index: 1;
}
.feb-confirmation-notice .fusion-title h3::before,
.feb-confirmation-notice .feb-notice-title .fusion-title-heading::before {
  content: "✉";
  display: inline-block;
  margin-right: 10px;
  font-size: 1.2em;
  color: #008236;
}
.feb-confirmation-notice p {
  color: #166534 !important;
  margin: 0 0 8px !important;
  line-height: 1.6;
  position: relative;
  z-index: 1;
}
.feb-confirmation-notice p:last-child { margin-bottom: 0 !important; }
.feb-confirmation-notice strong { color: #044418; font-weight: 700; }
.feb-confirmation-notice .feb-confirmation-note {
  font-size: 0.85rem !important;
  color: #4d7c4d !important;
  margin-top: 14px !important;
  font-style: italic;
  border-top: 1px solid rgba(0, 130, 54, 0.15);
  padding-top: 12px;
}
@media (min-width: 992px) {
  .feb-confirmation-notice { padding: 36px !important; }
}
/* ============================================================
   HEADER — User link (icône + prénom) + cart conditionnel
   ============================================================ */

/* Wrapper du shortcode user link dans le header */
.feb-user-link-wrapper {
  display: inline-flex;
  align-items: center;
  margin: 0 8px;
}
.feb-user-link-wrapper p { margin: 0 !important; }

/* Lien user lui-même */
.feb-user-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  text-decoration: none !important;
  color: var(--awb-color8, #111) !important;
  font-family: var(--awb-typography3-font-family, inherit);
  font-size: max(15px, 0.83vw);
  font-weight: 500;
  line-height: 1;
  border-radius: 4px;
  transition: color .2s ease, background .2s ease;
}
.feb-user-link i {
  font-size: 15px;
  line-height: 1;
}
.feb-user-link__label {
  white-space: nowrap;
}
.feb-user-link:hover,
.feb-user-link:focus {
  color: #008236 !important;
  background: rgba(0, 130, 54, 0.06);
}

/* État connecté : prénom en gras + petit dot vert */
.feb-user-link.is-logged-in .feb-user-link__label {
  font-weight: 600;
}
.feb-user-link.is-logged-in::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #008236;
  flex-shrink: 0;
  margin-right: -2px;
}

/* ============================================================
   CART BUTTON — visible uniquement si user connecté OU panier non vide
   La classe body est posée par feb_body_class_cart_visibility (PHP)
   ============================================================ */
body.feb-hide-cart .feb-cart-btn,
body.feb-hide-cart .fusion-button-wrapper:has(.feb-cart-btn) {
  display: none !important;
}

/* Sur mobile, le user link est caché du header (passé via menu mobile) */
@media (max-width: 800px) {
  .feb-user-link-wrapper { display: none !important; }
}
/* ============================================================
   PAGE LIBRAIRIE — Post Cards : ajustement gap responsive
   ------------------------------------------------------------
   - Les colonnes sont gérées par les attributs Avada
     (columns / columns_medium / columns_small)
   - On ajuste UNIQUEMENT le gap (sans toucher à
     grid-template-columns qui casserait la mise en page interne)
   - Filter bar : min-height au lieu de height fixe (Gemini)
   ============================================================ */

/* ---- Filter bar (defensive : min-height au lieu de height fixe) ---- */
.postcards-filter .fusion-filters {
  margin-bottom: 40px !important;
  min-height: 60px;
  border-bottom: 1px solid #080808 !important;
}
@media (min-width: 1025px) {
  .postcards-filter .fusion-filters {
    height: 80px !important;
  }
}

/* ---- Tablet : gap réduit ---- */
@media (max-width: 1024px) {
  .postcards-filter .fusion-post-cards-grid {
    gap: 24px !important;
    row-gap: 24px !important;
    column-gap: 24px !important;
  }
}

/* ---- Mobile : gap réduit + filter bar empilable ---- */
@media (max-width: 640px) {
  .postcards-filter .fusion-post-cards-grid {
    gap: 20px !important;
    row-gap: 20px !important;
    column-gap: 20px !important;
  }

  /* Filter bar mobile : auto-height + wrap */
  .postcards-filter .fusion-filters {
    height: auto !important;
    margin-bottom: 24px !important;
    padding-bottom: 12px !important;
  }
  .postcards-filter .fusion-filters ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    padding: 15px 0;
  }
}
/* ============================================================
   PAGE LIBRAIRIE — FIX images postcards mobile/tablet (V2)
   ------------------------------------------------------------
   Force brute : html body devant pour spécificité max,
   min-height de sécurité pour éviter le collapse à 0.
   ============================================================ */
@media (max-width: 1024px) {
  /* Wrapper image : libère toutes les contraintes */
  html body .postcards-filter .fusion-image-element,
  html body .postcards-filter .post-card .fusion-image-element {
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
    position: relative !important;
    width: 100% !important;
  }

  /* Lien <a> wrapper autour de l'image (Avada en met un cliquable) */
  html body .postcards-filter .fusion-image-element a,
  html body .postcards-filter .post-card .fusion-image-element a,
  html body .postcards-filter .post-card a:has(img) {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    min-height: 0 !important;
  }

  /* Image : reset total + display fluide */
  html body .postcards-filter img,
  html body .postcards-filter .post-card img,
  html body .postcards-filter .post-card .fusion-image-element img,
  html body .postcards-filter .post-card img.img-with-aspect-ratio,
  html body .postcards-filter .post-card img.img-responsive {
    aspect-ratio: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    object-fit: cover !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}
/* ============================================================
   POST CARD LIBRAIRIE — Préfixe "Prix : " avant le Woo Price
   ------------------------------------------------------------
   Avada n'a pas d'option label sur fusion_tb_woo_price.
   On injecte le préfixe via CSS pseudo-element.
   La classe .feb-prix-label est mise sur l'élément Woo Price
   dans le Post Card design 960.
   ============================================================ */
.feb-prix-label {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
}
.feb-prix-label::before {
  content: "Prix : ";
  font-weight: 400;
  color: var(--awb-color7, #666);
  font-size: 0.9em;
}
/* ============================================================
   TABLEAU ATTRIBUTS WOOCOMMERCE — typographie cohérente avec le site
   ------------------------------------------------------------
   Affecte le tableau .shop_attributes partout où il apparaît
   (fiche produit single, post cards si activé, etc.)
   ============================================================ */

/* Cellules en-têtes (Poids, Dimensions, Marque, etc.) :
   typo héritée du site (Enki) + poids normal au lieu de 700 */
table.shop_attributes th,
.shop_attributes tr th,
.fusion-tb-woo-additional-info th {
  font-family: inherit !important;
  font-weight: 400 !important;
  font-size: 0.95rem !important;
  color: var(--awb-color8, #111) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  line-height: 1.5 !important;
}

/* Cellules valeurs : même typo, légèrement plus claire */
table.shop_attributes td,
.shop_attributes tr td,
.fusion-tb-woo-additional-info td {
  font-family: inherit !important;
  font-weight: 400 !important;
  font-size: 0.95rem !important;
  color: var(--awb-color7, #555) !important;
  line-height: 1.5 !important;
}

/* Liens dans le tableau attributs : noir + underline (style site)
   → enlève le hover vert qui était imposé ailleurs */
table.shop_attributes a,
table.shop_attributes a:visited,
.shop_attributes tr a,
.shop_attributes tr a:visited,
.fusion-tb-woo-additional-info a,
.fusion-tb-woo-additional-info a:visited {
  color: var(--awb-color8, #000) !important;
  text-decoration: underline !important;
  text-decoration-color: var(--awb-color8, #000) !important;
  text-underline-offset: 3px !important;
  text-decoration-thickness: 1px !important;
}

/* Hover : on garde le noir, juste un léger feedback (underline plus épais) */
table.shop_attributes a:hover,
table.shop_attributes a:focus,
.shop_attributes tr a:hover,
.shop_attributes tr a:focus,
.fusion-tb-woo-additional-info a:hover,
.fusion-tb-woo-additional-info a:focus {
  color: var(--awb-color8, #000) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
}
/* ============================================================
   WOOCOMMERCE TABS — fiche produit (Description / Avis / etc.)
   ------------------------------------------------------------
   - Tous les onglets en noir
   - Onglet actif : 5% plus grand (1.05em), sans underline
   - Onglets inactifs : noir + underline (style site)
   - Pas de couleur d'accent verte
   ============================================================ */

/* Tous les onglets : couleur noire de base, transition douce */
.woocommerce-tabs ul.tabs li a,
.woocommerce-tabs ul.wc-tabs li a,
.fusion-tb-woo-tabs ul.tabs li a {
  color: var(--awb-color8, #000) !important;
  transition: font-size 0.2s ease, text-decoration-thickness 0.2s ease;
}

/* Onglets INACTIFS : noir + underline */
.woocommerce-tabs ul.tabs li:not(.active) a,
.woocommerce-tabs ul.wc-tabs li:not(.active) a,
.fusion-tb-woo-tabs ul.tabs li:not(.active) a {
  color: var(--awb-color8, #000) !important;
  text-decoration: underline !important;
  text-decoration-color: var(--awb-color8, #000) !important;
  text-underline-offset: 4px !important;
  text-decoration-thickness: 1px !important;
}

/* Onglet ACTIF : noir, 5% plus grand, pas d'underline */
.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.wc-tabs li.active a,
.fusion-tb-woo-tabs ul.tabs li.active a {
  color: var(--awb-color8, #000) !important;
  font-size: 1.4em !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* Hover sur les onglets inactifs : underline légèrement plus épais */
.woocommerce-tabs ul.tabs li:not(.active) a:hover,
.woocommerce-tabs ul.tabs li:not(.active) a:focus,
.woocommerce-tabs ul.wc-tabs li:not(.active) a:hover,
.fusion-tb-woo-tabs ul.tabs li:not(.active) a:hover {
  color: var(--awb-color8, #000) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
}

/* Stabiliser le layout : éviter le saut quand un onglet devient actif
   (le 1.05em pousse les voisins) — on donne un padding latéral fixe */
.woocommerce-tabs ul.tabs li,
.woocommerce-tabs ul.wc-tabs li,
.fusion-tb-woo-tabs ul.tabs li {
  padding: 0 12px !important;
}
/* ============================================================
   MINI-CART OFF CANVAS — masquer les boutons natifs du widget WC
   ------------------------------------------------------------
   On garde uniquement nos boutons Avada (.feb-oc-close + Voir le panier)
   définis dans le Footer Boutons OC du Builder.
   ============================================================ */
.awb-oc .woocommerce-mini-cart__buttons,
.awb-oc p.buttons,
.fusion-off-canvas .woocommerce-mini-cart__buttons,
.fusion-off-canvas p.buttons,
.feb-oc-minicart .woocommerce-mini-cart__buttons,
.feb-oc-minicart p.buttons {
  display: none !important;
}
/* ============================================================
   MINI-CART OFF CANVAS — style cohérent avec Commander/Confirmation
   ------------------------------------------------------------
   - Largeur réduite (400px desktop, full mobile)
   - Typographie héritée du site
   - Items en grid compact (image 60px + infos + remove)
   - Sous-total bien visible avec border-top
   - Cacher les boutons natifs WC (on a les nôtres dans le footer OC)
   ============================================================ */

/* ---- Largeur OC (override défensif si réglages Avada ignorés) ---- */
.awb-oc[data-id="1949"],
.awb-oc.awb-oc--right .awb-oc__inside,
#awb-oc__1949 .awb-oc__inside {
  max-width: 400px !important;
  width: 100% !important;
}
@media (max-width: 600px) {
  .awb-oc[data-id="1949"],
  .awb-oc.awb-oc--right .awb-oc__inside,
  #awb-oc__1949 .awb-oc__inside {
    max-width: 100% !important;
  }
}

/* ---- Wrapper du mini cart (classe sur la colonne dans le Builder) ---- */
.feb-oc-minicart {
  font-family: var(--awb-typography5-font-family, sans-serif);
  font-size: 0.95rem;
  color: var(--awb-color8, #111);
}

/* ---- Liste items ---- */
.feb-oc-minicart ul.cart_list,
.feb-oc-minicart ul.product_list_widget {
  list-style: none;
  margin: 0;
  padding: 0;
}
.feb-oc-minicart ul.cart_list li,
.feb-oc-minicart ul.product_list_widget li {
  display: grid;
  grid-template-columns: 60px 1fr auto;
  grid-template-areas:
    "img  name   remove"
    "img  qty    qty";
  column-gap: 12px;
  row-gap: 4px;
  padding: 14px 0;
  border-bottom: 1px solid var(--awb-color3, #eee);
  position: relative;
  align-items: start;
}
.feb-oc-minicart ul.cart_list li:last-child,
.feb-oc-minicart ul.product_list_widget li:last-child {
  border-bottom: none;
}

/* Image item */
.feb-oc-minicart ul.cart_list li img,
.feb-oc-minicart ul.product_list_widget li img {
  grid-area: img;
  width: 60px !important;
  height: 60px !important;
  object-fit: cover;
  border-radius: 6px;
  margin: 0 !important;
  float: none !important;
}

/* Nom du produit (lien titre) */
.feb-oc-minicart ul.cart_list li > a:not(.remove),
.feb-oc-minicart ul.product_list_widget li > a:not(.remove) {
  grid-area: name;
  color: var(--awb-color8, #111);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
  line-height: 1.3;
}
.feb-oc-minicart ul.cart_list li > a:not(.remove):hover {
  text-decoration: underline;
}

/* Quantité × Prix */
.feb-oc-minicart ul.cart_list li .quantity,
.feb-oc-minicart ul.product_list_widget li .quantity {
  grid-area: qty;
  font-size: 0.85rem;
  color: var(--awb-color7, #666);
}
.feb-oc-minicart .quantity .amount {
  font-weight: 600;
  color: var(--awb-color8, #111);
}

/* Bouton remove (croix rouge) */
.feb-oc-minicart ul.cart_list li a.remove,
.feb-oc-minicart ul.product_list_widget li a.remove {
  grid-area: remove;
  position: relative !important;
  top: auto !important;
  right: auto !important;
  font-size: 18px;
  color: #c62828 !important;
  text-decoration: none !important;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent !important;
  border-radius: 50%;
  transition: background 0.15s ease;
}
.feb-oc-minicart ul.cart_list li a.remove:hover {
  background: #fef2f2 !important;
}

/* ---- Sous-total ---- */
.feb-oc-minicart p.total,
.feb-oc-minicart .woocommerce-mini-cart__total {
  display: flex !important;
  justify-content: space-between;
  align-items: baseline;
  padding: 16px 0 4px;
  margin: 14px 0 0 !important;
  border-top: 2px solid var(--awb-color3, #eee);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--awb-color8, #111);
}
.feb-oc-minicart p.total strong,
.feb-oc-minicart .woocommerce-mini-cart__total strong {
  font-weight: 500;
  font-size: 0.9rem;
  color: var(--awb-color7, #666);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.feb-oc-minicart p.total .amount,
.feb-oc-minicart .woocommerce-mini-cart__total .amount {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--awb-color8, #111);
}

/* ---- Cacher les boutons natifs WC (on a les nôtres dans le footer OC) ---- */
.awb-oc .woocommerce-mini-cart__buttons,
.awb-oc p.buttons,
.fusion-off-canvas .woocommerce-mini-cart__buttons,
.fusion-off-canvas p.buttons,
.feb-oc-minicart .woocommerce-mini-cart__buttons,
.feb-oc-minicart p.buttons {
  display: none !important;
}

/* ---- Panier vide ---- */
.feb-oc-minicart .woocommerce-mini-cart__empty-message {
  text-align: center;
  padding: 24px 12px;
  color: var(--awb-color7, #666);
  font-size: 0.95rem;
  font-style: italic;
}

/* ---- Header OC (titre "✓ Ajouté au panier") ---- */
.awb-oc .fusion-title h3,
.awb-oc .fusion-title-heading {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--awb-color8, #111) !important;
  margin: 0 !important;
}

/* ---- Boutons footer OC (Continuer + Voir le panier) ---- */
.awb-oc .feb-oc-close .fusion-button,
.awb-oc .fusion-button.button-flat[href="/cart/"],
.awb-oc .fusion-button.button-flat[href*="/cart"] {
  width: 100% !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
/* ============================================================
   FEB STATUS BADGE — surcharge couleurs dropdown (fermé)
   ------------------------------------------------------------
   - Jours OUVERTS : nom + label "Ouvert" en VERT (#008236)
   - Horaires : en VERT
   - Jours FERMÉS : restent en rouge
   ============================================================ */
.feb-status-badge.feb-status-closed .feb-status-day:has(.feb-state-open) .feb-day-name,
.feb-status-badge.feb-status-closed .feb-day-state.feb-state-open,
.feb-status-badge.feb-status-closed .feb-status-hours {
  color: #008236 !important;
}
/* ============================================================
   NEWSLETTER FOOTER — style underlined minimaliste
   ------------------------------------------------------------
   Plus de boîte bordurée. Email avec trait blanc en dessous.
   Bouton noir avec texte blanc souligné.
   ============================================================ */
.feb-newsletter-form {
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
}

.feb-newsletter-title {
  font-family: var(--awb-typography1-font-family, inherit);
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
  margin: 0 0 16px;
  text-align: center;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* ---- Ligne email + bouton ---- */
.feb-newsletter-row {
  display: flex;
  gap: 20px;
  align-items: stretch;
  background: transparent;
  border: none;
  border-radius: 0;
}

/* ---- Champ email : fond transparent forcé + override autofill ---- */
.feb-newsletter-email,
input.feb-newsletter-email,
input[type="email"].feb-newsletter-email {
  flex: 1;
  background: transparent !important;
  background-color: transparent !important;
  border: none;
  border-bottom: 1px solid #fff;
  border-radius: 0;
  color: #fff !important;
  padding: 10px 4px;
  font-size: 0.95rem;
  font-family: inherit;
  outline: none;
  min-width: 0;
  -webkit-appearance: none;
  appearance: none;
  transition: border-bottom-color 0.2s;
}
.feb-newsletter-email::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.feb-newsletter-email:focus {
  border-bottom-color: rgb(114, 136, 180);
}

/* Override autofill Chrome/Safari (fond blanc/jaune imposé par le browser) */
.feb-newsletter-email:-webkit-autofill,
.feb-newsletter-email:-webkit-autofill:hover,
.feb-newsletter-email:-webkit-autofill:focus,
.feb-newsletter-email:-webkit-autofill:active {
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: #fff !important;
  caret-color: #fff !important;
  transition: background-color 5000s ease-in-out 0s !important;
  box-shadow: 0 0 0 1000px transparent inset !important;
  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
}

/* ---- Bouton : fond noir + texte blanc + underline blanche ---- */
.feb-newsletter-submit {
  background: #000;
  color: #fff;
  border: none;
  border-radius: 0;
  padding: 10px 4px;
  font-family: inherit;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: #fff;
  text-decoration-thickness: 1px;
  text-underline-offset: 6px;
  white-space: nowrap;
  transition: color 0.15s ease, text-decoration-color 0.15s ease;
}
.feb-newsletter-submit:hover:not(:disabled) {
  color: rgb(114, 136, 180);
  text-decoration-color: rgb(114, 136, 180);
}
.feb-newsletter-submit:disabled {
  opacity: 0.5;
  cursor: wait;
}

/* ---- Texte de consentement ---- */
.feb-newsletter-consent {
  margin: 14px 0 0;
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.45;
  text-align: center;
}

/* ---- Message succès / erreur ---- */
.feb-newsletter-message {
  margin: 12px 0 0;
  font-size: 0.85rem;
  text-align: center;
  min-height: 1.2em;
  font-weight: 500;
}
.feb-newsletter-message.is-success { color: #4ade80; }
.feb-newsletter-message.is-error   { color: #fca5a5; }

/* ---- Mobile : empile email + bouton ---- */
@media (max-width: 600px) {
  .feb-newsletter-row {
    flex-direction: column;
    gap: 16px;
  }
  .feb-newsletter-submit {
    align-self: center;
  }
}
/* ============================================================
   LIBRAIRIE — Images postcards alignées sans crop
   ------------------------------------------------------------
   aspect-ratio fixe (2/3 défini dans Avada) → cards alignées
   object-fit: contain → l'image entière reste visible (pas de crop)
   Léger fond blanc → si l'image ne remplit pas le container, le
   letterbox est invisible.
   ============================================================ */

/* Desktop + tablet : conteneur avec ratio fixe, image contenue sans crop */
@media (min-width: 1025px) {
  .postcards-filter .post-card .fusion-image-element {
    background: #ffffff;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .postcards-filter .post-card .fusion-image-element img,
  .postcards-filter .post-card img.img-with-aspect-ratio,
  .postcards-filter .post-card img.img-responsive {
    object-fit: contain !important;
    object-position: center center;
    width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
  }
}
/* ============================================================
   LIBRAIRIE — Cards alignées (Add to Cart toujours en bas)
   ------------------------------------------------------------
   Résout 2 problèmes :
   1. Cards de hauteurs différentes (descriptions de longueurs
      variables) → on les met en flex column + le bouton est
      poussé en bas via margin-top: auto.
   2. Layout cassé en intermédiaire (qty 55px + bouton stretched)
      → on force qty + bouton en colonne (qty au-dessus, bouton
      pleine largeur en dessous).
   ============================================================ */

/* Cards en flex column — permet de pousser le bloc cart en bas */
.postcards-filter .fusion-post-cards-grid > *,
.postcards-filter .post-card,
.postcards-filter .fusion-post-cards-grid-column {
  display: flex !important;
  flex-direction: column !important;
}

/* Le bloc Woo Cart (avec le bouton) toujours en bas de la card */
.postcards-filter .post-card .fusion-tb-woo-cart {
  margin-top: auto !important;
}

/* Form cart : layout vertical (qty puis bouton full-width dessous) */
.postcards-filter .post-card form.cart {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Quantité : largeur auto, alignée à gauche, pas full-width */
.postcards-filter .post-card form.cart .quantity {
  flex: 0 0 auto !important;
  align-self: flex-start !important;
  margin: 0 !important;
  width: auto !important;
}

/* Bouton add to cart : pleine largeur, texte sur une ligne */
.postcards-filter .post-card form.cart .single_add_to_cart_button {
  width: 100% !important;
  white-space: nowrap !important;
  align-self: stretch !important;
  margin: 0 !important;
  min-height: 0 !important;
  height: auto !important;
}

/* WC variation add to cart (pour les produits variables) */
.postcards-filter .post-card .woocommerce-variation-add-to-cart {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
}
.postcards-filter .post-card .fusion-tb-woo-short-description {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ============================================================
   FEB MINI-CART RICH — Off-Canvas + Rich Cart (consolidé)
   ============================================================
   Bloc unique qui remplace les patches V1 à V5 itératifs.
   Inclut :
     1. Dimensions Off-Canvas Avada (.awb-off-canvas-wrap)
        - largeur 620px, hauteur auto max 85vh
        - alignement vertical top (au lieu de flex-end bottom)
     2. Styles du rich cart interne (.feb-rich-cart-*)
        - header titre + badge
        - items avec image / prix / qty interactif / subtotal
        - coupon expandable
        - total + promo + actions
     3. Adaptation mobile (plein écran < 700px)

   Référence : audit DevTools du 2026-05-14 — Avada utilise les
   classes .awb-off-canvas-wrap (backdrop) et .awb-off-canvas
   (panel intérieur). Variables CSS :
     --awb-width, --awb-height, --awb-vertical-position
   ============================================================ */

/* ============================================================
   1. OFF-CANVAS — wrapper, panel, alignment
   ============================================================ */

/* Wrapper outer : override des CSS vars qui pilotent le panel */
html body .awb-off-canvas-wrap[data-id="1949"],
html body #awb-oc-1949 {
    --awb-width: 620px !important;
    --awb-width-small: 100% !important;
    --awb-height: auto !important;
    --awb-vertical-position: flex-start !important;
    --awb-vertical-position-medium: flex-start !important;
    --awb-vertical-position-small: flex-start !important;
    --awb-padding-top: 60px !important;
}

/* Panel interne : c'est lui qu'on contrôle (.awb-off-canvas) */
html body .awb-off-canvas-wrap[data-id="1949"] .awb-off-canvas,
html body #awb-oc-1949 .awb-off-canvas {
    height: auto !important;
    max-height: 85vh !important;
    bottom: auto !important;
    overflow-y: auto !important;
    border-radius: 8px !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18) !important;
}

/* Wrappers internes : pas d'étirement parasite */
html body .awb-off-canvas-wrap[data-id="1949"] .awb-off-canvas-inner,
html body .awb-off-canvas-wrap[data-id="1949"] .off-canvas-content,
html body .awb-off-canvas-wrap[data-id="1949"] .fusion-builder-row,
html body .awb-off-canvas-wrap[data-id="1949"] .fusion-fullwidth,
html body .awb-off-canvas-wrap[data-id="1949"] .fusion-layout-column,
html body .awb-off-canvas-wrap[data-id="1949"] .fusion-column-wrapper,
html body #awb-oc-1949 .awb-off-canvas-inner,
html body #awb-oc-1949 .off-canvas-content,
html body #awb-oc-1949 .fusion-builder-row,
html body #awb-oc-1949 .fusion-fullwidth,
html body #awb-oc-1949 .fusion-layout-column,
html body #awb-oc-1949 .fusion-column-wrapper {
    height: auto !important;
    min-height: 0 !important;
}

/* Mobile : plein écran */
@media (max-width: 700px) {
    html body .awb-off-canvas-wrap[data-id="1949"],
    html body #awb-oc-1949 {
        --awb-padding-top: 0px !important;
    }
    html body .awb-off-canvas-wrap[data-id="1949"] .awb-off-canvas,
    html body #awb-oc-1949 .awb-off-canvas {
        max-height: 100vh !important;
        height: 100vh !important;
        border-radius: 0 !important;
    }
}

/* ============================================================
   2. RICH CART — wrapper + état loading
   ============================================================ */

.feb-rich-cart {
    font-family: var(--awb-typography5-font-family, sans-serif);
    color: #080808;
    padding: 24px 28px 28px;
    position: relative;
    transition: opacity 0.2s;
}

.feb-rich-cart.is-loading {
    opacity: 0.5;
    pointer-events: none;
}

/* ============================================================
   3. RICH CART — header (titre + badge)
   ============================================================ */

.feb-rich-cart-header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 24px;
}

.feb-rich-cart-title {
    font-family: var(--awb-typography1-font-family, inherit);
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0;
    line-height: 1;
    color: #080808;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.feb-rich-cart-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 8px;
    border-radius: 999px;
    background: #080808;
    color: #ffffff;
    font-size: 0.85rem;
    font-weight: 700;
    line-height: 1;
}

/* ============================================================
   4. RICH CART — liste des items
   ============================================================ */

.feb-rich-cart-list {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
    border-top: 1px solid #e5e5e5;
}

.feb-rich-cart-item {
    display: grid;
    grid-template-columns: 96px 1fr auto;
    grid-template-areas: "img details subtotal";
    column-gap: 18px;
    padding: 18px 0;
    border-bottom: 1px solid #e5e5e5;
    align-items: flex-start;
}

.feb-rich-cart-item-img {
    grid-area: img;
}
.feb-rich-cart-item-img img {
    width: 96px !important;
    height: 96px !important;
    object-fit: cover;
    border-radius: 6px;
    display: block;
    margin: 0 !important;
    float: none !important;
}

.feb-rich-cart-item-details {
    grid-area: details;
    min-width: 0;
}

.feb-rich-cart-item-name {
    margin: 0 0 8px;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
    color: #080808;
}
.feb-rich-cart-item-name a {
    color: inherit;
    text-decoration: none;
}
.feb-rich-cart-item-name a:hover {
    text-decoration: underline;
}

.feb-rich-cart-item-price {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 10px;
    font-size: 0.92rem;
}
.feb-price-current {
    font-weight: 700;
    color: #080808;
}
.feb-price-original {
    text-decoration: line-through;
    color: #999;
    font-weight: 400;
    font-size: 0.85rem;
}

.feb-rich-cart-item-subtotal {
    grid-area: subtotal;
    font-size: 1rem;
    font-weight: 700;
    color: #080808;
    text-align: right;
    align-self: flex-start;
    padding-top: 2px;
    white-space: nowrap;
}

/* ============================================================
   5. RICH CART — quantité interactive ( − [N] + 🗑 )
   ============================================================ */

.feb-rich-cart-qty-controls {
    display: flex;
    align-items: center;
    gap: 0;
    border: 1px solid #d0d0d0;
    border-radius: 6px;
    overflow: hidden;
    width: fit-content;
}

.feb-qty-btn {
    width: 32px;
    height: 32px;
    border: none;
    background: #ffffff;
    color: #080808;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    line-height: 1;
    padding: 0;
    transition: background 0.15s;
    font-family: inherit;
}
.feb-qty-btn:hover { background: #f5f5f5; }
.feb-qty-btn:active { background: #ebebeb; }

.feb-qty-input {
    width: 42px;
    height: 32px;
    border: none;
    border-left: 1px solid #d0d0d0;
    border-right: 1px solid #d0d0d0;
    background: #ffffff;
    text-align: center;
    font-size: 0.9rem;
    font-weight: 600;
    color: #080808;
    padding: 0;
    -moz-appearance: textfield;
    font-family: inherit;
}
.feb-qty-input::-webkit-outer-spin-button,
.feb-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.feb-qty-input:focus {
    outline: 2px solid #008236;
    outline-offset: -2px;
}

.feb-qty-remove {
    width: 36px;
    height: 32px;
    margin-left: 10px;
    border: 1px solid #d0d0d0;
    border-radius: 6px;
    background: #ffffff;
    color: #c62828;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background 0.15s, border-color 0.15s;
    font-family: inherit;
}
.feb-qty-remove:hover {
    background: #fef2f2;
    border-color: #c62828;
}
.feb-qty-remove .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    line-height: 1;
}

/* ============================================================
   6. RICH CART — coupon expandable
   ============================================================ */

.feb-rich-cart-coupon {
    margin: 4px 0 0;
    border-top: 1px solid #e5e5e5;
    padding: 14px 0;
}
.feb-rich-cart-coupon summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.88rem;
    font-weight: 500;
    color: #080808;
    padding: 4px 0;
}
.feb-rich-cart-coupon summary::-webkit-details-marker {
    display: none;
}
.feb-coupon-icon {
    font-size: 1.2rem;
    font-weight: 300;
    color: #555;
    transition: transform 0.2s;
}
.feb-rich-cart-coupon[open] .feb-coupon-icon {
    transform: rotate(45deg);
}
.feb-coupon-form {
    display: flex;
    gap: 8px;
    margin-top: 14px;
}
.feb-coupon-input {
    flex: 1;
    padding: 10px 14px;
    border: 1px solid #d0d0d0;
    border-radius: 6px;
    font-size: 0.9rem;
    font-family: inherit;
    background: #ffffff;
    color: #080808;
    outline: none;
    transition: border-color 0.15s;
}
.feb-coupon-input:focus {
    border-color: #008236;
}
.feb-coupon-submit {
    padding: 10px 18px;
    background: #080808;
    color: #ffffff;
    border: 1px solid #080808;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
    font-family: inherit;
}
.feb-coupon-submit:hover {
    background: #008236;
    border-color: #008236;
}
.feb-coupon-feedback {
    margin-top: 10px;
    font-size: 0.85rem;
    min-height: 1em;
}
.feb-coupon-feedback.is-success { color: #008236; }
.feb-coupon-feedback.is-error { color: #c62828; }

/* ============================================================
   7. RICH CART — total
   ============================================================ */

.feb-rich-cart-total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 18px 0 14px;
    border-top: 2px solid #080808;
    margin-top: 6px;
    font-size: 1.1rem;
}
.feb-total-label {
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #555;
}
.feb-total-amount {
    font-size: 1.3rem;
    font-weight: 700;
    color: #080808;
}
.feb-total-amount .amount {
    font-size: inherit;
    color: inherit;
}

/* ============================================================
   8. RICH CART — texte promo
   ============================================================ */

.feb-rich-cart-promo {
    margin: 0 0 18px;
    font-size: 0.8rem;
    color: #666;
    line-height: 1.5;
}

/* ============================================================
   9. RICH CART — actions (2 boutons footer)
   ============================================================ */

.feb-rich-cart-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 4px;
}
.feb-rich-cart-continue,
.feb-rich-cart-checkout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 16px;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
    font-family: inherit;
    border: 1px solid;
    line-height: 1.2;
    text-align: center;
}
.feb-rich-cart-continue {
    background: #ffffff;
    color: #080808;
    border-color: #d0d0d0;
}
.feb-rich-cart-continue:hover {
    background: #f5f5f5;
    border-color: #080808;
}
.feb-rich-cart-checkout {
    background: #080808;
    color: #ffffff !important;
    border-color: #080808;
}
.feb-rich-cart-checkout:hover {
    background: #008236;
    border-color: #008236;
    color: #ffffff !important;
}

/* Mobile : boutons empilés */
@media (max-width: 480px) {
    .feb-rich-cart-actions {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   10. RICH CART — panier vide
   ============================================================ */

.feb-rich-cart-empty .feb-rich-cart-empty-message {
    text-align: center;
    padding: 40px 20px;
    color: #666;
    font-size: 0.95rem;
    font-style: italic;
}

/* ============================================================
   FEB IMAGES — Page produit WC (single product) : pas de crop
   ------------------------------------------------------------
   S'applique automatiquement à toutes les pages produit WC
   via la classe body `single-product` (ajoutée par WC).

   Aucune classe à mettre dans Avada Builder.

   Effet :
   - Image à la Une affichée à son ratio naturel (pas de crop)
   - Background blanc pour le letterbox éventuel
   - Pas de aspect-ratio forcé (libère les contraintes Avada)
   ============================================================ */

/* Wrapper de la galerie produit WC */
body.single-product .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery__image a {
    background: #ffffff !important;
    display: block !important;
}

/* L'image elle-même : ratio naturel, full-width, pas de crop */
body.single-product .woocommerce-product-gallery__image img {
    object-fit: contain !important;
    object-position: center center !important;
    background: #ffffff !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: auto !important;
}

/* ----------------------------------------------------------
   Cas Avada : si une fiche produit utilise un fusion_image
   ou un wrapper Avada à la place de la galerie WC native
   ---------------------------------------------------------- */
body.single-product .product .images img,
body.single-product .product .fusion-image-element img,
body.single-product .product .fusion-image-wrapper img {
    object-fit: contain !important;
    object-position: center center !important;
    background: #ffffff !important;
    aspect-ratio: auto !important;
    max-height: none !important;
}

/* ----------------------------------------------------------
   Lightbox WC (PhotoSwipe) : pas besoin de toucher l'image
   du modal mais on s'assure que le clic agrandit bien la
   version originale (pas la thumbnail croppée).
   ---------------------------------------------------------- */
body.single-product .woocommerce-product-gallery__trigger {
    /* Optionnel : style du bouton zoom si tu veux le rendre plus visible */
}

/* ============================================================
   FEB — Adresse Expo (champ ACF) avec hover + underline animée
   ------------------------------------------------------------
   Cible le HTML inséré via ACF sur le produit billet :

     <a class="adresse-link-block" href="...maps...">
       <div class="adresse-fonds">
         <p>22-24 rue Charlot, 75003 Paris</p>
         <div class="metro-info">
           <span class="m-line line-8">8</span> Filles du Calvaire,
           <span class="m-line line-9">9</span> Oberkampf,
           <span class="m-line line-3">3</span> Temple
         </div>
       </div>
     </a>

   Garantit :
   - Pas de disparition au survol
   - Underline animée sur l'adresse (et pas sur tout le bloc)
   - Badges métro avec couleurs RATP officielles
   - Couleurs et textes restent visibles dans tous les états
   ============================================================ */

/* ----------------------------------------------------------
   1. LIEN WRAPPER — neutralise styles par défaut Avada
   ---------------------------------------------------------- */
.adresse-link-block,
.adresse-link-block:link,
.adresse-link-block:visited {
    display: inline-block;
    text-decoration: none !important;
    color: inherit !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer;
}

.adresse-link-block:hover,
.adresse-link-block:focus,
.adresse-link-block:active {
    text-decoration: none !important;
    color: inherit !important;
    background: transparent !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Garde tous les enfants visibles en hover (anti-disparition) */
.adresse-link-block:hover *,
.adresse-link-block:focus *,
.adresse-link-block:active * {
    opacity: 1 !important;
    visibility: visible !important;
    color: inherit;
}

/* ----------------------------------------------------------
   2. CONTAINER — bloc adresse
   ---------------------------------------------------------- */
.adresse-link-block .adresse-fonds {
    color: #080808;
    line-height: 1.5;
}

/* ----------------------------------------------------------
   3. ADRESSE PRINCIPALE — avec underline animée au survol
   ---------------------------------------------------------- */
.adresse-link-block .adresse-fonds p {
    margin: 0 0 8px;
    font-size: 1rem;
    font-weight: 500;
    color: #080808;
    position: relative;
    display: inline-block;
    transition: color 0.2s ease;
}

.adresse-link-block .adresse-fonds p::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -3px;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.3s ease;
}

.adresse-link-block:hover .adresse-fonds p::after,
.adresse-link-block:focus .adresse-fonds p::after {
    transform: scaleX(1);
}

/* ----------------------------------------------------------
   4. METRO INFO — ligne avec badges + noms de stations
   ---------------------------------------------------------- */
.adresse-link-block .metro-info {
    font-size: 0.9rem;
    color: #555;
    line-height: 1.7;
    display: block;
}

/* ----------------------------------------------------------
   5. BADGES METRO — pastilles rondes couleurs RATP
   ---------------------------------------------------------- */
.adresse-link-block .m-line {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 700;
    font-size: 12px;
    color: #ffffff;
    line-height: 1;
    margin: 0 2px 0 0;
    background: #666;
    flex-shrink: 0;
    vertical-align: middle;
}

/* Couleurs officielles RATP */
.adresse-link-block .m-line.line-1  { background: #FFCD00; color: #000; }
.adresse-link-block .m-line.line-2  { background: #003CA6; color: #fff; }
.adresse-link-block .m-line.line-3  { background: #837902; color: #fff; }
.adresse-link-block .m-line.line-3b { background: #6EC4E8; color: #000; }
.adresse-link-block .m-line.line-4  { background: #CF009E; color: #fff; }
.adresse-link-block .m-line.line-5  { background: #FF7E2E; color: #fff; }
.adresse-link-block .m-line.line-6  { background: #6ECA97; color: #000; }
.adresse-link-block .m-line.line-7  { background: #FA9ABA; color: #000; }
.adresse-link-block .m-line.line-7b { background: #6ECA97; color: #000; }
.adresse-link-block .m-line.line-8  { background: #E19BDF; color: #000; }
.adresse-link-block .m-line.line-9  { background: #B6BD00; color: #000; }
.adresse-link-block .m-line.line-10 { background: #C9910D; color: #fff; }
.adresse-link-block .m-line.line-11 { background: #704B1C; color: #fff; }
.adresse-link-block .m-line.line-12 { background: #007852; color: #fff; }
.adresse-link-block .m-line.line-13 { background: #6EC4E8; color: #000; }
.adresse-link-block .m-line.line-14 { background: #62259D; color: #fff; }

/* ----------------------------------------------------------
   6. ANTI-OVERRIDE AVADA — bouge les pseudo-elements parasites
   Avada applique parfois ::after sur les <a> pour des effets
   de souligné qui interfèrent avec notre underline custom.
   ---------------------------------------------------------- */
.adresse-link-block::after,
.adresse-link-block::before {
    content: none !important;
    display: none !important;
}

/* ============================================================
   FEB USER LINK — Hover sans couleur, underline animée
   ------------------------------------------------------------
   Remplace l'effet existant sur le nom de l'utilisateur connecté :
   AVANT : color #008236 + background rgba(0,130,54,0.06)
   APRÈS : couleur inchangée + underline animée center-out
           (même pattern que .adresse-link-block)
   ============================================================ */

/* ----------------------------------------------------------
   1. ANNULE l'effet vert (couleur + fond)
   ---------------------------------------------------------- */
.feb-user-link:hover,
.feb-user-link:focus,
.feb-user-link:active {
    color: inherit !important;
    background: transparent !important;
}

/* Empêche aussi que l'icône (avatar / icône user) change de couleur */
.feb-user-link:hover i,
.feb-user-link:focus i,
.feb-user-link:hover .feb-user-link__label,
.feb-user-link:focus .feb-user-link__label {
    color: inherit;
}

/* ----------------------------------------------------------
   2. UNDERLINE ANIMÉE — sur le label uniquement
   (pas sous l'icône ni sous le dot vert "is-logged-in")
   ---------------------------------------------------------- */
.feb-user-link .feb-user-link__label {
    position: relative;
    display: inline-block;
}

.feb-user-link .feb-user-link__label::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -3px;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.3s ease;
}

.feb-user-link:hover .feb-user-link__label::after,
.feb-user-link:focus .feb-user-link__label::after {
    transform: scaleX(1);
}

/* ============================================================
   FEB — Boutons globaux + Liens tel/mailto avec underline animée
   ------------------------------------------------------------
   1. Tous les liens tel: et mailto: → underline animée center-out
   2. Tous les boutons du site → noir au repos, RGB(114,136,180) au survol

   Couleur hover : rgb(114, 136, 180) (bleu-gris cohérent avec le reste
   du site, comme le hover newsletter et le hover sale-button).
   ============================================================ */

/* ============================================================
   1. LIENS TEL: ET MAILTO: — underline animée center-out
   ============================================================ */

a[href^="tel:"],
a[href^="mailto:"] {
    position: relative;
    display: inline-block;
    text-decoration: none !important;
    color: inherit !important;
    cursor: pointer;
    transition: color 0.2s ease;
}

a[href^="tel:"]:link,
a[href^="tel:"]:visited,
a[href^="mailto:"]:link,
a[href^="mailto:"]:visited {
    text-decoration: none !important;
    color: inherit !important;
}

/* Underline center-out */
a[href^="tel:"]::after,
a[href^="mailto:"]::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.3s ease;
}

a[href^="tel:"]:hover::after,
a[href^="tel:"]:focus::after,
a[href^="mailto:"]:hover::after,
a[href^="mailto:"]:focus::after {
    transform: scaleX(1);
}

/* ============================================================
   2. BOUTONS GLOBAUX — noir → bleu-gris RGB(114,136,180) au survol
   ------------------------------------------------------------
   Couvre les principales classes de boutons du site :
   - Avada (.fusion-button, .fusion-button.button-flat)
   - WooCommerce (.button, input.button, .single_add_to_cart_button)
   - FEB custom (.feb-rich-cart-checkout, .feb-btn-primary, etc.)

   On EXCLUT les boutons "secondaires" et "light" qui doivent rester
   blancs/transparents (Continuer mes achats, Continuer les achats, etc.)
   ============================================================ */

/* État repos : noir */
body .fusion-button,
body .fusion-button.button-flat,
body .fusion-button.button-default,
body .button:not(.feb-rich-cart-continue):not(.feb-btn-secondary):not(.feb-info-button-light),
body .woocommerce a.button:not(.feb-rich-cart-continue):not(.feb-btn-secondary):not(.feb-info-button-light),
body .woocommerce button.button:not(.feb-rich-cart-continue):not(.feb-btn-secondary):not(.feb-info-button-light),
body .woocommerce input.button:not(.feb-rich-cart-continue):not(.feb-btn-secondary):not(.feb-info-button-light),
body .feb-rich-cart-checkout,
body .feb-btn-primary,
body .feb-coupon-submit,
body .feb-newsletter-submit,
body .single_add_to_cart_button,
body .feb-info-button:not(.feb-info-button-light) {
    background: #080808 !important;
    color: #ffffff !important;
    border-color: #080808 !important;
    text-decoration: none !important;
    transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

/* État hover/focus : bleu-gris RGB(114,136,180) */
body .fusion-button:hover,
body .fusion-button:focus,
body .fusion-button.button-flat:hover,
body .fusion-button.button-flat:focus,
body .fusion-button.button-default:hover,
body .button:not(.feb-rich-cart-continue):not(.feb-btn-secondary):not(.feb-info-button-light):hover,
body .button:not(.feb-rich-cart-continue):not(.feb-btn-secondary):not(.feb-info-button-light):focus,
body .woocommerce a.button:not(.feb-rich-cart-continue):not(.feb-btn-secondary):not(.feb-info-button-light):hover,
body .woocommerce a.button:not(.feb-rich-cart-continue):not(.feb-btn-secondary):not(.feb-info-button-light):focus,
body .woocommerce button.button:not(.feb-rich-cart-continue):not(.feb-btn-secondary):not(.feb-info-button-light):hover,
body .woocommerce input.button:not(.feb-rich-cart-continue):not(.feb-btn-secondary):not(.feb-info-button-light):hover,
body .feb-rich-cart-checkout:hover,
body .feb-rich-cart-checkout:focus,
body .feb-btn-primary:hover:not(:disabled),
body .feb-btn-primary:focus:not(:disabled),
body .feb-coupon-submit:hover,
body .feb-coupon-submit:focus,
body .feb-newsletter-submit:hover:not(:disabled),
body .feb-newsletter-submit:focus:not(:disabled),
body .single_add_to_cart_button:hover,
body .single_add_to_cart_button:focus,
body .feb-info-button:not(.feb-info-button-light):hover,
body .feb-info-button:not(.feb-info-button-light):focus {
    background: rgb(114, 136, 180) !important;
    color: #ffffff !important;
    border-color: rgb(114, 136, 180) !important;
}

/* ============================================================
   3. EFFET UNDERLINE blanc sous le bouton (pseudo Avada)
   On garde l'effet déjà existant sur .fusion-button::after
   mais on s'assure que sa couleur est bien bleu-gris au survol
   ============================================================ */

body .fusion-button:hover::after,
body .feb-rich-cart-checkout:hover::after,
body .feb-btn-primary:hover::after {
    background: #ffffff !important;
}

/* ============================================================
   4. BOUTONS SECONDAIRES — restent blancs (anti-conflit)
   Liste explicite des boutons qui doivent rester light :
   ============================================================ */

body .feb-rich-cart-continue,
body .feb-btn-secondary,
body .feb-info-button-light {
    background: #ffffff !important;
    color: #080808 !important;
    border-color: #d0d0d0 !important;
}

body .feb-rich-cart-continue:hover,
body .feb-rich-cart-continue:focus,
body .feb-btn-secondary:hover,
body .feb-btn-secondary:focus,
body .feb-info-button-light:hover,
body .feb-info-button-light:focus {
    background: #ffffff !important;
    color: rgb(114, 136, 180) !important;
    border-color: rgb(114, 136, 180) !important;
}

/* ============================================================
   5. EXCLUSION : page panier checkout button
   Le bouton "Passer commande" sur /panier/ a son propre style
   noir/underline qu'on conserve.
   ============================================================ */

body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a,
body.woocommerce-cart a.checkout-button {
    /* On laisse les règles existantes prendre le dessus */
    background: transparent !important;
}

/* ============================================================
   FEB — Fix bouton panier header (annule l'override global)
   ------------------------------------------------------------
   Mon override "tous les boutons noir + RGB(114,136,180) hover"
   attrape par erreur le bouton panier du header (.feb-cart-btn)
   qui doit rester transparent / sobre.

   On RESTAURE explicitement les boutons du header :
     - .feb-cart-btn (notre bouton panier dans le header)
     - Tout .fusion-button inside #side-header ou header
   ============================================================ */

/* ---- Bouton panier dans le header : transparent par défaut ---- */
body header .feb-cart-btn,
body .fusion-header .feb-cart-btn,
body .fusion-secondary-header .feb-cart-btn,
body .fusion-secondary-menu .feb-cart-btn,
body #side-header .feb-cart-btn,
body .feb-cart-btn {
    background: transparent !important;
    color: var(--awb-color8, #080808) !important;
    border: none !important;
}

body header .feb-cart-btn:hover,
body header .feb-cart-btn:focus,
body .fusion-header .feb-cart-btn:hover,
body .fusion-secondary-header .feb-cart-btn:hover,
body .fusion-secondary-menu .feb-cart-btn:hover,
body #side-header .feb-cart-btn:hover,
body .feb-cart-btn:hover,
body .feb-cart-btn:focus {
    background: transparent !important;
    color: rgb(114, 136, 180) !important;
    border: none !important;
}

/* ---- Tous les .fusion-button DANS le header : transparent ---- */
body header .fusion-button,
body header .fusion-button.button-flat,
body header .fusion-button-wrapper .fusion-button,
body .fusion-header .fusion-button,
body .fusion-secondary-header .fusion-button,
body .fusion-secondary-menu .fusion-button,
body #side-header .fusion-button,
body #main-header .fusion-button {
    background: transparent !important;
    color: var(--awb-color8, #080808) !important;
    border: none !important;
}

body header .fusion-button:hover,
body header .fusion-button:focus,
body .fusion-header .fusion-button:hover,
body .fusion-secondary-header .fusion-button:hover,
body .fusion-secondary-menu .fusion-button:hover,
body #side-header .fusion-button:hover,
body #main-header .fusion-button:hover {
    background: transparent !important;
    color: rgb(114, 136, 180) !important;
    border: none !important;
}

/* ---- Désactive aussi le pseudo ::after underline parasite Avada
   sur ces boutons header (sinon ça met un trait blanc bizarre) ---- */
body header .fusion-button::after,
body header .feb-cart-btn::after,
body .fusion-header .fusion-button::after,
body #side-header .fusion-button::after,
body .feb-cart-btn::after {
    display: none !important;
}

/* ============================================================
   FEB — Fix bouton panier header (annule l'override global)
   ------------------------------------------------------------
   Mon override "tous les boutons noir + RGB(114,136,180) hover"
   attrape par erreur le bouton panier du header (.feb-cart-btn)
   qui doit rester transparent / sobre.

   On RESTAURE explicitement les boutons du header :
     - .feb-cart-btn (notre bouton panier dans le header)
     - Tout .fusion-button inside #side-header ou header
   ============================================================ */

/* ---- Bouton panier dans le header : transparent par défaut ---- */
body header .feb-cart-btn,
body .fusion-header .feb-cart-btn,
body .fusion-secondary-header .feb-cart-btn,
body .fusion-secondary-menu .feb-cart-btn,
body #side-header .feb-cart-btn,
body .feb-cart-btn {
    background: transparent !important;
    color: var(--awb-color8, #080808) !important;
    border: none !important;
}

body header .feb-cart-btn:hover,
body header .feb-cart-btn:focus,
body .fusion-header .feb-cart-btn:hover,
body .fusion-secondary-header .feb-cart-btn:hover,
body .fusion-secondary-menu .feb-cart-btn:hover,
body #side-header .feb-cart-btn:hover,
body .feb-cart-btn:hover,
body .feb-cart-btn:focus {
    background: transparent !important;
    color: rgb(114, 136, 180) !important;
    border: none !important;
}

/* ---- Tous les .fusion-button DANS le header : transparent ---- */
body header .fusion-button,
body header .fusion-button.button-flat,
body header .fusion-button-wrapper .fusion-button,
body .fusion-header .fusion-button,
body .fusion-secondary-header .fusion-button,
body .fusion-secondary-menu .fusion-button,
body #side-header .fusion-button,
body #main-header .fusion-button {
    background: transparent !important;
    color: var(--awb-color8, #080808) !important;
    border: none !important;
}

body header .fusion-button:hover,
body header .fusion-button:focus,
body .fusion-header .fusion-button:hover,
body .fusion-secondary-header .fusion-button:hover,
body .fusion-secondary-menu .fusion-button:hover,
body #side-header .fusion-button:hover,
body #main-header .fusion-button:hover {
    background: transparent !important;
    color: rgb(114, 136, 180) !important;
    border: none !important;
}

/* ---- Désactive aussi le pseudo ::after underline parasite Avada
   sur ces boutons header (sinon ça met un trait blanc bizarre) ---- */
body header .fusion-button::after,
body header .feb-cart-btn::after,
body .fusion-header .fusion-button::after,
body #side-header .fusion-button::after,
body .feb-cart-btn::after {
    display: none !important;
}

/* ============================================================
   FEB — Bouton panier : V3 finale
   ------------------------------------------------------------
   Analyse HTML réel :
     <a class="fusion-button button-flat ... button-underline feb-cart-btn">

   La classe .button-underline existe DÉJÀ dans site.css et gère
   l'underline animée center-out. On veut juste :
     1. Annuler le background noir imposé par notre override global
     2. Garder texte noir
     3. NE PAS toucher au ::after (sert à l'underline animée Avada/site)

   Spécificité : `html body .fusion-button.feb-cart-btn` = 0,0,2,2 → gagne.
   ============================================================ */

/* État repos : transparent + texte noir */
html body .fusion-button.feb-cart-btn,
html body a.fusion-button.feb-cart-btn,
html body .fusion-button.button-flat.feb-cart-btn,
html body header .fusion-button.feb-cart-btn,
html body .fusion-button-wrapper a.feb-cart-btn {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: #080808 !important;
    border: 0 !important;
    border-color: transparent !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

/* Hover : reste transparent + texte noir
   (l'underline animée est gérée par .button-underline::after déjà existant) */
html body .fusion-button.feb-cart-btn:hover,
html body .fusion-button.feb-cart-btn:focus,
html body .fusion-button.feb-cart-btn:active,
html body a.fusion-button.feb-cart-btn:hover,
html body .fusion-button.button-flat.feb-cart-btn:hover,
html body header .fusion-button.feb-cart-btn:hover {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: #080808 !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Icône panier (fa-shopping-basket) : reste noire au survol aussi */
html body .fusion-button.feb-cart-btn i,
html body .fusion-button.feb-cart-btn:hover i,
html body .fusion-button.feb-cart-btn .awb-button__icon {
    color: #080808 !important;
}

/* IMPORTANT : on NE TOUCHE PAS au ::after pour laisser
   .button-underline::after faire son travail (l'underline animée).
   Si jamais cette règle existante a été cassée par un patch
   antérieur, voici la re-déclaration de secours : */
html body .button-underline.feb-cart-btn::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -6px;
    width: 0;
    height: 1px;
    background-color: currentColor !important;
    transition: all 0.3s ease;
    transform: translateX(-50%);
}

html body .button-underline.feb-cart-btn:hover::after {
    width: 100%;
}

/* ============================================================
   FEB — Bouton panier : V4 (avec !important sur content)
   ------------------------------------------------------------
   Corrige V3 : la V2 avait posé `content: none !important` sur le
   ::after du bouton panier. V3 essayait de re-déclarer `content: ""`
   sans !important → perdait la guerre de spécificité.

   V4 force `content: "" !important` pour réactiver le pseudo-element
   qui dessine l'underline animée.
   ============================================================ */

/* RÉACTIVE le ::after avec !important pour battre la V2 */
html body .button-underline.feb-cart-btn::after,
html body .feb-cart-btn.button-underline::after,
html body a.feb-cart-btn::after,
html body .fusion-button.feb-cart-btn::after,
html body header .fusion-button.feb-cart-btn::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: -4px !important;
    width: 0 !important;
    height: 1px !important;
    background-color: currentColor !important;
    transition: width 0.3s ease !important;
    transform: translateX(-50%) !important;
    display: block !important;
    background-image: none !important;
}

/* Au survol : underline qui se déploie du centre vers les côtés */
html body .button-underline.feb-cart-btn:hover::after,
html body .feb-cart-btn.button-underline:hover::after,
html body a.feb-cart-btn:hover::after,
html body .fusion-button.feb-cart-btn:hover::after,
html body header .fusion-button.feb-cart-btn:hover::after {
    width: 100% !important;
}

/* S'assure que le bouton est position:relative pour ancrer le ::after */
html body .fusion-button.feb-cart-btn,
html body a.fusion-button.feb-cart-btn,
html body header .fusion-button.feb-cart-btn {
    position: relative !important;
}

/* ============================================================
   FEB — Bouton panier : V5 (underline aligné comme user-link)
   ------------------------------------------------------------
   Problème V4 : l'underline était sur le BOUTON entier, donc
   apparaissait sous le padding (trop bas).

   V5 : on cible le SPAN texte interne (.fusion-button-text)
   exactement comme .feb-user-link__label, avec le même pattern
   transform: scaleX(0→1) et bottom: -3px.

   → Underline au ras du texte, pas du padding.
   ============================================================ */

/* 1. Désactive l'ancien ::after sur le bouton lui-même */
html body .button-underline.feb-cart-btn::after,
html body .feb-cart-btn.button-underline::after,
html body a.feb-cart-btn::after,
html body .fusion-button.feb-cart-btn::after,
html body header .fusion-button.feb-cart-btn::after {
    content: none !important;
    display: none !important;
}

/* 2. Le span texte doit être position:relative pour ancrer le ::after */
html body .fusion-button.feb-cart-btn .fusion-button-text,
html body .fusion-button.feb-cart-btn .awb-button__text,
html body a.feb-cart-btn .fusion-button-text,
html body a.feb-cart-btn .awb-button__text {
    position: relative !important;
    display: inline-block !important;
}

/* 3. Underline sur le SPAN texte — pattern identique à .feb-user-link */
html body .fusion-button.feb-cart-btn .fusion-button-text::after,
html body .fusion-button.feb-cart-btn .awb-button__text::after,
html body a.feb-cart-btn .fusion-button-text::after,
html body a.feb-cart-btn .awb-button__text::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -3px !important;
    height: 1px !important;
    background: currentColor !important;
    transform: scaleX(0) !important;
    transform-origin: center !important;
    transition: transform 0.3s ease !important;
    display: block !important;
}

/* 4. Au hover sur le BOUTON, le span texte s'anime */
html body .fusion-button.feb-cart-btn:hover .fusion-button-text::after,
html body .fusion-button.feb-cart-btn:hover .awb-button__text::after,
html body .fusion-button.feb-cart-btn:focus .fusion-button-text::after,
html body .fusion-button.feb-cart-btn:focus .awb-button__text::after,
html body a.feb-cart-btn:hover .fusion-button-text::after,
html body a.feb-cart-btn:hover .awb-button__text::after {
    transform: scaleX(1) !important;
}

/* ============================================================
   FEB — Page Mon Espace : design moderne + responsive
   ------------------------------------------------------------
   Cible :
     .feb-account-wrap (colonne 2/3 contenant [woocommerce_my_account])
     .feb-aside-widgets (colonne 1/3 — widgets custom)

   Layout :
     - Sidebar nav WC (240px) à gauche + content (flex) à droite
     - Bottom-border vert sur item actif
     - Cards avec hover lift sur les commandes
     - Animations underline center-out cohérentes avec le reste du site
     - Mobile : nav devient chips horizontales scrollables
   ============================================================ */

/* ============================================================
   1. WRAPPER GLOBAL — mise en page 2 colonnes
   ============================================================ */

.feb-account-wrap {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}

.feb-account-wrap .woocommerce {
    font-family: var(--awb-typography5-font-family, sans-serif);
    color: #080808;
}

/* Desktop : grid 240px nav + 1fr content */
@media (min-width: 992px) {
    .feb-account-wrap .woocommerce.woocommerce-account {
        display: grid;
        grid-template-columns: 240px 1fr;
        gap: 48px;
        align-items: start;
    }
}

/* ============================================================
   2. SIDEBAR NAV — vertical menu avec hover underline animée
   ============================================================ */

.feb-account-wrap .woocommerce-MyAccount-navigation {
    background: #fff;
    padding: 0;
    margin: 0;
}

.feb-account-wrap .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    border: none;
}

.feb-account-wrap .woocommerce-MyAccount-navigation li {
    margin: 0;
    border: none;
}

.feb-account-wrap .woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 12px 0;
    color: #080808;
    text-decoration: none !important;
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.3;
    border: none;
    position: relative;
    transition: color 0.2s ease;
}

/* Underline animée center-out sur le label nav */
.feb-account-wrap .woocommerce-MyAccount-navigation li a::after {
    content: "";
    position: absolute;
    left: 0;
    right: auto;
    bottom: 6px;
    width: 0;
    height: 1px;
    background: currentColor;
    transition: width 0.3s ease;
}

.feb-account-wrap .woocommerce-MyAccount-navigation li a:hover::after,
.feb-account-wrap .woocommerce-MyAccount-navigation li.is-active a::after {
    width: 24px;
}

.feb-account-wrap .woocommerce-MyAccount-navigation li.is-active a {
    font-weight: 700;
    color: #080808;
}

/* Lien Logout en dernier : couleur grise discrète */
.feb-account-wrap .woocommerce-MyAccount-navigation li--woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #999;
    margin-top: 12px;
    padding-top: 16px;
    border-top: 1px solid #eee;
}

/* Mobile : nav devient horizontale scrollable */
@media (max-width: 991px) {
    .feb-account-wrap .woocommerce-MyAccount-navigation {
        overflow-x: auto;
        overflow-y: hidden;
        margin-bottom: 24px;
        padding-bottom: 8px;
        border-bottom: 1px solid #eee;
    }
    .feb-account-wrap .woocommerce-MyAccount-navigation ul {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 8px;
        min-width: max-content;
    }
    .feb-account-wrap .woocommerce-MyAccount-navigation li a {
        white-space: nowrap;
        padding: 8px 14px;
        border: 1px solid #e5e5e5;
        border-radius: 999px;
        font-size: 0.85rem;
    }
    .feb-account-wrap .woocommerce-MyAccount-navigation li a::after {
        display: none;
    }
    .feb-account-wrap .woocommerce-MyAccount-navigation li.is-active a {
        background: #080808;
        color: #ffffff;
        border-color: #080808;
    }
}

/* ============================================================
   3. CONTENT — h2/h3 titres + paragraphes
   ============================================================ */

.feb-account-wrap .woocommerce-MyAccount-content {
    background: #fff;
    padding: 32px 36px;
    border-radius: 8px;
    border: 1px solid #e5e5e5;
}

@media (max-width: 600px) {
    .feb-account-wrap .woocommerce-MyAccount-content {
        padding: 24px 20px;
    }
}

.feb-account-wrap .woocommerce-MyAccount-content > p:first-child {
    font-size: 1.05rem;
    color: #080808;
    margin: 0 0 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f0f0f0;
}

.feb-account-wrap .woocommerce-MyAccount-content > p:first-child strong {
    font-weight: 700;
}

.feb-account-wrap .woocommerce-MyAccount-content h2,
.feb-account-wrap .woocommerce-MyAccount-content h3 {
    font-family: var(--awb-typography1-font-family, inherit);
    font-size: 1.25rem;
    font-weight: 700;
    color: #080808;
    margin: 0 0 18px;
    padding: 0;
    border: none;
}

/* ============================================================
   4. TABLE COMMANDES — cards modernes
   ============================================================ */

.feb-account-wrap table.shop_table,
.feb-account-wrap table.account-orders-table {
    border: none !important;
    border-collapse: collapse;
    border-radius: 0;
    background: transparent;
    width: 100%;
    margin: 0 0 24px;
}

.feb-account-wrap table.shop_table thead {
    display: none; /* On cache le thead, infos contextuelles via labels mobile */
}

@media (min-width: 768px) {
    .feb-account-wrap table.shop_table thead {
        display: table-header-group;
    }
    .feb-account-wrap table.shop_table thead th {
        background: transparent;
        color: #999;
        font-weight: 500;
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        padding: 0 16px 12px;
        text-align: left;
        border: none;
        border-bottom: 1px solid #e5e5e5;
    }
}

.feb-account-wrap table.shop_table tbody tr {
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    display: block;
    margin-bottom: 12px;
    padding: 16px;
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.feb-account-wrap table.shop_table tbody tr:hover {
    border-color: #080808;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
}

@media (min-width: 768px) {
    .feb-account-wrap table.shop_table tbody tr {
        display: table-row;
        padding: 0;
        margin: 0;
        border: none;
        border-bottom: 1px solid #f0f0f0;
        border-radius: 0;
    }
    .feb-account-wrap table.shop_table tbody tr:hover {
        background: #fafafa;
        box-shadow: none;
    }
    .feb-account-wrap table.shop_table tbody td {
        padding: 18px 16px;
        border: none;
        font-size: 0.92rem;
        color: #080808;
        vertical-align: middle;
    }
}

@media (max-width: 767px) {
    /* Mobile : chaque cellule devient ligne label/value */
    .feb-account-wrap table.shop_table tbody td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 6px 0;
        border: none;
        font-size: 0.9rem;
    }
    .feb-account-wrap table.shop_table tbody td::before {
        content: attr(data-title);
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: #999;
        font-weight: 500;
        margin-right: 12px;
    }
}

/* Badge statut commande */
.feb-account-wrap mark.order-status {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    background: #f0f0f0;
    color: #080808;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.feb-account-wrap mark.order-status.status-completed {
    background: #008236;
    color: #fff;
}
.feb-account-wrap mark.order-status.status-processing {
    background: #1447e6;
    color: #fff;
}
.feb-account-wrap mark.order-status.status-on-hold {
    background: #f59e0b;
    color: #fff;
}
.feb-account-wrap mark.order-status.status-cancelled,
.feb-account-wrap mark.order-status.status-failed {
    background: #c62828;
    color: #fff;
}

/* Boutons "Voir" sur commandes */
.feb-account-wrap .woocommerce-orders-table__cell-order-actions a.button {
    padding: 8px 14px !important;
    font-size: 0.8rem !important;
    background: transparent !important;
    color: #080808 !important;
    border: 1px solid #080808 !important;
    border-radius: 6px !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    transition: background 0.2s, color 0.2s;
}

.feb-account-wrap .woocommerce-orders-table__cell-order-actions a.button:hover {
    background: rgb(114, 136, 180) !important;
    color: #ffffff !important;
    border-color: rgb(114, 136, 180) !important;
}

/* ============================================================
   5. ADRESSES — cards 2 colonnes
   ============================================================ */

.feb-account-wrap .woocommerce-Addresses,
.feb-account-wrap .u-columns.col2-set.addresses {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 16px;
}

@media (max-width: 600px) {
    .feb-account-wrap .woocommerce-Addresses,
    .feb-account-wrap .u-columns.col2-set.addresses {
        grid-template-columns: 1fr;
    }
}

.feb-account-wrap .woocommerce-Address {
    background: #fafafa;
    padding: 24px;
    border-radius: 8px;
    border: 1px solid #f0f0f0;
}

.feb-account-wrap .woocommerce-Address-title {
    margin-bottom: 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.feb-account-wrap .woocommerce-Address-title h3,
.feb-account-wrap .woocommerce-Address-title h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
}

.feb-account-wrap .woocommerce-Address-title .edit {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    text-decoration: none !important;
    color: #080808 !important;
    position: relative;
    padding-bottom: 2px;
}

.feb-account-wrap .woocommerce-Address-title .edit::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.3s ease;
}

.feb-account-wrap .woocommerce-Address-title .edit:hover::after {
    transform: scaleX(1);
}

.feb-account-wrap .woocommerce-Address address {
    font-style: normal;
    font-size: 0.92rem;
    line-height: 1.6;
    color: #555;
    margin: 0;
}

/* ============================================================
   6. FORMULAIRES (edit address, edit account)
   ============================================================ */

.feb-account-wrap .woocommerce form .form-row {
    margin-bottom: 18px;
}

.feb-account-wrap .woocommerce form .form-row label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.78rem;
    font-weight: 500;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.feb-account-wrap .woocommerce form .form-row input,
.feb-account-wrap .woocommerce form .form-row select,
.feb-account-wrap .woocommerce form .form-row textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 0.95rem;
    font-family: inherit;
    background: #fff;
    color: #080808;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.feb-account-wrap .woocommerce form .form-row input:focus,
.feb-account-wrap .woocommerce form .form-row select:focus,
.feb-account-wrap .woocommerce form .form-row textarea:focus {
    outline: none;
    border-color: rgb(114, 136, 180);
    box-shadow: 0 0 0 3px rgba(114, 136, 180, 0.15);
}

/* Boutons formulaires */
.feb-account-wrap .woocommerce form button[type="submit"],
.feb-account-wrap .woocommerce input[type="submit"].button {
    background: #080808 !important;
    color: #fff !important;
    padding: 13px 28px !important;
    border: 1px solid #080808 !important;
    border-radius: 6px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s !important;
}

.feb-account-wrap .woocommerce form button[type="submit"]:hover,
.feb-account-wrap .woocommerce input[type="submit"].button:hover {
    background: rgb(114, 136, 180) !important;
    border-color: rgb(114, 136, 180) !important;
}

/* ============================================================
   7. LIENS GÉNÉRIQUES dans le content — underline center-out
   ============================================================ */

.feb-account-wrap .woocommerce-MyAccount-content a:not(.button):not(mark) {
    color: #080808;
    text-decoration: none;
    position: relative;
    display: inline-block;
}

.feb-account-wrap .woocommerce-MyAccount-content a:not(.button):not(mark)::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.3s ease;
}

.feb-account-wrap .woocommerce-MyAccount-content a:not(.button):not(mark):hover::after,
.feb-account-wrap .woocommerce-MyAccount-content a:not(.button):not(mark):focus::after {
    transform: scaleX(1);
}

/* ============================================================
   8. ASIDE WIDGETS (colonne 1/3) — cards stylisées
   ============================================================ */

.feb-aside-widgets {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.feb-aside-widget {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    padding: 24px 28px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.feb-aside-widget:hover {
    border-color: #080808;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
}

.feb-aside-widget h3 {
    font-family: var(--awb-typography1-font-family, inherit);
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #080808;
    margin: 0 0 14px;
}

.feb-aside-widget p {
    margin: 0 0 8px;
    font-size: 0.92rem;
    line-height: 1.5;
    color: #555;
}

.feb-aside-widget a {
    color: #080808;
    text-decoration: none;
    font-weight: 600;
    position: relative;
    display: inline-block;
}

.feb-aside-widget a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.3s ease;
}

.feb-aside-widget a:hover::after,
.feb-aside-widget a:focus::after {
    transform: scaleX(1);
}

/* Widget Prochaine visite : badge spécial */
.feb-aside-widget--booking {
    background: linear-gradient(135deg, #fafafa 0%, #f5f5f5 100%);
}

.feb-aside-widget--booking .booking-date {
    font-size: 1.6rem;
    font-weight: 700;
    color: #080808;
    line-height: 1.1;
    margin-bottom: 4px;
}

.feb-aside-widget--booking .booking-time {
    font-size: 0.9rem;
    color: #555;
    margin-bottom: 12px;
}

/* ============================================================
   FEB — Liens "/panier/" et "/cart/" génériques : noir + hover anim
   ------------------------------------------------------------
   Cible tout <a href="/panier/..."> ou <a href="/cart/..."> qui :
   - apparaît en vert
   - a une underline permanente

   On force : couleur noire, pas d'underline permanente, hover avec
   underline animée center-out (cohérent avec le reste du site).
   ============================================================ */

html body a[href$="/panier/"],
html body a[href$="/cart/"],
html body a[href*="/panier/"]:not(.feb-cart-btn):not(.button):not(.fusion-button):not(.feb-rich-cart-checkout):not(.checkout-button):not(.feb-rich-cart-continue),
html body a[href*="/cart/"]:not(.feb-cart-btn):not(.button):not(.fusion-button):not(.feb-rich-cart-checkout):not(.checkout-button):not(.feb-rich-cart-continue) {
    color: #080808 !important;
    text-decoration: none !important;
    position: relative;
    display: inline-block;
    background: transparent !important;
}

/* Annule l'underline native CSS */
html body a[href$="/panier/"]:link,
html body a[href$="/panier/"]:visited,
html body a[href*="/panier/"]:link,
html body a[href*="/panier/"]:visited {
    text-decoration: none !important;
}

/* Hover : underline animée center-out */
html body a[href$="/panier/"]::after,
html body a[href*="/panier/"]:not(.feb-cart-btn):not(.button):not(.fusion-button):not(.feb-rich-cart-checkout):not(.checkout-button):not(.feb-rich-cart-continue)::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -2px !important;
    height: 1px !important;
    background: currentColor !important;
    transform: scaleX(0) !important;
    transform-origin: center !important;
    transition: transform 0.3s ease !important;
    display: block !important;
}

html body a[href$="/panier/"]:hover::after,
html body a[href*="/panier/"]:not(.feb-cart-btn):not(.button):not(.fusion-button):not(.feb-rich-cart-checkout):not(.checkout-button):not(.feb-rich-cart-continue):hover::after,
html body a[href$="/panier/"]:focus::after {
    transform: scaleX(1) !important;
}

/* ============================================================
   FEB — Page Mon Espace V2 (design enrichi)
   ------------------------------------------------------------
   Ajouts vs V1 :
   - Icônes Font Awesome sur chaque item de nav WC
   - État actif : barre verticale 3px + fond gris léger
   - Hover : fond gris très léger
   - Welcome card personnalisée (via PHP dans feb-mon-espace-extras.php)
   - 3 mini-cards stats (Commandes / Billets / Téléchargements)
   ============================================================ */

/* ============================================================
   1. SIDEBAR NAV — icônes + état actif + hover
   ============================================================ */

.feb-account-wrap .woocommerce-MyAccount-navigation li a {
    padding: 12px 16px !important;
    border-left: 3px solid transparent !important;
    border-radius: 0 6px 6px 0;
    position: relative;
    display: flex !important;
    align-items: center;
    gap: 12px;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

/* Icônes via ::before — Font Awesome 5 Free */
.feb-account-wrap .woocommerce-MyAccount-navigation li a::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 14px;
    width: 18px;
    text-align: center;
    color: #999;
    flex-shrink: 0;
    transition: color 0.2s ease;
}

/* Mapping icône / endpoint */
.feb-account-wrap .woocommerce-MyAccount-navigation li--woocommerce-MyAccount-navigation-link--dashboard a::before        { content: "\f0e4"; /* tachometer-alt */ }
.feb-account-wrap .woocommerce-MyAccount-navigation li--woocommerce-MyAccount-navigation-link--orders a::before           { content: "\f291"; /* shopping-bag */ }
.feb-account-wrap .woocommerce-MyAccount-navigation li--woocommerce-MyAccount-navigation-link--downloads a::before        { content: "\f019"; /* download */ }
.feb-account-wrap .woocommerce-MyAccount-navigation li--woocommerce-MyAccount-navigation-link--edit-address a::before     { content: "\f3c5"; /* map-marker-alt */ }
.feb-account-wrap .woocommerce-MyAccount-navigation li--woocommerce-MyAccount-navigation-link--payment-methods a::before  { content: "\f09d"; /* credit-card */ }
.feb-account-wrap .woocommerce-MyAccount-navigation li--woocommerce-MyAccount-navigation-link--edit-account a::before     { content: "\f007"; /* user */ }
.feb-account-wrap .woocommerce-MyAccount-navigation li[class*="tickets"] a::before                                        { content: "\f145"; /* ticket-alt */ }
.feb-account-wrap .woocommerce-MyAccount-navigation li--woocommerce-MyAccount-navigation-link--customer-logout a::before  { content: "\f2f5"; /* sign-out-alt */ }

/* Désactive l'ancien ::after underline (on a maintenant l'état actif via border-left) */
.feb-account-wrap .woocommerce-MyAccount-navigation li a::after {
    content: none !important;
}

/* Hover : fond gris léger */
.feb-account-wrap .woocommerce-MyAccount-navigation li a:hover {
    background: #f5f5f5;
    border-left-color: #c0c0c0 !important;
}
.feb-account-wrap .woocommerce-MyAccount-navigation li a:hover::before {
    color: #080808;
}

/* État actif : barre verticale noire + fond noir léger */
.feb-account-wrap .woocommerce-MyAccount-navigation li.is-active a {
    background: #f0f0f0;
    border-left-color: #080808 !important;
    font-weight: 700;
    color: #080808;
}
.feb-account-wrap .woocommerce-MyAccount-navigation li.is-active a::before {
    color: #080808;
}

/* Logout : reste discret */
.feb-account-wrap .woocommerce-MyAccount-navigation li--woocommerce-MyAccount-navigation-link--customer-logout a {
    margin-top: 16px;
    padding-top: 20px !important;
    border-top: 1px solid #eee;
    border-left-color: transparent !important;
    color: #999;
}
.feb-account-wrap .woocommerce-MyAccount-navigation li--woocommerce-MyAccount-navigation-link--customer-logout a::before {
    color: #999;
}

/* Mobile : icônes seules ou avec label compact */
@media (max-width: 991px) {
    .feb-account-wrap .woocommerce-MyAccount-navigation li a {
        border-left: none !important;
        border-radius: 999px;
        gap: 8px;
    }
    .feb-account-wrap .woocommerce-MyAccount-navigation li.is-active a {
        background: #080808;
        color: #fff;
        border-left-color: transparent !important;
    }
    .feb-account-wrap .woocommerce-MyAccount-navigation li.is-active a::before {
        color: #fff;
    }
}

/* ============================================================
   2. WELCOME CARD personnalisée (rendue par PHP)
   ============================================================ */

.feb-welcome-card {
    background: linear-gradient(135deg, #fafafa 0%, #f5f5f5 100%);
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    padding: 28px 32px;
    margin: 0 0 24px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 20px;
    align-items: center;
}

@media (max-width: 600px) {
    .feb-welcome-card {
        grid-template-columns: 1fr;
        padding: 20px 24px;
    }
}

.feb-welcome-text h2 {
    font-family: var(--awb-typography1-font-family, inherit);
    font-size: 1.4rem;
    font-weight: 700;
    margin: 0 0 6px;
    color: #080808;
}

.feb-welcome-text p {
    margin: 0;
    font-size: 0.92rem;
    color: #555;
    line-height: 1.5;
}

/* ============================================================
   3. 3 MINI-CARDS STATS (Commandes / Billets / Téléchargements)
   ============================================================ */

.feb-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin: 0 0 28px;
}

@media (max-width: 600px) {
    .feb-stats-grid {
        grid-template-columns: 1fr;
    }
}

.feb-stat-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    padding: 18px 20px;
    text-decoration: none !important;
    color: #080808 !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    display: block;
}

.feb-stat-card:hover {
    border-color: #080808;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
    transform: translateY(-2px);
    color: #080808 !important;
}

.feb-stat-card .feb-stat-icon {
    font-size: 1.4rem;
    color: #999;
    margin-bottom: 8px;
    display: block;
}

.feb-stat-card:hover .feb-stat-icon {
    color: #080808;
}

.feb-stat-card .feb-stat-number {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    margin: 0 0 4px;
    color: #080808;
}

.feb-stat-card .feb-stat-label {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #666;
    font-weight: 500;
}

/* ============================================================
   FEB — Cache la welcome message native WC sur dashboard
   ------------------------------------------------------------
   Notre welcome card custom + stats cards remplacent
   le texte natif de WooCommerce. On cache donc les <p>
   qui apparaissent AVANT notre welcome card.

   Sélecteur : tous les <p> directement enfants de
   .woocommerce-MyAccount-content QUI précèdent .feb-welcome-card
   ============================================================ */

.feb-account-wrap .woocommerce-MyAccount-content > p {
    display: none !important;
}

/* Mais on garde nos cards visibles (sécurité) */
.feb-account-wrap .woocommerce-MyAccount-content > .feb-welcome-card,
.feb-account-wrap .woocommerce-MyAccount-content > .feb-stats-grid {
    display: grid !important;
}

/* feb-welcome-card est grid 2 cols normalement, pas block */
.feb-account-wrap .woocommerce-MyAccount-content > .feb-welcome-card {
    grid-template-columns: 1fr auto;
}

/* Le titre "Tableau de bord" et "Mes commandes" reste affiché */
.feb-account-wrap .woocommerce-MyAccount-content > h1,
.feb-account-wrap .woocommerce-MyAccount-content > h2,
.feb-account-wrap .woocommerce-MyAccount-content > h3 {
    display: block !important;
}

/* ============================================================
   FEB — Cache la welcome message native WC sur dashboard
   ------------------------------------------------------------
   Notre welcome card custom + stats cards remplacent
   le texte natif de WooCommerce. On cache donc les <p>
   qui apparaissent AVANT notre welcome card.

   Sélecteur : tous les <p> directement enfants de
   .woocommerce-MyAccount-content QUI précèdent .feb-welcome-card
   ============================================================ */

.feb-account-wrap .woocommerce-MyAccount-content > p {
    display: none !important;
}

/* Mais on garde nos cards visibles (sécurité) */
.feb-account-wrap .woocommerce-MyAccount-content > .feb-welcome-card,
.feb-account-wrap .woocommerce-MyAccount-content > .feb-stats-grid {
    display: grid !important;
}

/* feb-welcome-card est grid 2 cols normalement, pas block */
.feb-account-wrap .woocommerce-MyAccount-content > .feb-welcome-card {
    grid-template-columns: 1fr auto;
}

/* Le titre "Tableau de bord" et "Mes commandes" reste affiché */
.feb-account-wrap .woocommerce-MyAccount-content > h1,
.feb-account-wrap .woocommerce-MyAccount-content > h2,
.feb-account-wrap .woocommerce-MyAccount-content > h3 {
    display: block !important;
}

/* ============================================================
   FEB — Page View Order (détails commande) : design compact + responsive
   ------------------------------------------------------------
   Cible la page /mon-compte/view-order/{order_id}/
   ============================================================ */

/* ============================================================
   1. WRAPPER GLOBAL — réduit l'espace + centre
   ============================================================ */

body.woocommerce-view-order .feb-account-wrap .woocommerce-MyAccount-content {
    padding: 24px 28px;
}

@media (max-width: 600px) {
    body.woocommerce-view-order .feb-account-wrap .woocommerce-MyAccount-content {
        padding: 16px 12px;
    }
}

/* ============================================================
   2. EN-TÊTE COMMANDE — compact
   ============================================================ */

body.woocommerce-view-order .woocommerce-order-details__title,
body.woocommerce-view-order .woocommerce-customer-details__title,
body.woocommerce-view-order h2 {
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    margin: 0 0 16px !important;
    padding: 0 0 12px !important;
    border-bottom: 1px solid #e5e5e5;
}

/* Liste infos commande en haut (#, date, total, paiement) */
body.woocommerce-view-order ul.order_details,
body.woocommerce-view-order ul.woocommerce-order-overview {
    list-style: none;
    margin: 0 0 24px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    background: #fafafa;
    padding: 16px !important;
    border-radius: 8px;
}

@media (min-width: 768px) {
    body.woocommerce-view-order ul.order_details,
    body.woocommerce-view-order ul.woocommerce-order-overview {
        grid-template-columns: repeat(4, 1fr);
    }
}

body.woocommerce-view-order ul.order_details li,
body.woocommerce-view-order ul.woocommerce-order-overview li {
    display: flex;
    flex-direction: column;
    gap: 2px;
    border: none !important;
    padding: 0 !important;
    margin: 0;
    text-transform: none;
    font-size: 0.78rem;
    color: #666;
}

body.woocommerce-view-order ul.order_details li strong,
body.woocommerce-view-order ul.woocommerce-order-overview li strong {
    font-weight: 700;
    color: #080808;
    font-size: 0.95rem;
}

/* ============================================================
   3. TABLEAU PRODUITS COMMANDÉS — compact + responsive
   ============================================================ */

body.woocommerce-view-order .woocommerce-table--order-details,
body.woocommerce-view-order .woocommerce-table.shop_table.order_details {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 24px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    overflow: hidden;
}

body.woocommerce-view-order .woocommerce-table--order-details th,
body.woocommerce-view-order .woocommerce-table.shop_table.order_details th {
    background: #f5f5f5;
    color: #080808;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 10px 14px;
    text-align: left;
    border: none;
}

body.woocommerce-view-order .woocommerce-table--order-details td,
body.woocommerce-view-order .woocommerce-table.shop_table.order_details td {
    padding: 12px 14px;
    border-top: 1px solid #f0f0f0;
    border-bottom: none;
    border-left: none;
    border-right: none;
    font-size: 0.9rem;
    color: #080808;
    vertical-align: middle;
}

/* Image thumbnail produit dans le tableau */
body.woocommerce-view-order .woocommerce-table--order-details td.product-name img,
body.woocommerce-view-order .shop_table img {
    width: 48px !important;
    height: 48px !important;
    object-fit: contain !important;
    background: #fff;
    border-radius: 4px;
    margin-right: 12px !important;
    vertical-align: middle;
    display: inline-block !important;
}

/* Mobile : tableau en cards stackées */
@media (max-width: 640px) {
    body.woocommerce-view-order .woocommerce-table--order-details thead {
        display: none;
    }
    body.woocommerce-view-order .woocommerce-table--order-details tbody tr {
        display: block;
        padding: 12px;
        border-bottom: 1px solid #f0f0f0;
    }
    body.woocommerce-view-order .woocommerce-table--order-details tbody td {
        display: flex;
        justify-content: space-between;
        padding: 4px 0;
        border: none;
    }
    body.woocommerce-view-order .woocommerce-table--order-details tbody td::before {
        content: attr(data-title);
        font-weight: 600;
        font-size: 0.78rem;
        color: #666;
        text-transform: uppercase;
        margin-right: 12px;
    }
}

/* ============================================================
   4. LISTE DES BILLETS FOOEVENTS — cards compactes
   ============================================================ */

body.woocommerce-view-order .fooevents-tickets,
body.woocommerce-view-order .fooevents-customer-tickets,
body.woocommerce-view-order .woocommerce-MyAccount-content table.tickets {
    width: 100%;
    margin: 16px 0 24px;
    border-collapse: separate;
    border-spacing: 0 8px;
}

body.woocommerce-view-order .fooevents-tickets th,
body.woocommerce-view-order .fooevents-customer-tickets th {
    background: #f5f5f5;
    color: #080808;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 10px 14px;
    text-align: left;
    border: none;
}

body.woocommerce-view-order .fooevents-tickets tbody tr,
body.woocommerce-view-order .fooevents-customer-tickets tbody tr {
    background: #fff;
    border: 1px solid #e5e5e5;
    transition: border-color 0.2s, box-shadow 0.2s;
}

body.woocommerce-view-order .fooevents-tickets tbody tr:hover,
body.woocommerce-view-order .fooevents-customer-tickets tbody tr:hover {
    border-color: #080808;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

body.woocommerce-view-order .fooevents-tickets td,
body.woocommerce-view-order .fooevents-customer-tickets td {
    padding: 10px 14px;
    font-size: 0.9rem;
    color: #080808;
    border: 1px solid #e5e5e5;
    border-right: none;
    border-left: none;
}
body.woocommerce-view-order .fooevents-tickets td:first-child,
body.woocommerce-view-order .fooevents-customer-tickets td:first-child {
    border-left: 1px solid #e5e5e5;
    border-radius: 6px 0 0 6px;
}
body.woocommerce-view-order .fooevents-tickets td:last-child,
body.woocommerce-view-order .fooevents-customer-tickets td:last-child {
    border-right: 1px solid #e5e5e5;
    border-radius: 0 6px 6px 0;
}

/* Bouton "Download PDF Ticket" : style site (noir → bleu-gris) */
body.woocommerce-view-order .fooevents-tickets a.button,
body.woocommerce-view-order .fooevents-customer-tickets a.button,
body.woocommerce-view-order .ticket-details-row a.button {
    background: transparent !important;
    color: #080808 !important;
    border: 1px solid #080808 !important;
    border-radius: 6px !important;
    padding: 6px 12px !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    transition: background 0.2s, color 0.2s !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
body.woocommerce-view-order .fooevents-tickets a.button:hover,
body.woocommerce-view-order .ticket-details-row a.button:hover {
    background: rgb(114, 136, 180) !important;
    color: #fff !important;
    border-color: rgb(114, 136, 180) !important;
}

/* Mobile : billets en cards */
@media (max-width: 640px) {
    body.woocommerce-view-order .fooevents-tickets thead,
    body.woocommerce-view-order .fooevents-customer-tickets thead {
        display: none;
    }
    body.woocommerce-view-order .fooevents-tickets tbody tr,
    body.woocommerce-view-order .fooevents-customer-tickets tbody tr {
        display: block;
        padding: 12px;
        margin-bottom: 8px;
        border-radius: 8px;
    }
    body.woocommerce-view-order .fooevents-tickets tbody td,
    body.woocommerce-view-order .fooevents-customer-tickets tbody td {
        display: flex;
        justify-content: space-between;
        padding: 4px 0;
        border: none !important;
        border-radius: 0 !important;
    }
}

/* ============================================================
   5. BOUTON "TÉLÉCHARGER TOUS LES BILLETS"
   ============================================================ */

.feb-download-all-tickets {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: #080808;
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: background 0.2s ease;
    margin: 16px 0 24px;
    font-family: inherit;
    border: none;
    cursor: pointer;
}
.feb-download-all-tickets:hover {
    background: rgb(114, 136, 180);
    color: #fff !important;
}
.feb-download-all-tickets .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
}

/* ============================================================
   6. ADRESSES BILLING/SHIPPING — grid 2 cols
   ============================================================ */

body.woocommerce-view-order .woocommerce-customer-details .col2-set,
body.woocommerce-view-order .woocommerce-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 24px 0;
}

@media (max-width: 600px) {
    body.woocommerce-view-order .woocommerce-customer-details .col2-set,
    body.woocommerce-view-order .woocommerce-columns {
        grid-template-columns: 1fr;
    }
}

body.woocommerce-view-order .woocommerce-column,
body.woocommerce-view-order .woocommerce-customer-details address {
    background: #fafafa;
    padding: 18px;
    border-radius: 8px;
    border: 1px solid #f0f0f0;
    font-style: normal;
    font-size: 0.9rem;
    line-height: 1.5;
}

body.woocommerce-view-order .woocommerce-column h2 {
    font-size: 0.95rem !important;
    margin-bottom: 10px !important;
    padding-bottom: 8px !important;
}

/* ============================================================
   FEB — Fix décalage titres cards Adresses (Mon Compte)
   ------------------------------------------------------------
   Le layout flex avec "space-between" cassait quand les titres
   wrappaient. On passe en grid + le label "MODIFIER" en haut à droite
   en position absolute pour ne pas écraser le titre.
   ============================================================ */

.feb-account-wrap .woocommerce-Address {
    background: #fafafa;
    padding: 24px 24px 20px;
    border-radius: 8px;
    border: 1px solid #f0f0f0;
    position: relative;
}

.feb-account-wrap .woocommerce-Address-title {
    margin-bottom: 14px;
    display: block !important;
    padding-right: 80px;
    position: relative;
    min-height: 0;
}

.feb-account-wrap .woocommerce-Address-title h3,
.feb-account-wrap .woocommerce-Address-title h2 {
    margin: 0 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #080808;
    display: block !important;
}

/* "MODIFIER ..." en haut à droite, hors du flux normal du titre */
.feb-account-wrap .woocommerce-Address-title .edit {
    position: absolute !important;
    top: 4px;
    right: 0;
    font-size: 0.7rem !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    text-decoration: none !important;
    color: #080808 !important;
    padding-bottom: 2px;
    display: inline-block;
}

.feb-account-wrap .woocommerce-Address-title .edit::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.3s ease;
}

.feb-account-wrap .woocommerce-Address-title .edit:hover::after,
.feb-account-wrap .woocommerce-Address-title .edit:focus::after {
    transform: scaleX(1);
}

.feb-account-wrap .woocommerce-Address address {
    font-style: normal;
    font-size: 0.92rem;
    line-height: 1.55;
    color: #555;
    margin: 0;
}

/* Mobile : "MODIFIER" devient juste en dessous du titre */
@media (max-width: 480px) {
    .feb-account-wrap .woocommerce-Address-title {
        padding-right: 0;
    }
    .feb-account-wrap .woocommerce-Address-title .edit {
        position: static !important;
        margin-top: 6px;
    }
}

/* ============================================================
   FEB — Cards Adresses V2 : rectangles plus larges + responsive
   ------------------------------------------------------------
   Avant : titre wrappait, "MODIFIER" abs sortait
   Maintenant : padding plus généreux, min-height pour cards
   égales, mobile stack à 1 col, large screen 2 cols.
   ============================================================ */

.feb-account-wrap .woocommerce-Addresses,
.feb-account-wrap .u-columns.col2-set.addresses {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin: 20px 0 0;
}

@media (max-width: 768px) {
    .feb-account-wrap .woocommerce-Addresses,
    .feb-account-wrap .u-columns.col2-set.addresses {
        grid-template-columns: 1fr;
    }
}

.feb-account-wrap .woocommerce-Address {
    background: #ffffff;
    padding: 28px 32px 24px;
    border-radius: 10px;
    border: 1px solid #e0e0e0;
    position: relative;
    min-height: 240px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.feb-account-wrap .woocommerce-Address:hover {
    border-color: #080808;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

@media (max-width: 600px) {
    .feb-account-wrap .woocommerce-Address {
        padding: 22px 24px 20px;
        min-height: 0;
    }
}

/* Titre + lien MODIFIER */
.feb-account-wrap .woocommerce-Address-title {
    margin-bottom: 18px;
    display: block !important;
    padding-right: 0;
    position: relative;
    min-height: 0;
    padding-bottom: 14px;
    border-bottom: 1px solid #f0f0f0;
}

.feb-account-wrap .woocommerce-Address-title h3,
.feb-account-wrap .woocommerce-Address-title h2 {
    margin: 0 !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #080808;
    display: block !important;
    text-transform: none;
}

/* "MODIFIER" en dessous du titre, sur sa propre ligne, en petit */
.feb-account-wrap .woocommerce-Address-title .edit {
    position: static !important;
    display: inline-block !important;
    margin-top: 6px;
    font-size: 0.72rem !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
    text-decoration: none !important;
    color: #555 !important;
    padding-bottom: 2px;
    position: relative;
}

.feb-account-wrap .woocommerce-Address-title .edit::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.3s ease;
}

.feb-account-wrap .woocommerce-Address-title .edit:hover {
    color: #080808 !important;
}

.feb-account-wrap .woocommerce-Address-title .edit:hover::after,
.feb-account-wrap .woocommerce-Address-title .edit:focus::after {
    transform: scaleX(1);
}

/* Adresse */
.feb-account-wrap .woocommerce-Address address {
    font-style: normal;
    font-size: 0.95rem;
    line-height: 1.65;
    color: #333;
    margin: 0;
}

/* ============================================================
   FEB — Adresses Mon Compte : FIX FORCE BRUTE
   ------------------------------------------------------------
   Le souci visible : l'h3 wrappait par mot et le lien .edit
   se positionnait absolute par-dessus → texte superposé.

   FIX : on force `display: block` + `position: static` partout
   avec spécificité maximale (html body) et !important sur tout.
   ============================================================ */

/* Container des 2 cards */
html body .feb-account-wrap .woocommerce-Addresses,
html body .feb-account-wrap .u-columns.col2-set.addresses,
html body .feb-account-wrap .col2-set.addresses {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
    margin: 20px 0 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

@media (max-width: 768px) {
    html body .feb-account-wrap .woocommerce-Addresses,
    html body .feb-account-wrap .u-columns.col2-set.addresses {
        grid-template-columns: 1fr !important;
    }
}

/* Card individuelle */
html body .feb-account-wrap .woocommerce-Address {
    background: #ffffff !important;
    padding: 28px 32px 24px !important;
    border-radius: 10px !important;
    border: 1px solid #e0e0e0 !important;
    position: relative !important;
    min-height: 240px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

html body .feb-account-wrap .woocommerce-Address:hover {
    border-color: #080808 !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04) !important;
}

@media (max-width: 600px) {
    html body .feb-account-wrap .woocommerce-Address {
        padding: 22px 24px 20px !important;
        min-height: 0 !important;
    }
}

/* Titre wrapper — block + padding-bottom + border */
html body .feb-account-wrap .woocommerce-Address-title,
html body .feb-account-wrap .woocommerce-Address .title {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    min-height: 0 !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    overflow: visible !important;
    float: none !important;
    clear: both !important;
}

/* H3/H2 du titre — block + nowrap pour éviter wrap par mot */
html body .feb-account-wrap .woocommerce-Address-title h2,
html body .feb-account-wrap .woocommerce-Address-title h3,
html body .feb-account-wrap .woocommerce-Address .title h2,
html body .feb-account-wrap .woocommerce-Address .title h3 {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #080808 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    border: none !important;
    background: transparent !important;
    float: none !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

/* Lien MODIFIER — block, sous le titre, position static */
html body .feb-account-wrap .woocommerce-Address-title .edit,
html body .feb-account-wrap .woocommerce-Address .title .edit {
    display: inline-block !important;
    position: static !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 0 2px !important;
    font-size: 0.7rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    color: #555 !important;
    background: transparent !important;
    border: none !important;
    float: none !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: auto !important;
    line-height: 1.2 !important;
}

html body .feb-account-wrap .woocommerce-Address-title .edit:hover {
    color: #080808 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

/* Adresse */
html body .feb-account-wrap .woocommerce-Address address {
    display: block !important;
    font-style: normal !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
    color: #333 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}

/* ============================================================
   FEB — Adresses Mon Compte : FULL WIDTH dans le container
   ------------------------------------------------------------
   Le problème : grid 1fr/1fr ne forçait pas les cards à remplir
   leur cellule, elles restaient à leur taille de contenu.

   Fix : minmax(0, 1fr) sur la grid + width 100% forcée sur les
   cards = remplissage complet 50/50 du container parent.
   ============================================================ */

/* Container des 2 cards — grid 50/50 qui REMPLIT tout le parent */
html body .feb-account-wrap .woocommerce-Addresses,
html body .feb-account-wrap .u-columns.col2-set.addresses,
html body .feb-account-wrap .col2-set.addresses {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 24px !important;
    margin: 20px 0 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

@media (max-width: 768px) {
    html body .feb-account-wrap .woocommerce-Addresses,
    html body .feb-account-wrap .u-columns.col2-set.addresses {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* Cards — force largeur 100% de leur cellule grid */
html body .feb-account-wrap .woocommerce-Address {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    flex: 1 1 auto !important;
    background: #ffffff !important;
    padding: 32px 36px 28px !important;
    border-radius: 10px !important;
    border: 1px solid #e0e0e0 !important;
    position: relative !important;
    min-height: 260px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

html body .feb-account-wrap .woocommerce-Address:hover {
    border-color: #080808 !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04) !important;
}

@media (max-width: 600px) {
    html body .feb-account-wrap .woocommerce-Address {
        padding: 24px 24px 20px !important;
        min-height: 0 !important;
    }
}

/* Au cas où Avada utilise des classes Avada autour des col2-set */
html body .feb-account-wrap .u-columns,
html body .feb-account-wrap .woocommerce > .u-columns {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

html body .feb-account-wrap .u-column1,
html body .feb-account-wrap .u-column2 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
}

/* ============================================================
   FEB Login — Fix scoping bouton submit
   ------------------------------------------------------------
   Mon CSS V1 stylait TOUS les input[type=submit] sur la page de
   login → le bouton "Modifier" du sélecteur de langue (en bas)
   devenait une grosse barre noire pleine largeur.

   V2 : style appliqué UNIQUEMENT aux forms #loginform, #lostpassword,
   etc. Les autres submits (lang switcher) restent discrets.
   ============================================================ */

/* Reset le style noir pour les submits HORS forms de login */
body.login form:not(#loginform):not(#lostpasswordform):not(#registerform):not(#resetpassform):not(#confirm_admin_email_form) input[type="submit"],
body.login form:not(#loginform):not(#lostpasswordform):not(#registerform):not(#resetpassform) button[type="submit"] {
    background: transparent !important;
    color: #555 !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 6px !important;
    padding: 6px 14px !important;
    font-size: 0.8rem !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    width: auto !important;
    height: auto !important;
    display: inline-block !important;
    box-shadow: none !important;
    text-shadow: none !important;
    line-height: 1.3 !important;
}

body.login form:not(#loginform):not(#lostpasswordform):not(#registerform):not(#resetpassform) input[type="submit"]:hover,
body.login form:not(#loginform):not(#lostpasswordform):not(#registerform):not(#resetpassform) button[type="submit"]:hover {
    background: #f5f5f5 !important;
    color: #080808 !important;
    border-color: #080808 !important;
}

/* Spécifique : tout submit avec value="Modifier" (peu importe le form) */
body.login input[type="submit"][value="Modifier"],
body.login input[type="submit"][value="modifier"] {
    background: transparent !important;
    color: #555 !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 6px !important;
    padding: 6px 14px !important;
    font-size: 0.8rem !important;
    width: auto !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-weight: 400 !important;
    display: inline-block !important;
    margin-top: 8px !important;
}

/* Le wrapper du language switcher doit être en petit centré */
body.login .login-language-switcher,
body.login form.language-switcher,
body.login form[id*="language"],
body.login form[name*="lang"] {
    margin: 20px auto 0 !important;
    text-align: center !important;
    max-width: 200px !important;
}
