/* ============================================================
   JOUET MAROC — modern minimal trust-blue boutique (Astra child) · v7.0.0-jouet-blue
   Cool white surfaces, slate ink, trust-blue CTAs only. Sharp corners.
   ============================================================ */
:root{
  --bg:#f5f7fb; --bg2:#ffffff; --bg3:#e8eef8;
  --ink:#0f172a; --ink2:#334155; --mut:#64748b; --faint:#94a3b8;
  --line:rgba(15,23,42,.10); --line-soft:rgba(15,23,42,.06);
  --gold:#64748b; --gold-soft:#94a3b8; --hair-gold:rgba(26,86,219,.28);
  --brand:#1a56db; --brand2:#1444b0; --brand-deep:#0f3d99;
  --red:#1a56db; --red2:#1444b0; /* primary CTA = trust blue */
  /* extended palette (documented system) */
  --red-50:#eef4ff; --red-100:#dbe7fe; --red-600:#1a56db; --red-700:#1444b0; --red-800:#0f3d99;
  --brand-50:#eef4ff; --brand-100:#dbe7fe;
  --n-0:#ffffff; --n-25:#fafbfc; --n-50:#ffffff; --n-100:#f5f7fb; --n-200:#e8eef8; --n-300:#c7d2e5;
  --n-600:#64748b; --n-800:#1e293b; --n-900:#0f172a;
  --gold-100:#e8eef8; --gold-300:#94a3b8; --gold-600:#64748b; --gold-800:#475569;
  --success:#1f9d57; --info:#1a56db; --sale:#c2410c; /* amber sale urgency, not primary brand */ --star:#e0a93c;
  --ink-bg:#0b1220; --ink-bg2:#111827;
  --search-bg:#f8fafc;
  --tool:40px; /* mobile header tool size (search/cart/ham) */
  --r:6px; --r-lg:10px;
  --shadow:0 24px 48px -32px rgba(15,23,42,.35);
  --shadow-sm:0 12px 28px -20px rgba(15,23,42,.28);
  --cta-shadow:0 14px 32px -14px rgba(26,86,219,.55);
  --ease:cubic-bezier(.22,.61,.36,1);
  --fd: 'Newsreader', 'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, 'Times New Roman', serif;
  --fb: 'Source Sans 3', 'Source Sans Pro', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1.0625rem;
  --text-md: 1.125rem;
  --text-lg: 1.25rem;
  --text-xl: 1.5rem;
  --text-2xl: clamp(1.75rem, 3.2vw, 2.25rem);
  --text-3xl: clamp(2.1rem, 4.2vw, 3rem);
  --text-hero: clamp(2.6rem, 5.4vw, 4.15rem);
  --leading-tight: 1.08;
  --leading-snug: 1.25;
  --leading-body: 1.68;
  --tracking-tight: -0.02em;
  --tracking-display: -0.015em;
  --tracking-kicker: 0.2em;
  --tracking-wide: 0.14em;
}

html,body{background:var(--bg)!important;color:var(--ink)!important;font-family:var(--fb)!important;
  font-size:var(--text-base)!important;font-weight:400;line-height:var(--leading-body)!important;
  letter-spacing:0.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-feature-settings:'kern' 1,'liga' 1;}
.ast-container,#content{background:transparent!important;}
h1,h2,h3,h4,.entry-title{font-family:var(--fd)!important;font-weight:600;letter-spacing:var(--tracking-display);color:var(--ink)!important;font-optical-sizing:auto;line-height:var(--leading-tight);font-feature-settings:'kern' 1,'liga' 1;}
a{color:var(--ink);text-decoration:none;} a:hover{color:var(--red);}
.sd-wrap{max-width:1180px;margin:0 auto;padding:0 28px;}

/* Full-width home root
   front-page.php outputs <main id="saiid-front"> inside Astra's flex
   .ast-container. Without an explicit width, the flex item shrink-wraps
   to the 1180px .sd-wrap child and sits left. Width 100% fills the
   page-builder container; .sd-wrap { margin:0 auto } centers content. */
#saiid-front{
  width:100%;
  max-width:none;
  align-self:stretch;
  box-sizing:border-box;
}
#saiid-front .sd-hero,
#saiid-front .sd-trust,
#saiid-front .sd-deal,
#saiid-front .sd-band,
#saiid-front .sd-section,
#saiid-front .sd-section--alt{
  width:100%;
  box-sizing:border-box;
}

.sd-red{color:var(--red);}
.price,.woocommerce-Price-amount{font-variant-numeric:tabular-nums;font-feature-settings:'tnum' 1,'lnum' 1;font-family:var(--fb);letter-spacing:0.01em;}
body::before{content:"";position:fixed;top:0;left:0;right:0;height:1px;z-index:99999;background:var(--hair-gold);}

/* micro-label */
.sd-kicker{font-family:var(--fb);text-transform:uppercase;letter-spacing:var(--tracking-kicker);font-size:var(--text-xs);font-weight:600;color:var(--gold);}
.sd-kicker--gold{color:var(--gold);}
.sd-h2{font-family:var(--fd);font-size:var(--text-3xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);margin:.5rem 0 0;font-weight:600;font-optical-sizing:auto;}
.sd-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1.4rem;margin-bottom:2.6rem;}
.sd-head .sd-link{margin-left:auto;color:var(--ink);font-weight:600;border-bottom:1px solid var(--hair-gold);padding-bottom:2px;}
.sd-head .sd-link:hover{color:var(--red);}
.sd-section{padding:96px 0;}
.sd-section--alt{background:var(--bg3);}

/* ---------- HEADER (ivory, slim, refined) ---------- */
/* ===== Header system 10/10 =====
   One calm chrome: solid soft ivory (readable), gold hairline, no stacked “boxes”.
   Glass only on sticky search strip where content scrolls underneath. */
header.site-header,.main-header-bar-wrap,.main-header-bar,.ast-primary-header-bar,.ast-main-header-bar-alignment{
  background:var(--bg2)!important;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  box-shadow:none!important;}
header.site-header{
  border-bottom:0!important; /* single hairline lives on subnav under it */
  position:relative;z-index:210!important;overflow:visible!important;}


/* Header content rail = same 1180 as .sd-wrap / .gm-subnav__inner
   Target Astra header-builder node (site-primary-header-wrap.ast-container). */
#masthead .site-primary-header-wrap.ast-container,
.site-header .site-primary-header-wrap.ast-container,
#ast-desktop-header .site-primary-header-wrap.ast-container {
  max-width: 1180px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 28px;
  padding-right: 28px;
  box-sizing: border-box;
}


.main-header-menu a,.site-header .menu-link,.ast-header-navigation-wrap a{
  color:var(--ink2)!important;font-family:var(--fb)!important;font-weight:500!important;font-size:.94rem!important;
  letter-spacing:.015em;transition:color .18s var(--ease)!important;}
