@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: "woodmart-font";
	src: url("//nl.premium-woodgogmbh.de/wp-content/themes/woodmart/fonts/woodmart-font-1-400.woff2?v=8.3.8") format("woff2");
}

@font-face {
	font-family: "star";
	font-weight: 400;
	font-style: normal;
	src: url("//nl.premium-woodgogmbh.de/wp-content/plugins/woocommerce/assets/fonts/star.eot?#iefix") format("embedded-opentype"), url("//nl.premium-woodgogmbh.de/wp-content/plugins/woocommerce/assets/fonts/star.woff") format("woff"), url("//nl.premium-woodgogmbh.de/wp-content/plugins/woocommerce/assets/fonts/star.ttf") format("truetype"), url("//nl.premium-woodgogmbh.de/wp-content/plugins/woocommerce/assets/fonts/star.svg#star") format("svg");
}

@font-face {
	font-family: "WooCommerce";
	font-weight: 400;
	font-style: normal;
	src: url("//nl.premium-woodgogmbh.de/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.eot?#iefix") format("embedded-opentype"), url("//nl.premium-woodgogmbh.de/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.woff") format("woff"), url("//nl.premium-woodgogmbh.de/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.ttf") format("truetype"), url("//nl.premium-woodgogmbh.de/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.svg#WooCommerce") format("svg");
}

:root {
	--wd-text-font: "Cabin", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: #767676;
	--wd-text-font-size: 14px;
	--wd-title-font: "Cabin", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 600;
	--wd-title-color: #242424;
	--wd-entities-title-font: "Cabin", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 600;
	--wd-entities-title-color: #333333;
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-alternative-font: "Lato", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "Cabin", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 600;
	--wd-widget-title-transform: uppercase;
	--wd-widget-title-color: #333;
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: "Lato", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 700;
	--wd-header-el-transform: uppercase;
	--wd-header-el-font-size: 13px;
	--wd-otl-style: dotted;
	--wd-otl-width: 2px;
	--wd-primary-color: rgb(244,165,28);
	--wd-alternative-color: #fbbc34;
	--btn-default-bgcolor: #f7f7f7;
	--btn-default-bgcolor-hover: #efefef;
	--btn-accented-bgcolor: rgb(244,165,28);
	--btn-accented-bgcolor-hover: rgb(222,150,26);
	--wd-form-brd-width: 2px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
	--wd-link-color: #333333;
	--wd-link-color-hover: #242424;
}
.wd-age-verify-wrap {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: rgb(255,255,255);
	background-image: none;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.wd-promo-popup-wrap {
	--wd-popup-width: 800px;
	--wd-popup-padding: 9px;
}
:is(.woodmart-woocommerce-layered-nav, .wd-product-category-filter) .wd-scroll-content {
	max-height: 223px;
}
.wd-page-title .wd-page-title-bg img {
	object-fit: cover;
	object-position: center center;
}
.wd-footer {
	background-color: rgb(0,0,0);
	background-image: none;
}
html .product.wd-cat .wd-entities-title, html .product.wd-cat.cat-design-replace-title .wd-entities-title, html .wd-masonry-first .wd-cat:first-child .wd-entities-title {
	font-size: 16px;
}
.mfp-wrap.wd-popup-quick-view-wrap {
	--wd-popup-width: 920px;
}
:root{
--wd-container-w: 1222px;
--wd-form-brd-radius: 35px;
--btn-default-color: #333;
--btn-default-color-hover: #333;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 35px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-accented-brd-radius: 35px;
--btn-accented-box-shadow: none;
--btn-accented-box-shadow-hover: none;
--wd-brd-radius: 0px;
}

@media (min-width: 1222px) {
[data-vc-full-width]:not([data-vc-stretch-content]),
:is(.vc_section, .vc_row).wd-section-stretch {
padding-left: calc((100vw - 1222px - var(--wd-sticky-nav-w) - var(--wd-scroll-w)) / 2);
padding-right: calc((100vw - 1222px - var(--wd-sticky-nav-w) - var(--wd-scroll-w)) / 2);
}
}


.wd-page-title {
background-color: #0a0a0a;
}

/* WOOD GO — à coller dans WoodMart > Theme Settings > Custom CSS (Global) */

/* =========================================================================
 * 1. POLICES (auto-hébergées dans /wp-content/uploads/zardo/)
 * ====================================================================== */
@font-face{
  font-family:"Fraunces";
  src:url("/wp-content/uploads/zardo/fonts/fraunces/Fraunces-Variable.woff2") format("woff2");
  font-weight:300 900;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Fraunces";
  src:url("/wp-content/uploads/zardo/fonts/fraunces/Fraunces-Italic-Variable.woff2") format("woff2");
  font-weight:300 900;font-style:italic;font-display:swap;
}
@font-face{
  font-family:"Inter";
  src:url("/wp-content/uploads/zardo/fonts/inter/InterVariable.woff2") format("woff2");
  font-weight:100 900;font-style:normal;font-display:swap;
}

/* =========================================================================
 * 2. DESIGN TOKENS
 *    html:root (spécificité 0,1,1) passe devant le :root généré par WoodMart
 * ====================================================================== */
html:root{

  /* ---- Palette "Forêt de nuit & résine" -------------------------------
   * Pas de vert sapin ni de marron bois classiques : un noir-vert profond,
   * un lichen acidulé en signature, la résine pour l'action, la sciure
   * pour la lumière. Contrastes vérifiés WCAG AA pour les usages indiqués.
   * ------------------------------------------------------------------- */
  --c-night:        #0F1A17; /* Waldnacht — hero, footer, sections sombres, texte des CTA */
  --c-pine:         #1F3A33; /* Kiefernschatten — surfaces sombres secondaires, hover sombre */
  --c-lichen:       #CFDC7A; /* Flechte — SIGNATURE : soulignés, badges PEFC, focus, curseur.
                                UNIQUEMENT sur fond sombre (12:1 sur --c-night) */
  --c-resin:        #D97A2B; /* Harz — CTA principal (texte --c-night dessus : 5.7:1) */
  --c-resin-deep:   #9C4B17; /* Harz dunkel — prix et liens sur fond clair (5.2:1) */
  --c-heartwood:    #8E3B2E; /* Kernholz — rare : erreurs, promo, accent éditorial */
  --c-sawdust:      #F4EDE1; /* Sägespan — fond clair principal */
  --c-birch:        #E6E2D6; /* Birkenrinde — cards, zones alternées, inputs */
  --c-bark:         #2A2622; /* Rinde — texte principal */
  --c-ash:          #625D55; /* Asche — texte secondaire (5.5:1 sur sawdust) */
  --c-white:        #FFFDF9;

  /* ---- Rôles sémantiques (à utiliser dans les composants) ------------ */
  --bg:             var(--c-sawdust);
  --bg-alt:         var(--c-birch);
  --bg-inverse:     var(--c-night);
  --text:           var(--c-bark);
  --text-muted:     var(--c-ash);
  --text-inverse:   var(--c-sawdust);
  --accent:         var(--c-lichen);
  --action:         var(--c-resin);
  --action-text:    var(--c-night);
  --price:          var(--c-resin-deep);
  --line:           rgba(42,38,34,.14);
  --line-inverse:   rgba(244,237,225,.16);
  --focus-ring:     0 0 0 3px var(--c-night), 0 0 0 5px var(--c-lichen);
  --success:        #3F6B4A;
  --error:          var(--c-heartwood);

  /* ---- Mapping WoodMart (régler aussi Theme Settings > Colors) ------- */
  --wd-primary-color:      var(--c-resin);
  --wd-alternative-color:  var(--c-lichen);
  --wd-link-color:         var(--c-bark);
  --wd-link-color-hover:   var(--c-resin-deep);
  --btn-accented-bgcolor:  var(--c-resin);
  --btn-accented-color:    var(--c-night);

  /* ---- Typographie ---------------------------------------------------- */
  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --font-family-headings:var(--font-display);
  --font-family-base:var(--font-body);

  --wd-title-font:var(--font-display);
  --wd-entities-title-font:var(--font-display);
  --wd-text-font:var(--font-body);
  --wd-alternative-font:var(--font-body);
  --wd-widget-title-font:var(--font-body);
  --wd-header-el-font:var(--font-body);

  --fs-hero:clamp(2.75rem,1.4rem + 5.2vw,6.25rem);
  --fs-h1:clamp(2.25rem,1.5rem + 3vw,4rem);
  --fs-h2:clamp(1.75rem,1.3rem + 1.8vw,2.75rem);
  --fs-h3:clamp(1.3rem,1.1rem + .8vw,1.75rem);
  --fs-body:clamp(1rem,.96rem + .2vw,1.0625rem);
  --fs-small:.875rem;
  --fs-label:.75rem;

  /* ---- Espaces, rayons, ombres --------------------------------------- */
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-6:1.5rem; --space-8:2rem;  --space-12:3rem;  --space-16:4rem;
  --space-section:clamp(4rem,2.5rem + 6vw,9rem);
  --container:1320px;

  --radius-s:6px; --radius-m:14px; --radius-l:28px; --radius-pill:999px;

  --shadow-1:0 1px 2px rgba(15,26,23,.06),0 2px 8px rgba(15,26,23,.06);
  --shadow-2:0 8px 24px rgba(15,26,23,.10),0 2px 6px rgba(15,26,23,.06);
  --shadow-3:0 24px 60px rgba(15,26,23,.18);

  /* ---- Mouvement ------------------------------------------------------ */
  --ease-out:cubic-bezier(.22,1,.36,1);     /* entrées, reveals */
  --ease-in-out:cubic-bezier(.65,0,.35,1);  /* transitions de page, sliders */
  --ease-spring:cubic-bezier(.34,1.56,.64,1);/* micro-interactions (ajout panier) */
  --dur-fast:160ms; --dur-base:320ms; --dur-slow:700ms; --dur-reveal:1100ms;
}

/* =========================================================================
 * 3. BASE
 * ====================================================================== */
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:var(--fs-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1,h2,h3,h4,.title,.wd-entities-title,.product_title{
  font-family:var(--font-display);
  font-optical-sizing:auto;
  font-variation-settings:"SOFT" 50;
  letter-spacing:-.015em;
  line-height:1.1;
  color:inherit;
}

/* Mots composés allemands : nécessite lang="de-DE" (langue du site = Deutsch) */
h1,h2,h3,.wd-entities-title,.product_title,.woocommerce-loop-product__title{
  -webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;
}

.price,.amount,.woocommerce-Price-amount,.shop_table,.eh-quick-specs,
.variations,.cart_totals,.woocommerce-checkout-review-order-table{
  font-variant-numeric:tabular-nums;
}
.price,.woocommerce-Price-amount{color:var(--price);}

::selection{background:var(--c-lichen);color:var(--c-night);}

:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-s);}

.zardo-label{
  font-size:var(--fs-label);
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Sections sombres réutilisables */
.zardo-dark{background:var(--bg-inverse);color:var(--text-inverse);}
.zardo-dark a:not(.btn):hover{color:var(--c-lichen);}

/* Accessibilité : on coupe les animations si l'utilisateur le demande */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}


.wgl{
  --wgl-max:1180px;
  --wgl-overlap:clamp(72px, 9vw, 136px);
  --wgl-gutter:clamp(1.25rem, 1rem + 3vw, 4rem);
  color:var(--text);
}

.wgl-sr{
  position:absolute !important;
  width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* ---- HERO -------------------------------------------------------------- */
.wgl-hero{
  position:relative;
  isolation:isolate;
  width:100vw;
  margin-left:calc(50% - 50vw);
  min-height:clamp(440px, 74vh, 780px);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:var(--c-night);
}
.wgl-hero__img{
  position:absolute;
  inset:0;
  z-index:-2;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center 40%;
  transform-origin:60% 45%;
}
/* Voile : lisibilité du titre, garde le haut de la photo lumineux */
.wgl-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,
    rgba(15,26,23,.10) 0%,
    rgba(15,26,23,.30) 40%,
    rgba(15,26,23,.90) 100%);
}
.wgl-hero__inner{
  width:100%;
  max-width:var(--wgl-max);
  margin:0 auto;
  padding:0 var(--wgl-gutter) calc(var(--wgl-overlap) + clamp(2rem, 4vw, 3.5rem));
}
.wgl-hero__title{
  margin:0;
  font-family:var(--font-display);
  font-weight:330;
  font-size:clamp(3.5rem, 1.6rem + 8.5vw, 10rem);
  line-height:.88;
  letter-spacing:-.04em;
  font-variation-settings:"SOFT" 100, "opsz" 144;
  color:var(--c-sawdust);
  -webkit-hyphens:manual; hyphens:manual;
}
.wgl-hero__rule{
  display:block;
  width:72px;
  height:2px;
  margin:clamp(1.25rem, 2vw, 1.75rem) 0 1rem;
  background:var(--c-lichen);
  transform-origin:left center;
}
.wgl-hero__meta{
  margin:0;
  max-width:38ch;
  font-size:clamp(1.05rem, .95rem + .4vw, 1.25rem);
  line-height:1.5;
  color:rgba(244,237,225,.85);
}

/* ---- FEUILLE qui recouvre le bas de l'image ---------------------------- */
.wgl-sheet{
  position:relative;
  z-index:2;
  max-width:var(--wgl-max);
  margin:calc(var(--wgl-overlap) * -1) auto 0;
  padding:clamp(2.5rem, 1rem + 4vw, 5rem) var(--wgl-gutter) clamp(3rem, 5vw, 6rem);
  background:var(--c-sawdust);
  border-radius:var(--radius-l) var(--radius-l) 0 0;
  display:grid;
  grid-template-columns:minmax(170px, 210px) minmax(0, 1fr);
  gap:clamp(2rem, 5vw, 5.5rem);
}

/* ---- TAMPON (Waldhammer) à cheval sur l'image et la feuille ------------ */
.wgl-stamp{
  position:absolute;
  top:0;
  right:var(--wgl-gutter);
  width:clamp(118px, 13vw, 172px);
  aspect-ratio:1;
  padding:5px;
  border-radius:50%;
  background:var(--c-sawdust);
  color:var(--c-resin-deep);
  box-shadow:0 14px 34px rgba(15,26,23,.28);
  transform:translateY(-56%) rotate(-10deg);
}
.wgl-stamp svg{ display:block; width:100%; height:100%; overflow:visible; }
.wgl-stamp__ring{
  font-family:var(--font-body);
  font-size:14.5px;
  font-weight:600;
  letter-spacing:.04em;
  fill:currentColor;
}
.wgl-stamp__center{
  font-family:var(--font-display);
  font-size:46px;
  font-weight:500;
  font-variation-settings:"SOFT" 100;
  fill:currentColor;
}
.wgl-stamp__sub{
  font-family:var(--font-body);
  font-size:15px;
  font-weight:600;
  letter-spacing:.2em;
  fill:currentColor;
}

/* ---- NAVIGATION LATÉRALE ----------------------------------------------- */
.wgl-nav{
  position:sticky;
  top:clamp(96px, 12vh, 140px);
  align-self:start;
}
.wgl-nav ul{ list-style:none; margin:0; padding:0; }
.wgl-nav li{ margin:0; }
.wgl-nav a{
  display:block;
  padding:.5rem 0 .5rem 1rem;
  border-left:2px solid var(--line);
  color:var(--text-muted);
  font-size:.9375rem;
  text-decoration:none;
  transition:color var(--dur-fast) ease, border-color var(--dur-fast) ease;
}
.wgl-nav a:hover,
.wgl-nav a:focus-visible{
  color:var(--text);
  border-left-color:var(--c-resin-deep);
}

/* ---- CONTENU ----------------------------------------------------------- */
.wgl-content{ min-width:0; max-width:70ch; }

.wgl-section{ scroll-margin-top:140px; padding-top:3rem; }
.wgl-section--first{ padding-top:0; }

.wgl-section h2{
  margin:0 0 1rem;
  font-family:var(--font-display);
  font-weight:400;
  font-size:var(--fs-h2);
  letter-spacing:-.02em;
}
.wgl-section h3{
  margin:1.75rem 0 .5rem;
  font-family:var(--font-body);
  font-weight:600;
  font-size:1.0625rem;
  letter-spacing:0;
  line-height:1.4;
}
.wgl-section p{ margin:0 0 1rem; line-height:1.75; }

.wgl-content p a,
.wgl-facts a{
  color:var(--c-resin-deep);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.2em;
  overflow-wrap:anywhere;
}
.wgl-content p a:hover,
.wgl-facts a:hover{ text-decoration-thickness:2px; }

/* Bloc société */
.wgl-company{
  margin:0 0 .6rem !important;
  padding-right:clamp(0px, 14vw, 190px); /* laisse la place au tampon */
  font-family:var(--font-display);
  font-weight:400;
  font-size:var(--fs-h1);
  line-height:1;
  letter-spacing:-.025em;
}
.wgl-address{
  margin:0 0 2rem;
  font-style:normal;
  font-size:1.125rem;
  color:var(--text-muted);
}

