/* ============================================================
   FD — Refonte mobile (chargé en dernier)
   Header / drawer, cartes, panier, checkout.
   ============================================================ */

:root{ --fd-menu-top: calc(var(--fd-header-h) + 34px); }

/* ============================================================
   1. HEADER + DRAWER
   ============================================================ */
.fd-mobile-only{display:none}
.fd-mega__league-toggle{display:none}

@media (max-width:1024px){
  /* Le header devient une grille : burger / logo / panier. */
  .fd-header__inner{
    display:grid;
    grid-template-columns:40px minmax(0,1fr) auto;
    grid-template-areas:"burger logo tools";
    gap:10px;
    align-items:center;
    height:var(--fd-header-h);
  }
  .fd-burger{
    grid-area:burger;
    display:flex;
    flex:0 0 40px;
    width:40px;
    height:40px;
    margin:0;
    order:0;
    padding:9px;
  }
  .fd-logo{
    grid-area:logo;
    min-width:0;
    font-size:18px;
    gap:7px;
  }
  .fd-logo__text{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .fd-header__tools{
    grid-area:tools;
    justify-self:end;
    gap:6px;
    min-width:0;
  }
  .fd-account-link,
  .fd-wish-link{display:none !important}
  .fd-cart-link{
    flex:0 0 auto;
    padding:8px 11px;
    gap:7px;
    min-height:40px;
    white-space:nowrap;
  }
  .fd-cart-link__icon{display:inline-flex;align-items:center;justify-content:center}
  .fd-search--desktop,
  .fd-checkout-note{display:none !important}

  /* Voile sous le header. */
  .fd-menu-scrim{
    display:block;
    position:fixed;
    top:var(--fd-menu-top);
    right:0;
    bottom:0;
    left:0;
    z-index:74;
    background:rgba(11,11,11,.42);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s, visibility .2s;
  }
  body.fd-menu-open .fd-menu-scrim{opacity:1;visibility:visible;pointer-events:auto}

  /* Le nav devient un panneau plein écran sous le header. */
  .fd-nav{
    position:fixed;
    top:var(--fd-menu-top);
    right:0;
    bottom:0;
    left:0;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    flex:initial;
    padding:0 0 calc(26px + env(safe-area-inset-bottom));
    background:#fff;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    z-index:75;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:transform .22s var(--fd-ease), opacity .18s, visibility .22s;
  }
  body.fd-menu-open .fd-nav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  body.fd-menu-open{overflow:hidden}

  /* Le panier garde un menu accessible ; le checkout reste focalisé. */
  body.woocommerce-cart .fd-burger{display:flex !important}
  body.woocommerce-cart .fd-nav{display:flex !important}
  body.woocommerce-checkout .fd-burger{display:none !important}
  body.woocommerce-checkout .fd-nav{display:none !important}

  .fd-mobile-only{display:none}

  .fd-menu-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 16px;
    border-bottom:1px solid var(--fd-line);
    background:#fff;
    position:sticky;
    top:0;
    z-index:2;
  }
  .fd-menu-head__title{
    font-family:var(--fd-font-display);
    font-size:16px;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:-.01em;
  }
  .fd-menu-close{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border:1px solid var(--fd-line);
    border-radius:999px;
    background:#fff;
    color:var(--fd-ink);
    padding:0;
  }
  .fd-menu-close:hover{background:var(--fd-ink);color:#fff;border-color:var(--fd-ink)}

  /* Recherche dans le drawer (classe dédiée pour ne pas être masquée par .fd-search). */
  .fd-msearch{
    display:flex;
    align-items:center;
    position:relative;
    flex:0 0 auto;
    margin:14px 16px 10px;
    height:48px;
    border:1px solid var(--fd-line);
    border-radius:999px;
    background:#fff;
    overflow:hidden;
  }
  .fd-msearch input[type=search]{
    flex:1;
    min-width:0;
    height:48px;
    border:0;
    outline:0;
    background:none;
    padding:0 52px 0 16px;
    font-family:var(--fd-font-sans);
    font-size:14px;
    color:var(--fd-ink);
    box-shadow:none;
  }
  .fd-msearch input[type=search]::placeholder{color:var(--fd-grey)}
  .fd-msearch button{
    position:absolute;
    top:4px;
    right:4px;
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:999px;
    background:var(--fd-ink);
    color:#fff;
    padding:0;
  }
  .fd-msearch button:hover{background:#000}

  /* Accès rapides. */
  .fd-menu-quick{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    padding:4px 16px 14px;
    border-bottom:1px solid var(--fd-line);
  }
  .fd-menu-quick__item{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:72px;
    padding:10px 6px;
    border:1px solid var(--fd-line);
    border-radius:12px;
    background:#fff;
    color:var(--fd-ink);
    font-family:var(--fd-font-sans);
    font-size:10.5px;
    font-weight:600;
    line-height:1.2;
    text-align:center;
    cursor:pointer;
  }
  .fd-menu-quick__item:hover{border-color:var(--fd-ink)}
  .fd-menu-quick__item svg{display:block;color:var(--fd-ink)}
  .fd-menu-quick__item .fd-wish-count{
    position:absolute;
    top:6px;
    right:6px;
    min-width:18px;
    height:18px;
    font-size:9px;
  }
  /* Neutralise les styles des liens de nav (uppercase, bordures). */
  .fd-nav .fd-menu-quick__item{
    padding:10px 6px;
    border-bottom:1px solid var(--fd-line);
    font-size:10.5px;
    font-weight:600;
    letter-spacing:0;
    text-transform:none;
  }
  .fd-nav .fd-menu-foot a{
    padding:8px 0;
    border-bottom:0;
    font-size:12px;
    font-weight:500;
    letter-spacing:0;
    text-transform:none;
  }

  /* Liens principaux. */
  .fd-nav > .fd-nav__item,
  .fd-mega__trigger{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:52px;
    padding:15px 16px;
    border:0;
    border-bottom:1px solid var(--fd-line);
    background:none;
    text-align:left;
    font-family:var(--fd-font-sans);
    font-size:15px;
    font-weight:600;
    color:var(--fd-ink);
    letter-spacing:0;
    text-transform:none;
  }
  .fd-nav > .fd-nav__item:hover,
  .fd-mega.is-open .fd-mega__trigger{background:var(--fd-paper);border-color:var(--fd-line)}
  .fd-mega{width:100%;border-bottom:1px solid var(--fd-line)}
  .fd-mega__trigger{padding-right:16px}
  .fd-mega__car{display:inline-flex;align-items:center;justify-content:center;color:var(--fd-grey)}
  .fd-mega__panel{
    position:static;
    display:none;
    padding:0 16px 14px;
    border:0;
    background:transparent;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .fd-mega.is-open .fd-mega__panel{display:block}
  .fd-mega__inner{display:block;padding:0}
  .fd-mega__cols{display:block;padding:0}
  .fd-mega__col{padding:0;border-bottom:1px solid #F0F0EC}
  .fd-mega__col:last-child{border-bottom:0}
  .fd-mega__col h4{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:0;
    padding:0;
    border:0;
    font-size:11px;
  }
  .fd-mega__col h4 a{
    flex:1;
    min-width:0;
    padding:13px 0;
    font-size:11.5px;
    letter-spacing:.08em;
  }
  .fd-mega__league-toggle{
    display:grid;
    place-items:center;
    flex:0 0 40px;
    width:40px;
    height:40px;
    padding:0;
    border:1px solid var(--fd-line);
    border-radius:999px;
    background:#fff;
    color:var(--fd-ink);
  }
  .fd-mega__league-toggle svg{transition:transform .16s}
  .fd-mega__col.is-open .fd-mega__league-toggle svg{transform:rotate(180deg)}
  .fd-mega__col ul{display:none;margin:0;padding:0 0 10px}
  .fd-mega__col.is-open ul{display:block}
  .fd-mega__col li a{
    display:block;
    padding:6px 0;
    min-height:34px;
    font-size:12px;
    line-height:1.35;
  }
  .fd-nav .fd-mega__all{
    display:flex;
    align-items:center;
    justify-content:center;
    margin:12px 0 4px;
    padding:11px 14px;
    border:1px solid var(--fd-ink);
    border-radius:10px;
    font-size:12px;
    font-weight:600;
    letter-spacing:0;
    text-transform:none;
    color:var(--fd-ink);
  }
  .fd-mega__promo{display:none}

  /* Carte offre + pied du menu. */
  .fd-menu-promo{
    display:block;
    margin:16px;
    padding:16px;
    border:1px solid var(--fd-line);
    border-radius:14px;
    background:var(--fd-paper);
  }
  .fd-menu-promo__kick{
    display:block;
    margin-bottom:5px;
    font-size:9px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--fd-red);
  }
  .fd-menu-promo b{display:block;font-family:var(--fd-font-display);font-size:21px;line-height:1;letter-spacing:-.02em;text-transform:uppercase}
  .fd-menu-promo p{margin:7px 0 12px;font-size:11.5px;line-height:1.5;color:var(--fd-grey)}
  .fd-menu-promo .fd-btn{display:block;width:100%;text-align:center}

  .fd-menu-foot{
    display:flex;
    flex-direction:column;
    padding:0 16px 8px;
    font-size:12px;
  }
  .fd-menu-foot a{
    display:flex;
    align-items:center;
    gap:7px;
    min-height:40px;
    padding:8px 0;
    border-top:1px solid #F0F0EC;
    color:var(--fd-ink-soft);
  }
  .fd-menu-foot a:hover{color:var(--fd-ink)}
}

@media (max-width:480px){
  .fd-logo{font-size:17px}
  .fd-cart-link{padding:8px}
  .fd-cart-link__label{display:none}
  .fd-header__inner{gap:8px}
}

@media (max-width:380px){
  .fd-logo{font-size:16px}
  .fd-burger{width:38px;height:38px;flex-basis:38px}
  .fd-cart-link{min-height:38px}
  .fd-menu-quick__item{min-height:68px;font-size:10px}
  .fd-nav .fd-menu-quick__item{font-size:10px}

  /* Les 4 chiffres du hero passent en 2×2 au lieu de 3+1. */
  .fd-stats{display:grid;grid-template-columns:1fr 1fr;gap:0}
  .fd-stat{
    padding:0 14px 12px 0;
    margin:0;
    border-right:1px solid var(--fd-line);
  }
  .fd-stat:nth-child(2n){border-right:0;padding-right:0;padding-left:14px}
  .fd-stat:nth-child(n+3){
    padding-top:12px;
    border-top:1px solid var(--fd-line);
  }
}

/* ============================================================
   2. CARTES PRODUITS
   ============================================================ */
@media (max-width:560px){
  :root{ --fd-gutter:16px; }

  .fd-card__media{padding:8px;aspect-ratio:1/1.04}
  .fd-card__badges{gap:4px}
  .fd-card__badges .fd-badge{font-size:8px;padding:4px 6px;letter-spacing:.04em}
  .fd-card__wish{top:7px;right:7px;width:34px;height:34px}
  .fd-card__body{padding:10px 11px 13px;gap:6px}
  .fd-card__brand{font-size:9px}
  .fd-card__title{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:32px;
    font-size:12.5px;
    line-height:1.3;
  }
  .fd-card__rating{font-size:9.5px}
  .fd-price__now{font-size:17px}
  .fd-price__old{font-size:10.5px}
  .fd-price__off{font-size:8.5px;padding:2px 4px}
  .fd-size-chip{font-size:8.5px;padding:2px 4px}
  .fd-card__stock{font-size:9px}
  .fd-card__atc{font-size:10px;padding:10px 4px}
  .fd-card__cta{font-size:10.5px;padding:10px 8px;margin-top:10px}
}

@media (max-width:380px){
  :root{ --fd-gutter:14px; }
  .fd-card__title{font-size:12px}
  .fd-price__now{font-size:16px}
}

/* ============================================================
   3. PANIER MOBILE
   ============================================================ */
@media (max-width:640px){
  body.woocommerce-cart .fd-page-title,
  body.woocommerce-checkout .fd-page-title{
    font-size:clamp(28px,9vw,38px);
    padding:22px 0 16px;
  }

  body.woocommerce-cart .fd-cart-layout{
    gap:18px;
    padding:18px 0 42px;
  }

  .fd-cart-lines{
    border-radius:14px;
    overflow:hidden;
    background:#fff;
  }

  .fd-cart-line{
    display:grid;
    grid-template-columns:84px minmax(0,1fr) auto;
    grid-template-areas:
      "thumb info total"
      "thumb qty remove";
    column-gap:12px;
    row-gap:10px;
    align-items:start;
    padding:14px;
  }
  .fd-cart-line + .fd-cart-line{border-top:1px solid var(--fd-line)}
  .fd-cart-line__prod{display:contents}
  .fd-cart-line__thumb{
    grid-area:thumb;
    width:84px;
    height:104px;
    aspect-ratio:auto;
    padding:5px;
    align-self:start;
  }
  .fd-cart-line__info{grid-area:info;min-width:0}
  .fd-cart-line__name{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    margin-bottom:3px;
    font-size:12.5px;
    line-height:1.3;
  }
  .fd-cart-line__meta{font-size:10.5px;line-height:1.4}
  .fd-cart-line__meta p{margin:0}
  .fd-cart-line__unit{margin-top:2px;font-size:10px;white-space:nowrap}
  .fd-cart-line__qty{grid-area:qty;align-self:end;margin:0}
  .fd-cart-line__total{
    grid-area:total;
    align-self:start;
    padding-top:1px;
    text-align:right;
    font-size:17px;
    line-height:1.2;
    white-space:nowrap;
  }
  .fd-cart-line__total small{font-size:10px;margin-top:2px}
  .fd-cart-line__remove{
    grid-area:remove;
    align-self:end;
    justify-self:end;
    display:inline-flex;
    align-items:center;
    margin:0;
    padding:8px 0 4px;
    width:auto;
    height:auto;
    border:0;
    background:none;
    color:var(--fd-grey);
    font-size:0;
    line-height:1;
    text-decoration:underline;
    text-underline-offset:2px;
  }
  .fd-cart-line__remove::after{
    content:"Retirer";
    font-family:var(--fd-font-sans);
    font-size:11px;
    font-weight:600;
    letter-spacing:0;
  }
  .fd-cart-line__remove:hover{background:none;color:var(--fd-red)}

  .fd-cart-line .fd-qty{height:42px;border-radius:10px}
  .fd-cart-line .fd-qty__btn{width:40px;font-size:17px}
  .fd-cart-line .fd-qty .fd-qty__input{width:44px;font-size:13px}

  .fd-cart-actions{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    padding:13px 14px;
  }
  .fd-cart-coupon{max-width:none;width:100%}
  .fd-cart-coupon input{height:46px}
  .fd-cart-coupon button{padding:0 14px}
  .fd-cart-update{display:none}
  .fd-cart-actions::after{
    content:"Les quantités sont mises à jour automatiquement.";
    font-size:10.5px;
    line-height:1.4;
    color:var(--fd-grey);
  }

  /* Totaux : lignes lisibles, plus de tableau écrasé. */
  .fd-cart-totals{
    border-radius:14px;
    overflow:hidden;
    background:#fff;
  }
  .fd-cart-totals .cart_totals h2{border-radius:14px 14px 0 0}
  .fd-cart-totals .shop_table,
  .fd-cart-totals .shop_table tbody,
  .fd-cart-totals .shop_table tfoot{display:block;width:100%}
  .fd-cart-totals .shop_table tr{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    padding:10px 16px;
    border-bottom:1px solid var(--fd-line);
  }
  .fd-cart-totals .shop_table tr:last-child{border-bottom:0}
  .fd-cart-totals .shop_table th,
  .fd-cart-totals .shop_table td{
    display:block;
    width:auto !important;
    padding:0 !important;
    border:0 !important;
    background:none !important;
    text-align:left !important;
    font-size:12.5px;
    line-height:1.45;
  }
  .fd-cart-totals .shop_table td{text-align:right !important;font-weight:700;white-space:nowrap}
  .fd-cart-totals .fd-cart-hint th{
    width:100% !important;
    padding:2px 0 !important;
    text-align:left !important;
    white-space:normal;
    font-size:11px;
    line-height:1.45;
  }
  .fd-cart-totals .order-total{padding:14px 16px}
  .fd-cart-totals .order-total th,
  .fd-cart-totals .order-total td{font-size:18px}
  .fd-cart-totals .woocommerce-shipping-totals th{font-weight:600 !important}
  .fd-cart-totals .woocommerce-shipping-totals td{white-space:normal}
  .fd-cart-totals .woocommerce-shipping-methods{padding:0 !important}
  .fd-cart-totals .woocommerce-shipping-methods li{text-align:right}
  .fd-cart-totals .woocommerce-shipping-methods label{justify-content:flex-end;flex-wrap:nowrap;gap:6px}
  .fd-cart-totals .fd-ship-label{flex-direction:row;align-items:baseline;gap:5px;text-align:right}
  .fd-cart-totals .fd-ship-label em{display:none}
  .fd-cart-totals .fd-ship-price{margin-left:6px}

  .fd-cart-totals .wc-proceed-to-checkout{padding:14px 16px 16px}
  .fd-cart-totals .wc-proceed-to-checkout a.checkout-button{
    padding:17px 14px;
    border-radius:10px;
    font-size:13px;
    box-shadow:none;
  }
  .fd-cart-totals .wc-proceed-to-checkout a.checkout-button:hover{transform:none}

  .fd-cart-assure{padding:14px;border-radius:14px;gap:10px}
  .fd-cart-assure .fd-ri + .fd-ri{padding-top:10px}
  .fd-cart-assure .fd-ri b{font-size:9.5px}
  .fd-cart-assure .fd-ri span{font-size:11px}

  /* Upsells : rail horizontal, page beaucoup plus courte. */
  .fd-cart-upsells .fd-upsell{margin-top:6px;padding-top:20px}
  .fd-cart-upsells .fd-upsell__head{align-items:flex-start;gap:6px;margin-bottom:12px}
  .fd-cart-upsells .fd-upsell__head h2{font-size:20px}
  .fd-cart-upsells .fd-upsell__head p{font-size:11.5px}
  .fd-cart-upsells .fd-upsell__link{font-size:11px}
  .fd-cart-upsells .fd-rail{
    display:flex;
    flex-wrap:nowrap;
    gap:12px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:0 16px 8px;
    margin:0 -16px;
    scrollbar-width:none;
  }
  .fd-cart-upsells .fd-rail::-webkit-scrollbar{display:none}
  .fd-cart-upsells .fd-rail .fd-card{
    flex:0 0 64%;
    min-width:0;
    height:auto;
    scroll-snap-align:start;
  }
}

/* ============================================================
   4. CHECKOUT MOBILE
   ============================================================ */
.fd-checkout-mobile-summary{display:none}

@media (max-width:1024px){
  .fd-checkout-mobile-summary{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "main total"
      "links links";
    gap:4px 12px;
    align-items:center;
    position:sticky;
    top:calc(var(--fd-header-h) + 8px);
    z-index:20;
    margin:2px 0 14px;
    padding:10px 14px;
    border:1px solid var(--fd-line);
    border-radius:12px;
    background:rgba(255,255,255,.97);
    box-shadow:0 6px 18px rgba(17,18,20,.06);
    backdrop-filter:blur(8px);
  }
  .fd-cms-main{grid-area:main;display:flex;flex-direction:column;gap:1px;min-width:0}
  .fd-cms-label{font-size:11.5px;font-weight:700;line-height:1.2;color:var(--fd-ink)}
  .fd-cms-count{font-size:10px;line-height:1.2;color:var(--fd-grey)}
  .fd-cms-total{grid-area:total;font-size:16px;font-weight:800;line-height:1.1;white-space:nowrap;color:var(--fd-ink)}
  .fd-cms-links{
    grid-area:links;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding-top:2px;
    font-size:10.5px;
  }
  .fd-cms-links a{color:var(--fd-ink-soft);text-decoration:underline;text-underline-offset:2px}
  .fd-cms-links a:hover{color:var(--fd-ink)}
}

@media (max-width:640px){
  body.woocommerce-checkout .fd-checkout-steps{
    margin:4px 0 12px;
    font-size:9.5px;
    gap:6px;
  }
  body.woocommerce-checkout .fd-checkout-steps__line{min-width:6px}

  body.woocommerce-checkout form.checkout{
    gap:16px;
    padding:8px 0 40px;
  }
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout .woocommerce-additional-fields{
    padding:16px 14px 4px;
    border-radius:14px;
  }
  body.woocommerce-checkout #customer_details h3,
  body.woocommerce-checkout .woocommerce-additional-fields h3{
    margin-bottom:14px;
    padding-bottom:10px;
    font-size:16px;
  }
  body.woocommerce-checkout .form-row{margin-bottom:12px}
  body.woocommerce-checkout .form-row label{font-size:11px;margin-bottom:5px}
  body.woocommerce-checkout .form-row input.input-text,
  body.woocommerce-checkout .form-row select,
  body.woocommerce-checkout .form-row textarea{
    min-height:48px;
    padding:12px 13px;
    font-size:14px;
    border-radius:10px;
  }
  body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
  body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
    padding:12px 13px;
    font-size:11.5px;
    border-radius:10px;
  }

  /* Récapitulatif : plus de débordement, lignes lisibles. */
  body.woocommerce-checkout #order_review{
    border-radius:14px;
    scroll-margin-top:calc(var(--fd-header-h) + 84px);
  }
  body.woocommerce-checkout #order_review .fd-review__head{padding:14px}
  body.woocommerce-checkout #order_review .shop_table{
    width:100% !important;
    table-layout:fixed;
  }
  body.woocommerce-checkout #order_review .shop_table td.product-name{
    padding:12px 14px;
    overflow-wrap:anywhere;
  }
  body.woocommerce-checkout #order_review .shop_table td.product-total{
    width:82px;
    padding:12px 14px;
    font-size:11.5px;
  }
  body.woocommerce-checkout #order_review .shop_table tfoot tr th,
  body.woocommerce-checkout #order_review .shop_table tfoot tr td{
    padding:9px 14px;
  }
  body.woocommerce-checkout #order_review .shop_table tfoot .order-total th,
  body.woocommerce-checkout #order_review .shop_table tfoot .order-total td{
    padding:13px 14px;
    font-size:16px;
  }
  body.woocommerce-checkout #order_review .shop_table tfoot .order-total td{font-size:18px}
  body.woocommerce-checkout #order_review .woocommerce-shipping-totals th,
  body.woocommerce-checkout #order_review .woocommerce-shipping-totals td{font-size:11.5px}
  body.woocommerce-checkout #order_review .woocommerce-shipping-methods label{
    justify-content:flex-end;
    flex-wrap:nowrap;
    gap:6px;
  }
  body.woocommerce-checkout #order_review .fd-ship-label{flex-direction:row;align-items:baseline;gap:5px}
  body.woocommerce-checkout #order_review .fd-ship-label em{display:none}
  body.woocommerce-checkout #order_review .fd-ship-price{margin-left:0}
  body.woocommerce-checkout #order_review .fd-pay-title{padding:14px 14px 8px}
  body.woocommerce-checkout #payment{padding:0 14px 14px}
  body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method{padding:11px 12px}
  body.woocommerce-checkout #payment div.payment_box{padding:12px}
  body.woocommerce-checkout #order_review > .ppc-button-wrapper{padding:0 14px 14px}
  body.woocommerce-checkout #place_order{height:52px;font-size:13.5px}
  body.woocommerce-checkout .fd-place-note{font-size:9px}
}

