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

@font-face {
	font-family: "star";
	font-weight: 400;
	font-style: normal;
	src: url("//gartenhausbaugaiser.de/wp-content/plugins/woocommerce/assets/fonts/star.eot?#iefix") format("embedded-opentype"), url("//gartenhausbaugaiser.de/wp-content/plugins/woocommerce/assets/fonts/star.woff") format("woff"), url("//gartenhausbaugaiser.de/wp-content/plugins/woocommerce/assets/fonts/star.ttf") format("truetype"), url("//gartenhausbaugaiser.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("//gartenhausbaugaiser.de/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.eot?#iefix") format("embedded-opentype"), url("//gartenhausbaugaiser.de/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.woff") format("woff"), url("//gartenhausbaugaiser.de/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.ttf") format("truetype"), url("//gartenhausbaugaiser.de/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.svg#WooCommerce") format("svg");
}

:root {
	--wd-text-font: "Inter", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: rgb(89,89,89);
	--wd-text-font-size: 16px;
	--wd-title-font: "Inter", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 600;
	--wd-title-color: rgb(8,56,47);
	--wd-entities-title-font: "Inter", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 500;
	--wd-entities-title-color: rgb(8,56,47);
	--wd-entities-title-color-hover: rgb(11, 81, 67);
	--wd-alternative-font: "Inter", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "Inter", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 600;
	--wd-widget-title-transform: capitalize;
	--wd-widget-title-color: rgb(8,56,47);
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: "Inter", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 500;
	--wd-header-el-transform: capitalize;
	--wd-header-el-font-size: 14px;
	--wd-brd-radius: 4px;
	--wd-otl-style: dotted;
	--wd-otl-width: 2px;
	--wd-primary-color: rgb(19,134,112);
	--wd-alternative-color: rgb(8,56,47);
	--btn-default-bgcolor: rgb(45,90,39);
	--btn-default-bgcolor-hover: rgb(45,90,39);
	--btn-accented-bgcolor: rgb(45,90,39);
	--btn-accented-bgcolor-hover: rgb(17,120,101);
	--btn-transform: capitalize;
	--wd-form-brd-width: 1px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
	--wd-link-color: rgb(11,81,67);
	--wd-link-color-hover: rgb(8,56,47);
}
.wd-age-verify-wrap {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: #111111;
	background-image: none;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left center;
}
.wd-promo-popup-wrap {
	--wd-popup-width: 800px;
}
:is(.woodmart-archive-shop .wd-builder-off,.wd-wishlist-content,.related-and-upsells,.cart-collaterals,.wd-shop-product,.wd-fbt) .wd-products-with-bg, :is(.woodmart-archive-shop .wd-builder-off,.wd-wishlist-content,.related-and-upsells,.cart-collaterals,.wd-shop-product,.wd-fbt) .wd-products-with-bg :is(.wd-product,.wd-cat) {
	--wd-prod-bg:rgb(250,250,250);
	--wd-bordered-bg:rgb(250,250,250);
}
: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(11,81,67);
	background-image: none;
}
html .page-title > .container > .title, html .page-title .wd-title-wrapp > .title {
	font-size: 58px;
	color: rgb(8,56,47);
}
html .wd-nav-mobile > li > a {
	text-transform: capitalize;
}
html .wd-buy-now-btn {
	background: rgb(36,36,36);
}
html .wd-buy-now-btn:hover {
	background: rgb(51,51,51);
}
.wd-nav-arrows.wd-pos-sep:not(:where(.wd-custom-style)) {
	--wd-arrow-size: 42px;
	--wd-arrow-icon-size: 14px;
	--wd-arrow-offset-h: 15px;
	--wd-arrow-offset-v: 20px;
	--wd-arrow-color: rgb(11,81,67);
	--wd-arrow-color-hover: rgb(255,255,255);
	--wd-arrow-color-dis: rgb(11,81,67);
	--wd-arrow-bg: rgb(244,244,244);
	--wd-arrow-bg-hover: rgb(11,81,67);
	--wd-arrow-bg-dis: rgb(244,244,244);
	--wd-arrow-radius: 21px;
}
.wd-nav-scroll {
	--wd-nscroll-drag-bg: rgb(11,81,67);
	--wd-nscroll-drag-bg-hover: rgb(11,81,67);
}
.product-labels .product-label.onsale {
	background-color: rgb(231,27,47);
}
.product-labels .product-label.new {
	background-color: rgb(231,27,47);
}
.product-labels .product-label.featured {
	background-color: rgb(231,27,47);
}
.product-labels .product-label.out-of-stock {
	background-color: rgb(231,27,47);
}
.mfp-wrap.wd-popup-quick-view-wrap {
	--wd-popup-width: 920px;
}
.woocommerce-product-gallery {
	--wd-gallery-gap: 20px;
}

@media (max-width: 1024px) {
	html .page-title > .container > .title, html .page-title .wd-title-wrapp > .title {
		font-size: 36px;
	}

}
:root{
--wd-container-w: 1564px;
--wd-form-brd-radius: 35px;
--btn-default-color: #fff;
--btn-default-color-hover: #fff;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 5px;
--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;
}

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


.wd-page-title {
background-color: rgb(225,237,235);
}

/* ============================================================
   GARTENHAUS.DE — DESIGN SYSTEM ROOT
   Thème : Nature / Bois / Extérieur / Qualité Allemande
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700;900&family=DM+Sans:wght@300;400;500;600&family=Oswald:wght@400;500;600;700&display=swap');

:root {

  /* ----------------------------------------------------------
     1.1 COULEURS — PALETTE "WALD & HOLZ"
     (Forêt, bois chaud, terre, ciel nordique)
     ---------------------------------------------------------- */

  /* --- COULEUR PRIMAIRE (Vert Forêt / Conifère) --- */
  --color-primary:              #2d5a27;   /* Vert pin profond — fiabilité, nature      */
  --color-primary-dark:         #1e3d1a;   /* Survol / états actifs                     */
  --color-primary-deep:         #132910;   /* Titres forts, accents lourds              */
  --color-primary-light:        #e8f2e6;   /* Fond section highlight                    */
  --color-primary-mid:          #4a7c43;   /* Variante lisible sur fond clair           */
  --color-primary-transparent:  rgba(45, 90, 39, 0.88); /* Overlays hero               */

  /* --- COULEUR SECONDAIRE (Bois Chaud / Chêne) --- */
  --color-secondary:            #a0652a;   /* Brun bois naturel — chaleur, artisanat    */
  --color-secondary-dark:       #7a4a1e;   /* Survol / éléments foncés                 */
  --color-secondary-light:      #f5e6d3;   /* Fond sable clair / cartes bois           */
  --color-secondary-warm:       #c98a4b;   /* Accent doré — gamme premium              */

  /* --- COULEUR ACCENT (Ciel Nordique) --- */
  --color-accent:               #3d7ab5;   /* Bleu lac / piscine — catégorie Pool      */
  --color-accent-light:         #deeaf7;   /* Fond léger bleu                          */
  --color-accent-dark:          #2a5580;   /* Version sombre accent                    */

  /* --- NEUTRES NATURELS --- */
  --color-text-base:            #1c2319;   /* Texte principal — presque noir vert      */
  --color-text-light:           #6b7a66;   /* Texte secondaire — mousse                */
  --color-text-white:           #ffffff;   /* Sur fonds sombres                        */
  --color-text-muted:           #9aaa94;   /* Placeholders, captions                  */

  --color-headings:             #1c2319;   /* H1–H6 par défaut                         */

  --color-background:           #f9f9f9;   /* Fond principal — blanc légèrement chaud  */
  --color-background-alt:       #f0ede6;   /* Sections alternées — lin naturel         */
  --color-background-dark:      #1c2319;   /* Sections sombres (footer, hero dark)     */
  --color-background-wood:      #2e1c0e;   /* Fond bois sombre — header premium        */

  --color-border:               #d8d3c8;   /* Bordures douces — parchemin              */
  --color-border-dark:          #4a4339;   /* Bordures sur fonds sombres               */

  /* --- CATÉGORIES PRODUITS (couleur distincte par univers) --- */
  --color-cat-sauna:            #8b3a0f;   /* Rouille / bois rouge sauna               */
  --color-cat-pool:             #1a6fa8;   /* Bleu eau / piscine                       */
  --color-cat-pavillon:         #4a6741;   /* Vert jardinage / tonnelle                */
  --color-cat-kinder:           #d4880a;   /* Jaune soleil / jeux enfants              */
  --color-cat-carport:          #4a4f5c;   /* Gris acier / garage                      */

  /* --- FEEDBACK --- */
  --color-success:              #2d7a3a;   /* Confirmation commande, dispo             */
  --color-error:                #c0392b;   /* Erreurs formulaires                      */
  --color-warning:              #e67e22;   /* Alertes stock, promotions                */
  --color-info:                 #2980b9;   /* Info livraison, aide                     */

  /* --- BADGE / PROMO --- */
  --color-badge-new:            #2d5a27;   /* "Neu" — vert primaire                    */
  --color-badge-sale:           #c0392b;   /* "Sale / Angebot" — rouge                 */
  --color-badge-top:            #a0652a;   /* "Bestseller" — bois                      */

  /* ----------------------------------------------------------
     1.2 TYPOGRAPHIE — "Germanique & Naturel"
     ---------------------------------------------------------- */

  /* Playfair Display : titres élégants avec sérif — évoque le naturel haut de gamme   */
  /* Oswald : sous-titres catégories, labels — compact & lisible                       */
  /* DM Sans : corps de texte — moderne, aéré, sans générique                          */

  --font-family-headings:     'Playfair Display', Georgia, serif;
  --font-family-display:      'Oswald', 'Arial Narrow', sans-serif; /* labels, cats, CTA */
  --font-family-base:         'DM Sans', 'Helvetica Neue', sans-serif;

  --font-size-base:           16px;
  --font-size-sm:             14px;
  --font-size-xs:             12px;
  --font-size-lg:             18px;
  --font-size-xl:             22px;
  --font-size-2xl:            28px;

  --font-size-h1:             clamp(2.2rem, 5.5vw, 4rem);
  --font-size-h2:             clamp(1.7rem, 4vw,   2.8rem);
  --font-size-h3:             clamp(1.3rem, 3vw,   2rem);
  --font-size-h4:             clamp(1.05rem, 2vw,  1.45rem);
  --font-size-h5:             1.15rem;
  --font-size-h6:             1rem;

  --font-weight-light:        300;
  --font-weight-regular:      400;
  --font-weight-medium:       500;
  --font-weight-semibold:     600;
  --font-weight-bold:         700;
  --font-weight-black:        900;

  --line-height-base:         1.65;
  --line-height-headings:     1.18;
  --line-height-relaxed:      1.85;

  --letter-spacing-tight:    -0.02em;
  --letter-spacing-base:      0em;
  --letter-spacing-wide:      0.04em;
  --letter-spacing-caps:      0.1em;   /* Oswald uppercase labels                      */

  /* ----------------------------------------------------------
     1.3 ESPACEMENTS (système × 4px + grandes valeurs fluides)
     ---------------------------------------------------------- */
  --space-1:    4px;
  --space-2:    8px;
  --space-3:   12px;
  --space-4:   16px;
  --space-5:   24px;
  --space-6:   32px;
  --space-7:   48px;
  --space-8:   64px;
  --space-9:   80px;
  --space-10: 120px;
  --space-11: 160px;

  --section-padding-y:       clamp(60px, 8vw, 120px);
  --section-padding-y-sm:    clamp(32px, 4vw,  60px);

  --container-max-width:     1440px;
  --container-padding:       clamp(16px, 4vw, 48px);

  --grid-gap:                clamp(16px, 2.5vw, 32px);

  /* ----------------------------------------------------------
     1.4 EFFETS, RAYONS & OMBRES
     ---------------------------------------------------------- */

  /* Coins légèrement arrondis — naturel mais pas enfantin */
  --border-radius-xs:    3px;
  --border-radius:       8px;
  --border-radius-md:   12px;
  --border-radius-lg:   20px;
  --border-radius-xl:   32px;
  --border-radius-pill: 999px;

  /* Ombres "bois & profondeur" */
  --shadow-xs:    0 1px  4px rgba(28, 35, 25, 0.07);
  --shadow-sm:    0 3px  8px rgba(28, 35, 25, 0.10);
  --shadow:       0 6px 20px rgba(28, 35, 25, 0.12);
  --shadow-md:    0 10px 28px rgba(28, 35, 25, 0.14);
  --shadow-lg:    0 20px 48px rgba(28, 35, 25, 0.18);
  --shadow-xl:    0 32px 64px rgba(28, 35, 25, 0.22);

  /* Ombres colorées */
  --shadow-green: 0 8px 24px rgba(45, 90, 39,  0.28);
  --shadow-wood:  0 8px 24px rgba(160, 101, 42, 0.28);
  --shadow-pool:  0 8px 24px rgba(29, 111, 168, 0.28);

  /* ----------------------------------------------------------
     1.5 TRANSITIONS & ANIMATIONS
     ---------------------------------------------------------- */
  --transition-fast:   all 0.15s ease;
  --transition:        all 0.28s ease;
  --transition-smooth: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --transition-bounce: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  --transition-slow:   all 0.65s ease;

  /* ----------------------------------------------------------
     1.6 Z-INDEX SCALE
     ---------------------------------------------------------- */
  --z-below:    -1;
  --z-base:      1;
  --z-raised:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-modal:    500;
  --z-toast:    900;

  /* ----------------------------------------------------------
     1.7 COMPOSANTS SPÉCIFIQUES
     ---------------------------------------------------------- */

  /* Header */
  --header-height:          80px;
  --header-height-scrolled: 60px;
  --header-bg:              var(--color-background-wood);
  --header-border:          1px solid var(--color-border-dark);

  /* Navigation */
  --nav-font:               var(--font-family-display);
  --nav-font-size:          0.9rem;
  --nav-letter-spacing:     var(--letter-spacing-caps);
  --nav-color:              var(--color-text-white);
  --nav-hover-color:        var(--color-secondary-warm);

  /* Boutons */
  --btn-font:               var(--font-family-display);
  --btn-font-size:          0.9rem;
  --btn-letter-spacing:     var(--letter-spacing-caps);
  --btn-padding:            14px 32px;
  --btn-padding-sm:         8px 20px;
  --btn-padding-lg:         18px 44px;
  --btn-radius:             var(--border-radius);
  --btn-primary-bg:         var(--color-primary);
  --btn-primary-hover:      var(--color-primary-dark);
  --btn-secondary-bg:       var(--color-secondary);
  --btn-secondary-hover:    var(--color-secondary-dark);

  /* Cartes produit */
  --card-bg:                var(--color-background);
  --card-border:            1px solid var(--color-border);
  --card-radius:            var(--border-radius-md);
  --card-shadow:            var(--shadow-sm);
  --card-shadow-hover:      var(--shadow-md);
  --card-padding:           var(--space-5);

  /* Formulaires */
  --input-bg:               var(--color-background);
  --input-border:           1px solid var(--color-border);
  --input-border-focus:     1px solid var(--color-primary);
  --input-radius:           var(--border-radius);
  --input-padding:          12px 16px;
  --input-font-size:        var(--font-size-base);

  /* Footer */
  --footer-bg:              var(--color-background-dark);
  --footer-text:            #a8b5a0;
  --footer-heading:         var(--color-text-white);
  --footer-border:          1px solid rgba(255,255,255,0.08);

  /* Hero */
  --hero-overlay:           linear-gradient(
                              135deg,
                              rgba(28, 35, 25, 0.80) 0%,
                              rgba(45, 90, 39, 0.55) 60%,
                              rgba(28, 35, 25, 0.20) 100%
                            );

  /* Badges */
  --badge-padding:          4px 10px;
  --badge-radius:           var(--border-radius-xs);
  --badge-font:             var(--font-family-display);
  --badge-font-size:        var(--font-size-xs);
  --badge-letter-spacing:   var(--letter-spacing-caps);
}

/* --- Conteneur du Slide --- */
.hp-slide--promo {
    position: relative;
    padding: 60px 40px;
    border-radius: 12px;
    overflow: hidden;
    color: #ffffff;
    /* On ajoute un dégradé sombre par-dessus l'image pour faire ressortir le texte */
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('votre-image.jpg');
    background-size: cover;
    background-position: center;
    /* On s'assure que tout le texte a une légère ombre pour décoller du fond */
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

/* --- Le "Sourcil" (petit texte en haut) --- */
.hp-slide__eyebrow--sale {
    display: inline-block;
    background: #e63946; /* Rouge promo bien visible */
    color: #fff;
    padding: 5px 15px;
    border-radius: 50px;
    font-weight: bold;
    font-size: 0.9rem;
    margin-bottom: 20px;
    text-shadow: none; /* Pas d'ombre ici pour garder le texte net */
}

/* --- Le Titre (Gros et gras) --- */
.hp-slide__title {
    font-size: 2.8rem;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 20px;
    max-width: 700px;
}

.hp-slide__title em {
    color: #ffd700; /* Jaune or pour le -25% pour qu'il saute aux yeux */
    font-style: normal;
    text-decoration: underline;
}

/* --- La Description --- */
.hp-slide__desc {
    font-size: 1.2rem;
    max-width: 600px;
    margin-bottom: 30px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.95);
}

/* --- Les Boutons --- */
.hp-slide__actions {
    display: flex;
    gap: 15px;
    margin-bottom: 40px;
}

.hp-slide__btn {
    padding: 12px 25px;
    border-radius: 6px;
    font-weight: bold;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
    text-shadow: none;
}
/* --- Conteneur du Slide (Détente) --- */
.hp-slide[data-slide="2"] {
    position: relative;
    padding: 60px 40px;
    border-radius: 12px;
    overflow: hidden;
    color: #ffffff;
    
    /* 1. Applique un voile sombre progressif (plus foncé à gauche là où est le texte) */
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 100%), url('votre-image-sauna.jpg');
    background-size: cover;
    background-position: center;
}

/* 2. Ajoute une ombre portée sur tout le texte pour qu'il "décolle" de l'image */
.hp-slide[data-slide="2"] .hp-slide__eyebrow,
.hp-slide[data-slide="2"] .hp-slide__title,
.hp-slide[data-slide="2"] .hp-slide__desc,
.hp-slide[data-slide="2"] .hp-slide__badges span {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
}

/* --- Le "Sourcil" --- */
.hp-slide[data-slide="2"] .hp-slide__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    color: #ffd700; /* Jaune/Or pour le côté chaleureux du sauna */
}

.vc_custom_1761125692741,.wd-text-block:not(.inline-element).text-left {
    margin-right: auto;
    display: none;
}


/* --- Titre --- */
.hp-slide[data-slide="2"] .hp-slide__title {
    font-size: 3rem;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 20px;
}

.hp-slide[data-slide="2"] .hp-slide__title em {
    font-style: italic;
    color: #ffffff;
    opacity: 0.95;
}

/* --- Description --- */
.hp-slide[data-slide="2"] .hp-slide__desc {
    font-size: 1.15rem;
    max-width: 650px;
    margin-bottom: 35px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
}

