/*
Theme Name:     Les 3AQ (Astra Child)
Theme URI:
Description:    Thème enfant Astra pour Les 3AQ — marketplace e-commerce COD (Algérie), tous produits. Palette orange/anthracite/crème du logo Les 3AQ. Marque cosmétique Thereza intégrée. FR/AR + RTL.
Author:         Art Of Doing
Author URI:
Template:       astra
Version:        0.1.0
*/

/* =====================================================================
   1. Tokens / palette (jamais de couleur en dur ailleurs)
   ================================================================== */
:root{
  /* Palette Les 3AQ — orange du logo + anthracite + crème. Mêmes noms de
     tokens que l'ancienne palette (repointés) : tout l'habillage suit. */
  --gold:#FF5A1F;          /* orange logo — accent principal / CTA */
  --gold-deep:#E8430A;     /* orange foncé (hover) */
  --gold-soft:#FFD8C6;     /* orange clair (tints, filets actifs) */
  --rose:#FBEADF;          /* wash chaud (anc. rosé) */
  --rose-soft:#FFF4EC;     /* wash très clair (fonds de sections) */
  --cream:#FAF4EC;         /* crème du logo — fond principal */
  --cream-2:#F2EADF;
  --ink:#1A1A1A;           /* anthracite — texte (le « 3AQ » du logo) */
  --muted:#6E6E6E;         /* texte secondaire */
  --dark:#141414;          /* sections sombres (footer / CTA) */
  --line:#E8E1D6;          /* filets */
  --white:#fff;
  --radius:18px;
  --radius-sm:12px;
  --radius-pill:999px;
  --shadow:0 24px 60px -28px rgba(20,20,20,.40);
  --shadow-soft:0 14px 36px -22px rgba(20,20,20,.26);
  --maxw:1700px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --font-head:"Archivo","Inter",system-ui,sans-serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
}

/* =====================================================================
   2. Base
   ================================================================== */
body{font-family:var(--font-body);color:var(--ink);background:var(--white);line-height:1.65;overflow-x:clip;}
h1,h2,h3,h4,.thz-display,.entry-title,
.woocommerce-loop-product__title,
.woocommerce div.product .product_title{
  font-family:var(--font-head);color:var(--ink);line-height:1.1;font-weight:800;letter-spacing:-.015em;
}
a{color:var(--gold-deep);}
img{max-width:100%;height:auto;display:block;}
.thz-wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,3.2vw,3rem);}

/* Pleine largeur du contenu : élargit le conteneur Astra (pages, Boutique,
   fiche produit) au même gabarit que les sections du thème. */
.ast-container,
.ast-container-fluid{max-width:var(--maxw)!important;padding-left:clamp(1.2rem,3.2vw,3rem)!important;padding-right:clamp(1.2rem,3.2vw,3rem)!important;}
/* Boutique : le bandeau titre (injecté avant #primary) ne doit pas devenir une
   colonne flex à côté des produits → on empile, bandeau pleine largeur au-dessus. */
.woocommerce-page #content > .ast-container{display:block;}
.thz-shop-hero{width:100%;}

/* Sections pleine largeur (full-bleed). Les sections colorées sont rendues via
   shortcode DANS le conteneur Astra (.ast-container : max 1700px + padding
   latéral) ; sans ça, leur fond s'arrête au contenu centré et le blanc du body
   apparaît dans les marges des côtés. On les fait déborder jusqu'aux bords de
   l'écran — le contenu interne reste centré via .thz-wrap / *__in (qui gardent
   max-width:var(--maxw) + padding). Marges symétriques → OK en RTL. */