/* Nav hover: deep ink (more premium/visible than red on every link) */
.main-header-menu a:hover,.site-header .menu-link:hover{color:#0c0801!important;}
.main-navigation .current-menu-item>a{color:#0c0801!important;font-weight:600!important;}
.site-header .ast-site-header-cart a,.site-header .ast-icon{color:var(--ink2)!important;transition:color .18s var(--ease);}
.site-header .ast-site-header-cart a:hover,.site-header .gm-header-cart:hover{color:#0c0801!important;}
.gm-header-cart:hover{background:rgba(12,8,1,.04)!important;}
.ast-site-identity{padding:.72rem 0;}
/* JM Mobilité logo — ink monogram, gold keyline (no red) */
.gm-logo{display:inline-flex;align-items:center;gap:.65rem;}
.gm-logo__mark{font-family:var(--fb);font-weight:700;font-size:0.95rem;line-height:1;letter-spacing:0.04em;color:#fff;
  background:var(--brand);padding:.42em .52em;border-radius:var(--r);box-shadow:0 6px 16px -8px rgba(26,86,219,.55);}
.gm-logo__word{font-family:var(--fb);font-weight:600;font-size:1.02rem;letter-spacing:0.22em;color:var(--ink);}
.gm-logo:hover .gm-logo__word{color:var(--ink);}
@media(max-width:560px){.gm-logo__word{font-size:.9rem;letter-spacing:.16em;}}

/* ---------- SUB-NAV: prominent search + quick categories ---------- */
/* Sticky search strip only (desktop). ~50% transparent so content/hero shows through. */
header.site-header{
  position:relative!important;
  z-index:30;
  background:var(--bg2)!important;
  border-bottom:1px solid rgba(176,141,74,.22)!important;
}
header.site-header,.main-header-bar-wrap,.main-header-bar,.ast-primary-header-bar,.ast-main-header-bar-alignment{
  background:var(--bg2)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
#gm-subnav.gm-subnav--desktop,
#gm-subnav{
  position:sticky!important;
  top:0!important;
  z-index:200!important; /* below primary header so menus open over this strip */
  /* Note: ~50% transparent, no solid ivory wall */
  background:rgba(250,247,240,.5)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.12);
  backdrop-filter:blur(16px) saturate(1.12);
  border-top:0;
  border-bottom:1px solid rgba(176,141,74,.3);
  box-shadow:0 10px 28px -22px rgba(22,19,14,.3);
}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  #gm-subnav{background:rgba(250,247,240,.88)!important;}
}
#gm-sticky-chrome{display:contents;}

#gm-subnav .gm-subnav__inner,
#gm-subnav .gm-quick{background:transparent!important;}
.gm-subnav__inner{
  display:flex;align-items:center;justify-content:space-between;gap:14px 24px;
  padding:12px 28px;max-width:1180px;margin:0 auto;box-sizing:border-box;
}
/* White filled search — high contrast on ivory (Electroplanet-class discoverability) */
.gm-search{
  position:relative;flex:1 1 auto;display:flex;align-items:center;
  background:var(--search-bg,#fafafa)!important;
  border:1px solid rgba(22,19,14,.12)!important;
  border-radius:var(--r)!important;
  padding:4px 5px 4px 16px!important;
  max-width:min(640px,58%);min-width:200px;
  box-shadow:0 1px 2px rgba(22,19,14,.04)!important;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.gm-search:focus-within{
  background:var(--search-bg,#fafafa)!important;
  border-color:var(--gold)!important;
  box-shadow:0 0 0 3px rgba(176,141,74,.14)!important;
}
.gm-search>svg{width:18px;height:18px;color:var(--mut);flex:none;opacity:.8;}
.gm-search input[type=search]{
  flex:1;border:0!important;background:transparent!important;
  padding:.55rem .65rem!important;font-size:.98rem;min-height:auto;min-width:0;
  box-shadow:none!important;outline:none!important;color:var(--ink)!important;
}
.gm-search input[type=search]:focus{box-shadow:none!important;outline:none!important;}
.gm-search__btn,
.gm-search button{
  background:var(--red)!important;color:#fff!important;border:0!important;
  border-radius:var(--r)!important;min-height:42px!important;
  padding:.55rem 1.2rem!important;font-size:.9rem!important;font-weight:600!important;
  flex:none;display:inline-flex!important;align-items:center;justify-content:center;gap:.35rem;
  
  width:auto!important;letter-spacing:.01em!important;
}
.gm-search__btn:hover,
.gm-search button:hover{background:var(--red2)!important;color:#fff!important;}
.gm-search__btn-label{font-size:inherit;line-height:1;}
/* Desktop: short label “OK” style — keep word Rechercher but compact; icon via mask optional */
@media(min-width:901px){
  .gm-search__btn-label{font-size:.88rem;}
  .gm-search button{padding:.5rem 1.15rem!important;min-height:40px!important;}
}
/* Mobile: full “Rechercher” label always visible */
@media(max-width:900px){
  .gm-search{max-width:none!important;width:100%;min-width:0;}
  .gm-search button,
  .gm-search__btn{
    font-size:.9rem!important;width:auto!important;min-width:0!important;
    padding:.55rem 1.15rem!important;border-radius:999px!important;
  }
  .gm-search button::after,
  .gm-search__btn::after{content:none!important;display:none!important;}
  .gm-search__btn-label{font-size:.9rem!important;}
}


.gm-quick{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  white-space:nowrap;
  flex:0 0 auto;
  margin-left:auto;
  padding-left:16px;
}
.gm-quick__links{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:nowrap;
}
.gm-quick a{
  font-family:var(--fb);font-weight:500;font-size:.9rem;color:var(--ink2);
  letter-spacing:.02em;transition:color .18s var(--ease);
}
.gm-quick a:hover{color:#0c0801!important;}
.gm-quick__promo{color:var(--red)!important;font-weight:600!important;}
.gm-quick__promo:hover{color:var(--red2)!important;}
/* Mobile sticky tools: account + WA + phone (desktop uses menu) */
.gm-sticky-tools{display:none!important;} /* not in sticky strip — logo/account/cart stay in primary header */
.gm-sticky-tools a{
  display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;color:var(--ink2);border-radius:var(--r);
}
.gm-sticky-tools a:hover{color:#0c0801;background:rgba(12,8,1,.05);}
.gm-sticky-tools__wa{color:#1f9d57!important;}
@media(max-width:921px){
  .gm-sticky-tools{display:inline-flex;}
  /* tools live in subnav row on very small — pull into header via order if needed */
  .gm-subnav__inner{flex-wrap:wrap;}
  .gm-search{order:1;flex:1 1 100%;max-width:none!important;}
  .gm-quick{order:3;width:100%;justify-content:flex-start;overflow-x:auto;margin-left:0;padding-bottom:2px;}
  
}


@media(max-width:900px){
  .gm-subnav__inner{padding:12px 16px;box-sizing:border-box;}
  .gm-search{max-width:none;width:100%;}
  .gm-search input[type=search]{font-size:0.95rem!important;min-width:0;}
  .gm-search button{padding:0.55rem 1.05rem!important;font-size:0.85rem!important;flex:none;white-space:nowrap;}
  /* Desktop-only quick links; chips re-enabled below for mobile */
  .gm-quick{display:none;}
}
@media(min-width:901px){
  .gm-quick{display:flex;}
}
@media(max-width:420px){
  .gm-search button{padding:0.55rem 0.85rem!important;}
}

/* ---------- BUTTONS (sharp) ---------- */
.sd-btn,.button,button,input[type=submit],a.button,
.woocommerce a.button,.woocommerce button.button,.checkout-button,.wc-proceed-to-checkout .button{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--fb)!important;font-weight:700!important;font-size:1rem!important;letter-spacing:.01em;
  border:0!important;border-radius:var(--r)!important;padding:1rem 1.85rem!important;min-height:54px;cursor:pointer;
  transition:transform .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease),color .2s var(--ease)!important;
  text-transform:none!important;}
/* product cards + generic shop buttons = trust blue (high converting) */
.button,button,input[type=submit],a.button,.woocommerce a.button,.woocommerce button.button,
.woocommerce ul.products li.product .button,
.woocommerce a.button.add_to_cart_button,
.woocommerce a.button.product_type_simple{
  background:var(--brand)!important;color:#fff!important;
  box-shadow:var(--cta-shadow)!important;}
.button:hover,a.button:hover,.woocommerce a.button:hover,
.woocommerce ul.products li.product .button:hover{
  background:var(--brand2)!important;color:#fff!important;transform:translateY(-1px)!important;
  box-shadow:0 18px 36px -16px rgba(26,86,219,.6)!important;}
/* primary (single product, checkout, hero) = trust blue — high converting */
.woocommerce button.single_add_to_cart_button,.woocommerce a.checkout-button,.woocommerce #place_order,
a.sd-btn--red,.sd-btn--red,#sd-sticky .sd-sticky__btn,.gm-search button,.gm-search__btn{
  background:var(--red)!important;color:#fff!important;
  box-shadow:var(--cta-shadow)!important;
  font-weight:700!important;letter-spacing:.02em;}
.woocommerce button.single_add_to_cart_button:hover,.woocommerce a.checkout-button:hover,
.woocommerce #place_order:hover,a.sd-btn--red:hover,.sd-btn--red:hover,
#sd-sticky .sd-sticky__btn:hover,.gm-search button:hover{
  background:var(--red2)!important;transform:translateY(-1px)!important;color:#fff!important;}
.woocommerce button.single_add_to_cart_button{min-height:60px!important;font-size:1.1rem!important;}
.sd-btn--ghost{background:transparent!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1.5px var(--brand)!important;}
.sd-btn--ghost:hover{background:var(--brand)!important;color:#fff!important;}
.sd-btn--ghost-light{background:transparent!important;color:#fff!important;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)!important;}
.sd-btn--ghost-light:hover{background:#fff!important;color:var(--brand)!important;}

/* ---------- HERO (deep ink, editorial) ---------- */
.sd-hero{position:relative;background:var(--ink-bg);color:#f3eee3;overflow:hidden;}
.sd-hero__bg{position:absolute;inset:0;
  background:radial-gradient(90% 70% at 78% 25%,rgba(26,86,219,.18),transparent 60%),radial-gradient(60% 50% at 20% 80%,rgba(20,68,176,.12),transparent 55%);}
.sd-hero__bg::after{content:"";position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%231a56db' stroke-width='1'%3E%3Crect x='28' y='28' width='44' height='44'/%3E%3Crect x='28' y='28' width='44' height='44' transform='rotate(45 50 50)'/%3E%3C/g%3E%3C/svg%3E");
  background-size:240px;opacity:.05;}
.sd-hero__inner{position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:center;padding:96px 28px;}
.sd-hero__title{font-family:var(--fd);font-weight:600;font-size:var(--text-hero);line-height:1.02;letter-spacing:var(--tracking-tight);color:#fff!important;margin:.7rem 0 0;font-optical-sizing:auto;}
.sd-hero__sub{color:#cbd5e1;font-family:var(--fb);font-size:var(--text-md);font-weight:400;line-height:var(--leading-body);max-width:32rem;margin:1.3rem 0 0;}
.sd-hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:2rem;}
.sd-hero__points{list-style:none;display:flex;flex-wrap:wrap;gap:0 1.6rem;margin:2rem 0 0;padding:0;
  font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#9a917f;}
.sd-hero__points li{position:relative;padding-left:1.1rem;}
.sd-hero__points li::before{content:"";position:absolute;left:0;top:.5em;width:5px;height:5px;background:var(--gold);transform:rotate(45deg);}
.sd-hero__media{position:relative;display:flex;align-items:center;justify-content:center;min-height:340px;}
.sd-hero__img{max-width:100%;height:auto;border-radius:var(--r-lg);position:relative;z-index:2;
  box-shadow:0 50px 90px -40px rgba(0,0,0,.8);outline:1px solid rgba(176,141,74,.25);outline-offset:-1px;}
.sd-hero__halo{display:none;}

/* ---------- TRUST STRIP (calm, hairline, line-icons) ---------- */
.sd-trust{background:var(--bg2);border-bottom:1px solid var(--line-soft);}
.sd-trust__grid{display:grid;grid-template-columns:repeat(4,1fr);}
.sd-trust__item{padding:26px 20px;display:flex;flex-direction:column;gap:3px;text-align:center;
  border-left:1px solid var(--line-soft);}
.sd-trust__item:first-child{border-left:0;}
.sd-trust__item b{font-family:var(--fb);font-weight:600;font-size:.98rem;color:var(--ink);}
.sd-trust__item span{color:var(--mut);font-size:.8rem;}

/* ---------- CATEGORIES ---------- */
.sd-cats{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.sd-cat{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--ink-bg);min-height:280px;
  display:flex;align-items:flex-end;transition:transform .4s var(--ease);outline:1px solid var(--line);}
.sd-cat:hover{transform:translateY(-3px);}
.sd-cat__img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.62;transition:opacity .4s var(--ease),transform .6s var(--ease);}
.sd-cat:hover .sd-cat__img{opacity:.75;transform:scale(1.03);}
.sd-cat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(15,12,8,.85));}
.sd-cat__label{position:relative;z-index:2;padding:28px;color:#fff;}
.sd-cat__label b{font-family:var(--fd);font-weight:600;font-size:1.6rem;display:block;}
.sd-cat__count{color:var(--gold-soft);font-weight:500;font-size:.85rem;letter-spacing:.06em;}

/* ---------- WHY ---------- */
.sd-why{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.sd-why__item{padding:28px 26px;border-left:1px solid var(--line-soft);}
.sd-why__item:first-child{border-left:0;padding-left:0;}
.sd-why__n{font-family:var(--fd);font-weight:600;color:var(--gold);font-size:1.1rem;}
.sd-why__item h3{font-family:var(--fd);font-size:1.18rem;margin:.7rem 0 .5rem;font-weight:600;}
.sd-why__item p{color:var(--mut);font-size:.95rem;line-height:1.65;margin:0;}

/* ---------- CTA BAND ---------- */
.sd-band{background:var(--ink-bg);color:#fff;border-top:1px solid var(--hair-gold);}
.sd-band__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;padding:64px 28px;}
.sd-band__title{font-family:var(--fd);font-size:clamp(1.7rem,4vw,2.6rem);color:#fff!important;margin:0;font-weight:600;}
.sd-band__sub{color:#cdc6b6;margin:.6rem 0 0;}
.sd-band__cta{display:flex;gap:12px;}

/* ---------- PRODUCT CARDS (Woo) — Commander buttons bottom-aligned (Apple Notes ref) ---------- */
.woocommerce ul.products{
  display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:26px!important;margin:0!important;
  align-items:stretch!important;
}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;background:var(--bg2)!important;
  border:1px solid var(--line)!important;border-radius:var(--r-lg)!important;padding:18px!important;
  display:flex!important;flex-direction:column!important;height:100%!important;box-sizing:border-box!important;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:var(--hair-gold);}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{
  flex:0 0 auto;position:relative;width:100%;
  aspect-ratio:3/4; /* mobile portrait format */
  overflow:hidden;border-radius:var(--r)!important;
  background:var(--bg3,#e8eef8);margin-bottom:14px;
}
.woocommerce ul.products li.product .astra-shop-summary-wrap{
  display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-height:0;
  gap:6px;
}
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img,
.woocommerce ul.products li.product .woocommerce-LoopProduct-link img{
  border-radius:var(--r)!important;margin-bottom:0!important;
  width:100%!important;height:100%!important;
  aspect-ratio:3/4!important;object-fit:cover!important;object-position:center center!important;
  display:block!important;
}
.woocommerce ul.products li.product .ast-woo-product-category{
  font-size:.78rem;color:var(--mut);letter-spacing:.04em;margin:0 0 2px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--fd)!important;font-size:1.2rem!important;
  font-weight:600!important;color:var(--ink)!important;padding:0!important;margin:0 0 4px!important;
  line-height:var(--leading-snug);letter-spacing:var(--tracking-display);font-optical-sizing:auto;}
.woocommerce ul.products li.product .price{
  color:var(--ink)!important;font-weight:700!important;font-size:1.25rem!important;font-family:var(--fb)!important;
  margin:0 0 10px!important;
}
.woocommerce ul.products li.product .price ins{text-decoration:none!important;color:var(--red)!important;}
.woocommerce ul.products li.product .price del{color:var(--faint)!important;font-weight:400!important;font-size:.8rem;opacity:1;}
.woocommerce ul.products li.product .astra-shop-summary-wrap .button,
.woocommerce ul.products li.product .button{
  margin-top:auto!important;width:100%!important;align-self:stretch!important;
  min-height:52px!important;
}
.woocommerce .star-rating span{color:var(--gold)!important;}

/* discount tag — clean, sharp red promo (rebuilt) */
.woocommerce span.onsale,.woocommerce ul.products li.product .onsale,.single-product span.onsale{
  background:var(--red)!important;color:#fff!important;border-radius:var(--r)!important;
  font-family:var(--fb)!important;font-weight:700!important;font-size:.76rem!important;letter-spacing:.01em;
  min-height:0!important;min-width:0!important;padding:5px 9px!important;line-height:1!important;
  top:16px!important;left:16px!important;margin:0!important;
  box-shadow:0 6px 16px -8px rgba(26,86,219,.55)!important;}

/* ---------- SINGLE PRODUCT ---------- */
.single-product div.product .price{color:var(--ink)!important;font-weight:700!important;font-family:var(--fb)!important;font-size:1.9rem!important;}
.single-product div.product .price ins{text-decoration:none!important;color:var(--red)!important;}
.single-product div.product .price del{color:var(--faint)!important;font-weight:400!important;}
.single-product .product_title{font-size:clamp(1.8rem,4vw,2.6rem)!important;}
.single-product .single_add_to_cart_button{width:100%;font-size:1.1rem!important;min-height:60px;}
.single-product .woocommerce-product-details__short-description{font-size:1.08rem;color:var(--ink2);line-height:1.75;}
.woocommerce-product-gallery{opacity:1!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--ink)!important;font-family:var(--fb)!important;}
.woocommerce-tabs ul.tabs li.active{background:var(--bg2)!important;border-color:var(--line)!important;}

/* Reassurance block (under buy button) */
.sd-reassure{list-style:none;margin:1.6rem 0 0;padding:1.2rem 1.3rem;display:grid;gap:.85rem;
  background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-lg);}
.sd-reassure li{display:flex;gap:.8rem;align-items:center;font-size:.98rem;color:var(--ink2);margin:0;line-height:1.4;}
.sd-reassure li svg{width:20px;height:20px;flex:none;stroke:var(--gold);}

/* ---------- FORMS / CART / CHECKOUT ---------- */
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],input[type=search],
textarea,select,.select2-container--default .select2-selection--single{
  background:var(--bg2)!important;border:1px solid var(--line)!important;color:var(--ink)!important;border-radius:var(--r)!important;}
input:focus,textarea:focus,select:focus{border-color:var(--gold)!important;outline:none!important;box-shadow:0 0 0 3px rgba(176,141,74,.16)!important;}
.woocommerce table.shop_table,.cart_totals table,#order_review,.woocommerce-checkout #payment{
  background:var(--bg2)!important;border:1px solid var(--line)!important;border-radius:var(--r-lg)!important;color:var(--ink)!important;}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--line)!important;color:var(--ink)!important;}
.woocommerce-info,.woocommerce-message{background:var(--bg2)!important;border-top:2px solid var(--gold)!important;color:var(--ink)!important;border-radius:var(--r);}
.woocommerce-info::before,.woocommerce-message::before{color:var(--gold)!important;}
#payment div.payment_box{background:var(--bg3)!important;color:var(--ink2)!important;}
#payment div.payment_box::before{border-bottom-color:var(--bg3)!important;}

/* ---------- FOOTER (custom, dynamic) ---------- */
footer.site-footer{display:none!important;} /* Astra default replaced by .gm-footer */
.gm-footer{background:var(--ink-bg);color:#cdc6b6;border-top:1px solid var(--hair-gold);}
.gm-footer__top{display:grid;grid-template-columns:1.6fr 1fr 1.2fr;gap:40px;max-width:1180px;margin:0 auto;padding:64px 28px 48px;}
.gm-footer h4,
.gm-footer__heading{
  display:block!important;
  font-family:var(--fb)!important;
  font-weight:600!important;
  font-size:.78rem!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  color:var(--gold-soft)!important;
  margin:0 0 1.1rem!important;
  opacity:1!important;
  visibility:visible!important;
}
.gm-footer__brand p{color:#9a917f;font-size:.95rem;line-height:1.65;max-width:24rem;margin:1.1rem 0 1.2rem;}
.gm-footer .gm-logo--light .gm-logo__word{color:#f3eee3;}
.gm-footer .gm-logo--light .gm-logo__mark{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--hair-gold);}
.gm-footer__pay{display:flex;gap:10px;flex-wrap:wrap;}
.gm-footer__pay span{border:1px solid rgba(255,255,255,.16);border-radius:var(--r);padding:.35rem .7rem;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#cdc6b6;}
.gm-footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem;}
.gm-footer__col a{color:#cdc6b6;font-size:.95rem;}
.gm-footer a:hover{color:var(--gold-soft);}
.gm-footer__contact{display:flex;flex-direction:column;gap:.55rem;}
.gm-footer__contact a,.gm-footer__contact span{color:#cdc6b6;font-size:.95rem;}
.gm-footer__phone{font-family:var(--fd)!important;font-size:1.3rem!important;color:#fff!important;font-weight:600;}
.gm-footer__email{font-size:.95rem;color:#cdc6b6;text-decoration:none;}
.gm-footer__email:hover{color:var(--gold-soft);}
.gm-footer__bottom{border-top:1px solid rgba(255,255,255,.08);}
.gm-footer__bottom-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:20px 28px;font-size:.78rem;color:#8a8273;}
@media(max-width:900px){.gm-footer__top{grid-template-columns:1fr 1fr;gap:30px;padding:48px 22px 36px;}}
@media(max-width:560px){.gm-footer__top{grid-template-columns:1fr;}}

/* ---------- ANNOUNCEMENT BAR (slim, ink, no emoji) ---------- */
#saiid-bar{background:var(--ink-bg2);color:#e7dfce;font-family:var(--fb);font-weight:500;font-size:var(--text-xs);line-height:1.2;text-align:center;
  padding:.7rem 1rem;letter-spacing:var(--tracking-wide);text-transform:uppercase;
  display:flex;gap:1.4rem;justify-content:center;align-items:center;flex-wrap:wrap;}
#saiid-bar a{color:#e7dfce;}#saiid-bar a:hover{color:var(--gold-soft);}
#saiid-bar b{font-weight:600;color:#fff;}
#saiid-bar .sep{width:4px;height:4px;background:var(--gold);transform:rotate(45deg);opacity:.9;}

/* ---------- WHATSAPP (kept, calmer) ---------- */
#saiid-wa{position:fixed;right:16px;bottom:18px;z-index:9998;width:52px;height:52px;border-radius:8px;background:#1f9d57;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px -12px rgba(0,0,0,.4);transition:transform .25s var(--ease);}
#saiid-wa:hover{transform:scale(1.06);}#saiid-wa svg{width:30px;height:30px;fill:#fff;}

/* ---------- Front page full-width ---------- */
.home .entry-header,.home .ast-archive-header{margin:0!important;}
.home .site-content{padding-top:0!important;}

/* ---------- Header cart icon + count ---------- */
.gm-header-cart{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;color:var(--ink2)!important;margin-right:4px;margin-left:4px;flex:none;
  border-radius:var(--r);transition:color .15s var(--ease),background .15s var(--ease);
}
.gm-header-cart:hover{color:var(--red)!important;background:rgba(0,0,0,.04);}
.gm-header-cart__icon{display:block;}
.gm-header-cart__count{
  position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;
  border-radius:999px;background:var(--red);color:#fff;font-family:var(--fb);
  font-size:11px;font-weight:700;line-height:18px;text-align:center;
  box-shadow:0 1px 2px rgba(0,0,0,.12);
}
.gm-header-cart__count.is-zero{display:none;}
/* Mobile header: cart left of hamburger */
#ast-mobile-header .site-header-primary-section-right{
  display:flex!important;align-items:center;gap:2px;
}
#ast-desktop-header .site-header-primary-section-right{
  display:flex;align-items:center;gap:8px;
}
#ast-desktop-header .gm-header-cart{margin-left:6px;}
/* Mobile viewport: never measure or show desktop-bar cart clone */
@media (max-width:921px){
  #ast-desktop-header .gm-header-cart{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

/* ---------- Sticky mobile order bar (Commander + WhatsApp) ---------- */
#sd-sticky{display:none;}
@media(max-width:768px){
  #sd-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9999;align-items:center;gap:10px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:var(--bg2);border-top:1px solid var(--line);
    box-shadow:0 -14px 30px -18px rgba(0,0,0,.3);}
  #sd-sticky .sd-sticky__info{flex:1;min-width:0;}
  #sd-sticky .sd-sticky__price{font-family:var(--fb);font-weight:700;color:var(--red);font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
  #sd-sticky .sd-sticky__price del{display:none;}
  #sd-sticky .sd-sticky__wa{
    display:inline-flex;align-items:center;justify-content:center;gap:6px;
    flex:none;min-height:52px;padding:.75rem .9rem;border-radius:var(--r);
    background:#1f9d57;color:#fff!important;font-family:var(--fb);font-weight:600;font-size:.88rem;
    white-space:nowrap;text-decoration:none!important;
  }
  #sd-sticky .sd-sticky__wa svg{flex:none;}
  #sd-sticky .sd-sticky__btn{background:var(--red);color:#fff;border:0;border-radius:var(--r);font-family:var(--fb);
    font-weight:600;font-size:1rem;padding:.9rem 1.25rem;min-height:52px;flex:none;cursor:pointer;}
  /* Floating FAB sits above sticky; on product hide FAB (WA is in the bar) */
  /* WA bottom: home uses default; product hides float */
  body.single-product #saiid-wa{display:none;}
  body.single-product{padding-bottom:86px;}
}
@media(max-width:380px){
  #sd-sticky .sd-sticky__wa span{display:none;}
  #sd-sticky .sd-sticky__wa{padding:.75rem .85rem;}
  #sd-sticky .sd-sticky__btn{padding:.9rem 1rem;font-size:.95rem;}
}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .sd-hero__inner{grid-template-columns:1fr;padding:40px 20px 48px;gap:28px;}
  .sd-hero__copy{order:0;}
  .sd-hero__media{order:1;min-height:auto;}
  .sd-hero__title{font-size:clamp(2.1rem,9vw,2.85rem);}
  .sd-hero__sub{font-size:1.02rem;margin-top:1rem;}
  .sd-hero__cta{margin-top:1.4rem;}
  .sd-hero__cta .sd-btn{flex:1 1 auto;min-width:min(100%,160px);justify-content:center;text-align:center;}
  .sd-hero__points{margin-top:1.25rem;gap:0.6rem 1.1rem;font-size:0.72rem;}
  .sd-trust__grid{grid-template-columns:repeat(2,1fr);}
  .sd-trust__item:nth-child(odd){border-left:0;}
  .sd-cats{grid-template-columns:1fr;}
  .sd-why{grid-template-columns:repeat(2,1fr);}
  .sd-why__item:nth-child(odd){border-left:0;padding-left:0;}
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important;}
}
@media(max-width:560px){.sd-why{grid-template-columns:1fr;}.woocommerce ul.products{grid-template-columns:1fr!important;}
  .sd-section{padding:60px 0;}body{font-size:1rem!important;}}

/* ============ v2.6 — page consistency (whole site) ============ */
/* Deal band (home) */
.sd-deal{background:var(--ink-bg);color:#f3eee3;border-top:1px solid var(--hair-gold);border-bottom:1px solid var(--hair-gold);}
.sd-deal__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:26px 28px;}
.sd-deal__title{font-family:var(--fd);font-weight:600;font-size:clamp(1.2rem,2.6vw,1.6rem);margin:.2rem 0 0;color:#fff;}

/* Archive / shop / search / page titles */
.woocommerce-products-header__title,.page-title,h1.entry-title,.ast-archive-title,.ast-archive-description .ast-archive-title{
  font-family:var(--fd)!important;font-weight:600!important;letter-spacing:-.01em;}
.woocommerce-products-header,.ast-archive-description{padding-bottom:.5rem;margin-bottom:1.6rem;border-bottom:1px solid var(--line-soft);}
.woocommerce .woocommerce-result-count{color:var(--mut);font-size:.9rem;}
.woocommerce .woocommerce-ordering select{min-height:46px;}
.woocommerce-breadcrumb{color:var(--mut);font-size:.85rem;}
.woocommerce-breadcrumb a{color:var(--mut);}.woocommerce-breadcrumb a:hover{color:var(--red);}

/* Cart / account polish */
.woocommerce a.remove{color:var(--red)!important;border-color:var(--line)!important;}
.woocommerce a.remove:hover{background:var(--red)!important;color:#fff!important;}
.cart_totals h2,.cross-sells h2,.related h2,.upsells h2{font-family:var(--fd)!important;}
.woocommerce .cart .quantity input.qty{max-width:74px;min-height:46px;}
.woocommerce-account .woocommerce-MyAccount-navigation ul{border-color:var(--line)!important;}
.woocommerce-account .woocommerce-MyAccount-navigation a{color:var(--ink2)!important;}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{color:var(--red)!important;}

/* 404 */
.gm-404{padding:120px 0;text-align:center;}
.gm-404 h1{font-family:var(--fd);font-size:clamp(2.4rem,6vw,4rem);margin:.6rem 0 0;}
.gm-404 p{color:var(--mut);max-width:34rem;margin:1rem auto 2rem;font-size:1.05rem;}
.gm-404__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ============ Brand fonts enforced everywhere (no Astra default) ============ */
body,button,input,select,textarea,.woocommerce,.ast-container,.menu-link,p,li,td,th,label{
  font-family:var(--fb)!important;}
h1,h2,h3,h4,h5,.entry-title,.widget-title,.ast-archive-title,
.woocommerce-loop-product__title,.product_title,.sd-h2,.gm-footer h4{font-family:var(--fd)!important;}

/* ============ Mobile menu toggle — ink strokes (size/border in MOBILE HEADER SYSTEM) ============ */
.main-header-bar .menu-toggle,.ast-mobile-menu-trigger-fill,.ast-mobile-menu-trigger-minimal,
.ast-button-wrap .menu-toggle,.main-header-menu-toggle{
  background:transparent!important;color:var(--ink)!important;box-shadow:none!important;}
/* SVG hamburger: colour the strokes/fills only — never a background box */
.ast-mobile-svg,.menu-toggle svg,.main-header-menu-toggle svg{fill:var(--ink)!important;color:var(--ink)!important;background:transparent!important;}
/* CSS (non-SVG) hamburger bars use background-color */
.main-header-menu-toggle .menu-toggle-icon::before,.main-header-menu-toggle .menu-toggle-icon::after,
.menu-toggle .menu-toggle-icon::before,.menu-toggle .menu-toggle-icon::after{background-color:var(--ink)!important;}
/* mobile off-canvas menu links */
.ast-mobile-popup-drawer .menu-link,.main-navigation .menu-item a{color:var(--ink)!important;}
.ast-mobile-popup-drawer .menu-link:hover{color:#0c0801!important;}

/* ============ Product page fixes (gallery, reassurance, tabs, price) ============ */
/* Gallery image must always have dimensions (flexslider sets opacity:0 + needs JS) */
.woocommerce-product-gallery,.woocommerce-product-gallery__wrapper{opacity:1!important;}
.woocommerce div.product .woocommerce-product-gallery__image img,
.woocommerce-product-gallery__wrapper img,.single-product .wp-post-image{
  width:100%!important;height:100%!important;display:block;
  object-fit:cover!important;object-position:center center!important;
}
.single-product .woocommerce-product-gallery .flex-viewport{height:auto!important;max-height:none!important;}
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image{
  aspect-ratio:3/4;overflow:hidden;background:var(--bg2,#fff);border-radius:var(--r-lg);
}
.single-product .woocommerce-product-gallery__image a{display:block;height:100%;}
.single-product .woocommerce-product-gallery__image img{height:100%!important;}
/* Reassurance block: always full width below the form, never a floated narrow column */
.sd-reassure{clear:both;width:100%;float:none;}
@media(max-width:768px){ .single-product div.product form.cart{float:none!important;width:100%!important;} }
/* Kill Astra-blue product tab borders */
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--line)!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--bg2)!important;border-color:var(--line)!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--bg2)!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--red)!important;}
.woocommerce div.product .woocommerce-tabs .panel{border-top:2px solid var(--gold)!important;}
/* Price reads LTR (avoid "990 6 د.م." digit/symbol reversal) */
/* Prices always Latin LTR on FR storefront */
.price,
.price .amount,
.price bdi,
.woocommerce-Price-amount,
.woocommerce-Price-amount bdi,
.woocommerce-Price-currencySymbol,
.sd-sticky__price,
.sd-sticky__price .amount {
  direction: ltr !important;
  unicode-bidi: isolate !important;
  text-align: left;
}
.woocommerce-Price-currencySymbol {
  font-family: var(--fb) !important;
  font-style: normal !important;
}
/* Sale price layout */
.price del { opacity: 0.65; margin-inline-end: 0.4em; }
.price ins { text-decoration: none; }


/* ============ Mobile: category chips + condensed announcement bar ============ */
@media(max-width:900px){
  .gm-subnav__inner{flex-direction:column;align-items:stretch;gap:12px;}
  .gm-search{max-width:none;}
  .gm-quick{display:flex!important;gap:14px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;}
  .gm-quick::-webkit-scrollbar{display:none;}
  .gm-quick a{flex:none;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:.45rem .9rem;font-size:.85rem;}
  .gm-quick__promo{border-color:var(--red)!important;}
}
@media(max-width:560px){
  #saiid-bar{gap:.55rem;font-size:.66rem;padding:.5rem .7rem;letter-spacing:.1em;}
  #saiid-bar .sep,#saiid-bar a{display:none;}
}

/* screen-reader-text fix — keep accessibility, hide visually */
.screen-reader-text,
.screen-reader-text span {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  word-wrap: normal !important;
}


/* === Sale badge: ONE chip only (-XX%) — hide Astra "Promo !" === */
.woocommerce ul.products li.product .ast-on-card-button,
.woocommerce ul.products li.product .ast-onsale-card,
.ast-on-card-button.ast-onsale-card,
.woocommerce ul.products li.product .ast-woo-product-category + .onsale {
  /* keep real .onsale */
}
.woocommerce ul.products li.product .ast-on-card-button,
.woocommerce ul.products li.product span.ast-onsale-card,
.woocommerce ul.products li.product .ast-on-card-button.ast-onsale-card {
  display: none !important;
}
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale,
.single-product span.onsale {
  background: var(--red) !important;
  color: #fff !important;
  border-radius: var(--r) !important;
  font-family: var(--fb) !important;
  font-weight: 700 !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.02em !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 6px 10px !important;
  line-height: 1.1 !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  margin: 0 !important;
  z-index: 3 !important;
  box-shadow: 0 6px 16px -8px rgba(26,86,219,.55) !important;
}

/* Kill Astra shop "Promo !" overlay (keep only .onsale -XX%) */
.woocommerce ul.products li.product .ast-on-card-button,
.woocommerce ul.products li.product .ast-onsale-card,
.woocommerce ul.products li.product .ast-on-card-button.ast-onsale-card,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .ast-on-card-button {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ============================================================
   === v4.4 commerce + rail + mobile nav ===
   Unify spacing with header/subnav/footer 1180 rail; polish cart
   checkout account; brand mobile menu.
   ============================================================ */

/* --- Shared content rail (non-home) — match logo / search left edge --- */
body:not(.home) #content > .ast-container,
body:not(.home) .site-content > .ast-container,
body:not(.home) .ast-container.ast-woocommerce-container {
  max-width: 1180px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
  box-sizing: border-box !important;
}
/* Kill Astra separate-container side padding double-stack */
body:not(.home).ast-separate-container #content > .ast-container,
body:not(.home).ast-separate-container .ast-woocommerce-container {
  padding-left: 28px !important;
  padding-right: 28px !important;
}
body:not(.home) #primary,
body:not(.home) .ast-article-single,
body:not(.home) article.page {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
/* Page titles on commerce pages */
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header,
.woocommerce-account .entry-header,
.woocommerce-page .entry-header {
  margin: 0 0 1.4rem !important;
  padding: 0 0 0.85rem !important;
  border-bottom: 1px solid var(--line-soft);
}
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title {
  font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
  margin: 0 !important;
}
/* Main vertical rhythm */
.woocommerce-cart #primary,
.woocommerce-checkout #primary,
.woocommerce-account #primary {
  padding-top: 1.25rem !important;
  padding-bottom: 3rem !important;
}

/* --- Desktop header: tighter long labels, align with rail --- */
@media(min-width:922px){
  .main-header-menu .menu-link,
  #ast-desktop-header .menu-link {
    font-size: 0.93rem !important;
    padding-left: 0.72rem !important;
    padding-right: 0.72rem !important;
    white-space: nowrap;
  }
  #ast-desktop-header .site-header-primary-section-right {
    gap: 10px;
  }
  /* Extra vertical air on primary bar */
  #ast-desktop-header .ast-primary-header-bar{
    min-height: 72px;
  }
  #ast-desktop-header .main-header-bar{
    padding-top: 2px;
    padding-bottom: 2px;
  }
}