/* --- Badges de caractéristiques --- */
.hp-slide[data-slide="2"] .hp-slide__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.hp-slide[data-slide="2"] .hp-slide__badges span {
    background: rgba(0, 0, 0, 0.4);
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    gap: 6px;
    backdrop-filter: blur(2px); /* Léger flou sous les badges */
}
/* --- Conteneur du Slide 1 (Présentation Générale) --- */
.hp-slide[data-slide="1"] {
    position: relative;
    padding: 60px 40px;
    border-radius: 12px;
    overflow: hidden;
    color: #ffffff;
    
    /* Dégradé de gauche à droite : assure la lisibilité sans cacher l'image à droite */
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.3) 100%), url('votre-image-jardin-1.jpg');
    background-size: cover;
    background-position: center;
}

/* --- Amélioration de la lisibilité des textes (sans toucher aux boutons) --- */
.hp-slide[data-slide="1"] .hp-slide__eyebrow,
.hp-slide[data-slide="1"] .hp-slide__title,
.hp-slide[data-slide="1"] .hp-slide__desc,
.hp-slide[data-slide="1"] .hp-slide__badges span {
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.9);
}

/* --- Le "Sourcil" (Info Premium) --- */
.hp-slide[data-slide="1"] .hp-slide__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #a3cfbb; /* Un vert d'eau léger pour rappeler la nature/feuille */
    margin-bottom: 20px;
    font-size: 1rem;
}

/* --- Titre --- */
.hp-slide[data-slide="1"] .hp-slide__title {
    font-size: 3.2rem;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 20px;
}

.hp-slide[data-slide="1"] .hp-slide__title em {
    font-style: italic;
    color: #ffffff;
    text-decoration: underline decoration(#2d5a27) 4px; /* Soulignement discret vert forêt */
}

/* --- Description --- */
.hp-slide[data-slide="1"] .hp-slide__desc {
    font-size: 1.2rem;
    max-width: 600px;
    margin-bottom: 35px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.95);
}

/* --- Badges de confiance (Bas de slide) --- */
.hp-slide[data-slide="1"] .hp-slide__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    padding-top: 25px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.hp-slide[data-slide="1"] .hp-slide__badges span {
    background: rgba(0, 0, 0, 0.45);
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    backdrop-filter: blur(3px); /* Effet moderne de flou */
}

/* --- Adaptation Mobile --- */
@media (max-width: 768px) {
    .hp-slide[data-slide="1"] {
        padding: 40px 20px;
        background-image: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.5)), url('votre-image-jardin-1.jpg');
    }
    .hp-slide[data-slide="1"] .hp-slide__title {
        font-size: 2.2rem;
    }
    .hp-slide[data-slide="1"] .hp-slide__desc {
        font-size: 1.1rem;
    }
}
/* --- Mobile --- */
@media (max-width: 768px) {
    .hp-slide[data-slide="2"] {
        padding: 40px 20px;
        background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('votre-image-sauna.jpg');
    }
    .hp-slide[data-slide="2"] .hp-slide__title {
        font-size: 2rem;
    }
}
.hp-slide__btn--sale {
    background: #ffffff;
}

.hp-slide__btn--sale:hover {
    background: #e63946;
    color: #ffffff;
}

.hp-slide__btn--ghost {
    background: rgba(255, 255, 255, 0.1);
    border: 2px solid #ffffff;
    color: #ffffff;
    backdrop-filter: blur(5px); /* Flou artistique derrière le bouton */
}

/* --- Les Badges de confiance en bas --- */
.hp-slide__badges {
    display: flex;
    gap: 20px;
    font-size: 0.9rem;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    padding-top: 20px;
}

.hp-slide__badges span {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(0, 0, 0, 0.3); /* Petit fond sombre pour chaque badge */
    padding: 4px 10px;
    border-radius: 4px;
}

/* --- Mobile --- */
@media (max-width: 768px) {
    .hp-slide__title { font-size: 1.8rem; }
    .hp-slide__actions { flex-direction: column; }
    .hp-slide__badges { flex-direction: column; gap: 10px; }
}
.vs-page { background:#ffffff; font-family:var(--font-family-base); color:var(--color-text-base); line-height:var(--line-height-base); }
.vs-page *, .vs-page *::before, .vs-page *::after { box-sizing:border-box; }

/* ── HERO pleine largeur ── */
.vs-hero {
  width:100%; min-height:420px;
  position:relative; display:flex; align-items:flex-end; overflow:hidden;
}
.vs-hero__bg {
  position:absolute; inset:0;
  background-image:url('/wp-content/uploads/2021/08/ASHR-7395_edit-WEB.webp');
  background-size:cover; background-position:center 60%;
  transform:scale(1.04); transition:transform 9s ease;
}
.vs-hero:hover .vs-hero__bg { transform:scale(1); }
.vs-hero__overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(10,18,8,.95) 0%,rgba(10,18,8,.60) 45%,rgba(10,18,8,.12) 100%);
}
.vs-hero__content {
  position:relative; z-index:2; width:100%;
  max-width:var(--container-max-width); margin-inline:auto;
  padding:var(--space-9) var(--container-padding) var(--space-8);
}
.vs-hero__eyebrow {
  display:inline-flex; align-items:center; gap:var(--space-2);
  font-family:var(--font-family-display); font-size:var(--font-size-xs);
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:var(--color-secondary-warm);
  background:rgba(201,138,75,.14); border:1px solid rgba(201,138,75,.32);
  padding:5px 14px; border-radius:var(--border-radius-pill); margin-bottom:var(--space-4);
}
.vs-hero h1 {
  font-family:var(--font-family-headings);
  font-size:clamp(2.4rem,5vw,4rem); font-weight:var(--font-weight-black);
  color:#fff; letter-spacing:var(--letter-spacing-tight); line-height:1.08;
  margin-bottom:var(--space-5); max-width:700px;
}
.vs-hero h1 em { font-style:normal; color:var(--color-secondary-warm); }
.vs-hero__pills { display:flex; flex-wrap:wrap; gap:var(--space-2); }
.vs-hero__pill {
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-family-display); font-size:10px;
  letter-spacing:var(--letter-spacing-wide); text-transform:uppercase;
  color:rgba(255,255,255,.68);
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16);
  padding:5px 12px; border-radius:var(--border-radius-pill); backdrop-filter:blur(4px);
}
.vs-hero__pill i { font-size:10px; color:var(--color-secondary-warm); }

/* ── BREADCRUMB ── */
.vs-bc { background:#fff; border-bottom:1px solid var(--color-border); padding:var(--space-3) var(--container-padding); }
.vs-bc__inner {
  max-width:var(--container-max-width); margin-inline:auto;
  display:flex; align-items:center; gap:var(--space-2);
  font-family:var(--font-family-display); font-size:11px;
  letter-spacing:var(--letter-spacing-wide); text-transform:uppercase; color:var(--color-text-light);
}
.vs-bc__inner a { color:var(--color-primary); text-decoration:none; }
.vs-bc__inner a:hover { color:var(--color-primary-dark); }
.vs-bc__inner .sep { font-size:8px; color:var(--color-border); }

/* ── BODY ── */
.vs-body {
  max-width:var(--container-max-width); margin-inline:auto;
  padding:var(--space-8) var(--container-padding) var(--space-10); background:#ffffff;
}

/* ── BANDEAU KPIs ── */
.vs-kpis {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; background:var(--color-border);
  border:1.5px solid var(--color-border); border-radius:var(--border-radius-md);
  overflow:hidden; margin-bottom:var(--space-7);
}
.vs-kpi {
  background:#ffffff; padding:var(--space-6) var(--space-4);
  text-align:center; display:flex; flex-direction:column;
  align-items:center; gap:var(--space-2);
  transition:background var(--transition-fast);
}
.vs-kpi:hover { background:var(--color-primary-light); }
.vs-kpi i { color:var(--color-primary); font-size:1.7rem; }
.vs-kpi strong {
  font-family:var(--font-family-headings); font-size:1.9rem; font-weight:900;
  color:var(--color-headings); letter-spacing:-0.02em; line-height:1;
}
.vs-kpi span {
  font-family:var(--font-family-display); font-size:0.65rem;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:var(--color-text-light);
}

/* ── INTRO ── */
.vs-intro {
  background:var(--color-background-alt); border-left:4px solid var(--color-primary);
  border-radius:var(--border-radius-md); padding:var(--space-6);
  margin-bottom:var(--space-7); display:flex; flex-direction:column; gap:var(--space-4);
}
.vs-intro p { font-size:1.05rem; color:var(--color-text-base); line-height:1.8; margin:0; }

/* ── SECTIONS ── */
.vs-section {
  background:#ffffff; border:1px solid var(--color-border);
  border-radius:var(--border-radius-md); margin-bottom:var(--space-4);
  overflow:hidden; transition:border-color var(--transition-fast);
  scroll-margin-top:100px;
}
.vs-section:hover { border-color:rgba(45,90,39,.3); }
.vs-section__hd {
  padding:var(--space-4) var(--space-6); border-bottom:1px solid var(--color-border);
  display:flex; align-items:center; gap:var(--space-4);
  background:var(--color-background-alt);
}
.vs-section__num {
  font-family:var(--font-family-display); font-size:10px;
  font-weight:var(--font-weight-bold); letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:#fff; background:var(--color-primary);
  padding:3px 10px; border-radius:3px; flex-shrink:0;
}
.vs-section__title {
  font-family:var(--font-family-headings); font-size:var(--font-size-h4);
  font-weight:var(--font-weight-bold); color:var(--color-headings);
  margin:0; letter-spacing:var(--letter-spacing-tight);
}
.vs-section__bd {
  padding:var(--space-6); display:flex; flex-direction:column; gap:var(--space-5);
}
.vs-section__bd p { font-size:1.05rem; color:var(--color-text-base); line-height:1.8; margin:0; }
.vs-section__bd h3 {
  font-family:var(--font-family-headings); font-size:1.1rem;
  font-weight:var(--font-weight-semibold); color:var(--color-headings); margin:0;
}
.vs-section__bd a { color:var(--color-primary); }
.vs-section__bd a:hover { color:var(--color-primary-dark); text-decoration:underline; }
.vs-section__bd ul { padding-left:var(--space-5); display:flex; flex-direction:column; gap:var(--space-2); margin:0; }
.vs-section__bd ul li { font-size:1.05rem; color:var(--color-text-base); line-height:1.65; }
.vs-section__bd ul li strong { color:var(--color-headings); }

/* ── ALERTS ── */
.vs-alert {
  border-radius:var(--border-radius); padding:var(--space-4) var(--space-5);
  display:flex; gap:var(--space-3); align-items:flex-start;
  font-size:1rem; line-height:1.75;
}
.vs-alert i { flex-shrink:0; font-size:15px; margin-top:3px; }
.vs-alert--info { background:var(--color-accent-light); border-left:3px solid var(--color-accent); color:var(--color-accent-dark); }
.vs-alert--info i { color:var(--color-accent); }
.vs-alert--warning { background:#fef9ec; border-left:3px solid var(--color-warning); color:#7a5a00; }
.vs-alert--warning i { color:var(--color-warning); }
.vs-alert--success { background:#edfaf2; border-left:3px solid var(--color-success); color:#1a5c35; }
.vs-alert--success i { color:var(--color-success); }
.vs-alert--danger { background:#fef2f2; border-left:3px solid var(--color-error); color:#7a1a1a; }
.vs-alert--danger i { color:var(--color-error); }

/* ── TABLE VERSANDKOSTEN ── */
.vs-table-wrap { overflow-x:auto; border-radius:var(--border-radius-md); border:1.5px solid var(--color-border); }
.vs-table { width:100%; border-collapse:collapse; font-size:1rem; min-width:480px; }
.vs-table thead tr { background:var(--color-primary); }
.vs-table thead th {
  font-family:var(--font-family-display); font-size:10px;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:#fff; padding:12px var(--space-4); text-align:left;
}
.vs-table tbody tr { border-bottom:1px solid var(--color-border); transition:background var(--transition-fast); }
.vs-table tbody tr:last-child { border-bottom:none; }
.vs-table tbody tr:nth-child(even) { background:var(--color-background-alt); }
.vs-table tbody tr:hover { background:var(--color-primary-light); }
.vs-table td { padding:12px var(--space-4); color:var(--color-text-base); vertical-align:middle; font-size:1rem; }
.vs-table .tag-free {
  display:inline-flex; align-items:center; gap:5px;
  font-family:var(--font-family-display); font-size:10px; letter-spacing:var(--letter-spacing-wide);
  text-transform:uppercase; font-weight:700; color:#fff; background:var(--color-success);
  padding:4px 10px; border-radius:3px;
}
.vs-table .tag-calc {
  display:inline-flex; align-items:center; gap:5px;
  font-family:var(--font-family-display); font-size:10px; letter-spacing:var(--letter-spacing-wide);
  text-transform:uppercase; font-weight:700; color:var(--color-accent-dark); background:var(--color-accent-light);
  border:1px solid var(--color-accent); padding:4px 10px; border-radius:3px;
}

/* ── VERSANDMETHODEN ── */
.vs-modes {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:var(--space-4);
}
.vs-mode {
  background:#ffffff; border:1.5px solid var(--color-border);
  border-radius:var(--border-radius-md); padding:var(--space-5);
  display:flex; flex-direction:column; gap:var(--space-3);
  transition:var(--transition-fast);
}
.vs-mode:hover {
  border-color:var(--color-primary);
  box-shadow:var(--shadow-sm);
  transform:translateY(-2px);
}
.vs-mode i { color:var(--color-primary); font-size:1.6rem; }
.vs-mode strong { font-size:1rem; font-weight:700; color:var(--color-headings); }
.vs-mode p { font-size:0.95rem; color:var(--color-text-light); line-height:1.6; margin:0; }

/* ── ÉTAPES RÉCEPTION ── */
.vs-reception { display:flex; flex-direction:column; gap:0; }
.vs-reception__step {
  display:grid; grid-template-columns:48px 1fr;
  gap:0 var(--space-5); align-items:stretch;
  position:relative;
}
.vs-reception__step:not(:last-child)::before {
  content:''; position:absolute;
  left:24px; top:48px; bottom:0;
  width:2px; background:var(--color-primary-light);
  z-index:0;
}
.vs-reception__left {
  display:flex; flex-direction:column; align-items:center;
  padding-top:var(--space-1); position:relative; z-index:1;
}
.vs-reception__num {
  width:40px; height:40px; flex-shrink:0;
  background:var(--color-primary); color:#fff;
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:var(--font-family-headings); font-size:1.1rem; font-weight:900;
}
.vs-reception__right { padding:var(--space-1) 0 var(--space-6); }
.vs-reception__right strong {
  display:block; font-size:1.05rem; font-weight:700;
  color:var(--color-headings); margin-bottom:var(--space-2);
}
.vs-reception__right p { font-size:1rem; color:var(--color-text-base); line-height:1.75; margin:0; }

/* ── BLOC CONTACT ── */
.vs-contact {
  background:var(--color-primary); border-radius:var(--border-radius-md);
  padding:var(--space-8) var(--space-7); margin-top:var(--space-7);
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--space-6); position:relative; overflow:hidden;
}
.vs-contact::before {
  content:''; position:absolute; right:-60px; top:-60px;
  width:220px; height:220px; border-radius:50%;
  background:rgba(255,255,255,.06); pointer-events:none;
}
.vs-contact::after {
  content:''; position:absolute; right:60px; bottom:-80px;
  width:160px; height:160px; border-radius:50%;
  background:rgba(255,255,255,.04); pointer-events:none;
}
.vs-contact__text { position:relative; z-index:1; }
.vs-contact__label {
  font-family:var(--font-family-display); font-size:11px;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:rgba(255,255,255,.6); display:block; margin-bottom:var(--space-2);
}
.vs-contact__title {
  font-family:var(--font-family-headings); font-size:1.5rem; font-weight:900;
  color:#fff; letter-spacing:var(--letter-spacing-tight); line-height:1.15;
  margin-bottom:var(--space-4);
}
.vs-contact__title em { font-style:normal; color:var(--color-secondary-warm); }
.vs-contact__infos { display:flex; flex-direction:column; gap:var(--space-3); }
.vs-contact__info {
  display:flex; align-items:center; gap:var(--space-3);
  font-size:1rem; color:rgba(255,255,255,.8);
}
.vs-contact__info i { color:var(--color-secondary-warm); width:18px; text-align:center; }
.vs-contact__info a { color:rgba(255,255,255,.85); text-decoration:none; }
.vs-contact__info a:hover { color:#fff; text-decoration:underline; }
.vs-contact__cta {
  position:relative; z-index:1; flex-shrink:0;
  display:inline-flex; flex-direction:column; align-items:center; gap:var(--space-3);
  background:rgba(255,255,255,.12); border:2px solid rgba(255,255,255,.35);
  border-radius:var(--border-radius-md); padding:var(--space-5) var(--space-6);
  text-decoration:none; color:#fff; transition:all var(--transition);
}
.vs-contact__cta:hover {
  background:rgba(255,255,255,.22); border-color:#fff;
  transform:translateY(-3px); color:#fff;
}
.vs-contact__cta i { font-size:2rem; color:var(--color-secondary-warm); }
.vs-contact__cta span {
  font-family:var(--font-family-display); font-size:11px;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase; font-weight:600;
}

/* ── DOC FOOTER ── */
.vs-docfooter {
  margin-top:var(--space-7); padding:var(--space-5) var(--space-6);
  background:var(--color-background-alt); border:1px solid var(--color-border);
  border-radius:var(--border-radius-md);
  display:flex; flex-wrap:wrap; gap:var(--space-5); align-items:center; justify-content:space-between;
}
.vs-docfooter__item strong {
  font-family:var(--font-family-display); font-size:10px;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:var(--color-primary); display:block; margin-bottom:3px;
}
.vs-docfooter__item span,
.vs-docfooter__item a { font-size:var(--font-size-sm); color:var(--color-text-base); text-decoration:none; }
.vs-docfooter__item a:hover { color:var(--color-primary); text-decoration:underline; }
.vs-docfooter__badge {
  display:inline-flex; align-items:center; gap:var(--space-2);
  font-family:var(--font-family-display); font-size:10px;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:#fff; background:var(--color-primary);
  padding:6px 14px; border-radius:var(--border-radius-pill);
}

@media(max-width:768px){
  .vs-hero { min-height:300px; }
  .vs-hero h1 { font-size:2.2rem; }
  .vs-kpis { grid-template-columns:1fr 1fr; }
  .vs-section__bd { padding:var(--space-4); }
  .vs-modes { grid-template-columns:1fr; }
  .vs-contact { flex-direction:column; padding:var(--space-6); }
  .vs-contact__cta { width:100%; justify-content:center; }
}

.imp-page { background:#ffffff; font-family:var(--font-family-base); color:var(--color-text-base); line-height:var(--line-height-base); }
.imp-page *, .imp-page *::before, .imp-page *::after { box-sizing:border-box; }

/* ── HERO pleine largeur, bord à bord ── */
.imp-hero {
  width:100%;
  min-height:480px;
  position:relative;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}
.imp-hero__bg {
  position:absolute; inset:0;
  background-image:url('/wp-content/uploads/2021/08/Akka-Comfort-Rudawka-slider-scaled-1.webp');
  background-size:cover;
  background-position:center 40%;
  transform:scale(1.04);
  transition:transform 9s ease;
}
.imp-hero:hover .imp-hero__bg { transform:scale(1); }
.imp-hero__overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(10,18,8,.93) 0%,rgba(10,18,8,.55) 42%,rgba(10,18,8,.15) 100%);
}
.imp-hero__content {
  position:relative; z-index:2; width:100%;
  max-width:var(--container-max-width);
  margin-inline:auto;
  padding:var(--space-9) var(--container-padding) var(--space-8);
}
.imp-hero__eyebrow {
  display:inline-flex; align-items:center; gap:var(--space-2);
  font-family:var(--font-family-display);
  font-size:var(--font-size-xs); letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:var(--color-secondary-warm);
  background:rgba(201,138,75,.14); border:1px solid rgba(201,138,75,.32);
  padding:5px 14px; border-radius:var(--border-radius-pill);
  margin-bottom:var(--space-4);
}
.imp-hero h1 {
  font-family:var(--font-family-headings);
  font-size:clamp(2.4rem,5vw,4rem);
  font-weight:var(--font-weight-black);
  color:#fff; letter-spacing:var(--letter-spacing-tight); line-height:1.08;
  margin-bottom:var(--space-5); max-width:680px;
}
.imp-hero h1 em { font-style:normal; color:var(--color-secondary-warm); }
.imp-hero__pills { display:flex; flex-wrap:wrap; gap:var(--space-2); }
.imp-hero__pill {
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-family-display);
  font-size:10px; letter-spacing:var(--letter-spacing-wide); text-transform:uppercase;
  color:rgba(255,255,255,.68);
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16);
  padding:5px 12px; border-radius:var(--border-radius-pill);
  backdrop-filter:blur(4px);
}
.imp-hero__pill i { font-size:10px; color:var(--color-secondary-warm); }

/* ── BREADCRUMB ── */
.imp-bc { background:#fff; border-bottom:1px solid var(--color-border); padding:var(--space-3) var(--container-padding); }
.imp-bc__inner {
  max-width:var(--container-max-width); margin-inline:auto;
  display:flex; align-items:center; gap:var(--space-2);
  font-family:var(--font-family-display); font-size:11px;
  letter-spacing:var(--letter-spacing-wide); text-transform:uppercase;
  color:var(--color-text-light);
}
.imp-bc__inner a { color:var(--color-primary); text-decoration:none; }
.imp-bc__inner a:hover { color:var(--color-primary-dark); }
.imp-bc__inner .sep { font-size:8px; color:var(--color-border); }

/* ── BODY ── */
.imp-body {
  max-width:var(--container-max-width);
  margin-inline:auto;
  padding:var(--space-8) var(--container-padding) var(--space-10);
  background:#ffffff;
}

/* ── OVERVIEW LABEL ── */
.imp-section-label {
  font-family:var(--font-family-display);
  font-size:11px; letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:var(--color-text-light);
  display:flex; align-items:center; gap:var(--space-3);
  margin-bottom:var(--space-4);
}
.imp-section-label::after { content:''; flex:1; height:1px; background:var(--color-border); }

/* ── SCHNELLÜBERSICHT GRID (grille soudée) ── */
.imp-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:1px; background:var(--color-border);
  border:1px solid var(--color-border);
  border-radius:var(--border-radius-md);
  overflow:hidden;
  margin-bottom:var(--space-8);
}
.imp-card {
  background:#fff; padding:var(--space-5);
  position:relative; transition:var(--transition-fast);
}
.imp-card::before {
  content:''; position:absolute; top:0; left:0; width:3px; height:100%;
  background:var(--color-primary); opacity:0; transition:var(--transition-fast);
}
.imp-card:hover { background:var(--color-primary-light); }
.imp-card:hover::before { opacity:1; }
.imp-card__icon {
  width:34px; height:34px;
  background:var(--color-primary-light); border-radius:var(--border-radius);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:var(--space-3);
}
.imp-card__icon i { color:var(--color-primary); font-size:14px; }
.imp-card__lbl {
  font-family:var(--font-family-display); font-size:10px;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:var(--color-text-light); margin-bottom:var(--space-2);
}
.imp-card__val { font-size:var(--font-size-sm); color:var(--color-text-base); font-weight:var(--font-weight-medium); line-height:1.5; }
.imp-card__val a { color:var(--color-primary); text-decoration:none; word-break:break-all; }
.imp-card__val a:hover { text-decoration:underline; }

/* ── SECTIONS ── */
.imp-section {
  background:#fff; border:1px solid var(--color-border);
  border-radius:var(--border-radius-md);
  margin-bottom:var(--space-4); overflow:hidden;
  transition:border-color var(--transition-fast);
}
.imp-section:hover { border-color:rgba(45,90,39,.3); }
.imp-section__hd {
  padding:var(--space-4) var(--space-6);
  border-bottom:1px solid var(--color-border);
  display:flex; align-items:center; gap:var(--space-4);
  background:var(--color-background-alt);
}
.imp-section__num {
  font-family:var(--font-family-display); font-size:10px;
  font-weight:var(--font-weight-bold); letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:#fff; background:var(--color-primary);
  padding:3px 10px; border-radius:3px; flex-shrink:0;
}
.imp-section__title {
  font-family:var(--font-family-headings); font-size:var(--font-size-h4);
  font-weight:var(--font-weight-bold); color:var(--color-headings);
  margin:0; letter-spacing:var(--letter-spacing-tight);
}
.imp-section__bd {
  padding:var(--space-6); display:flex; flex-direction:column; gap:var(--space-4);
}
.imp-section__bd p { font-size:var(--font-size-base); color:var(--color-text-base); line-height:var(--line-height-base); margin:0; }
.imp-section__bd a { color:var(--color-primary); }
.imp-section__bd a:hover { color:var(--color-primary-dark); text-decoration:underline; }

/* ── TABLE ── */
.imp-tw { overflow-x:auto; border-radius:var(--border-radius); border:1px solid var(--color-border); }
.imp-table { width:100%; border-collapse:collapse; font-size:var(--font-size-sm); min-width:340px; }
.imp-table thead tr { background:var(--color-secondary); }
.imp-table thead th {
  font-family:var(--font-family-display); font-size:10px;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:#fff; padding:10px var(--space-4); text-align:left;
}
.imp-table tbody tr { border-bottom:1px solid var(--color-border); }
.imp-table tbody tr:last-child { border-bottom:none; }
.imp-table tbody tr:hover { background:var(--color-primary-light); }
.imp-table td { padding:10px var(--space-4); color:var(--color-text-base); vertical-align:top; }
.imp-table td:first-child {
  font-family:var(--font-family-display); font-size:12px;
  letter-spacing:var(--letter-spacing-wide); text-transform:uppercase;
  color:var(--color-text-light); white-space:nowrap; width:200px;
}
.imp-table td a { color:var(--color-primary); }

/* ── ALERTS ── */
.imp-alert {
  border-radius:var(--border-radius); padding:var(--space-4) var(--space-5);
  display:flex; gap:var(--space-3); align-items:flex-start;
  font-size:var(--font-size-sm); line-height:1.6;
}
.imp-alert i { flex-shrink:0; font-size:14px; margin-top:2px; }
.imp-alert--info { background:var(--color-accent-light); border-left:3px solid var(--color-accent); color:var(--color-accent-dark); }
.imp-alert--info i { color:var(--color-accent); }
.imp-alert--warning { background:#fef9ec; border-left:3px solid var(--color-warning); color:#7a5a00; }
.imp-alert--warning i { color:var(--color-warning); }
.imp-alert--success { background:#edfaf2; border-left:3px solid var(--color-success); color:#1a5c35; }
.imp-alert--success i { color:var(--color-success); }

/* ── CATS GRID (6 catégories) ── */
.imp-cats {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:var(--space-3);
}
.imp-cat {
  display:flex; align-items:center; gap:var(--space-3);
  padding:var(--space-3) var(--space-4);
  border:1px solid var(--color-border); border-radius:var(--border-radius);
  background:#fff; font-size:var(--font-size-sm);
  font-weight:var(--font-weight-medium); color:var(--color-text-base);
  transition:var(--transition-fast);
}
.imp-cat:hover { border-color:var(--color-primary); background:var(--color-primary-light); }
.imp-cat i { width:16px; text-align:center; font-size:14px; }

/* ── DOC FOOTER ── */
.imp-docfooter {
  margin-top:var(--space-7); padding:var(--space-5) var(--space-6);
  background:var(--color-background-alt); border:1px solid var(--color-border);
  border-radius:var(--border-radius-md);
  display:flex; flex-wrap:wrap; gap:var(--space-5); align-items:center; justify-content:space-between;
}
.imp-docfooter__item strong {
  font-family:var(--font-family-display); font-size:10px;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:var(--color-primary); display:block; margin-bottom:3px;
}
.imp-docfooter__item span,
.imp-docfooter__item a { font-size:var(--font-size-sm); color:var(--color-text-base); text-decoration:none; }
.imp-docfooter__item a:hover { color:var(--color-primary); text-decoration:underline; }
.imp-docfooter__badge {
  display:inline-flex; align-items:center; gap:var(--space-2);
  font-family:var(--font-family-display); font-size:10px;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:#fff; background:var(--color-primary);
  padding:6px 14px; border-radius:var(--border-radius-pill);
}

@media(max-width:768px){
  .imp-hero { min-height:320px; }
  .imp-hero h1 { font-size:2.2rem; }
  .imp-section__bd { padding:var(--space-4); }
  .imp-cats { grid-template-columns:1fr 1fr; }
}





/* ============================================
   FIX MENU DÉBORDEMENT - PETITS ÉCRANS DESKTOP
   ============================================ */

/* Écrans entre 1025px et 1399px (petits laptops) */
@media screen and (min-width: 1025px) and (max-width: 1399px) {

  /* Réduire la taille du texte des liens */
  .whb-header-bottom .wd-nav-header > li > a {
    font-size: 13px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  /* Réduire l'espacement entre les éléments */
  .whb-header-bottom ul.menu.wd-nav-header {
    gap: 0 !important;
    column-gap: 0 !important;
  }
}

/* Écrans entre 1025px et 1199px (très petits laptops) */
@media screen and (min-width: 1025px) and (max-width: 1199px) {

  /* Encore plus compact */
  .whb-header-bottom .wd-nav-header > li > a {
    font-size: 12px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
    letter-spacing: -0.2px !important;
  }

  /* Permettre le défilement horizontal si ça déborde encore */
  .whb-header-bottom .whb-flex-row {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin; /* Firefox */
  }

  /* Empêcher le retour à la ligne */
  .whb-header-bottom ul.menu.wd-nav-header {
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
  }

  /* Barre de défilement discrète */
  .whb-header-bottom .whb-flex-row::-webkit-scrollbar {
    height: 3px;
  }

  .whb-header-bottom .whb-flex-row::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 3px;
  }
}
/* ============================================================
   HOMEPAGE — Styles complets
   Shared · Banners · Features · Products ·
   Reviews Swiper · About
   Variables :root · Font Awesome 6
   ============================================================ */


/* ══════════════════════════════════════════
   A. SHARED
   ══════════════════════════════════════════ */

.hp-sec-tag{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-family-display);font-size:11px;letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-primary);font-weight:600;background:var(--color-primary-light);border:1px solid rgba(45,90,39,.18);padding:5px 14px;border-radius:var(--border-radius-pill);margin-bottom:var(--space-3);width:fit-content}
.hp-sec-header{text-align:center;margin-bottom:var(--space-7);display:flex;flex-direction:column;align-items:center}
.hp-sec-title{font-family:var(--font-family-headings);font-size:var(--font-size-h2);font-weight:var(--font-weight-black);color:var(--color-headings);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-headings);margin:0 0 var(--space-3)}
.hp-sec-title em{font-style:normal;color:var(--color-primary)}
.hp-sec-sub{font-size:1.05rem;color:var(--color-text-light);max-width:620px;margin:0 auto;line-height:1.7}

