/*
Theme Name: Onze Maillots
Theme URI: https://localhost
Description: Habillage boutique maillots, inspiration Foot Center. Thème enfant d'Astra.
Author: Onze Maillots
Template: astra
Version: 1.0.1
Text Domain: onze-maillots-child
*/

/* ============ TOKENS ============ */
:root{
  --om-red:#e2001a;          /* rouge FC (accents) */
  --om-red-d:#b80016;
  --om-lime:#d4f70b;         /* vert clair FC — couleur principale des boutons */
  --om-lime-d:#bfe000;
  --om-ink:#0a0e14;
  --om-ink-soft:#1c2330;
  --om-paper:#ffffff;
  --om-mute:#6b7280;
  --om-line:rgba(10,14,20,.10);
  --om-serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --om-accent:var(--om-red);
}

/* ============ TYPO ============ */
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;color:var(--om-ink)}
h1,h2,h3,.entry-title,.widget-title{font-family:var(--om-serif);letter-spacing:-.01em}

/* Titres de section facon FC : serif italique, centre, capitales, interlettrage */
.om-section-title,
.home .site-main h2,
.woocommerce .products > h2,
section.om-block > h2{
  font-family:var(--om-serif);
  font-style:italic;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.14em;
  text-align:center;
  font-size:clamp(1.15rem,2.2vw,1.7rem);
  margin:0 0 1.6rem;
}
.om-section-title::after{content:"";display:block;width:64px;height:3px;background:var(--om-red);margin:.7rem auto 0;border-radius:2px}

/* ============ BARRE PROMO ============ */
.om-topbar{
  background:var(--om-ink);
  color:#fff;
  font-size:.82rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;
  text-align:center;padding:.55rem 1rem;
}
.om-topbar b{color:var(--om-lime)}
.om-topbar .om-topbar__promo{color:var(--om-ink);background:var(--om-lime);padding:.14em .7em;border-radius:999px;margin:0 .1em;font-weight:800}