/* --- Mobile header rail = same 16px as subnav --- */
@media(max-width:921px){
  #ast-mobile-header .ast-primary-header-bar,
  #ast-mobile-header .site-primary-header-wrap,
  #ast-mobile-header .main-header-bar {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }
  #ast-mobile-header .site-branding,
  #ast-mobile-header .ast-site-identity {
    padding-left: 0 !important;
    margin-left: 0 !important;
  }
  body:not(.home) #content > .ast-container,
  body:not(.home) .site-content > .ast-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .gm-footer__top{padding-left:16px!important;padding-right:16px!important;}
  .gm-footer__bottom-inner{padding-left:16px!important;padding-right:16px!important;}
}

/* --- Mobile menu branding (dropdown under header) --- */
#ast-mobile-header .ast-mobile-header-content,
#ast-mobile-header .ast-builder-menu-mobile,
.ast-mobile-popup-content,
.ast-mobile-popup-drawer {
  background: var(--bg2) !important;
}
#ast-mobile-header .ast-mobile-header-content {
  border-top: 1px solid var(--hair-gold);
  padding: 0.35rem 16px 1.25rem !important;
  box-shadow: 0 18px 40px -28px rgba(22,19,14,.45);
}
#ast-mobile-header .ast-builder-menu-mobile .main-header-menu,
#ast-mobile-header .ast-builder-menu-mobile .menu-item {
  border: 0 !important;
  background: transparent !important;
}
#ast-mobile-header .ast-builder-menu-mobile .menu-item,
#ast-mobile-header .ast-builder-menu-mobile .menu-item a,
.ast-mobile-popup-drawer .menu-item {
  background: transparent !important;
}
#ast-mobile-header .ast-builder-menu-mobile .menu-link,
.ast-mobile-popup-drawer .menu-link {
  font-family: var(--fb) !important;
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  padding: 0.95rem 0.15rem !important;
  border-bottom: 1px solid var(--line-soft) !important;
  letter-spacing: 0.01em;
  display: block !important;
  background: transparent !important;
}
#ast-mobile-header .ast-builder-menu-mobile .menu-link:hover,
#ast-mobile-header .ast-builder-menu-mobile .current-menu-item > .menu-link {
  color: var(--red) !important;
}
#ast-mobile-header .ast-builder-menu-mobile .menu-item:last-child .menu-link {
  border-bottom: 0 !important;
}
/* Brand kicker above mobile menu list */
#ast-mobile-header .ast-mobile-header-content::before {
  content: "JOUET MAROC";
  display: block;
  font-family: var(--fb);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  color: var(--gold);
  padding: 0.85rem 0.15rem 0.35rem;
  border-bottom: 1px solid var(--hair-gold);
  margin-bottom: 0.25rem;
}
/* Mobile hamburger frame (final size in MOBILE HEADER SYSTEM) */
#ast-mobile-header .menu-toggle {
  border: 1px solid var(--line) !important;
  border-radius: var(--r) !important;
}