.hp-sec-btn{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-family-display);font-size:11px;letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;font-weight:600;padding:var(--btn-padding);border-radius:var(--btn-radius);text-decoration:none;transition:var(--transition);border:2px solid transparent;cursor:pointer}
.hp-sec-btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.hp-sec-btn--primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:var(--shadow-green);transform:translateY(-2px)}
.hp-sec-btn--white{background:#fff;color:var(--color-primary);border-color:#fff}
.hp-sec-btn--white:hover{background:var(--color-primary-light);color:var(--color-primary-dark)}
.hp-sec-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.hp-sec-btn--ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.hp-sec-btn--outline-dark{background:transparent;color:#ffffff;border-color:var(--color-border)}
.hp-sec-btn--outline-dark:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}


/* ══════════════════════════════════════════
   B. BANNERS — Image claire + overlay texte
   ══════════════════════════════════════════ */

.hp-banner{position:relative;min-height:420px;align-items:center;overflow:hidden}
.hp-banner__bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 8s ease}
.hp-banner:hover .hp-banner__bg{transform:scale(1.03)}

/* PAS d'overlay global sur l'image */

.hp-banner__inner{position:relative;z-index:2;align-items:center}
.hp-banner--right .hp-banner__inner{justify-content:flex-end}

/* Card glass — overlay seulement ici */
.hp-banner__card{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:var(--border-radius-lg);padding:var(--space-7);box-shadow:var(--shadow-lg)}
.hp-banner__card--warm{background:rgba(46,28,14,.82)}
.hp-banner__tag{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-family-display);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-secondary-warm);background:rgba(201,138,75,.14);border:1px solid rgba(201,138,75,.3);padding:5px 14px;border-radius:var(--border-radius-pill);margin-bottom:var(--space-4)}
.hp-banner__card h2{font-family:var(--font-family-headings);font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:var(--font-weight-black);color:#fff;letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-headings);margin:0 0 var(--space-3)}
.hp-banner__card h2 em{font-style:normal;color:var(--color-secondary-warm)}
.hp-banner__card p{font-size:1rem;color:rgba(255,255,255,.7);line-height:1.7;margin:0 0 var(--space-5)}
.hp-banner__actions{display:flex;gap:var(--space-3);flex-wrap:wrap}


/* ══════════════════════════════════════════
   C. PRODUCTS SECTION (Woodmart wrapper)
   ══════════════════════════════════════════ */

.hp-products-section{
	background:#fff}

.hp-products-section__inner{max-width:var(--container-max-width);margin-inline:auto}
.hp-products-cta{text-align:center;margin-top:var(--space-7)}

/* Woodmart product card override */
.hp-products-section .product-grid-item{border:1px solid var(--color-border)!important;border-radius:var(--card-radius)!important;overflow:hidden!important;transition:var(--transition)!important}
.hp-products-section .product-grid-item:hover{box-shadow:var(--card-shadow-hover)!important;transform:translateY(-4px)!important;border-color:var(--color-primary)!important}
.hp-products-section .woodmart-product-cats{font-family:var(--font-family-display)!important;font-size:9px!important;letter-spacing:var(--letter-spacing-caps)!important;text-transform:uppercase!important;color:var(--color-primary)!important;font-weight:600!important}
.hp-products-section .wd-entities-title a{font-family:var(--font-family-headings)!important;font-size:1.05rem!important;font-weight:var(--font-weight-bold)!important;color:var(--color-headings)!important}
.hp-products-section .wd-entities-title a:hover{color:var(--color-primary)!important}
.hp-products-section .price{font-family:var(--font-family-headings)!important;font-weight:var(--font-weight-black)!important;color:var(--color-headings)!important}
.hp-products-section .price del{color:var(--color-text-muted)!important;font-weight:400!important}
.hp-products-section .price ins{color:var(--color-badge-sale)!important;font-weight:var(--font-weight-black)!important}
.hp-products-section .onsale{background:var(--color-badge-sale)!important;font-family:var(--font-family-display)!important;font-size:9px!important;letter-spacing:var(--letter-spacing-caps)!important;text-transform:uppercase!important;border-radius:var(--border-radius-xs)!important}
.hp-products-section .add_to_cart_button{background:var(--color-primary)!important;border-radius:var(--btn-radius)!important;font-family:var(--font-family-display)!important;font-size:10px!important;letter-spacing:var(--letter-spacing-caps)!important;text-transform:uppercase!important;font-weight:600!important}
.hp-products-section .add_to_cart_button:hover{background:var(--color-primary-dark)!important;box-shadow:var(--shadow-green)!important}


/* ══════════════════════════════════════════
   D. PREMIUM FEATURES
   ══════════════════════════════════════════ */

.hp-features{padding:var(--section-padding-y) var(--container-padding);background:var(--color-background);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.hp-features__inner{max-width:var(--container-max-width);margin-inline:auto}
.hp-features__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.hp-feat{display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-5);background:#fff;border:1px solid var(--color-border);border-radius:var(--border-radius-md);transition:var(--transition)}
.hp-feat:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-primary)}
.hp-feat__icon{width:52px;height:52px;border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.hp-feat__text h3{font-family:var(--font-family-headings);font-size:1.02rem;font-weight:700;color:var(--color-headings);margin:0 0 var(--space-2);letter-spacing:var(--letter-spacing-tight)}
.hp-feat__text p{font-size:var(--font-size-sm);color:var(--color-text-light);line-height:1.65;margin:0}

.hk-section {
  background:#fff;
}
.hk-inner { max-width:var(--container-max-width); margin-inline:auto; }
.hk-header { text-align:center; margin-bottom:var(--space-7); display:flex; flex-direction:column; align-items:center; }
.hk-tag {
  display:inline-flex; align-items:center; gap:var(--space-2);
  font-family:var(--font-family-display); font-size:11px;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:var(--color-secondary); font-weight:600;
  background:var(--color-secondary-light); border:1px solid rgba(160,101,42,.2);
  padding:5px 14px; border-radius:var(--border-radius-pill); margin-bottom:var(--space-3);
}
.hk-title {
  font-family:var(--font-family-headings);
  font-size:var(--font-size-h2); font-weight:var(--font-weight-black);
  color:var(--color-headings); letter-spacing:var(--letter-spacing-tight);
  line-height:var(--line-height-headings); margin:0 0 var(--space-3);
}
.hk-title em { font-style:normal; color:var(--color-primary); }
.hk-sub { font-size:1.05rem; color:var(--color-text-light); max-width:580px; line-height:1.7; margin:0; }

/* Grid */
.hk-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-template-rows:260px 260px;
  gap:var(--space-4);
}
.hk-card {
  position:relative; border-radius:var(--border-radius-lg);
  overflow:hidden; text-decoration:none; display:block;
  cursor:pointer;
}
.hk-card--lg { grid-row:1/3; grid-column:1; }
.hk-card--wide { grid-column:span 2; }

/* Image */
.hk-card__img { position:absolute; inset:0; }
.hk-card__img img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .65s ease;
}
.hk-card:hover .hk-card__img img { transform:scale(1.08); }

/* Overlay */
.hk-card__overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(10,18,8,.9) 0%,rgba(10,18,8,.35) 50%,rgba(10,18,8,.05) 100%);
  transition:background .4s ease;
}
.hk-card:hover .hk-card__overlay {
  background:linear-gradient(to top,rgba(10,18,8,.95) 0%,rgba(10,18,8,.2) 50%,rgba(10,18,8,.02) 100%);
}

/* Accent line at bottom */
.hk-card__accent {
  position:absolute; bottom:0; left:0; right:0;
  height:4px; z-index:3;
  transform:scaleX(0); transform-origin:left;
  transition:transform .4s ease;
}
.hk-card:hover .hk-card__accent { transform:scaleX(1); }