.ast-container .thz-hero,
.ast-container .thz-marquee,
.ast-container .thz-section,
.ast-container .thz-brand-hero,
.ast-container .thz-chero,
.ast-container .thz-shop-hero{
  width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
.thz-section{padding:clamp(3rem,7vw,6rem) 0;}
.thz-cream{background:var(--cream);}
.thz-rose{background:var(--rose-soft);}
.thz-dark{background:var(--dark);color:#EDE8DF;}
.thz-center{text-align:center;}
.thz-eyebrow{
  text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;font-weight:600;
  color:var(--gold-deep);margin:0 0 .7rem;
}
.thz-lead{font-size:1.06rem;color:var(--muted);max-width:60ch;}
.thz-head{max-width:640px;margin:0 auto clamp(1.8rem,4vw,3rem);text-align:center;}
.thz-head h2{font-size:clamp(1.9rem,4.4vw,3rem);margin:.2rem 0 .6rem;}

/* Boutons */
.thz-btn{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--gold);color:#fff;border:1px solid var(--gold);
  padding:.95rem 1.9rem;border-radius:var(--radius-pill);
  font-family:var(--font-body);font-weight:600;font-size:.95rem;letter-spacing:.02em;
  text-decoration:none;cursor:pointer;transition:.35s var(--ease);
  box-shadow:0 12px 26px -14px rgba(255,90,31,.55);
}
.thz-btn:hover{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff;transform:translateY(-2px);}
.thz-btn--ghost{background:transparent;color:var(--ink);border-color:var(--gold);box-shadow:none;}
.thz-btn--ghost:hover{background:var(--ink);border-color:var(--ink);color:#fff;}
.thz-btn--light{background:#fff;color:var(--ink);border-color:#fff;}

/* Header (Astra) — fond crème (assorti au logo), logo compact, nav à la palette */
.ast-primary-header-bar,.site-header,.ast-header-break-point .site-header,
.main-header-bar{background:var(--cream)!important;}
/* Logo détouré (sans marge) → sa hauteur n'impose plus celle de la barre :
   on garde un mot-symbole bien visible dans une topbar fine. */
.custom-logo{height:clamp(44px,5.5vw,58px)!important;width:auto!important;max-height:none!important;}
.ast-primary-header-bar .site-primary-header-wrap,
.ast-primary-header-bar .ast-mobile-header-wrap{min-height:0;}
.ast-primary-header-bar .ast-builder-layout-element{padding-top:8px!important;padding-bottom:8px!important;}
.site-logo-img .custom-logo{margin:0!important;display:block;}
/* Header = logo seul : on masque le titre du site dans la topbar. Le nom reste
   défini dans le Personnalisateur (dashboard / login / titre SEO), il n'apparaît
   simplement plus à côté du logo. */
.site-title,.ast-site-title-wrap{display:none!important;}
.site-header .main-header-menu a,
.site-header .ast-header-navigation-arrow{font-family:var(--font-body);font-weight:600;color:var(--ink);}
.site-header .main-header-menu a:hover,
.site-header .current-menu-item>a,
.site-header .current_page_item>a{color:var(--gold)!important;}

/* =====================================================================
   3. Hero
   ================================================================== */
.thz-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--rose-soft),var(--cream));}
.thz-hero__in{
  max-width:var(--maxw);margin:0 auto;padding:clamp(2.5rem,6vw,5rem) 1.2rem;
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;
}
.thz-hero__txt h1{font-size:clamp(2.3rem,5.6vw,4.1rem);margin:.4rem 0 1rem;}
.thz-hero__txt h1 .accent{color:var(--gold);}
.thz-hero__sub{font-size:1.08rem;color:var(--muted);max-width:46ch;margin:0 0 1.7rem;}
.thz-hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;}
.thz-hero__media{position:relative;}
.thz-hero__stage{
  position:relative;border-radius:calc(var(--radius) + 8px);overflow:hidden;
  box-shadow:var(--shadow);aspect-ratio:1/1;background:var(--rose);
}
.thz-hero__stage img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity 1.1s var(--ease),transform 6s linear;
}
.thz-hero__stage img.is-active{opacity:1;transform:scale(1.06);}
.thz-hero__badge{
  position:absolute;left:-12px;bottom:24px;background:#fff;border-radius:var(--radius);
  padding:.8rem 1.1rem;display:flex;align-items:center;gap:.7rem;box-shadow:var(--shadow-soft);
}
.thz-hero__badge .b-ic{font-size:1.5rem;}
.thz-hero__badge b{display:block;font-family:var(--font-head);font-size:1.05rem;}
.thz-hero__badge span span{display:block;color:var(--muted);font-size:.8rem;}
.thz-hero__trust{display:flex;gap:1.6rem;margin-top:1.8rem;flex-wrap:wrap;}
.thz-hero__trust div{font-size:.85rem;color:var(--muted);}
.thz-hero__trust b{display:block;font-family:var(--font-head);font-size:1.5rem;color:var(--ink);}