/* --- Search: shorter functional copy --- */
.gm-search input[type=search]::placeholder {
  color: var(--mut);
  opacity: 1;
}
/* mobile: full Rechercher label (do not hide text) */


/* --- Cart empty state --- */
.woocommerce-cart .wc-empty-cart-message {
  margin: 0 0 1.25rem !important;
}
.woocommerce-cart .cart-empty.woocommerce-info,
.woocommerce-cart .woocommerce-info.cart-empty {
  text-align: center !important;
  background: var(--bg2) !important;
  border: 1px solid var(--line) !important;
  border-top: 2px solid var(--gold) !important;
  border-radius: var(--r) !important;
  color: var(--ink2) !important;
  padding: 2rem 1.25rem !important;
  box-shadow: none !important;
  font-size: 1.05rem !important;
}
.woocommerce-cart .cart-empty.woocommerce-info::before {
  display: none !important;
}
.woocommerce-cart .return-to-shop {
  text-align: center !important;
  margin: 0.5rem 0 2.5rem !important;
}
.woocommerce-cart .return-to-shop .button {
  min-width: min(100%, 260px);
}

/* --- Cart with items --- */
.woocommerce-cart table.shop_table {
  border: 1px solid var(--line) !important;
  border-radius: var(--r);
  background: var(--bg2);
  border-collapse: separate !important;
  border-spacing: 0;
  overflow: hidden;
}
.woocommerce-cart table.shop_table th {
  background: var(--bg3) !important;
  font-size: 0.8rem !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--mut) !important;
  padding: 0.85rem 1rem !important;
  border-bottom: 1px solid var(--line) !important;
}
.woocommerce-cart table.shop_table td {
  padding: 1rem !important;
  border-top: 1px solid var(--line-soft) !important;
  vertical-align: middle !important;
}
.woocommerce-cart table.cart .product-thumbnail img {
  width: 64px !important;
  height: auto !important;
  border-radius: var(--r);
  border: 1px solid var(--line-soft);
}
.woocommerce-cart table.cart td.actions {
  background: var(--bg2) !important;
  padding: 1rem !important;
}
/* Apple Notes: hide promo / coupon UI entirely */
.woocommerce-cart .coupon,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-form-coupon {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.woocommerce-cart .coupon {
  display: none !important;
}
.woocommerce-cart .coupon .input-text {
  min-height: 48px !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r) !important;
  background: var(--bg2) !important;
  padding: 0.6rem 0.85rem !important;
  max-width: 180px;
}
.woocommerce-cart .coupon .button {
  min-height: 48px !important;
}
.woocommerce-cart button[name="update_cart"] {
  min-height: 48px !important;
  opacity: 1 !important;
}
.cart_totals {
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: 1.25rem 1.35rem 1.5rem;
  box-shadow: var(--shadow-sm);
}
.cart_totals > h2 {
  font-size: 1.35rem !important;
  margin: 0 0 1rem !important;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--line-soft);
}
.cart_totals table {
  border: 0 !important;
  background: transparent !important;
}
.cart_totals table th,
.cart_totals table td {
  border-color: var(--line-soft) !important;
  padding: 0.75rem 0.35rem !important;
}
.cart_totals .order-total th,
.cart_totals .order-total td {
  font-size: 1.1rem !important;
  color: var(--ink) !important;
}
.wc-proceed-to-checkout {
  padding: 0.5rem 0 0 !important;
}
.wc-proceed-to-checkout .checkout-button {
  width: 100% !important;
  background: var(--red) !important;
  color: #fff !important;
  min-height: 54px !important;
  box-shadow: 0 14px 28px -16px rgba(26,86,219,.55);
}
.wc-proceed-to-checkout .checkout-button:hover {
  background: var(--red2) !important;
}
/* Shipping calc noise */
.woocommerce-shipping-calculator,
.cart_totals .woocommerce-shipping-destination {
  font-size: 0.88rem;
  color: var(--mut);
}
/* Cart shipping calculator: select2 must stay visible when empty (Région / Département) */
.woocommerce-cart .shipping-calculator-form,
.woocommerce-cart .woocommerce-shipping-calculator {
  background: var(--bg2) !important;
}
.woocommerce-cart .shipping-calculator-form .select2-container {
  width: 100% !important;
}
.woocommerce-cart .shipping-calculator-form .select2-container .select2-selection--single {
  min-height: 48px !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  padding: 0.45rem 0.85rem !important;
  background: var(--bg2) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r) !important;
}
.woocommerce-cart .shipping-calculator-form .select2-selection__rendered,
.woocommerce-cart .shipping-calculator-form .select2-selection__placeholder {
  min-height: 1.25rem !important;
  line-height: 1.4 !important;
  padding-left: 0 !important;
  color: var(--ink) !important;
}
.woocommerce-cart .shipping-calculator-form .select2-selection__placeholder {
  color: var(--mut) !important;
}
.woocommerce-cart .shipping-calculator-form .select2-selection__arrow {
  height: 100% !important;
  top: 0 !important;
}
.woocommerce-cart .shipping-calculator-form input.input-text {
  min-height: 48px !important;
  background: var(--bg2) !important;
}