/* Content */
.hk-card__content {
  position:relative; z-index:2; height:100%;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:var(--space-5);
}
.hk-card__icon {
  position:absolute; top:var(--space-4); left:var(--space-4);
  width:40px; height:40px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
}
.hk-card__icon i { color:#fff; font-size:.95rem; }
.hk-card__badge {
  position:absolute; top:var(--space-4); right:var(--space-4);
  font-family:var(--font-family-display); font-size:9px;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  font-weight:700; padding:3px 10px; border-radius:var(--border-radius-xs);
  color:#fff;
}
.hk-card__name {
  font-family:var(--font-family-headings); font-size:1.4rem;
  font-weight:var(--font-weight-black); color:#fff;
  letter-spacing:var(--letter-spacing-tight); margin:0 0 var(--space-1);
}
.hk-card--lg .hk-card__name { font-size:2rem; }
.hk-card__desc {
  font-size:var(--font-size-sm); color:rgba(255,255,255,.65);
  line-height:1.55; margin:0 0 var(--space-2);
  max-height:0; overflow:hidden; opacity:0;
  transition:max-height .4s ease, opacity .3s ease;
}
.hk-card:hover .hk-card__desc { max-height:80px; opacity:1; }
.hk-card--lg .hk-card__desc { max-height:none; opacity:1; }
.hk-card__count {
  font-family:var(--font-family-display); font-size:.68rem;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:rgba(255,255,255,.5); margin-bottom:var(--space-2);
}
.hk-card__cta {
  display:inline-flex; align-items:center; gap:var(--space-2);
  font-family:var(--font-family-display); font-size:.72rem;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  font-weight:600; color:#fff; opacity:.6;
  transition:var(--transition-fast);
}
.hk-card:hover .hk-card__cta { opacity:1; gap:var(--space-3); }

/* ══════════════════════════════════════════
   E. REVIEWS — SWIPER CAROUSEL
   ══════════════════════════════════════════ */

.hp-reviews{padding:var(--section-padding-y) var(--container-padding);background:#fff}
.hp-reviews__inner{max-width:var(--container-max-width);margin-inline:auto}

/* Swiper container */
.hp-rev-swiper{position:relative;overflow:hidden;padding-bottom:var(--space-7)}

/* Card */
.hp-rev{background:#fff;border:1px solid var(--color-border);border-radius:var(--card-radius);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);height:100%;transition:var(--transition)}
.hp-rev:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--color-primary)}

/* Top row */
.hp-rev__top{display:flex;justify-content:space-between;align-items:center}
.hp-rev__stars{color:var(--color-secondary-warm);font-size:1rem;letter-spacing:2px}
.hp-rev__star-empty{color:var(--color-border)}
.hp-rev__date{font-family:var(--font-family-display);font-size:10px;letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-muted)}

/* Text */
.hp-rev__text{font-size:.98rem;color:var(--color-text-base);line-height:1.75;flex:1;font-style:italic}

/* Product */
.hp-rev__product{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-primary);font-weight:500;padding-top:var(--space-2)}
.hp-rev__product i{font-size:.7rem}

/* Author */
.hp-rev__author{display:flex;align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:auto}
.hp-rev__avatar{width:42px;height:42px;border-radius:50%;background:var(--color-primary);display:flex;align-items:center;justify-content:center;font-family:var(--font-family-headings);font-size:.95rem;font-weight:700;color:#fff;flex-shrink:0}
.hp-rev__author strong{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-headings)}
.hp-rev__author span{font-size:var(--font-size-xs);color:var(--color-text-light)}

/* Navigation row */
.hp-rev-swiper__nav{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-2)}
.hp-rev-swiper__arrow{width:42px;height:42px;border-radius:50%;background:#fff;border:1.5px solid var(--color-border);color:var(--color-text-base);font-size:.85rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-fast);box-shadow:var(--shadow-xs);flex-shrink:0}
.hp-rev-swiper__arrow:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-green)}

/* Pagination dots (Swiper) */
.hp-rev-swiper__pagination{display:flex;gap:var(--space-2);align-items:center}
.hp-rev-dot{width:10px;height:10px;border-radius:50%;background:var(--color-border);cursor:pointer;transition:var(--transition-fast);display:inline-block;border:none;padding:0}
.hp-rev-dot--active{background:var(--color-primary);transform:scale(1.3)}


/* ══════════════════════════════════════════
   F. ABOUT (image + texte)
   ══════════════════════════════════════════ */

.hp-about{padding:var(--section-padding-y) var(--container-padding);background:var(--color-background-alt);border-top:1px solid var(--color-border)}
.hp-about__inner{max-width:var(--container-max-width);margin-inline:auto;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-9);align-items:center}

/* Image */
.hp-about__img-wrap{position:relative}
.hp-about__img{border-radius:var(--border-radius-lg);overflow:hidden;aspect-ratio:4/3}
.hp-about__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.hp-about__img-wrap:hover .hp-about__img img{transform:scale(1.04)}

/* Badge */
.hp-about__badge{position:absolute;bottom:var(--space-5);right:var(--space-5);background:var(--color-primary);color:#fff;padding:var(--space-4) var(--space-5);border-radius:var(--border-radius-md);text-align:center;box-shadow:var(--shadow-green);z-index:2}
.hp-about__badge strong{font-family:var(--font-family-headings);font-size:2.2rem;font-weight:900;display:block;line-height:1;letter-spacing:-.03em}
.hp-about__badge span{font-family:var(--font-family-display);font-size:10px;letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:rgba(255,255,255,.7);display:block;margin-top:4px}

/* Accent bar déco */
.hp-about__accent{position:absolute;top:calc(-1 * var(--space-4));left:calc(-1 * var(--space-4));width:80px;height:80px;border:4px solid var(--color-primary);border-radius:var(--border-radius-lg);opacity:.2;z-index:0}

/* Texte */
.hp-about__title{font-family:var(--font-family-headings);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:var(--font-weight-black);color:var(--color-headings);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-headings);margin:0 0 var(--space-4)}
.hp-about__title em{font-style:normal;color:var(--color-primary)}
.hp-about__text p{font-size:1.05rem;color:var(--color-text-base);line-height:1.8;margin:0 0 var(--space-4)}
.hp-about__text strong{color:var(--color-headings)}

/* Mini stats */
.hp-about__stats{display:flex;gap:var(--space-4);flex-wrap:wrap;margin:var(--space-5) 0}
.hp-about__stat{display:flex;align-items:center;gap:var(--space-3);background:#fff;border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--space-3) var(--space-4);transition:var(--transition)}
.hp-about__stat:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}
.hp-about__stat i{color:var(--color-primary);font-size:1.1rem;flex-shrink:0}
.hp-about__stat strong{display:block;font-family:var(--font-family-headings);font-size:1.1rem;font-weight:900;color:var(--color-headings);line-height:1}
.hp-about__stat span{font-family:var(--font-family-display);font-size:9px;letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-light)}

.hp-about__actions{margin-top:var(--space-2)}


/* ══════════════════════════════════════════
   G. SLIDES (texte seulement, overlay fourni par slider)
   ══════════════════════════════════════════ */

.hp-slide__eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-family-display);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-secondary-warm);background:rgba(201,138,75,.14);border:1px solid rgba(201,138,75,.32);padding:5px 14px;border-radius:var(--border-radius-pill);margin-bottom:var(--space-4)}
.hp-slide__eyebrow--sale{color:#fff;background:var(--color-badge-sale);border-color:var(--color-badge-sale);animation:slidePulse 2s ease-in-out infinite}
@keyframes slidePulse{0%,100%{box-shadow:0 0 0 0 rgba(192,57,43,.4)}50%{box-shadow:0 0 0 8px rgba(192,57,43,0)}}
.hp-slide__title{font-family:var(--font-family-headings);font-size:clamp(2.4rem,5vw,4.2rem);font-weight:var(--font-weight-black);color:#fff;letter-spacing:var(--letter-spacing-tight);line-height:1.06;margin-bottom:var(--space-4);max-width:700px}
.hp-slide__title em{font-style:normal;color:var(--color-secondary-warm)}
.hp-slide__desc{font-size:1.1rem;color:rgba(255,255,255,.72);line-height:1.7;max-width:560px;margin-bottom:var(--space-6)}
.hp-slide__actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-5)}
.hp-slide__btn{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-family-display);font-size:11px;letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;font-weight:600;padding:14px 28px;border-radius:var(--btn-radius);text-decoration:none;transition:var(--transition);border:2px solid transparent}
.hp-slide__btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.hp-slide__btn--primary:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-green)}
.hp-slide__btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.hp-slide__btn--ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.hp-slide__btn--sale{background:var(--color-badge-sale);color:#fff;border-color:var(--color-badge-sale)}
.hp-slide__btn--sale:hover{background:#a5291e;box-shadow:0 8px 24px rgba(192,57,43,.35)}
.hp-slide__badges{display:flex;gap:var(--space-4);flex-wrap:wrap;font-family:var(--font-family-display);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:rgba(255,255,255,.5)}
.hp-slide__badges i{color:var(--color-secondary-warm);margin-right:var(--space-1)}


/* ══════════════════════════════════════════
   H. RESPONSIVE
   ══════════════════════════════════════════ */

@media(max-width:1100px){
  .hp-features__grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .hp-about__inner{grid-template-columns:1fr}
  .hp-banner__inner{justify-content:center!important}
  .hp-banner__card{max-width:100%}
  .hp-about__img-wrap{order:-1}
}
@media(max-width:640px){
  .hp-banner{min-height:auto}
  .hp-banner__card{padding:var(--space-5);border-radius:var(--border-radius-md)}
  .hp-banner__card h2{font-size:1.5rem}
  .hp-banner__actions{flex-direction:column}
  .hp-about__stats{flex-direction:column}
  .hp-about__title{font-size:1.8rem}
  .hp-slide__title{font-size:2.2rem}
  .hp-slide__actions{flex-direction:column;align-items:flex-start}
}
/* ============================================================
   HEADER — [site_name]
   Override CSS pur — aucun élément ajouté/supprimé
   Ciblage des classes Woodmart existantes uniquement
   ============================================================ */


/* ══════════════════════════════════════════
   A. ROW 1 — GENERAL HEADER (fond BLANC)
   Logo · Search · Account · Cart
   Tout reste en place — on style juste le fond et les couleurs
   ══════════════════════════════════════════ */

.whb-general-header {
  background: #ffffff !important;
  border-bottom: 1px solid var(--color-border) !important;
}

/* Search bar sur fond blanc */
.whb-general-header .searchform {
  background: var(--color-background-alt) !important;
  border: 1.5px solid var(--color-border) !important;
  border-radius: var(--border-radius-pill) !important;
  overflow: hidden !important;
  transition: border-color var(--transition-fast),
              box-shadow var(--transition-fast) !important;
}
.whb-general-header .searchform:focus-within {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 3px rgba(45,90,39,.1) !important;
}

.whb-general-header .searchform input.s {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-sm) !important;
  color: var(--color-text-base) !important;
  padding: 11px 18px !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}
.whb-general-header .searchform input.s::placeholder {
  color: var(--color-text-muted) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.whb-general-header .searchform .searchsubmit {
  background: var(--color-primary) !important;
	display:none;
  border: none !important;
  padding: 11px 20px !important;
  font-family: var(--font-family-display) !important;
  font-size: 11px !important;
  letter-spacing: var(--letter-spacing-caps) !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: #fff !important;
  cursor: pointer !important;
  transition: var(--transition-fast) !important;
  white-space: nowrap !important;
}
.whb-general-header .searchform .searchsubmit:hover {
  background: var(--color-primary-dark) !important;
}

.whb-general-header .wd-clear-search {
  color: var(--color-text-muted) !important;
  cursor: pointer !important;
}
.whb-general-header .wd-clear-search:hover {
  color: var(--color-text-base) !important;
}

/* Search results dropdown */
.whb-general-header .wd-search-results.wd-dropdown {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--border-radius-md) !important;
  box-shadow: var(--shadow-lg) !important;
  background: #fff !important;
}

/* Icônes (account, wishlist, cart) — couleur foncée sur fond blanc */
.whb-general-header .wd-tools-icon::before {
  color: var(--color-text-base) !important;
}
.whb-general-header .wd-tools-element > a:hover .wd-tools-icon::before {
  color: var(--color-primary) !important;
}

/* Texte tools */
.whb-general-header .wd-tools-text {
  font-family: var(--font-family-display) !important;
  font-size: 10px !important;
  letter-spacing: var(--letter-spacing-caps) !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: var(--color-text-light) !important;
}
.whb-general-header .wd-tools-element > a:hover .wd-tools-text {
  color: var(--color-primary) !important;
}

/* Cart number */
.whb-general-header .wd-cart-number {
  font-family: var(--font-family-display) !important;
  font-weight: 700 !important;
  color: var(--color-text-base) !important;
}

/* Cart subtotal */
.whb-general-header .wd-cart-subtotal {
  font-family: var(--font-family-headings) !important;
  font-weight: 700 !important;
  color: var(--color-primary) !important;
}

/* Wishlist count */
.whb-general-header .wd-header-wishlist .wd-tools-count {
  font-family: var(--font-family-display) !important;
  font-weight: 700 !important;
  color: var(--color-text-base) !important;
}


/* ══════════════════════════════════════════
   B. ROW 2 — NAVIGATION (fond sombre, texte blanc)
   ══════════════════════════════════════════ */

.whb-header-bottom {
  background: var(--color-primary-deep) !important;
  border-bottom: 3px solid var(--color-primary) !important;
}

/* Tous les liens nav en BLANC */
.whb-header-bottom .wd-nav-header > .menu-item > a {
  font-family: var(--nav-font) !important;
  font-size: var(--nav-font-size) !important;
  letter-spacing: var(--nav-letter-spacing) !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.75) !important;
  transition: var(--transition-fast) !important;
  position: relative !important;
  white-space: nowrap !important;
}

/* Texte nav VISIBLE et BLANC */
.whb-header-bottom .wd-nav-header > .menu-item > a .nav-link-text {
  color: inherit !important;
  display: inline !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Hover → blanc pur */
.whb-header-bottom .wd-nav-header > .menu-item > a:hover,
.whb-header-bottom .wd-nav-header > .menu-item > a:hover .nav-link-text {
  color: #fff !important;
}

/* Page active */
.whb-header-bottom .wd-nav-header > .menu-item.current-menu-item > a,
.whb-header-bottom .wd-nav-header > .menu-item.current-menu-item > a .nav-link-text {
  color: var(--color-secondary-warm) !important;
}

/* Underline hover/active (doré) */
.whb-header-bottom .wd-nav-header > .menu-item > a::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  width: 0 !important;
  height: 3px !important;
  background: var(--color-secondary-warm) !important;
  border-radius: 3px 3px 0 0 !important;
  transition: width 0.25s ease, left 0.25s ease !important;
}
.whb-header-bottom .wd-nav-header > .menu-item > a:hover::after,
.whb-header-bottom .wd-nav-header > .menu-item.current-menu-item > a::after {
  width: calc(100% - 32px) !important;
  left: 16px !important;
}

/* Séparateur subtil entre items */
.whb-header-bottom .wd-nav-header > .menu-item + .menu-item > a::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 1px !important;
  height: 16px !important;
  background: rgba(255,255,255,.12) !important;
}

/* ── "ANGEBOTE" — style PROMOTION ── */
.whb-header-bottom .wd-nav-header > .menu-item:first-child > a {
  color: #fff !important;
  background: var(--color-badge-sale) !important;
  border-radius: var(--border-radius) !important;
  margin: 6px 4px 6px 0 !important;
  padding: 7px 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  animation: angebotePulse 3s ease-in-out infinite !important;
}
.whb-header-bottom .wd-nav-header > .menu-item:first-child > a .nav-link-text {
  color: #fff !important;
}
.whb-header-bottom .wd-nav-header > .menu-item:first-child > a::after {
  display: none !important;
}
.whb-header-bottom .wd-nav-header > .menu-item:first-child > a::before {
  display: none !important;
}
.whb-header-bottom .wd-nav-header > .menu-item:first-child > a:hover {
  background: #a5291e !important;
  transform: scale(1.03) !important;
}

@keyframes angebotePulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(192,57,43,.4); }
  50% { box-shadow: 0 0 0 6px rgba(192,57,43,0); }
}

/* Le 2e item n'a pas de séparateur (car le 1er est un bouton) */
.whb-header-bottom .wd-nav-header > .menu-item:nth-child(2) > a::before {
  display: none !important;
}


/* ══════════════════════════════════════════
   C. DROPDOWN COMPTE — S'OUVRE EN DESSOUS
   ══════════════════════════════════════════ */

.wd-header-my-account {
  position: relative !important;
}

.wd-header-my-account .wd-dropdown-my-account {
  position: absolute !important;
  top: 100% !important;
  bottom: auto !important;
  right: 0 !important;
  left: auto !important;
  margin-top: 8px !important;
  min-width: 230px !important;
  background: #fff !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--border-radius-md) !important;
  box-shadow: var(--shadow-lg) !important;
  z-index: var(--z-dropdown) !important;
  overflow: hidden !important;
}

.wd-dropdown-my-account .wd-sub-menu {
  list-style: none !important;
  padding: var(--space-2) 0 !important;
  margin: 0 !important;
}

.wd-dropdown-my-account .wd-sub-menu li a {
  display: flex !important;
  align-items: center !important;
  padding: 9px var(--space-4) !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-sm) !important;
  color: var(--color-text-base) !important;
  text-decoration: none !important;
  transition: var(--transition-fast) !important;
  border-bottom: 1px solid rgba(0,0,0,.04) !important;
}
.wd-dropdown-my-account .wd-sub-menu li a span {
  display: inline !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: inherit !important;
  font-size: inherit !important;
}
.wd-dropdown-my-account .wd-sub-menu li:last-child a {
  border-bottom: none !important;
}
.wd-dropdown-my-account .wd-sub-menu li a:hover {
  background: var(--color-primary-light) !important;
  color: var(--color-primary) !important;
  padding-left: calc(var(--space-4) + 4px) !important;
}

/* Logout en rouge */
.wd-dropdown-my-account .woocommerce-MyAccount-navigation-link--customer-logout a {
  color: var(--color-error) !important;
  border-top: 1px solid var(--color-border) !important;
  margin-top: var(--space-1) !important;
}
.wd-dropdown-my-account .woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  background: rgba(192,57,43,.06) !important;
}


/* ══════════════════════════════════════════
   D. STICKY HEADER
   ══════════════════════════════════════════ */

.whb-sticky-prepared.whb-scroll-stick .whb-general-header {
  background: rgba(255,255,255,.97) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: var(--shadow-sm) !important;
}
.whb-sticky-prepared.whb-scroll-stick .whb-general-header-inner {
  min-height: var(--header-height-scrolled) !important;
}

.whb-sticky-prepared.whb-scroll-stick .whb-header-bottom {
  background: rgba(19,41,16,.97) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}
.whb-sticky-prepared.whb-scroll-stick .whb-header-bottom-inner {
  min-height: 42px !important;
}


/* ══════════════════════════════════════════
   E. MOBILE HEADER (fond blanc, tout en place)
   ══════════════════════════════════════════ */