/* Héro page marque Thereza */
.thz-brand-hero{background:linear-gradient(180deg,var(--rose-soft),var(--cream));padding:clamp(2.6rem,6vw,4.6rem) 0;}
.thz-brand-hero__in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;}
.thz-brand-hero h1{font-size:clamp(2.8rem,8vw,5rem);margin:.2rem 0 1rem;letter-spacing:-.02em;}
.thz-brand-hero .thz-lead{margin-bottom:1.6rem;}
.thz-brand-hero__media img{border-radius:var(--radius);box-shadow:var(--shadow);aspect-ratio:4/5;object-fit:cover;width:100%;}

/* =====================================================================
   4. Marquee (bandeau d'images défilant en continu)
   ================================================================== */
.thz-marquee{overflow:hidden;padding:1.1rem 0;background:var(--cream);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.thz-marquee__track{display:flex;gap:1rem;width:max-content;animation:thz-scroll 40s linear infinite;}
.thz-marquee:hover .thz-marquee__track{animation-play-state:paused;}
.thz-marquee__track img{
  width:230px;height:155px;object-fit:cover;border-radius:var(--radius-sm);flex:0 0 auto;
}
@keyframes thz-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.rtl .thz-marquee__track{animation-direction:reverse;}

/* =====================================================================
   5. Réassurance
   ================================================================== */
.thz-assure{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;}
.thz-assure--3{grid-template-columns:repeat(3,1fr);max-width:980px;margin:0 auto;}
.thz-assure__item{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:1.8rem 1.4rem;text-align:center;transition:.35s var(--ease);
}
.thz-assure__item:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);border-color:var(--gold-soft);}
.thz-assure__ic{
  width:58px;height:58px;margin:0 auto 1rem;border-radius:50%;
  display:grid;place-items:center;font-size:1.6rem;background:var(--rose-soft);
}
.thz-assure__item h3{font-size:1.12rem;margin:0 0 .4rem;}
.thz-assure__item p{margin:0;color:var(--muted);font-size:.92rem;}