/* --- Checkout --- */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  background: var(--bg2) !important;
  border: 1px solid var(--line) !important;
  border-top: 2px solid var(--gold) !important;
  border-radius: var(--r) !important;
  color: var(--ink2) !important;
  padding: 1rem 1.15rem !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
  color: var(--gold) !important;
}
.woocommerce form .form-row label,
.woocommerce-checkout .form-row label {
  color: var(--ink2) !important;
  font-family: var(--fb) !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  margin-bottom: 0.4rem !important;
}
.woocommerce form .form-row label .required,
.woocommerce-checkout .required {
  color: var(--red) !important;
  text-decoration: none !important;
  border: 0 !important;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
  min-height: 48px !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r) !important;
  background: var(--bg2) !important;
  color: var(--ink) !important;
  padding: 0.65rem 0.85rem !important;
  box-shadow: none !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(176,141,74,.14) !important;
}
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields h3 {
  font-family: var(--fd) !important;
  font-size: 1.35rem !important;
  margin: 0 0 1.1rem !important;
  color: var(--ink) !important;
  border: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading + #order_review {
  background: var(--bg2) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r) !important;
  padding: 1.25rem 1.35rem 1.5rem !important;
  box-shadow: var(--shadow-sm);
}
.woocommerce-checkout #order_review_heading {
  margin-bottom: 0.75rem !important;
}
.woocommerce-checkout #payment {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout #payment div.payment_box {
  background: var(--bg3) !important;
  color: var(--ink2) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: var(--r) !important;
}
.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: var(--line-soft) !important;
}
.woocommerce-checkout #place_order {
  width: 100% !important;
  background: var(--red) !important;
  min-height: 54px !important;
  margin-top: 0.75rem !important;
  box-shadow: 0 14px 28px -16px rgba(26,86,219,.55);
}
.woocommerce-checkout-review-order-table {
  border: 0 !important;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  border-color: var(--line-soft) !important;
  padding: 0.7rem 0.25rem !important;
}
/* Desktop checkout: keep Woo columns, fix widths to rail */
@media(min-width:922px){
  .woocommerce-checkout form #customer_details.col2-set,
  .woocommerce-checkout form #customer_details {
    width: 55% !important;
    float: left !important;
    margin-right: 4% !important;
  }
  .woocommerce-checkout form #order_review_heading,
  .woocommerce-checkout form #order_review {
    width: 41% !important;
    float: right !important;
    clear: right !important;
    margin-right: 0 !important;
  }
  .woocommerce-checkout form #order_review_heading {
    margin-bottom: 0.65rem !important;
  }
}

/* --- Account login --- */
.woocommerce-account:not(.logged-in) .entry-content > .woocommerce {
  max-width: 440px;
  margin: 0 auto;
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: 1.75rem 1.5rem 1.85rem;
  box-shadow: var(--shadow-sm);
}
.woocommerce-account:not(.logged-in) h2 {
  font-size: 1.35rem !important;
  margin: 0 0 1.25rem !important;
  text-align: center;
}
.woocommerce-account .woocommerce-form-login .form-row {
  margin-bottom: 1rem !important;
}
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit {
  width: 100%;
  margin-top: 0.5rem;
}
.woocommerce-account .woocommerce-form-login .woocommerce-LostPassword {
  text-align: center;
  margin-top: 1rem !important;
}
.woocommerce-account .woocommerce-form-login .show-password-input {
  background: var(--ink) !important;
  border-radius: var(--r) !important;
}

/* --- Boutique/archive content rail already via shared rule --- */
.woocommerce-page .woocommerce-products-header {
  margin-top: 0.5rem;
}

/* --- Hide Astra theme credit if injected --- */
a[href*="wpastra.com"],
.ast-footer-site-title,
#colophon .ast-footer-copyright a[href*="wordpress.org"] {
  /* keep legal if needed — only kill Astra promo */
}
.gm-footer a[href*="wpastra.com"],
footer a[href*="wpastra.com"] {
  display: none !important;
}