/* Actions de contact */
.wgl-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin:0 0 3rem;
}
.wgl-btn{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  min-height:48px;
  padding:0 1.35rem;
  border-radius:var(--radius-pill);
  font-size:.9375rem;
  font-weight:600;
  line-height:1;
  text-decoration:none;
  transition:background-color var(--dur-fast) ease,
             border-color var(--dur-fast) ease,
             transform var(--dur-fast) var(--ease-spring);
}
.wgl-btn:active{ transform:scale(.97); }
.wgl-btn--primary{ background:var(--c-resin); color:var(--c-night); }
.wgl-btn--primary:hover{ background:#E6893B; color:var(--c-night); }
.wgl-btn--ghost{ border:1px solid rgba(42,38,34,.28); color:var(--text); background:transparent; }
.wgl-btn--ghost:hover{ border-color:var(--c-bark); color:var(--text); }

/* Fiche d'identité */
.wgl-facts{ margin:0; border-top:1px solid var(--line); }
.wgl-facts__row{
  display:grid;
  grid-template-columns:minmax(9rem, 13rem) minmax(0, 1fr);
  gap:.25rem 2rem;
  padding:1rem 0;
  border-bottom:1px solid var(--line);
}
.wgl-facts dt{ color:var(--text-muted); font-size:.9375rem; font-weight:400; }
.wgl-facts dd{ margin:0; font-weight:500; font-variant-numeric:tabular-nums; }

.wgl-stand{
  margin-top:3.5rem;
  font-size:var(--fs-small);
  color:var(--text-muted);
}

/* ---- RESPONSIVE -------------------------------------------------------- */
@media (max-width: 900px){
  .wgl-sheet{ grid-template-columns:1fr; }
  .wgl-nav{ display:none; }
}
@media (max-width: 560px){
  .wgl-facts__row{ grid-template-columns:1fr; }
  .wgl-company{ padding-right:0; }
  .wgl-stamp{ width:104px; }
  .wgl-btn{ flex:1 1 auto; justify-content:center; }
}

/* ---- UN SEUL MOMENT ANIMÉ : l'arrivée sur la page ---------------------- */
@keyframes wgl-settle { from{ transform:scale(1.08); } to{ transform:scale(1); } }
@keyframes wgl-rise   { from{ opacity:0; transform:translateY(.3em); } to{ opacity:1; transform:none; } }
@keyframes wgl-grow   { from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
@keyframes wgl-fade   { from{ opacity:0; } to{ opacity:1; } }
@keyframes wgl-stampin{
  0%  { opacity:0; transform:translateY(-56%) rotate(-26deg) scale(1.4); }
  55% { opacity:1; transform:translateY(-56%) rotate(-8deg)  scale(.95); }
  100%{ opacity:1; transform:translateY(-56%) rotate(-10deg) scale(1); }
}

@media (prefers-reduced-motion: no-preference){
  .wgl-hero__img  { animation:wgl-settle 2.4s var(--ease-out) both; }
  .wgl-hero__title{ animation:wgl-rise 1s var(--ease-out) .15s both; }
  .wgl-hero__rule { animation:wgl-grow .8s var(--ease-out) .55s both; }
  .wgl-hero__meta { animation:wgl-fade .8s ease .65s both; }
  .wgl-stamp      { animation:wgl-stampin .7s var(--ease-out) .95s both; }
}

/* =========================================================================
 * HEADER WOODMART — Stammholz Premium
 * À AJOUTER à la fin de WoodMart > Theme Settings > Custom CSS.
 * Utilise uniquement les classes existantes du header builder WoodMart
 * (+ les classes .stamm-… du bandeau défilant).
 * ====================================================================== */

/* ---------- Couleurs ---------- */
.whb-header{
  --hd-bg:#0F1A17;          /* Waldnacht */
  --hd-bg-2:#1F3A33;        /* Kiefernschatten */
  --hd-text:#F4EDE1;        /* Sägespan */
  --hd-muted:rgba(244,237,225,.68);
  --hd-accent:#CFDC7A;      /* Flechte */
  --hd-action:#D97A2B;      /* Harz */
  --hd-line:rgba(244,237,225,.1);
}

/* =========================================================================
 * 1. BANDEAU DÉFILANT (top bar)
 * ====================================================================== */
.whb-header .whb-top-bar{
  background:var(--hd-bg-2) !important;
  border-bottom:1px solid var(--hd-line) !important;
}
.whb-header .whb-top-bar-inner{ min-height:40px; height:40px; }
.whb-header .whb-top-bar .whb-column{ width:100%; max-width:100%; }
.whb-header .whb-top-bar .wd-header-text{ width:100%; padding:0; }

.stamm-top-bar-slider{
  position:relative;
  width:100%;
  overflow:hidden;
  /* fondu doux sur les bords */
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
          mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.stamm-ticker-track{
  display:flex;
  width:max-content;
  animation:stamm-ticker 42s linear infinite;
}
.stamm-top-bar-slider:hover .stamm-ticker-track{ animation-play-state:paused; }
.stamm-ticker-item{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:0 2.25rem;
  white-space:nowrap;
  font-size:13px;
  font-weight:500;
  letter-spacing:.01em;
  color:var(--hd-text);
}
.stamm-ticker-item i{ color:var(--hd-accent); font-size:12px; }
.stamm-ticker-item::after{
  content:"";
  position:absolute;
  right:0; top:50%;
  width:5px; height:5px;
  margin-top:-2.5px;
  border-radius:50%;
  background:var(--hd-action);
}
@keyframes stamm-ticker{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

@media (prefers-reduced-motion: reduce){
  .stamm-ticker-track{ animation:none; width:100%; flex-wrap:wrap; justify-content:center; }
  .stamm-ticker-item:nth-child(n+4){ display:none; }
}

/* =========================================================================
 * 2. BARRE PRINCIPALE
 * ====================================================================== */
.whb-header .whb-general-header,
.whb-header.whb-sticked .whb-general-header,
.whb-clone .whb-general-header{
  background-color:var(--hd-bg) !important;
  border-bottom:1px solid var(--hd-line) !important;
}
.whb-header .whb-general-header-inner{ min-height:84px; }

/* ombre + léger flou quand le header devient collant */
.whb-sticked .whb-main-header,
.whb-clone{
  box-shadow:0 10px 30px rgba(0,0,0,.35) !important;
}
.whb-clone .whb-general-header{ background-color:rgba(15,26,23,.94) !important; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }

/* Logo : léger zoom au survol */
.whb-header .site-logo .wd-logo img{ transition:transform .4s cubic-bezier(.22,1,.36,1); }
.whb-header .site-logo .wd-logo:hover img{ transform:scale(1.03); }

/* =========================================================================
 * 3. MENU PRINCIPAL
 * ====================================================================== */
.whb-header .wd-nav-main{
  --nav-color:var(--hd-text);
  --nav-color-hover:var(--hd-accent);
  --nav-color-active:var(--hd-accent);
  gap:0 4px;
}
.whb-header .wd-nav-main > li > a{
  position:relative;
  height:44px;
  padding:0 14px !important;
  border-radius:999px;
  color:var(--hd-text) !important;
  font-family:var(--font-body, Inter, system-ui, sans-serif);
  font-size:15px;
  font-weight:500;
  text-transform:none;
  letter-spacing:.005em;
  transition:color .18s ease, background-color .18s ease;
}
/* soulignement animé */
.whb-header .wd-nav-main > li > a::after{
  content:"";
  position:absolute;
  left:14px; right:14px; bottom:8px;
  height:2px;
  border-radius:1px;
  background:var(--hd-accent);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.whb-header .wd-nav-main > li > a:hover{ color:var(--hd-accent) !important; background:rgba(244,237,225,.05); }
.whb-header .wd-nav-main > li > a:hover::after{ transform:scaleX(1); }

/* page en cours */
.whb-header .wd-nav-main > li.current-menu-item > a,
.whb-header .wd-nav-main > li.current-menu-ancestor > a{ color:var(--hd-accent) !important; }
.whb-header .wd-nav-main > li.current-menu-item > a::after,
.whb-header .wd-nav-main > li.current-menu-ancestor > a::after{ transform:scaleX(1); background:var(--hd-action); }

/* =========================================================================
 * 4. OUTILS (recherche, compte, liste, comparer, panier)
 * ====================================================================== */
.whb-header .wd-tools-element > a{ color:var(--hd-text) !important; transition:color .18s ease; }
.whb-header .wd-tools-element > a:hover{ color:var(--hd-accent) !important; }
.whb-header .wd-tools-element .wd-tools-icon{ color:inherit; }
.whb-header .wd-tools-element .wd-tools-text{ color:inherit; font-weight:500; font-size:14px; }

/* compteurs (comparer, panier) */
.whb-header .wd-tools-count{
  background:var(--hd-action) !important;
  color:var(--hd-bg) !important;
  font-weight:700;
  box-shadow:0 0 0 2px var(--hd-bg);
}

/* Panier : pilule mise en valeur */
.whb-header .wd-header-cart.wd-design-2 > a{
  gap:10px;
  padding:0 16px 0 12px;
  height:46px;
  border:1px solid rgba(207,220,122,.35);
  border-radius:999px;
  background:rgba(207,220,122,.08);
  transition:background-color .18s ease, border-color .18s ease;
}
.whb-header .wd-header-cart.wd-design-2 > a:hover{ background:rgba(207,220,122,.16); border-color:var(--hd-accent); }
.whb-header .wd-header-cart .wd-cart-subtotal,
.whb-header .wd-header-cart .woocommerce-Price-amount{ color:var(--hd-text) !important; font-weight:600; }

/* Compte : texte discret */
.whb-header .wd-header-my-account .wd-tools-text{ color:var(--hd-muted); }
.whb-header .wd-header-my-account > a:hover .wd-tools-text{ color:var(--hd-accent); }

/* =========================================================================
 * 5. MENUS DÉROULANTS (compte, recherche)
 * ====================================================================== */
.whb-header .wd-dropdown{
  border-radius:16px;
  border:1px solid rgba(42,38,34,.08);
  box-shadow:0 24px 60px rgba(15,26,23,.25) !important;
  overflow:hidden;
}
.whb-header .wd-dropdown-my-account .wd-sub-menu{ padding:8px; }
.whb-header .wd-dropdown-my-account .wd-sub-menu li a{
  display:block;
  padding:10px 14px;
  border-radius:10px;
  color:#2A2622;
  font-weight:500;
  transition:background-color .15s ease, color .15s ease;
}
.whb-header .wd-dropdown-my-account .wd-sub-menu li a:hover{ background:#F4EDE1; color:#9C4B17; }
.whb-header .woocommerce-MyAccount-navigation-link--customer-logout a{ color:#8E3B2E !important; }

/* Recherche déroulante */
.whb-header .wd-search-dropdown{ width:380px; padding:12px; background:#FFFDF9; }
.whb-header .wd-search-dropdown .searchform input.s,
.whb-header .wd-header-search-form-mobile .searchform input.s{
  height:50px;
  padding-left:18px;
  border:1px solid rgba(42,38,34,.18) !important;
  border-radius:999px !important;
  background:#F4EDE1 !important;
  color:#2A2622;
  font-size:15px;
}
.whb-header .searchform input.s:focus{ border-color:#1F3A33 !important; background:#FFFDF9 !important; box-shadow:0 0 0 4px rgba(31,58,51,.12); }
.whb-header .searchform .searchsubmit{ border-radius:999px; }
.whb-header .searchform .searchsubmit:before{ color:#9C4B17; }

/* =========================================================================
 * 6. MOBILE
 * ====================================================================== */
@media (max-width: 1024px){
  .whb-header .whb-general-header-inner{ min-height:68px; }
  .whb-header .wd-header-mobile-nav > a{ color:var(--hd-text) !important; }
  .whb-header .wd-header-mobile-nav .wd-tools-text{ font-weight:600; font-size:13px; }
  .whb-header .wd-header-cart.wd-design-5 .wd-tools-icon{ color:var(--hd-text); }
  .whb-header .whb-header-bottom{ background:var(--hd-bg) !important; border-top:1px solid var(--hd-line) !important; }
  .whb-header .whb-header-bottom-inner{ padding:8px 0 12px; }
  .stamm-ticker-item{ font-size:12px; padding:0 1.5rem; }
}

/* Menu mobile (panneau latéral WoodMart) */
.mobile-nav.wd-side-hidden{ background:#0F1A17; }
.mobile-nav .wd-nav-mobile > li > a{ color:#F4EDE1; border-color:rgba(244,237,225,.08); font-weight:500; }
.mobile-nav .wd-nav-mobile > li.current-menu-item > a,
.mobile-nav .wd-nav-mobile > li > a:hover{ color:#CFDC7A; background:rgba(244,237,225,.04); }

/* Accessibilité : focus visible */
.whb-header a:focus-visible,
.whb-header button:focus-visible{ outline:none; box-shadow:0 0 0 3px #0F1A17, 0 0 0 5px #CFDC7A; border-radius:999px; }



/* =========================================================================
 * CARTES PRODUITS — Stammholz Premium (classe .stp-card ajoutée en PHP)
 * Fichier : /wp-content/uploads/zardo/css/produktkarten.css
 * Chargé en fin de page par PHP : passe après les CSS de WoodMart.
 * ====================================================================== */

.stp-card{
  --st-night:#0F1A17; --st-pine:#1F3A33; --st-lichen:#CFDC7A;
  --st-resin:#D97A2B; --st-resin-deep:#9C4B17; --st-sawdust:#F4EDE1;
  --st-card:#FFFDF9; --st-text:#2A2622; --st-muted:#625D55;
  --st-ease:cubic-bezier(.22,1,.36,1);
}

/* ---------- Carte ---------- */
.wd-product.stp-card .product-wrapper{
  position:relative !important;
  display:flex !important;
  flex-direction:column;
  height:100%;
  padding:10px 10px 0 !important;
  border:1px solid rgba(42,38,34,.08) !important;
  border-radius:24px !important;
  background:var(--st-card) !important;
  box-shadow:0 1px 2px rgba(15,26,23,.04), 0 10px 30px rgba(15,26,23,.06) !important;
  overflow:hidden;
  transition:transform .5s var(--st-ease), box-shadow .5s var(--st-ease), border-color .3s ease;
}
.wd-product.stp-card .product-wrapper *{ box-sizing:border-box; }
.wd-product.stp-card:hover .product-wrapper{
  transform:translateY(-8px);
  border-color:rgba(156,75,23,.25) !important;
  box-shadow:0 30px 60px rgba(15,26,23,.16), 0 6px 14px rgba(15,26,23,.06) !important;
}
.wd-product.stp-card .content-product-imagin,
.wd-product.stp-card .fade-in-block{ display:none !important; }

@keyframes stp-in{ from{ opacity:0; transform:translateY(26px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: no-preference){
  .wd-product.stp-card{ animation:stp-in .7s var(--st-ease) both; }
  .wd-product.stp-card:nth-child(4n+2){ animation-delay:.08s; }
  .wd-product.stp-card:nth-child(4n+3){ animation-delay:.16s; }
  .wd-product.stp-card:nth-child(4n+4){ animation-delay:.24s; }
}

/* ---------- Image ---------- */
.wd-product.stp-card .product-element-top{
  position:relative !important;
  aspect-ratio:4 / 3;
  margin:0 !important;
  border-radius:16px !important;
  overflow:hidden !important;
  background:var(--st-sawdust);
}
.wd-product.stp-card .product-image-link,
.wd-product.stp-card .product-image-link img,
.wd-product.stp-card .hover-img,
.wd-product.stp-card .hover-img img{ display:block; width:100% !important; height:100% !important; object-fit:cover; }
.wd-product.stp-card .product-image-link img,
.wd-product.stp-card .hover-img img{ transition:transform 1.2s var(--st-ease) !important; }
.wd-product.stp-card:hover .product-image-link img,
.wd-product.stp-card:hover .hover-img img{ transform:scale(1.08); }
.wd-product.stp-card .product-element-top::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(15,26,23,.35) 0%, rgba(15,26,23,0) 32%, rgba(15,26,23,0) 58%, rgba(15,26,23,.6) 100%);
}

/* ---------- Badges sur l'image ---------- */
.wd-product.stp-card .stp-badges{
  position:absolute;
  top:22px; left:22px;
  z-index:4;
  display:flex; flex-direction:column; align-items:flex-start; gap:6px;
  pointer-events:none;
}
.wd-product.stp-card .stp-badge{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 11px 6px 8px;
  border-radius:999px;
  font-size:12px; font-weight:700; line-height:1;
  letter-spacing:.01em;
  box-shadow:0 6px 16px rgba(15,26,23,.2);
}
.wd-product.stp-card .stp-badge svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.wd-product.stp-card .stp-badge--free{ background:var(--st-lichen); color:var(--st-night); }
@media (prefers-reduced-motion: no-preference){
  .wd-product.stp-card .stp-badge--free{ animation:stp-pulse 2.8s ease-in-out infinite; }
}
@keyframes stp-pulse{ 0%,100%{ box-shadow:0 6px 16px rgba(15,26,23,.2), 0 0 0 0 rgba(207,220,122,.55); } 50%{ box-shadow:0 6px 16px rgba(15,26,23,.2), 0 0 0 7px rgba(207,220,122,0); } }

.wd-product.stp-card .stp-qty{
  position:absolute;
  left:22px;
  top:calc((100cqw - 20px) * .75 - 24px);
  z-index:4;
  padding:0;
  font-family:var(--font-display, "Fraunces", Georgia, serif);
  font-size:22px; font-weight:500; line-height:1;
  color:#FFFDF9;
  text-shadow:0 2px 10px rgba(0,0,0,.35);
  pointer-events:none;
}
.wd-product.stp-card .product-wrapper{ container-type:inline-size; }

/* catégorie : petite étiquette en haut à droite de l'image */
.wd-product.stp-card .wd-product-cats{
  position:absolute !important;
  top:calc((100cqw - 20px) * .75 - 26px);
  right:22px;
  z-index:4;
  margin:0 !important;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(255,253,249,.92);
  font-size:11.5px; font-weight:600; line-height:1.2;
}
.wd-product.stp-card .wd-product-cats a{ color:var(--st-night) !important; }

/* ---------- Boutons d'action (comparer, aperçu, liste) ---------- */
.wd-product.stp-card .wd-buttons{
  top:12px !important; right:12px !important; z-index:5;
  display:flex !important; flex-direction:column; gap:8px;
  padding:0 !important; background:none !important; box-shadow:none !important;
}
.wd-product.stp-card .wd-buttons .wd-action-btn{
  opacity:0; transform:translateX(16px);
  transition:opacity .35s ease, transform .45s var(--st-ease) !important;
}
.wd-product.stp-card:hover .wd-buttons .wd-action-btn{ opacity:1; transform:none; }
.wd-product.stp-card:hover .wd-buttons .wd-action-btn:nth-child(2){ transition-delay:.05s !important; }
.wd-product.stp-card:hover .wd-buttons .wd-action-btn:nth-child(3){ transition-delay:.1s !important; }
.wd-product.stp-card .wd-buttons .wd-action-btn > a{
   place-items:center;
  width:38px !important; height:38px !important;
  border-radius:50% !important;
  background:rgba(255,253,249,.95) !important;
  color:var(--st-night) !important;
  box-shadow:0 6px 16px rgba(15,26,23,.16);
}
.wd-product.stp-card .wd-buttons .wd-action-btn > a:hover{ background:var(--st-night) !important; color:var(--st-lichen) !important; }

/* ---------- Bas de carte ---------- */
.wd-product.stp-card .product-element-bottom{
  display:flex !important; flex-direction:column; flex:1;
  padding:16px 8px 12px !important;
  text-align:left !important;
  background:none !important;
}
.wd-product.stp-card .wd-entities-title{
  margin:0 0 10px !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:17px !important; font-weight:500 !important; line-height:1.3 !important;
  text-align:left !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.wd-product.stp-card .wd-entities-title a{ color:var(--st-text) !important; }
.wd-product.stp-card .wd-entities-title a:hover{ color:var(--st-resin-deep) !important; }

/* caractéristiques */
.wd-product.stp-card .stp-specs{
  display:flex; flex-wrap:wrap; gap:6px;
  list-style:none; margin:0 0 14px !important; padding:0 !important;
}
.wd-product.stp-card .stp-specs li{
  display:inline-flex; align-items:center; gap:5px;
  margin:0 !important; padding:5px 9px;
  border-radius:8px;
  background:var(--st-sawdust);
  font-size:12px; font-weight:600; color:var(--st-muted); line-height:1.2;
}
.wd-product.stp-card .stp-specs svg{ width:13px; height:13px; fill:none; stroke:var(--st-resin-deep); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* prix */
.wd-product.stp-card .wrap-price{
  margin-top:auto !important;
  padding:12px 0 !important;
  border-top:1px dashed rgba(42,38,34,.18);
  text-align:left !important;
}
.wd-product.stp-card .wrap-price .stp-specs{ margin-top:-2px !important; }
.wd-product.stp-card .price{
  display:flex !important; flex-wrap:wrap; align-items:baseline; gap:4px 8px;
  margin:0 !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:26px !important; font-weight:500 !important; line-height:1.05 !important;
  color:var(--st-night) !important;
  font-variant-numeric:tabular-nums;
}
.wd-product.stp-card .price .amount{ color:inherit !important; }
.wd-product.stp-card .stp-from{ font-family:var(--font-body, Inter, sans-serif); font-size:13px; font-weight:600; color:var(--st-muted); }
.wd-product.stp-card .stp-unit{
  font-family:var(--font-body, Inter, sans-serif);
  font-size:12.5px; font-weight:600; color:var(--st-resin-deep);
}
.wd-product.stp-card .stp-unit .amount{ color:inherit !important; font-size:inherit; }
.wd-product.stp-card .stp-tax{
  flex-basis:100%;
  margin-top:4px;
  font-family:var(--font-body, Inter, sans-serif);
  font-size:11.5px; font-weight:500; color:var(--st-muted);
}

/* bouton */
.wd-product.stp-card .wd-add-btn{ margin:0 !important; }
.wd-product.stp-card .wd-add-btn > a.button{
  display:flex !important; align-items:center; justify-content:space-between;
  width:100% !important;
  min-height:50px !important;
  padding:0 6px 0 18px !important;
  border-radius:999px !important;
  background:var(--st-night) !important;
  color:var(--st-sawdust) !important;
  font-size:14px !important; font-weight:600 !important;
  text-transform:none !important; letter-spacing:.01em !important;
  box-shadow:none !important;
  transition:background-color .3s ease !important;
}
.wd-product.stp-card .wd-add-btn > a.button > span{ transform:none !important; opacity:1 !important; }
.wd-product.stp-card .wd-add-btn > a.button::before{ display:none !important; }
.wd-product.stp-card .wd-add-btn > a.button::after{
  content:"" !important;
  display:block !important;
  position:static !important;
  flex:none;
  width:38px; height:38px;
  border-radius:50%;
  background:var(--st-resin) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F1A17' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / 18px 18px;
  transition:transform .45s cubic-bezier(.34,1.56,.64,1), background-color .3s ease;
}
.wd-product.stp-card:hover .wd-add-btn > a.button{ background:var(--st-pine) !important; }
.wd-product.stp-card:hover .wd-add-btn > a.button::after{ transform:rotate(-45deg); background-color:var(--st-lichen); }

/* ---------- Tactile & mobile ---------- */
@media (hover: none){
  .wd-product.stp-card .wd-buttons .wd-action-btn{ opacity:1; transform:none; }
  .wd-product.stp-card:hover .product-wrapper{ transform:none; }
}
@media (max-width: 576px){
  .wd-product.stp-card .product-wrapper{ padding:6px 6px 0 !important; border-radius:18px !important; }
  .wd-product.stp-card .product-element-top{ border-radius:13px !important; }
  .wd-product.stp-card .stp-badges{ top:12px; left:12px; }
  .wd-product.stp-card .stp-badge{ font-size:10.5px; padding:5px 8px 5px 6px; }
  .wd-product.stp-card .stp-qty{ left:14px; top:calc((100cqw - 12px) * .75 - 20px); font-size:17px; }
  .wd-product.stp-card .wd-product-cats{ display:none !important; }
  .wd-product.stp-card .wd-entities-title{ font-size:14.5px !important; }
  .wd-product.stp-card .stp-specs li:nth-child(3){ display:none; }
  .wd-product.stp-card .price{ font-size:20px !important; }
  .wd-product.stp-card .wd-add-btn > a.button{ min-height:44px !important; font-size:13px !important; padding-left:14px !important; }
  .wd-product.stp-card .wd-add-btn > a.button::after{ width:32px; height:32px; }
}




/* =========================================================================
 * PAGES CATÉGORIES / ESSENCES — Stammholz Premium
 * Fichier : /wp-content/uploads/zardo/css/kategorie.css (chargé en fin de page)
 * ====================================================================== */

.stp-cat, .stp-cat *{ box-sizing:border-box; }
.stp-cat{
  --c-night:#0F1A17; --c-pine:#1F3A33; --c-lichen:#CFDC7A; --c-resin:#D97A2B;
  --c-resin-deep:#9C4B17; --c-sawdust:#F4EDE1; --c-card:#FFFDF9; --c-text:#2A2622; --c-muted:#625D55;
  --ease:cubic-bezier(.22,1,.36,1);
  position:relative;
  margin:0 0 28px;
  padding:clamp(24px, 3vw, 44px);
  border-radius:28px;
  background:
    radial-gradient(600px 300px at 12% 20%, rgba(31,58,51,.95), rgba(31,58,51,0) 70%),
    var(--c-night);
  color:var(--c-sawdust);
  overflow:hidden;
  isolation:isolate;
}
/* cernes de bois décoratifs en fond */
.stp-cat::after{
  content:""; position:absolute; z-index:-1;
  right:-140px; top:-140px; width:420px; height:420px; border-radius:50%;
  background:repeating-radial-gradient(circle, transparent 0 18px, rgba(207,220,122,.08) 18px 19px);
}

/* ---------- Bloc principal ---------- */
.stp-cat__hero{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:clamp(24px, 4vw, 56px);
  align-items:center;
}
.stp-cat__visual{
  position:relative;
  width:clamp(150px, 16vw, 220px);
  aspect-ratio:1;
}
.stp-cat__img{
  position:absolute; inset:14px;
  width:calc(100% - 28px) !important; height:calc(100% - 28px) !important;
  max-width:none !important;
  object-fit:cover;
  border-radius:50%;
  box-shadow:0 18px 40px rgba(0,0,0,.45), 0 0 0 5px var(--c-night);
  transition:transform .8s var(--ease);
}
.stp-cat__visual:hover .stp-cat__img{ transform:scale(1.04) rotate(-2deg); }
.stp-cat__rings{ position:absolute; inset:0; width:100%; height:100%; }
.stp-cat__rings circle{ fill:none; stroke-width:1.5; }
.stp-cat__rings circle:first-child{ stroke:var(--c-lichen); stroke-dasharray:4 9; }
.stp-cat__rings circle:last-child{ stroke:rgba(244,237,225,.2); }
.stp-cat__type{
  position:absolute; left:50%; bottom:-4px; transform:translateX(-50%);
  padding:6px 14px; border-radius:999px;
  background:var(--c-lichen); color:var(--c-night);
  font-size:12px; font-weight:700; white-space:nowrap;
  box-shadow:0 6px 16px rgba(0,0,0,.3);
}

.stp-cat__back{
  display:inline-flex; align-items:center; gap:8px;
  margin-bottom:10px;
  color:var(--c-lichen) !important; font-size:13px; font-weight:600; text-decoration:none !important;
}
.stp-cat__back::before{ content:""; width:18px; height:2px; border-radius:1px; background:currentColor; transition:width .3s var(--ease); }
.stp-cat__back:hover::before{ width:28px; }
.stp-cat__title{
  margin:0 0 12px !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-weight:400 !important;
  font-size:clamp(2.1rem, 1.4rem + 2.6vw, 3.6rem) !important;
  line-height:1 !important;
  letter-spacing:-.03em;
  color:var(--c-sawdust) !important;
}
.stp-cat__desc{ max-width:62ch; margin:0 0 20px !important; font-size:1.02rem; line-height:1.65; color:rgba(244,237,225,.82); }

.stp-cat__facts{ display:flex; flex-wrap:wrap; gap:10px; list-style:none; margin:0 !important; padding:0 !important; }
.stp-cat__fact{
  display:inline-flex; align-items:center; gap:8px;
  margin:0 !important; padding:9px 14px;
  border:1px solid rgba(244,237,225,.14); border-radius:999px;
  background:rgba(244,237,225,.05);
  font-size:14px; font-weight:600; color:var(--c-sawdust);
}
.stp-cat__fact small{ font-size:12px; font-weight:500; color:rgba(244,237,225,.6); }
.stp-cat__fact--price{ border-color:transparent; background:var(--c-resin); color:var(--c-night); font-size:15px; }
.stp-cat__fact--price span, .stp-cat__fact--price small{ color:rgba(15,26,23,.7); font-weight:600; }
.stp-cat__fact--price .amount{ color:var(--c-night) !important; font-weight:700; }
.stp-cat__fact--free{ color:var(--c-lichen); }
.stp-cat__fact--free svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.stp-cat__dots{ display:inline-flex; gap:3px; }
.stp-cat__dots i{ display:block; width:14px; height:5px; border-radius:3px; background:rgba(244,237,225,.18); }
.stp-cat__dots i.on{ background:var(--c-resin); }

/* ---------- Navigation des essences en ronds ---------- */
.stp-cat__nav{
  display:flex;
  gap:clamp(12px, 1.6vw, 22px);
  margin-top:clamp(24px, 3vw, 36px);
  padding:22px 4px 4px;
  border-top:1px solid rgba(244,237,225,.1);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-mask-image:linear-gradient(90deg, #000 92%, transparent);
          mask-image:linear-gradient(90deg, #000 92%, transparent);
}
.stp-cat__nav::-webkit-scrollbar{ display:none; }
.stp-cat__chip{
  flex:none;
  display:flex; flex-direction:column; align-items:center; gap:8px;
  width:84px;
  scroll-snap-align:start;
  text-decoration:none !important;
}
.stp-cat__chipimg{
  position:relative;
  display:grid; place-items:center;
  width:72px; height:72px;
  border-radius:50%;
  padding:3px;
  background:rgba(244,237,225,.14);
  transition:transform .4s var(--ease), background .3s ease;
}
.stp-cat__chipimg img{ width:100% !important; height:100% !important; object-fit:cover; border-radius:50%; border:3px solid var(--c-night); }
.stp-cat__chipimg--all{ background:rgba(244,237,225,.14); }
.stp-cat__chipimg--all svg{ width:26px; height:26px; fill:none; stroke:var(--c-sawdust); stroke-width:1.8; }
.stp-cat__chipname{ font-size:12.5px; font-weight:600; line-height:1.2; text-align:center; color:rgba(244,237,225,.75); transition:color .2s ease; }
.stp-cat__chip:hover .stp-cat__chipimg{ transform:translateY(-4px); background:var(--c-resin); }
.stp-cat__chip:hover .stp-cat__chipname{ color:var(--c-sawdust); }
.stp-cat__chip.is-active .stp-cat__chipimg{ background:conic-gradient(var(--c-lichen), var(--c-resin), var(--c-lichen)); }
.stp-cat__chip.is-active .stp-cat__chipname{ color:var(--c-lichen); }
.stp-cat__chip:focus-visible{ outline:none; }
.stp-cat__chip:focus-visible .stp-cat__chipimg{ box-shadow:0 0 0 3px var(--c-lichen); }

/* ---------- Animations ---------- */
@keyframes stp-cat-in{ from{ opacity:0; transform:translateY(20px); } to{ opacity:1; transform:none; } }
@keyframes stp-cat-pop{ from{ opacity:0; transform:scale(.7) rotate(-8deg); } to{ opacity:1; transform:none; } }
@keyframes stp-cat-spin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion: no-preference){
  .stp-cat__visual{ animation:stp-cat-pop .9s var(--ease) both; }
  .stp-cat__rings{ animation:stp-cat-spin 40s linear infinite; }
  .stp-cat__text > *{ animation:stp-cat-in .8s var(--ease) both; }
  .stp-cat__text > *:nth-child(2){ animation-delay:.08s; }
  .stp-cat__text > *:nth-child(3){ animation-delay:.16s; }
  .stp-cat__text > *:nth-child(4){ animation-delay:.24s; }
  .stp-cat__chip{ animation:stp-cat-in .6s var(--ease) both; }
  .stp-cat__chip:nth-child(2){ animation-delay:.04s; } .stp-cat__chip:nth-child(3){ animation-delay:.08s; }
  .stp-cat__chip:nth-child(4){ animation-delay:.12s; } .stp-cat__chip:nth-child(5){ animation-delay:.16s; }
  .stp-cat__chip:nth-child(6){ animation-delay:.2s; }  .stp-cat__chip:nth-child(7){ animation-delay:.24s; }
  .stp-cat__chip:nth-child(8){ animation-delay:.28s; } .stp-cat__chip:nth-child(9){ animation-delay:.32s; }
  .stp-cat__chip:nth-child(10){ animation-delay:.36s; } .stp-cat__chip:nth-child(11){ animation-delay:.4s; }
}

/* =========================================================================
 * ÉLÉMENTS WOODMART DE LA PAGE (titre, fil d'Ariane, barre d'outils)
 * ====================================================================== */
/* le titre WoodMart fait doublon avec notre h1 */
body:has(.stp-cat) .wd-woo-page-title{ display:none !important; }
/* le bandeau gris d'origine devient transparent */
body.tax-product_cat .wd-content-area > .wpb-content-wrapper > .vc_row:first-child{
  background:transparent !important;
  margin-top:0 !important;
  padding-top:20px !important;
  padding-bottom:0 !important;
}
/* fil d'Ariane */
body.tax-product_cat .wd-breadcrumbs{ font-size:13px; color:#625D55; }
body.tax-product_cat .wd-breadcrumbs a{ color:#625D55; }
body.tax-product_cat .wd-breadcrumbs a:hover{ color:#9C4B17; }
body.tax-product_cat .wd-breadcrumbs .wd-last{ color:#2A2622; font-weight:600; }

/* barre d'outils : filtre, nombre par page, tri */
body.tax-product_cat .wd-shop-filters-btn .open-filters{
  display:inline-flex; align-items:center; gap:8px;
  height:44px; padding:0 18px !important;
  border:1px solid rgba(42,38,34,.18); border-radius:999px;
  background:#FFFDF9; color:#2A2622 !important; font-weight:600; text-transform:none;
  transition:border-color .2s ease, background .2s ease;
}
body.tax-product_cat .wd-shop-filters-btn .open-filters:hover{ border-color:#1F3A33; }
body.tax-product_cat .wd-products-per-page .per-page-variation{ color:#625D55; }
body.tax-product_cat .wd-products-per-page .current-variation,
body.tax-product_cat .wd-products-per-page .per-page-variation:hover{ color:#9C4B17; font-weight:700; }
body.tax-product_cat .woocommerce-ordering select.orderby{
  height:44px; padding:0 40px 0 16px !important;
  border:1px solid rgba(42,38,34,.18) !important; border-radius:999px !important;
  background-color:#FFFDF9 !important; font-weight:500; color:#2A2622;
}
body.tax-product_cat .filters-area{ border-radius:20px; background:#FFFDF9; padding:20px 24px; box-shadow:0 10px 30px rgba(15,26,23,.06); }

/* ---------- Responsive ---------- */
@media (max-width: 767px){
  .stp-cat{ padding:22px 18px; border-radius:22px; }
  .stp-cat__hero{ grid-template-columns:1fr; justify-items:center; text-align:center; }
  .stp-cat__desc{ margin-left:auto !important; margin-right:auto !important; }
  .stp-cat__facts{ justify-content:center; }
  .stp-cat__fact{ font-size:13px; padding:8px 12px; }
  .stp-cat__chip{ width:72px; }
  .stp-cat__chipimg{ width:62px; height:62px; }
}


/* =========================================================================
 * PANIER RAPIDE — Stammholz Premium
 * Fichier : /wp-content/uploads/zardo/css/minicart.css
 * Chargé par minicart-functions.php. Classes d'origine WoodMart / WooCommerce.
 * ====================================================================== */

.cart-widget-side{
  --mc-night:#0F1A17; --mc-pine:#1F3A33; --mc-lichen:#CFDC7A; --mc-resin:#D97A2B;
  --mc-resin-deep:#9C4B17; --mc-sawdust:#F4EDE1; --mc-card:#FFFDF9; --mc-text:#2A2622; --mc-muted:#625D55;
  --mc-line:rgba(42,38,34,.1);
  display:flex; flex-direction:column;
  background:var(--mc-sawdust) !important;
  box-shadow:-24px 0 60px rgba(15,26,23,.25) !important;
}

/* ---------- En-tête ---------- */
.cart-widget-side .wd-heading{
  padding:22px 22px !important;
  border-bottom:0 !important;
  background:var(--mc-night) !important;
}
.cart-widget-side .wd-heading .title{
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:24px !important; font-weight:400 !important;
  text-transform:none !important; letter-spacing:-.01em !important;
  color:var(--mc-sawdust) !important;
}
.cart-widget-side .close-side-widget a{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 12px !important; border-radius:999px;
  background:rgba(244,237,225,.1);
  color:var(--mc-sawdust) !important; font-size:13px !important; font-weight:600 !important; text-transform:none !important;
  transition:background-color .2s ease;
}
.cart-widget-side .close-side-widget a:hover{ background:rgba(244,237,225,.2); }
.cart-widget-side .close-side-widget a::before{ color:var(--mc-lichen) !important; }

/* ---------- Articles ---------- */
.cart-widget-side .shopping-cart-widget-body{ padding:16px 16px 4px !important; }
.cart-widget-side .woocommerce-mini-cart{ margin:0 !important; padding:0 !important; }
.cart-widget-side .woocommerce-mini-cart-item{
  position:relative;
  display:flex !important; gap:14px; align-items:flex-start;
  margin:0 0 12px !important; padding:14px !important;
  border:1px solid var(--mc-line) !important; border-radius:18px;
  background:var(--mc-card);
  box-shadow:0 6px 18px rgba(15,26,23,.06);
  transition:box-shadow .25s ease, transform .25s ease;
}
.cart-widget-side .woocommerce-mini-cart-item:hover{ box-shadow:0 12px 28px rgba(15,26,23,.1); transform:translateY(-2px); }
.cart-widget-side .cart-item-image{ flex:none; position:relative; z-index:2; margin:0 !important; }
.cart-widget-side .cart-item-image img{
  width:78px !important; height:78px !important; max-width:none !important;
  object-fit:cover; border-radius:14px;
}
.cart-widget-side .cart-info{ flex:1; min-width:0; padding-right:22px; }
.cart-widget-side .cart-info .wd-entities-title{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  margin-bottom:8px !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:15px !important; font-weight:500 !important; line-height:1.3 !important;
  color:var(--mc-text) !important;
}
/* options choisies en pastilles */
.cart-widget-side ul.variation{ display:flex; flex-wrap:wrap; gap:5px; margin:0 0 10px !important; padding:0 !important; list-style:none; }
.cart-widget-side ul.variation li{
  display:inline-flex; align-items:center; gap:4px;
  margin:0 !important; padding:3px 9px;
  border-radius:999px; background:var(--mc-sawdust);
  font-size:11.5px; line-height:1.3; color:var(--mc-muted);
}
.cart-widget-side ul.variation .item-variation-name{ font-weight:500;}
.cart-widget-side ul.variation .item-variation-value,
.cart-widget-side ul.variation .item-variation-value p{ display:inline; margin:0 !important; font-weight:700; color:var(--mc-text); }
.cart-widget-side .cart-info .quantity{
  display:block;
  font-size:13px; font-weight:600; color:var(--mc-muted) !important;
}
.cart-widget-side .cart-info .quantity .amount{
  font-family:var(--font-display, "Fraunces", Georgia, serif);
  font-size:18px; font-weight:500; color:var(--mc-night) !important;
}
/* bouton supprimer */
.cart-widget-side .woocommerce-mini-cart-item .remove{
  position:absolute !important; top:10px !important; right:10px !important; left:auto !important; z-index:3;
  display:grid !important; place-items:center;
  width:26px !important; height:26px !important;
  border-radius:50% !important;
  background:var(--mc-sawdust) !important; color:var(--mc-muted) !important;
  font-size:16px !important; line-height:1 !important;
  transition:background-color .2s ease, color .2s ease, transform .2s ease;
}
.cart-widget-side .woocommerce-mini-cart-item .remove:hover{ background:#8E3B2E !important; color:#fff !important; transform:rotate(90deg); }

/* ---------- Pied : camion, total, boutons ---------- */
.cart-widget-side .shopping-cart-widget-footer{
  padding:0 16px 18px !important;
  border-top:0 !important;
  background:transparent !important;
}

/* camion animé */
.stp-mc-truck{
  margin:4px 0 14px;
  padding:14px 14px 10px;
  border-radius:18px;
  background:var(--mc-pine, #1F3A33);
  overflow:hidden;
}
.stp-mc-truck__scene{
  position:relative;
  height:64px;
  /* route */
  background:
    linear-gradient(#0F1A17, #0F1A17) left bottom / 100% 10px no-repeat;
  border-radius:8px;
  overflow:hidden;
}
/* pointillés de la route qui défilent */
.stp-mc-truck__scene::before{
  content:""; position:absolute; left:0; right:0; bottom:4px; height:2px;
  background:repeating-linear-gradient(90deg, #CFDC7A 0 12px, transparent 12px 24px);
  opacity:.7;
  animation:stp-mc-road .6s linear infinite;
}
/* sapins lointains qui défilent lentement */
.stp-mc-truck__scene::after{
  content:""; position:absolute; left:0; right:0; bottom:10px; height:30px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3Cg fill='%23173028'%3E%3Cpath d='M8 30 L14 8 L20 30z'/%3E%3Cpath d='M22 30 L26 16 L30 30z'/%3E%3Cpath d='M36 30 L43 4 L50 30z'/%3E%3Cpath d='M50 30 L54 18 L58 30z'/%3E%3C/g%3E%3C/svg%3E") repeat-x left bottom / 60px 30px;
  animation:stp-mc-trees 6s linear infinite;
}
@keyframes stp-mc-trees{ to{ background-position:-60px bottom; } }
.stp-mc-truck__svg{
  position:absolute; bottom:6px; left:0;
  width:140px; height:auto;
  z-index:1;
  animation:stp-mc-drive 7s linear infinite;
}
.stp-mc-truck__wheel{ transform-box:fill-box; transform-origin:center; animation:stp-mc-spin .5s linear infinite; }
.stp-mc-truck__text{
  margin:10px 0 0 !important;
  font-size:12.5px; line-height:1.4; text-align:center;
  color:rgba(244,237,225,.8);
}
.stp-mc-truck__text strong{ color:var(--mc-lichen, #CFDC7A); }

@keyframes stp-mc-drive{
  0%   { transform:translateX(-140px); }
  100% { transform:translateX(calc(100cqw + 10px)); }
}
@keyframes stp-mc-road{ to{ background-position:-24px 0; } }
@keyframes stp-mc-spin{ to{ transform:rotate(360deg); } }
.stp-mc-truck__scene{ container-type:inline-size; }
/* petit rebond de la cabine */
@keyframes stp-mc-bump{ 0%,100%{ translate:0 0; } 50%{ translate:0 -1px; } }
.stp-mc-truck__svg{ animation:stp-mc-drive 7s linear infinite, stp-mc-bump .4s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce){
  .stp-mc-truck__svg{ animation:none; left:50%; transform:translateX(-50%); }
  .stp-mc-truck__wheel, .stp-mc-truck__scene::before, .stp-mc-truck__scene::after{ animation:none; }
}

/* total */
.cart-widget-side .woocommerce-mini-cart__total{
  display:flex !important; align-items:baseline; justify-content:space-between;
  margin:0 0 14px !important; padding:14px 4px !important;
  border-top:1px dashed rgba(42,38,34,.2) !important; border-bottom:0 !important;
}
.cart-widget-side .woocommerce-mini-cart__total strong{ font-size:14px; font-weight:600; color:var(--mc-muted); text-transform:none; }
.cart-widget-side .woocommerce-mini-cart__total .amount{
  font-family:var(--font-display, "Fraunces", Georgia, serif);
  font-size:26px; font-weight:500; color:var(--mc-night) !important;
}

/* boutons */
.cart-widget-side .woocommerce-mini-cart__buttons{ display:grid !important; gap:10px; margin:0 !important; }
.cart-widget-side .woocommerce-mini-cart__buttons .button{
  display:flex !important; align-items:center; justify-content:center;
  width:100%; min-height:54px; margin:0 !important;
  border-radius:999px !important;
  font-size:15px !important; font-weight:700 !important; text-transform:none !important; letter-spacing:.01em !important;
  transition:background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease !important;
}
.cart-widget-side .woocommerce-mini-cart__buttons .checkout{
  order:-1;
  background:var(--mc-resin) !important; color:var(--mc-night) !important; border:0 !important;
  box-shadow:0 12px 26px rgba(217,122,43,.3);
}
.cart-widget-side .woocommerce-mini-cart__buttons .checkout:hover{ background:#E6893B !important; transform:translateY(-2px); }
.cart-widget-side .woocommerce-mini-cart__buttons .btn-cart{
  background:transparent !important; color:var(--mc-text) !important;
  border:1.5px solid rgba(42,38,34,.25) !important; box-shadow:none !important;
}
.cart-widget-side .woocommerce-mini-cart__buttons .btn-cart:hover{ border-color:var(--mc-night) !important; }

/* panier vide */
.cart-widget-side .woocommerce-mini-cart__empty-message{
  margin:24px 16px !important; padding:28px 20px !important;
  border:1px dashed rgba(42,38,34,.25); border-radius:18px;
  text-align:center; font-size:15px; color:var(--mc-muted);
}
.cart-widget-side .wd-empty-mini-cart .btn,
.cart-widget-side .return-to-shop .button{
  border-radius:999px !important; background:var(--mc-night) !important; color:var(--mc-sawdust) !important; text-transform:none !important;
}

/* entrée des articles */
@keyframes stp-mc-in{ from{ opacity:0; transform:translateX(20px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: no-preference){
  .cart-widget-side.wd-opened .woocommerce-mini-cart-item{ animation:stp-mc-in .45s cubic-bezier(.22,1,.36,1) both; }
  .cart-widget-side.wd-opened .woocommerce-mini-cart-item:nth-child(2){ animation-delay:.06s; }
  .cart-widget-side.wd-opened .woocommerce-mini-cart-item:nth-child(3){ animation-delay:.12s; }
}

/* =========================================================================
 * PAGE PANIER — Stammholz Premium
 * Fichier : /wp-content/uploads/zardo/css/warenkorb.css
 * Chargé par warenkorb-functions.php. Classes d'origine WoodMart / WooCommerce.
 * ====================================================================== */

body.woocommerce-cart{
  --ck-night:#0F1A17; --ck-pine:#1F3A33; --ck-lichen:#CFDC7A; --ck-resin:#D97A2B;
  --ck-resin-deep:#9C4B17; --ck-sawdust:#F4EDE1; --ck-card:#FFFDF9; --ck-text:#2A2622; --ck-muted:#625D55;
  --ck-line:rgba(42,38,34,.1);
}

/* =========================================================================
 * BANDEAU + ÉTAPES
 * ====================================================================== */
body.woocommerce-cart .wd-page-title{ padding:56px 0 !important; }
body.woocommerce-cart .wd-page-title-bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(15,26,23,.55), rgba(15,26,23,.8));
}
body.woocommerce-cart .wd-checkout-steps{
  display:flex; justify-content:center; flex-wrap:wrap; gap:8px;
  margin:0 !important; padding:0 !important; list-style:none;
  counter-reset:ckstep;
}
body.woocommerce-cart .wd-checkout-steps li{
  counter-increment:ckstep;
  display:flex; align-items:center;
  margin:0 !important; padding:0 !important;
}
body.woocommerce-cart .wd-checkout-steps li::after{ display:none !important; }
body.woocommerce-cart .wd-checkout-steps li > a,
body.woocommerce-cart .wd-checkout-steps li > span{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 18px 10px 10px;
  border:1px solid rgba(244,237,225,.25); border-radius:999px;
  background:rgba(15,26,23,.4); backdrop-filter:blur(6px);
  color:rgba(244,237,225,.75) !important;
  font-size:14px; font-weight:600; text-transform:none; letter-spacing:.01em;
}
body.woocommerce-cart .wd-checkout-steps li > a::before,
body.woocommerce-cart .wd-checkout-steps li > span::before{
  content:counter(ckstep);
  display:grid; place-items:center; width:28px; height:28px; border-radius:50%;
  background:rgba(244,237,225,.15); color:var(--ck-sawdust);
  font-size:13px; font-weight:700;
}
body.woocommerce-cart .wd-checkout-steps li > a span,
body.woocommerce-cart .wd-checkout-steps li > span span{ color:inherit !important; }
body.woocommerce-cart .wd-checkout-steps .step-active > a,
body.woocommerce-cart .wd-checkout-steps .step-active > span{
  border-color:var(--ck-lichen); background:var(--ck-night); color:var(--ck-sawdust) !important;
}
body.woocommerce-cart .wd-checkout-steps .step-active > a::before,
body.woocommerce-cart .wd-checkout-steps .step-active > span::before{ background:var(--ck-lichen); color:var(--ck-night); }

/* =========================================================================
 * TABLEAU → CARTES
 * ====================================================================== */
body.woocommerce-cart table.cart{ border:0 !important; margin:0 !important; background:none !important; }
body.woocommerce-cart table.cart thead{ display:none !important; }
body.woocommerce-cart table.cart tbody{ display:grid; gap:14px; }

body.woocommerce-cart table.cart tr.cart_item{
  position:relative;
  display:grid !important;
  grid-template-columns:110px minmax(0, 1fr) auto;
  grid-template-areas:
    "thumb name     remove"
    "thumb price    subtotal";
  gap:6px 18px;
  align-items:start;
  padding:18px !important;
  border:1px solid var(--ck-line); border-radius:22px;
  background:var(--ck-card);
  box-shadow:0 8px 24px rgba(15,26,23,.06);
  transition:box-shadow .25s ease;
}
body.woocommerce-cart table.cart tr.cart_item:hover{ box-shadow:0 14px 34px rgba(15,26,23,.1); }
body.woocommerce-cart table.cart tr.cart_item td{
  display:block !important; padding:0 !important; border:0 !important; text-align:left !important; background:none !important;
}
body.woocommerce-cart table.cart tr.cart_item td::before{ display:none !important; }

body.woocommerce-cart table.cart td.product-thumbnail{ grid-area:thumb; }
body.woocommerce-cart table.cart td.product-thumbnail img{
  width:110px !important; height:110px !important; max-width:none !important;
  object-fit:cover; border-radius:16px;
}
body.woocommerce-cart table.cart td.product-name{ grid-area:name; min-width:0; }
body.woocommerce-cart table.cart td.product-name > a{
  display:block; margin-bottom:10px;
  font-family:var(--font-display, "Fraunces", Georgia, serif);
  font-size:18px; font-weight:500; line-height:1.3;
  color:var(--ck-text) !important;
}
body.woocommerce-cart table.cart td.product-name > a:hover{ color:var(--ck-resin-deep) !important; }

/* options en pastilles */
body.woocommerce-cart table.cart ul.variation{ display:flex; flex-wrap:wrap; gap:6px; margin:0 !important; padding:0 !important; list-style:none; }
body.woocommerce-cart table.cart ul.variation li{
  display:inline-flex; gap:4px; align-items:center;
  margin:0 !important; padding:4px 10px; border-radius:999px;
  background:var(--ck-sawdust); font-size:12.5px; color:var(--ck-muted);
}
body.woocommerce-cart table.cart ul.variation .item-variation-value,
body.woocommerce-cart table.cart ul.variation .item-variation-value p{ display:inline; margin:0 !important; font-weight:700; color:var(--ck-text); }

body.woocommerce-cart table.cart td.product-price{
  grid-area:price; align-self:end;
  font-size:13px; color:var(--ck-muted);
}
body.woocommerce-cart table.cart td.product-price::after{ content:" / Stück"; }
body.woocommerce-cart table.cart td.product-subtotal{
  grid-area:subtotal; align-self:end; text-align:right !important;
}
body.woocommerce-cart table.cart td.product-subtotal .amount{
  font-family:var(--font-display, "Fraunces", Georgia, serif);
  font-size:24px; font-weight:500; color:var(--ck-night) !important;
}

/* quantité masquée (comme sur la fiche produit) */
body.woocommerce-cart table.cart tr.cart_item td.product-quantity{ display:none !important; }
body.woocommerce-cart button[name="update_cart"]{ display:none !important; }

/* supprimer */
body.woocommerce-cart table.cart td.product-remove{ grid-area:remove; justify-self:end; }
body.woocommerce-cart table.cart td.product-remove .remove{
  display:grid !important; place-items:center;
  width:32px !important; height:32px !important;
  border-radius:50% !important;
  background:var(--ck-sawdust) !important; color:var(--ck-muted) !important;
  font-size:18px !important; line-height:1 !important;
  transition:background-color .2s ease, color .2s ease, transform .25s ease;
}
body.woocommerce-cart table.cart td.product-remove .remove:hover{ background:#8E3B2E !important; color:#fff !important; transform:rotate(90deg); }

/* ligne gutschein */
body.woocommerce-cart table.cart tr.wd-cart-action-row{ display:block !important; }
body.woocommerce-cart table.cart tr.wd-cart-action-row td{ display:block !important; padding:6px 0 0 !important; border:0 !important; }
body.woocommerce-cart .cart-actions{ display:flex !important; }
body.woocommerce-cart .wd-coupon-form{ display:flex !important; gap:8px; width:100%; max-width:460px; }
body.woocommerce-cart .wd-coupon-form .input-text{
  flex:1; height:50px !important; padding:0 18px !important;
  border:1px solid rgba(42,38,34,.18) !important; border-radius:999px !important; background:var(--ck-card) !important;
}
body.woocommerce-cart .wd-coupon-form .button{
  height:50px; padding:0 22px !important; border-radius:999px !important;
  background:var(--ck-night) !important; color:var(--ck-sawdust) !important; text-transform:none !important; font-weight:600 !important;
}

/* =========================================================================
 * TOTAL
 * ====================================================================== */
/* on retire le cadre gris d'origine WoodMart autour du total */
body.woocommerce-cart .wd-cart-totals{ position:sticky; top:110px; }
body.woocommerce-cart .vc_row-has-fill:has(.wd-cart-totals){ border:0 !important; padding:0 !important; background:none !important; }

body.woocommerce-cart .cart_totals{
  padding:26px !important;
  border-radius:24px;
  background:var(--ck-night);
  color:var(--ck-sawdust);
  box-shadow:0 24px 50px rgba(15,26,23,.2);
}
body.woocommerce-cart .cart_totals h2{
  margin:0 0 16px !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:24px !important; font-weight:400 !important; text-transform:none !important;
  color:var(--ck-sawdust) !important;
}
body.woocommerce-cart .cart_totals table{ margin:0 0 20px !important; border:0 !important; }
body.woocommerce-cart .cart_totals th,
body.woocommerce-cart .cart_totals td{
  padding:12px 0 !important; border:0 !important; border-bottom:1px solid rgba(244,237,225,.1) !important;
  background:none !important; color:rgba(244,237,225,.8) !important; font-size:14px;
}
body.woocommerce-cart .cart_totals th{ text-align:left !important; font-weight:500; }
body.woocommerce-cart .cart_totals td{ text-align:right !important; }
body.woocommerce-cart .cart_totals td .amount{ color:var(--ck-sawdust) !important; font-weight:600; }
body.woocommerce-cart .cart_totals .cart-discount td{ color:var(--ck-lichen) !important; }
body.woocommerce-cart .cart_totals .cart-discount td .amount{ color:var(--ck-lichen) !important; }
body.woocommerce-cart .cart_totals .woocommerce-remove-coupon{ margin-left:6px; font-size:12px; color:rgba(244,237,225,.5) !important; }
body.woocommerce-cart .cart_totals .shipping td{ font-size:13px; line-height:1.5; }
body.woocommerce-cart .cart_totals .shipping-calculator-button{ color:var(--ck-lichen) !important; font-weight:600; }
body.woocommerce-cart .cart_totals .shipping-calculator-form{ margin-top:10px; text-align:left; }
body.woocommerce-cart .cart_totals .shipping-calculator-form label{ color:rgba(244,237,225,.7) !important; font-size:12px; }
body.woocommerce-cart .cart_totals .shipping-calculator-form input,
body.woocommerce-cart .cart_totals .shipping-calculator-form select{
  border-radius:12px !important; border:1px solid rgba(244,237,225,.2) !important;
  background:rgba(244,237,225,.06) !important; color:var(--ck-sawdust) !important;
}
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td{ border-bottom:0 !important; padding-top:16px !important; }
body.woocommerce-cart .cart_totals .order-total th{ font-size:16px; font-weight:600; color:var(--ck-sawdust) !important; }
body.woocommerce-cart .cart_totals .order-total .amount{
  font-family:var(--font-display, "Fraunces", Georgia, serif);
  font-size:32px; font-weight:500; color:var(--ck-sawdust) !important;
}
body.woocommerce-cart .wc-proceed-to-checkout{ padding:0 !important; }
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button{
  display:flex !important; align-items:center; justify-content:center; gap:10px;
  width:100%; min-height:60px; margin:0 !important;
  border-radius:999px !important;
  background:var(--ck-resin) !important; color:var(--ck-night) !important;
  font-size:16px !important; font-weight:700 !important; text-transform:none !important; letter-spacing:.01em !important;
  box-shadow:0 12px 28px rgba(217,122,43,.35);
  transition:background-color .2s ease, transform .2s ease;
}
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button::after{
  content:""; width:20px; height:20px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F1A17' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
  transition:transform .3s ease;
}
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover{ background:#E6893B !important; transform:translateY(-2px); }
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover::after{ transform:translateX(4px); }

/* réassurance sous le total */
.stp-cart-trust{
  margin-top:14px; padding:18px;
  border:1px solid rgba(42,38,34,.1); border-radius:20px; background:#FFFDF9;
}
.stp-cart-trust ul{ display:grid; gap:12px; margin:0 !important; padding:0 !important; list-style:none; }
.stp-cart-trust li{ display:flex; gap:12px; align-items:flex-start; margin:0 !important; }
.stp-cart-trust li > span:last-child{ display:flex; flex-direction:column; font-size:12.5px; line-height:1.4; color:#625D55; }
.stp-cart-trust strong{ font-size:14px; color:#2A2622; }
.stp-cart-trust__ico{ flex:none; display:grid; place-items:center; width:36px; height:36px; border-radius:11px; background:#F4EDE1; }
.stp-cart-trust__ico svg{ width:19px; height:19px; fill:none; stroke:#9C4B17; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.stp-cart-trust__call{
  display:block; margin-top:14px; padding:12px 14px; border-radius:14px;
  background:#1F3A33; color:rgba(244,237,225,.8) !important; font-size:13px; text-align:center; text-decoration:none !important;
}
.stp-cart-trust__call strong{ color:#CFDC7A; font-size:15px; margin-left:4px; }

/* =========================================================================
 * ANIMATIONS & MOBILE
 * ====================================================================== */
@keyframes ck-in{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: no-preference){
  body.woocommerce-cart table.cart tr.cart_item{ animation:ck-in .5s cubic-bezier(.22,1,.36,1) both; }
  body.woocommerce-cart table.cart tr.cart_item:nth-child(2){ animation-delay:.07s; }
  body.woocommerce-cart table.cart tr.cart_item:nth-child(3){ animation-delay:.14s; }
  body.woocommerce-cart .cart_totals{ animation:ck-in .6s cubic-bezier(.22,1,.36,1) .1s both; }
}
@media (max-width: 767px){
  body.woocommerce-cart table.cart tr.cart_item{
    grid-template-columns:84px minmax(0, 1fr) auto;
    padding:14px !important;
  }
  body.woocommerce-cart table.cart td.product-thumbnail img{ width:84px !important; height:84px !important; }
  body.woocommerce-cart table.cart td.product-name > a{ font-size:15.5px; }
  body.woocommerce-cart table.cart td.product-subtotal .amount{ font-size:20px; }
  body.woocommerce-cart .wd-cart-totals{ position:static; }
  body.woocommerce-cart .wd-checkout-steps li > a,
  body.woocommerce-cart .wd-checkout-steps li > span{ padding:8px 14px 8px 8px; font-size:12.5px; }
}

/* =========================================================================
 * PAGE COMMANDE — Stammholz Premium
 * Fichier : /wp-content/uploads/zardo/css/kasse.css
 * Chargé par kasse-functions.php. Classes d'origine WoodMart / WooCommerce.
 * ====================================================================== */

body.woocommerce-checkout{
  --ck-night:#0F1A17; --ck-pine:#1F3A33; --ck-lichen:#CFDC7A; --ck-resin:#D97A2B;
  --ck-resin-deep:#9C4B17; --ck-sawdust:#F4EDE1; --ck-card:#FFFDF9; --ck-text:#2A2622; --ck-muted:#625D55;
  --ck-line:rgba(42,38,34,.14);
  --ck-ease:cubic-bezier(.22,1,.36,1);
}

/* vagues décoratives WoodMart retirées */
body.woocommerce-checkout .wd-row-divider{ display:none !important; }

/* ---------- Bandeau gutschein ---------- */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  display:flex; align-items:center; gap:8px;
  padding:14px 18px !important; border:0 !important; border-radius:16px;
  background:var(--ck-card) !important; color:var(--ck-muted) !important; font-size:14px;
  box-shadow:0 6px 18px rgba(15,26,23,.05);
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before{ display:none !important; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon{ color:var(--ck-resin-deep) !important; font-weight:600; }
body.woocommerce-checkout .checkout_coupon{ border:0 !important; padding:14px 0 0 !important; }

/* =========================================================================
 * COLONNE GAUCHE : FORMULAIRE
 * ====================================================================== */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields{
  padding:26px 26px 12px;
  margin-bottom:16px;
  border:1px solid var(--ck-line); border-radius:24px;
  background:var(--ck-card);
}
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3{
  margin:0 0 18px !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:24px !important; font-weight:400 !important; text-transform:none !important;
  color:var(--ck-text) !important;
}
body.woocommerce-checkout #ship-to-different-address{ margin:0 !important; font-size:16px !important; }
body.woocommerce-checkout #ship-to-different-address label{ display:flex; align-items:center; gap:10px; cursor:pointer; font-family:var(--font-body, Inter, sans-serif); font-size:15px; font-weight:600; }
body.woocommerce-checkout #ship-to-different-address input{ width:20px; height:20px; accent-color:var(--ck-pine); }
body.woocommerce-checkout .shipping_address{ margin-top:18px; }

body.woocommerce-checkout .form-row{ margin-bottom:16px !important; }
body.woocommerce-checkout .form-row label{
  margin-bottom:7px !important;
  font-size:13px !important; font-weight:600 !important; color:var(--ck-text) !important; text-transform:none !important;
}
body.woocommerce-checkout .form-row .required{ color:var(--ck-resin-deep) !important; }
body.woocommerce-checkout .form-row .optional{ font-weight:400; color:var(--ck-muted); }
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .select2-container .select2-selection--single{
  height:52px !important;
  padding:0 16px !important;
  border:1px solid var(--ck-line) !important; border-radius:14px !important;
  background:var(--ck-sawdust) !important; color:var(--ck-text) !important;
  font-size:15px !important; box-shadow:none !important;
  transition:border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
body.woocommerce-checkout .form-row textarea{ height:110px !important; padding:14px 16px !important; }
body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered{ line-height:50px !important; padding:0 !important; color:var(--ck-text) !important; }
body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow{ height:50px !important; right:10px !important; }
body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row textarea:focus,
body.woocommerce-checkout .select2-container--open .select2-selection--single{
  outline:none; border-color:var(--ck-pine) !important; background:var(--ck-card) !important;
  box-shadow:0 0 0 4px rgba(31,58,51,.12) !important;
}
body.woocommerce-checkout .form-row.woocommerce-invalid input.input-text{ border-color:#8E3B2E !important; background:#FBF1EE !important; }
body.woocommerce-checkout .form-row.woocommerce-validated input.input-text{ border-color:rgba(31,58,51,.45) !important; }
.select2-dropdown{ border-radius:14px !important; border-color:rgba(42,38,34,.14) !important; overflow:hidden; box-shadow:0 18px 40px rgba(15,26,23,.15); }
.select2-results__option--highlighted{ background:#1F3A33 !important; color:#F4EDE1 !important; }

/* =========================================================================
 * COLONNE DROITE : RÉCAPITULATIF
 * ====================================================================== */
body.woocommerce-checkout .wd-rs-6214d5d52cd2e .vc_row-has-fill{
  padding:0 !important; background:none !important;
}
body.woocommerce-checkout .wd-rs-6214d5d52cd2e > .vc_column-inner{ position:sticky; top:100px; }

body.woocommerce-checkout .title-wrapper .woodmart-title-container{
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:26px !important; font-weight:400 !important; color:var(--ck-text) !important;
}
body.woocommerce-checkout .wd-order-table{
  padding:22px !important; border-radius:24px 24px 0 0;
  background:var(--ck-night) !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table{ margin:0 !important; border:0 !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td{
  padding:12px 0 !important; border:0 !important; border-bottom:1px solid rgba(244,237,225,.1) !important;
  background:none !important; color:rgba(244,237,225,.85) !important; font-size:14px;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th{
  padding-top:0 !important; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:rgba(244,237,225,.5) !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td{ text-align:right !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name{ text-align:left !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .amount{ white-space:nowrap; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th.product-total{ text-align:right !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name{ font-weight:600; color:var(--ck-sawdust) !important; line-height:1.4; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-quantity{ color:var(--ck-lichen); }
body.woocommerce-checkout .woocommerce-checkout-review-order-table ul.variation{ display:flex; flex-wrap:wrap; gap:5px; margin:8px 0 0 !important; padding:0 !important; list-style:none; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table ul.variation li{
  display:inline-flex; gap:4px; margin:0 !important; padding:3px 9px; border-radius:999px;
  background:rgba(244,237,225,.08); font-size:11.5px; font-weight:400; color:rgba(244,237,225,.65);
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table ul.variation .item-variation-value,
body.woocommerce-checkout .woocommerce-checkout-review-order-table ul.variation p{ display:inline; margin:0 !important; font-weight:700; color:var(--ck-sawdust); }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .amount{ color:var(--ck-sawdust) !important; font-weight:600; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-remove-coupon{ font-size:12px; color:rgba(244,237,225,.5) !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td{ border-bottom:0 !important; padding-top:16px !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th{ font-size:16px; color:var(--ck-sawdust) !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total .amount{
  font-family:var(--font-display, "Fraunces", Georgia, serif);
  font-size:32px; font-weight:500;
}

/* =========================================================================
 * PAIEMENT
 * ====================================================================== */
body.woocommerce-checkout #payment{
  padding:0 22px 22px !important; border-radius:0 0 24px 24px;
  background:var(--ck-night) !important;
}
body.woocommerce-checkout #payment .payment_methods{ margin:0 !important; padding:0 0 16px !important; border:0 !important; }
body.woocommerce-checkout #payment .wc_payment_method{ margin:0 !important; list-style:none; }
body.woocommerce-checkout #payment .wc_payment_method > label{
  display:flex !important; align-items:center; gap:10px;
  padding:14px 16px !important; border-radius:14px;
  border:1px solid rgba(207,220,122,.4);
  background:rgba(207,220,122,.08);
  color:var(--ck-sawdust) !important; font-size:15px !important; font-weight:600 !important;
}
body.woocommerce-checkout #payment .wc_payment_method > label::before{
  content:""; width:22px; height:22px; flex:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CFDC7A' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10 12 4l9 6M5 10v8M9.5 10v8M14.5 10v8M19 10v8M3 20h18'/%3E%3C/svg%3E") no-repeat center / contain;
}
body.woocommerce-checkout #payment .payment_box{
  margin:10px 0 0 !important; padding:14px 16px !important; border-radius:14px;
  background:rgba(244,237,225,.06) !important; color:rgba(244,237,225,.75) !important; font-size:13px; line-height:1.55;
}
body.woocommerce-checkout #payment .payment_box::before{ display:none !important; }
body.woocommerce-checkout #payment .place-order{ padding:0 !important; margin:0 !important; }
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text p,
body.woocommerce-checkout .stp-ck-note p{ margin:0 0 10px !important; font-size:12.5px; line-height:1.5; color:rgba(244,237,225,.6) !important; }
body.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper a,
body.woocommerce-checkout .stp-ck-note a{ color:var(--ck-lichen) !important; text-decoration:underline; text-underline-offset:.2em; }
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row{ margin:0 0 12px !important; }
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label{ color:var(--ck-sawdust) !important; font-weight:500 !important; }

/* =========================================================================
 * BOUTON « ZAHLUNGSPFLICHTIG BESTELLEN » ANIMÉ
 * ====================================================================== */
body.woocommerce-checkout #place_order{
  position:relative; overflow:hidden;
  display:flex !important; align-items:center; justify-content:center; gap:12px;
  width:100% !important; min-height:62px; margin:6px 0 0 !important;
  border:0 !important; border-radius:999px !important;
  background:var(--ck-resin) !important; color:var(--ck-night) !important;
  font-size:17px !important; font-weight:800 !important; text-transform:none !important; letter-spacing:.01em !important;
  box-shadow:0 14px 30px rgba(217,122,43,.35);
  transition:background-color .2s ease, transform .25s var(--ck-ease), box-shadow .25s ease !important;
  isolation:isolate;
}
/* reflet qui balaie le bouton toutes les 4 s */
body.woocommerce-checkout #place_order::before{
  content:""; position:absolute; top:0; bottom:0; left:-40%; width:30%; z-index:-1;
  background:linear-gradient(100deg, transparent, rgba(255,253,249,.55), transparent);
  transform:skewX(-20deg);
  animation:ck-shine 4s ease-in-out infinite;
}
/* petit camion qui avance au survol */
body.woocommerce-checkout #place_order::after{
  content:""; width:26px; height:26px; flex:none; order:-1;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F1A17' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v9H3zM14 9h4l3 3v3h-7z'/%3E%3Ccircle cx='7' cy='17' r='2'/%3E%3Ccircle cx='17' cy='17' r='2'/%3E%3C/svg%3E") no-repeat center / contain;
  transition:transform .45s var(--ck-ease);
}
body.woocommerce-checkout #place_order:hover{ background:#E6893B !important; transform:translateY(-2px); box-shadow:0 18px 38px rgba(217,122,43,.45); }
body.woocommerce-checkout #place_order:hover::after{ transform:translateX(6px); animation:ck-bump .35s ease-in-out infinite; }
body.woocommerce-checkout #place_order:active{ transform:scale(.98); }
body.woocommerce-checkout #place_order:focus-visible{ outline:none; box-shadow:0 0 0 3px var(--ck-night), 0 0 0 6px var(--ck-lichen) !important; }

/* pendant l'envoi : le camion traverse le bouton */
body.woocommerce-checkout form.checkout.processing #place_order{
  color:transparent !important; pointer-events:none;
}
body.woocommerce-checkout form.checkout.processing #place_order::after{
  position:absolute; left:0; top:50%; margin-top:-13px;
  animation:ck-drive 1.4s linear infinite;
}
body.woocommerce-checkout form.checkout.processing #place_order::before{
  left:0; width:100%; transform:none; opacity:.25;
  background:repeating-linear-gradient(90deg, var(--ck-night) 0 14px, transparent 14px 28px) left 72% / 100% 3px no-repeat;
  animation:ck-road .5s linear infinite;
}

@keyframes ck-shine{ 0%, 60%{ left:-40%; } 100%{ left:130%; } }
@keyframes ck-bump{ 0%,100%{ translate:0 0; } 50%{ translate:0 -2px; } }
@keyframes ck-drive{ from{ transform:translateX(-40px); } to{ transform:translateX(calc(100cqw + 10px)); } }
@keyframes ck-road{ to{ background-position:-28px 72%; } }
body.woocommerce-checkout #place_order{ container-type:inline-size; }

@media (prefers-reduced-motion: reduce){
  body.woocommerce-checkout #place_order::before,
  body.woocommerce-checkout #place_order:hover::after{ animation:none; }
  body.woocommerce-checkout form.checkout.processing #place_order{ color:var(--ck-night) !important; }
  body.woocommerce-checkout form.checkout.processing #place_order::after{ position:static; margin:0; animation:none; }
}

/* réassurance sous le bouton */
.stp-ck-trust{
  display:flex; flex-wrap:wrap; justify-content:center; gap:8px 16px;
  margin:16px 0 0 !important; padding:0 !important; list-style:none;
}
.stp-ck-trust li{ display:inline-flex; align-items:center; gap:6px; margin:0 !important; font-size:12.5px; color:rgba(244,237,225,.75); }
.stp-ck-trust svg{ width:16px; height:16px; fill:none; stroke:#CFDC7A; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* =========================================================================
 * MOBILE
 * ====================================================================== */
@media (max-width: 767px){
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields,
  body.woocommerce-checkout .woocommerce-additional-fields{ padding:20px 16px 8px; border-radius:20px; }
  body.woocommerce-checkout .wd-rs-6214d5d52cd2e > .vc_column-inner{ position:static; padding-left:15px !important; }
  body.woocommerce-checkout .wd-order-table{ padding:18px !important; }
  body.woocommerce-checkout #payment{ padding:0 18px 18px !important; }
}

.item-variation-name{ font-weight:500; color:#fff !important;}
.woocommerce-shipping-methods label {
    color: #fff !important;
}

/* =========================================================================
 * PAGE DE CONFIRMATION DE COMMANDE — Stammholz Premium
 * Fichier : /wp-content/uploads/zardo/css/danke.css
 * Chargé par danke-functions.php. Classes d'origine WoodMart / WooCommerce.
 * ====================================================================== */

body.woocommerce-order-received{
  --ty-night:#0F1A17; --ty-pine:#1F3A33; --ty-lichen:#CFDC7A; --ty-resin:#D97A2B;
  --ty-resin-deep:#9C4B17; --ty-sawdust:#F4EDE1; --ty-card:#FFFDF9; --ty-text:#2A2622; --ty-muted:#625D55;
  --ty-line:rgba(42,38,34,.12);
  --ty-ease:cubic-bezier(.22,1,.36,1);
}
body.woocommerce-order-received .woocommerce-order{ max-width:980px; margin:0 auto; }

/* ---------- Étapes du bandeau ---------- */
body.woocommerce-order-received .wd-page-title{ padding:56px 0 !important; }
body.woocommerce-order-received .wd-page-title-bg::after{
  content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,26,23,.55), rgba(15,26,23,.8));
}
body.woocommerce-order-received .wd-checkout-steps{
  display:flex; justify-content:center; flex-wrap:wrap; gap:8px;
  margin:0 !important; padding:0 !important; list-style:none; counter-reset:tystep;
}
body.woocommerce-order-received .wd-checkout-steps li{ counter-increment:tystep; margin:0 !important; padding:0 !important; }
body.woocommerce-order-received .wd-checkout-steps li::after{ display:none !important; }
body.woocommerce-order-received .wd-checkout-steps li > a,
body.woocommerce-order-received .wd-checkout-steps li > span{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 18px 10px 10px;
  border:1px solid rgba(244,237,225,.25); border-radius:999px;
  background:rgba(15,26,23,.4); backdrop-filter:blur(6px);
  color:rgba(244,237,225,.75) !important; font-size:14px; font-weight:600; text-transform:none;
}
body.woocommerce-order-received .wd-checkout-steps li > a::before,
body.woocommerce-order-received .wd-checkout-steps li > span::before{
  content:"✓"; display:grid; place-items:center; width:28px; height:28px; border-radius:50%;
  background:rgba(207,220,122,.25); color:var(--ty-lichen); font-size:14px; font-weight:700;
}
body.woocommerce-order-received .wd-checkout-steps li > a span,
body.woocommerce-order-received .wd-checkout-steps li > span span{ color:inherit !important; }
body.woocommerce-order-received .wd-checkout-steps .step-active > span{
  border-color:var(--ty-lichen); background:var(--ty-night); color:var(--ty-sawdust) !important;
}
body.woocommerce-order-received .wd-checkout-steps .step-active > span::before{ background:var(--ty-lichen); color:var(--ty-night); }

/* =========================================================================
 * MESSAGE DE SUCCÈS avec coche animée
 * ====================================================================== */
body.woocommerce-order-received .woocommerce-thankyou-order-received{
  position:relative;
  display:flex; flex-direction:column; align-items:center; gap:14px;
  margin:0 0 22px !important; padding:36px 24px 30px !important;
  border:0 !important; border-radius:28px;
  background:radial-gradient(520px 240px at 50% 0%, rgba(31,58,51,.95), rgba(31,58,51,0) 70%), var(--ty-night) !important;
  color:var(--ty-sawdust) !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif);
  font-size:clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem) !important; font-weight:400 !important;
  line-height:1.15; text-align:center; letter-spacing:-.02em;
  overflow:hidden;
}
body.woocommerce-order-received .woocommerce-thankyou-order-received::before{
  content:"";
  width:76px; height:76px; border-radius:50%;
  background:var(--ty-lichen) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F1A17' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat center / 40px 40px;
  box-shadow:0 0 0 10px rgba(207,220,122,.15), 0 0 0 22px rgba(207,220,122,.07);
}
body.woocommerce-order-received .woocommerce-thankyou-order-received::after{
  content:"Wir haben Ihre Bestellung erhalten und melden uns in Kürze per E-Mail.";
  font-family:var(--font-body, Inter, sans-serif); font-size:15px; letter-spacing:0; color:rgba(244,237,225,.75);
}
@keyframes ty-pop{ 0%{ transform:scale(.3); opacity:0; } 60%{ transform:scale(1.1); opacity:1; } 100%{ transform:scale(1); } }
@keyframes ty-ring{ 0%{ box-shadow:0 0 0 0 rgba(207,220,122,.45), 0 0 0 0 rgba(207,220,122,.2); } 100%{ box-shadow:0 0 0 10px rgba(207,220,122,.15), 0 0 0 22px rgba(207,220,122,.07); } }
@keyframes ty-up{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: no-preference){
  body.woocommerce-order-received .woocommerce-thankyou-order-received::before{ animation:ty-pop .7s var(--ty-ease) .15s both, ty-ring 1.2s ease-out .5s both; }
  body.woocommerce-order-received .woocommerce-order-overview,
  body.woocommerce-order-received .stp-ty-steps,
  body.woocommerce-order-received .woocommerce-order-details,
  body.woocommerce-order-received .woocommerce-customer-details{ animation:ty-up .6s var(--ty-ease) both; }
  body.woocommerce-order-received .woocommerce-order-overview{ animation-delay:.25s; }
  body.woocommerce-order-received .stp-ty-steps{ animation-delay:.35s; }
  body.woocommerce-order-received .woocommerce-order-details{ animation-delay:.45s; }
  body.woocommerce-order-received .woocommerce-customer-details{ animation-delay:.55s; }
}

/* =========================================================================
 * RÉSUMÉ (numéro, date, e-mail, total, paiement)
 * ====================================================================== */
body.woocommerce-order-received .woocommerce-order-overview{
  display:grid !important; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:10px;
  margin:0 0 18px !important; padding:0 !important; list-style:none; border:0 !important;
}
body.woocommerce-order-received .woocommerce-order-overview li{
  display:flex; flex-direction:column; gap:4px;
  margin:0 !important; padding:14px 16px !important;
  border:1px solid var(--ty-line) !important; border-radius:16px;
  background:var(--ty-card);
  font-size:12px !important; font-weight:500; text-transform:none !important; color:var(--ty-muted);
}
body.woocommerce-order-received .woocommerce-order-overview li strong{
  font-size:15px !important; font-weight:700; color:var(--ty-text); word-break:break-word;
}
body.woocommerce-order-received .woocommerce-order-overview li.woocommerce-order-overview__order strong{ font-family:var(--font-display, "Fraunces", Georgia, serif); font-size:22px !important; font-weight:500; color:var(--ty-resin-deep); }
body.woocommerce-order-received .woocommerce-order-overview__total{ background:var(--ty-pine) !important; border-color:transparent !important; color:rgba(244,237,225,.7) !important; }
body.woocommerce-order-received .woocommerce-order-overview li.woocommerce-order-overview__total strong,
body.woocommerce-order-received .woocommerce-order-overview li.woocommerce-order-overview__total .amount{ font-family:var(--font-display, "Fraunces", Georgia, serif); font-size:22px !important; font-weight:500; color:var(--ty-sawdust) !important; }

/* texte du moyen de paiement (instructions) */
body.woocommerce-order-received .woocommerce-order > p:not(.woocommerce-notice){
  margin:0 0 22px !important; padding:16px 18px 16px 58px;
  position:relative;
  border-radius:16px; background:rgba(207,220,122,.18);
  font-size:14.5px; line-height:1.6; color:var(--ty-text);
}
body.woocommerce-order-received .woocommerce-order > p:not(.woocommerce-notice)::before{
  content:""; position:absolute; left:16px; top:16px; width:28px; height:28px; border-radius:9px;
  background:var(--ty-pine) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CFDC7A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10 12 4l9 6M5 10v8M9.5 10v8M14.5 10v8M19 10v8M3 20h18'/%3E%3C/svg%3E") no-repeat center / 17px 17px;
}
/* coordonnées bancaires WooCommerce (si renseignées) */
body.woocommerce-order-received .woocommerce-bacs-bank-details{
  margin:0 0 22px; padding:20px; border-radius:20px; background:var(--ty-card); border:1px solid var(--ty-line);
}
body.woocommerce-order-received .wc-bacs-bank-details-heading{ margin:0 0 12px !important; font-family:var(--font-display, "Fraunces", Georgia, serif); font-size:22px !important; font-weight:400; }
body.woocommerce-order-received .wc-bacs-bank-details-account-name{ margin:0 0 10px !important; font-size:15px !important; font-weight:700; }
body.woocommerce-order-received ul.wc-bacs-bank-details{ display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:8px; margin:0 !important; padding:0 !important; list-style:none; }
body.woocommerce-order-received ul.wc-bacs-bank-details li{ margin:0 !important; padding:10px 12px; border-radius:12px; background:var(--ty-sawdust); font-size:12px; color:var(--ty-muted); }
body.woocommerce-order-received ul.wc-bacs-bank-details li strong{ display:block; font-size:14.5px; color:var(--ty-text); letter-spacing:.02em; font-variant-numeric:tabular-nums; }

/* =========================================================================
 * « SO GEHT ES WEITER »
 * ====================================================================== */
.stp-ty-steps{ margin:0 0 26px; padding:24px; border-radius:24px; background:#FFFDF9; border:1px solid rgba(42,38,34,.12); }
.stp-ty-steps__title{ margin:0 0 18px !important; font-family:var(--font-display, "Fraunces", Georgia, serif) !important; font-size:24px !important; font-weight:400 !important; text-transform:none !important; }
.stp-ty-steps__list{ display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:0; margin:0 !important; padding:0 !important; list-style:none; counter-reset:tysteps; }
.stp-ty-steps__list li{ position:relative; display:flex; flex-direction:column; gap:10px; margin:0 !important; padding:0 12px 0 0; counter-increment:tysteps; }
.stp-ty-steps__list li::before{
  content:""; position:absolute; top:17px; left:36px; right:0; height:2px;
  background:repeating-linear-gradient(90deg, rgba(42,38,34,.25) 0 6px, transparent 6px 12px);
}
.stp-ty-steps__list li:last-child::before{ display:none; }
.stp-ty-steps__list li.is-done::before{ background:#1F3A33; }
.stp-ty-steps__dot{
  position:relative; z-index:1;
  display:grid; place-items:center; width:36px; height:36px; border-radius:50%;
  background:#F4EDE1; border:2px solid rgba(42,38,34,.18); color:#625D55; font-weight:700; font-size:14px;
}
.stp-ty-steps__dot::before{ content:counter(tysteps); }
.stp-ty-steps__list li.is-done .stp-ty-steps__dot{ background:#1F3A33; border-color:#1F3A33; color:#CFDC7A; }
.stp-ty-steps__list li.is-done .stp-ty-steps__dot::before{ content:"✓"; }
.stp-ty-steps__list li:nth-child(2) .stp-ty-steps__dot{ border-color:#D97A2B; color:#9C4B17; }
.stp-ty-steps__list strong{ display:block; font-size:14px; color:#2A2622; line-height:1.3; }
.stp-ty-steps__list div > span{ display:block; margin-top:3px; font-size:12.5px; line-height:1.4; color:#625D55; }
.stp-ty-steps__list b{ color:#9C4B17; }
@media (prefers-reduced-motion: no-preference){
  .stp-ty-steps__list li:nth-child(2) .stp-ty-steps__dot{ animation:ty-next 1.8s ease-in-out infinite; }
}
@keyframes ty-next{ 0%,100%{ box-shadow:0 0 0 0 rgba(217,122,43,.35); } 50%{ box-shadow:0 0 0 7px rgba(217,122,43,0); } }

/* =========================================================================
 * DÉTAILS DE LA COMMANDE
 * ====================================================================== */
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details{ margin-bottom:24px; }
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title{
  margin:0 0 14px !important; font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:24px !important; font-weight:400 !important; text-transform:none !important;
}
body.woocommerce-order-received .order_details.shop_table{
  border:0 !important; border-radius:22px; overflow:hidden; background:var(--ty-card);
  box-shadow:0 8px 24px rgba(15,26,23,.06);
}
body.woocommerce-order-received .order_details.shop_table th,
body.woocommerce-order-received .order_details.shop_table td{
  padding:14px 18px !important; border:0 !important; border-bottom:1px solid var(--ty-line) !important; font-size:14px; vertical-align:top;
}
body.woocommerce-order-received .order_details.shop_table thead th{
  background:var(--ty-night) !important; color:rgba(244,237,225,.7) !important;
  font-size:11px; letter-spacing:.08em; text-transform:uppercase;
}
body.woocommerce-order-received .order_details thead th:first-child,
body.woocommerce-order-received .order_details tfoot th{ text-align:left !important; }
body.woocommerce-order-received .order_details .product-name > a{ font-weight:600; color:var(--ty-text) !important; }
body.woocommerce-order-received .order_details .product-quantity{ color:var(--ty-resin-deep); }
body.woocommerce-order-received .order_details .product-total,
body.woocommerce-order-received .order_details tfoot td{ text-align:right !important; white-space:nowrap; }
body.woocommerce-order-received .wc-item-meta{ display:flex; flex-wrap:wrap; gap:6px; margin:8px 0 0 !important; padding:0 !important; list-style:none; }
body.woocommerce-order-received .wc-item-meta li{ display:inline-flex; gap:4px; margin:0 !important; padding:3px 10px; border-radius:999px; background:var(--ty-sawdust); font-size:12px; color:var(--ty-muted); }
body.woocommerce-order-received .wc-item-meta li strong{ font-weight:500; }
body.woocommerce-order-received .wc-item-meta li p{ display:inline; margin:0 !important; font-weight:700; color:var(--ty-text); }
body.woocommerce-order-received .order_details tfoot th{ font-weight:500; color:var(--ty-muted); }
body.woocommerce-order-received .order_details tfoot tr:last-child th,
body.woocommerce-order-received .order_details tfoot tr:last-child td{ border-bottom:0 !important; }
body.woocommerce-order-received .order_details tfoot tr:nth-last-child(2) td .amount{
  font-family:var(--font-display, "Fraunces", Georgia, serif); font-size:22px; font-weight:500; color:var(--ty-night);
}
/* bouton facture */
body.woocommerce-order-received .order-actions-button.invoice{
  display:inline-flex !important; align-items:center; gap:8px;
  padding:9px 18px !important; border-radius:999px !important;
  background:var(--ty-night) !important; color:var(--ty-sawdust) !important;
  font-size:13.5px !important; font-weight:600 !important; text-transform:none !important;
}
body.woocommerce-order-received .order-actions-button.invoice::before{
  content:""; width:16px; height:16px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CFDC7A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") no-repeat center / contain;
}
body.woocommerce-order-received .order-actions-button.invoice:hover{ background:var(--ty-pine) !important; }

/* adresses */
body.woocommerce-order-received .woocommerce-customer-details .col2-set{ display:grid !important; grid-template-columns:1fr 1fr; gap:14px; }
body.woocommerce-order-received .woocommerce-customer-details .col2-set::before,
body.woocommerce-order-received .woocommerce-customer-details .col2-set::after{ display:none !important; }
body.woocommerce-order-received .woocommerce-customer-details .col-1,
body.woocommerce-order-received .woocommerce-customer-details .col-2{ width:auto !important; float:none !important; max-width:none !important; }
body.woocommerce-order-received .woocommerce-customer-details address{
  padding:18px 20px !important; border:1px solid var(--ty-line) !important; border-radius:18px;
  background:var(--ty-card); font-style:normal; line-height:1.7; color:var(--ty-text);
}
body.woocommerce-order-received .woocommerce-customer-details address p{ margin:6px 0 0 !important; color:var(--ty-muted); }

/* ---------- Mobile ---------- */
@media (max-width: 767px){
  .stp-ty-steps__list{ grid-template-columns:1fr; gap:16px; }
  .stp-ty-steps__list li{ flex-direction:row; padding:0; }
  .stp-ty-steps__list li::before{ top:36px; left:17px; right:auto; bottom:-16px; width:2px; height:auto;
    background:repeating-linear-gradient(180deg, rgba(42,38,34,.25) 0 6px, transparent 6px 12px); }
  .stp-ty-steps__list li.is-done::before{ background:#1F3A33; }
  .stp-ty-steps__dot{ flex:none; }
  body.woocommerce-order-received .woocommerce-customer-details .col2-set{ grid-template-columns:1fr; }
  body.woocommerce-order-received .wd-checkout-steps li > span,
  body.woocommerce-order-received .wd-checkout-steps li > a{ font-size:12.5px; padding:8px 14px 8px 8px; }
}

/* =========================================================================
 * STARTSEITE — Stammholz Premium
 * Fichier : /wp-content/uploads/zardo/css/startseite.css
 * Chargé par startseite-functions.php (page d'accueil uniquement).
 * Section 1 : HERO vidéo avec textes animés
 * ====================================================================== */

body:has(.stp-hero){ overflow-x:clip; }
.stp-hero, .stp-hero *{ box-sizing:border-box; }
.stp-hero{
  --h-night:#0F1A17; --h-lichen:#CFDC7A; --h-resin:#D97A2B; --h-sawdust:#F4EDE1;
  --h-ease:cubic-bezier(.22,1,.36,1);
  --h-dur:7s;                         /* durée d'un texte */
  position:relative;
  width:100vw; margin-left:calc(50% - 50vw);
  min-height:clamp(560px, 92vh, 920px);
  display:flex; align-items:flex-end;
  overflow:hidden; isolation:isolate;
  background:var(--h-night);
  color:var(--h-sawdust);
}

/* ---------- Vidéo ---------- */
.stp-hero__video{
  position:absolute; inset:0; z-index:-2;
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.06);
  animation:h-zoom 18s ease-out both;
}
.stp-hero__shade{
  position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(90deg, rgba(15,26,23,.88) 0%, rgba(15,26,23,.55) 45%, rgba(15,26,23,.15) 100%),
    linear-gradient(180deg, rgba(15,26,23,.2) 0%, rgba(15,26,23,0) 40%, rgba(15,26,23,.85) 100%);
}
@keyframes h-zoom{ from{ transform:scale(1.14); } to{ transform:scale(1.02); } }

/* ---------- Contenu ---------- */
.stp-hero__inner{
  width:100%; max-width:1240px; margin:0 auto;
  padding:0 clamp(20px, 4vw, 64px) clamp(34px, 6vw, 64px);
}
.stp-hero__slides{ display:grid; min-height:clamp(330px, 44vh, 420px); align-items:end; }
.stp-hero__slide{
  grid-area:1 / 1;
  max-width:720px;
  visibility:hidden;
  pointer-events:none;
}
.stp-hero__slide.is-active{ visibility:visible; pointer-events:auto; }

.stp-hero__kicker{
  display:inline-flex; align-items:center; gap:10px;
  margin:0 0 18px !important;
  font-size:14px; font-weight:700; letter-spacing:.04em;
  color:var(--h-lichen);
}
.stp-hero__kicker span{ display:block; width:34px; height:2px; background:currentColor; transform-origin:left; }
.stp-hero__title{
  margin:0 !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-weight:330 !important;
  font-size:clamp(2.6rem, 1.4rem + 5vw, 6rem) !important;
  line-height:.98 !important;
  letter-spacing:-.035em;
  font-variation-settings:"SOFT" 100, "opsz" 144;
  color:var(--h-sawdust) !important;
}
/* mots découpés par le JS */
.stp-hero__title .w{ display:inline-block; overflow:hidden; vertical-align:top; padding-bottom:.08em; margin-bottom:-.08em; }
.stp-hero__title .w > span{ display:inline-block; transform:translateY(105%); }
.stp-hero__lead{
  max-width:52ch; margin:22px 0 28px !important;
  font-size:clamp(1.02rem, .95rem + .4vw, 1.25rem); line-height:1.55;
  color:rgba(244,237,225,.88);
}
.stp-hero__actions{ display:flex; flex-wrap:wrap; gap:12px; }
.stp-hero__btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:56px; padding:0 26px;
  border-radius:999px;
  background:var(--h-resin); color:var(--h-night) !important;
  font-size:15.5px; font-weight:700; text-decoration:none !important;
  box-shadow:0 14px 30px rgba(217,122,43,.35);
  transition:transform .25s var(--h-ease), background-color .2s ease, box-shadow .25s ease;
}
.stp-hero__btn::after{
  content:""; width:18px; height:18px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F1A17' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
  transition:transform .3s var(--h-ease);
}
.stp-hero__btn:hover{ background:#E6893B; transform:translateY(-2px); }
.stp-hero__btn:hover::after{ transform:translateX(4px); }
.stp-hero__btn--ghost{
  background:rgba(15,26,23,.35); color:var(--h-sawdust) !important;
  border:1px solid rgba(244,237,225,.4); box-shadow:none; backdrop-filter:blur(8px);
}
.stp-hero__btn--ghost::after{ display:none; }
.stp-hero__btn--ghost:hover{ background:rgba(15,26,23,.55); border-color:var(--h-lichen); }
.stp-hero__btn:focus-visible, .stp-hero__dot:focus-visible, .stp-hero__pause:focus-visible{
  outline:none; box-shadow:0 0 0 3px var(--h-night), 0 0 0 6px var(--h-lichen);
}

/* ---------- Animations d'entrée / sortie des textes ---------- */
@media (prefers-reduced-motion: no-preference){
  .stp-hero__slide.is-active .stp-hero__kicker{ animation:h-fade .6s ease both; }
  .stp-hero__slide.is-active .stp-hero__kicker span{ animation:h-line .7s var(--h-ease) .1s both; }
  .stp-hero__slide.is-active .stp-hero__title .w > span{ animation:h-word .9s var(--h-ease) both; animation-delay:calc(.15s + var(--i) * .07s); }
  .stp-hero__slide.is-active .stp-hero__lead{ animation:h-up .8s var(--h-ease) .55s both; }
  .stp-hero__slide.is-active .stp-hero__actions{ animation:h-up .8s var(--h-ease) .7s both; }
  .stp-hero__slide.is-leaving{ visibility:visible; animation:h-out .5s ease both; }
}
@media (prefers-reduced-motion: reduce){
  .stp-hero__title .w > span{ transform:none; }
  .stp-hero__video{ animation:none; transform:none; }
}
@keyframes h-word{ to{ transform:translateY(0); } }
@keyframes h-up{ from{ opacity:0; transform:translateY(22px); } to{ opacity:1; transform:none; } }
@keyframes h-fade{ from{ opacity:0; } to{ opacity:1; } }
@keyframes h-line{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
@keyframes h-out{ from{ opacity:1; transform:none; } to{ opacity:0; transform:translateY(-18px); } }

/* ---------- Navigation ---------- */
.stp-hero__nav{
  display:flex; align-items:center; gap:18px;
  margin-top:clamp(28px, 5vw, 48px);
  padding-top:18px;
  border-top:1px solid rgba(244,237,225,.16);
}
.stp-hero__dots{ flex:1; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px; }
.stp-hero__dot{
  display:flex; flex-direction:column; gap:10px; align-items:flex-start;
  padding:0 !important; border:0 !important; background:none !important;
  color:rgba(244,237,225,.55) !important;
  font:inherit; font-size:12.5px !important; font-weight:600 !important; letter-spacing:.04em; text-transform:none !important;
  cursor:pointer; text-align:left;
  transition:color .2s ease;
}
.stp-hero__dot i{ position:relative; display:block; width:100%; height:3px; border-radius:2px; background:rgba(244,237,225,.2); overflow:hidden; }
.stp-hero__dot i::after{ content:""; position:absolute; inset:0; background:var(--h-lichen); transform:scaleX(0); transform-origin:left; }
.stp-hero__dot.is-done i::after{ transform:scaleX(1); }
.stp-hero__dot.is-active{ color:var(--h-sawdust) !important; }
.stp-hero__dot.is-active i::after{ animation:h-progress var(--h-dur) linear both; }
.stp-hero.is-paused .stp-hero__dot.is-active i::after{ animation-play-state:paused; }
.stp-hero__dot:hover{ color:var(--h-sawdust) !important; }
@keyframes h-progress{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }

.stp-hero__pause{
  flex:none; display:grid; place-items:center;
  width:44px; height:44px; padding:0 !important;
  border:1px solid rgba(244,237,225,.35) !important; border-radius:50% !important;
  background:rgba(15,26,23,.35) !important; cursor:pointer;
  transition:border-color .2s ease;
}
.stp-hero__pause:hover{ border-color:var(--h-lichen) !important; }
.stp-hero__pause svg{ width:18px; height:18px; fill:none; stroke:var(--h-sawdust); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.stp-hero__pause .i-play{ display:none; fill:var(--h-sawdust); }
.stp-hero.is-paused .stp-hero__pause .i-pause{ display:none; }
.stp-hero.is-paused .stp-hero__pause .i-play{ display:block; }

/* indicateur de défilement */
.stp-hero__scroll{
  position:absolute; right:clamp(20px, 4vw, 64px); top:50%;
  width:28px; height:46px; margin-top:-23px;
  border:2px solid rgba(244,237,225,.45); border-radius:16px;
}
.stp-hero__scroll span{ position:absolute; left:50%; top:9px; width:4px; height:9px; margin-left:-2px; border-radius:2px; background:var(--h-lichen); animation:h-scroll 1.8s ease-in-out infinite; }
@keyframes h-scroll{ 0%{ transform:translateY(0); opacity:1; } 70%{ transform:translateY(14px); opacity:0; } 100%{ opacity:0; } }

/* ---------- Mobile ---------- */
@media (max-width: 767px){
  .stp-hero{ min-height:clamp(560px, 88svh, 760px); }
  .stp-hero__shade{
    background:linear-gradient(180deg, rgba(15,26,23,.35) 0%, rgba(15,26,23,.55) 45%, rgba(15,26,23,.92) 100%);
  }
  .stp-hero__slides{ min-height:360px; }
  .stp-hero__actions{ flex-direction:column; }
  .stp-hero__btn{ width:100%; }
  .stp-hero__dot{ min-width:0; }
  .stp-hero__dot span{ max-width:100%; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .stp-hero__scroll{ display:none; }
}

/* =========================================================================
 * Section 2 : BANDEAU DE RÉASSURANCE DÉFILANT
 * ====================================================================== */
.stp-band, .stp-band *{ box-sizing:border-box; }
.stp-band{
  position:relative;
  width:100vw; margin-left:calc(50% - 50vw);
  padding:18px 0;
  background:#1F3A33;
  color:#F4EDE1;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
          mask-image:linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
}
.stp-band__track{ display:flex; width:max-content; animation:band-move 45s linear infinite; }
.stp-band:hover .stp-band__track{ animation-play-state:paused; }
.stp-band__list{ display:flex; margin:0 !important; padding:0 !important; list-style:none; }
.stp-band__list li{
  display:flex; align-items:center; gap:10px;
  margin:0 !important; padding:0 38px;
  position:relative; white-space:nowrap;
  font-size:14px; color:rgba(244,237,225,.7);
}
.stp-band__list li::after{
  content:""; position:absolute; right:0; top:50%; width:6px; height:6px; margin-top:-3px;
  border-radius:50%; background:#D97A2B;
}
.stp-band__list svg{ width:22px; height:22px; flex:none; fill:none; stroke:#CFDC7A; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.stp-band__list strong{ color:#F4EDE1; font-weight:700; }
@keyframes band-move{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

@media (prefers-reduced-motion: reduce){
  .stp-band{ -webkit-mask-image:none; mask-image:none; }
  .stp-band__track{ animation:none; width:100%; }
  .stp-band__list{ flex-wrap:wrap; justify-content:center; row-gap:10px; width:100%; }
  .stp-band__list[aria-hidden="true"]{ display:none; }
}
@media (max-width: 767px){
  .stp-band{ padding:14px 0; }
  .stp-band__list li{ padding:0 26px; font-size:13px; }
  .stp-band__track{ animation-duration:32s; }
}

/* =========================================================================
 * Apparition au défilement (toutes les sections)
 * ====================================================================== */
@media (prefers-reduced-motion: no-preference){
  .stp-js .stp-reveal{ opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1); transition-delay:calc(var(--d, 0) * 60ms); }
  .stp-js .stp-reveal.is-in{ opacity:1; transform:none; }
}

/* =========================================================================
 * Section 3 : LES ESSENCES
 * ====================================================================== */
.stp-woods, .stp-woods *{ box-sizing:border-box; }
.stp-woods{
  position:relative;
  width:100vw; margin-left:calc(50% - 50vw);
  padding:clamp(64px, 8vw, 120px) 0;
  background:#F4EDE1;
  color:#2A2622;
}
.stp-woods__inner{ max-width:1240px; margin:0 auto; padding:0 clamp(20px, 4vw, 64px); }
.stp-woods__head{
  display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:20px 40px;
  margin-bottom:clamp(36px, 5vw, 56px);
}
.stp-woods__kicker{
  display:inline-flex; align-items:center; gap:10px; margin:0 0 12px !important;
  font-size:14px; font-weight:700; letter-spacing:.04em; color:#9C4B17;
}
.stp-woods__kicker span{ display:block; width:28px; height:2px; background:currentColor; }
.stp-woods__title{
  margin:0 0 12px !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:clamp(2rem, 1.3rem + 2.6vw, 3.6rem) !important; font-weight:400 !important;
  line-height:1.02 !important; letter-spacing:-.03em;
  color:#2A2622 !important;
}
.stp-woods__lead{ max-width:56ch; margin:0 !important; font-size:16.5px; line-height:1.6; color:#625D55; }
.stp-woods__all{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 22px; border-radius:999px;
  background:#0F1A17; color:#F4EDE1 !important; font-weight:700; font-size:14.5px; text-decoration:none !important;
  transition:background-color .2s ease, transform .25s ease;
}
.stp-woods__all::after{
  content:""; width:16px; height:16px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CFDC7A' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
  transition:transform .3s ease;
}
.stp-woods__all:hover{ background:#1F3A33; transform:translateY(-2px); }
.stp-woods__all:hover::after{ transform:translateX(4px); }

.stp-woods__grid{
  display:grid; grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:clamp(24px, 3vw, 40px) clamp(14px, 2vw, 28px);
  margin:0 !important; padding:0 !important; list-style:none;
}
.stp-woods__item{ margin:0 !important; }
.stp-woods__link{
  position:relative;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  text-decoration:none !important; color:inherit !important;
}
.stp-woods__img{
  position:relative; display:block;
  width:clamp(120px, 12vw, 164px); aspect-ratio:1;
  border-radius:50%; overflow:hidden;
  box-shadow:0 14px 30px rgba(15,26,23,.18), 0 0 0 6px #FFFDF9;
  transition:transform .5s cubic-bezier(.22,1,.36,1), box-shadow .4s ease;
}
.stp-woods__img img{ width:100% !important; height:100% !important; object-fit:cover; transition:transform .9s cubic-bezier(.22,1,.36,1); }
/* anneau en pointillés qui tourne au survol */
.stp-woods__ring{
  position:absolute; top:-10px; left:50%;
  width:calc(clamp(120px, 12vw, 164px) + 20px); aspect-ratio:1; margin-left:calc((clamp(120px, 12vw, 164px) + 20px) / -2);
  border-radius:50%; border:2px dashed #D97A2B;
  opacity:0; transform:scale(.9) rotate(0deg);
  transition:opacity .35s ease, transform .5s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}
.stp-woods__link:hover .stp-woods__ring,
.stp-woods__link:focus-visible .stp-woods__ring{ opacity:1; transform:scale(1); animation:woods-spin 12s linear infinite; }
.stp-woods__link:hover .stp-woods__img{ transform:translateY(-6px); box-shadow:0 22px 40px rgba(15,26,23,.25), 0 0 0 6px #FFFDF9; }
.stp-woods__link:hover .stp-woods__img img{ transform:scale(1.1); }
.stp-woods__link:focus-visible{ outline:none; }
@keyframes woods-spin{ to{ transform:scale(1) rotate(360deg); } }

.stp-woods__type{
  margin-top:-12px; position:relative; z-index:1;
  padding:4px 11px; border-radius:999px;
  background:#0F1A17; color:#CFDC7A;
  font-size:11.5px; font-weight:700; letter-spacing:.02em;
}
.stp-woods__name{
  margin-top:12px;
  font-family:var(--font-display, "Fraunces", Georgia, serif);
  font-size:21px; font-weight:500; line-height:1.15; letter-spacing:-.015em;
  transition:color .2s ease;
}
.stp-woods__link:hover .stp-woods__name{ color:#9C4B17; }
.stp-woods__text{ margin-top:4px; font-size:13px; line-height:1.4; color:#625D55; }
.stp-woods__heat{ display:inline-flex; gap:3px; margin-top:10px; }
.stp-woods__heat i{ display:block; width:14px; height:5px; border-radius:3px; background:rgba(42,38,34,.12); }
.stp-woods__heat i.on{ background:#D97A2B; }
.stp-woods__legend{
  display:flex; align-items:center; justify-content:center; gap:10px;
  margin:clamp(30px, 4vw, 48px) 0 0 !important; font-size:13px; color:#625D55;
}
.stp-woods__legend .stp-woods__heat{ margin:0; }

@media (max-width: 1024px){
  .stp-woods__grid{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767px){
  .stp-woods__grid{
    display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory;
    margin:0 calc(clamp(20px, 4vw, 64px) * -1) !important; padding:12px clamp(20px, 4vw, 64px) 8px !important;
    scrollbar-width:none;
  }
  .stp-woods__grid::-webkit-scrollbar{ display:none; }
  .stp-woods__item{ flex:0 0 42%; scroll-snap-align:start; }
  .stp-woods__img{ width:120px; }
  .stp-woods__ring{ width:140px; margin-left:-70px; }
  .stp-woods__name{ font-size:18px; }
  .stp-woods__all{ width:100%; justify-content:center; }
}

/* =========================================================================
 * STARTSEITE — Stammholz Premium
 * Fichier : /wp-content/uploads/zardo/css/startseite.css
 * Chargé par startseite-functions.php (page d'accueil uniquement).
 * Section 1 : HERO vidéo avec textes animés
 * ====================================================================== */

body:has(.stp-hero){ overflow-x:clip; }
.stp-hero, .stp-hero *{ box-sizing:border-box; }
.stp-hero{
  --h-night:#0F1A17; --h-lichen:#CFDC7A; --h-resin:#D97A2B; --h-sawdust:#F4EDE1;
  --h-ease:cubic-bezier(.22,1,.36,1);
  --h-dur:7s;                         /* durée d'un texte */
  position:relative;
  width:100vw; margin-left:calc(50% - 50vw);
  min-height:clamp(560px, 92vh, 920px);
  display:flex; align-items:flex-end;
  overflow:hidden; isolation:isolate;
  background:var(--h-night);
  color:var(--h-sawdust);
}

/* ---------- Vidéo ---------- */
.stp-hero__video{
  position:absolute; inset:0; z-index:-2;
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.06);
  animation:h-zoom 18s ease-out both;
}
.stp-hero__shade{
  position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(90deg, rgba(15,26,23,.88) 0%, rgba(15,26,23,.55) 45%, rgba(15,26,23,.15) 100%),
    linear-gradient(180deg, rgba(15,26,23,.2) 0%, rgba(15,26,23,0) 40%, rgba(15,26,23,.85) 100%);
}
@keyframes h-zoom{ from{ transform:scale(1.14); } to{ transform:scale(1.02); } }

/* ---------- Contenu ---------- */
.stp-hero__inner{
  width:100%; max-width:1240px; margin:0 auto;
  padding:0 clamp(20px, 4vw, 64px) clamp(34px, 6vw, 64px);
}
.stp-hero__slides{ display:grid; min-height:clamp(330px, 44vh, 420px); align-items:end; }
.stp-hero__slide{
  grid-area:1 / 1;
  max-width:720px;
  visibility:hidden;
  pointer-events:none;
}
.stp-hero__slide.is-active{ visibility:visible; pointer-events:auto; }

.stp-hero__kicker{
  display:inline-flex; align-items:center; gap:10px;
  margin:0 0 18px !important;
  font-size:14px; font-weight:700; letter-spacing:.04em;
  color:var(--h-lichen);
}
.stp-hero__kicker span{ display:block; width:34px; height:2px; background:currentColor; transform-origin:left; }
.stp-hero__title{
  margin:0 !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-weight:330 !important;
  font-size:clamp(2.6rem, 1.4rem + 5vw, 6rem) !important;
  line-height:.98 !important;
  letter-spacing:-.035em;
  font-variation-settings:"SOFT" 100, "opsz" 144;
  color:var(--h-sawdust) !important;
}
/* mots découpés par le JS */
.stp-hero__title .w{ display:inline-block; overflow:hidden; vertical-align:top; padding-bottom:.08em; margin-bottom:-.08em; }
.stp-hero__title .w > span{ display:inline-block; transform:translateY(105%); }
.stp-hero__lead{
  max-width:52ch; margin:22px 0 28px !important;
  font-size:clamp(1.02rem, .95rem + .4vw, 1.25rem); line-height:1.55;
  color:rgba(244,237,225,.88);
}
.stp-hero__actions{ display:flex; flex-wrap:wrap; gap:12px; }
.stp-hero__btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:56px; padding:0 26px;
  border-radius:999px;
  background:var(--h-resin); color:var(--h-night) !important;
  font-size:15.5px; font-weight:700; text-decoration:none !important;
  box-shadow:0 14px 30px rgba(217,122,43,.35);
  transition:transform .25s var(--h-ease), background-color .2s ease, box-shadow .25s ease;
}
.stp-hero__btn::after{
  content:""; width:18px; height:18px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F1A17' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
  transition:transform .3s var(--h-ease);
}
.stp-hero__btn:hover{ background:#E6893B; transform:translateY(-2px); }
.stp-hero__btn:hover::after{ transform:translateX(4px); }
.stp-hero__btn--ghost{
  background:rgba(15,26,23,.35); color:var(--h-sawdust) !important;
  border:1px solid rgba(244,237,225,.4); box-shadow:none; backdrop-filter:blur(8px);
}
.stp-hero__btn--ghost::after{ display:none; }
.stp-hero__btn--ghost:hover{ background:rgba(15,26,23,.55); border-color:var(--h-lichen); }
.stp-hero__btn:focus-visible, .stp-hero__dot:focus-visible, .stp-hero__pause:focus-visible{
  outline:none; box-shadow:0 0 0 3px var(--h-night), 0 0 0 6px var(--h-lichen);
}

/* ---------- Animations d'entrée / sortie des textes ---------- */
@media (prefers-reduced-motion: no-preference){
  .stp-hero__slide.is-active .stp-hero__kicker{ animation:h-fade .6s ease both; }
  .stp-hero__slide.is-active .stp-hero__kicker span{ animation:h-line .7s var(--h-ease) .1s both; }
  .stp-hero__slide.is-active .stp-hero__title .w > span{ animation:h-word .9s var(--h-ease) both; animation-delay:calc(.15s + var(--i) * .07s); }
  .stp-hero__slide.is-active .stp-hero__lead{ animation:h-up .8s var(--h-ease) .55s both; }
  .stp-hero__slide.is-active .stp-hero__actions{ animation:h-up .8s var(--h-ease) .7s both; }
  .stp-hero__slide.is-leaving{ visibility:visible; animation:h-out .5s ease both; }
}
@media (prefers-reduced-motion: reduce){
  .stp-hero__title .w > span{ transform:none; }
  .stp-hero__video{ animation:none; transform:none; }
}
@keyframes h-word{ to{ transform:translateY(0); } }
@keyframes h-up{ from{ opacity:0; transform:translateY(22px); } to{ opacity:1; transform:none; } }
@keyframes h-fade{ from{ opacity:0; } to{ opacity:1; } }
@keyframes h-line{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
@keyframes h-out{ from{ opacity:1; transform:none; } to{ opacity:0; transform:translateY(-18px); } }

/* ---------- Navigation ---------- */
.stp-hero__nav{
  display:flex; align-items:center; gap:18px;
  margin-top:clamp(28px, 5vw, 48px);
  padding-top:18px;
  border-top:1px solid rgba(244,237,225,.16);
}
.stp-hero__dots{ flex:1; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px; }
.stp-hero__dot{
  display:flex; flex-direction:column; gap:10px; align-items:flex-start;
  padding:0 !important; border:0 !important; background:none !important;
  color:rgba(244,237,225,.55) !important;
  font:inherit; font-size:12.5px !important; font-weight:600 !important; letter-spacing:.04em; text-transform:none !important;
  cursor:pointer; text-align:left;
  transition:color .2s ease;
}
.stp-hero__dot i{ position:relative; display:block; width:100%; height:3px; border-radius:2px; background:rgba(244,237,225,.2); overflow:hidden; }
.stp-hero__dot i::after{ content:""; position:absolute; inset:0; background:var(--h-lichen); transform:scaleX(0); transform-origin:left; }
.stp-hero__dot.is-done i::after{ transform:scaleX(1); }
.stp-hero__dot.is-active{ color:var(--h-sawdust) !important; }
.stp-hero__dot.is-active i::after{ animation:h-progress var(--h-dur) linear both; }
.stp-hero.is-paused .stp-hero__dot.is-active i::after{ animation-play-state:paused; }
.stp-hero__dot:hover{ color:var(--h-sawdust) !important; }
@keyframes h-progress{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }

.stp-hero__pause{
  flex:none; display:grid; place-items:center;
  width:44px; height:44px; padding:0 !important;
  border:1px solid rgba(244,237,225,.35) !important; border-radius:50% !important;
  background:rgba(15,26,23,.35) !important; cursor:pointer;
  transition:border-color .2s ease;
}
.stp-hero__pause:hover{ border-color:var(--h-lichen) !important; }
.stp-hero__pause svg{ width:18px; height:18px; fill:none; stroke:var(--h-sawdust); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.stp-hero__pause .i-play{ display:none; fill:var(--h-sawdust); }
.stp-hero.is-paused .stp-hero__pause .i-pause{ display:none; }
.stp-hero.is-paused .stp-hero__pause .i-play{ display:block; }

/* indicateur de défilement */
.stp-hero__scroll{
  position:absolute; right:clamp(20px, 4vw, 64px); top:50%;
  width:28px; height:46px; margin-top:-23px;
  border:2px solid rgba(244,237,225,.45); border-radius:16px;
}
.stp-hero__scroll span{ position:absolute; left:50%; top:9px; width:4px; height:9px; margin-left:-2px; border-radius:2px; background:var(--h-lichen); animation:h-scroll 1.8s ease-in-out infinite; }
@keyframes h-scroll{ 0%{ transform:translateY(0); opacity:1; } 70%{ transform:translateY(14px); opacity:0; } 100%{ opacity:0; } }

/* ---------- Mobile ---------- */
@media (max-width: 767px){
  .stp-hero{ min-height:clamp(560px, 88svh, 760px); }
  .stp-hero__shade{
    background:linear-gradient(180deg, rgba(15,26,23,.35) 0%, rgba(15,26,23,.55) 45%, rgba(15,26,23,.92) 100%);
  }
  .stp-hero__slides{ min-height:360px; }
  .stp-hero__actions{ flex-direction:column; }
  .stp-hero__btn{ width:100%; }
  .stp-hero__dot{ min-width:0; }
  .stp-hero__dot span{ max-width:100%; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .stp-hero__scroll{ display:none; }
}

/* =========================================================================
 * Section 2 : BANDEAU DE RÉASSURANCE DÉFILANT
 * ====================================================================== */
.stp-band, .stp-band *{ box-sizing:border-box; }
.stp-band{
  position:relative;
  width:100vw; margin-left:calc(50% - 50vw);
  padding:18px 0;
  background:#1F3A33;
  color:#F4EDE1;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
          mask-image:linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
}
.stp-band__track{ display:flex; width:max-content; animation:band-move 45s linear infinite; }
.stp-band:hover .stp-band__track{ animation-play-state:paused; }
.stp-band__list{ display:flex; margin:0 !important; padding:0 !important; list-style:none; }
.stp-band__list li{
  display:flex; align-items:center; gap:10px;
  margin:0 !important; padding:0 38px;
  position:relative; white-space:nowrap;
  font-size:14px; color:rgba(244,237,225,.7);
}
.stp-band__list li::after{
  content:""; position:absolute; right:0; top:50%; width:6px; height:6px; margin-top:-3px;
  border-radius:50%; background:#D97A2B;
}
.stp-band__list svg{ width:22px; height:22px; flex:none; fill:none; stroke:#CFDC7A; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.stp-band__list strong{ color:#F4EDE1; font-weight:700; }
@keyframes band-move{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

@media (prefers-reduced-motion: reduce){
  .stp-band{ -webkit-mask-image:none; mask-image:none; }
  .stp-band__track{ animation:none; width:100%; }
  .stp-band__list{ flex-wrap:wrap; justify-content:center; row-gap:10px; width:100%; }
  .stp-band__list[aria-hidden="true"]{ display:none; }
}
@media (max-width: 767px){
  .stp-band{ padding:14px 0; }
  .stp-band__list li{ padding:0 26px; font-size:13px; }
  .stp-band__track{ animation-duration:32s; }
}

/* =========================================================================
 * Apparition au défilement (toutes les sections)
 * ====================================================================== */
@media (prefers-reduced-motion: no-preference){
  .stp-js .stp-reveal{ opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1); transition-delay:calc(var(--d, 0) * 60ms); }
  .stp-js .stp-reveal.is-in{ opacity:1; transform:none; }
}

/* =========================================================================
 * Section 3 : LES ESSENCES
 * ====================================================================== */
.stp-woods, .stp-woods *{ box-sizing:border-box; }
.stp-woods{
  position:relative;
  width:100vw; margin-left:calc(50% - 50vw);
  padding:clamp(64px, 8vw, 120px) 0;
  background:#F4EDE1;
  color:#2A2622;
}
.stp-woods__inner{ max-width:1240px; margin:0 auto; padding:0 clamp(20px, 4vw, 64px); }
.stp-woods__head{
  display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:20px 40px;
  margin-bottom:clamp(36px, 5vw, 56px);
}
.stp-woods__kicker{
  display:inline-flex; align-items:center; gap:10px; margin:0 0 12px !important;
  font-size:14px; font-weight:700; letter-spacing:.04em; color:#9C4B17;
}
.stp-woods__kicker span{ display:block; width:28px; height:2px; background:currentColor; }
.stp-woods__title{
  margin:0 0 12px !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:clamp(2rem, 1.3rem + 2.6vw, 3.6rem) !important; font-weight:400 !important;
  line-height:1.02 !important; letter-spacing:-.03em;
  color:#2A2622 !important;
}
.stp-woods__lead{ max-width:56ch; margin:0 !important; font-size:16.5px; line-height:1.6; color:#625D55; }
.stp-woods__all{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 22px; border-radius:999px;
  background:#0F1A17; color:#F4EDE1 !important; font-weight:700; font-size:14.5px; text-decoration:none !important;
  transition:background-color .2s ease, transform .25s ease;
}
.stp-woods__all::after{
  content:""; width:16px; height:16px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CFDC7A' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
  transition:transform .3s ease;
}
.stp-woods__all:hover{ background:#1F3A33; transform:translateY(-2px); }
.stp-woods__all:hover::after{ transform:translateX(4px); }

.stp-woods__grid{
  display:grid; grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:clamp(24px, 3vw, 40px) clamp(14px, 2vw, 28px);
  margin:0 !important; padding:0 !important; list-style:none;
}
.stp-woods__item{ margin:0 !important; }
.stp-woods__link{
  position:relative;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  text-decoration:none !important; color:inherit !important;
}
.stp-woods__img{
  position:relative; display:block;
  width:clamp(120px, 12vw, 164px); aspect-ratio:1;
  border-radius:50%; overflow:hidden;
  box-shadow:0 14px 30px rgba(15,26,23,.18), 0 0 0 6px #FFFDF9;
  transition:transform .5s cubic-bezier(.22,1,.36,1), box-shadow .4s ease;
}
.stp-woods__img img{ width:100% !important; height:100% !important; object-fit:cover; transition:transform .9s cubic-bezier(.22,1,.36,1); }
/* anneau en pointillés qui tourne au survol */
.stp-woods__ring{
  position:absolute; top:-10px; left:50%;
  width:calc(clamp(120px, 12vw, 164px) + 20px); aspect-ratio:1; margin-left:calc((clamp(120px, 12vw, 164px) + 20px) / -2);
  border-radius:50%; border:2px dashed #D97A2B;
  opacity:0; transform:scale(.9) rotate(0deg);
  transition:opacity .35s ease, transform .5s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}
.stp-woods__link:hover .stp-woods__ring,
.stp-woods__link:focus-visible .stp-woods__ring{ opacity:1; transform:scale(1); animation:woods-spin 12s linear infinite; }
.stp-woods__link:hover .stp-woods__img{ transform:translateY(-6px); box-shadow:0 22px 40px rgba(15,26,23,.25), 0 0 0 6px #FFFDF9; }
.stp-woods__link:hover .stp-woods__img img{ transform:scale(1.1); }
.stp-woods__link:focus-visible{ outline:none; }
@keyframes woods-spin{ to{ transform:scale(1) rotate(360deg); } }

.stp-woods__type{
  margin-top:-12px; position:relative; z-index:1;
  padding:4px 11px; border-radius:999px;
  background:#0F1A17; color:#CFDC7A;
  font-size:11.5px; font-weight:700; letter-spacing:.02em;
}
.stp-woods__name{
  margin-top:12px;
  font-family:var(--font-display, "Fraunces", Georgia, serif);
  font-size:21px; font-weight:500; line-height:1.15; letter-spacing:-.015em;
  transition:color .2s ease;
}
.stp-woods__link:hover .stp-woods__name{ color:#9C4B17; }
.stp-woods__text{ margin-top:4px; font-size:13px; line-height:1.4; color:#625D55; }
.stp-woods__heat{ display:inline-flex; gap:3px; margin-top:10px; }
.stp-woods__heat i{ display:block; width:14px; height:5px; border-radius:3px; background:rgba(42,38,34,.12); }
.stp-woods__heat i.on{ background:#D97A2B; }
.stp-woods__legend{
  display:flex; align-items:center; justify-content:center; gap:10px;
  margin:clamp(30px, 4vw, 48px) 0 0 !important; font-size:13px; color:#625D55;
}
.stp-woods__legend .stp-woods__heat{ margin:0; }

@media (max-width: 1024px){
  .stp-woods__grid{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767px){
  .stp-woods__grid{
    display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory;
    margin:0 calc(clamp(20px, 4vw, 64px) * -1) !important; padding:12px clamp(20px, 4vw, 64px) 8px !important;
    scrollbar-width:none;
  }
  .stp-woods__grid::-webkit-scrollbar{ display:none; }
  .stp-woods__item{ flex:0 0 42%; scroll-snap-align:start; }
  .stp-woods__img{ width:120px; }
  .stp-woods__ring{ width:140px; margin-left:-70px; }
  .stp-woods__name{ font-size:18px; }
  .stp-woods__all{ width:100%; justify-content:center; }
}

/* =========================================================================
 * Section : ÜBER UNS avec la vidéo
 * ====================================================================== */
.stp-about, .stp-about *{ box-sizing:border-box; }
.stp-about{
  position:relative;
  width:100vw; margin-left:calc(50% - 50vw);
  padding:clamp(70px, 9vw, 130px) 0;
  background:radial-gradient(900px 560px at 10% 30%, #1F3A33, #0F1A17 70%);
  color:#F4EDE1;
  overflow:hidden;
}
.stp-about::before{
  content:""; position:absolute; left:-260px; top:50%; width:780px; height:780px; margin-top:-390px; border-radius:50%;
  background:repeating-radial-gradient(circle, transparent 0 30px, rgba(207,220,122,.06) 30px 32px);
  pointer-events:none;
}
.stp-about__inner{
  position:relative;
  max-width:1240px; margin:0 auto; padding:0 clamp(20px, 4vw, 64px);
  display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(0, .9fr); gap:clamp(34px, 5vw, 72px); align-items:center;
}

/* ---------- lecteur ---------- */
.stp-about__frame{
  position:relative; aspect-ratio:16 / 9;
  border-radius:26px; overflow:hidden; background:#0B1411;
  box-shadow:0 40px 80px rgba(0,0,0,.45), 0 0 0 1px rgba(244,237,225,.12), 0 0 0 10px rgba(244,237,225,.04);
  transform:perspective(1400px) rotateY(5deg);
  transition:transform .7s cubic-bezier(.22,1,.36,1);
}
.stp-about__media:hover .stp-about__frame, .stp-about.is-playing .stp-about__frame{ transform:none; }
.stp-about__video{ display:block; width:100%; height:100%; object-fit:cover; }
.stp-about__play{
  position:absolute; left:50%; top:50%; z-index:2;
  display:grid; place-items:center;
  width:96px; height:96px; margin:-48px 0 0 -48px; padding:0 !important;
  border:0 !important; border-radius:50% !important;
  background:#D97A2B !important; cursor:pointer;
  box-shadow:0 18px 40px rgba(217,122,43,.45);
  transition:transform .3s cubic-bezier(.22,1,.36,1), background-color .2s ease;
}
.stp-about__play svg{ position:relative; z-index:1; width:34px; height:34px; margin-left:5px; fill:#0F1A17; }
.stp-about__play:hover{ transform:scale(1.08); background:#E6893B !important; }
.stp-about__play:focus-visible{ outline:none; box-shadow:0 0 0 4px #0F1A17, 0 0 0 7px #CFDC7A; }
.stp-about__pulse, .stp-about__pulse::after{
  position:absolute; inset:0; border-radius:50%; border:2px solid rgba(217,122,43,.7);
  animation:about-pulse 2.2s ease-out infinite;
}
.stp-about__pulse::after{ content:""; animation-delay:1.1s; }
@keyframes about-pulse{ from{ transform:scale(1); opacity:1; } to{ transform:scale(1.7); opacity:0; } }
.stp-about__badge{
  position:absolute; left:16px; top:16px; z-index:2;
  padding:6px 12px; border-radius:999px;
  background:rgba(15,26,23,.75); backdrop-filter:blur(6px);
  font-size:12px; font-weight:600; color:#F4EDE1;
}
.stp-about.is-playing .stp-about__play,
.stp-about.is-playing .stp-about__badge{ opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s; }

/* carte d'identité */
.stp-about__id{
  display:flex; align-items:center; gap:14px;
  width:max-content; max-width:100%;
  margin:-34px 0 0 28px; position:relative; z-index:3;
  padding:14px 20px 14px 14px; border-radius:18px;
  background:#FFFDF9; color:#2A2622;
  box-shadow:0 18px 40px rgba(0,0,0,.35);
}
.stp-about__id-ico{ flex:none; display:grid; place-items:center; width:46px; height:46px; border-radius:14px; background:#1F3A33; }
.stp-about__id-ico svg{ width:24px; height:24px; fill:none; stroke:#CFDC7A; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.stp-about__id strong{ display:block; font-size:15px; }
.stp-about__id span{ display:block; font-size:12.5px; line-height:1.45; color:#625D55; }

/* ---------- texte ---------- */
.stp-about__kicker{
  display:inline-flex; align-items:center; gap:10px; margin:0 0 14px !important;
  font-size:14px; font-weight:700; letter-spacing:.04em; color:#CFDC7A;
}
.stp-about__kicker span{ display:block; width:28px; height:2px; background:currentColor; }
.stp-about__title{
  margin:0 0 18px !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:clamp(2rem, 1.3rem + 2.6vw, 3.5rem) !important; font-weight:400 !important;
  line-height:1.02 !important; letter-spacing:-.03em;
  color:#F4EDE1 !important;
}
.stp-about__lead{ margin:0 0 14px !important; font-size:17.5px; line-height:1.6; color:#F4EDE1; }
.stp-about__body{ margin:0 0 28px !important; font-size:15.5px; line-height:1.65; color:rgba(244,237,225,.72); }

.stp-about__stats{
  display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px;
  margin:0 0 30px !important; padding:0 !important; list-style:none;
}
.stp-about__stats li{
  margin:0 !important; padding:14px 12px; border-radius:16px;
  background:rgba(244,237,225,.05); border:1px solid rgba(244,237,225,.1);
}
.stp-about__stats strong{
  display:block;
  font-family:var(--font-display, "Fraunces", Georgia, serif);
  font-size:32px; font-weight:400; line-height:1; color:#CFDC7A;
  font-variant-numeric:tabular-nums;
}
.stp-about__stats small{ margin-left:3px; font-size:16px; color:rgba(207,220,122,.75); }
.stp-about__stats li > span{ display:block; margin-top:6px; font-size:12px; line-height:1.35; color:rgba(244,237,225,.65); }

.stp-about__actions{ display:flex; flex-wrap:wrap; gap:12px; }
.stp-about__btn, .stp-about__tel{
  display:inline-flex; align-items:center; gap:10px;
  min-height:54px; padding:0 24px; border-radius:999px;
  font-size:15px; font-weight:700; text-decoration:none !important;
  transition:transform .25s ease, background-color .2s ease, border-color .2s ease;
}
.stp-about__btn{ background:#D97A2B; color:#0F1A17 !important; box-shadow:0 14px 30px rgba(217,122,43,.3); }
.stp-about__btn::after{
  content:""; width:18px; height:18px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F1A17' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
  transition:transform .3s ease;
}
.stp-about__btn:hover{ background:#E6893B; transform:translateY(-2px); }
.stp-about__btn:hover::after{ transform:translateX(4px); }
.stp-about__tel{ border:1px solid rgba(244,237,225,.3); color:#F4EDE1 !important; }
.stp-about__tel::before{
  content:""; width:18px; height:18px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CFDC7A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E") no-repeat center / contain;
}
.stp-about__tel:hover{ border-color:#CFDC7A; }

@media (prefers-reduced-motion: reduce){
  .stp-about__pulse, .stp-about__pulse::after{ animation:none; display:none; }
  .stp-about__frame{ transform:none; }
}
@media (max-width: 1024px){
  .stp-about__stats{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px){
  .stp-about__inner{ grid-template-columns:1fr; }
  .stp-about__frame{ transform:none; border-radius:20px; }
  .stp-about__play{ width:76px; height:76px; margin:-38px 0 0 -38px; }
  .stp-about__id{ margin:-28px auto 0; }
  .stp-about__actions a{ width:100%; justify-content:center; }
}

/* =========================================================================
 * Section : WAS IST STAMMHOLZ?
 * ====================================================================== */
.stp-wis, .stp-wis *{ box-sizing:border-box; }
.stp-wis{
  position:relative;
  width:100vw; margin-left:calc(50% - 50vw);
  padding:clamp(70px, 9vw, 130px) 0;
  background:#F4EDE1; color:#2A2622;
}
.stp-wis__inner{ max-width:1240px; margin:0 auto; padding:0 clamp(20px, 4vw, 64px); }
.stp-wis__head{ max-width:760px; margin:0 auto clamp(30px, 4vw, 48px); text-align:center; }
.stp-wis__kicker{
  display:inline-flex; align-items:center; gap:10px; margin:0 0 12px !important;
  font-size:14px; font-weight:700; letter-spacing:.04em; color:#9C4B17;
}
.stp-wis__kicker span{ display:block; width:28px; height:2px; background:currentColor; }
.stp-wis__title{
  margin:0 0 16px !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:clamp(2.2rem, 1.4rem + 3vw, 4rem) !important; font-weight:400 !important;
  line-height:1 !important; letter-spacing:-.03em; color:#2A2622 !important;
}
.stp-wis__lead{ margin:0 !important; font-size:17px; line-height:1.65; color:#625D55; }

/* ---------- illustration du parcours ---------- */
.stp-wis__journey{
  margin:0 0 clamp(40px, 5vw, 64px) !important; padding:clamp(18px, 3vw, 32px);
  border-radius:28px;
  background:linear-gradient(180deg, #E8F0DA 0%, #FFFDF9 70%);
  border:1px solid rgba(42,38,34,.08);
  overflow:hidden;
}
.stp-wis__svg{ display:block; width:100%; height:auto; overflow:visible; }
.stp-wis__svg .j-ground{ stroke:#8A5A33; stroke-width:3; stroke-linecap:round; opacity:.35; }
.stp-wis__svg .j-path{ fill:none; stroke:#D97A2B; stroke-width:3; stroke-linecap:round; stroke-dasharray:8 10; opacity:.8; }
.stp-wis__svg .j-len{ font:700 14px var(--font-body, Inter, sans-serif); fill:#9C4B17; text-anchor:middle; }
.stp-wis__steps{
  display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:10px;
  margin:14px 0 0 !important; padding:0 !important; list-style:none; text-align:center;
}
.stp-wis__steps li{ margin:0 !important; font-size:15px; font-weight:700; color:#2A2622; }
.stp-wis__steps b{
  display:inline-grid; place-items:center; width:26px; height:26px; margin-right:8px; border-radius:50%;
  background:#1F3A33; color:#CFDC7A; font-size:12.5px; vertical-align:1px;
}
.stp-wis__steps span{ display:block; margin-top:4px; font-size:12.5px; font-weight:400; line-height:1.4; color:#625D55; }

/* animation déclenchée à l'arrivée à l'écran (.is-in ajouté par le JS) */
@media (prefers-reduced-motion: no-preference){
  .stp-js .stp-wis__journey .j-st{ opacity:0; transform-box:fill-box; }
  .stp-js .stp-wis__journey .j-lab{ opacity:0; transform:translateY(10px); }
  .stp-js .stp-wis__journey .j-path{ stroke-dashoffset:1200; stroke-dasharray:1200; }
  .stp-wis__journey.is-in .j-path{ animation:j-draw 3.2s ease-in-out .3s forwards; }
  .stp-wis__journey.is-in .j-st{ animation:j-pop .7s cubic-bezier(.22,1,.36,1) forwards; }
  .stp-wis__journey.is-in .j-1{ animation-delay:.1s; }
  .stp-wis__journey.is-in .j-2{ animation-delay:.8s; }
  .stp-wis__journey.is-in .j-3{ animation-delay:1.5s; }
  .stp-wis__journey.is-in .j-4{ animation-delay:2.2s; }
  .stp-wis__journey.is-in .j-5{ animation-delay:2.9s; }
  .stp-wis__journey.is-in .j-lab{ animation:j-up .6s ease forwards; }
  .stp-wis__journey.is-in .j-l1{ animation-delay:.3s; } .stp-wis__journey.is-in .j-l2{ animation-delay:1s; }
  .stp-wis__journey.is-in .j-l3{ animation-delay:1.7s; } .stp-wis__journey.is-in .j-l4{ animation-delay:2.4s; }
  .stp-wis__journey.is-in .j-l5{ animation-delay:3.1s; }
  /* petits mouvements continus */
  .stp-wis__journey.is-in .j-1 path{ transform-origin:0 200px; animation:j-sway 4s ease-in-out 1s infinite; }
  .stp-wis__journey.is-in .j-cut{ animation:j-blink 1.4s ease-in-out 1.5s infinite; }
  .stp-wis__journey.is-in .j-marks{ animation:j-blink 1.6s ease-in-out 2.2s infinite; }
  .stp-wis__journey.is-in .j-truck{ animation:j-drive 3s ease-in-out 3.4s infinite; }
}
@keyframes j-draw{ to{ stroke-dashoffset:0; stroke-dasharray:8 10; } }
@keyframes j-pop{ 0%{ opacity:0; transform:translateY(24px) scale(.85); } 100%{ opacity:1; transform:none; } }
@keyframes j-up{ to{ opacity:1; transform:none; } }
@keyframes j-sway{ 0%,100%{ transform:rotate(0); } 50%{ transform:rotate(1.6deg); } }
@keyframes j-blink{ 0%,100%{ opacity:1; } 50%{ opacity:.25; } }
@keyframes j-drive{ 0%,100%{ transform:translateX(0); } 50%{ transform:translateX(12px); } }

/* ---------- Raummeter / Festmeter ---------- */
.stp-wis__units{
  display:grid; grid-template-columns:1fr auto 1fr; gap:18px; align-items:center;
  margin-bottom:clamp(56px, 7vw, 96px);
}
.stp-wis__unit{
  display:flex; align-items:center; gap:18px;
  padding:20px 22px; border-radius:22px;
  background:#0F1A17; color:#F4EDE1;
}
.stp-wis__unit svg{ flex:none; width:96px; height:auto; }
.stp-wis__unit strong{ display:block; margin-bottom:4px; font-family:var(--font-display, "Fraunces", Georgia, serif); font-size:22px; font-weight:500; color:#CFDC7A; }
.stp-wis__unit span{ display:block; font-size:14px; line-height:1.55; color:rgba(244,237,225,.75); }
.stp-wis__unit em{ font-style:normal; color:#F4EDE1; font-weight:700; }
.stp-wis__eq{
  display:grid; place-items:center; width:56px; height:56px; border-radius:50%;
  background:#D97A2B; color:#0F1A17; font-size:28px; font-weight:700;
}

/* ---------- essences : cartes ---------- */
.stp-wis__subhead{ max-width:760px; margin:0 0 26px; }
.stp-wis__subhead h3, .stp-wis__compare-head h3{
  margin:0 0 10px !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem) !important; font-weight:400 !important; letter-spacing:-.02em;
}
.stp-wis__subhead p, .stp-wis__compare-head p{ margin:0 !important; font-size:15.5px; line-height:1.6; color:#625D55; }

.stp-wis__cards{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; margin-bottom:clamp(56px, 7vw, 90px); }
.stp-wis__card{
  position:relative;
  display:flex; flex-direction:column;
  padding:26px 24px 22px; border-radius:24px;
  background:#FFFDF9; border:1px solid rgba(42,38,34,.08);
  box-shadow:0 12px 30px rgba(15,26,23,.05);
  transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease;
  overflow:hidden;
}
.stp-wis__card::before{
  content:""; position:absolute; left:0; top:0; right:0; height:4px;
  background:linear-gradient(90deg, #CFDC7A, #D97A2B); transform:scaleX(0); transform-origin:left;
  transition:transform .5s cubic-bezier(.22,1,.36,1);
}
.stp-wis__card:hover{ transform:translateY(-6px); box-shadow:0 24px 50px rgba(15,26,23,.12); border-color:rgba(217,122,43,.35); }
.stp-wis__card:hover::before{ transform:scaleX(1); }
.stp-wis__card-head{ display:flex; align-items:center; gap:14px; margin-bottom:14px; }
.stp-wis__card-ico{ flex:none; display:grid; place-items:center; width:50px; height:50px; border-radius:16px; background:#1F3A33; transition:transform .5s cubic-bezier(.22,1,.36,1); }
.stp-wis__card:hover .stp-wis__card-ico{ transform:rotate(-8deg) scale(1.06); }
.stp-wis__card-ico svg{ width:26px; height:26px; fill:none; stroke:#CFDC7A; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.stp-wis__card-tag{ margin:0 0 2px !important; font-size:12px; font-weight:700; letter-spacing:.04em; color:#9C4B17; }
.stp-wis__card-name{
  margin:0 !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:28px !important; font-weight:400 !important; line-height:1.05; letter-spacing:-.02em;
}
.stp-wis__card > p{ margin:0 0 12px !important; font-size:15px; line-height:1.65; color:#3B3631; }
.stp-wis__card > p + p{ color:#625D55; }
.stp-wis__card-strong{ display:flex; flex-wrap:wrap; gap:6px; margin:6px 0 18px !important; padding:0 !important; list-style:none; }
.stp-wis__card-strong li{
  display:inline-flex; align-items:center; gap:6px; margin:0 !important;
  padding:5px 11px; border-radius:999px; background:#F4EDE1; font-size:12.5px; font-weight:600; color:#2A2622;
}
.stp-wis__card-strong li::before{
  content:""; width:12px; height:12px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239C4B17' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat center / contain;
}
.stp-wis__card-link{
  margin-top:auto; align-self:flex-start;
  display:inline-flex; align-items:center; gap:8px;
  font-size:14px; font-weight:700; color:#1F3A33 !important; text-decoration:none !important;
}
.stp-wis__card-link::after{
  content:""; width:16px; height:16px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D97A2B' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
  transition:transform .3s ease;
}
.stp-wis__card-link:hover::after{ transform:translateX(4px); }

/* ---------- tableau comparatif ---------- */
.stp-wis__compare-head{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:6px 30px; margin-bottom:16px; }
.stp-wis__table-wrap{
  overflow-x:auto; border-radius:22px;
  background:#FFFDF9; border:1px solid rgba(42,38,34,.08);
  box-shadow:0 20px 50px rgba(15,26,23,.07);
}
.stp-wis__table-wrap:focus-visible{ outline:2px solid #D97A2B; outline-offset:3px; }
.stp-wis__table{ width:100%; min-width:860px; margin:0 !important; border-collapse:collapse; border:0 !important; font-size:14px; }
.stp-wis__table thead th{
  padding:16px 18px !important; border:0 !important;
  background:#0F1A17 !important; color:#F4EDE1 !important;
  font-size:13px; font-weight:700; text-align:left; text-transform:none; white-space:nowrap;
}
.stp-wis__table thead th small{ display:block; font-size:11px; font-weight:500; color:rgba(244,237,225,.55); }
.stp-wis__table thead button{
  display:inline-flex; align-items:flex-start; gap:8px; padding:0 !important; border:0 !important; background:none !important;
  color:inherit !important; font:inherit; font-weight:700 !important; text-align:left; text-transform:none !important; cursor:pointer;
}
.stp-wis__table thead button::after{
  content:""; flex:none; width:10px; height:14px; margin-top:3px; opacity:.45;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 14'%3E%3Cpath d='M5 0l4 5H1zM5 14l4-5H1z' fill='%23CFDC7A'/%3E%3C/svg%3E") no-repeat center / contain;
}
.stp-wis__table thead th[aria-sort] button::after{ opacity:1; }
.stp-wis__table thead th[aria-sort] button{ color:#CFDC7A !important; }
.stp-wis__table tbody th,
.stp-wis__table tbody td{
  padding:14px 18px !important; border:0 !important; border-bottom:1px solid rgba(42,38,34,.07) !important;
  text-align:left; vertical-align:middle; color:#3B3631; background:none !important;
}
.stp-wis__table tbody th{ font-family:var(--font-display, "Fraunces", Georgia, serif); font-size:18px; font-weight:500; color:#0F1A17; white-space:nowrap; }
.stp-wis__table tbody tr{ transition:background-color .2s ease; }
.stp-wis__table tbody tr:hover{ background:#F4EDE1; }
.stp-wis__table tbody tr:last-child th, .stp-wis__table tbody tr:last-child td{ border-bottom:0 !important; }
.stp-wis__table td b{ font-size:15px; color:#0F1A17; font-variant-numeric:tabular-nums; }
.stp-wis__table td[data-v]{ min-width:130px; }
.stp-wis__pill{ display:inline-block; padding:4px 10px; border-radius:999px; font-size:12px; font-weight:700; white-space:nowrap; }
.stp-wis__pill--laubholz{ background:#E3ECCB; color:#1F3A33; }
.stp-wis__pill--nadelholz{ background:#1F3A33; color:#CFDC7A; }
.stp-wis__pill--mischung{ background:#F6E0CB; color:#9C4B17; }
.stp-wis__bar{ display:block; height:5px; margin-top:7px; border-radius:3px; background:rgba(42,38,34,.08); overflow:hidden; }
.stp-wis__bar i{ display:block; height:100%; width:100%; border-radius:3px; background:linear-gradient(90deg, #CFDC7A, #D97A2B); transform-origin:left; transform:scaleX(var(--v)); }
@media (prefers-reduced-motion: no-preference){
  .stp-js .stp-wis__compare .stp-wis__bar i{ transform:scaleX(0); transition:transform 1.2s cubic-bezier(.22,1,.36,1) .3s; }
  .stp-js .stp-wis__compare.is-in .stp-wis__bar i{ transform:scaleX(var(--v)); }
  .stp-wis__table tbody tr.is-moved{ animation:wis-row .5s ease; }
}
@keyframes wis-row{ from{ background:#F6E0CB; } to{ background:transparent; } }
.stp-wis__note{ margin:14px 0 0 !important; font-size:12.5px; color:#625D55; }

/* ---------- mobile ---------- */
@media (max-width: 900px){
  .stp-wis__steps{ grid-template-columns:1fr; text-align:left; gap:10px; }
  .stp-wis__units{ grid-template-columns:1fr; }
  .stp-wis__eq{ margin:0 auto; }
  .stp-wis__cards{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 600px){
  .stp-wis__journey{ overflow-x:auto; scrollbar-width:none; }
  .stp-wis__journey::-webkit-scrollbar{ display:none; }
  .stp-wis__svg{ width:680px; max-width:none; }
  .stp-wis__unit{ flex-direction:column; align-items:flex-start; }
  .stp-wis__cards{ grid-template-columns:1fr; }
}

/* =========================================================================
 * Section : SO EINFACH BESTELLEN
 * ====================================================================== */
.stp-order, .stp-order *{ box-sizing:border-box; }
.stp-order{
  position:relative;
  width:100vw; margin-left:calc(50% - 50vw);
  padding:clamp(70px, 9vw, 130px) 0;
  background:#FFFDF9; color:#2A2622;
}
.stp-order__inner{ max-width:1240px; margin:0 auto; padding:0 clamp(20px, 4vw, 64px); }
.stp-order__head{ max-width:700px; margin:0 auto clamp(40px, 5vw, 64px); text-align:center; }
.stp-order__kicker{
  display:inline-flex; align-items:center; gap:10px; margin:0 0 12px !important;
  font-size:14px; font-weight:700; letter-spacing:.04em; color:#9C4B17;
}
.stp-order__kicker span{ display:block; width:28px; height:2px; background:currentColor; }
.stp-order__title{
  margin:0 0 14px !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:clamp(2.2rem, 1.4rem + 3vw, 4rem) !important; font-weight:400 !important;
  line-height:1 !important; letter-spacing:-.03em; color:#2A2622 !important;
}
.stp-order__lead{ margin:0 !important; font-size:17px; line-height:1.6; color:#625D55; }

.stp-order__track{ position:relative; }
.stp-order__line{
  position:absolute; left:12.5%; right:12.5%; top:56px; height:4px;
  border-radius:2px; background:repeating-linear-gradient(90deg, rgba(42,38,34,.18) 0 10px, transparent 10px 18px);
}
.stp-order__line i{
  position:absolute; inset:0; border-radius:2px;
  background:linear-gradient(90deg, #CFDC7A, #D97A2B);
  transform:scaleX(0); transform-origin:left;
}
.stp-order__truck{ position:absolute; top:-30px; left:0; width:56px; height:auto; margin-left:-28px; opacity:0; }

.stp-order__steps{
  position:relative;
  display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:clamp(14px, 2vw, 26px);
  margin:0 !important; padding:0 !important; list-style:none;
}
.stp-order__step{
  position:relative;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  margin:0 !important; padding:0 6px;
}
.stp-order__num{
  position:absolute; z-index:2; top:-8px; left:50%; margin-left:34px;
  display:grid; place-items:center; width:34px; height:34px; border-radius:50%;
  background:#0F1A17; color:#CFDC7A; border:3px solid #FFFDF9;
  font-size:12.5px; font-weight:700; letter-spacing:.02em;
}
.stp-order__ico{
  position:relative; z-index:1;
  display:grid; place-items:center; width:112px; height:112px; border-radius:34px;
  background:#F4EDE1; border:6px solid #FFFDF9;
  box-shadow:0 16px 34px rgba(15,26,23,.1);
  transition:transform .45s cubic-bezier(.22,1,.36,1), background-color .3s ease;
}
.stp-order__ico svg{ width:44px; height:44px; fill:none; stroke:#1F3A33; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.stp-order__step:hover .stp-order__ico{ transform:translateY(-6px) rotate(-4deg); background:#E8F0DA; }
.stp-order__step--pay .stp-order__ico{ background:#D97A2B; }
.stp-order__step--pay .stp-order__ico svg{ stroke:#0F1A17; }
.stp-order__step--pay:hover .stp-order__ico{ background:#E6893B; }
.stp-order__step h3{
  margin:22px 0 10px !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:22px !important; font-weight:500 !important; line-height:1.15; letter-spacing:-.01em;
}
.stp-order__step p{ margin:0 !important; font-size:14.5px; line-height:1.6; color:#625D55; }

/* animation au défilement */
@media (prefers-reduced-motion: no-preference){
  .stp-js .stp-order__step{ opacity:0; transform:translateY(26px); }
  .stp-order__track.is-in .stp-order__step{ animation:ord-in .7s cubic-bezier(.22,1,.36,1) forwards; animation-delay:calc(.25s + var(--d) * .45s); }
  .stp-order__track.is-in .stp-order__line i{ animation:ord-line 1.9s cubic-bezier(.65,0,.35,1) .3s forwards; }
  .stp-order__track.is-in .stp-order__truck{ animation:ord-truck 1.9s cubic-bezier(.65,0,.35,1) .3s forwards; }
  .stp-order__track.is-in .stp-order__step--pay .stp-order__ico{ animation:ord-pulse 2.4s ease-in-out 2.4s infinite; }
}
@media (prefers-reduced-motion: reduce){
  .stp-order__line i{ transform:scaleX(1); }
}
@keyframes ord-in{ to{ opacity:1; transform:none; } }
@keyframes ord-line{ to{ transform:scaleX(1); } }
@keyframes ord-truck{ 0%{ left:0; opacity:1; } 92%{ opacity:1; } 100%{ left:100%; opacity:0; } }
@keyframes ord-pulse{ 0%,100%{ box-shadow:0 16px 34px rgba(217,122,43,.25), 0 0 0 0 rgba(217,122,43,.35); } 50%{ box-shadow:0 16px 34px rgba(217,122,43,.25), 0 0 0 12px rgba(217,122,43,0); } }

.stp-order__foot{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 30px;
  margin-top:clamp(44px, 6vw, 72px); padding:22px 26px; border-radius:24px;
  background:#0F1A17; color:#F4EDE1;
}
.stp-order__foot p{ margin:0 !important; font-size:15.5px; color:rgba(244,237,225,.8); }
.stp-order__foot strong{ color:#F4EDE1; }
.stp-order__actions{ display:flex; flex-wrap:wrap; gap:10px; }
.stp-order__btn, .stp-order__tel{
  display:inline-flex; align-items:center; gap:10px;
  min-height:52px; padding:0 22px; border-radius:999px;
  font-size:15px; font-weight:700; text-decoration:none !important;
  transition:transform .25s ease, background-color .2s ease, border-color .2s ease;
}
.stp-order__btn{ background:#D97A2B; color:#0F1A17 !important; }
.stp-order__btn::after{
  content:""; width:18px; height:18px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F1A17' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
  transition:transform .3s ease;
}
.stp-order__btn:hover{ background:#E6893B; transform:translateY(-2px); }
.stp-order__btn:hover::after{ transform:translateX(4px); }
.stp-order__tel{ border:1px solid rgba(244,237,225,.3); color:#F4EDE1 !important; }
.stp-order__tel:hover{ border-color:#CFDC7A; }

@media (max-width: 900px){
  .stp-order__steps{ grid-template-columns:1fr; gap:26px; }
  .stp-order__step{ flex-direction:row; align-items:flex-start; text-align:left; gap:18px; padding:0; }
  .stp-order__step > div, .stp-order__step h3{ margin-top:6px !important; }
  .stp-order__ico{ flex:none; width:76px; height:76px; border-radius:24px; border-width:4px; }
  .stp-order__ico svg{ width:32px; height:32px; }
  .stp-order__num{ left:52px; top:-8px; margin:0; width:30px; height:30px; font-size:11.5px; }
  .stp-order__step h3{ margin:4px 0 6px !important; font-size:20px !important; }
  .stp-order__line{ left:36px; right:auto; top:40px; bottom:40px; width:4px; height:auto;
    background:repeating-linear-gradient(180deg, rgba(42,38,34,.18) 0 10px, transparent 10px 18px); }
  .stp-order__line i{ transform:scaleY(0); transform-origin:top; }
  .stp-order__truck{ display:none; }
  .stp-order__foot{ flex-direction:column; align-items:flex-start; }
  .stp-order__actions, .stp-order__actions a{ width:100%; justify-content:center; }
}
@media (max-width: 900px) and (prefers-reduced-motion: no-preference){
  .stp-order__track.is-in .stp-order__line i{ animation:ord-line-v 1.9s cubic-bezier(.65,0,.35,1) .3s forwards; }
}
@keyframes ord-line-v{ to{ transform:scaleY(1); } }
/* mobile : texte à côté de l'icône */
@media (max-width: 900px){
  .stp-order__step{ display:grid; grid-template-columns:76px 1fr; column-gap:18px; }
  .stp-order__ico{ grid-row:1 / span 2; }
  .stp-order__step h3, .stp-order__step p{ grid-column:2; }
}

/* =========================================================================
 * Section : ZERTIFIKATE
 * ====================================================================== */
.stp-cert, .stp-cert *{ box-sizing:border-box; }
.stp-cert{
  position:relative;
  width:100vw; margin-left:calc(50% - 50vw);
  padding:clamp(70px, 9vw, 130px) 0;
  background:radial-gradient(900px 520px at 50% 0%, #274A40, #1F3A33 60%, #173028 100%);
  color:#F4EDE1; overflow:hidden;
}
.stp-cert::before{
  content:""; position:absolute; left:50%; bottom:-460px; width:900px; height:900px; margin-left:-450px; border-radius:50%;
  background:repeating-radial-gradient(circle, transparent 0 34px, rgba(207,220,122,.06) 34px 36px);
  pointer-events:none;
}
.stp-cert.is-empty{ display:none; }
.stp-cert__inner{ position:relative; max-width:1240px; margin:0 auto; padding:0 clamp(20px, 4vw, 64px); }
.stp-cert__head{ max-width:720px; margin:0 auto clamp(40px, 5vw, 60px); text-align:center; }
.stp-cert__kicker{
  display:inline-flex; align-items:center; gap:10px; margin:0 0 12px !important;
  font-size:14px; font-weight:700; letter-spacing:.04em; color:#CFDC7A;
}
.stp-cert__kicker span{ display:block; width:28px; height:2px; background:currentColor; }
.stp-cert__title{
  margin:0 0 14px !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:clamp(2rem, 1.3rem + 2.6vw, 3.5rem) !important; font-weight:400 !important;
  line-height:1.03 !important; letter-spacing:-.03em; color:#F4EDE1 !important;
}
.stp-cert__lead{ margin:0 !important; font-size:16.5px; line-height:1.6; color:rgba(244,237,225,.78); }

.stp-cert__grid{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:20px; }
.stp-cert__card{
  display:flex; flex-direction:column;
  padding:22px 22px 24px; border-radius:26px;
  background:rgba(15,26,23,.55); border:1px solid rgba(244,237,225,.12);
  backdrop-filter:blur(6px);
  transition:transform .4s cubic-bezier(.22,1,.36,1), border-color .3s ease, background-color .3s ease;
}
.stp-cert__card[hidden]{ display:none; }
.stp-cert__card:hover{ transform:translateY(-6px); border-color:rgba(207,220,122,.45); background:rgba(15,26,23,.7); }
.stp-cert__visual{
  position:relative; display:grid; place-items:center;
  height:170px; margin-bottom:18px; border-radius:18px;
  background:linear-gradient(160deg, rgba(207,220,122,.16), rgba(207,220,122,.04));
  overflow:hidden;
}
.stp-cert__doc{ width:78%; height:auto; filter:drop-shadow(0 14px 22px rgba(0,0,0,.35)); transform:rotate(-3deg); transition:transform .5s cubic-bezier(.22,1,.36,1); }
.stp-cert__card:hover .stp-cert__doc{ transform:rotate(0deg) scale(1.04); }
.stp-cert__seal{ transform-box:fill-box; transform-origin:center; }
.stp-cert__card:hover .stp-cert__seal{ animation:cert-spin 1.2s cubic-bezier(.22,1,.36,1); }
@keyframes cert-spin{ from{ transform:rotate(-180deg) scale(.6); } to{ transform:none; } }
/* logo officiel (ajouté par l'entreprise) : remplace l'illustration */
.stp-cert__logo{
  position:absolute; inset:0; margin:auto;
  width:auto !important; max-width:62%; height:auto !important; max-height:120px;
  padding:14px; border-radius:16px; background:#FFFDF9;
}
.stp-cert__visual:has(.stp-cert__logo) .stp-cert__doc{ opacity:0; }
.stp-cert__card h3{
  margin:0 0 2px !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:30px !important; font-weight:500 !important; letter-spacing:-.01em; color:#F4EDE1 !important;
}
.stp-cert__what{ margin:0 0 12px !important; font-size:12.5px; font-weight:600; color:#CFDC7A; }
.stp-cert__card > p:not(.stp-cert__what){ margin:0 0 18px !important; font-size:14.5px; line-height:1.6; color:rgba(244,237,225,.75); }
.stp-cert__id{
  margin:auto 0 16px !important; padding:12px 14px; border-radius:14px;
  background:rgba(244,237,225,.06); border:1px dashed rgba(207,220,122,.4);
}
.stp-cert__id dt{ margin:0 0 3px; font-size:11.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:rgba(244,237,225,.55); }
.stp-cert__id dd{ margin:0 !important; font-size:16px; font-weight:700; letter-spacing:.03em; color:#F4EDE1; font-variant-numeric:tabular-nums; }
.stp-cert__verify{
  align-self:flex-start;
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 18px; border-radius:999px;
  background:#CFDC7A; color:#0F1A17 !important; font-size:14px; font-weight:700; text-decoration:none !important;
  transition:transform .25s ease, background-color .2s ease;
}
.stp-cert__verify::before{
  content:""; width:16px; height:16px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F1A17' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") no-repeat center / contain;
}
.stp-cert__verify:hover{ background:#DCE68F; transform:translateY(-2px); }

@media (max-width: 1024px){ .stp-cert__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width: 700px){ .stp-cert__grid{ grid-template-columns:1fr; } }

/* =========================================================================
 * PANIER RAPIDE — Stammholz Premium
 * Fichier : /wp-content/uploads/zardo/css/minicart.css
 * Chargé par minicart-functions.php. Classes d'origine WoodMart / WooCommerce.
 * ====================================================================== */

.cart-widget-side{
  --mc-night:#0F1A17; --mc-pine:#1F3A33; --mc-lichen:#CFDC7A; --mc-resin:#D97A2B;
  --mc-resin-deep:#9C4B17; --mc-sawdust:#F4EDE1; --mc-card:#FFFDF9; --mc-text:#2A2622; --mc-muted:#625D55;
  --mc-line:rgba(42,38,34,.1);
  display:flex; flex-direction:column;
  background:var(--mc-sawdust) !important;
  box-shadow:-24px 0 60px rgba(15,26,23,.25) !important;
}

/* ---------- En-tête ---------- */
.cart-widget-side .wd-heading{
  padding:22px 22px !important;
  border-bottom:0 !important;
  background:var(--mc-night) !important;
}
.cart-widget-side .wd-heading .title{
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:24px !important; font-weight:400 !important;
  text-transform:none !important; letter-spacing:-.01em !important;
  color:var(--mc-sawdust) !important;
}
.cart-widget-side .close-side-widget a{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 12px !important; border-radius:999px;
  background:rgba(244,237,225,.1);
  color:var(--mc-sawdust) !important; font-size:13px !important; font-weight:600 !important; text-transform:none !important;
  transition:background-color .2s ease;
}
.cart-widget-side .close-side-widget a:hover{ background:rgba(244,237,225,.2); }
.cart-widget-side .close-side-widget a::before{ color:var(--mc-lichen) !important; }

/* ---------- Articles : image en haut, infos en dessous sur toute la largeur ---------- */
.cart-widget-side .shopping-cart-widget-body{ padding:16px 16px 4px !important; }
.cart-widget-side .woocommerce-mini-cart{ margin:0 !important; padding:0 !important; }
.cart-widget-side .woocommerce-mini-cart-item{
  position:relative;
  display:flex !important; flex-direction:column; gap:12px; align-items:stretch;
  margin:0 0 12px !important; padding:12px !important;
  border:1px solid var(--mc-line) !important; border-radius:18px;
  background:var(--mc-card);
  box-shadow:0 6px 18px rgba(15,26,23,.06);
}
/* image pleine largeur */
.cart-widget-side .cart-item-image{ flex:none; position:relative; z-index:2; display:block; margin:0 !important; }
.cart-widget-side .cart-item-image img{
  display:block;
  width:100% !important; height:130px !important; max-width:none !important;
  object-fit:cover; border-radius:12px;
}
/* infos */
.cart-widget-side .cart-info{ width:100%; min-width:0; padding:0 2px !important; }
.cart-widget-side .cart-info .wd-entities-title{
  display:block; margin:0 0 10px !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:16px !important; font-weight:500 !important; line-height:1.3 !important;
  color:var(--mc-text) !important;
}
/* attributs : une ligne par attribut, libellé à gauche, valeur à droite */
.cart-widget-side ul.variation{
  display:grid !important; gap:4px;
  margin:0 0 12px !important; padding:0 !important; list-style:none;
}
.cart-widget-side ul.variation li{
  display:flex !important; align-items:flex-start; justify-content:space-between; gap:12px;
  margin:0 !important; padding:7px 10px !important;
  border-radius:10px; background:var(--mc-sawdust);
  font-size:12.5px !important; line-height:1.4 !important;
}
.cart-widget-side ul.variation .item-variation-name{
  flex:none; font-weight:500 !important; color:var(--mc-muted) !important;
}
.cart-widget-side ul.variation .item-variation-value,
.cart-widget-side ul.variation .item-variation-value p{
  display:block; margin:0 !important; padding:0 !important;
  font-weight:700 !important; color:var(--mc-text) !important; text-align:right;
}
/* quantité et prix */
.cart-widget-side .cart-info .quantity{
  display:flex; align-items:baseline; justify-content:space-between;
  padding-top:10px; border-top:1px dashed rgba(42,38,34,.15);
  font-size:13px; font-weight:600; color:var(--mc-muted) !important;
}
.cart-widget-side .cart-info .quantity .amount{
  font-family:var(--font-display, "Fraunces", Georgia, serif);
  font-size:20px; font-weight:500; color:var(--mc-night) !important;
}
/* bouton supprimer : sur l'image */
.cart-widget-side .woocommerce-mini-cart-item .remove{
  position:absolute !important; top:20px !important; right:20px !important; left:auto !important; z-index:3;
  display:grid !important; place-items:center;
  width:30px !important; height:30px !important;
  border-radius:50% !important;
  background:rgba(255,253,249,.92) !important; color:var(--mc-text) !important;
  font-size:17px !important; line-height:1 !important;
  box-shadow:0 4px 12px rgba(15,26,23,.2);
  transition:background-color .2s ease, color .2s ease, transform .2s ease;
}
.cart-widget-side .woocommerce-mini-cart-item .remove:hover{ background:#8E3B2E !important; color:#fff !important; transform:rotate(90deg); }

/* ---------- Pied : camion, total, boutons ---------- */
.cart-widget-side .shopping-cart-widget-footer{
  padding:0 16px 18px !important;
  border-top:0 !important;
  background:transparent !important;
}

/* camion animé */
.stp-mc-truck{
  margin:4px 0 14px;
  padding:14px 14px 10px;
  border-radius:18px;
  background:var(--mc-pine, #1F3A33);
  overflow:hidden;
}
.stp-mc-truck__scene{
  position:relative;
  height:64px;
  /* route */
  background:
    linear-gradient(#0F1A17, #0F1A17) left bottom / 100% 10px no-repeat;
  border-radius:8px;
  overflow:hidden;
}
/* pointillés de la route qui défilent */
.stp-mc-truck__scene::before{
  content:""; position:absolute; left:0; right:0; bottom:4px; height:2px;
  background:repeating-linear-gradient(90deg, #CFDC7A 0 12px, transparent 12px 24px);
  opacity:.7;
  animation:stp-mc-road .6s linear infinite;
}
/* sapins lointains qui défilent lentement */
.stp-mc-truck__scene::after{
  content:""; position:absolute; left:0; right:0; bottom:10px; height:30px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3Cg fill='%23173028'%3E%3Cpath d='M8 30 L14 8 L20 30z'/%3E%3Cpath d='M22 30 L26 16 L30 30z'/%3E%3Cpath d='M36 30 L43 4 L50 30z'/%3E%3Cpath d='M50 30 L54 18 L58 30z'/%3E%3C/g%3E%3C/svg%3E") repeat-x left bottom / 60px 30px;
  animation:stp-mc-trees 6s linear infinite;
}
@keyframes stp-mc-trees{ to{ background-position:-60px bottom; } }
.stp-mc-truck__svg{
  position:absolute; bottom:6px; left:0;
  width:140px; height:auto;
  z-index:1;
  animation:stp-mc-drive 7s linear infinite;
}
.stp-mc-truck__wheel{ transform-box:fill-box; transform-origin:center; animation:stp-mc-spin .5s linear infinite; }
.stp-mc-truck__text{
  margin:10px 0 0 !important;
  font-size:12.5px; line-height:1.4; text-align:center;
  color:rgba(244,237,225,.8);
}
.stp-mc-truck__text strong{ color:var(--mc-lichen, #CFDC7A); }

@keyframes stp-mc-drive{
  0%   { transform:translateX(-140px); }
  100% { transform:translateX(calc(100cqw + 10px)); }
}
@keyframes stp-mc-road{ to{ background-position:-24px 0; } }
@keyframes stp-mc-spin{ to{ transform:rotate(360deg); } }
.stp-mc-truck__scene{ container-type:inline-size; }
/* petit rebond de la cabine */
@keyframes stp-mc-bump{ 0%,100%{ translate:0 0; } 50%{ translate:0 -1px; } }
.stp-mc-truck__svg{ animation:stp-mc-drive 7s linear infinite, stp-mc-bump .4s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce){
  .stp-mc-truck__svg{ animation:none; left:50%; transform:translateX(-50%); }
  .stp-mc-truck__wheel, .stp-mc-truck__scene::before, .stp-mc-truck__scene::after{ animation:none; }
}

/* total */
.cart-widget-side .woocommerce-mini-cart__total{
  display:flex !important; align-items:baseline; justify-content:space-between;
  margin:0 0 14px !important; padding:14px 4px !important;
  border-top:1px dashed rgba(42,38,34,.2) !important; border-bottom:0 !important;
}
.cart-widget-side .woocommerce-mini-cart__total strong{ font-size:14px; font-weight:600; color:var(--mc-muted); text-transform:none; }
.cart-widget-side .woocommerce-mini-cart__total .amount{
  font-family:var(--font-display, "Fraunces", Georgia, serif);
  font-size:26px; font-weight:500; color:var(--mc-night) !important;
}

/* boutons */
.cart-widget-side .woocommerce-mini-cart__buttons{ display:grid !important; gap:10px; margin:0 !important; }
.cart-widget-side .woocommerce-mini-cart__buttons .button{
  display:flex !important; align-items:center; justify-content:center;
  width:100%; min-height:54px; margin:0 !important;
  border-radius:999px !important;
  font-size:15px !important; font-weight:700 !important; text-transform:none !important; letter-spacing:.01em !important;
  transition:background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease !important;
}
.cart-widget-side .woocommerce-mini-cart__buttons .checkout{
  order:-1;
  background:var(--mc-resin) !important; color:var(--mc-night) !important; border:0 !important;
  box-shadow:0 12px 26px rgba(217,122,43,.3);
}
.cart-widget-side .woocommerce-mini-cart__buttons .checkout:hover{ background:#E6893B !important; transform:translateY(-2px); }
.cart-widget-side .woocommerce-mini-cart__buttons .btn-cart{
  background:transparent !important; color:var(--mc-text) !important;
  border:1.5px solid rgba(42,38,34,.25) !important; box-shadow:none !important;
}
.cart-widget-side .woocommerce-mini-cart__buttons .btn-cart:hover{ border-color:var(--mc-night) !important; }

/* panier vide */
.cart-widget-side .woocommerce-mini-cart__empty-message{
  margin:24px 16px !important; padding:28px 20px !important;
  border:1px dashed rgba(42,38,34,.25); border-radius:18px;
  text-align:center; font-size:15px; color:var(--mc-muted);
}
.cart-widget-side .wd-empty-mini-cart .btn,
.cart-widget-side .return-to-shop .button{
  border-radius:999px !important; background:var(--mc-night) !important; color:var(--mc-sawdust) !important; text-transform:none !important;
}

/* entrée des articles */
@keyframes stp-mc-in{ from{ opacity:0; transform:translateX(20px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: no-preference){
  .cart-widget-side.wd-opened .woocommerce-mini-cart-item{ animation:stp-mc-in .45s cubic-bezier(.22,1,.36,1) both; }
  .cart-widget-side.wd-opened .woocommerce-mini-cart-item:nth-child(2){ animation-delay:.06s; }
  .cart-widget-side.wd-opened .woocommerce-mini-cart-item:nth-child(3){ animation-delay:.12s; }
}

/* écrans peu hauts : pied plus compact pour laisser de la place aux articles */
@media (max-height: 820px){
  .stp-mc-truck{ margin:2px 0 10px; padding:10px 12px 8px; }
  .stp-mc-truck__scene{ height:48px; }
  .stp-mc-truck__svg{ width:110px; }
  .stp-mc-truck__text{ margin-top:6px !important; font-size:11.5px; }
  .cart-widget-side .woocommerce-mini-cart__total{ margin-bottom:10px !important; padding:10px 4px !important; }
  .cart-widget-side .woocommerce-mini-cart__buttons .button{ min-height:48px; }
}

/* =========================================================================
 * FICHE PRODUIT — Description longue (.long-desc-wood) sur deux colonnes
 * Fichier : /wp-content/uploads/zardo/css/beschreibung.css
 * Chargé par produktseite-functions.php. Le HTML des descriptions ne change pas.
 *   Gauche : intro + paragraphes
 *   Droite : avantages et utilisations en tableaux
 *   Dessous, sur toute la largeur : encadré info + conclusion
 * ====================================================================== */
.long-desc-wood{
  --ld-night:#0F1A17; --ld-pine:#1F3A33; --ld-lichen:#CFDC7A; --ld-resin:#D97A2B; --ld-resin-deep:#9C4B17;
  --ld-sawdust:#F4EDE1; --ld-card:#FFFDF9; --ld-text:#2A2622; --ld-muted:#625D55; --ld-line:rgba(42,38,34,.1);
  max-width:1180px; margin:0 auto; padding:clamp(8px, 2vw, 24px) 0;
  column-count:2; column-gap:clamp(28px, 4vw, 56px);
  color:var(--ld-text); text-align:left;
}
.long-desc-wood *{ box-sizing:border-box; }

/* ---------- colonne gauche : texte ---------- */
.long-desc-wood .desc-intro{
  margin:0 0 20px !important; padding:22px 24px; border-radius:22px;
  background:var(--ld-pine); color:rgba(244,237,225,.9) !important;
  font-size:16.5px; line-height:1.7;
  break-inside:avoid;
}
.long-desc-wood .desc-intro strong{ color:var(--ld-lichen); }
.long-desc-wood .certification-badge{
  display:inline-block; padding:1px 9px; margin:0 2px; border-radius:999px;
  background:var(--ld-lichen); color:var(--ld-night); font-size:.82em; font-weight:800; letter-spacing:.04em;
}
.long-desc-wood .desc-paragraph{
  margin:0 0 18px !important; font-size:16px; line-height:1.75; color:var(--ld-text);
}
.long-desc-wood .desc-paragraph strong{ color:var(--ld-resin-deep); }

/* ---------- colonne droite : tableaux ---------- */
/* le premier titre de section démarre la colonne de droite */
.long-desc-wood .desc-section-title:first-of-type{ break-before:column; }
.long-desc-wood .desc-section-title{
  display:flex; align-items:center; gap:10px;
  margin:0 !important; padding:14px 18px !important;
  border-radius:18px 18px 0 0;
  background:var(--ld-night); color:var(--ld-sawdust) !important;
  font-family:var(--font-display, "Fraunces", Georgia, serif) !important;
  font-size:19px !important; font-weight:500 !important; line-height:1.3 !important; letter-spacing:-.01em;
  break-after:avoid; break-inside:avoid;
}

/* tableau des avantages */
.long-desc-wood .desc-advantages-list{
  margin:0 0 22px !important; padding:0 !important; list-style:none;
  border:1px solid var(--ld-line); border-top:0; border-radius:0 0 18px 18px;
  background:var(--ld-card); overflow:hidden;
  break-inside:avoid;
}
.long-desc-wood .advantage-item{
  display:grid; grid-template-columns:44px 1fr; gap:14px; align-items:start;
  margin:0 !important; padding:14px 18px;
  border-bottom:1px solid var(--ld-line);
  transition:background-color .2s ease;
}
.long-desc-wood .advantage-item:last-child{ border-bottom:0; }
.long-desc-wood .advantage-item:nth-child(even){ background:rgba(244,237,225,.5); }
.long-desc-wood .advantage-item:hover{ background:#EEF3E2; }
.long-desc-wood .advantage-icon{
  display:grid; place-items:center; width:44px; height:44px; border-radius:14px;
  background:var(--ld-sawdust); font-size:21px; line-height:1;
}
.long-desc-wood .advantage-title{
  margin:2px 0 4px !important;
  font-family:var(--font-body, Inter, sans-serif) !important;
  font-size:15px !important; font-weight:700 !important; line-height:1.35 !important; color:var(--ld-text) !important;
  text-transform:none !important; letter-spacing:0;
}
.long-desc-wood .advantage-desc{ margin:0 !important; font-size:13.5px; line-height:1.55; color:var(--ld-muted); }

/* tableau des utilisations : deux colonnes de cases */
.long-desc-wood .desc-uses-list{
  display:grid; grid-template-columns:1fr 1fr;
  margin:0 0 22px !important; padding:0 !important; list-style:none;
  border:1px solid var(--ld-line); border-top:0; border-radius:0 0 18px 18px;
  background:var(--ld-card); overflow:hidden;
  break-inside:avoid;
}
.long-desc-wood .use-item{
  display:flex; align-items:center; gap:10px;
  margin:0 !important; padding:13px 16px;
  border-bottom:1px solid var(--ld-line); border-right:1px solid var(--ld-line);
  font-size:14px; font-weight:600; line-height:1.4; color:var(--ld-text);
}
.long-desc-wood .use-item:nth-child(2n){ border-right:0; }
.long-desc-wood .use-item:nth-last-child(-n+2){ border-bottom:0; }
.long-desc-wood .use-item::before{
  content:""; flex:none; width:22px; height:22px; border-radius:7px;
  background:var(--ld-sawdust) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239C4B17' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat center / 14px 14px;
}

/* ---------- dessous, sur toute la largeur ---------- */
.long-desc-wood .info-box,
.long-desc-wood .desc-conclusion{ column-span:all; }
.long-desc-wood .info-box{
  position:relative;
  margin:8px 0 16px !important; padding:20px 22px 20px 70px;
  border-radius:20px; background:rgba(207,220,122,.22);
  font-size:15px; line-height:1.7; color:var(--ld-text);
}
.long-desc-wood .info-box::before{
  content:"i"; position:absolute; left:20px; top:20px;
  display:grid; place-items:center; width:32px; height:32px; border-radius:10px;
  background:var(--ld-pine); color:var(--ld-lichen);
  font-family:var(--font-display, "Fraunces", Georgia, serif); font-size:18px; font-style:italic; font-weight:600;
}
.long-desc-wood .desc-conclusion{
  margin:0 !important; padding:20px 24px;
  border-radius:20px; border:1px dashed rgba(217,122,43,.5);
  font-size:15.5px; line-height:1.7; color:var(--ld-text);
}
.long-desc-wood .desc-conclusion strong{ color:var(--ld-resin-deep); }

/* ---------- tablette et mobile : une seule colonne ---------- */
@media (max-width: 900px){
  .long-desc-wood{ column-count:1; }
  .long-desc-wood .desc-section-title:first-of-type{ break-before:auto; margin-top:8px !important; }
}
@media (max-width: 560px){
  .long-desc-wood .desc-intro{ padding:18px; font-size:15.5px; }
  .long-desc-wood .desc-uses-list{ grid-template-columns:1fr; }
  .long-desc-wood .use-item{ border-right:0; }
  .long-desc-wood .use-item:nth-last-child(2){ border-bottom:1px solid var(--ld-line); }
  .long-desc-wood .info-box{ padding:64px 18px 18px; }
}

/* =========================================================================
 * Description courte (.eh-short-desc) — fiche produit
 * Grille de 4 caractéristiques + bandeau livraison. Le HTML ne change pas.
 * À coller à la fin de beschreibung.css (déjà chargé sur les fiches produits).
 * ====================================================================== */
.eh-short-desc{
  --sd-night:#0F1A17; --sd-pine:#1F3A33; --sd-lichen:#CFDC7A; --sd-resin:#D97A2B; --sd-resin-deep:#9C4B17;
  --sd-sawdust:#F4EDE1; --sd-card:#FFFDF9; --sd-text:#2A2622; --sd-muted:#625D55; --sd-line:rgba(42,38,34,.1);
  margin:0 0 6px;
}
.eh-short-desc *{ box-sizing:border-box; }
.eh-short-desc .eh-quick-specs{
  display:grid; grid-template-columns:1fr 1fr; gap:8px;
  margin:0 0 10px !important; padding:0 !important; list-style:none;
}
.eh-short-desc .eh-quick-specs li{
  display:grid; grid-template-columns:38px 1fr; grid-template-rows:auto auto; column-gap:12px; align-items:center;
  margin:0 !important; padding:11px 12px;
  border:1px solid var(--sd-line); border-radius:14px; background:var(--sd-card);
  font-size:14px; font-weight:600; line-height:1.35; color:var(--sd-text);
  transition:border-color .2s ease, transform .2s ease;
}
.eh-short-desc .eh-quick-specs li:hover{ border-color:rgba(217,122,43,.45); transform:translateY(-2px); }
/* icône dans un carré */
.eh-short-desc .eh-quick-specs li > i{
  grid-row:1 / span 2;
  display:grid; place-items:center; width:38px; height:38px; border-radius:11px;
  background:var(--sd-sawdust); color:var(--sd-resin-deep); font-size:16px;
}
/* libellé en petit au-dessus de la valeur */
.eh-short-desc .eh-quick-specs li > strong{
  align-self:end;
  font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--sd-muted);
}
/* bandeau livraison */
.eh-short-desc .eh-delivery-notice{
  display:flex; align-items:center; gap:10px;
  margin:0 !important; padding:11px 14px;
  border-radius:14px; background:var(--sd-pine); color:rgba(244,237,225,.9) !important;
  font-size:13.5px; line-height:1.45;
}
.eh-short-desc .eh-delivery-notice > i{
  flex:none; display:grid; place-items:center; width:28px; height:28px; border-radius:9px;
  background:rgba(207,220,122,.16); color:var(--sd-lichen); font-size:14px;
}

@media (max-width: 480px){
  .eh-short-desc .eh-quick-specs{ grid-template-columns:1fr; }
}

/* version compacte dans le survol des cartes produits (WoodMart « wd-more-desc ») */
.wd-more-desc .eh-short-desc .eh-quick-specs{ grid-template-columns:1fr; gap:4px; }
.wd-more-desc .eh-short-desc .eh-quick-specs li{ grid-template-columns:28px 1fr; column-gap:8px; padding:6px 8px; border-radius:10px; font-size:12.5px; }
.wd-more-desc .eh-short-desc .eh-quick-specs li > i{ width:28px; height:28px; border-radius:8px; font-size:12px; }
.wd-more-desc .eh-short-desc .eh-quick-specs li > strong{ font-size:10px; }
.wd-more-desc .eh-short-desc .eh-delivery-notice{ padding:8px 10px; font-size:12px; }

/* Élargit le conteneur du header au maximum pour coller le logo et le panier aux bords */
.whb-general-header-inner.container,
.whb-general-header .container {
    max-width: 96% !important; /* Vous pouvez mettre 98% ou 100% si vous voulez encore plus près */
    padding-left: 15px !important;  /* Réduit l'espace vide à gauche du logo */
    padding-right: 15px !important; /* Réduit l'espace vide à droite du panier */
}

/* Optionnel : supprime les marges inutiles autour du logo et du panier */
.whb-col-left .site-logo {
    margin-left: 0 !important;
}
.whb-col-right .wd-header-cart {
    margin-right: 0 !important;
}

/* Met le bouton Buy Now à 100% de largeur, avec la même hauteur et même police */
.wd-buy-now-btn,
button#wd-add-to-cart.wd-buy-now-btn {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 48px !important;
    border-radius: 999px !important; /* Arrondi identique */
    font-size: 16px !important;
    font-weight: 700 !important;
    margin-top: 10px !important;
    text-transform: none !important; /* Enlève les majuscules agressives si vous voulez */
}