/* 3 piliers — slideshow plein-cadre (section sombre) */
.thz-pillars-sec{position:relative;overflow:hidden;}
.thz-pillars-sec::before{
  content:"";position:absolute;top:-30%;left:50%;width:min(900px,90%);height:520px;
  transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(255,90,31,.18),transparent 70%);
}
.thz-pillars-sec .thz-wrap{position:relative;z-index:1;}
.thz-pillars{max-width:1040px;margin:0 auto;}
.thz-pillars__stage{
  position:relative;border-radius:var(--radius);overflow:hidden;
  height:clamp(420px,58vh,560px);
  border:1px solid rgba(255,255,255,.10);box-shadow:var(--shadow);
  background:#0e0e0e;
}
.thz-pillar{
  position:absolute;inset:0;opacity:0;visibility:hidden;
  transition:opacity .9s var(--ease),visibility .9s var(--ease);
}
.thz-pillar.is-active{opacity:1;visibility:visible;}
.thz-pillar__bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  transform:scale(1.06);transition:transform 6s linear;
}
.thz-pillar.is-active .thz-pillar__bg{transform:scale(1.14);}
.thz-pillar::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,10,10,.25) 0%,rgba(10,10,10,.45) 45%,rgba(10,10,10,.85) 100%);
}
.thz-pillar__body{
  position:absolute;inset:auto 0 0 0;z-index:2;text-align:center;
  padding:clamp(1.6rem,4vw,3rem);
}
.thz-pillar__num{
  display:block;font-family:var(--font-head);font-weight:800;
  font-size:.92rem;letter-spacing:.3em;color:var(--gold);margin:0 0 .8rem;
}
.thz-pillar__ic{
  width:70px;height:70px;margin:0 auto 1rem;border-radius:50%;
  display:grid;place-items:center;font-size:1.8rem;
  background:linear-gradient(135deg,var(--gold),var(--gold-deep));
  box-shadow:0 14px 30px -12px rgba(255,90,31,.8);
}
.thz-pillar__body h3{font-size:clamp(1.5rem,3.4vw,2.2rem);margin:0 0 .55rem;color:#fff;}
.thz-pillar__body p{margin:0 auto;max-width:46ch;color:#E6E1D8;font-size:1rem;line-height:1.6;}
/* entrée animée du contenu du slide actif */
.thz-pillar__num,.thz-pillar__ic,.thz-pillar__body h3,.thz-pillar__body p{
  opacity:0;transform:translateY(22px);
}
.thz-pillar.is-active .thz-pillar__num,
.thz-pillar.is-active .thz-pillar__ic,
.thz-pillar.is-active .thz-pillar__body h3,
.thz-pillar.is-active .thz-pillar__body p{
  opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease);
}
.thz-pillar.is-active .thz-pillar__ic{transition-delay:.12s;}
.thz-pillar.is-active .thz-pillar__body h3{transition-delay:.2s;}
.thz-pillar.is-active .thz-pillar__body p{transition-delay:.28s;}
/* onglets sous le slideshow — contrôle segmenté (pilule) */
.thz-pillars__tabs{
  display:flex;justify-content:center;width:fit-content;max-width:100%;margin:1.1rem auto 0;
  padding:.35rem;gap:0;border-radius:var(--radius-pill);
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);
}
.thz-pillars__tab{
  position:relative;overflow:hidden;cursor:pointer;flex:0 1 auto;
  display:flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.6rem 1.15rem;border-radius:var(--radius-pill);font:inherit;
  background:transparent;border:0;color:#C9C3B8;transition:.3s var(--ease);
}
/* séparateur fin entre deux segments inactifs voisins */
.thz-pillars__tab:not(.is-active) + .thz-pillars__tab:not(.is-active)::before{
  content:"";position:absolute;inset-inline-start:0;top:50%;transform:translateY(-50%);
  height:18px;width:1px;background:rgba(255,255,255,.12);
}
.thz-pillars__tab:hover:not(.is-active){color:#fff;background:rgba(255,255,255,.06);}
.thz-pillars__tab.is-active{
  color:#fff;background:linear-gradient(135deg,var(--gold),var(--gold-deep));
  box-shadow:0 10px 24px -12px rgba(255,90,31,.7);
}
.thz-pillars__tab-em{
  width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  font-size:.95rem;line-height:1;background:rgba(255,255,255,.10);transition:.3s var(--ease);
}
.thz-pillars__tab.is-active .thz-pillars__tab-em{background:rgba(255,255,255,.22);}
.thz-pillars__tab-tx{font-weight:700;letter-spacing:.01em;}
.thz-pillars__tab-bar{
  position:absolute;inset-inline-start:0;bottom:0;height:3px;width:0;
  border-radius:3px;background:rgba(255,255,255,.6);
}
.thz-pillars__tab.is-active .thz-pillars__tab-bar{width:100%;transition:width linear;}
@media (prefers-reduced-motion:reduce){
  .thz-pillar__bg,.thz-pillar.is-active .thz-pillar__bg{transition:none;transform:none;}
  .thz-pillars__tab-bar{display:none;}
}

/* =====================================================================
   6. Story
   ================================================================== */
.thz-story__in{
  max-width:var(--maxw);margin:0 auto;padding:0 1.2rem;
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;
}
.thz-story__media img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;aspect-ratio:4/5;object-fit:cover;}
.thz-story__txt h2{font-size:clamp(1.9rem,4.4vw,3rem);margin:.2rem 0 1rem;}
.thz-stats{display:flex;gap:2rem;margin:1.6rem 0;flex-wrap:wrap;}
.thz-stat .n{font-family:var(--font-head);font-size:2.1rem;color:var(--gold-deep);line-height:1;}
.thz-stat .l{color:var(--muted);font-size:.85rem;}
.thz-story__txt .more{color:var(--gold-deep);font-weight:600;text-decoration:none;border-bottom:1px solid var(--gold-soft);padding-bottom:2px;}

/* =====================================================================
   7. Galerie
   ================================================================== */
.thz-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:1rem;}
.thz-gallery figure{margin:0;overflow:hidden;border-radius:var(--radius-sm);}
.thz-gallery figure.tall{grid-row:span 2;}
.thz-gallery figure.wide{grid-column:span 2;}
.thz-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.thz-gallery figure:hover img{transform:scale(1.08);}

/* =====================================================================
   8. Témoignages (carrousel auto)
   ================================================================== */