/* --- Mobile cart/checkout spacing --- */
@media(max-width:768px){
  .woocommerce-cart table.cart td.actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: stretch !important;
  }
  .woocommerce-cart .coupon {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .woocommerce-cart .coupon .input-text {
    max-width: none;
    width: 100%;
  }
  .woocommerce-cart .coupon .button,
  .woocommerce-cart button[name="update_cart"] {
    width: 100% !important;
  }
  .cart_totals {
    margin-top: 1.25rem;
    padding: 1.1rem 1rem 1.25rem;
  }
  .woocommerce-cart table.shop_table_responsive tr {
    padding: 0.85rem 0 !important;
  }
  .woocommerce-cart table.cart .product-thumbnail img {
    width: 88px !important;
    margin: 0 auto 0.5rem;
    display: block;
  }
  /* Keep FAB clear of form controls */
  body.woocommerce-cart #saiid-wa,
  body.woocommerce-checkout #saiid-wa,
  body.woocommerce-account #saiid-wa {
    bottom: 18px;
    right: 14px;
    width: 48px;
    height: 48px;
  }
  .woocommerce-checkout form.checkout {
    display: block;
  }
  .woocommerce-checkout #order_review {
    margin-top: 1.5rem;
  }
  .woocommerce-account:not(.logged-in) .entry-content > .woocommerce {
    padding: 1.35rem 1.1rem 1.5rem;
  }
}

/* Mobile category chips under search — align left with rail */
@media(max-width:900px){
  .gm-quick{
    display:flex!important;
    gap:10px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding: 0 0 2px;
    margin: 0;
    width: 100%;
  }
  .gm-quick::-webkit-scrollbar{display:none;}
  .gm-quick a{
    flex:none;
    background:var(--n-0);
    border:1px solid var(--line);
    border-radius:999px;
    padding:.5rem 0.95rem;
    font-size:.84rem;
    color:var(--ink2)!important;
  }
  .gm-quick a:hover{border-color:var(--gold);color:var(--red)!important;}
  .gm-quick__promo{border-color:rgba(26,86,219,.35)!important;color:var(--red)!important;}
}

/* ============================================================
   === v4.6 brand surfaces — no pure-white Woo/Astra boxes ===
   Cart / checkout / account must use the same ivory system as
   home (body --bg, cards --bg2), not default white #fff.
   ============================================================ */

/* Page canvas: continuous ivory, not a white sheet floating on ivory */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account,
body.woocommerce-page,
body.woocommerce-order-received {
  background: var(--bg) !important;
}
body.woocommerce-cart #content,
body.woocommerce-checkout #content,
body.woocommerce-account #content,
body.woocommerce-page #content,
body.woocommerce-order-received #content,
body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content,
body.woocommerce-account .site-content,
body.woocommerce-order-received .site-content {
  background: transparent !important;
}

/* Kill Astra "separate container" white card / double box look */
body.woocommerce-cart.ast-separate-container .ast-article-single,
body.woocommerce-checkout.ast-separate-container .ast-article-single,
body.woocommerce-account.ast-separate-container .ast-article-single,
body.woocommerce-page.ast-separate-container .ast-article-single,
body.woocommerce-order-received.ast-separate-container .ast-article-single,
body.woocommerce-cart.ast-separate-container #primary,
body.woocommerce-checkout.ast-separate-container #primary,
body.woocommerce-account.ast-separate-container #primary,
body.woocommerce-order-received.ast-separate-container #primary {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Tables / totals / notices: brand ivory, never pure white */
.woocommerce table.shop_table,
.woocommerce table.shop_table thead th,
.woocommerce-cart table.cart,
.woocommerce-cart .cart_totals table,
.woocommerce-checkout-review-order-table,
.woocommerce-checkout #payment,
.woocommerce-checkout #payment div.payment_box,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce .woocommerce-customer-details,
.woocommerce .woocommerce-order-details,
.woocommerce-order,
.woocommerce-order-received .woocommerce-order,
.woocommerce-thankyou-order-details,
.woocommerce-order-overview {
  background: var(--bg2) !important;
  border-color: var(--line) !important;
  color: var(--ink) !important;
}
.woocommerce-order-received .woocommerce-order-overview li {
  background: var(--bg3) !important;
  border: 1px solid var(--line-soft) !important;
  color: var(--ink) !important;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  background: transparent !important;
  border-color: var(--line-soft) !important;
  color: var(--ink) !important;
}
.woocommerce table.shop_table thead th {
  background: var(--bg3) !important;
  color: var(--mut) !important;
}

/* Inputs: ivory field, not stark white */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-cart .coupon .input-text,
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-page .select2-container .select2-selection--single {
  background: var(--bg2) !important;
  border: 1px solid var(--line) !important;
  color: var(--ink) !important;
}

/* Empty cart / info notices already branded — ensure no blue bar leftovers */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  background: var(--bg2) !important;
  color: var(--ink2) !important;
  border-top-color: var(--gold) !important;
  border-color: var(--line) !important;
  box-shadow: none !important;
}
.woocommerce-info::before,
.woocommerce-message::before {
  color: var(--gold) !important;
}

/* Tighter vertical rhythm: less “lost” white space on short pages */
body.woocommerce-cart #primary,
body.woocommerce-checkout #primary,
body.woocommerce-account #primary {
  min-height: 42vh;
  padding-top: 1.5rem !important;
  padding-bottom: 3.5rem !important;
}
body.woocommerce-cart .entry-header,
body.woocommerce-checkout .entry-header,
body.woocommerce-account .entry-header {
  margin-bottom: 1.1rem !important;
}

/* Cart empty: single surface, no nested “paper on paper” */
.woocommerce-cart .wc-empty-cart-message .cart-empty {
  background: var(--bg2) !important;
  border: 1px solid var(--line) !important;
  border-top: 2px solid var(--gold) !important;
}
.woocommerce-cart .return-to-shop {
  margin-top: 1.25rem !important;
  margin-bottom: 1rem !important;
}

/* Totals / order review: one ivory card with soft brand shadow */
.cart_totals,
.woocommerce-checkout #order_review {
  background: var(--bg2) !important;
  border: 1px solid var(--line) !important;
  box-shadow: var(--shadow-sm) !important;
}
.cart_totals > h2,
#order_review_heading {
  color: var(--ink) !important;
  border-bottom: 1px solid var(--line-soft) !important;
}

/* Account nav pills */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  background: var(--bg2) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r);
  padding: 0.5rem !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
  border-radius: var(--r);
}

/* Sticky subnav: ensure main content scrolls underneath (no stacking trap) */
#content, .site-content, #page{position:relative;z-index:1;}
/* subnav not sticky alone */
/* Prefer transparent page wrappers so glass sees real page bg / hero */
body .site-content > .ast-container{background:transparent!important;}

/* ============================================================
   MOBILE HEADER SYSTEM · v6 (single source — do not stack patches)
   Contract (human + AI):
   - Desktop sticky: ONLY #gm-subnav (search + categories)
   - Mobile sticky: #masthead (holds #ast-mobile-header: logo | search · cart · ham)
   - NOT sticky: #saiid-bar announce (sibling above #page)
   - Mobile tools: equal --tool (40px), 1px border, var(--r), vertical mid aligned
   - Search: icon opens #gm-msearch panel (surface --bg2, field --search-bg)
   - No red CTA shadow; Rechercher label stays visible
   ============================================================ */