@media (max-width: 1024px) {

  .whb-general-header {
    background: #ffffff !important;
    border-bottom: 1px solid var(--color-border) !important;
  }
  .whb-general-header-inner {
    min-height: 58px !important;
  }

  /* Logo mobile — garder les couleurs d'origine */
  .whb-mobile-center .site-logo .wd-logo img {
    filter: none !important;
  }

  /* Hamburger — foncé sur blanc */
  .whb-mobile-left .wd-header-mobile-nav .wd-tools-icon::before {
    color: var(--color-text-base) !important;
  }
  .whb-mobile-left .wd-header-mobile-nav .wd-tools-text {
    color: var(--color-text-light) !important;
  }

  /* Account + Cart icônes — foncé sur blanc */
  .whb-mobile-right .wd-tools-icon::before {
    color: var(--color-text-base) !important;
  }
  .whb-mobile-right .wd-tools-text {
    color: var(--color-text-light) !important;
  }
  .whb-mobile-right .wd-cart-number {
    color: var(--color-text-base) !important;
  }
  .whb-mobile-right .wd-cart-subtotal {
    color: var(--color-primary) !important;
  }
  .whb-mobile-right .subtotal-divider {
    color: var(--color-border) !important;
  }

  /* Dropdown compte mobile → en dessous */
  .whb-mobile-right .wd-dropdown-my-account {
    position: absolute !important;
    top: calc(100% + 6px) !important;
    bottom: auto !important;
    right: 0 !important;
    left: auto !important;
  }

  /* Sticky mobile */
  .whb-sticky-prepared.whb-scroll-stick .whb-general-header {
    background: rgba(255,255,255,.97) !important;
    box-shadow: var(--shadow-sm) !important;
  }
}

@media (max-width: 480px) {
  .whb-general-header-inner {
    min-height: 52px !important;
  }
  .whb-mobile-center .site-logo .wd-logo img {
    max-height: 26px !important;
  }
}


/* ══════════════════════════════════════════
   F. MENU MOBILE — TEXTE VISIBLE
   ══════════════════════════════════════════ */

.mobile-nav.wd-side-hidden {
  background: var(--color-background-dark) !important;
  box-shadow: var(--shadow-xl) !important;
}

/* Search dans le menu mobile */
.mobile-nav .wd-search-form {
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  background: rgba(0,0,0,.12) !important;
}
.mobile-nav .searchform {
  background: rgba(255,255,255,.07) !important;
  border: 1.5px solid rgba(255,255,255,.12) !important;
  border-radius: var(--border-radius-pill) !important;
  overflow: hidden !important;
}
.mobile-nav .searchform:focus-within {
  background: rgba(255,255,255,.11) !important;
  border-color: rgba(255,255,255,.3) !important;
}
.mobile-nav .searchform input.s {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  color: #fff !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-sm) !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}
.mobile-nav .searchform input.s::placeholder {
  color: rgba(255,255,255,.35) !important;
  white-space: nowrap !important;
}
.mobile-nav .searchform .searchsubmit {
  background: rgba(255,255,255,.1) !important;
  border: none !important;
  border-left: 1px solid rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.6) !important;
  font-family: var(--font-family-display) !important;
  font-size: 10px !important;
  letter-spacing: var(--letter-spacing-caps) !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}
.mobile-nav .searchform .searchsubmit:hover {
  background: rgba(255,255,255,.18) !important;
  color: #fff !important;
}

/* ★ NAVIGATION ITEMS — TEXTE FORCÉ VISIBLE ★ */
.mobile-nav .wd-nav-mobile > .menu-item {
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
}

.mobile-nav .wd-nav-mobile > .menu-item > a {
  display: flex !important;
  align-items: center !important;
  padding: 14px 20px !important;
  text-decoration: none !important;
  transition: var(--transition-fast) !important;
  position: relative !important;
}

/* ★★★ LE FIX PRINCIPAL : texte visible ★★★ */
.mobile-nav .wd-nav-mobile > .menu-item > a .nav-link-text {
  display: inline !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  -webkit-clip-path: none !important;
  clip-path: none !important;
  font-family: var(--font-family-base) !important;
  font-size: 1rem !important;
  font-weight: var(--font-weight-medium) !important;
  color: rgba(255,255,255,.8) !important;
  line-height: 1.4 !important;
  text-indent: 0 !important;
  white-space: normal !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Hover */
.mobile-nav .wd-nav-mobile > .menu-item > a:hover .nav-link-text,
.mobile-nav .wd-nav-mobile > .menu-item > a:active .nav-link-text {
  color: #fff !important;
}
.mobile-nav .wd-nav-mobile > .menu-item > a:hover {
  background: rgba(255,255,255,.06) !important;
}

/* Page active */
.mobile-nav .wd-nav-mobile > .menu-item.current-menu-item > a {
  background: rgba(201,138,75,.08) !important;
  border-left: 3px solid var(--color-secondary-warm) !important;
}
.mobile-nav .wd-nav-mobile > .menu-item.current-menu-item > a .nav-link-text {
  color: var(--color-secondary-warm) !important;
}

/* Premier item "Angebote" — promo style */
.mobile-nav .wd-nav-mobile > .menu-item:first-child > a .nav-link-text {
  color: var(--color-secondary-warm) !important;
  font-weight: var(--font-weight-semibold) !important;
}
.mobile-nav .wd-nav-mobile > .menu-item:first-child > a {
  background: rgba(192,57,43,.1) !important;
  border-left: 3px solid var(--color-badge-sale) !important;
}

/* Barre latérale au hover */
.mobile-nav .wd-nav-mobile > .menu-item > a::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 3px !important;
  background: var(--color-primary) !important;
  transform: scaleY(0) !important;
  transition: transform 0.2s ease !important;
}
.mobile-nav .wd-nav-mobile > .menu-item > a:hover::before {
  transform: scaleY(1) !important;
}
.mobile-nav .wd-nav-mobile > .menu-item.current-menu-item > a::before,
.mobile-nav .wd-nav-mobile > .menu-item:first-child > a::before {
  display: none !important;
}

/* Overlay */
.wd-close-side {
  background: rgba(10,18,8,.6) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}


/* ══════════════════════════════════════════
   G. NETTOYAGE WOODMART
   ══════════════════════════════════════════ */

.whb-header .whb-row {
  box-shadow: none !important;
}
.whb-general-header.whb-border-fullwidth::after,
.whb-header-bottom.whb-border-fullwidth::after {
  display: none !important;
}
.whb-header {
  z-index: var(--z-sticky) !important;
}
.mobile-nav.wd-side-hidden {
  z-index: var(--z-modal) !important;
}
.whb-header *,
.mobile-nav * {
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}
.whb-header a:focus-visible,
.whb-header button:focus-visible,
.mobile-nav a:focus-visible {
  outline: 2px solid var(--color-secondary-warm) !important;
  outline-offset: 2px !important;
}


/* ============================================================
   FOOTER — [site_name]
   Variables :root requises · Font Awesome 6
   Sections : Newsletter Pre-Footer, Trust Bar, Main 4-Col,
              Bottom Bar, Scroll-to-Top
   ============================================================ */

/* ══════════════════════════════════════════
   A. RESET & BASE
   ══════════════════════════════════════════ */

.site-footer {
  font-family:var(--font-family-base);
  color:var(--footer-text);
  line-height:1.6;
}
.site-footer *,
.site-footer *::before,
.site-footer *::after {
  box-sizing:border-box;
}


/* ══════════════════════════════════════════
   B. NEWSLETTER PRE-FOOTER
   ══════════════════════════════════════════ */

.sf-newsletter {
  background:var(--color-primary);
  padding:var(--space-7) var(--container-padding);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.sf-newsletter__inner {
  max-width:var(--container-max-width);
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-6);
  flex-wrap:wrap;
}
.sf-newsletter__left {
  display:flex;
  align-items:center;
  gap:var(--space-4);
  flex:1;
  min-width:280px;
}
.sf-newsletter__icon {
  width:52px; height:52px;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.sf-newsletter__icon i {
  color:#fff; font-size:1.3rem;
}
.sf-newsletter__left strong {
  display:block;
  font-family:var(--font-family-headings);
  font-size:1.2rem; font-weight:var(--font-weight-black);
  color:#fff; margin-bottom:2px;
}
.sf-newsletter__left p {
  font-size:var(--font-size-sm);
  color:rgba(255,255,255,.65);
  margin:0; line-height:1.5;
}
.sf-newsletter__form {
  display:flex; flex-direction:column; gap:var(--space-2);
  flex-shrink:0;
}
.sf-newsletter__field {
  display:flex;
  border:1.5px solid rgba(255,255,255,.25);
  border-radius:var(--border-radius-pill);
  overflow:hidden;
  background:rgba(255,255,255,.08);
  transition:border-color var(--transition-fast),
             background var(--transition-fast);
}
.sf-newsletter__field:focus-within {
  border-color:rgba(255,255,255,.55);
  background:rgba(255,255,255,.14);
}
.sf-newsletter__field input {
  padding:12px 20px;
  border:none; outline:none;
  background:transparent;
  color:#fff;
  font-family:var(--font-family-base);
  font-size:var(--font-size-sm);
  min-width:260px;
}
.sf-newsletter__field input::placeholder {
  color:rgba(255,255,255,.4);
}
.sf-newsletter__field button {
  padding:12px 20px;
  background:rgba(255,255,255,.15);
  border:none;
  color:#fff;
  font-size:1rem;
  cursor:pointer;
  transition:var(--transition-fast);
}
.sf-newsletter__field button:hover {
  background:rgba(255,255,255,.25);
}
.sf-newsletter__hint {
  display:flex; align-items:center; gap:var(--space-1);
  font-size:10px; color:rgba(255,255,255,.4);
  padding-left:var(--space-3);
}
.sf-newsletter__hint i { font-size:9px; }
.sf-newsletter__hint a {
  color:rgba(255,255,255,.55);
  text-decoration:underline;
}
.sf-newsletter__hint a:hover { color:#fff; }


/* ══════════════════════════════════════════
   C. TRUST BAR
   ══════════════════════════════════════════ */

.sf-trust {
  background:var(--color-background-wood);
  padding:var(--space-5) var(--container-padding);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.sf-trust__inner {
  max-width:var(--container-max-width);
  margin-inline:auto;
  display:flex;
  justify-content:space-between;
  gap:var(--space-4);
  flex-wrap:wrap;
}
.sf-trust__item {
  display:flex; align-items:center; gap:var(--space-3);
  flex:1; min-width:170px; justify-content:center;
  padding:var(--space-2) 0;
}
.sf-trust__icon {
  width:36px; height:36px;
  border-radius:50%;
  background:rgba(201,138,75,.15);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.sf-trust__icon i {
  color:var(--color-secondary-warm);
  font-size:.8rem;
}
.sf-trust__item strong {
  display:block;
  font-family:var(--font-family-display);
  font-size:.68rem;
  letter-spacing:var(--letter-spacing-caps);
  text-transform:uppercase;
  color:#fff;
  font-weight:600;
  line-height:1.3;
}
.sf-trust__item span {
  display:block;
  font-family:var(--font-family-base);
  font-size:.68rem;
  color:rgba(255,255,255,.4);
  letter-spacing:0;
  text-transform:none;
  margin-top:1px;
}


/* ══════════════════════════════════════════
   D. MAIN FOOTER
   ══════════════════════════════════════════ */

.sf-main {
  background:var(--footer-bg);
  padding:var(--space-9) var(--container-padding) var(--space-8);
}
.sf-main__inner {
  max-width:var(--container-max-width);
  margin-inline:auto;
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:var(--space-7);
  align-items:start;
}

/* ── Logo & Brand Column ── */
.sf-logo {
  display:inline-block;
  margin-bottom:var(--space-4);
  text-decoration:none;
}
.sf-logo__img {
  max-height:48px;
  width:auto;
  filter:brightness(0) invert(1);
  transition:opacity var(--transition-fast);
}
.sf-logo:hover .sf-logo__img {
  opacity:.8;
}
.sf-brand-desc {
  font-size:var(--font-size-sm);
  color:var(--footer-text);
  line-height:1.7;
  margin:0 0 var(--space-5);
  max-width:340px;
}

/* Contact items */
.sf-contact-list {
  display:flex; flex-direction:column;
  gap:var(--space-3);
  margin-bottom:var(--space-5);
}
.sf-contact-item {
  display:flex; align-items:flex-start; gap:var(--space-3);
  text-decoration:none;
  transition:var(--transition-fast);
}
.sf-contact-item:not(.sf-contact-item--no-link):hover {
  transform:translateX(3px);
}
.sf-contact-item__icon {
  width:34px; height:34px;
  border-radius:8px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
  transition:var(--transition-fast);
}
.sf-contact-item:not(.sf-contact-item--no-link):hover .sf-contact-item__icon {
  background:var(--color-primary);
  border-color:var(--color-primary);
}
.sf-contact-item__icon i {
  color:var(--color-secondary-warm);
  font-size:.75rem;
  transition:color var(--transition-fast);
}
.sf-contact-item:not(.sf-contact-item--no-link):hover .sf-contact-item__icon i {
  color:#fff;
}
.sf-contact-item strong {
  display:block;
  font-size:var(--font-size-sm);
  font-weight:600;
  color:#fff;
  margin-bottom:1px;
}
.sf-contact-item span {
  font-size:11px;
  color:var(--footer-text);
}

/* Payments */
.sf-payments {
  padding-top:var(--space-4);
  border-top:var(--footer-border);
}
.sf-payments__label {
  font-family:var(--font-family-display);
  font-size:9px;
  letter-spacing:var(--letter-spacing-caps);
  text-transform:uppercase;
  color:rgba(255,255,255,.35);
  display:block;
  margin-bottom:var(--space-2);
}
.sf-payments__icons {
  display:flex; gap:var(--space-2);
}
.sf-payment-badge {
  display:flex; align-items:center; gap:var(--space-1);
  padding:6px 12px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--border-radius);
  font-size:10px;
  color:rgba(255,255,255,.55);
  font-weight:600;
  transition:var(--transition-fast);
}
.sf-payment-badge:hover {
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.2);
}
.sf-payment-badge i {
  color:var(--color-secondary-warm);
  font-size:.75rem;
}

/* ── Column Titles ── */
.sf-col__title {
  font-family:var(--font-family-headings);
  font-size:1rem;
  font-weight:var(--font-weight-bold);
  color:var(--footer-heading);
  letter-spacing:var(--letter-spacing-tight);
  margin:0 0 var(--space-5);
  display:flex; align-items:center; gap:var(--space-2);
  padding-bottom:var(--space-3);
  border-bottom:2px solid var(--color-primary);
}
.sf-col__title i {
  color:var(--color-secondary-warm);
  font-size:.85rem;
}

/* ── Links ── */
.sf-links {
  list-style:none;
  padding:0; margin:0;
  display:flex; flex-direction:column;
  gap:0;
}
.sf-links li {
  border-bottom:1px solid rgba(255,255,255,.05);
}
.sf-links li:last-child { border-bottom:none; }
.sf-links a {
  display:flex; align-items:center; gap:var(--space-2);
  padding:var(--space-2) 0;
  font-size:var(--font-size-sm);
  color:var(--footer-text);
  text-decoration:none;
  transition:var(--transition-fast);
  font-weight:var(--font-weight-regular);
}
.sf-links a i {
  font-size:7px;
  color:rgba(255,255,255,.2);
  transition:var(--transition-fast);
  flex-shrink:0;
}
.sf-links a:hover {
  color:#fff;
  padding-left:var(--space-2);
}
.sf-links a:hover i {
  color:var(--color-secondary-warm);
}

/* ── Category Badges ── */
.sf-cat-badges {
  display:flex; gap:var(--space-2); flex-wrap:wrap;
  margin-top:var(--space-5);
  padding-top:var(--space-4);
  border-top:var(--footer-border);
}
.sf-cat-badge {
  width:32px; height:32px;
  border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  transition:var(--transition-fast);
}
.sf-cat-badge i {
  color:#fff; font-size:.7rem;
}
.sf-cat-badge:hover {
  transform:translateY(-2px);
  box-shadow:0 4px 12px rgba(0,0,0,.3);
}

/* ── Qualitäts-Siegel ── */
.sf-seals {
  display:flex; flex-direction:column;
  gap:var(--space-3);
  margin-top:var(--space-5);
  padding-top:var(--space-4);
  border-top:var(--footer-border);
}
.sf-seal {
  display:flex; align-items:center; gap:var(--space-3);
  padding:var(--space-3);
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--border-radius);
  transition:var(--transition-fast);
}
.sf-seal:hover {
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.12);
}
.sf-seal i {
  color:var(--color-secondary-warm);
  font-size:1rem;
  width:20px; text-align:center;
  flex-shrink:0;
}
.sf-seal strong {
  display:block;
  font-size:var(--font-size-xs);
  font-weight:600;
  color:#fff;
  line-height:1.2;
}
.sf-seal span {
  font-size:10px;
  color:var(--footer-text);
}


/* ══════════════════════════════════════════
   E. BOTTOM BAR
   ══════════════════════════════════════════ */