.thz-quotes{position:relative;max-width:760px;margin:0 auto;}
.thz-quote{
  display:none;text-align:center;padding:2.4rem 1.4rem;
  background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-soft);
}
.thz-quote.is-active{display:block;animation:thz-fade .7s var(--ease);}
@keyframes thz-fade{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.thz-quote .stars{color:var(--gold);letter-spacing:.15em;margin-bottom:.8rem;}
.thz-quote p{font-family:var(--font-head);font-size:1.3rem;font-style:italic;color:var(--ink);margin:0 0 1rem;}
.thz-quote .who{color:var(--muted);font-size:.9rem;font-weight:600;letter-spacing:.05em;}
.thz-dots{display:flex;gap:.5rem;justify-content:center;margin-top:1.4rem;}
.thz-dots button{width:9px;height:9px;border-radius:50%;border:0;background:var(--gold-soft);cursor:pointer;padding:0;transition:.3s;}
.thz-dots button.is-active{background:var(--gold-deep);width:24px;border-radius:6px;}

/* =====================================================================
   9. CTA final
   ================================================================== */
.thz-cta{
  background:linear-gradient(135deg,var(--gold),var(--gold-deep));color:#fff;
  border-radius:calc(var(--radius) + 10px);padding:clamp(2.4rem,5vw,3.8rem) 1.4rem;text-align:center;
  box-shadow:var(--shadow);
}
.thz-cta h2{color:#fff;font-size:clamp(1.9rem,4.4vw,3rem);margin:.2rem 0 .4rem;}
.thz-cta .thz-eyebrow{color:#fff;opacity:.85;}

/* CTA avec image de fond animée (Accueil — « Prêt à commander ? ») */
.thz-cta--media{position:relative;overflow:hidden;background:var(--gold-deep);}
.thz-cta--media > *{position:relative;z-index:2;}
.thz-cta--media .thz-eyebrow,
.thz-cta--media h2,
.thz-cta--media p{text-shadow:0 2px 18px rgba(20,10,0,.35);}
/* couche image : zoom lent (Ken Burns) */
.thz-cta--media::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:url(assets/cta-livraison.jpg) center 40% / cover no-repeat;
  transform:scale(1.06);will-change:transform;
  animation:thz-kenburns 22s var(--ease) infinite alternate;
}
/* voile dégradé orange pour la lisibilité du texte */
.thz-cta--media::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,rgba(255,90,31,.86),rgba(232,67,10,.78));
  mix-blend-mode:multiply;
}
@keyframes thz-kenburns{
  from{transform:scale(1.06) translate3d(0,0,0);}
  to{transform:scale(1.16) translate3d(-1.5%,-1.5%,0);}
}
@media (prefers-reduced-motion:reduce){
  .thz-cta--media::before{animation:none;transform:scale(1.04);}
}
/* variante page Thereza — cosmétique (« Prenez soin de vous ») */
.thz-cta--thereza::before{background-image:url(assets/cta-thereza.jpg);background-position:center 35%;}

/* =====================================================================
   10. Reveal au scroll
   ================================================================== */
.thz-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.thz-reveal.is-in{opacity:1;transform:none;}

/* =====================================================================
   11. WooCommerce — boutique habillée (jamais de panier)
   ================================================================== */
/* Bandeau titre boutique — image de fond animée (Ken Burns) + voile orange,
   même traitement que la CTA d'accueil pour rester harmonisé. */
.thz-shop-hero{position:relative;overflow:hidden;background:var(--ink);padding:clamp(3rem,6vw,5rem) 0;text-align:center;}
.thz-shop-hero__in{position:relative;z-index:2;max-width:720px;margin:0 auto;padding:0 1.2rem;}
.thz-shop-hero h1{font-size:clamp(2rem,5vw,3.2rem);margin:.2rem 0 .5rem;color:#fff;}
.thz-shop-hero .thz-eyebrow{color:#fff;opacity:.9;}
.thz-shop-hero__sub{color:rgba(255,255,255,.92);}
.thz-shop-hero .thz-eyebrow,
.thz-shop-hero h1,
.thz-shop-hero__sub{text-shadow:0 2px 18px rgba(20,10,0,.35);}
.thz-shop-hero::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:url(assets/shop-hero.jpg) center 45% / cover no-repeat;
  transform:scale(1.06);will-change:transform;
  animation:thz-kenburns 24s var(--ease) infinite alternate;
}
.thz-shop-hero::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,rgba(255,90,31,.82),rgba(232,67,10,.74));
  mix-blend-mode:multiply;
}
@media (prefers-reduced-motion:reduce){.thz-shop-hero::before{animation:none;transform:scale(1.04);}}