/* Desktop search button: keep visible label (not icon-only) */
.gm-search button,
.gm-search .gm-search__btn{
  font-size:.9rem!important;
  width:auto!important;
  min-width:0!important;
  color:#fff!important;
  box-shadow:none!important;
  border-radius:var(--r)!important;
}
.gm-search .gm-search__btn-label{display:inline!important;font-size:.9rem!important;color:#fff!important;}
.gm-search button::before,
.gm-search button::after{content:none!important;display:none!important;}
@media(min-width:901px){
  .gm-search button,.gm-search .gm-search__btn{font-size:.88rem!important;padding:.5rem 1.15rem!important;}
}

/* Shared search surface (desktop subnav + mobile panel) */
.gm-search{
  background:var(--search-bg,#fafafa)!important;
  border-radius:var(--r)!important;
}
.gm-search:focus-within{
  background:var(--search-bg,#fafafa)!important;
}

/* Hide Astra back-to-top (brand: no competing float) */
#ast-scroll-top,
.ast-scroll-top-icon,
.ast-scroll-to-top-right,
a#ast-scroll-top{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* WA float: brand radius 8px, clear of fold */
#saiid-wa,
a#saiid-wa{
  border-radius:8px!important;
  width:52px!important;
  height:52px!important;
  right:16px!important;
  bottom:16px!important;
}
#saiid-wa svg{width:28px!important;height:28px!important;}

/* ---------- Mobile ≤921 ---------- */
@media (max-width:921px){

  /* Subnav is desktop-only */
  #gm-subnav,
  #gm-subnav.gm-subnav--desktop{
    display:none!important;
  }

  /* Sticky: #masthead (only tall enough parent). #ast-mobile-header alone cannot
     stick — parent masthead is ~same height, so sticky has zero travel distance.
     #saiid-bar announce stays outside masthead and scrolls away. */
  #masthead{
    position:sticky!important;
    top:0!important;
    z-index:220!important;
    align-self:flex-start; /* #page is flex — required for sticky flex items */
    width:100%;
    background:var(--bg2)!important;
  }
  #ast-mobile-header{
    position:relative!important;
    top:auto!important;
    z-index:auto;
    background:var(--bg2)!important;
    width:100%;
  }
  #ast-mobile-header .ast-main-header-wrap,
  #ast-mobile-header .main-header-bar,
  #ast-mobile-header .ast-primary-header-bar{
    position:relative!important;
    background:var(--bg2)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  #ast-mobile-header .ast-primary-header-bar{
    border-bottom:1px solid rgba(176,141,74,.28);
    box-shadow:0 8px 20px -16px rgba(22,19,14,.35);
  }

  /* Grid row: logo left, tools right — one vertical center line */
  #ast-mobile-header .ast-builder-grid-row,
  #ast-mobile-header .site-primary-header-wrap .ast-builder-grid-row{
    align-items:center!important;
    min-height:calc(var(--tool,40px) + 24px);
  }
  #ast-mobile-header .site-header-primary-section-left{
    display:flex!important;
    align-items:center!important;
    flex:1 1 auto;
    min-width:0;
  }
  #ast-mobile-header .site-branding,
  #ast-mobile-header .ast-site-identity{
    display:flex!important;
    align-items:center!important;
    margin:0!important;
  }

  /* Tools row: [search][cart][ham] — equal boxes, one midY */
  #ast-mobile-header .site-header-primary-section-right{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
    flex:0 0 auto;
    margin:0!important;
    padding:0!important;
    min-height:var(--tool,40px)!important;
  }
  /* Kill Astra layout-element width quirks that mis-center the hamburger */
  #ast-mobile-header .site-header-primary-section-right > .ast-builder-layout-element,
  #ast-mobile-header .site-header-primary-section-right > .site-header-focus-item,
  #ast-mobile-header .site-header-primary-section-right .ast-button-wrap{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:var(--tool,40px)!important;
    min-width:var(--tool,40px)!important;
    max-width:var(--tool,40px)!important;
    height:var(--tool,40px)!important;
    min-height:var(--tool,40px)!important;
    max-height:var(--tool,40px)!important;
    margin:0!important;
    padding:0!important;
    line-height:0!important;
    flex:0 0 var(--tool,40px)!important;
    box-sizing:border-box!important;
    align-self:center!important;
  }

  /* Shared tool chrome: search toggle · cart · hamburger */
  #ast-mobile-header .gm-msearch-toggle,
  #ast-mobile-header .gm-header-cart,
  #ast-mobile-header .menu-toggle,
  #ast-mobile-header .main-header-menu-toggle,
  #ast-mobile-header .ast-button-wrap .menu-toggle,
  #ast-mobile-header .ast-mobile-menu-trigger-minimal,
  #ast-mobile-header .ast-mobile-menu-trigger-fill,
  #ast-mobile-header button.menu-toggle{
    box-sizing:border-box!important;
    width:var(--tool,40px)!important;
    height:var(--tool,40px)!important;
    min-width:var(--tool,40px)!important;
    min-height:var(--tool,40px)!important;
    max-width:var(--tool,40px)!important;
    max-height:var(--tool,40px)!important;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(22,19,14,.14)!important;
    border-radius:var(--r)!important;
    background:transparent!important;
    background-color:transparent!important;
    box-shadow:none!important;
    color:var(--ink)!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    align-self:center!important;
    line-height:1!important;
    vertical-align:middle!important;
    flex:0 0 var(--tool,40px)!important;
    cursor:pointer;
    -webkit-appearance:none;
    appearance:none;
  }
  #ast-mobile-header .gm-msearch-toggle:hover,
  #ast-mobile-header .gm-msearch-toggle[aria-expanded="true"],
  #ast-mobile-header .gm-header-cart:hover,
  #ast-mobile-header .menu-toggle:hover{
    border-color:var(--gold)!important;
    color:#0c0801!important;
    background:rgba(12,8,1,.04)!important;
  }
  #ast-mobile-header .gm-msearch-toggle[aria-expanded="true"]{
    border-color:var(--gold)!important;
  }

  /* Icons inside tools — same optical weight */
  #ast-mobile-header .gm-msearch-toggle svg,
  #ast-mobile-header .gm-header-cart svg,
  #ast-mobile-header .menu-toggle svg,
  #ast-mobile-header .main-header-menu-toggle svg{
    width:18px!important;
    height:18px!important;
    max-width:18px!important;
    max-height:18px!important;
    margin:0!important;
    flex:none!important;
  }
  /* Astra ships menu + close SVGs together — never force both visible */
  #ast-mobile-header .menu-toggle .mobile-menu-toggle-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:0!important;
  }
  /* Default closed: hide close X */
  #ast-mobile-header .menu-toggle .ast-close-svg{
    display:none!important;
  }
  #ast-mobile-header .menu-toggle[aria-expanded="true"] .ast-menu-svg,
  #ast-mobile-header .menu-toggle.toggled .ast-menu-svg{
    display:none!important;
  }
  #ast-mobile-header .menu-toggle[aria-expanded="true"] .ast-close-svg,
  #ast-mobile-header .menu-toggle.toggled .ast-close-svg{
    display:block!important;
  }
  #ast-mobile-header .gm-msearch-toggle svg,
  #ast-mobile-header .gm-msearch-toggle svg *{
    fill:none!important;
    stroke:currentColor!important;
  }
  /* Cart badge stays top-right of 40 box */
  #ast-mobile-header .gm-header-cart{
    position:relative!important;
  }
  #ast-mobile-header .gm-header-cart__count{
    top:2px!important;
    right:2px!important;
  }

  /* --- Mobile search panel (#gm-msearch) --- */
  #gm-msearch{
    display:none;
    box-sizing:border-box;
    background:var(--bg2)!important;
    color:var(--ink)!important;
    border-bottom:1px solid rgba(176,141,74,.35);
    box-shadow:0 12px 28px -18px rgba(22,19,14,.35);
    padding:10px 16px 12px;
    z-index:215;
  }
  #gm-msearch[hidden]:not(.is-open){
    display:none!important;
  }
  #gm-msearch.is-open,
  body.gm-msearch-open #gm-msearch{
    display:block!important;
  }
  /* When open: pin under sticky header (height from JS --gm-mheader-h) */
  body.gm-msearch-open #masthead,
  body.gm-msearch-open #ast-mobile-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    z-index:220!important;
    background:var(--bg2)!important;
  }
  body.gm-msearch-open #ast-mobile-header{
    position:relative!important; /* sits inside fixed masthead */
    top:auto!important;
    left:auto!important;
    right:auto!important;
  }
  body.gm-msearch-open #gm-msearch.is-open{
    position:fixed!important;
    top:var(--gm-mheader-h,60px)!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    z-index:219!important;
  }
  body.gm-msearch-open{
    padding-top:var(--gm-mheader-h,60px);
  }

  .gm-msearch__bar{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    max-width:1180px;
    margin:0 auto;
    background:transparent!important;
  }
  .gm-msearch__close{
    flex:0 0 var(--tool,40px)!important;
    box-sizing:border-box!important;
    width:var(--tool,40px)!important;
    height:var(--tool,40px)!important;
    min-width:var(--tool,40px)!important;
    min-height:var(--tool,40px)!important;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(22,19,14,.14)!important;
    border-radius:var(--r)!important;
    background:transparent!important;
    color:var(--ink)!important;
    font-size:1.45rem!important;
    font-weight:400!important;
    line-height:1!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-shadow:none!important;
    cursor:pointer;
  }
  #gm-msearch .gm-search{
    flex:1 1 auto!important;
    max-width:none!important;
    width:100%!important;
    min-width:0!important;
    background:var(--search-bg,#fafafa)!important;
    background-color:var(--search-bg,#fafafa)!important;
    border:1px solid rgba(22,19,14,.12)!important;
    border-radius:var(--r)!important;
    box-shadow:none!important;
    color:var(--ink)!important;
  }
  #gm-msearch .gm-search input[type="search"],
  #gm-msearch .gm-search input{
    background:transparent!important;
    color:#16130e!important;
    -webkit-text-fill-color:#16130e!important;
    caret-color:#16130e!important;
    opacity:1!important;
    color-scheme:light!important;
  }
  #gm-msearch .gm-search svg{
    stroke:#7a7264!important;
    fill:none!important;
  }
  #gm-msearch .gm-search button,
  #gm-msearch .gm-search__btn{
    background:var(--red)!important;
    color:#fff!important;
    border-radius:var(--r)!important;
    box-shadow:none!important;
    font-size:.9rem!important;
    width:auto!important;
    min-height:40px!important;
    padding:.5rem 1rem!important;
  }
  #gm-msearch .gm-search__btn-label{
    display:inline!important;
    color:#fff!important;
    font-size:.9rem!important;
  }

  /* WA: product sticky bar clearance */
  #saiid-wa,
  a#saiid-wa{
    bottom:16px!important;
    right:14px!important;
  }
  body.single-product #saiid-wa,
  body.single-product a#saiid-wa{
    bottom:96px!important;
  }
}

/* Desktop: hide mobile-only search chrome */
@media (min-width:922px){
  .gm-msearch-toggle,
  #gm-msearch{
    display:none!important;
  }
}


/* ---------- HEADER IA (v6.8.3) — desktop subnav restored ----------
   DESKTOP:
   - Sticky #gm-subnav = search + .gm-quick category links (1180 rail)
   - Boutique flyout for WP menu children (fixed under sticky strip via JS)
   MOBILE:
   - Categories under hamburger → Boutique accordion
   - Expand control = light chevron, not a filled black button
   -------------------------------------------------------------- */

/* Desktop Boutique flyout */
@media (min-width: 922px) {
  #ast-desktop-header .main-header-menu .menu-item-has-children > .sub-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: fixed !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 10px 0 !important;
    background: var(--bg2) !important;
    border: 1px solid rgba(176, 141, 74, 0.4) !important;
    border-radius: var(--r) !important;
    box-shadow: 0 22px 48px -24px rgba(22, 19, 14, 0.55) !important;
    z-index: 400 !important;
    min-width: 240px;
    height: auto !important;
    overflow: visible !important;
    transform: none !important;
  }
  #ast-desktop-header .main-header-menu .menu-item-has-children.jm-flyout-open > .sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  #ast-desktop-header .main-header-menu .menu-item-has-children.jm-flyout-open > .sub-menu::before {
    content: "";
    position: absolute;
    left: -24px;
    right: -24px;
    bottom: 100%;
    height: 14px;
  }
  #ast-desktop-header .main-header-menu .sub-menu .menu-item {
    display: block !important;
    margin: 0 !important;
  }
  #ast-desktop-header .main-header-menu .sub-menu .menu-link {
    display: block !important;
    padding: 0.75rem 1.25rem !important;
    color: var(--ink2) !important;
    font-size: 0.94rem !important;
    font-weight: 500 !important;
    background: transparent !important;
    white-space: nowrap;
    border: 0 !important;
    line-height: 1.3 !important;
  }
  #ast-desktop-header .main-header-menu .sub-menu .menu-link:hover {
    color: #0c0801 !important;
    background: rgba(12, 8, 1, 0.05) !important;
  }
  #ast-desktop-header .main-header-menu .sub-menu .menu-item:last-child .menu-link {
    color: var(--red) !important;
    font-weight: 600 !important;
  }
  #ast-desktop-header .main-header-menu .menu-item-has-children > .dropdown-menu-toggle,
  #ast-desktop-header .main-header-menu .menu-item-has-children > .ast-menu-toggle,
  #ast-desktop-header .main-header-menu .ast-header-navigation-arrow {
    display: none !important;
  }
  #ast-desktop-header .main-header-menu .menu-item-has-children > .menu-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
  }
  #ast-desktop-header .main-header-menu .menu-item-has-children > .menu-link::after {
    content: "" !important;
    display: inline-block !important;
    width: 0.38em !important;
    height: 0.38em !important;
    border-right: 1.5px solid currentColor !important;
    border-bottom: 1.5px solid currentColor !important;
    transform: rotate(45deg) translateY(-0.12em) !important;
    opacity: 0.6;
    margin: 0 !important;
    background: none !important;
    padding: 0 !important;
  }
  #ast-desktop-header .main-header-menu .menu-item-has-children.jm-flyout-open > .menu-link::after {
    transform: rotate(225deg) translateY(0.05em) !important;
  }

}

/* Mobile: Boutique expand = pure chevron (no black / heavy box) */
.ast-menu-toggle,
button.ast-menu-toggle,
.ast-builder-menu-mobile .ast-menu-toggle,
.ast-mobile-popup-drawer .ast-menu-toggle {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--ink) !important;
  border: 0 !important;
  box-shadow: none !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: none !important;
  position: absolute !important;
  right: 8px !important;
  top: 0.85rem !important;
  margin-top: 0 !important;
  border-radius: var(--r) !important;
}
.ast-menu-toggle:hover,
.ast-menu-toggle:focus {
  background: rgba(12, 8, 1, 0.05) !important;
  transform: none !important;
  outline: none !important;
}
.ast-menu-toggle svg,
.ast-menu-toggle .ast-arrow-svg {
  width: 14px !important;
  height: 14px !important;
  fill: var(--ink) !important;
  color: var(--ink) !important;
  background: transparent !important;
}
.ast-builder-menu-mobile .menu-item-has-children,
.ast-mobile-popup-drawer .menu-item-has-children {
  position: relative !important;
}
.ast-builder-menu-mobile .menu-item-has-children > .menu-link,
.ast-mobile-popup-drawer .menu-item-has-children > .menu-link {
  padding-right: 52px !important;
}
.ast-mobile-popup-drawer .sub-menu,
.ast-builder-menu-mobile .sub-menu {
  list-style: none !important;
  margin: 0 !important;
  padding: 0.15rem 0 0.5rem 1rem !important;
  border-left: 1px solid var(--hair-gold) !important;
  margin-left: 0.35rem !important;
  background: transparent !important;
}
.ast-mobile-popup-drawer .sub-menu .menu-link,
.ast-builder-menu-mobile .sub-menu .menu-link {
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--ink2) !important;
  padding: 0.7rem 0.2rem !important;
  border-bottom: 0 !important;
}