.sf-bottom {
  background:rgb(11,81,67);
  padding:var(--space-4) var(--container-padding);
  border-top:var(--footer-border);
}
.sf-bottom__inner {
  max-width:var(--container-max-width);
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-4);
  flex-wrap:wrap;
}
.sf-bottom__copy {
  font-size:var(--font-size-xs);
  color:rgba(255,255,255,.35);
  margin:0;
}
.sf-bottom__copy a {
  color:rgba(255,255,255,.5);
  text-decoration:underline;
}
.sf-bottom__copy a:hover { color:#fff; }

.sf-bottom__links {
  display:flex; align-items:center; gap:var(--space-2);
}
.sf-bottom__links a {
  font-size:var(--font-size-xs);
  color:rgba(255,255,255,.4);
  text-decoration:none;
  transition:color var(--transition-fast);
}
.sf-bottom__links a:hover { color:#fff; }
.sf-bottom__sep {
  color:rgba(255,255,255,.2);
  font-size:var(--font-size-xs);
}

.sf-bottom__badge {
  display:flex; align-items:center; gap:var(--space-1);
  font-size:10px;
  color:rgba(255,255,255,.3);
}
.sf-bottom__badge i {
  color:var(--color-error);
  font-size:10px;
  animation:sfPulse 2s ease infinite;
}
@keyframes sfPulse {
  0%,100% { transform:scale(1); }
  50% { transform:scale(1.2); }
}


/* ══════════════════════════════════════════
   F. SCROLL TO TOP
   ══════════════════════════════════════════ */

.sf-scroll-top {
  position:fixed;
  bottom:var(--space-5);
  right:var(--space-5);
  width:44px; height:44px;
  border-radius:50%;
  background:var(--color-primary);
  color:#fff;
  border:none;
  font-size:1rem;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  box-shadow:var(--shadow-green);
  transition:var(--transition);
  z-index:var(--z-sticky);
  opacity:.7;
}
.sf-scroll-top:hover {
  background:var(--color-primary-dark);
  opacity:1;
  transform:translateY(-3px);
}


/* ══════════════════════════════════════════
   G. RESPONSIVE
   ══════════════════════════════════════════ */

@media (max-width:1100px) {
  .sf-main__inner {
    grid-template-columns:1fr 1fr;
    gap:var(--space-6);
  }
  .sf-col--brand {
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:var(--space-5);
  }
  .sf-logo { grid-column:1 / -1; }
  .sf-brand-desc { grid-column:1; max-width:none; }
  .sf-contact-list { grid-column:2; }
  .sf-payments { grid-column:1 / -1; }
}

@media (max-width:900px) {
  .sf-newsletter__inner {
    flex-direction:column;
    text-align:center;
  }
  .sf-newsletter__left {
    flex-direction:column;
    text-align:center;
  }
  .sf-newsletter__field input {
    min-width:200px;
  }
  .sf-trust__inner {
    flex-direction:column;
    align-items:center;
  }
}

@media (max-width:640px) {
  .sf-main__inner {
    grid-template-columns:1fr;
  }
  .sf-col--brand {
    grid-template-columns:1fr;
  }
  .sf-brand-desc { grid-column:1; }
  .sf-contact-list { grid-column:1; }
  .sf-payments { grid-column:1; }

  .sf-bottom__inner {
    flex-direction:column;
    text-align:center;
    gap:var(--space-3);
  }
  .sf-bottom__links {
    justify-content:center;
  }

  .sf-newsletter__field {
    flex-direction:column;
    border-radius:var(--border-radius);
  }
  .sf-newsletter__field input {
    min-width:auto;
    border-radius:var(--border-radius) var(--border-radius) 0 0;
  }
  .sf-newsletter__field button {
    border-radius:0 0 var(--border-radius) var(--border-radius);
    padding:14px;
  }

  .sf-scroll-top {
    bottom:var(--space-3);
    right:var(--space-3);
    width:38px; height:38px;
    font-size:.85rem;
  }
}



/* ============================================================
   STYLES COMMUNS — WIDERRUFSBELEHRUNG · KONTAKT · CONTACT FORM 7
   Variables :root requises · Font Awesome 6
   ============================================================ */

/* ══════════════════════════════════════════
   A. LEGAL PAGE (Widerruf — réutilise le style CGV/FAQ)
   ══════════════════════════════════════════ */

.legal-page { background:#fff; font-family:var(--font-family-base); color:var(--color-text-base); }
.legal-page *, .legal-page *::before, .legal-page *::after { box-sizing:border-box; }
[x-cloak] { display:none !important; }

/* ── HERO ── */
.legal-hero {
  width:100%; min-height:400px;
  position:relative; display:flex; align-items:flex-end; overflow:hidden;
}
.legal-hero__bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center 55%;
  transform:scale(1.04); transition:transform 9s ease;
}
.legal-hero:hover .legal-hero__bg { transform:scale(1); }
.legal-hero__overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(10,18,8,.96) 0%,rgba(10,18,8,.65) 45%,rgba(10,18,8,.12) 100%);
}
.legal-hero__content {
  position:relative; z-index:2; width:100%;
  max-width:var(--container-max-width); margin-inline:auto;
  padding:var(--space-9) var(--container-padding) var(--space-8);
}
.legal-hero__eyebrow {
  display:inline-flex; align-items:center; gap:var(--space-2);
  font-family:var(--font-family-display); font-size:var(--font-size-xs);
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:var(--color-secondary-warm);
  background:rgba(201,138,75,.14); border:1px solid rgba(201,138,75,.32);
  padding:5px 14px; border-radius:var(--border-radius-pill); margin-bottom:var(--space-4);
}
.legal-hero h1 {
  font-family:var(--font-family-headings);
  font-size:clamp(2.4rem,5vw,4rem); font-weight:var(--font-weight-black);
  color:#fff; letter-spacing:var(--letter-spacing-tight); line-height:1.08;
  margin-bottom:var(--space-4); max-width:700px;
}
.legal-hero h1 em { font-style:normal; color:var(--color-secondary-warm); }
.legal-hero__sub {
  font-size:1.05rem; color:rgba(255,255,255,.72);
  margin-bottom:var(--space-5); max-width:560px; line-height:1.7;
}
.legal-hero__meta {
  display:flex; flex-wrap:wrap; gap:var(--space-4);
  font-family:var(--font-family-display); font-size:var(--font-size-xs);
  letter-spacing:var(--letter-spacing-wide); text-transform:uppercase;
  color:rgba(255,255,255,.5);
}
.legal-hero__meta i { color:var(--color-secondary-warm); margin-right:var(--space-1); }