/* Règle non-négociable : AUCUN panier. Filet de sécurité — masque tout bouton
   « Ajouter au panier » (Astra/Woo) et toute icône panier du header. Notre
   bouton « Voir le produit » (.thz-loop-btn) n'est pas concerné. */
.woocommerce a.add_to_cart_button,
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product a.ajax_add_to_cart,
.ast-on-card-button.ast-shop-results-button,
.site-header-cart,
.ast-site-header-cart,
.ast-header-woo-cart,
.ast-site-header-cart-li,
.ast-cart-menu-wrap{display:none!important;}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{text-align:center;}
.woocommerce ul.products li.product img{border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);margin-bottom:1rem!important;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.15rem;padding-bottom:.3rem;}
.woocommerce ul.products li.product .price{color:var(--ink);font-weight:600;}
.woocommerce ul.products li.product .price del{color:var(--muted);font-weight:400;}
.woocommerce ul.products li.product .price ins{color:var(--gold-deep);text-decoration:none;}
.woocommerce span.onsale,.woocommerce ul.products li.product .onsale{
  background:var(--gold);color:#fff;border-radius:var(--radius-pill);min-height:auto;min-width:auto;
  padding:.3rem .8rem;font-weight:600;line-height:1;
}
.thz-loop-btn{
  display:inline-block;margin-top:.4rem;background:var(--ink);color:#fff!important;
  padding:.6rem 1.3rem;border-radius:var(--radius-pill);font-size:.85rem;font-weight:600;
  text-decoration:none;transition:.3s var(--ease);
}
.thz-loop-btn:hover{background:var(--gold-deep);}
/* Nom de catégorie : il ouvre le bloc résumé, juste sous le bouton « Voir le
   produit » (placé en bas de la vignette) → on l'aère pour ne pas le coller. */
.woocommerce ul.products li.product .ast-woo-product-category{display:block;margin-top:.85rem;}

/* Catégories (shortcode [product_categories]) — cartes assorties à la boutique */
.thz-cats ul.products{margin:0;}
.thz-cats ul.products li.product-category{text-align:center;}
.thz-cats ul.products li.product-category a{text-decoration:none;}
.thz-cats ul.products li.product-category img{border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);margin-bottom:.8rem!important;aspect-ratio:1/1;object-fit:cover;}
.thz-cats ul.products li.product-category h2,
.thz-cats ul.products li.product-category .woocommerce-loop-category__title{font-size:1.05rem;font-family:var(--font-head);font-weight:800;letter-spacing:-.01em;color:var(--ink);margin:.2rem 0;}
.thz-cats ul.products li.product-category .count{display:inline-block;color:var(--muted);font-size:.78rem;font-weight:600;background:var(--cream-2);border-radius:var(--radius-pill);padding:.1rem .65rem;}

/* Fiche produit : titre + prix soignés (le formulaire COD gère le reste) */
.woocommerce div.product .product_title{font-size:clamp(1.8rem,4vw,2.6rem);}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--gold-deep);font-size:1.5rem;}

/* =====================================================================
   12. Contact
   ================================================================== */
/* Bandeau titre contact — même image de fond animée + voile orange que la
   boutique, pour garder les deux sections publiques harmonisées. */