/* Mobile off-canvas: clear child links under Boutique */
.ast-mobile-popup-drawer .sub-menu,
#ast-mobile-header .ast-builder-menu-mobile .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0 0 0.25rem 0.75rem;
  border-left: 1px solid var(--hair-gold);
  margin-left: 0.35rem;
}
.ast-mobile-popup-drawer .sub-menu .menu-link,
#ast-mobile-header .ast-builder-menu-mobile .sub-menu .menu-link {
  font-size: 0.95rem !important;
  padding: 0.7rem 0.15rem !important;
  color: var(--ink2) !important;
}





/* v6.8 FINAL: mobile Boutique chevron — no box, no border, no black fill */
.ast-mobile-header-content .ast-menu-toggle,
.ast-builder-menu-mobile .ast-menu-toggle,
.ast-mobile-popup-drawer .ast-menu-toggle,
#ast-mobile-header .ast-menu-toggle,
button.ast-menu-toggle {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-width: 0 !important;
  box-shadow: none !important;
  color: var(--ink) !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: none !important;
}
.ast-mobile-header-content .menu-item-has-children {
  position: relative !important;
}
.ast-mobile-header-content .menu-item-has-children > .menu-link {
  padding-right: 52px !important;
}
.ast-mobile-header-content .ast-menu-toggle {
  position: absolute !important;
  right: 8px !important;
  top: 0.85rem !important; /* pin to Boutique row, not mid of expanded list */
  margin-top: 0 !important;
  transform: none !important;
}
.ast-mobile-header-content .sub-menu {
  display: none;
  list-style: none !important;
  margin: 0 !important;
  padding: 0.1rem 0 0.6rem 1rem !important;
  border-left: 1px solid var(--hair-gold) !important;
  margin-left: 0.4rem !important;
}
.ast-mobile-header-content .menu-item-has-children.ast-submenu-expanded > .sub-menu,
.ast-mobile-header-content .menu-item-has-children.toggled > .sub-menu,
.ast-mobile-header-content .menu-item-has-children .sub-menu.toggled,
.ast-mobile-header-content li.ast-submenu-expanded > .sub-menu {
  display: block !important;
}


/* ============================================================
   JOUET MAROC trust-blue CTA system (v6.9.0) — high converting
   ============================================================ */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .astra-shop-summary-wrap .button,
.woocommerce ul.products li.product .ast-on-card-button,
.woocommerce a.button.add_to_cart_button,
.woocommerce a.button.product_type_simple,
.woocommerce a.button.product_type_variable,
.woocommerce .widget_shopping_cart .buttons a.checkout,
.woocommerce-mini-cart__buttons a.checkout,
.ast-button, .ast-custom-button,
button.single_add_to_cart_button,
.woocommerce button.single_add_to_cart_button,
.woocommerce a.checkout-button,
.wc-proceed-to-checkout .checkout-button,
.woocommerce #place_order,
#place_order,
a.sd-btn--red, .sd-btn--red,
.gm-search button {
  background: #1a56db !important;
  background-color: #1a56db !important;
  color: #ffffff !important;
  border-color: #1a56db !important;
  box-shadow: 0 14px 30px -18px rgba(26,86,219,.55) !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover,
.woocommerce a.button.add_to_cart_button:hover,
.woocommerce button.single_add_to_cart_button:hover,
.woocommerce a.checkout-button:hover,
.wc-proceed-to-checkout .checkout-button:hover,
.woocommerce #place_order:hover,
#place_order:hover,
a.sd-btn--red:hover, .sd-btn--red:hover,
.gm-search button:hover,
.ast-button:hover, .ast-custom-button:hover {
  background: #1444b0 !important;
  background-color: #1444b0 !important;
  color: #ffffff !important;
  border-color: #1444b0 !important;
}
/* secondary/ghost stay ink; don't force coupon/update cart to blue */
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart .coupon .button,
.woocommerce button[name="apply_coupon"],
.woocommerce a.button.wc-backward,
.return-to-shop .button {
  background: transparent !important;
  color: var(--ink) !important;
  border: 1px solid var(--line) !important;
  box-shadow: none !important;
}
/* Trust strip accent */
.sd-red { color: #1a56db !important; }
/* Sale badge can stay warm for urgency */
.onsale, span.onsale, .woocommerce span.onsale {
  background: #c2410c !important;
  color: #fff !important;
}
/* Language switcher hover was red — make brand blue */
.trp-language-switcher { --bg-hover: #1a56db !important; }
/* Prevent horizontal overflow on mobile */
html, body { overflow-x: clip; }
img, video, iframe, .woocommerce-product-gallery { max-width: 100%; height: auto; }

/* TranslatePress floating switcher: keep out of hero copy */
.trp-language-switcher.trp-floating-switcher {
  --bg: #15120ee6 !important;
  --bg-hover: #1a56db !important;
  bottom: 12px !important;
  left: 12px !important;
  top: auto !important;
  z-index: 50 !important;
  max-width: min(42vw, 140px);
}
.trp-language-switcher.trp-floating-switcher .trp-language-item-name {
  font-size: 12px !important;
}
/* Hero copy: never let absolutely positioned chrome clip subtitle */
.sd-hero__sub { position: relative; z-index: 2; max-width: 36rem; }
.sd-hero__copy { position: relative; z-index: 2; }


/* ============================================================
   v7.0 Jouet Maroc — modern minimal blue lock + conversion CTAs
   ============================================================ */
html,body{background:var(--bg)!important;color:var(--ink)!important;}
header.site-header,.main-header-bar-wrap,.main-header-bar,.ast-primary-header-bar,
.ast-main-header-bar-alignment,#gm-subnav,.gm-msearch{background:var(--bg2)!important;}
.sd-section--alt{background:var(--bg3)!important;}
.sd-kicker,.sd-kicker--gold{color:var(--brand)!important;}
/* Primary conversion CTAs — white on trust blue, high contrast */
.sd-btn--red,a.sd-btn--red,
.woocommerce button.single_add_to_cart_button,
.woocommerce a.checkout-button,.wc-proceed-to-checkout .checkout-button,
.woocommerce #place_order,#place_order,
.woocommerce ul.products li.product .button,
.woocommerce a.button.add_to_cart_button,
.gm-search button,#sd-sticky .sd-sticky__btn{
  background:#1a56db!important;background-color:#1a56db!important;color:#ffffff!important;
  border-color:#1a56db!important;box-shadow:0 14px 32px -14px rgba(26,86,219,.55)!important;
  font-weight:700!important;}
.sd-btn--red:hover,a.sd-btn--red:hover,
.woocommerce button.single_add_to_cart_button:hover,
.woocommerce a.checkout-button:hover,.wc-proceed-to-checkout .checkout-button:hover,
.woocommerce #place_order:hover,
.woocommerce ul.products li.product .button:hover,
.gm-search button:hover,#sd-sticky .sd-sticky__btn:hover{
  background:#1444b0!important;background-color:#1444b0!important;color:#ffffff!important;
  border-color:#1444b0!important;}
/* Keep secondary cart actions calm (not competing with checkout) */
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart .coupon .button,
.woocommerce button[name="apply_coupon"],
.woocommerce a.button.wc-backward,
.return-to-shop .button{
  background:transparent!important;color:var(--ink)!important;
  border:1px solid var(--line)!important;box-shadow:none!important;font-weight:600!important;}
.sd-red{color:#1a56db!important;}
.gm-logo__mark{background:#1a56db!important;}


/* ============================================================
   v7.1 MOBILE PRODUCT IMAGE FORMAT
   Portrait 3:4 frames — product page, categories, product lists
   ============================================================ */
/* Shop / category / related / home product grids */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
.woocommerce ul.products li.product .woocommerce-loop-product__link,
body.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap,
body.post-type-archive-product ul.products li.product .astra-shop-thumbnail-wrap,
body.single-product ul.products li.product .astra-shop-thumbnail-wrap,
.related.products ul.products li.product .astra-shop-thumbnail-wrap,
.upsells.products ul.products li.product .astra-shop-thumbnail-wrap{
  display:block;width:100%;aspect-ratio:3/4;overflow:hidden;position:relative;
  border-radius:var(--r)!important;background:var(--bg3,#e8eef8);
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link{
  display:block;line-height:0;
}
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img,
body.tax-product_cat ul.products li.product img,
body.post-type-archive-product ul.products li.product img,
.related.products ul.products li.product img,
.upsells.products ul.products li.product img,
#saiid-front .woocommerce ul.products li.product img{
  width:100%!important;height:100%!important;max-width:100%!important;
  aspect-ratio:3/4!important;object-fit:cover!important;object-position:center center!important;
  margin:0!important;padding:0!important;border-radius:var(--r)!important;
}

/* Single product gallery — full width, portrait frame */
.single-product div.product div.images,
.single-product .woocommerce-product-gallery{
  width:100%!important;max-width:100%!important;float:none!important;
  margin:0 0 1.25rem!important;
}
.single-product .woocommerce-product-gallery__wrapper{
  margin:0!important;
}
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image{
  aspect-ratio:3/4!important;width:100%!important;
  overflow:hidden!important;border-radius:var(--r-lg)!important;
  background:var(--bg2,#fff)!important;
}
.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery .flex-viewport img,
.single-product .wp-post-image{
  width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center center!important;
  display:block!important;
}
/* Thumbnails under main image: square chips, scrollable on mobile */
.single-product .flex-control-thumbs{
  display:flex!important;flex-wrap:nowrap!important;gap:8px!important;
  margin:10px 0 0!important;padding:0!important;
  overflow-x:auto!important;-webkit-overflow-scrolling:touch;
  list-style:none!important;
}
.single-product .flex-control-thumbs li{
  flex:0 0 64px!important;width:64px!important;height:64px!important;
  float:none!important;margin:0!important;aspect-ratio:1/1!important;
  overflow:hidden;border-radius:var(--r)!important;
  border:1px solid var(--line)!important;
}
.single-product .flex-control-thumbs li img{
  width:100%!important;height:100%!important;object-fit:cover!important;
  opacity:1!important;
}

/* Mobile-first tightening */
@media (max-width:921px){
  .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .woocommerce ul.products li.product{
    padding:10px!important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size:1rem!important;
  }
  /* Single product: edge-to-edge portrait hero on phone */
  .single-product div.product div.images,
  .single-product .woocommerce-product-gallery{
    width:100vw!important;max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    margin-bottom:1rem!important;
    border-radius:0!important;
  }
  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery .flex-viewport{
    border-radius:0!important;
    aspect-ratio:3/4!important;
    max-height:78vh;
  }
  .single-product .flex-control-thumbs{
    padding:0 12px!important;
  }
  .single-product .flex-control-thumbs li{
    flex:0 0 56px!important;width:56px!important;height:56px!important;
  }
}
@media (max-width:544px){
  .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .woocommerce ul.products li.product .button{
    min-height:44px!important;font-size:.9rem!important;padding:.65rem .8rem!important;
  }
}
/* Prevent horizontal overflow from full-bleed gallery */
body.single-product{overflow-x:clip;}