/* ============ HEADER ============ */
.site-header,.ast-primary-header-bar{background:var(--om-paper)!important;border-bottom:1px solid var(--om-line)}
/* logo wordmark FC Yoma (SVG inline, pas d'upload) */
.site-title{line-height:1!important;margin:0!important}
.site-title a{display:inline-block;font-size:0!important;width:172px;height:48px;
  background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 72'%3E%3Crect x='2' y='5' width='62' height='62' rx='12' fill='%230a0e14'/%3E%3Ctext x='33' y='47' text-anchor='middle' font-family='Georgia,serif' font-size='33' font-weight='700' font-style='italic' fill='%23fff'%3EFC%3C/text%3E%3Ctext x='78' y='49' font-family='Georgia,serif' font-size='44' font-weight='800' fill='%230a0e14'%3EYOMA%3C/text%3E%3C/svg%3E") left center/contain no-repeat}
.custom-logo-link{font-family:var(--om-serif)!important;font-weight:800}
.main-header-menu .menu-link,.ast-header-navigation-arrow{font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem!important}
.main-header-menu .menu-link:hover,.main-header-menu .current-menu-item > .menu-link{color:var(--om-ink)!important;box-shadow:inset 0 -3px 0 var(--om-red)}
/* sous-menus */
.main-header-menu .sub-menu{border-top:3px solid var(--om-red)!important}

/* ============ MEGA MENU ============ */
.site-primary-header-wrap,.main-header-bar-wrap,.main-header-bar,
.ast-primary-header-bar,.ast-above-header-wrap{position:relative!important}
.main-header-menu,.ast-nav-menu,.main-navigation ul,
.main-header-menu .fc-has-mega{position:static!important}
.main-header-menu .fc-has-mega > .sub-menu{display:none!important} /* on remplace par le mega */
.fc-mega{
  position:absolute;left:0;right:0;top:100%;z-index:120;
  display:grid;grid-template-columns:repeat(4,1fr) 1.15fr;gap:1.8rem;
  background:#fff;border-top:3px solid var(--om-red);box-shadow:0 24px 44px rgba(0,0,0,.16);
  padding:1.7rem clamp(1.2rem,4vw,2.6rem);
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);
  transition:opacity .16s ease,transform .16s ease;
}
.main-header-menu .fc-has-mega:hover .fc-mega,
.main-header-menu .fc-has-mega:focus-within .fc-mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.fc-mega__h{display:block;font-family:var(--om-serif);font-style:italic;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;color:var(--om-ink);margin-bottom:.6rem;padding-bottom:.4rem;border-bottom:1px solid var(--om-line)}
.fc-mega__col ul{list-style:none;margin:0;padding:0}
.fc-mega__col li{margin:0!important;line-height:1.2!important}
.fc-mega__col a{display:block!important;font-size:.86rem!important;font-weight:500!important;text-transform:none!important;letter-spacing:0!important;color:#333!important;box-shadow:none!important;padding:.42rem 0!important;line-height:1.2!important}
.fc-mega__col a:hover{color:var(--om-red)!important}
.fc-mega__promo{background:var(--om-ink);color:#fff;border-radius:10px;padding:1.2rem;display:flex;flex-direction:column;justify-content:center;text-align:center}
.fc-mega__promo span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--om-lime)}
.fc-mega__promo strong{font-family:var(--om-serif);font-size:1.35rem;line-height:1.1;margin:.3rem 0}
.fc-mega__promo em{font-size:.78rem;color:#c9cfda;font-style:normal}
@media(max-width:921px){.fc-mega{display:none!important}}

/* ============ BOUTONS ============ */
.wp-block-button__link,.ast-button,.button,button.single_add_to_cart_button,
.woocommerce a.button,.woocommerce button.button,.woocommerce #respond input#submit,
.woocommerce .widget_price_filter .button{
  background:var(--om-lime)!important;color:var(--om-ink)!important;
  border:none!important;border-radius:999px!important;
  text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.8rem;
  padding:.9em 1.7em!important;transition:transform .12s ease,background .12s ease;
}
.wp-block-button__link:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,
button.single_add_to_cart_button:hover{background:var(--om-lime-d)!important;color:var(--om-ink)!important;transform:translateY(-1px)}
.om-btn-lime .wp-block-button__link,.om-btn-red .wp-block-button__link{background:var(--om-lime)!important;color:var(--om-ink)!important}
.om-btn-lime .wp-block-button__link:hover,.om-btn-red .wp-block-button__link:hover{background:var(--om-lime-d)!important}

/* ============ CARTES PRODUIT ============ */
.woocommerce ul.products li.product{display:flex;flex-direction:column;border:1px solid var(--om-line);border-radius:10px;padding:.9rem;background:#fff;transition:box-shadow .15s ease,transform .15s ease;position:relative;overflow:hidden}
.woocommerce ul.products li.product:hover{box-shadow:0 10px 30px rgba(10,14,20,.10);transform:translateY(-3px)}
/* TOUTES les vignettes produit : meme boite carree, image entiere (contain) */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product img.wp-post-image,
.om-carousel__media img,
.woocommerce .related ul.products li.product img,
.woocommerce-page ul.products li.product img{
  width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:contain;
  border-radius:6px;background:#f6f7f8;display:block;margin:0 0 .4rem
}
/* le titre puis le prix puis le bouton alignes en bas quel que soit le nom */
.woocommerce ul.products li.product .woocommerce-loop-product__title{flex:0 0 auto;min-height:2.6em}
.woocommerce ul.products li.product .price{flex:0 0 auto}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .fc-loop-atc,
.woocommerce ul.products li.product .added_to_cart{margin-top:auto}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:inherit;font-weight:600;font-size:.95rem;letter-spacing:0;padding-top:.6rem}
.woocommerce ul.products li.product .price{color:var(--om-ink);font-weight:700}
.woocommerce ul.products li.product .price del{color:var(--om-mute);font-weight:400;opacity:1;margin-right:.4em}
.woocommerce ul.products li.product .price ins{text-decoration:none}

/* Badge PROMO (vert clair FC, coin haut gauche) */
.woocommerce span.onsale{
  background:var(--om-lime)!important;color:var(--om-ink)!important;
  border-radius:999px!important;min-height:0;min-width:0;
  padding:.3em .8em;font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;
  position:absolute;top:12px;left:12px;margin:0;z-index:3;
}
/* pastille 1+1 offert sur les cartes maillot */
.woocommerce ul.products li.product .fc-bogo-tag{
  position:absolute;top:12px;right:12px;z-index:3;background:var(--om-ink);color:#fff;
  font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.28em .55em;border-radius:3px;
}
.woocommerce ul.products li.product .fc-bogo-tag b{color:var(--om-lime)}

/* ============ GRILLE CATEGORIE ============ */
.woocommerce .products ul.products,.woocommerce ul.products{gap:1.4rem}
.woocommerce-result-count,.woocommerce-ordering{color:var(--om-mute);font-size:.85rem}

/* ============ TUILES CATEGORIE (accueil) ============ */
.om-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:0 auto;max-width:1100px}
.om-tile{position:relative;display:block;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:var(--om-ink);color:#fff;text-decoration:none}
.om-tile img{width:100%;height:100%;object-fit:cover;opacity:.62;transition:transform .3s ease,opacity .3s ease}
.om-tile:hover img{transform:scale(1.06);opacity:.5}
.om-tile__label{position:absolute;left:0;right:0;bottom:0;padding:.8rem 1rem;font-family:var(--om-serif);font-style:italic;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:1rem}
.om-tile__label::before{content:"";display:block;width:34px;height:3px;background:var(--om-lime);margin-bottom:.45rem}

/* ============ BANNIERE DE COLLECTION (accueil) ============ */
.om-cbanner{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:2rem;border-radius:16px;overflow:hidden;margin:0 auto;max-width:1180px;min-height:280px}
.om-cbanner--ink{background:linear-gradient(115deg,#0a0e14,#182a44)}
.om-cbanner--red{background:linear-gradient(115deg,#8f0011,#e2001a)}
.om-cbanner--retro{background:linear-gradient(115deg,#3a2410,#6a4a24)}
.om-cbanner__txt{padding:2.4rem clamp(1.4rem,4vw,3rem);color:#fff}
.om-cbanner__kick{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--om-lime)}
.om-cbanner__txt h3{font-family:var(--om-serif);font-style:italic;text-transform:uppercase;font-weight:800;font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:1.05;margin:.3rem 0 .5rem;color:#fff}
.om-cbanner__txt p{color:#dfe3ea;font-size:.94rem;margin:0 0 1.2rem;max-width:44ch}
.om-cbanner__cta{display:inline-block;background:var(--om-lime);color:var(--om-ink)!important;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;padding:.85em 1.7em;border-radius:999px}
.om-cbanner__cta:hover{background:var(--om-lime-d)}
.om-cbanner__img{align-self:stretch;position:relative}
.om-cbanner__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;padding:1.4rem;filter:drop-shadow(0 20px 30px rgba(0,0,0,.35))}
@media(max-width:780px){.om-cbanner{grid-template-columns:1fr}.om-cbanner__img{display:none}}

/* ============ PETIT CARROUSEL PRODUITS ============ */
.om-carousel{max-width:1180px;margin:0 auto}
.om-carousel__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.om-section-title--left{text-align:left;margin:0}
.om-section-title--left::after{margin-left:0}
.om-carousel__all{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--om-red);white-space:nowrap}
.om-carousel__track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:.6rem}
.om-carousel__track::-webkit-scrollbar{height:6px}
.om-carousel__track::-webkit-scrollbar-thumb{background:var(--om-line);border-radius:3px}
.om-carousel__card{display:flex;flex-direction:column;flex:0 0 210px;scroll-snap-align:start;border:1px solid var(--om-line);border-radius:10px;padding:.8rem;text-decoration:none;color:var(--om-ink);transition:box-shadow .15s,transform .15s;background:#fff}
.om-carousel__card:hover{box-shadow:0 10px 26px rgba(10,14,20,.1);transform:translateY(-3px)}
.om-carousel__media{position:relative;display:block}
.om-carousel__name{min-height:2.5em}
.om-carousel__price{margin-top:auto}
.om-carousel__promo{position:absolute;top:8px;left:8px;background:var(--om-lime);color:var(--om-ink);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:.22em .6em;border-radius:999px}
.om-carousel__name{display:block;font-size:.85rem;font-weight:600;margin:.55rem 0 .2rem;line-height:1.25}
.om-carousel__price{display:block;font-size:.85rem;font-weight:700}
.om-carousel__price del{color:var(--om-mute);font-weight:400;margin-right:.35em}
.om-carousel__price ins{text-decoration:none}

/* ============ BANDE REASSURANCE ============ */
.om-reassure{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;max-width:1000px;margin:2.4rem auto;text-align:center}
.om-reassure div{font-size:.9rem}
.om-reassure strong{display:block;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;margin-bottom:.2rem}
.om-reassure span{color:var(--om-mute);font-size:.82rem}

/* ============ PANIER TIROIR ============ */
.fc-cart-toggle > a{position:relative;display:inline-flex;align-items:center;color:var(--om-ink)!important}
.fc-cart-toggle > a:hover{color:var(--om-red)!important}
.fc-cart-count{position:absolute;top:-6px;right:-10px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--om-red);color:#fff;font-size:.66rem;font-weight:800;line-height:17px;text-align:center}
.fc-cart-count.is-empty{display:none}

.fc-drawer-overlay{position:fixed;inset:0;background:rgba(10,14,20,.45);z-index:9998;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility .2s}
.fc-drawer-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}
.fc-drawer{position:fixed;top:0;right:0;height:100%;width:min(400px,92vw);background:#fff;z-index:9999;
  display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);box-shadow:-8px 0 40px rgba(0,0,0,.18)}
.fc-drawer.is-open{transform:translateX(0)}
.fc-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.3rem;border-bottom:1px solid var(--om-line);font-family:var(--om-serif);font-weight:700;font-size:1.05rem}
.fc-drawer__head button{background:none;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--om-ink)}
.fc-drawer__body{flex:1;overflow-y:auto;padding:1.1rem 1.3rem}
.fc-drawer__empty{text-align:center;padding:2rem 0;color:var(--om-mute)}
.fc-drawer__nudge{background:#fff4e5;border:1px solid #ffd8a8;border-radius:8px;padding:.6rem .8rem;font-size:.8rem;margin-bottom:1rem;line-height:1.4}
.fc-drawer__nudge--ok{background:#e9f7ef;border-color:#b7e3c6}
.fc-drawer__items{list-style:none;margin:0 0 1rem;padding:0}
.fc-drawer__item{display:grid;grid-template-columns:56px 1fr 20px;gap:.7rem;padding:.7rem 0;border-bottom:1px solid var(--om-line)}
.fc-drawer__thumb img{width:56px;height:56px;object-fit:contain;background:#f6f7f8;border-radius:6px}
.fc-drawer__meta{display:flex;flex-direction:column;gap:.15rem;font-size:.82rem}
.fc-drawer__meta a{color:var(--om-ink);font-weight:600;text-decoration:none;line-height:1.25}
.fc-drawer__opts{color:var(--om-mute);font-size:.72rem}
.fc-drawer__qty{font-size:.78rem;font-weight:600}
.fc-drawer__rm{color:var(--om-mute);text-decoration:none;font-size:1.1rem;line-height:1}
.fc-drawer__rm:hover{color:var(--om-red)}
.fc-drawer__totals{display:flex;justify-content:space-between;font-size:.9rem;padding:.35rem 0}
.fc-drawer__totals--fee{color:var(--om-red);font-size:.82rem}
.fc-drawer__totals--grand{border-top:1px solid var(--om-line);margin-top:.3rem;padding-top:.6rem;font-size:1.05rem}
.fc-drawer__totals--grand strong{font-family:var(--om-serif)}
.fc-drawer__cross{margin-top:1.2rem;border-top:1px solid var(--om-line);padding-top:1rem}
.fc-drawer__cross-h{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--om-mute);margin:0 0 .6rem}
.fc-drawer__cross-list{display:flex;gap:.6rem;overflow-x:auto}
.fc-drawer__cross-card{flex:0 0 108px;text-decoration:none;color:var(--om-ink)}
.fc-drawer__cross-card img{width:108px;height:108px;object-fit:contain;background:#f6f7f8;border-radius:6px}
.fc-drawer__cross-name{display:block;font-size:.72rem;font-weight:600;line-height:1.2;margin-top:.3rem}
.fc-drawer__cross-price{display:block;font-size:.74rem;font-weight:700}
.fc-drawer__cross-price del{color:var(--om-mute);font-weight:400;margin-right:.25em}
.fc-drawer__cross-price ins{text-decoration:none}
.fc-drawer__cta{padding:1rem 1.3rem;border-top:1px solid var(--om-line)}
.fc-drawer__cta .button{margin:0;width:100%;text-align:center;justify-content:center;display:block;padding:1em!important;font-size:.85rem!important}
.fc-loop-atc.is-loading{opacity:.5;pointer-events:none}

/* ============ SLIDER HERO ============ */
.om-slider{position:relative;width:100%;overflow:hidden}
.om-slider__track{position:relative;min-height:clamp(360px,52vh,540px)}
.om-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-start;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transition:opacity .5s ease;pointer-events:none}
.om-slide.is-active{opacity:1;pointer-events:auto}
.om-slide--ink,.om-slide--red{background-color:#0a0e14;background-image:linear-gradient(100deg,rgba(8,10,14,.72) 0%,rgba(8,10,14,.3) 42%,rgba(8,10,14,0) 74%),var(--bg)}
.om-slide__in{max-width:540px;margin:0;padding:2rem clamp(1.5rem,6vw,5rem);text-align:left;color:#fff}
.om-slide__kick{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--om-lime)}
.om-slide__in h2{font-family:var(--om-serif);font-style:italic;text-transform:uppercase;font-weight:800;font-size:clamp(2rem,5.4vw,3.4rem);line-height:1.03;margin:.4rem 0 .6rem;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.om-slide__in p{color:#eef1f5;font-size:1rem;margin:0 0 1.4rem;max-width:42ch;text-shadow:0 1px 12px rgba(0,0,0,.4)}
.om-slide__cta{display:inline-block;background:var(--om-lime);color:var(--om-ink)!important;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;padding:.9em 1.9em;border-radius:999px}
.om-slide__cta:hover{background:var(--om-lime-d)}
.om-slider__nav{position:absolute;bottom:1rem;z-index:5;background:rgba(255,255,255,.18);border:0;color:#fff;font-size:1.3rem;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:.15s}
.om-slider__nav:hover{background:rgba(255,255,255,.35)}
.om-slider__nav--prev{right:4rem}.om-slider__nav--next{right:1rem}
.om-slider__dots{position:absolute;left:clamp(1.5rem,6vw,5rem);bottom:1.6rem;display:flex;gap:.5rem;z-index:5}
@media(max-width:600px){.om-slider__dots{left:1.2rem}}
.om-slider__dots button{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.4);cursor:pointer;padding:0}
.om-slider__dots button.is-on{background:#fff;width:22px;border-radius:5px}
@media(max-width:600px){.om-slider__nav{display:none}}

/* ============ HERO ============ */
.home .wp-block-cover.alignfull{min-height:clamp(360px,52vh,560px)!important}
.home .wp-block-cover h1,.home .wp-block-cover h2{font-style:italic;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(2rem,5vw,3.4rem);line-height:1.05}

/* ============ FOOTER ============ */
.om-footer-wrap{background:var(--om-ink);color:#c9cfda}
.om-footer-wrap a{color:#c9cfda;text-decoration:none}
.om-footer-wrap a:hover{color:var(--om-lime)}
/* on masque le pied Astra (credit theme) : on met le notre */
.ast-small-footer,
.site-below-footer-wrap,
.site-primary-footer-wrap:empty{display:none!important}
.site-footer{background:var(--om-ink)!important}
.om-footer{max-width:1100px;margin:0 auto;padding:2.6rem 1.2rem 1.4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.6rem}
.om-footer h4{color:#fff;font-family:var(--om-serif);font-size:1rem;margin:0 0 .7rem}
.om-footer ul{list-style:none;margin:0;padding:0}
.om-footer li{margin:.3rem 0;font-size:.86rem}
.om-footer__bar{border-top:1px solid rgba(255,255,255,.12);text-align:center;padding:1rem;font-size:.8rem;color:#8b93a3}
.ast-small-footer{border-top:1px solid rgba(255,255,255,.12)}

/* cache le crédit Astra */
.ast-small-footer .ast-footer-copyright .ast-footer-site-title,
.ast-small-footer a[href*="wpastra"],.ast-small-footer a[href*="wordpress.org"]{display:none!important}

/* ============ SWATCHES TAILLE ============ */
.variations_form .variations tr,.variations_form .variations td,.variations_form .variations th{display:block;text-align:left;border:0;padding:0}
.variations_form .variations .label{font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}
.variations_form .reset_variations{display:inline-block;margin:.4rem 0 0;font-size:.76rem;color:var(--om-mute)}
.fc-swatches{display:flex;flex-wrap:wrap;gap:.45rem}
.fc-swatch{min-width:46px;padding:.55rem .7rem;border:1px solid #cfd3d8;border-radius:6px;background:#fff;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .12s}
.fc-swatch:hover{border-color:var(--om-ink)}
.fc-swatch.is-on{background:var(--om-ink);color:#fff;border-color:var(--om-ink)}
.fc-swatch.is-disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed}

/* ============ FLOCAGE ============ */
.fc-flocage{border:1px solid var(--om-line);border-radius:10px;padding:1rem 1.1rem;margin:0 0 1.2rem;background:#fafafa}
.fc-flocage__title{margin:0 0 .7rem;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}
.fc-flocage__title span{font-weight:400;text-transform:none;letter-spacing:0;color:var(--om-mute)}
.fc-flocage__modes{display:flex;gap:.4rem;margin-bottom:.8rem}
.fc-flocage__modes button{flex:1;padding:.5rem .4rem;border:1px solid #cfd3d8;border-radius:6px;background:#fff;font-size:.78rem;font-weight:700;cursor:pointer}
.fc-flocage__modes button.is-on{background:var(--om-ink);color:#fff;border-color:var(--om-ink)}
.fc-flocage__players{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.4rem;max-height:190px;overflow:auto}
.fc-player{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.5rem .6rem;border:1px solid #cfd3d8;border-radius:6px;background:#fff;cursor:pointer;font-size:.8rem}
.fc-player b{font-weight:600}
.fc-player i{font-style:normal;font-weight:800;color:var(--om-red)}
.fc-player.is-on{background:var(--om-ink);color:#fff;border-color:var(--om-ink)}
.fc-player.is-on i{color:var(--om-lime)}
.fc-flocage__row{display:flex;gap:.8rem}
.fc-flocage__row label{flex:1;display:flex;flex-direction:column;font-size:.75rem;font-weight:700;color:#444;gap:.25rem;text-transform:uppercase}
.fc-flocage__row input{border:1px solid #d0d3d8;border-radius:6px;padding:.55rem .7rem;font-size:.95rem;text-transform:uppercase}
.fc-flocage__row input[name=fc_floc_num_input]{max-width:90px}
.fc-flocage__preview{margin-top:.9rem;background:var(--om-ink);border-radius:8px;padding:1rem;text-align:center;color:#fff;font-family:var(--om-serif)}
.fc-fp-name{display:block;font-size:1.5rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;line-height:1}
.fc-fp-num{display:block;font-size:2.4rem;font-weight:800;line-height:1;margin-top:.2rem}

/* ============ SELECTEUR TAILLE (liste) ============ */
.fc-loop-atc{display:flex;gap:.4rem;margin-top:.5rem}
.fc-loop-atc select{flex:0 0 78px;border:1px solid #d0d3d8;border-radius:4px;padding:.5rem .3rem;font-size:.82rem;background:#fff}
.fc-loop-atc__btn{flex:1;padding:.6em .5em!important;font-size:.72rem!important}
.woocommerce ul.products li.product .fc-loop-atc .button{margin:0}

/* ============ SELECTEUR TAILLE (fiche) ============ */
.fc-size-picker{margin:0 0 1rem}
.fc-size-picker__label{display:block;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.45rem}
.fc-size-picker__opts{display:flex;flex-wrap:wrap;gap:.4rem}
.fc-size-picker__opts label{position:relative;cursor:pointer}
.fc-size-picker__opts input{position:absolute;opacity:0;inset:0}
.fc-size-picker__opts span{display:block;min-width:44px;text-align:center;padding:.5rem .6rem;border:1px solid #cfd3d8;border-radius:6px;font-size:.85rem;font-weight:600;transition:all .12s}
.fc-size-picker__opts input:checked + span{background:var(--om-ink);color:#fff;border-color:var(--om-ink)}
.fc-size-picker__opts label:hover span{border-color:var(--om-ink)}
.fc-size-guide-toggle{display:inline-block;margin-top:.5rem;font-size:.78rem;text-decoration:underline;color:var(--om-mute)}

/* ============ FICHE : reassurance + guide ============ */
.fc-trust{list-style:none;margin:1.1rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.fc-trust li{background:#f7f8f9;border:1px solid var(--om-line);border-radius:8px;padding:.6rem .7rem}
.fc-trust b{display:block;font-size:.8rem}
.fc-trust span{font-size:.72rem;color:var(--om-mute)}
.fc-size-guide{margin-top:1rem;border:1px solid var(--om-line);border-radius:8px;padding:.4rem .9rem}
.fc-size-guide summary{cursor:pointer;font-weight:700;font-size:.85rem;padding:.4rem 0}
.fc-size-guide table{width:100%;border-collapse:collapse;font-size:.8rem;margin:.5rem 0}
.fc-size-guide th,.fc-size-guide td{border:1px solid var(--om-line);padding:.4rem .5rem;text-align:center}
.fc-size-guide p{font-size:.76rem;color:var(--om-mute)}

/* ============ BOGO ============ */
.fc-bogo-banner{margin:.8rem 0 1rem;padding:.8rem 1rem;border-radius:10px;background:var(--om-ink);color:#fff;display:flex;flex-direction:column}
.fc-bogo-banner strong{font-family:var(--om-serif);font-size:1.05rem}
.fc-bogo-banner strong::before{content:"🎁 "}
.fc-bogo-banner span{font-size:.82rem;color:#c9cfda}
.fc-minicart-bogo{background:#fff4e5;border:1px solid #ffd8a8;border-radius:8px;padding:.5rem .7rem;font-size:.8rem;font-weight:600;text-align:center;margin:.4rem 0}
.woocommerce-cart .cart_totals .fee th,.woocommerce-checkout .fee th{color:var(--om-red)}

/* divers */
.page .entry-header,
.page-id-25 .entry-header,
.home .ast-archive-description,
h1.entry-title.page-title{display:none!important}

/* categorie : masquer le titre + description natifs (remplaces par la banniere) */
body.tax-product_cat .ast-archive-description,
body.tax-product_cat .woocommerce-products-header{display:none!important}

/* ============ HERO plein cadre facon FC ============ */
.home #primary,.home .site-main{padding-top:0!important}
.home #content .ast-container{padding-top:0!important;padding-bottom:0!important}
.home .ast-article-post,.home .ast-article-single,.home #primary{margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}
.home .entry-content > .alignfull:first-child{margin-top:0}
.om-reassure{margin:1.6rem auto!important}
.om-hero{align-items:center;justify-content:center;text-align:center;position:relative}
.om-hero .wp-block-cover__inner-container{max-width:760px;padding:1.5rem;position:relative;z-index:2}
.om-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 120% at 50% 30%,transparent 40%,rgba(0,0,0,.45));z-index:1}
.om-hero h1{color:#fff!important;font-style:italic;text-transform:uppercase;font-weight:800;font-size:clamp(2.1rem,5.4vw,3.6rem);line-height:1.03;text-shadow:0 2px 24px rgba(0,0,0,.4)}
.om-hero p{color:#eef1f5!important;font-size:1.02rem;margin:.9rem 0 1.4rem}
.om-hero .is-style-outline .wp-block-button__link{background:transparent!important;color:#fff!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}
.om-hero .is-style-outline .wp-block-button__link:hover{background:#fff!important;color:var(--om-ink)!important}
.om-hero .wp-block-cover__background{background:linear-gradient(115deg,#0a0e14 0%,#13233b 58%,#17301c 100%)!important;opacity:1!important}
.om-hero .wp-block-cover__inner-container::before{content:"";display:block;width:70px;height:4px;background:var(--om-lime);margin:0 auto 1.2rem;border-radius:3px}

/* ============================================================
 * RESPONSIVE MOBILE
 * ========================================================== */
@media (max-width:960px){
  html,body{overflow-x:hidden!important;max-width:100vw}
  /* le tiroir panier hors écran ne doit jamais créer de scroll */
  .fc-drawer{width:100%;visibility:hidden;transition:transform .28s cubic-bezier(.4,0,.2,1),visibility .28s}
  .fc-drawer.is-open{visibility:visible}
  .fc-mega{display:none!important}
}

@media (max-width:782px){
  /* bande réassurance : 2x2, alignée à gauche */
  .om-reassure{grid-template-columns:1fr 1fr!important;gap:.7rem 1rem!important;margin:1.1rem auto!important;padding:0 1.1rem;text-align:left}
  .om-reassure div{text-align:left}
  .om-reassure strong{font-size:.74rem}
  .om-reassure span{font-size:.74rem}

  /* titres de section */
  .om-section-title,.home .site-main h2{font-size:1.1rem!important;letter-spacing:.1em!important;margin-bottom:1.1rem!important}

  /* barre promo : plus compacte */
  .om-topbar{font-size:.68rem;letter-spacing:.04em;padding:.5rem .6rem}

  /* HERO */
  .om-slider__track{min-height:430px}
  .om-slide__in{padding:1.4rem 1.2rem;max-width:100%}
  .om-slide__in h2{font-size:1.8rem}
  .om-slide__in p{font-size:.9rem}
  .om-slider__nav{display:none}
  .om-slider__dots{left:1.2rem;bottom:1.1rem}

  /* GRILLES PRODUIT : 2 colonnes serrées */
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr 1fr!important;gap:.7rem!important;display:grid!important}
  .woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;padding:.55rem}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.82rem;min-height:0;padding-top:.4rem}
  .woocommerce ul.products li.product .price{font-size:.82rem}
  .woocommerce span.onsale{top:6px;left:6px;font-size:.6rem;padding:.24em .55em}
  .woocommerce ul.products li.product .fc-bogo-tag{top:6px;right:6px;font-size:.56rem;padding:.24em .45em}
  .fc-loop-atc{flex-wrap:wrap;gap:.35rem}
  .fc-loop-atc select{flex:1 1 100%}
  .fc-loop-atc__btn{flex:1 1 100%;font-size:.66rem!important}

  /* CARROUSELS */
  .om-carousel{max-width:100%;padding:0 1rem}
  .om-carousel__head{flex-wrap:wrap;gap:.3rem}
  .om-section-title--left{font-size:1.05rem!important}
  .om-carousel__card{flex-basis:150px;padding:.6rem}
  .om-carousel__name{font-size:.78rem;min-height:0}

  /* BANNIÈRE COLLECTION : empilée, sans image */
  .om-cbanner{grid-template-columns:1fr!important;min-height:0}
  .om-cbanner__img{display:none}
  .om-cbanner__txt{padding:1.6rem 1.3rem}
  .om-cbanner__txt h3{font-size:1.5rem}

  /* MÉGA-MENU -> liste simple dans le menu mobile Astra */
  .fc-mega,.main-header-menu .fc-has-mega .fc-mega{display:none!important}

  /* FILTRES / PASTILLES */
  .fc-clubbar__list,.fc-facets .fc-clubbar__list{gap:.35rem}
  .fc-chip{font-size:.76rem;padding:.35rem .6rem}
  .fc-cat-banner__title{font-size:1.35rem}

  /* FOOTER : 2 colonnes */
  .om-footer{grid-template-columns:1fr 1fr;gap:1.3rem;padding:2rem 1.2rem 1rem}

  /* FICHE PRODUIT : pleine largeur, empilé */
  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce div.product .summary.entry-summary,
  .single-product div.product .related.products{width:100%!important;float:none!important;margin:0 0 1.5rem!important}
  img.zoomImg{max-width:100%!important;height:auto!important}
  .fc-trust{grid-template-columns:1fr 1fr}
  .fc-flocage__players{grid-template-columns:1fr 1fr}
  .fc-flocage__modes{flex-wrap:wrap}
  .fc-flocage__modes button{flex:1 1 30%;font-size:.72rem}
  .fc-bogo-banner strong{font-size:.95rem}
  .fc-size-guide table{font-size:.72rem}

  /* PANIER : colonne unique */
  .woocommerce-cart .cart-collaterals{flex-direction:column;gap:1.2rem}
  .woocommerce-cart .cart_totals,.woocommerce-cart .cross-sells,.fc-cart-cross{max-width:100%!important;width:100%!important}
  .woocommerce-cart table.cart img{width:56px;height:56px}
  .woocommerce-cart .actions .coupon{display:flex;gap:.4rem;flex-wrap:wrap}
  .woocommerce-cart .actions .coupon .input-text{flex:1 1 100%}
  .fc-cart-cross__grid{grid-template-columns:1fr 1fr}

  /* CHECKOUT */
  .woocommerce-checkout #customer_details,.woocommerce-checkout #order_review,
  .woocommerce-checkout #order_review_heading{width:100%!important;float:none!important}

  /* MÉGA drawer cross-sell */
  .fc-drawer__cross-list{gap:.5rem}
}

@media (max-width:480px){
  .om-reassure{grid-template-columns:1fr 1fr!important}
  .om-footer{grid-template-columns:1fr}
  .fc-trust,.fc-flocage__players{grid-template-columns:1fr}
  .om-slide__in h2{font-size:1.5rem}
  .om-hero h1{font-size:1.7rem!important}
  .site-title a{width:132px!important;height:38px!important}
  .woocommerce ul.products li.product .button,.fc-loop-atc__btn{padding:.7em .6em!important}
  .fc-cat-banner__body{padding:1rem}
  .fc-cat-banner__desc{font-size:.85rem}
}

/* bouton panier mobile (header) */
.fc-m-cart{display:none}
@media (max-width:960px){
  .fc-cart-toggle{display:none!important}         /* l'icône du menu primaire (repliée) */
  .fc-m-cart{position:relative;display:inline-flex!important;align-items:center;justify-content:center;
    margin:0 .4rem 0 auto;color:var(--om-ink);width:40px;height:40px}
  .fc-m-cart svg{width:24px;height:24px}
  .fc-m-cart .fc-cart-count{position:absolute;top:-5px;right:-9px;min-width:16px;height:16px;line-height:16px;padding:0 3px;border-radius:8px;background:var(--om-red);color:#fff;font-size:.62rem;font-weight:800;text-align:center}
  .fc-m-cart .fc-cart-count.is-empty{display:none}
}

/* mobile : empêcher tout débordement horizontal des conteneurs, garder les carrousels scrollables à l'intérieur */
@media (max-width:960px){
  .hfeed.site,#page,#content,.site-content,.ast-container,
  .entry-content,.wp-block-group,.wp-block-group.alignwide,.wp-block-group.alignfull,
  .om-block,.woocommerce,.woocommerce-page{max-width:100%!important;overflow-x:clip}
  .om-carousel{overflow:hidden;max-width:100%}
  .om-carousel__track{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .om-cbanner,.fc-cat-banner,.fc-drawer-overlay{max-width:100vw}
}

/* ============ MOBILE : inspiration FC (rangées défilables, achat collant) ============ */
@media (max-width:600px){
  /* Accueil : les sections produits deviennent des rangées à faire défiler */
  .om-block .woocommerce > ul.products,
  .om-block > ul.products{
    display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;gap:.8rem;
    scroll-snap-type:x proximity;padding:0 1rem .6rem;margin-left:-1rem;margin-right:-1rem;
    -webkit-overflow-scrolling:touch;grid-template-columns:none!important;
  }
  .om-block ul.products li.product{flex:0 0 60%!important;max-width:60%;scroll-snap-align:start}
  .om-block ul.products::-webkit-scrollbar{height:4px}
  .om-block ul.products::-webkit-scrollbar-thumb{background:var(--om-line);border-radius:2px}

  /* Pages catégorie / boutique : vraie grille 2 colonnes */
  body.tax-product_cat .woocommerce ul.products,
  body.post-type-archive-product .woocommerce ul.products,
  .woocommerce-page:not(.home) ul.products{display:grid!important;grid-template-columns:1fr 1fr!important;overflow:visible;margin:0!important;padding:0!important}
  body.tax-product_cat ul.products li.product,
  body.post-type-archive-product ul.products li.product{flex:none!important;max-width:none!important}

  /* touch targets confortables */
  .fc-loop-atc select,.fc-loop-atc__btn{min-height:44px}
  .fc-swatch{min-width:46px;min-height:42px;display:inline-flex;align-items:center;justify-content:center}
  .fc-player{padding:.6rem}
  .main-header-menu .menu-link{padding:.9rem 0!important;font-size:.95rem!important}

  /* espace entre sections */
  .om-block{margin-top:2.2rem!important;margin-bottom:2.2rem!important}
  .om-section-title{margin-bottom:1rem!important}

  /* fiche produit : barre d'achat collante */
  .fc-sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:300;background:#fff;border-top:1px solid var(--om-line);
    display:none;gap:.7rem;align-items:center;padding:.55rem .9rem;box-shadow:0 -6px 22px rgba(0,0,0,.1)}
  .fc-sticky-atc.on{display:flex}
  .fc-sticky-atc .fc-sap-price{font-weight:800;font-family:var(--om-serif);white-space:nowrap;font-size:1rem}
  .fc-sticky-atc button{flex:1;border:0;background:var(--om-lime);color:var(--om-ink);font-weight:800;
    text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:1em;font-size:.82rem}
  .single-product.has-sticky-atc{padding-bottom:74px}
}

/* ============ MOBILE : fiche produit façon FC ============ */
@media (max-width:600px){
  /* pas de flex/order : on garde l'ordre naturel image -> résumé -> réassurance -> onglets */
  .single-product div.product{display:block!important}

  /* MAILLOT EN GRAND, plein cadre */
  .single-product div.product .woocommerce-product-gallery{
    width:100vw!important;max-width:100vw!important;margin:0 0 0 calc(50% - 50vw)!important;float:none!important
  }
  /* NE PAS forcer la largeur du wrapper/slide : ca casse le carrousel flexslider */
  .single-product div.product .woocommerce-product-gallery .flex-viewport{width:100%!important}
  .single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img{width:100%!important;height:auto!important;display:block;background:#f4f5f6}
  .single-product div.product .woocommerce-product-gallery__trigger{display:none}

  /* RECTANGLE : titre + prix + taille + flocage + bouton commander */
  .single-product div.product .summary.entry-summary{
    position:relative;z-index:2;width:100%!important;float:none!important;
    margin:-24px 0 0!important;padding:1.4rem 1.1rem 1.5rem!important;
    background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -12px 30px rgba(0,0,0,.09)
  }
  .single-product .summary .product_title{font-size:1.4rem;margin:0 0 .4rem}
  .single-product .summary .price{font-size:1.3rem;margin-bottom:.7rem}
  .single-product .summary > .woocommerce-product-details__short-description{font-size:.86rem;color:#555;margin-bottom:1rem}
  .single-product .summary button.single_add_to_cart_button,
  .single-product .summary .fc-drawer__checkout{width:100%;padding:1.05em!important;font-size:.92rem}

  /* RÉASSURANCE (livraison 48h…) : descendue sous le rectangle */
  .single-product .fc-trust{grid-template-columns:1fr 1fr;gap:.6rem;margin:1.6rem 1rem 0}
  .single-product .fc-size-guide{margin:1rem 1rem 0}
  .single-product .woocommerce-tabs{margin-top:1.6rem}
  .single-product .related.products{margin-top:2rem}
  .single-product.has-sticky-atc{padding-bottom:78px}
}

/* ============ MOBILE : hero facon FC (image + carte blanche en bas) ============ */
@media (max-width:768px){
  .om-slide{align-items:flex-end;background-position:center center!important;
    background-image:var(--bg-m,var(--bg))!important;background-color:var(--om-ink)}
  .om-slide::after,.om-slide__in::before{display:none}
  .om-slide__in{
    width:calc(100% - 2rem);max-width:100%;margin:0 1rem .9rem;
    padding:1rem 1rem 1.1rem;text-align:center;
    background:#fff;border-radius:18px;box-shadow:0 14px 36px rgba(0,0,0,.22)
  }
  .om-slide__kick{color:var(--om-mute);letter-spacing:.16em;font-size:.62rem}
  .om-slide__in h2{
    font-family:"Helvetica Neue",Arial,sans-serif;font-style:normal;color:var(--om-ink);
    font-weight:800;font-size:1.3rem;line-height:1.08;text-transform:uppercase;letter-spacing:-.02em;
    margin:.15rem 0 .35rem;text-shadow:none
  }
  .om-slide__in p{
    font-family:var(--om-serif);font-style:italic;color:#555;
    font-size:.82rem;line-height:1.3;margin:0 0 .8rem;text-shadow:none
  }
  .om-slide__cta{display:inline-block;width:auto;min-width:0;text-align:center;padding:.8em 1.9em;font-size:.72rem}
  .om-slider__dots{bottom:auto;top:.9rem;left:50%;transform:translateX(-50%)}
}

/* ============ CENTRAGE DES SECTIONS ============ */
.om-carousel,.om-cbanner,.om-tiles{margin-left:auto!important;margin-right:auto!important}
.wp-block-group.om-block:not(.alignfull){margin-left:auto!important;margin-right:auto!important}
.om-section-title{text-align:center}
.entry-content > .wp-block-group.alignwide{margin-left:auto!important;margin-right:auto!important}
/* alignfull : on NE touche PAS aux marges (breakout full-width) */
.om-reassure{display:none!important}   /* section livraison/paiement supprimée */

/* ============ ANIMATIONS & MICRO-INTERACTIONS ============ */
@media (prefers-reduced-motion: no-preference){
  .om-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
  .om-reveal.is-in{opacity:1;transform:none}
  .om-reveal.d1{transition-delay:.06s}.om-reveal.d2{transition-delay:.12s}.om-reveal.d3{transition-delay:.18s}.om-reveal.d4{transition-delay:.24s}

  /* cartes produit : hover plus vivant + zoom image */
  .woocommerce ul.products li.product{transition:box-shadow .25s ease,transform .25s ease}
  .woocommerce ul.products li.product img,.om-carousel__media img{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
  .woocommerce ul.products li.product:hover img,.om-carousel__card:hover .om-carousel__media img{transform:scale(1.05)}
  .om-carousel__card{transition:transform .25s ease,box-shadow .25s ease}

  /* boutons : ressort */
  .wp-block-button__link,.woocommerce a.button,.woocommerce button.button,button.single_add_to_cart_button,
  .om-slide__cta,.om-cbanner__cta,.fc-chip{transition:transform .15s cubic-bezier(.34,1.56,.64,1),background .15s ease,color .15s ease,box-shadow .15s ease}
  .wp-block-button__link:active,.woocommerce a.button:active,button.single_add_to_cart_button:active{transform:scale(.97)}

  /* titres de section : trait qui se déploie */
  .om-section-title::after{transition:width .5s ease .1s}
  .om-section-title{overflow:visible}
  .om-block:not(.is-in) .om-section-title::after{width:0}

  /* bannières collection : léger zoom de l'image */
  .om-cbanner__img img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
  .om-cbanner:hover .om-cbanner__img img{transform:scale(1.04)}

  /* header : ombre qui apparaît au scroll */
  .site-header{transition:box-shadow .25s ease}
  body.om-scrolled .site-header{box-shadow:0 6px 24px rgba(10,14,20,.08)}
}

/* ============================================================
 * PREMIUM REFRESH  (direction artistique resserrée)
 * ========================================================== */
:root{
  --om-paper:#faf8f3;
  --om-paper-2:#f2efe8;
  --om-hair:rgba(10,14,20,.09);
  --sp-section:clamp(3.5rem,9vw,8rem);
}
body{background:var(--om-paper)}
.site-content,#primary,.entry-content{background:transparent}

/* rythme vertical ample entre les grandes sections (sans casser alignfull) */
.entry-content > .wp-block-group.om-block{margin-top:var(--sp-section)!important;margin-bottom:var(--sp-section)!important}
.home .entry-content > .wp-block-group.om-block:first-child{margin-top:clamp(2rem,5vw,3.5rem)!important}

/* typo display resserrée */
.om-section-title{letter-spacing:.16em;font-weight:600}
.om-slide__in h2,.om-cbanner__txt h3,.product_title,.fc-cat-banner__title{letter-spacing:-.015em!important}

/* CARTES PRODUIT : filet fin, quasi pas d'ombre, coins nets, image 4:5 */
.woocommerce ul.products li.product{
  border:1px solid var(--om-hair)!important;border-radius:4px!important;
  box-shadow:none!important;background:#fff;padding:0!important;overflow:hidden
}
.woocommerce ul.products li.product > a:first-child,
.woocommerce ul.products li.product .woocommerce-LoopProduct-link{display:block;padding:0}
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img.wp-post-image,
.woocommerce .related ul.products li.product img{
  aspect-ratio:4/5!important;object-fit:contain;background:var(--om-paper-2);border-radius:0!important;margin:0!important
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:.7rem .8rem 0!important;font-size:.9rem;min-height:2.4em}
.woocommerce ul.products li.product .price{padding:.15rem .8rem 0!important;font-size:.9rem}
.woocommerce ul.products li.product .fc-loop-atc{padding:.6rem .8rem .8rem!important;margin-top:auto}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(10,14,20,.09)!important;border-color:transparent!important}
.woocommerce span.onsale{border-radius:0!important;top:0;left:0;padding:.32em .7em}
.woocommerce ul.products li.product .fc-bogo-tag{border-radius:0;top:0;right:0}

/* carrousel : mêmes règles */
.om-carousel__card{border:1px solid var(--om-hair);border-radius:4px;padding:0;overflow:hidden}
.om-carousel__media img{aspect-ratio:4/5;background:var(--om-paper-2);border-radius:0}
.om-carousel__name{padding:.6rem .7rem 0}
.om-carousel__price{padding:.15rem .7rem .7rem}
.om-carousel__promo{border-radius:0;top:0;left:0}

/* bannières / cartes : coins nets, filet au lieu d'ombre */
.fc-cat-banner{border-radius:4px;box-shadow:none;border:1px solid var(--om-hair)}
.om-cbanner{border-radius:6px}
.fc-filterbar,.fc-flocage,.fc-size-guide,.fc-trust li,.fc-bogo-banner{border-radius:4px}

/* header : compact + réactif au scroll */
.site-header{position:sticky;top:0;z-index:120;transition:transform .3s ease,box-shadow .25s ease,background .25s ease}
body.om-hide-header .site-header{transform:translateY(-100%)}
body.om-scrolled .ast-primary-header-bar{padding-top:.35rem!important;padding-bottom:.35rem!important}
body.om-scrolled .site-title a{transform:scale(.9);transition:transform .25s ease}

/* barre d'annonce fermable */
.om-topbar{position:relative}
.om-topbar__x{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:0;color:#fff;opacity:.6;cursor:pointer;font-size:1rem;line-height:1}
.om-topbar__x:hover{opacity:1}
body.om-topbar-hidden .om-topbar{display:none}

/* liens : soulignement animé */
.om-carousel__all,.fc-cat-banner__desc a,.woocommerce-breadcrumb a{position:relative;text-decoration:none}
.om-carousel__all::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1.5px;background:currentColor;transition:right .3s ease}
.om-carousel__all:hover::after{right:0}

/* PDP desktop : mise en page 2 colonnes (flex) + blocs pleine largeur dessous */
@media(min-width:993px){
  .single-product div.product{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0 4%}
  .single-product div.product > .woocommerce-product-gallery{float:none!important;width:48%!important;margin:0!important}
  .single-product div.product > .summary.entry-summary{float:none!important;width:48%!important;margin:0!important;position:sticky;top:96px;align-self:flex-start}
  .single-product div.product > *:not(.woocommerce-product-gallery):not(.summary):not(.ast-onsale-card):not(.ast-on-card-button){flex:0 0 100%;width:100%!important;float:none!important;clear:both}
  .single-product div.product > .fc-trust{margin-top:1.6rem}
  .single-product div.product > .fc-size-guide{margin-top:1rem}
}

/* garde-fou anti-débordement horizontal (toutes tailles) */
html,body{overflow-x:hidden}
.om-carousel{overflow:hidden;max-width:min(1180px,100%)}
.om-carousel__track{width:100%}
.wp-block-group,.entry-content{max-width:100%}

/* ============ BARRE LIVRAISON OFFERTE ============ */
.fc-ship-bar{margin:0 0 1rem;padding:.7rem .9rem;border:1px solid var(--om-hair,rgba(10,14,20,.09));border-radius:4px;background:#fff}
.fc-ship-bar p{margin:0 0 .5rem;font-size:.8rem;line-height:1.35}
.fc-ship-bar.is-done p{color:#1a7a3c}
.fc-ship-bar__track{display:block;height:6px;border-radius:99px;background:var(--om-paper-2,#eee);overflow:hidden}
.fc-ship-bar__fill{display:block;height:100%;background:var(--om-lime,#d4f70b);border-radius:99px;transition:width .5s cubic-bezier(.2,.7,.2,1)}
.fc-ship-bar.is-done .fc-ship-bar__fill{background:#2fb457}
.woocommerce-cart .fc-ship-bar{max-width:520px}

/* ============ MÉGA-MENU : colonne visuelle ============ */
.fc-mega__feat{grid-column:span 1;display:flex;flex-direction:column;text-decoration:none;color:#fff;border-radius:8px;overflow:hidden;position:relative;min-height:220px;background:var(--om-ink)}
.fc-mega__feat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62;transition:transform .4s ease,opacity .4s ease}
.fc-mega__feat:hover img{transform:scale(1.06);opacity:.5}
.fc-mega__feat span{position:relative;margin-top:auto;padding:1rem 1.1rem;font-family:var(--om-serif);font-style:italic;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.fc-mega__feat span::before{content:"";display:block;width:32px;height:3px;background:var(--om-lime);margin-bottom:.4rem}

/* ============ QUICK-ADD : formulaire taille au survol (desktop) ============ */
@media (min-width:993px){
  .woocommerce ul.products li.product .fc-loop-atc{
    position:absolute;left:0;right:0;bottom:0;z-index:6;margin:0!important;
    padding:.7rem .8rem!important;flex-wrap:wrap;gap:.4rem;
    background:#fff;border-top:1px solid var(--om-line);box-shadow:0 -10px 24px rgba(10,14,20,.10);
    opacity:0;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease;pointer-events:none
  }
  .woocommerce ul.products li.product .fc-loop-atc .fc-loop-floc{flex:1 1 100%;order:2}
  .woocommerce ul.products li.product .fc-loop-atc .fc-loop-floc > summary{font-size:.72rem;font-weight:700;color:var(--om-ink);cursor:pointer;padding:.15rem 0}
  .woocommerce ul.products li.product .fc-loop-atc__btn{order:3}
  .woocommerce ul.products li.product .fc-loop-atc select{flex:1 1 100%}
  .woocommerce ul.products li.product .fc-loop-atc__btn{flex:1 1 100%!important}
  .woocommerce ul.products li.product{position:relative}
  .woocommerce ul.products li.product > a:first-child{padding-bottom:0}
  .woocommerce ul.products li.product:hover .fc-loop-atc{opacity:1;transform:none;pointer-events:auto}
}

/* ============ SECTION TEASER "COLLECTION À VENIR" ============ */
.om-teaser{position:relative;min-height:clamp(340px,46vh,520px);display:flex;align-items:center;justify-content:center;
  text-align:center;color:#fff;overflow:hidden;background:var(--om-ink)}
.om-teaser__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4;filter:blur(2px) saturate(.9)}
.om-teaser__in{position:relative;z-index:2;max-width:520px;padding:2rem 1.4rem}
.om-teaser__kick{font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;color:var(--om-lime)}
.om-teaser__in h2{font-family:var(--om-serif);font-style:italic;text-transform:uppercase;font-size:clamp(1.8rem,4.5vw,3rem);line-height:1.05;margin:.5rem 0 .6rem;color:#fff}
.om-teaser__in p{color:#dfe3ea;font-size:.92rem;margin:0 0 1.3rem}
.om-teaser__form{display:flex;gap:.5rem;max-width:380px;margin:0 auto}
.om-teaser__form input{flex:1;border:0;border-radius:999px;padding:.9em 1.2em;font-size:.9rem}
.om-teaser__form button{border:0;border-radius:999px;background:var(--om-lime);color:var(--om-ink);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;padding:0 1.4em;cursor:pointer}
.om-teaser__ok{margin-top:.9rem;font-size:.85rem;color:var(--om-lime)}
@media(max-width:560px){.om-teaser__form{flex-direction:column}.om-teaser__form button{padding:.9em}}

/* ============ 2 GRANDES IMAGES FEMME / ENFANT ============ */
.om-split{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:1180px;margin:0 auto}
.om-split__tile{position:relative;display:block;border-radius:6px;overflow:hidden;aspect-ratio:4/5;background:var(--om-ink);text-decoration:none}
.om-split__tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.om-split__tile:hover img{transform:scale(1.05)}
.om-split__tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.55))}
.om-split__label{position:absolute;left:1.2rem;bottom:1.1rem;z-index:2;color:#fff;font-family:var(--om-serif);font-style:italic;text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:1.15rem}
.om-split__label::before{content:"";display:block;width:38px;height:3px;background:var(--om-lime);margin-bottom:.45rem}
@media(max-width:640px){.om-split{grid-template-columns:1fr}.om-split__tile{aspect-ratio:16/10}}

/* ============ FLOCAGE sur les cartes de l'accueil ============ */
.fc-loop-floc{margin-top:.45rem;border-top:1px dashed var(--om-hair,rgba(10,14,20,.12));padding-top:.4rem}
.fc-loop-floc > summary{cursor:pointer;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#555;list-style:none}
.fc-loop-floc > summary::-webkit-details-marker{display:none}
.fc-loop-floc > summary::before{content:"+ ";color:var(--om-red)}
.fc-loop-floc[open] > summary::before{content:"– "}
.fc-loop-floc__row{display:flex;gap:.4rem;margin-top:.4rem}
.fc-loop-floc__row input{border:1px solid #d0d3d8;border-radius:4px;padding:.4rem .5rem;font-size:.8rem;width:100%;text-transform:uppercase}
.fc-loop-floc__row input[name=fc_floc_num]{max-width:58px}

/* ============ GRILLE DES COLLECTIONS (championnats) ============ */
.om-collections__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:1240px;margin:0 auto
}
.om-collections__tile{
  position:relative;display:block;overflow:hidden;border-radius:6px;background:var(--om-ink);
  aspect-ratio:4/3;text-decoration:none;color:#fff
}
.om-collections__tile.is-feat{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;min-height:100%}
.om-collections__tile img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1)
}
.om-collections__tile:hover img{transform:scale(1.05)}
.om-collections__tile::after{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 35%,rgba(0,0,0,.66))
}
.om-collections__body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.15rem}
.om-collections__label{
  font-family:var(--om-serif);font-style:italic;text-transform:uppercase;letter-spacing:.08em;font-weight:700;
  font-size:1.15rem;line-height:1.1
}
.om-collections__tile.is-feat .om-collections__label{font-size:clamp(1.6rem,3vw,2.4rem)}
.om-collections__label::before{content:"";display:block;width:34px;height:3px;background:var(--om-lime);margin-bottom:.5rem}
.om-collections__count{font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.75)}

@media(max-width:900px){
  .om-collections__grid{grid-template-columns:1fr 1fr}
  .om-collections__tile.is-feat{grid-column:span 2;grid-row:auto;aspect-ratio:16/9}
}
@media(max-width:560px){
  .om-collections__grid{grid-template-columns:1fr;gap:.8rem}
  .om-collections__tile,.om-collections__tile.is-feat{grid-column:auto;aspect-ratio:16/10}
}

/* collections en pleine largeur (comme FC) */
.om-collections-wrap .om-collections__grid{max-width:none;padding:0 clamp(1rem,3vw,2.5rem)}
@media(min-width:1100px){
  .om-collections-wrap .om-collections__tile.is-feat{min-height:640px}
}

/* ============================================================
 * LOT 1 — CORRECTIFS (nav HP, menu, footer, newsletter, barre mobile)
 * ========================================================== */

/* --- 1+3. Rangées produits de l'accueil : DÉFILEMENT HORIZONTAL UNIQUEMENT,
 *          1re carte non rognée (plus de marges négatives) --- */
@media (max-width:960px){
  .om-block .woocommerce > ul.products,
  .om-block > ul.products{
    display:flex!important;flex-wrap:nowrap!important;grid-template-columns:none!important;
    gap:.7rem!important;margin:0!important;padding:.2rem 1rem 1rem!important;
    overflow-x:auto!important;overflow-y:hidden!important;
    scroll-snap-type:x proximity;scroll-padding-left:1rem;
    -webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior-x:contain;
  }
  .om-block .woocommerce > ul.products > li.product,
  .om-block > ul.products > li.product{
    flex:0 0 66%!important;max-width:66%!important;width:66%!important;
    margin:0!important;scroll-snap-align:start;
  }
  .om-block .woocommerce > ul.products > li.product:first-child,
  .om-block > ul.products > li.product:first-child{margin-left:0!important}
}
@media (max-width:480px){
  .om-block .woocommerce > ul.products > li.product,
  .om-block > ul.products > li.product{flex-basis:74%!important;max-width:74%!important;width:74%!important}
}

/* --- 2. Retrait du label « Clubs » (catégorie) affiché sous chaque vignette --- */
.ast-woo-product-category,
.woocommerce ul.products li.product .ast-woo-product-category{display:none!important}

/* --- 4. Fix « il faut cliquer 2 fois » : on retire les boutons de survol Astra
 *        sur les cartes (on garde notre propre sélecteur de taille + badge promo) --- */
.astra-shop-thumbnail-wrap .ast-on-card-button,
.ast-on-card-button.ast-select-options-trigger,
.ast-on-card-button.ast-onsale-card,
.woocommerce ul.products li.product .ast-select-options-trigger,
.woocommerce ul.products li.product .ast-onsale-card{display:none!important}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .ast-loop-product__link{position:relative;z-index:2}

/* --- 5. Espacement entre sections : resserré (fini les trous géants) --- */
:root{--sp-section:clamp(1.75rem,4.5vw,3.25rem)}
.entry-content > .wp-block-group.om-block{margin-top:var(--sp-section)!important;margin-bottom:var(--sp-section)!important}
@media (max-width:600px){
  .om-block{margin-top:1.5rem!important;margin-bottom:1.5rem!important}
  .om-section-title{margin-bottom:1rem!important}
}
/* pagination WooCommerce compacte et centrée */
.woocommerce nav.woocommerce-pagination{margin:1.6rem 0 0;text-align:center}
.woocommerce nav.woocommerce-pagination ul{border:0;display:inline-flex;gap:.3rem}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--om-hair);border-radius:4px;min-width:40px;padding:.55rem .6rem;line-height:1
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--om-ink);color:#fff;border-color:var(--om-ink)}

/* --- 6. « Par championnat » : grille de logos, centrée à toutes tailles --- */
.om-collections{max-width:100%!important;margin-inline:auto!important;padding:0!important}
.om-collections > .om-section-title{text-align:center!important;margin:0 auto 1.3rem!important}
.om-collections__grid,
.om-collections-wrap .om-collections__grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:1rem!important;
  width:100%!important;max-width:1080px!important;
  margin-inline:auto!important;
  padding-inline:1rem!important;
  justify-items:stretch!important;
}
.om-collections__tile,
.om-collections__tile.is-feat{
  grid-column:auto!important;grid-row:auto!important;
  aspect-ratio:1/1!important;min-height:0!important;
  background:#fff!important;border:1px solid var(--om-hair)!important;border-radius:10px!important;overflow:hidden;
}
.om-collections__tile img{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  object-fit:contain!important;object-position:center 42%!important;
  padding:14% 16% 30%!important;background:#fff!important;
}
.om-collections__tile:hover img{transform:none!important}
.om-collections__tile::after{
  background:linear-gradient(180deg,rgba(0,0,0,0) 62%,rgba(0,0,0,.62))!important
}
.om-collections__body{align-items:center!important;text-align:center!important;padding:0 .6rem .8rem!important}
.om-collections__label,
.om-collections__tile.is-feat .om-collections__label{font-size:.92rem!important;color:#fff!important;line-height:1.15}
.om-collections__label::before{margin-inline:auto!important;background:var(--om-red)!important}
.om-collections__count{color:rgba(255,255,255,.85)!important}
@media (max-width:820px){
  .om-collections__grid,.om-collections-wrap .om-collections__grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:560px!important
  }
}
@media (max-width:430px){
  .om-collections__grid,.om-collections-wrap .om-collections__grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.7rem!important;max-width:100%!important
  }
  .om-collections__tile img{padding:12% 12% 26%!important}
  .om-collections__label{font-size:.82rem!important}
}

/* --- 7. Bandeau « Collection Rétro » : pleine largeur d'écran --- */
.entry-content .wp-block-group.alignfull:has(.om-cbanner--retro){padding-left:0!important;padding-right:0!important}
.om-cbanner--retro{max-width:none;border-radius:0}
@media (min-width:781px){
  .om-cbanner--retro{grid-template-columns:1.15fr .85fr;min-height:360px}
}

/* --- 8. Section Newsletter (ex-teaser) : centrage complet --- */
.om-teaser{display:flex!important;align-items:center;justify-content:center;text-align:center}
.om-teaser__in{margin-left:auto!important;margin-right:auto!important;width:100%;max-width:560px}
.om-teaser__in h2,.om-teaser__in p,.om-teaser__kick{text-align:center}
.om-teaser__form{margin-left:auto;margin-right:auto}

/* --- 9. Menu principal + méga-menu : plus compacts --- */
.main-header-menu > .menu-item > .menu-link{padding-left:.6rem!important;padding-right:.6rem!important;font-size:.78rem!important}
.ast-nav-menu > .menu-item{margin:0!important}
.fc-mega{gap:1.1rem!important;padding:1.2rem clamp(1rem,3vw,1.8rem)!important}
.fc-mega__col a{padding:.3rem 0!important;font-size:.82rem!important}
.fc-mega__h{margin-bottom:.4rem;padding-bottom:.3rem}

/* --- 10. TIROIR MENU MOBILE (slide-in gauche) --- */
.fc-mdrawer-overlay{position:fixed;inset:0;background:rgba(10,14,20,.5);z-index:600;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.fc-mdrawer-overlay.on{opacity:1;visibility:visible}
.fc-mdrawer{
  position:fixed;top:0;left:0;height:100%;width:min(86vw,360px);background:#fff;z-index:601;
  transform:translateX(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;box-shadow:6px 0 40px rgba(0,0,0,.22);
}
.fc-mdrawer.on{transform:translateX(0)}
.fc-mdrawer__head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.1rem;border-bottom:1px solid var(--om-hair,rgba(10,14,20,.09))}
.fc-mdrawer__head span{font-family:var(--om-serif);font-style:italic;font-weight:800;font-size:1.05rem}
.fc-mdrawer__head button{background:none;border:0;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--om-ink)}
.fc-mdrawer__body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.2rem 0 1rem}
.fc-mdrawer a{display:block;text-decoration:none;color:var(--om-ink)}
.fc-mdrawer__lnk{padding:.9rem 1.1rem;font-size:1rem;font-weight:600;border-bottom:1px solid rgba(0,0,0,.05)}
.fc-mdrawer__lnk:active{color:var(--om-red)}
.fc-mdrawer__sec{padding:1.1rem 1.1rem .35rem;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--om-mute)}
.fc-mdrawer__grp>summary{list-style:none;cursor:pointer;padding:.9rem 1.1rem;font-size:1rem;font-weight:600;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(0,0,0,.05)}
.fc-mdrawer__grp>summary::-webkit-details-marker{display:none}
.fc-mdrawer__grp>summary::after{content:"+";font-weight:400;font-size:1.35rem;line-height:1;color:var(--om-red)}
.fc-mdrawer__grp[open]>summary::after{content:"\2013"}
.fc-mdrawer__grp ul{list-style:none;margin:0;padding:0;background:var(--om-paper-2,#f2efe8)}
.fc-mdrawer__grp ul a{padding:.72rem 1.1rem .72rem 2rem;font-size:.92rem;border-bottom:1px solid rgba(0,0,0,.04)}
.fc-mdrawer__foot{border-top:1px solid var(--om-hair,rgba(10,14,20,.09));padding:.3rem 0}
.fc-mdrawer__foot a{padding:.85rem 1.1rem;font-size:.95rem;font-weight:700}
@media (min-width:961px){.fc-mdrawer,.fc-mdrawer-overlay{display:none}}
/* on neutralise le menu inline Astra sur mobile (remplacé par le tiroir) */
@media (max-width:960px){
  #ast-hf-mobile-menu,
  #ast-mobile-header .main-header-bar-navigation,
  .ast-mobile-header-content .main-header-bar-navigation{display:none!important}
}

/* --- 11. Footer étoffé --- */
.om-footer{grid-template-columns:1.5fr repeat(4,1fr) 1.7fr;align-items:start}
.om-footer__col h4,.om-footer__news h4{color:#fff;font-family:var(--om-serif);font-size:.95rem;margin:0 0 .7rem}
.om-footer__brand .om-footer__logo{font-family:var(--om-serif);font-style:italic;font-weight:800;font-size:1.3rem;color:#fff;letter-spacing:.02em}
.om-footer__brand .om-footer__logo b{color:#fff;font-style:normal}
.om-footer__brand p{font-size:.82rem;line-height:1.5;margin:.7rem 0}
.om-footer__social{display:flex;gap:.9rem;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.om-footer__news p{font-size:.8rem;line-height:1.5;margin:0 0 .7rem}
.om-footer__news p b{color:var(--om-lime)}
.om-footer__news-form{display:flex;gap:.4rem;flex-wrap:wrap}
.om-footer__news-form input{flex:1 1 150px;min-width:0;border:0;border-radius:6px;padding:.7rem .8rem;font-size:.85rem}
.om-footer__news-form button{border:0;border-radius:6px;background:var(--om-lime);color:var(--om-ink);font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;padding:0 1rem;cursor:pointer}
.om-footer__pay{border-top:1px solid rgba(255,255,255,.12);text-align:center;padding:1rem;font-size:.78rem;color:#c9cfda}
.om-footer__pay span{font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-right:.5rem}
.om-footer__pay em{font-style:normal;color:#8b93a3}
@media (max-width:1024px){
  .om-footer{grid-template-columns:1fr 1fr 1fr}
  .om-footer__brand,.om-footer__news{grid-column:span 3}
}
@media (max-width:600px){
  .om-footer{grid-template-columns:1fr 1fr}
  .om-footer__brand,.om-footer__news{grid-column:span 2}
}
@media (max-width:480px){
  .om-footer{grid-template-columns:1fr}
  .om-footer__brand,.om-footer__news,.om-footer__col{grid-column:auto}
}

/* --- 12. Barre de navigation basse (mobile) --- */
.fc-tabbar{display:none}
#fc-search-ov{position:fixed;inset:0;z-index:10000;background:rgba(10,14,20,.55);display:none;align-items:flex-start;justify-content:center;padding:14vh 1rem 0}
#fc-search-ov.on{display:flex}
#fc-search-ov form{width:100%;max-width:520px;display:flex;gap:.4rem;background:#fff;border-radius:8px;padding:.5rem;box-shadow:0 20px 50px rgba(0,0,0,.3)}
#fc-search-ov input{flex:1;border:0;padding:.8rem;font-size:1rem;outline:0;background:transparent;color:var(--om-ink)}
#fc-search-ov button{border:0;background:var(--om-lime);color:var(--om-ink);font-weight:800;border-radius:6px;padding:0 1rem;cursor:pointer}
#fc-search-ov button[data-fc-search-close]{background:transparent;font-size:1.4rem;padding:0 .6rem;color:var(--om-mute)}
@media (max-width:960px){
  .fc-tabbar{
    position:fixed;left:0;right:0;bottom:0;z-index:400;display:flex;
    justify-content:space-around;align-items:stretch;
    background:#fff;border-top:1px solid var(--om-hair);
    padding:.3rem .25rem calc(.3rem + env(safe-area-inset-bottom,0px));
    box-shadow:0 -4px 20px rgba(10,14,20,.08);
  }
  .fc-tabbar a{
    flex:1;display:flex;flex-direction:column;align-items:center;gap:.15rem;
    padding:.4rem 0;text-decoration:none;color:var(--om-ink);position:relative;
    font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;
  }
  .fc-tabbar a svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8}
  .fc-tabbar a:active{color:var(--om-red)}
  .fc-tabbar__badge{
    position:absolute;top:.1rem;left:calc(50% + .35rem);min-width:15px;height:15px;line-height:15px;
    padding:0 3px;border-radius:8px;background:var(--om-red);color:#fff;font-size:.56rem;font-weight:800;text-align:center;
  }
  .fc-tabbar__badge.is-empty{display:none}
  body{padding-bottom:58px}
  .single-product.has-sticky-atc .fc-tabbar{display:none}
}

/* ============================================================
 * LOT 2 — « Complète ta commande » en slider + produits similaires élargis
 * ========================================================== */

/* --- Tiroir panier : slider cross-sell (plus de 3, défile) --- */
.fc-drawer__cross-list{
  scroll-snap-type:x proximity;gap:.6rem;padding-bottom:.5rem;
  -webkit-overflow-scrolling:touch;scroll-padding-left:.2rem;
}
.fc-drawer__cross-list::-webkit-scrollbar{height:4px}
.fc-drawer__cross-list::-webkit-scrollbar-thumb{background:var(--om-line);border-radius:2px}
.fc-drawer__cross-card{flex:0 0 116px;scroll-snap-align:start}
.fc-drawer__cross-card img{width:116px;height:116px}

/* --- Page panier : « Complète ta commande » = slider horizontal --- */
.fc-cart-cross{margin:2rem 0 0;width:100%}
.fc-cart-cross h2{font-family:var(--om-serif);font-style:italic;text-transform:uppercase;letter-spacing:.08em;font-size:1.1rem;margin:0 0 1rem}
.fc-cart-cross__grid{
  display:flex!important;flex-wrap:nowrap;gap:.9rem;overflow-x:auto;
  scroll-snap-type:x proximity;padding-bottom:.7rem;-webkit-overflow-scrolling:touch;
}
.fc-cart-cross__grid::-webkit-scrollbar{height:6px}
.fc-cart-cross__grid::-webkit-scrollbar-thumb{background:var(--om-line);border-radius:3px}
.fc-cart-cross__card{
  flex:0 0 168px;scroll-snap-align:start;display:flex;flex-direction:column;
  border:1px solid var(--om-hair);border-radius:6px;overflow:hidden;text-decoration:none;color:var(--om-ink);
  transition:box-shadow .15s ease,transform .15s ease;
}
.fc-cart-cross__card:hover{box-shadow:0 10px 26px rgba(10,14,20,.1);transform:translateY(-3px)}
.fc-cart-cross__card img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:var(--om-paper-2)}
.fc-cart-cross__name{display:block;font-size:.78rem;font-weight:600;line-height:1.25;padding:.5rem .6rem 0}
.fc-cart-cross__price{display:block;font-size:.82rem;font-weight:700;padding:.15rem .6rem .6rem}
.fc-cart-cross__price del{color:var(--om-mute);font-weight:400;margin-right:.3em}
.fc-cart-cross__price ins{text-decoration:none}
@media (max-width:600px){ .fc-cart-cross__card{flex-basis:44%} }

/* --- Fiche produit : produits similaires / upsells en slider sur mobile --- */
@media (max-width:600px){
  .single-product .related.products ul.products,
  .single-product .up-sells ul.products{
    display:flex!important;flex-wrap:nowrap!important;grid-template-columns:none!important;
    overflow-x:auto;overflow-y:hidden;gap:.7rem;padding:.2rem 1rem 1rem;margin:0!important;
    scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior:contain;
  }
  .single-product .related.products ul.products li.product,
  .single-product .up-sells ul.products li.product{
    flex:0 0 62%!important;max-width:62%!important;width:62%!important;margin:0!important;scroll-snap-align:start;
  }
}

/* ============================================================
 * FIX MOBILE — centrage des sections pleine largeur
 *   (Newsletter, Par championnat, bandeau Rétro)
 * ========================================================== */
@media (max-width:960px){
  /* neutralise le "breakout" alignfull qui décale le contenu sur mobile */
  .entry-content .wp-block-group.alignfull.om-block{
    margin-left:0 !important; margin-right:0 !important;
    width:100% !important; max-width:100% !important;
    padding-left:0 !important; padding-right:0 !important;
    overflow-x:clip;
  }

  /* --- Newsletter (ex-teaser) --- */
  .om-teaser{width:100% !important; padding-inline:1rem !important; text-align:center !important}
  .om-teaser__in{
    margin-inline:auto !important; max-width:520px !important; width:100% !important;
    display:flex !important; flex-direction:column; align-items:center; text-align:center !important;
    padding-inline:0 !important;
  }
  .om-teaser__in h2,.om-teaser__in p,.om-teaser__kick{width:100%; text-align:center !important}
  .om-teaser__form{width:100% !important; max-width:340px !important; margin-inline:auto !important}
  .om-teaser__form input{width:100%}

  /* --- Par championnat --- */
  .om-collections{width:100% !important; padding-inline:0 !important; margin-inline:auto !important}
  .om-collections > .om-section-title{width:100%; text-align:center !important; margin-inline:auto !important}
  .om-collections__grid,
  .om-collections-wrap .om-collections__grid{
    margin-inline:auto !important; padding-inline:1rem !important;
    justify-content:center !important; justify-items:stretch !important;
  }

  /* --- Bandeau Rétro : plein cadre + centré --- */
  .om-cbanner{width:100% !important; margin-inline:auto !important}
  .om-cbanner--retro{border-radius:0 !important}
}

/* ============================================================
 * FIX FINAL — espacement des sections + centrage (toutes tailles)
 *   cause : Astra applique padding:3em (--wp--custom--ast-default-block-*-padding)
 *   sur CHAQUE .wp-block-group => ~96px de vide entre sections + décalage
 * ========================================================== */

/* 1) on supprime le padding de bloc Astra sur nos sections */
.entry-content > .wp-block-group.om-block,
.entry-content > .wp-block-group.om-collections-wrap{
  padding-top:0 !important;
  padding-bottom:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* 2) rythme vertical unique et serré, piloté au seul niveau margin */
:root{--sp-section:2.25rem}
.entry-content > .wp-block-group.om-block{
  margin-top:var(--sp-section) !important;
  margin-bottom:var(--sp-section) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.home .entry-content > .wp-block-group.om-block:first-child{margin-top:1rem !important}
.home .entry-content > .wp-block-group.om-block:last-child{margin-bottom:0 !important}

@media (max-width:768px){
  :root{--sp-section:1.4rem}
  .entry-content > .wp-block-group.om-block{
    margin-top:1.4rem !important;
    margin-bottom:1.4rem !important;
  }
  /* full-width : pas de "breakout", juste 100% de la largeur dispo, centré */
  .entry-content > .wp-block-group.alignfull.om-block,
  .entry-content > .wp-block-group.alignwide.om-block{
    margin-left:0 !important;
    margin-right:0 !important;
    width:100% !important;
    max-width:100% !important;
  }

  /* --- « Par championnat » : grille 2 colonnes, strictement centrée --- */
  .om-collections{width:100% !important;max-width:100% !important;margin:0 !important;padding:0 !important}
  .om-collections > .om-section-title{
    width:100% !important;text-align:center !important;margin:0 auto .9rem !important;padding:0 1rem !important
  }
  .om-collections__grid,
  .om-collections-wrap .om-collections__grid{
    display:grid !important;
    grid-template-columns:repeat(2,1fr) !important;
    gap:.6rem !important;
    width:100% !important;max-width:420px !important;
    margin:0 auto !important;
    padding:0 1rem !important;
  }
  .om-collections__tile,
  .om-collections__tile.is-feat{aspect-ratio:1/1 !important;grid-column:auto !important;grid-row:auto !important}

  /* --- Newsletter : bloc centré, colonne --- */
  .om-teaser{
    width:100% !important;max-width:100% !important;margin:0 !important;
    min-height:0 !important;padding:2.4rem 1.1rem !important;
    display:flex !important;flex-direction:column;align-items:center;justify-content:center;text-align:center !important;
  }
  .om-teaser__in{
    width:100% !important;max-width:440px !important;margin:0 auto !important;padding:0 !important;
    display:flex !important;flex-direction:column;align-items:center;text-align:center !important;
  }
  .om-teaser__in > *{width:100%;text-align:center !important;margin-left:auto !important;margin-right:auto !important}
  .om-teaser__form{max-width:320px !important}

  /* --- Rétro : pleine largeur dispo --- */
  .om-cbanner,.om-cbanner--retro{width:100% !important;max-width:100% !important;margin:0 !important;border-radius:0 !important}
}

/* --- Bannière principale (slider) : grande sur mobile, façon FC --- */
@media (max-width:768px){
  .om-slider,.om-slider__track{min-height:0 !important}
  .om-slider__track{height:60vh !important}
  .om-slide{min-height:0 !important;background-size:cover !important;background-position:center center !important;background-repeat:no-repeat !important}
  .om-slide__in h2{font-size:1.3rem}
  .om-slide__in p{font-size:.82rem}
}

/* --- Bandeau Rétro (version texte+image) : afficher la photo AUSSI sur mobile --- */
@media (max-width:782px){
  .om-cbanner--retro:not(.om-cbanner--min){display:flex !important;flex-direction:column;min-height:0}
  .om-cbanner--retro:not(.om-cbanner--min) .om-cbanner__img{display:block !important;order:-1;width:100%;position:static}
  .om-cbanner--retro:not(.om-cbanner--min) .om-cbanner__img img{
    position:static !important;inset:auto !important;width:100% !important;height:auto !important;
    object-fit:cover;padding:0 !important;filter:none !important;display:block
  }
  .om-cbanner--retro:not(.om-cbanner--min) .om-cbanner__txt{padding:1.4rem 1.2rem}
}

/* --- Bandeau Rétro minimal : bouton centré, collé en bas (toutes tailles) --- */
.om-cbanner--retro.om-cbanner--min{
  flex-direction:row !important;
  align-items:flex-end !important;
  justify-content:center !important;
  text-align:center;
}

/* ============================================================
 * Bandeau Rétro minimal (image + bouton) + Newsletter full-wide
 * + image de fond continue Newsletter -> Footer
 * ========================================================== */

/* --- Rétro : image plein cadre + bouton "Voir la collection" --- */
.om-cbanner--min{
  display:flex;align-items:flex-end;justify-content:center;text-decoration:none;
  min-height:clamp(220px,32vw,360px);position:relative;overflow:hidden;
  padding-bottom:clamp(1.2rem,3vw,2rem);
  background:var(--om-ink) var(--img,none) center/cover no-repeat;border-radius:6px;
}
.om-cbanner--min .om-cbanner__cta{
  position:relative;z-index:2;background:var(--om-lime);color:var(--om-ink);
  font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;
  padding:.95em 2em;border-radius:999px;transition:background .15s ease,transform .15s ease;
}
.om-cbanner--min:hover .om-cbanner__cta{background:var(--om-lime-d);transform:translateY(-1px)}
.om-cbanner--retro.om-cbanner--min{border-radius:0;max-width:none}
@media (max-width:782px){ .om-cbanner--min{min-height:190px} }

/* --- Rétro + Newsletter : vrai plein écran (le conteneur est .ast-separate-container) --- */
.entry-content .wp-block-group.alignfull:has(.om-cbanner--retro),
.entry-content .wp-block-group.alignfull:has(.om-teaser){
  width:100vw !important;max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important;
  padding:0 !important;overflow:hidden;
}
/* newsletter collée au footer (fond continu) */
.entry-content > .wp-block-group.alignfull:has(.om-teaser){margin-bottom:0 !important}

/* --- Newsletter : pleine largeur, fond sombre --- */
.om-teaser{
  position:relative;overflow:hidden;background:var(--om-ink);
  min-height:0 !important;
  padding:clamp(2.6rem,6vw,4.2rem) 1rem !important;
  display:flex;align-items:center;justify-content:center;text-align:center;
}
.om-teaser__bg{display:none !important}                 /* on remplace l'<img> par un fond CSS continu */
.om-teaser__in{position:relative;z-index:2;margin-inline:auto !important}

/* --- Image de fond FLOUTÉE continue : de la Newsletter jusqu'au bas du Footer --- */
.om-teaser::before,
.om-footer-wrap::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:var(--fc-nl-bg,none) center center/cover no-repeat;
  background-attachment:fixed;
  filter:blur(9px) saturate(.8) brightness(.45);
  transform:scale(1.14);
}
.om-teaser::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(10,14,20,.5),rgba(10,14,20,.7));
}
.om-footer-wrap{position:relative;overflow:hidden;background:transparent !important}
.om-footer-wrap > *{position:relative;z-index:2}
.om-footer-wrap::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(10,14,20,.72),rgba(10,14,20,.9));
}

/* ============================================================
 * FULL-BLEED accueil (aucune bande blanche G/D) + footer menus/sous-menus
 * ========================================================== */

/* 1) neutralise la "carte" Astra (.ast-separate-container) sur l'accueil
 *    => les sections peuvent aller bord à bord */
.home .ast-article-single,
.page-id-25 .ast-article-single{
  padding:0 !important;background:transparent !important;
  box-shadow:none !important;border:0 !important;border-radius:0 !important;
}
.home #content > .ast-container,
.page-id-25 #content > .ast-container{
  padding-left:0 !important;padding-right:0 !important;max-width:100% !important;
}
.home #primary,.page-id-25 #primary,
.home #main,.page-id-25 #main{padding:0 !important;margin:0 !important}
.home .entry-content,.page-id-25 .entry-content{max-width:100% !important}

/* 2) la bannière du haut (slider) en pleine largeur */
.home .entry-content > .om-slider,
.entry-content > .om-slider{
  width:100vw !important;max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important;
}

/* 3) sections alignwide/alignfull : centrées, contenu interne qui respire */
.home .entry-content > .wp-block-group.alignwide.om-block{
  max-width:1180px !important;margin-left:auto !important;margin-right:auto !important;
  padding-left:1rem !important;padding-right:1rem !important;
}
@media (min-width:1220px){
  .home .entry-content > .wp-block-group.alignwide.om-block{padding-left:0 !important;padding-right:0 !important}
}

/* 4) Retro + Newsletter : vraiment 100vw, zéro marge blanche */
.entry-content .wp-block-group.alignfull:has(.om-cbanner--retro),
.entry-content .wp-block-group.alignfull:has(.om-teaser),
.home .entry-content > .om-slider{overflow:hidden}
.om-cbanner--retro.om-cbanner--min{width:100vw !important;max-width:100vw !important;margin-left:calc(50% - 50vw) !important;border-radius:0 !important}
.om-teaser{width:100% !important}

/* ============ FOOTER : menus + sous-menus ============ */
.om-footer{
  grid-template-columns:1.7fr repeat(4,1fr) !important;
  max-width:1180px;gap:1.4rem 1.8rem !important;padding:2.8rem 1.4rem 1.6rem !important;
}
.om-footer__col h4{color:#fff;font-family:var(--om-serif);font-size:1rem;margin:0 0 .6rem}
.om-footer__sub{
  display:block;margin:.9rem 0 .3rem;font-size:.66rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.14em;color:var(--om-lime)
}
.om-footer__col ul{list-style:none;margin:0 0 .2rem;padding:0}
.om-footer__col li{margin:.28rem 0;font-size:.85rem}
.om-footer__col li a{color:#c9cfda;text-decoration:none}
.om-footer__col li a:hover{color:var(--om-lime)}
@media (max-width:1024px){
  .om-footer{grid-template-columns:1fr 1fr 1fr !important}
  .om-footer__brand{grid-column:span 3}
}
@media (max-width:600px){
  .om-footer{grid-template-columns:1fr 1fr !important;padding:2rem 1.2rem 1.2rem !important}
  .om-footer__brand{grid-column:span 2}
}
@media (max-width:430px){
  .om-footer{grid-template-columns:1fr !important}
  .om-footer__brand{grid-column:auto}
}

/* ============ FOOTER : accordéons (tiroir) ============ */
.om-footer__col{display:flex;flex-direction:column;gap:.2rem}
.om-footer__acc{border-bottom:1px solid rgba(255,255,255,.1)}
.om-footer__acc>summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;
  padding:.85rem 0;
  color:#fff;font-family:var(--om-serif);font-size:1rem;font-weight:700;
}
.om-footer__acc>summary::-webkit-details-marker{display:none}
.om-footer__acc>summary::after{content:"+";font-family:inherit;font-weight:400;font-size:1.3rem;line-height:1;color:var(--om-lime)}
.om-footer__acc[open]>summary::after{content:"\2013"}
.om-footer__acc>ul{list-style:none;margin:0;padding:0 0 .8rem}
.om-footer__acc>ul li{margin:.15rem 0;font-size:.86rem}
.om-footer__acc>ul li a{display:block;padding:.28rem 0;color:#c9cfda;text-decoration:none}
.om-footer__acc>ul li a:hover{color:var(--om-lime)}

/* Desktop : tout ouvert, plus de bouton (accordéon = mobile uniquement) */
@media (min-width:769px){
  .om-footer__acc>ul{display:block !important;padding-bottom:.4rem}
  .om-footer__acc{border-bottom:0}
  .om-footer__acc>summary{cursor:default;padding:0 0 .5rem}
  .om-footer__acc>summary::after{display:none}
}

/* ============ GALERIE PRODUIT multi-images (prête façon FC) ============ */
/* mobile : slider plein cadre (flexslider natif) + pastilles de vignettes */
@media (max-width:600px){
  .single-product .woocommerce-product-gallery .flex-control-thumbs{
    display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;
    list-style:none;margin:0;padding:.6rem 1rem .2rem;
  }
  .single-product .woocommerce-product-gallery .flex-control-thumbs li{flex:0 0 58px}
  .single-product .woocommerce-product-gallery .flex-control-thumbs img{
    width:58px;height:58px;object-fit:contain;background:#f4f5f6;border-radius:6px;
    border:1px solid var(--om-hair,rgba(10,14,20,.1));opacity:.55;
  }
  .single-product .woocommerce-product-gallery .flex-control-thumbs .flex-active,
  .single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--om-ink)}
}
/* desktop : bande de vignettes sous l'image principale */
@media (min-width:993px){
  .single-product .woocommerce-product-gallery .flex-control-thumbs{
    display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.7rem;padding:0;list-style:none;
  }
  .single-product .woocommerce-product-gallery .flex-control-thumbs li{flex:0 0 calc(25% - .5rem)}
  .single-product .woocommerce-product-gallery .flex-control-thumbs img{
    width:100%;aspect-ratio:1;object-fit:contain;background:var(--om-paper-2,#f2efe8);
    border-radius:6px;border:1px solid var(--om-hair,rgba(10,14,20,.1));opacity:.6;cursor:pointer;
  }
  .single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--om-ink)}
}


/* ============ LOGO CENTRE DANS LA BARRE D'EN-TETE ============ */
#masthead .ast-primary-header-bar .site-primary-header-wrap,
#masthead .ast-primary-header-bar .ast-builder-grid-row,
#ast-mobile-header .ast-primary-header-bar{position:relative}
#masthead .ast-primary-header-bar .site-branding{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  z-index:4;margin:0;width:auto
}
#masthead .ast-primary-header-bar .site-header-primary-section-left{min-width:0;flex:0 0 auto}


/* ============ HP : sections produits (PC = 4x2 + Voir plus / MOBILE = slider) ============ */
@media (min-width:993px){
  .home .entry-content .om-block .woocommerce,
  .home .entry-content .om-block .woocommerce > ul.products,
  .home .entry-content .om-block > ul.products{
    max-width:1140px !important;margin-left:auto !important;margin-right:auto !important;
    padding-left:1.5rem !important;padding-right:1.5rem !important;
  }
  .home .entry-content .om-block .woocommerce > ul.products,
  .home .entry-content .om-block > ul.products{
    display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:1.4rem !important;
  }
  .home .entry-content .om-block ul.products li.product{
    width:auto !important;max-width:none !important;min-width:0 !important;margin:0 !important;float:none !important;
  }
  .home .entry-content .om-block ul.products li.product.is-hidden-more{display:none !important}
}

/* bouton Voir plus */
.om-voirplus{
  display:block;margin:1.6rem auto 0;padding:.9em 2.4em;
  background:var(--om-ink);color:#fff;border:0;border-radius:999px;
  font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;cursor:pointer;
  transition:transform .12s ease,background .12s ease;
}
.om-voirplus:hover{background:#000;transform:translateY(-1px)}

/* MOBILE : slider infini */
@media (max-width:992px){
  .home .entry-content .om-block .woocommerce > ul.products,
  .home .entry-content .om-block > ul.products{
    display:flex !important;flex-wrap:nowrap !important;gap:.6rem !important;
    overflow-x:auto !important;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;padding:0 1rem .4rem !important;margin:0 !important;
  }
  .home .entry-content .om-block ul.products::-webkit-scrollbar{display:none}
  .home .entry-content .om-block ul.products li.product{
    flex:0 0 46% !important;max-width:46% !important;width:46% !important;
    min-width:0 !important;margin:0 !important;padding:.5rem !important;
    border-radius:8px !important;
  }
  .home .entry-content .om-block ul.products li.product.is-hidden-more{display:flex !important}
  .home .entry-content .om-block ul.products li.product .woocommerce-loop-product__title{
    font-size:.74rem !important;min-height:2.4em !important;padding-top:.3rem !important;line-height:1.25 !important
  }
  .home .entry-content .om-block ul.products li.product .price{font-size:.76rem !important}
  .home .entry-content .om-block ul.products li.product .fc-bogo-tag{font-size:.54rem;padding:.2em .4em;top:7px;right:7px}
  .home .entry-content .om-block ul.products li.product .button,
  .home .entry-content .om-block ul.products li.product .fc-loop-atc__btn{font-size:.62rem !important;padding:.55em .5em !important}
  .om-voirplus{display:none !important}
}
@media (max-width:560px){
  .home .entry-content .om-block ul.products li.product{flex-basis:60% !important;max-width:60% !important;width:60% !important}
}


/* aide ajout panier + maillot offert */
.fc-atc-hint{
  display:none;margin:.2rem 0 .8rem;padding:.6rem .8rem;
  background:#fff6e5;border:1px solid #f0d69a;border-radius:8px;
  font-size:.82rem;color:#8a6d1f;line-height:1.35;text-align:center;
}
.fc-atc-hint.is-on{display:block}
a.button.fc-pick-free{
  display:block;width:100%;box-sizing:border-box;text-align:center;
  margin:1rem 0 .5rem;padding:1em 1.4em!important;font-size:.82rem!important;
}
@media (min-width:783px){ a.button.fc-pick-free{width:auto;display:inline-block} }

.fc-drawer__nudge .fc-drawer__pickfree{display:block;margin-top:.6rem;padding:.7em 1em!important;font-size:.72rem!important;text-align:center}

/* prix + titre cartes produit : toujours centres (promo ou non) */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce ul.products li.product .astra-shop-summary-wrap,
.woocommerce ul.products li.product .price{
  text-align:center !important;
}
.woocommerce ul.products li.product .price{display:block !important;width:100%}
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price del{display:inline-block}

/* =========================================================
 * RETOUCHES : retro non-crop + espacement produits + championnat slider
 * ========================================================= */

/* --- Bandeau retro : pleine largeur, JAMAIS croper (ratio image 1376x768) --- */
.om-cbanner--retro.om-cbanner--min{
  min-height:0 !important;
  aspect-ratio:1376 / 768;
  background-size:contain !important;
  background-position:center !important;
  background-color:#2a1a0c !important;
}
@media (max-width:782px){
  .om-cbanner--retro.om-cbanner--min{aspect-ratio:1376 / 768;min-height:0 !important}
}

/* --- Sections produits PC : un peu plus larges + plus d'air entre les cartes --- */
@media (min-width:993px){
  .home .entry-content .om-block .woocommerce,
  .home .entry-content .om-block .woocommerce > ul.products,
  .home .entry-content .om-block > ul.products{
    max-width:1320px !important;padding-left:2rem !important;padding-right:2rem !important;
  }
  .home .entry-content .om-block .woocommerce > ul.products,
  .home .entry-content .om-block > ul.products{
    gap:2rem !important;
  }
}

/* --- "Par championnat" : slider pleine largeur --- */
.om-collections{max-width:100% !important;padding:0 !important}
.om-collections > .om-section-title{max-width:1320px;margin:0 auto 1.3rem !important}
.home .entry-content .om-collections__grid,
.om-collections__grid{
  display:flex !important;flex-wrap:nowrap !important;grid-template-columns:none !important;
  gap:1rem !important;overflow-x:auto !important;overflow-y:hidden;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;touch-action:pan-x;
  width:100vw !important;max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important;
  padding:.2rem clamp(1rem,4vw,3rem) 1rem !important;
  scrollbar-width:none;
}
.om-collections__grid::-webkit-scrollbar{display:none}
.om-collections__tile,
.om-collections__tile.is-feat{
  grid-column:auto !important;grid-row:auto !important;
  flex:0 0 clamp(240px,26vw,360px) !important;width:clamp(240px,26vw,360px) !important;
  aspect-ratio:4/3 !important;min-height:0 !important;scroll-snap-align:start;
}
@media (max-width:600px){
  .om-collections__tile,.om-collections__tile.is-feat{flex-basis:70% !important;width:70% !important}
}

/* =========================================================
 * ANIMATION DE FOND : lignes de terrain qui defilent (tres subtil)
 * ========================================================= */
body::before{
  content:"";
  position:fixed;
  inset:-80px;
  z-index:-1;
  pointer-events:none;
  background-image:repeating-linear-gradient(45deg,
    rgba(10,14,20,.045) 0 2px,
    transparent 2px 28px);
  animation:om-pitch 40s linear infinite;
  will-change:transform;
}
@keyframes om-pitch{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-28px,28px,0)}
}
@media (prefers-reduced-motion:reduce){
  body::before{animation:none}
}

/* cartes produit : bien detachees du fond anime */
.woocommerce ul.products li.product{
  background:#fff !important;
  box-shadow:0 6px 22px rgba(10,14,20,.10), 0 1px 3px rgba(10,14,20,.06);
  border-color:transparent !important;
}
.woocommerce ul.products li.product:hover{
  box-shadow:0 16px 40px rgba(10,14,20,.16) !important;
}
.home .entry-content .om-block ul.products li.product .woocommerce-loop-product__title,
.home .entry-content .om-block ul.products li.product .price{background:transparent}

/* fleches semi-transparentes sur les sliders (mobile) */
.om-arrow{
  position:absolute;top:44%;transform:translateY(-50%);z-index:8;
  width:40px;height:40px;border:0;border-radius:50%;
  background:rgba(10,14,20,.34);color:#fff;font-size:1.4rem;line-height:1;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
  transition:background .15s ease,opacity .15s ease;
}
.om-arrow:active{background:rgba(10,14,20,.55)}
.om-arrow--prev{left:6px}
.om-arrow--next{right:6px}
@media (min-width:993px){.om-arrow{display:none}}