.thz-chero{position:relative;overflow:hidden;background:var(--ink);text-align:center;padding:clamp(3rem,7vw,5.5rem) 1.2rem;}
.thz-chero > *{position:relative;z-index:2;}
.thz-chero h1{font-size:clamp(2.1rem,5vw,3.4rem);margin:.3rem 0 .6rem;color:#fff;}
.thz-chero .thz-eyebrow{color:#fff;opacity:.9;}
.thz-chero p{color:rgba(255,255,255,.92);max-width:52ch;margin:0 auto;}
.thz-chero .thz-eyebrow,
.thz-chero h1,
.thz-chero p{text-shadow:0 2px 18px rgba(20,10,0,.35);}
.thz-chero::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:url(assets/contact-hero.jpg) center 40% / cover no-repeat;
  transform:scale(1.06);will-change:transform;
  animation:thz-kenburns 24s var(--ease) infinite alternate;
}
.thz-chero::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,rgba(255,90,31,.82),rgba(232,67,10,.74));
  mix-blend-mode:multiply;
}
@media (prefers-reduced-motion:reduce){.thz-chero::before{animation:none;transform:scale(1.04);}}
.thz-cgrid{max-width:var(--maxw);margin:0 auto;padding:0 1.2rem;display:grid;grid-template-columns:1fr 1.3fr;gap:1.4rem;}
.thz-cgrid .card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem;}
.thz-cinfo h3{margin:0 0 1.2rem;}
.thz-cinfo .row{display:flex;gap:.9rem;margin-bottom:1.1rem;}
.thz-cinfo .row .ic{font-size:1.2rem;width:38px;height:38px;border-radius:50%;background:var(--rose-soft);display:grid;place-items:center;flex:0 0 auto;}
.thz-cinfo .row b{display:block;font-size:.95rem;}
.thz-cinfo .row span{color:var(--muted);font-size:.9rem;}
.thz-cinfo .row a{color:var(--gold-deep);text-decoration:none;}
.thz-wa{display:inline-flex;align-items:center;gap:.5rem;margin-top:.6rem;background:#25D366;color:#fff;padding:.8rem 1.4rem;border-radius:var(--radius-pill);text-decoration:none;font-weight:600;}

/* Formulaire contact */
.thz-contact .thz-field{margin-bottom:1rem;}
.thz-contact label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem;color:var(--ink);}
.thz-contact input,.thz-contact textarea{
  width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:.85rem 1rem;font-family:var(--font-body);font-size:.95rem;background:var(--cream);color:var(--ink);
  transition:.25s;
}
.thz-contact input:focus,.thz-contact textarea:focus{outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px rgba(255,90,31,.16);}
.thz-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.thz-form-ok{background:#e8f6ec;border:1px solid #b7e0c2;color:#1f7a3d;padding:1rem 1.2rem;border-radius:var(--radius-sm);margin-bottom:1.2rem;}

/* =====================================================================
   13. Footer custom
   ================================================================== */
.thz-footer{background:var(--dark);color:#C9C3B9;}
.thz-foot-row{display:grid;grid-template-columns:1.6fr 1fr 1.2fr 1.2fr;gap:2rem;}
.thz-foot-brand .b{font-family:var(--font-head);font-size:1.8rem;font-weight:700;color:#fff;letter-spacing:.04em;}
.thz-footer h3{color:#fff;font-family:var(--font-body)!important;font-size:1rem;margin:0 0 1rem;}
.thz-footer a{color:#B5AFA4;text-decoration:none;}
.thz-footer a:hover{color:var(--gold);}
.thz-foot-nav{list-style:none;margin:0;padding:0;line-height:2.1;}
.thz-foot-list{list-style:none;margin:0;padding:0;line-height:2.1;color:#B5AFA4;}
.thz-foot-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:2.4rem;padding-top:1.2rem;
  display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;color:#8B8478;font-size:.85rem;}

/* =====================================================================
   14. Switcher de langue (du plugin aod-cod-form, dans la nav)
   ================================================================== */
.aod-lang-switcher,.aod-lang{font-weight:600;}

/* =====================================================================
   15. Responsive (mobile-first checks)
   ================================================================== */
@media (max-width:980px){
  .thz-hero__in,.thz-story__in,.thz-cgrid,.thz-brand-hero__in{grid-template-columns:1fr;}
  .thz-assure{grid-template-columns:repeat(2,1fr);}
  .thz-assure--3{grid-template-columns:repeat(3,1fr);}
  .thz-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px;}
  .thz-hero__media{order:-1;}
  .thz-story__media{order:-1;}
}
@media (max-width:560px){
  .thz-assure,.thz-assure--3{grid-template-columns:1fr;}
  .thz-pillars__stage{height:clamp(360px,70vh,460px);}
  .thz-pillars__tabs{width:100%;}
  .thz-pillars__tab{flex:1 1 0;padding:.55rem .5rem;gap:.4rem;font-size:.82rem;}
  .thz-pillars__tab-em{width:22px;height:22px;font-size:.85rem;}
  .thz-row{grid-template-columns:1fr;}
  .thz-foot-row{grid-template-columns:1fr 1fr;}
  .thz-marquee__track img{width:160px;height:110px;}
  .thz-hero__cta{flex-direction:column;align-items:stretch;}
  .thz-hero__cta .thz-btn{justify-content:center;}
}

/* =====================================================================
   16. RTL (arabe)
   ================================================================== */
.rtl body{direction:rtl;}
.rtl .thz-hero__badge{left:auto;right:-12px;}
.rtl .thz-eyebrow{letter-spacing:0;}