/* ── BREADCRUMB ── */
.legal-bc { background:#fff; border-bottom:1px solid var(--color-border); padding:var(--space-3) var(--container-padding); }
.legal-bc__inner {
  max-width:var(--container-max-width); margin-inline:auto;
  display:flex; align-items:center; gap:var(--space-2);
  font-family:var(--font-family-display); font-size:11px;
  letter-spacing:var(--letter-spacing-wide); text-transform:uppercase; color:var(--color-text-light);
}
.legal-bc__inner a { color:var(--color-primary); text-decoration:none; }
.legal-bc__inner .sep { font-size:8px; color:var(--color-border); }

/* ── INFO BAR ── */
.legal-info-bar {
  background:var(--color-background-alt); border-bottom:1px solid var(--color-border);
  padding:var(--space-5) var(--container-padding);
}
.legal-info-bar__inner {
  max-width:var(--container-max-width); margin-inline:auto;
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--color-border); border:1px solid var(--color-border);
  border-radius:var(--border-radius-md); overflow:hidden;
}
.legal-info-item {
  background:var(--color-background-alt); padding:var(--space-4) var(--space-5);
  display:flex; align-items:center; gap:var(--space-3);
}
.legal-info-item__icon {
  width:42px; height:42px; border-radius:10px;
  background:var(--color-primary); display:flex;
  align-items:center; justify-content:center; flex-shrink:0;
}
.legal-info-item__icon i { color:#fff; font-size:1rem; }
.legal-info-item strong {
  display:block; font-family:var(--font-family-headings);
  font-size:1.2rem; font-weight:900; color:var(--color-headings);
}
.legal-info-item span {
  font-family:var(--font-family-display); font-size:.65rem;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:var(--color-text-light);
}

/* ── BODY ── */
.legal-body {
  max-width:var(--container-max-width); margin-inline:auto;
  padding:var(--space-8) var(--container-padding) var(--space-10);
  display:grid; grid-template-columns:260px 1fr; gap:var(--space-8);
  align-items:start;
}

/* NAV SIDEBAR */
.legal-nav {
  position:sticky; top:100px;
  display:flex; flex-direction:column; gap:0;
  border:1px solid var(--color-border); border-radius:var(--border-radius-md);
  overflow:hidden;
}
.legal-nav__head {
  display:flex; align-items:center; gap:var(--space-2);
  padding:var(--space-4); background:var(--color-background-dark);
  font-family:var(--font-family-display); font-size:.75rem;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:#fff; font-weight:600;
}
.legal-nav__head i { font-size:.8rem; color:var(--color-secondary-warm); }
.legal-nav__item {
  display:flex; align-items:center; gap:var(--space-3);
  padding:var(--space-3) var(--space-4);
  background:#fff; border:none; border-top:1px solid var(--color-border);
  cursor:pointer; text-align:left; width:100%;
  font-family:var(--font-family-base); font-size:.88rem;
  color:var(--color-text-base); transition:all var(--transition-fast);
}
.legal-nav__item:hover { background:var(--color-primary-light); color:var(--color-primary-deep); }
.legal-nav__item--active { background:var(--color-primary); color:#fff; }
.legal-nav__item--active .legal-nav__num { color:rgba(255,255,255,.6); }
.legal-nav__num {
  font-family:var(--font-family-display); font-size:10px; font-weight:700;
  color:var(--color-primary); min-width:24px; flex-shrink:0;
}
.legal-nav__contact {
  padding:var(--space-4); border-top:1px solid var(--color-border);
  background:var(--color-background-alt); text-align:center;
}
.legal-nav__contact i { font-size:1.5rem; color:var(--color-primary); display:block; margin-bottom:var(--space-2); }
.legal-nav__contact strong { font-size:.9rem; color:var(--color-headings); display:block; margin-bottom:var(--space-1); }
.legal-nav__contact p { font-size:.8rem; color:var(--color-text-light); margin:0 0 var(--space-3); }
.legal-nav__contact a {
  display:inline-flex; align-items:center; gap:var(--space-1);
  font-family:var(--font-family-display); font-size:.7rem;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:var(--color-primary); text-decoration:none; font-weight:600;
}

/* CONTENT */
.legal-content { display:flex; flex-direction:column; gap:var(--space-7); }

/* Section */
.legal-section { scroll-margin-top:100px; }
.legal-section__head {
  display:flex; align-items:center; gap:var(--space-3);
  margin-bottom:var(--space-5);
  padding-bottom:var(--space-3); border-bottom:2px solid var(--color-primary);
}
.legal-section__num {
  font-family:var(--font-family-display); font-size:.75rem; font-weight:700;
  color:var(--color-primary); background:var(--color-primary-light);
  padding:4px 10px; border-radius:var(--border-radius-xs);
  letter-spacing:var(--letter-spacing-wide); white-space:nowrap;
}
.legal-section__title {
  font-family:var(--font-family-headings); font-size:1.45rem; font-weight:900;
  color:var(--color-headings); letter-spacing:var(--letter-spacing-tight); margin:0;
}
.legal-section__body { font-size:1rem; line-height:1.8; color:var(--color-text-base); }
.legal-section__body h3 {
  font-family:var(--font-family-headings); font-size:1.15rem; font-weight:700;
  color:var(--color-headings); margin:var(--space-6) 0 var(--space-3);
}
.legal-section__body h3:first-child { margin-top:0; }
.legal-section__body p { margin:0 0 var(--space-4); }
.legal-section__body ul, .legal-section__body ol {
  padding-left:var(--space-5); margin:var(--space-3) 0 var(--space-5);
  display:flex; flex-direction:column; gap:var(--space-2);
}
.legal-section__body li { line-height:1.65; }
.legal-section__body a { color:#; }
.legal-section__body strong { color:var(--color-headings); }

/* Notice boxes */
.legal-notice {
  display:flex; gap:var(--space-4); padding:var(--space-5);
  border-radius:var(--border-radius-md); margin-bottom:var(--space-5);
}
.legal-notice__icon { flex-shrink:0; font-size:1.3rem; padding-top:2px; }
.legal-notice strong { display:block; margin-bottom:var(--space-1); font-size:1rem; }
.legal-notice p { margin:0; font-size:.95rem; line-height:1.65; }
.legal-notice--info { background:rgba(41,128,185,.08); border:1px solid rgba(41,128,185,.2); }
.legal-notice--info .legal-notice__icon { color:var(--color-info); }
.legal-notice--info strong { color:var(--color-info); }
.legal-notice--warning { background:rgba(230,126,34,.08); border:1px solid rgba(230,126,34,.2); }
.legal-notice--warning .legal-notice__icon { color:var(--color-warning); }
.legal-notice--warning strong { color:var(--color-warning); }
.legal-notice--success { background:rgba(45,122,58,.08); border:1px solid rgba(45,122,58,.2); }
.legal-notice--success .legal-notice__icon { color:var(--color-success); }
.legal-notice--success strong { color:var(--color-success); }
.legal-notice--highlight { background:var(--color-secondary-light); border:1px solid rgba(160,101,42,.2); }
.legal-notice--highlight .legal-notice__icon { color:var(--color-secondary); }
.legal-notice--highlight strong { color:var(--color-secondary-dark); }

.legal-highlight-box {
  display:flex; gap:var(--space-4); padding:var(--space-5);
  background:var(--color-primary-light); border-left:4px solid var(--color-primary);
  border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;
  margin:var(--space-5) 0;
}
.legal-highlight-box__icon { font-size:1.5rem; color:var(--color-primary); flex-shrink:0; padding-top:2px; }
.legal-highlight-box strong { font-size:1.05rem; color:var(--color-primary-deep); display:block; margin-bottom:var(--space-2); }
.legal-highlight-box p { margin:0; font-size:.95rem; line-height:1.65; color:var(--color-text-base); }

/* CTA Bottom */
.legal-cta {
  background:var(--color-primary);
  padding:var(--space-8) var(--container-padding);
}
.legal-cta__inner {
  max-width:var(--container-max-width); margin-inline:auto;
  display:flex; align-items:center; gap:var(--space-7); flex-wrap:wrap;
}
.legal-cta__icon { font-size:3rem; color:rgba(255,255,255,.3); flex-shrink:0; }
.legal-cta__text { flex:1; }
.legal-cta__text strong { font-family:var(--font-family-headings); font-size:1.4rem; font-weight:900; color:#fff; display:block; margin-bottom:var(--space-2); }
.legal-cta__text p { font-size:1rem; color:rgba(255,255,255,.72); margin:0; }
.legal-cta__actions { display:flex; gap:var(--space-3); flex-wrap:wrap; }
.legal-btn {
  display:inline-flex; align-items:center; gap:var(--space-2);
  font-family:var(--font-family-display); font-size:11px;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  font-weight:600; padding:12px 24px; border-radius:var(--border-radius);
  text-decoration:none; transition:all var(--transition);
}
.legal-btn--primary { background:#fff; color:var(--color-primary); }
.legal-btn--primary:hover { background:var(--color-primary-light); color:var(--color-primary-dark); }
.legal-btn--outline { background:transparent; color:#fff; border:2px solid rgba(255,255,255,.45); }
.legal-btn--outline:hover { background:rgba(255,255,255,.1); border-color:#fff; }


/* ══════════════════════════════════════════
   B. WIDERRUFSBELEHRUNG — COMPOSANTS SPÉCIFIQUES
   ══════════════════════════════════════════ */

/* Muster-Widerrufsformular */
.wd-form-box {
  border:2px solid var(--color-border); border-radius:var(--border-radius-md);
  overflow:hidden; margin:var(--space-5) 0;
}
.wd-form-box__header {
  display:flex; align-items:center; gap:var(--space-2);
  padding:var(--space-4); background:var(--color-background-dark);
  font-family:var(--font-family-display); font-size:.8rem;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:#fff; font-weight:600;
}
.wd-form-box__header i { color:var(--color-secondary-warm); }
.wd-form-box__body { padding:var(--space-5); background:#fff; }
.wd-form-box__body p { margin:0 0 var(--space-3); line-height:1.65; }
.wd-form-box__divider { height:1px; background:var(--color-border); margin:var(--space-4) 0; }
.wd-form-box__field { margin-bottom:var(--space-4); }
.wd-form-box__field label {
  display:block; font-size:.9rem; font-weight:600;
  color:var(--color-headings); margin-bottom:var(--space-2);
}
.wd-form-box__line {
  border-bottom:1.5px dashed var(--color-border);
  min-height:28px; width:100%;
}
.wd-form-box__note {
  font-size:var(--font-size-xs); color:var(--color-text-muted);
  font-style:italic; margin-top:var(--space-4);
}

.wd-download-actions {
  display:flex; gap:var(--space-3); flex-wrap:wrap; margin-top:var(--space-5);
}

/* Timeline / Steps */
.wd-timeline {
  display:flex; flex-direction:column; gap:0;
  border-left:3px solid var(--color-primary);
  margin:var(--space-5) 0 var(--space-5) var(--space-3);
  padding-left:var(--space-5);
}
.wd-timeline--small { border-left-width:2px; }
.wd-timeline__step {
  position:relative;
  padding-bottom:var(--space-5);
}
.wd-timeline__step:last-child { padding-bottom:0; }
.wd-timeline__num {
  position:absolute; left:calc(-1 * var(--space-5) - 18px); top:0;
  width:36px; height:36px; border-radius:50%;
  background:var(--color-primary); color:#fff;
  font-family:var(--font-family-display); font-size:.75rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  letter-spacing:var(--letter-spacing-wide);
}
.wd-timeline--small .wd-timeline__num { width:28px; height:28px; left:calc(-1 * var(--space-5) - 14px); font-size:.7rem; }
.wd-timeline__content strong {
  display:block; font-family:var(--font-family-headings);
  font-size:1.05rem; font-weight:700; color:var(--color-headings);
  margin-bottom:var(--space-1);
}
.wd-timeline__content p { font-size:.95rem; color:var(--color-text-base); line-height:1.65; margin:0; }

/* Cost Table */
.wd-cost-table {
  border:1.5px solid var(--color-border); border-radius:var(--border-radius-md);
  overflow:hidden;
}
.wd-cost-table__head {
  display:grid; grid-template-columns:1.5fr 1fr 1fr;
  background:var(--color-background-dark); padding:var(--space-3) var(--space-4);
  font-family:var(--font-family-display); font-size:.7rem;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:#fff; font-weight:600; gap:var(--space-3);
}
.wd-cost-table__row {
  display:grid; grid-template-columns:1.5fr 1fr 1fr;
  padding:var(--space-4); gap:var(--space-3);
  border-top:1px solid var(--color-border); background:#fff;
  align-items:center;
}
.wd-cost-table__row:nth-child(odd) { background:var(--color-background-alt); }
.wd-cost-table__row strong { display:block; font-size:.95rem; color:var(--color-headings); margin-bottom:2px; }
.wd-cost-table__row span { font-size:.82rem; }
.wd-cost-table__row > div > span { font-size:.78rem; color:var(--color-text-light); }
.wd-cost--buyer { color:var(--color-warning); font-weight:600; font-size:.85rem !important; }
.wd-cost--free { color:var(--color-success); font-weight:600; font-size:.85rem !important; }
.wd-cost--full { color:var(--color-primary); font-weight:600; font-size:.85rem !important; }
.wd-cost--partial { color:var(--color-secondary); font-weight:600; font-size:.85rem !important; }

/* Checklist */
.wd-checklist { display:flex; flex-direction:column; gap:var(--space-3); margin:var(--space-4) 0; }
.wd-checklist__item {
  display:flex; gap:var(--space-3); padding:var(--space-4);
  border-radius:var(--border-radius); align-items:flex-start;
}
.wd-checklist__item i { font-size:1.2rem; flex-shrink:0; padding-top:2px; }
.wd-checklist__item strong { display:block; font-size:.95rem; color:var(--color-headings); margin-bottom:2px; }
.wd-checklist__item p { font-size:.88rem; color:var(--color-text-light); line-height:1.55; margin:0; }
.wd-checklist__item--do { background:rgba(45,122,58,.06); border:1px solid rgba(45,122,58,.15); }
.wd-checklist__item--do i { color:var(--color-success); }
.wd-checklist__item--dont { background:rgba(192,57,43,.06); border:1px solid rgba(192,57,43,.15); }
.wd-checklist__item--dont i { color:var(--color-error); }

/* Mini FAQ Widerruf */
.wd-faq-list {
  display:flex; flex-direction:column;
  border:1.5px solid var(--color-border); border-radius:var(--border-radius-md);
  overflow:hidden;
}
.wd-faq-item + .wd-faq-item { border-top:1px solid var(--color-border); }
.wd-faq-item__q {
  width:100%; background:#fff; border:none;
  display:flex; align-items:center; gap:var(--space-3);
  padding:var(--space-4); cursor:pointer; text-align:left;
  transition:background var(--transition-fast);
}
.wd-faq-item__q:hover { background:var(--color-primary-light); }
.wd-faq-item--open .wd-faq-item__q { background:var(--color-primary); }
.wd-faq-item__icon { font-size:.9rem; color:var(--color-primary); flex-shrink:0; transition:color var(--transition-fast); }
.wd-faq-item--open .wd-faq-item__icon { color:rgba(255,255,255,.65); }
.wd-faq-item__text { flex:1; font-size:.95rem; font-weight:600; color:var(--color-text-base); transition:color var(--transition-fast); }
.wd-faq-item--open .wd-faq-item__text { color:#fff; }
.wd-faq-item__arrow { font-size:.75rem; color:var(--color-primary); transition:transform .28s ease, color var(--transition-fast); flex-shrink:0; }
.wd-faq-item--open .wd-faq-item__arrow { transform:rotate(180deg); color:#fff; }
.wd-faq-item__a { background:#fff; overflow:hidden; }
.wd-faq-item__a-inner {
  padding:var(--space-4) var(--space-5);
  font-size:.95rem; line-height:1.75; border-top:1px solid var(--color-border);
}
.wd-faq-item__a-inner a { color:var(--color-primary); }
.wd-faq-item__a-inner strong { color:var(--color-headings); }

/* Contact cards in Widerruf */
.wd-contact-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:var(--grid-gap); margin:var(--space-5) 0;
}
.wd-contact-card {
  background:var(--color-background-alt); border:1px solid var(--color-border);
  border-radius:var(--border-radius-md); padding:var(--space-5);
  text-align:center;
}
.wd-contact-card__icon {
  width:48px; height:48px; border-radius:50%;
  background:var(--color-primary); display:flex;
  align-items:center; justify-content:center;
  margin:0 auto var(--space-3);
}
.wd-contact-card__icon i { color:#fff; font-size:1.1rem; }
.wd-contact-card strong { display:block; font-size:1rem; color:var(--color-headings); margin-bottom:var(--space-2); }
.wd-contact-card p { font-size:.92rem; color:var(--color-text-base); margin:0 0 var(--space-2); line-height:1.5; }
.wd-contact-card span { font-size:.75rem; color:var(--color-text-light); }

/* HP Buttons (réutilisé) */
.hp-btn{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-family-display);font-size:var(--btn-font-size);letter-spacing:var(--btn-letter-spacing);text-transform:uppercase;font-weight:var(--font-weight-semibold);padding:var(--btn-padding);border-radius:var(--btn-radius);text-decoration:none;transition:var(--transition);cursor:pointer;border:none}
.hp-btn--primary{background:var(--color-primary);color:#fff}
.hp-btn--primary:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-green)}
.hp-btn--secondary{background:var(--color-secondary);color:#fff}
.hp-btn--secondary:hover{background:var(--color-secondary-dark)}
.hp-btn--sm{padding:var(--btn-padding-sm);font-size:var(--font-size-xs)}


/* ══════════════════════════════════════════
   C. KONTAKT PAGE
   ══════════════════════════════════════════ */

.kontakt-page { background:#fff; font-family:var(--font-family-base); color:var(--color-text-base); }
.kontakt-page *, .kontakt-page *::before, .kontakt-page *::after { box-sizing:border-box; }

/* Hero (même structure, images différentes) */
.kontakt-hero {
  width:100%; min-height:380px;
  position:relative; display:flex; align-items:flex-end; overflow:hidden;
}
.kontakt-hero__bg {
  position:absolute; inset:0;
  background-image:url('/wp-content/uploads/2021/08/ASHR-7395_edit-WEB.webp');
  background-size:cover; background-position:center 45%;
  transform:scale(1.04); transition:transform 9s ease;
}
.kontakt-hero:hover .kontakt-hero__bg { transform:scale(1); }
.kontakt-hero__overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(10,18,8,.96) 0%,rgba(10,18,8,.65) 45%,rgba(10,18,8,.12) 100%);
}
.kontakt-hero__content {
  position:relative; z-index:2; width:100%;
  max-width:var(--container-max-width); margin-inline:auto;
  padding:var(--space-9) var(--container-padding) var(--space-8);
}
.kontakt-hero__eyebrow {
  display:inline-flex; align-items:center; gap:var(--space-2);
  font-family:var(--font-family-display); font-size:var(--font-size-xs);
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:var(--color-secondary-warm);
  background:rgba(201,138,75,.14); border:1px solid rgba(201,138,75,.32);
  padding:5px 14px; border-radius:var(--border-radius-pill); margin-bottom:var(--space-4);
}
.kontakt-hero h1 {
  font-family:var(--font-family-headings);
  font-size:clamp(2.4rem,5vw,4rem); font-weight:var(--font-weight-black);
  color:#fff; letter-spacing:var(--letter-spacing-tight); line-height:1.08;
  margin-bottom:var(--space-4); max-width:600px;
}
.kontakt-hero h1 em { font-style:normal; color:var(--color-secondary-warm); }
.kontakt-hero__sub {
  font-size:1.05rem; color:rgba(255,255,255,.72);
  margin-bottom:var(--space-5); max-width:560px; line-height:1.7;
}
.kontakt-hero__meta {
  display:flex; flex-wrap:wrap; gap:var(--space-4);
  font-family:var(--font-family-display); font-size:var(--font-size-xs);
  letter-spacing:var(--letter-spacing-wide); text-transform:uppercase;
  color:rgba(255,255,255,.5);
}
.kontakt-hero__meta i { color:var(--color-secondary-warm); margin-right:var(--space-1); }

/* Breadcrumb */
.kontakt-bc { background:#fff; border-bottom:1px solid var(--color-border); padding:var(--space-3) var(--container-padding); }
.kontakt-bc__inner {
  max-width:var(--container-max-width); margin-inline:auto;
  display:flex; align-items:center; gap:var(--space-2);
  font-family:var(--font-family-display); font-size:11px;
  letter-spacing:var(--letter-spacing-wide); text-transform:uppercase; color:var(--color-text-light);
}
.kontakt-bc__inner a { color:var(--color-primary); text-decoration:none; }
.kontakt-bc__inner .sep { font-size:8px; color:var(--color-border); }

/* ── CONTACT CARDS ── */
.kontakt-cards-section {
  padding:var(--space-7) var(--container-padding);
  background:var(--color-background-alt); border-bottom:1px solid var(--color-border);
}
.kontakt-cards {
  max-width:var(--container-max-width); margin-inline:auto;
  display:grid; grid-template-columns:repeat(4,1fr); gap:var(--grid-gap);
}
.kontakt-card {
  background:#fff; border:1px solid var(--color-border);
  border-radius:var(--border-radius-md); padding:var(--space-5);
  text-align:center; transition:var(--transition);
  display:flex; flex-direction:column; align-items:center; gap:var(--space-2);
}
.kontakt-card:hover { box-shadow:var(--shadow-md); transform:translateY(-3px); }
.kontakt-card__icon {
  width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:var(--space-2);
}
.kontakt-card__icon i { font-size:1.3rem; color:#fff; }
.kontakt-card__icon--phone { background:var(--color-primary); }
.kontakt-card__icon--email { background:var(--color-secondary); }
.kontakt-card__icon--address { background:var(--color-accent); }
.kontakt-card__icon--hours { background:var(--color-cat-sauna); }
.kontakt-card h3 {
  font-family:var(--font-family-headings); font-size:1.1rem;
  font-weight:700; color:var(--color-headings); margin:0;
}
.kontakt-card__value { font-size:1rem; color:var(--color-text-base); margin:0; font-weight:500; }
.kontakt-card__value a { color:var(--color-primary); text-decoration:none; font-weight:600; }
.kontakt-card__value a:hover { color:var(--color-primary-dark); text-decoration:underline; }
.kontakt-card__detail { font-size:var(--font-size-sm); color:var(--color-text-light); margin:0; }
.kontakt-card__badge {
  display:inline-flex; align-items:center; gap:var(--space-1);
  font-family:var(--font-family-display); font-size:9px;
  letter-spacing:var(--letter-spacing-caps); text-transform:uppercase;
  color:var(--color-primary); background:var(--color-primary-light);
  padding:3px 10px; border-radius:var(--border-radius-pill); margin-top:auto;
}
.kontakt-card__hours { width:100%; text-align:left; }
.kontakt-hours-row {
  display:flex; justify-content:space-between; align-items:center;
  padding:var(--space-2) 0; border-bottom:1px solid var(--color-border);
  font-size:var(--font-size-sm);
}
.kontakt-hours-row:last-child { border-bottom:none; }
.kontakt-hours-row span { color:var(--color-text-light); }
.kontakt-hours-row strong { color:var(--color-headings); font-size:var(--font-size-sm); }

/* ── BODY: FORM + SIDEBAR ── */
.kontakt-body { padding:var(--space-8) var(--container-padding) var(--space-10); }
.kontakt-body__inner {
  max-width:var(--container-max-width); margin-inline:auto;
  display:grid; grid-template-columns:1fr 360px; gap:var(--space-8);
  align-items:start;
}

/* Form Section */
.kontakt-form-section {
  background:#fff; border:1px solid var(--color-border);
  border-radius:var(--border-radius-md); overflow:hidden;
}
.kontakt-form-header {
  display:flex; align-items:center; gap:var(--space-4);
  padding:var(--space-5) var(--space-6);
  background:var(--color-background-alt); border-bottom:1px solid var(--color-border);
}
.kontakt-form-header__icon {
  width:48px; height:48px; border-radius:var(--border-radius);
  background:var(--color-primary); display:flex;
  align-items:center; justify-content:center; flex-shrink:0;
}
.kontakt-form-header__icon i { color:#fff; font-size:1.1rem; }
.kontakt-form-header h2 {
  font-family:var(--font-family-headings); font-size:1.3rem;
  font-weight:900; color:var(--color-headings); margin:0 0 var(--space-1);
}
.kontakt-form-header p { font-size:.9rem; color:var(--color-text-light); margin:0; }

.kontakt-form-wrapper { padding:var(--space-6); }

.kontakt-form-footer {
  padding:var(--space-4) var(--space-6);
  background:var(--color-background-alt); border-top:1px solid var(--color-border);
  display:flex; gap:var(--space-5); flex-wrap:wrap;
}
.kontakt-form-footer__item {
  display:flex; align-items:center; gap:var(--space-2);
  font-size:var(--font-size-xs); color:var(--color-text-light);
}
.kontakt-form-footer__item i { color:var(--color-primary); font-size:.8rem; }
.kontakt-form-footer__item a { color:var(--color-primary); }

/* Sidebar */
.kontakt-sidebar { display:flex; flex-direction:column; gap:var(--space-5); position:sticky; top:100px; }

.kontakt-sidebar__block {
  background:#fff; border:1px solid var(--color-border);
  border-radius:var(--border-radius-md); padding:var(--space-5);
}
.kontakt-sidebar__block h3 {
  display:flex; align-items:center; gap:var(--space-2);
  font-family:var(--font-family-headings); font-size:1.05rem;
  font-weight:700; color:var(--color-headings); margin:0 0 var(--space-3);
}
.kontakt-sidebar__block h3 i { color:var(--color-primary); font-size:.9rem; }
.kontakt-sidebar__block > p {
  font-size:var(--font-size-sm); color:var(--color-text-light);
  line-height:1.6; margin:0 0 var(--space-4);
}
.kontakt-sidebar__link {
  display:flex; align-items:center; gap:var(--space-2);
  padding:var(--space-2) 0; font-size:var(--font-size-sm);
  color:var(--color-primary); text-decoration:none; font-weight:500;
  transition:var(--transition-fast);
  border-bottom:1px solid var(--color-border);
}
.kontakt-sidebar__link:last-child { border-bottom:none; }
.kontakt-sidebar__link:hover { color:var(--color-primary-dark); gap:var(--space-3); }
.kontakt-sidebar__link i { font-size:.65rem; transition:var(--transition-fast); }

.kontakt-sidebar__block--highlight {
  background:var(--color-primary-light); border-color:rgba(45,90,39,.2);
}
.kontakt-response { display:flex; gap:var(--space-3); align-items:flex-start; }
.kontakt-response__icon { font-size:1.5rem; color:var(--color-primary); flex-shrink:0; }
.kontakt-response strong { display:block; font-size:.85rem; color:var(--color-headings); margin-bottom:var(--space-1); }
.kontakt-response__time {
  font-family:var(--font-family-headings); font-size:1.6rem;
  font-weight:900; color:var(--color-primary); line-height:1;
  margin-bottom:var(--space-2);
}
.kontakt-response p { font-size:var(--font-size-xs); color:var(--color-text-light); margin:0; }

.kontakt-sidebar__block--dark {
  background:var(--color-background-dark); border-color:var(--color-border-dark);
}
.kontakt-phone-cta { text-align:center; }
.kontakt-phone-cta > i { font-size:2rem; color:var(--color-secondary-warm); display:block; margin-bottom:var(--space-3); }
.kontakt-phone-cta strong { display:block; font-family:var(--font-family-headings); font-size:1.1rem; color:#fff; margin-bottom:var(--space-1); }
.kontakt-phone-cta p { font-size:var(--font-size-sm); color:rgba(255,255,255,.6); margin:0 0 var(--space-3); }
.kontakt-phone-cta__number {
  display:block; font-family:var(--font-family-headings);
  font-size:1.5rem; font-weight:900; color:var(--color-secondary-warm);
  text-decoration:none; margin-bottom:var(--space-2);
  transition:var(--transition-fast);
}
.kontakt-phone-cta__number:hover { color:#fff; }
.kontakt-phone-cta > span { font-size:var(--font-size-xs); color:rgba(255,255,255,.45); }

/* Trust items */
.kontakt-trust-list { display:flex; flex-direction:column; gap:var(--space-2); }
.kontakt-trust-item {
  display:flex; align-items:center; gap:var(--space-2);
  font-size:var(--font-size-sm); color:var(--color-text-base);
}
.kontakt-trust-item i { color:var(--color-success); font-size:.85rem; flex-shrink:0; }

/* ── TOPICS GRID ── */
.kontakt-topics {
  padding:var(--section-padding-y) var(--container-padding);
  background:var(--color-background-alt);
  border-top:1px solid var(--color-border);
}
.kontakt-topics__inner { max-width:var(--container-max-width); margin-inline:auto; }
.kontakt-topics__header { text-align:center; margin-bottom:var(--space-7); }
.kontakt-topics__header h2 {
  font-family:var(--font-family-headings); font-size:var(--font-size-h2);
  font-weight:var(--font-weight-black); color:var(--color-headings);
  letter-spacing:var(--letter-spacing-tight); margin:0 0 var(--space-3);
}
.kontakt-topics__header p {
  font-size:1.05rem; color:var(--color-text-light);
  max-width:580px; margin-inline:auto; line-height:1.7;
}
.kontakt-topics__grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:var(--grid-gap);
}
.kontakt-topic {
  background:#fff; border:1px solid var(--color-border);
  border-radius:var(--border-radius-md); padding:var(--space-5);
  text-align:center; transition:var(--transition);
}
.kontakt-topic:hover { box-shadow:var(--shadow-md); transform:translateY(-3px); }
.kontakt-topic__icon {
  width:56px; height:56px; border-radius:var(--border-radius);
  display:inline-flex; align-items:center; justify-content:center;
  margin-bottom:var(--space-3); font-size:1.3rem;
}
.kontakt-topic strong {
  display:block; font-family:var(--font-family-headings);
  font-size:1.05rem; font-weight:700; color:var(--color-headings);
  margin-bottom:var(--space-2);
}
.kontakt-topic p { font-size:var(--font-size-sm); color:var(--color-text-light); line-height:1.55; margin:0; }

/* ── BOTTOM CTA ── */
.kontakt-bcta {
  background:var(--color-primary); padding:var(--space-7) var(--container-padding);
}
.kontakt-bcta__inner {
  max-width:var(--container-max-width); margin-inline:auto;
  display:flex; align-items:center; gap:var(--space-6); justify-content:center;
  text-align:center; flex-direction:column;
}
.kontakt-bcta__icon { font-size:2.5rem; color:rgba(255,255,255,.3); }
.kontakt-bcta__text strong {
  font-family:var(--font-family-headings); font-size:1.4rem;
  font-weight:900; color:#fff; display:block; margin-bottom:var(--space-2);
}
.kontakt-bcta__text p { font-size:1rem; color:rgba(255,255,255,.72); margin:0; }


/* ══════════════════════════════════════════
   D. CONTACT FORM 7 — CUSTOM STYLES
   ══════════════════════════════════════════ */

/* Container */
.cf7-form { display:flex; flex-direction:column; gap:var(--space-5); }

/* Rows */
.cf7-row {
  display:grid; grid-template-columns:1fr 1fr; gap:var(--space-4);
}
.cf7-row--single { grid-template-columns:1fr; }

/* Fields */
.cf7-field { display:flex; flex-direction:column; gap:var(--space-2); }

/* Labels */
.cf7-label {
  font-family:var(--font-family-base);
  font-size:var(--font-size-sm); font-weight:var(--font-weight-semibold);
  color:var(--color-headings); letter-spacing:0.01em;
}
.cf7-required { color:var(--color-error); font-weight:700; }
.cf7-optional { color:var(--color-text-muted); font-weight:400; font-size:var(--font-size-xs); }

/* Inputs — overriding CF7 defaults */
.cf7-form .wpcf7-form-control-wrap { display:block; width:100%; }

.cf7-form input[type="text"],
.cf7-form input[type="email"],
.cf7-form input[type="tel"],
.cf7-form input[type="url"],
.cf7-form input[type="number"],
.cf7-form textarea,
.cf7-form select {
  width:100%;
  padding:var(--input-padding);
  border:var(--input-border);
  border-radius:var(--input-radius);
  background:var(--color-background-alt);
  font-family:var(--font-family-base);
  font-size:var(--input-font-size);
  color:var(--color-text-base);
  transition:border-color var(--transition-fast), box-shadow var(--transition-fast);
  -webkit-appearance:none;
  appearance:none;
}
.cf7-form input:focus,
.cf7-form textarea:focus,
.cf7-form select:focus {
  outline:none;
  border-color:var(--color-primary);
  box-shadow:0 0 0 3px rgba(45,90,39,.12);
  background:#fff;
}
.cf7-form input::placeholder,
.cf7-form textarea::placeholder {
  color:var(--color-text-muted);
}
.cf7-form textarea { resize:vertical; min-height:160px; line-height:1.6; }

/* Select arrow */
.cf7-form select {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7a66' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 16px center;
  padding-right:40px;
  cursor:pointer;
}

/* Upload */
.cf7-upload-hint {
  display:flex; align-items:center; gap:var(--space-2);
  padding:var(--space-3) var(--space-4);
  background:var(--color-background-alt); border:1.5px dashed var(--color-border);
  border-radius:var(--input-radius); margin-bottom:var(--space-2);
  font-size:var(--font-size-xs); color:var(--color-text-light);
}
.cf7-upload-hint i { color:var(--color-primary); font-size:1.1rem; }
.cf7-form input[type="file"] {
  padding:var(--space-3);
  font-size:var(--font-size-sm);
  color:var(--color-text-light);
}

/* Checkbox acceptance */
.cf7-field--checkbox {
  flex-direction:row !important; align-items:flex-start !important; gap:var(--space-3) !important;
}
.cf7-field--checkbox .wpcf7-form-control-wrap { display:flex; align-items:flex-start; gap:var(--space-2); }
.cf7-field--checkbox .wpcf7-list-item { display:flex; align-items:flex-start; gap:var(--space-2); }
.cf7-field--checkbox input[type="checkbox"] {
  margin-top:3px; accent-color:var(--color-primary);
  width:16px; height:16px; flex-shrink:0;
}
.cf7-field--checkbox .wpcf7-list-item-label {
  font-size:var(--font-size-xs); color:var(--color-text-light); line-height:1.5;
}
.cf7-field--checkbox a { color:var(--color-primary); }

/* Submit */
.cf7-row--submit { margin-top:var(--space-3); }
.cf7-submit-wrap { display:flex; flex-direction:column; gap:var(--space-3); align-items:flex-start; }

.cf7-form input.cf7-submit,
.cf7-form input[type="submit"] {
  display:inline-flex; align-items:center; gap:var(--space-2);
  font-family:var(--font-family-display);
  font-size:var(--btn-font-size);
  letter-spacing:var(--btn-letter-spacing);
  text-transform:uppercase;
  font-weight:var(--font-weight-semibold);
  padding:16px 40px;
  border-radius:var(--btn-radius);
  background:var(--color-primary) !important;
  color:#fff;
  border:none;
  cursor:pointer;
  transition:var(--transition);
}
.cf7-form input[type="submit"]:hover {
  background:var(--color-primary-dark);
  box-shadow:var(--shadow-green);
}
.cf7-submit-note {
  display:flex; align-items:center; gap:var(--space-2);
  font-size:var(--font-size-xs); color:var(--color-text-muted);
}
.cf7-submit-note i { color:var(--color-success); }

/* Validation states CF7 */
.cf7-form .wpcf7-not-valid { border-color:var(--color-error) !important; }
.cf7-form .wpcf7-not-valid-tip {
  font-size:var(--font-size-xs); color:var(--color-error);
  margin-top:var(--space-1); font-weight:500;
}
.cf7-form .wpcf7-response-output {
  padding:var(--space-4) !important;
  border-radius:var(--border-radius) !important;
  font-size:var(--font-size-sm) !important;
  margin:var(--space-4) 0 0 !important;
}
.cf7-form .wpcf7-mail-sent-ok {
  background:rgba(45,122,58,.08) !important;
  border-color:var(--color-success) !important;
  color:var(--color-success) !important;
}
.cf7-form .wpcf7-validation-errors,
.cf7-form .wpcf7-acceptance-missing {
  background:rgba(192,57,43,.08) !important;
  border-color:var(--color-error) !important;
  color:var(--color-error) !important;
}

/* Spinner */
.cf7-form .wpcf7-spinner { margin-left:var(--space-3); }


/* ══════════════════════════════════════════
   E. RESPONSIVE — ALL PAGES
   ══════════════════════════════════════════ */

@media (max-width:1100px) {
  .kontakt-body__inner { grid-template-columns:1fr 320px; }
}

@media (max-width:900px) {
  /* Legal page */
  .legal-body { grid-template-columns:1fr; }
  .legal-nav { position:static; flex-direction:row; flex-wrap:wrap; border:none; border-radius:0; gap:var(--space-2); }
  .legal-nav__head { display:none; }
  .legal-nav__item { width:auto; border:1px solid var(--color-border); border-radius:var(--border-radius-pill); padding:var(--space-2) var(--space-3); font-size:.8rem; }
  .legal-nav__contact { display:none; }
  .legal-info-bar__inner { grid-template-columns:1fr 1fr; }
  .wd-cost-table__head,
  .wd-cost-table__row { grid-template-columns:1fr; gap:var(--space-2); }
  .wd-cost-table__head > div:not(:first-child) { display:none; }
  .wd-cost-table__row { padding:var(--space-4); }
  .wd-contact-grid { grid-template-columns:1fr; }

  /* Kontakt page */
  .kontakt-cards { grid-template-columns:1fr 1fr; }
  .kontakt-body__inner { grid-template-columns:1fr; }
  .kontakt-sidebar { position:static; }
  .kontakt-topics__grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:640px) {
  .legal-hero h1, .kontakt-hero h1 { font-size:2.2rem; }
  .legal-info-bar__inner { grid-template-columns:1fr; }
  .kontakt-cards { grid-template-columns:1fr; }
  .kontakt-topics__grid { grid-template-columns:1fr; }
  .legal-cta__inner { flex-direction:column; text-align:center; }
  .legal-cta__actions { justify-content:center; }
  .wd-download-actions { flex-direction:column; }

  /* CF7 Form */
  .cf7-row { grid-template-columns:1fr; }
}
/* ============================================================
   RESET & BASE STYLES
   ============================================================ */
/* 
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: var(--font-size-base);
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-base);
  color: var(--color-text-base);
  background-color: var(--color-background);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-family-headings);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-headings);
  color: var(--color-headings);
  letter-spacing: var(--letter-spacing-tight);
}

h1 { font-size: var(--font-size-h1); }
h2 { font-size: var(--font-size-h2); }
h3 { font-size: var(--font-size-h3); }
h4 { font-size: var(--font-size-h4); }
h5 { font-size: var(--font-size-h5); }
h6 { font-size: var(--font-size-h6); }

a {
  color: var(--color-primary);
  text-decoration: none;
  transition: var(--transition-fast);
}

a:hover {
  color: var(--color-primary-dark);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
} */

/* ============================================================
   UTILITAIRES CONTAINER
   ============================================================ */

.container {
  max-width: var(--container-max-width);
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

.section {
  padding-block: var(--section-padding-y);
}

.section--alt {
  background-color: var(--color-background-alt);
}

.section--dark {
  background-color: var(--color-background-dark);
  color: var(--color-text-white);
}

/* ============================================================
   UTILITAIRES BOUTONS
   ============================================================ */

.btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--btn-font);
  font-size: var(--btn-font-size);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--btn-letter-spacing);
  text-transform: uppercase;
  padding: var(--btn-padding);
  border-radius: var(--btn-radius);
  border: 2px solid transparent;
  cursor: pointer;
  transition: var(--transition);
  text-decoration: none;
  white-space: nowrap;
}

.btn--primary {
  background: var(--btn-primary-bg);
  color: var(--color-text-white);
  border-color: var(--btn-primary-bg);
}

.btn--primary:hover {
  background: var(--btn-primary-hover);
  border-color: var(--btn-primary-hover);
  color: var(--color-text-white);
  transform: translateY(-2px);
  box-shadow: var(--shadow-green);
}

.btn--secondary {
  background: var(--btn-secondary-bg);
  color: var(--color-text-white);
  border-color: var(--btn-secondary-bg);
}

.btn--secondary:hover {
  background: var(--btn-secondary-hover);
  border-color: var(--btn-secondary-hover);
  color: var(--color-text-white);
  transform: translateY(-2px);
  box-shadow: var(--shadow-wood);
}

.btn--outline {
  background: transparent;
  color: var(--color-primary);
  border-color: var(--color-primary);
}

.btn--outline:hover {
  background: var(--color-primary);
  color: var(--color-text-white);
}

.btn--ghost {
  background: transparent;
  color: var(--color-text-white);
  border-color: rgba(255,255,255,0.5);
}

.btn--ghost:hover {
  background: rgba(255,255,255,0.12);
  border-color: var(--color-text-white);
  color: var(--color-text-white);
}

.btn--sm { padding: var(--btn-padding-sm); font-size: var(--font-size-xs); }
.btn--lg { padding: var(--btn-padding-lg); font-size: var(--font-size-lg); }

/* ============================================================
   UTILITAIRES BADGES PRODUITS
   ============================================================ */

.badge {
  display: inline-block;
  padding: var(--badge-padding);
  border-radius: var(--badge-radius);
  font-family: var(--badge-font);
  font-size: var(--badge-font-size);
  letter-spacing: var(--badge-letter-spacing);
  text-transform: uppercase;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-white);
  line-height: 1;
}

.badge--new     { background: var(--color-badge-new); }
.badge--sale    { background: var(--color-badge-sale); }
.badge--top     { background: var(--color-badge-top); }

/* Catégories */
.badge--sauna   { background: var(--color-cat-sauna); }
.badge--pool    { background: var(--color-cat-pool); }
.badge--pavillon{ background: var(--color-cat-pavillon); }
.badge--kinder  { background: var(--color-cat-kinder); }
.badge--carport { background: var(--color-cat-carport); }



/* ================================================================
   DESCRIPTION LONGUE — Amberg 5
   Fichier : 07-css-description.css
   Préfixe BEM : .desc-
   Base : gartenhaus-root.css (variables obligatoires)
   Sections : Description · Technische Daten · Garantie · FAQ
   ================================================================ */

/* ── Base ── */
.desc {
  background: #ffffff;
  font-family: var(--font-family-base);
  color: var(--color-text-base);
  font-size: 1.05rem;
  line-height: 1.75;
}

/* ================================================================
   BLOC GÉNÉRIQUE — séparateur entre sections
   ================================================================ */
.desc__block {
  margin-bottom: 4rem;
  padding-bottom: 4rem;
  border-bottom: 1px solid var(--color-border);
}

.desc__block:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* ================================================================
   EN-TÊTE DE SECTION — icône + titre éditorial
   ================================================================ */
.desc__block-header {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  margin-bottom: 2rem;
  padding-bottom: 1.1rem;
  border-bottom: 2px solid var(--color-primary);
}

.desc__block-icon {
  width: 50px;
  height: 50px;
  background: var(--color-primary);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.desc__block-icon i {
  color: #ffffff;
  font-size: 1.25rem;
}

.desc__block-title {
  font-family: var(--font-family-headings);
  font-size: 1.7rem;
  font-weight: 900;
  color: var(--color-headings);
  line-height: 1.1;
  letter-spacing: -0.02em;
  display: block;
}

.desc__block-sub {
  font-family: var(--font-family-display);
  font-size: 0.67rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--color-text-light);
  display: block;
  margin-top: 0.2rem;
}

/* ================================================================
   DESCRIPTION PRINCIPALE
   ================================================================ */
.desc__prose p {
  font-size: 1.05rem;
  color: var(--color-text-base);
  line-height: 1.85;
  margin: 0 0 1.4rem;
}

.desc__prose p:last-child { margin-bottom: 0; }

.desc__prose strong {
  color: var(--color-headings);
  font-weight: 700;
}

/* Points forts inline dans la description */
.desc__highlights {
  list-style: none;
  padding: 0;
  margin: 1.75rem 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 0.85rem;
}

.desc__highlight-item {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.25rem;
  background: var(--color-background-alt);
  border-radius: 10px;
  border-left: 3px solid var(--color-primary);
  font-size: 0.97rem;
  line-height: 1.5;
  color: var(--color-text-base);
  transition: background 0.18s ease;
}

.desc__highlight-item:hover {
  background: var(--color-primary-light);
}

.desc__highlight-item i {
  color: var(--color-primary);
  font-size: 1rem;
  margin-top: 0.15rem;
  flex-shrink: 0;
  width: 16px;
  text-align: center;
}

/* Note bas de section */
.desc__note {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  margin-top: 1.75rem;
  padding: 1.1rem 1.4rem;
  background: var(--color-background-alt);
  border-radius: 8px;
  border-left: 4px solid var(--color-warning);
  font-size: 0.95rem;
  color: var(--color-text-light);
  font-style: italic;
  line-height: 1.6;
}

.desc__note i {
  color: var(--color-warning);
  font-size: 0.95rem;
  margin-top: 0.1rem;
  flex-shrink: 0;
}

/* ================================================================
   TECHNISCHE DATEN — tableau premium
   ================================================================ */
.desc__tech-wrap {
  border: 1.5px solid var(--color-border);
  border-radius: 14px;
  overflow: hidden;
}

.desc__tech-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
}

.desc__tech-table tbody tr {
  border-bottom: 1px solid var(--color-border);
  transition: background 0.15s ease;
}

.desc__tech-table tbody tr:last-child { border-bottom: none; }

.desc__tech-table tbody tr:nth-child(even) {
  background: var(--color-background-alt);
}

.desc__tech-table tbody tr:hover {
  background: var(--color-primary-light);
}

.desc__tech-table th {
  padding: 1rem 1.5rem;
  font-family: var(--font-family-display);
  font-size: 0.78rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--color-text-light);
  font-weight: 500;
  text-align: left;
  width: 50%;
  vertical-align: middle;
  border-right: 1px solid var(--color-border);
}

.desc__tech-table td {
  padding: 1rem 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-text-base);
  vertical-align: middle;
}

/* ================================================================
   GARANTIE — bloc mise en avant
   ================================================================ */
.desc__garantie {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2rem;
  align-items: center;
  padding: 2.5rem;
  background: var(--color-primary);
  border-radius: 16px;
  position: relative;
  overflow: hidden;
}

/* Cercle décoratif en fond */
.desc__garantie::before {
  content: '';
  position: absolute;
  right: -40px;
  top: -40px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: rgba(255,255,255,0.07);
}

.desc__garantie::after {
  content: '';
  position: absolute;
  right: 30px;
  bottom: -60px;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: rgba(255,255,255,0.05);
}

.desc__garantie-badge {
  position: relative;
  z-index: 1;
  width: 90px;
  height: 90px;
  background: rgba(255,255,255,0.15);
  border: 2px solid rgba(255,255,255,0.3);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.desc__garantie-badge-years {
  font-family: var(--font-family-headings);
  font-size: 2rem;
  font-weight: 900;
  color: #ffffff;
  line-height: 1;
}

.desc__garantie-badge-label {
  font-family: var(--font-family-display);
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.8);
  margin-top: 0.1rem;
}

.desc__garantie-content {
  position: relative;
  z-index: 1;
}

.desc__garantie-title {
  font-family: var(--font-family-headings);
  font-size: 1.5rem;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: -0.02em;
  display: block;
  margin-bottom: 0.6rem;
}

.desc__garantie-text {
  font-size: 0.97rem;
  color: rgba(255,255,255,0.82);
  line-height: 1.65;
  margin: 0;
}

.desc__garantie-items {
  list-style: none;
  padding: 0;
  margin: 0.85rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.desc__garantie-items li {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.9rem;
  color: rgba(255,255,255,0.85);
}

.desc__garantie-items li i {
  color: rgba(255,255,255,0.9);
  font-size: 0.8rem;
}

/* ================================================================
   FAQ ACCORDION — Tipps & Tricks
   ================================================================ */
.desc__faq {
  display: flex;
  flex-direction: column;
  border: 1.5px solid var(--color-border);
  border-radius: 14px;
  overflow: hidden;
}

.desc__faq-item + .desc__faq-item {
  border-top: 1px solid var(--color-border);
}

.desc__faq-btn {
  width: 100%;
  background: #ffffff;
  border: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.35rem 1.75rem;
  cursor: pointer;
  text-align: left;
  transition: background 0.18s ease;
}

.desc__faq-btn:hover { background: var(--color-primary-light); }
.desc__faq-btn.is-open { background: var(--color-primary); }

.desc__faq-question {
  font-family: var(--font-family-base);
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-text-base);
  line-height: 1.4;
  transition: color 0.18s;
}

.desc__faq-btn.is-open .desc__faq-question { color: #ffffff; }

.desc__faq-chevron {
  font-size: 0.8rem;
  color: var(--color-primary);
  flex-shrink: 0;
  transition: transform 0.28s ease, color 0.18s;
}

.desc__faq-btn.is-open .desc__faq-chevron {
  transform: rotate(180deg);
  color: #ffffff;
}

.desc__faq-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, padding 0.25s ease;
  background: #ffffff;
}

.desc__faq-body.is-open {
  max-height: 800px;
  padding: 1.5rem 1.75rem;
}

.desc__faq-body p {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--color-text-base);
  margin: 0;
}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 768px) {
  .desc__block-title      { font-size: 1.4rem; }
  .desc__highlights       { grid-template-columns: 1fr; }
  .desc__garantie         { grid-template-columns: 1fr; text-align: center; }
  .desc__garantie-badge   { margin: 0 auto; }
  .desc__garantie-items   { align-items: center; }
  .desc__tech-table th,
  .desc__tech-table td    { padding: 0.8rem 1rem; font-size: 0.92rem; }
  .desc__faq-btn          { padding: 1rem 1.25rem; }
}

/* ================================================================
   COURTE DESCRIPTION — Amberg 5
   Fichier : 05-css-courte-description.css
   Préfixe BEM : .cd-
   Base : gartenhaus-root.css (variables obligatoires)
   ================================================================ */

/* ── Wrapper ── */
.cd {
  background: #ffffff;
  font-family: var(--font-family-base);
  color: var(--color-text-base);
}

/* ── Accroche principale ── */
.cd__intro {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--color-text-base);
  margin: 0 0 2rem;
  padding-left: 1.25rem;
  border-left: 4px solid var(--color-primary);
}

/* ── Grille de stats (chiffres clés) ── */
.cd__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1.5px solid var(--color-border);
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 2rem;
}

.cd__stat {
  background: #ffffff;
  padding: 1rem 1rem;
  text-align: center;
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  transition: background 0.2s ease;
  position: relative;
}

/* Supprimer les bordures sur les dernières colonnes/lignes */
.cd__stat:nth-child(3n) { border-right: none; }
.cd__stat:nth-last-child(-n+3) { border-bottom: none; }

.cd__stat:hover { background: var(--color-primary-light); }

.cd__stat-icon {
  font-size: 1.5rem;
  color: var(--color-primary);
  margin-bottom: 0.5rem;
}

.cd__stat-val {
  display: block;
  font-family: var(--font-family-headings);
  font-size: 1.7rem;
  font-weight: 900;
  color: var(--color-headings);
  line-height: 1;
  letter-spacing: -0.02em;
}

.cd__stat-label {
  display: block;
  font-family: var(--font-family-display);
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-text-light);
  margin-top: 0.35rem;
}

/* ── Liste des avantages ── */
.cd__features {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1.5px solid var(--color-border);
  border-radius: 12px;
  overflow: hidden;
}

.cd__feature {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem 1.5rem;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--color-text-base);
  border-bottom: 1px solid var(--color-border);
  background: #ffffff;
  transition: background 0.18s ease, padding-left 0.18s ease;
}

.cd__feature:last-child { border-bottom: none; }

.cd__feature:hover {
  background: var(--color-primary-light);
  padding-left: 2rem;
}

.cd__feature-icon {
  color: var(--color-primary);
  font-size: 1rem;
  margin-top: 0.2rem;
  flex-shrink: 0;
  width: 18px;
  text-align: center;
}

/* ── Note bas de page ── */
.cd__notice {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.9rem;
  color: var(--color-text-light);
  padding: 1rem 1.25rem;
  background: var(--color-background-alt);
  border-radius: 8px;
  border-left: 3px solid var(--color-warning);
  font-style: italic;
  line-height: 1.6;
}

.cd__notice i {
  color: var(--color-warning);
  font-size: 0.95rem;
  margin-top: 0.15rem;
  flex-shrink: 0;
}

/* ── Responsive ── */
@media (max-width: 640px) {
  .cd__stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .cd__stat:nth-child(3n) { border-right: 1px solid var(--color-border); }
  .cd__stat:nth-child(2n) { border-right: none; }
  .cd__stat:nth-last-child(-n+3) { border-bottom: 1px solid var(--color-border); }
  .cd__stat:nth-last-child(-n+2) { border-bottom: none; }
  .cd__stat-val { font-size: 1.4rem; }
}