/* ============================================================
   5. BLOG MOBILE
   ============================================================ */
@media (max-width:640px){
  .fd-bloghead{margin-bottom:26px}
  .fd-bloghead h1{font-size:clamp(28px,8vw,38px)}
  .fd-bloghead p{font-size:13px}
  .fd-bloggrid{gap:18px}
}

/* ============================================================
   5. BOUTIQUE : filtres mobiles compacts
   ============================================================ */
.fd-filters-open,
.fd-filters-scrim,
.fd-filters__mobile-head{display:none}

@media (max-width:1024px){
  .fd-shop{display:block;padding:10px 0 44px}

  /* Les sous-collections deviennent un seul rail horizontal. */
  .fd-subcollections{
    flex-wrap:nowrap;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    gap:6px;
    padding:0 0 12px;
    margin:0 0 12px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .fd-subcollections::-webkit-scrollbar{display:none}
  .fd-subcollections__item{
    flex:0 0 auto;
    white-space:nowrap;
    border-radius:999px;
    padding:7px 10px;
    font-size:11px;
  }
  .fd-subcollections__item em{font-size:8.5px}

  /* Tri + filtres sur une seule ligne compacte. */
  .fd-cathead{gap:10px 8px;padding-bottom:14px}
  .fd-cathead__title{width:100%}
  .fd-cathead__sort{width:auto;flex:1 1 0;min-width:0;gap:0}
  .fd-cathead__sort label{display:none}
  .fd-cathead__sort select{
    width:100%;
    padding:10px 32px 10px 12px;
    border-radius:10px;
    font-size:12px;
    background-color:#fff;
  }

  /* Barre Filtrer + panneau. */
  .fd-filters-open{
    display:flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
    width:auto;
    margin:0;
    padding:11px 13px;
    border:1px solid var(--fd-line);
    border-radius:10px;
    background:#fff;
    color:var(--fd-ink);
    font-family:var(--fd-font-sans);
    font-size:12px;
    font-weight:800;
    text-align:left;
    position:static;
  }
  .fd-filters-open em{
    display:inline-grid;
    place-items:center;
    min-width:20px;
    height:20px;
    padding:0 5px;
    border-radius:999px;
    background:var(--fd-red);
    color:#fff;
    font-size:10px;
    font-style:normal;
  }
  .fd-filters-open__chevron{margin-left:auto;font-size:14px;color:var(--fd-grey)}

  .fd-filters-scrim{
    display:block;
    position:fixed;
    inset:0;
    z-index:300;
    background:rgba(11,11,11,.46);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s, visibility .2s;
  }
  body.fd-filters-panel-open .fd-filters-scrim{opacity:1;visibility:visible;pointer-events:auto}

  .fd-filters{
    display:block;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    top:auto;
    z-index:301;
    max-height:86vh;
    padding:0 16px calc(22px + env(safe-area-inset-bottom));
    border-radius:18px 18px 0 0;
    background:#fff;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    box-shadow:0 -12px 40px rgba(17,18,20,.18);
    transform:translateY(105%);
    visibility:hidden;
    pointer-events:none;
    transition:transform .24s var(--fd-ease), visibility .24s;
  }
  .fd-filters.is-open{transform:none;visibility:visible;pointer-events:auto}
  body.fd-filters-panel-open{overflow:hidden}

  .fd-filters__mobile-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    position:sticky;
    top:0;
    z-index:2;
    margin:0 -16px;
    padding:14px 16px;
    background:#fff;
    border-bottom:1px solid var(--fd-line);
  }
  .fd-filters__mobile-head b{font-family:var(--fd-font-display);font-size:18px;text-transform:uppercase;letter-spacing:-.01em}
  .fd-filters__close{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border:1px solid var(--fd-line);
    border-radius:999px;
    background:#fff;
    color:var(--fd-ink);
    font-size:22px;
    line-height:1;
  }

  .fd-filters__block{
    flex:none;
    min-width:0;
    margin:0;
    padding:15px 0;
    border:0;
    border-bottom:1px solid var(--fd-line);
  }
  .fd-filters__block:last-child{border-bottom:0}
  .fd-filters__block h3{font-size:10px;margin:0 0 5px}
  .fd-filters__list a{padding:10px 0;font-size:13.5px;border-bottom:1px solid #EFEFEA}
  .fd-filters__list a.is-active span::before{font-size:7px}
  .fd-filters__block--promo{
    margin:14px 0 4px;
    padding:14px;
    border:1px solid var(--fd-line);
    border-radius:12px;
    background:var(--fd-paper);
  }
}

@media (max-width:560px){
  .fd-cathead h1{font-size:32px}
  .fd-cathead__count{font-size:10px}
}
