/* qm-header.css : header natif (bloc Elementor 627), charge apres post-627.css.
   Ne contient que ce que le JavaScript faisait (header collant + etat « scrolled », burger, overlay de recherche,
   bouton panier maison) et les regles de l'Additional CSS du Customizer dont le header depend.
   Selecteurs scopes sur .qm-hdr (classe posee sur <header>). */

/* ---- 1. Header collant sans JS -------------------------------------------------------------------------
   Origine : conteneur 479f28d en position:absolute (post-627.css) par-dessus le hero, rendu fixe au defilement
   par sticky.min.js (classes elementor-sticky, elementor-sticky--active, elementor-sticky--effects : aucun CSS du
   site ne les cible, rien a remplacer), puis classe header-scrolled (fond noir pleine largeur) ajoutee a 300px
   par un snippet. Ici : le <header> colle au viewport avec une hauteur nulle ; le conteneur absolu (top:0 ; left:0)
   le suit et continue de recouvrir le contenu comme au repos. */
.qm-hdr.elementor-location-header{position:sticky;top:0;z-index:999;height:0;overflow:visible}
/* Hauteur reelle du bandeau (mesuree) : le conteneur est absolu, il ne pousse rien. Les zones sans hero (pages, blog, archive mobile) se decalent d'autant. */
:root{--qm-hdr-h:92px} /* 30/08 : bandeau 20 px du haut + barre 72 px = 92 (136 datait d'avant le retrait de « Beliebte Suchanfragen ») */
@media (max-width:1024px){:root{--qm-hdr-h:92px}}
@media (max-width:767px){:root{--qm-hdr-h:54px}}
.qm-native main.site-main{padding-top:calc(var(--qm-hdr-h) + 32px)}
/* Tunnel de commande : aucun bandeau de site (header-native.php sort tot), donc aucun decalage. */
.qm-native.woocommerce-checkout main.site-main{padding-top:0}
/* 30/08 : meme ecart header -> titre que les pages (32 px) a TOUTES les largeurs, collections + recherche (conteneur c37b944 commun,
   paddings figes 150/100 px remplaces) et fiche produit (0985de8, 160 px) ; div. ajoute pour battre la CSS figee a ordre egal. */
.qm-native div.elementor-element.elementor-element-c37b944 > div.e-con-inner{padding-top:calc(var(--qm-hdr-h) + 32px)}
/* Fiche produit mobile : la galerie commencait 4 px sous le bandeau (padding 50 px d'origine pour un bandeau de 54). */
.qm-native div.elementor-element.elementor-element-0985de8 > div.e-con-inner{padding-top:calc(var(--qm-hdr-h) + 32px)}
.admin-bar .qm-hdr.elementor-location-header{top:32px}
@media (max-width:782px){.admin-bar .qm-hdr.elementor-location-header{top:46px}}
.qm-hdr .custom-sticky-header{background-color:transparent;isolation:isolate}
/* Etat « scrolled » (>= 300px) : voile noir sous le contenu du conteneur. L'Additional CSS du Customizer impose
   background-color:transparent !important sur le conteneur, qu'une animation ne peut pas battre : d'ou le pseudo-element.
   Sans prise en charge des animations liees au defilement, l'etat repos (bandeau noir arrondi collant) reste. */
.qm-hdr .custom-sticky-header::before{content:"";position:absolute;inset:0;z-index:-1;background-color:#000;opacity:0;pointer-events:none}
@supports (animation-timeline: scroll()) {
	.qm-hdr .custom-sticky-header::before{animation:qm-hdr-scrolled steps(1, end) both;animation-timeline:scroll(root);animation-range:0px 300px}
	@keyframes qm-hdr-scrolled{from{opacity:0}to{opacity:1}}
}
/* Additional CSS d'origine (Customizer), reporte pour que le header natif soit autonome : bandeau noir arrondi,
   droit sur mobile ; bouton panier sans bordure. */
.qm-hdr .header-background{border-radius:12px}
@media (max-width:767px){.qm-hdr .header-background{border-radius:0}}
.qm-hdr .cart-menu{border:none}

/* ---- 2. Menu : un seul <nav>, burger = case a cocher + label (sous 1024px, breakpoint tablette du widget) ----
   L'original dupliquait le menu (nav --main + nav --dropdown) et basculait des classes (elementor-active) en JS. */
.qm-hdr-nav-toggle,.qm-hdr-search-toggle{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;opacity:0}
@media (min-width:1025px){.qm-hdr-nav-toggle,.qm-hdr-search-toggle{display:none}}
/* post-627.css cible div.elementor-menu-toggle : le label reprend la couleur reglee dans le widget */
.qm-hdr .elementor-element-89d9552 .elementor-menu-toggle{color:#F0EAEA}
.qm-hdr .elementor-element-89d9552 .elementor-menu-toggle svg{fill:#F0EAEA}
.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-menu-toggle .elementor-menu-toggle__icon--open{display:none}
.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-menu-toggle .elementor-menu-toggle__icon--close{display:block}
.qm-hdr .qm-hdr-nav-toggle:focus-visible ~ .elementor-menu-toggle{outline:2px solid currentColor;outline-offset:2px}
@media (max-width:1024px){
	/* le menu deplie s'etire sur toute la largeur du bandeau noir (.header-background est position:relative) */
	.qm-hdr .elementor-element-2f51c92,.qm-hdr .elementor-element-89d9552{position:static}
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main{display:block;position:absolute;left:0;right:0;top:100%;z-index:9997;margin-top:10px;max-height:100vh;overflow-x:hidden;overflow-y:auto;background-color:#fff;font-size:13px}
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .elementor-nav-menu{display:block}
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .elementor-nav-menu .elementor-item{color:#33373d;fill:#33373d;padding:10px 20px}
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .elementor-nav-menu .elementor-item:hover,
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .elementor-nav-menu .elementor-item:focus,
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .elementor-nav-menu .elementor-item.elementor-item-active{background-color:#3f444b;color:#fff;fill:#fff}
}

/* ---- 3. Recherche : formulaire GET natif (?s=&post_type=product), zero JavaScript (refonte 06/09/2026) ----------------
   Historique : la purge CSS du 03/09 avait retire des feuilles compilees (build/*.css) toutes les regles qui ne servent
   qu'une fois l'overlay ouvert (enfants d'un sous-arbre display:none = « non couverts ») : second formulaire fantome sur
   bureau, panneau empile et croix geante sur mobile. Ce bloc est AUTONOME (il ne compte sur aucune regle de
   psw-product-search.css) et il est recopie tel quel a la fin de chaque build/*.css (marqueurs « QM RECHERCHE »).
   Bureau (>= 1025px) : le champ du bandeau EST la recherche (pilule visible au repos, pleine au focus, Entree soumet) ;
   aucun panneau (sans « recherches populaires » il n'y avait rien a montrer).
   Tablette / mobile (<= 1024px) : la loupe (label) coche #qm-hdr-search-toggle ; une feuille blanche descend du haut
   (titre + croix, champ en pilule creme avec la loupe) sur un voile sombre ; le voile est un label qui decoche
   (toucher a cote ferme) ; la page ne defile plus tant que la feuille est ouverte (html:has()).
   Polices du kit : Instrument Sans (champ), Roboto 600 (titre). Couleurs du kit : encre #2B2B2E, creme #FAF5EA, rouge #DD1B1F. */
.qm-hdr .lightweight-product-search{position:relative}
.qm-hdr .lightweight-product-search__submit--compact-only,.qm-hdr .lightweight-product-search__close,.qm-hdr .qm-srch-veil{cursor:pointer}
.qm-hdr .qm-hdr-search-toggle:focus-visible + .lightweight-product-search .lightweight-product-search__submit--compact-only{outline:2px solid currentColor;outline-offset:2px}
.qm-hdr .elementor-element-0ed30ab .lightweight-product-search__input{font-family:"Instrument Sans",sans-serif;font-size:14px;color:#fff;caret-color:#fff}
.qm-hdr .elementor-element-0ed30ab .lightweight-product-search__input::placeholder{color:rgba(255,255,255,.72);opacity:1}
.qm-hdr .lightweight-product-search__input::-webkit-search-decoration,.qm-hdr .lightweight-product-search__input::-webkit-search-cancel-button,.qm-hdr .lightweight-product-search__input::-webkit-search-results-button,.qm-hdr .lightweight-product-search__input::-webkit-search-results-decoration,
.qm-hdr .lightweight-product-search__overlay-input::-webkit-search-decoration,.qm-hdr .lightweight-product-search__overlay-input::-webkit-search-cancel-button,.qm-hdr .lightweight-product-search__overlay-input::-webkit-search-results-button,.qm-hdr .lightweight-product-search__overlay-input::-webkit-search-results-decoration{display:none;-webkit-appearance:none;appearance:none}
@media (min-width:1025px){
	.qm-hdr-search-toggle{display:none}
	.qm-hdr .lightweight-product-search__overlay{display:none !important}
	.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search .lightweight-product-search__form{border:1px solid rgba(255,255,255,.42) !important;background-color:rgba(255,255,255,.06) !important;border-radius:50px;box-shadow:none !important;transition:border-color .15s ease,background-color .15s ease}
	.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search .lightweight-product-search__form:hover{border-color:rgba(255,255,255,.78) !important}
	.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search .lightweight-product-search__form:focus-within{border-color:#fff !important;background-color:rgba(255,255,255,.12) !important}
	.qm-hdr .elementor-element-0ed30ab .lightweight-product-search__form .lightweight-product-search__submit{min-width:32px;min-height:32px;border-radius:50%;transition:background-color .15s ease}
	.qm-hdr .elementor-element-0ed30ab .lightweight-product-search__form .lightweight-product-search__submit:hover{background-color:rgba(255,255,255,.14)}
}
@media (max-width:1024px){
	/* Bandeau : la loupe seule (le plugin masque deja le champ en mode compact « non pret ») */
	.qm-hdr .lightweight-product-search__form > .lightweight-product-search__submit:not(.lightweight-product-search__submit--compact-only){display:none}
	.qm-hdr .lightweight-product-search .lightweight-product-search__submit--compact-only{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0;padding:0;color:#fff}
	/* Overlay plein ecran : voile (label) + feuille */
	.qm-hdr .lightweight-product-search__overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;width:auto;height:auto;margin:0;padding:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
	.qm-hdr .qm-hdr-search-toggle:checked + .lightweight-product-search .lightweight-product-search__overlay{display:block}
	.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search__overlay .lightweight-product-search__backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;margin:0;padding:0;border:0;background-color:rgba(24,24,26,.62);opacity:1}
	.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search__overlay .lightweight-product-search__panel{position:relative;top:auto;right:auto;left:auto;z-index:1;width:100%;max-width:none;min-width:0;min-height:0;max-height:none;margin:0;overflow:visible;color:#2B2B2E;background-color:#fff;border-radius:0 0 20px 20px;box-shadow:0 18px 44px rgba(0,0,0,.24);
		padding:calc(14px + env(safe-area-inset-top,0px)) calc(18px + env(safe-area-inset-right,0px)) 22px calc(18px + env(safe-area-inset-left,0px)) !important}
	.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search__panel .lightweight-product-search__overlay-form{display:flex !important;flex-direction:column;align-items:stretch;gap:12px;width:100%;max-width:100%;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#2B2B2E}
	/* Ligne 1 : titre (le label du champ, rendu visible) + croix */
	.qm-hdr .qm-srch-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
	.qm-hdr .lightweight-product-search__overlay .qm-srch-title{position:static;width:auto;height:auto;margin:0;padding:0 0 0 4px;overflow:visible;clip:auto;white-space:normal;font-family:"Roboto",sans-serif;font-weight:600;font-size:17px;line-height:1.3;letter-spacing:.01em;color:#2B2B2E;cursor:text}
	.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search__close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:44px;height:44px;margin:0;padding:0;border:1px solid #E4DED2;border-radius:50%;background:#fff;color:#2B2B2E;line-height:0;transition:background-color .15s ease,border-color .15s ease}
	.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search__close:hover,.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search__close:active{background:#FAF5EA;border-color:#2B2B2E}
	.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search__close-icon{display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;color:#2B2B2E}
	.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search__close-icon svg{display:block;width:18px;height:18px;min-width:0;min-height:0;fill:none;stroke:currentColor;color:#2B2B2E}
	/* Ligne 2 : pilule creme = loupe (bouton) + champ */
	.qm-hdr .qm-srch-field{position:relative;display:flex;align-items:center;gap:0;min-height:54px;padding:0 10px 0 2px;border:1px solid #E4DED2;border-radius:50px;background:#FAF5EA;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}
	.qm-hdr .qm-srch-field:focus-within{border-color:#2B2B2E;background:#fff;box-shadow:0 0 0 3px rgba(43,43,46,.08)}
	.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search__overlay-submit{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:48px;height:48px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:#2B2B2E;line-height:0;cursor:pointer;-webkit-appearance:none;appearance:none}
	.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search__overlay-submit:hover,.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search__overlay-submit:focus-visible{color:#DD1B1F;outline:none}
	.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search__overlay-submit .lightweight-product-search__icon,
	.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search__overlay-submit .lightweight-product-search__icon svg{display:block;width:22px;height:22px;min-width:0;min-height:0;font-size:22px;color:inherit;stroke:currentColor;fill:none}
	.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search__overlay-input{flex:1 1 auto;min-width:0;width:100%;height:52px;margin:0;padding:0 8px 0 2px;border:0;border-radius:0;background:transparent;box-shadow:none;outline:none;-webkit-appearance:none;appearance:none;font-family:"Instrument Sans",sans-serif;font-size:16px;line-height:1.3;color:#2B2B2E;caret-color:#2B2B2E}
	.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search__overlay-input:focus,.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search__overlay-input:focus-visible{outline:none;box-shadow:none}
	.qm-hdr.elementor-627 .elementor-element-0ed30ab .lightweight-product-search__overlay-input::placeholder{color:#7C766D;opacity:1}
	/* Page figee sous la feuille (navigateurs avec :has ; sinon la feuille reste utilisable, la page defile derriere) */
	html:has(.qm-hdr .qm-hdr-search-toggle:checked){overflow:hidden}
	/* Le bouton panier flottant (plugin qm-cart, z-index superieur au voile) s'efface tant que la feuille est ouverte */
	body:has(.qm-hdr .qm-hdr-search-toggle:checked) .qm-cart-float{opacity:0;pointer-events:none}
}

/* ---- 4. Panier maison [qm_cart_menu] a la place du widget menu-cart (widget-woocommerce-menu-cart.min.css non charge) ----
   Icone blanche sur le bandeau noir ; le compteur rouge et le tiroir sont styles par le plugin qm-cart. */
.qm-hdr .cart-menu{color:#fff}
.qm-hdr .cart-menu .qm-cart-menu{display:inline-flex;align-items:center;color:#fff;line-height:0;padding:0}
.qm-hdr .cart-menu .qm-cart-menu svg{width:22px;height:22px;stroke:currentColor}
/* Bouton panier flottant (plugin qm-cart, pose a gauche par defaut) : a droite (30/08). */
.qm-native .qm-cart-float{left:auto;right:24px}
@media (max-width:767px){.qm-native .qm-cart-float{right:16px}}

/* Logo du kit de marque (genere par tout-auto : trait taupe sur fond transparent, gros blanc tournant).
   Sur le bandeau noir on le passe en blanc par filtre et on recadre la hauteur utile (le motif occupe ~20 % de la hauteur du fichier). */
   Le lien est rendu en bloc pleine largeur pour que le pourcentage de l'image se calcule sur le widget (sinon largeur cyclique). */
.qm-hdr .elementor-element.elementor-element-c52526f .qm-hdr-brand{display:flex;width:100%;justify-content:center}
.qm-hdr .elementor-element.elementor-element-c52526f .qm-hdr-brand img{width:70%;max-width:none;aspect-ratio:1366/230;object-fit:cover;object-position:center;filter:brightness(0) invert(1)}
/* Mobile : la colonne du logo ne fait que ~100 px, le motif serait illisible ; on laisse l'image deborder de sa colonne (centree, 170 px) sans toucher au bandeau ; 140 px = jusqu'a 5 px de la loupe. */
@media (max-width:767px){.qm-hdr .elementor-element.elementor-element-c52526f .qm-hdr-brand img{width:140px}}
/* Mobile (30/08) : loupe a gauche a cote du burger, logo vraiment centre, panier a droite.
   Le conteneur recherche+panier (a92795d) passe en display:contents pour que ses deux widgets deviennent des enfants directs de la rangee. */
@media (max-width:767px){
	.qm-hdr .elementor-element.elementor-element-7a19fa4{position:relative;display:flex;flex-wrap:nowrap;align-items:center}
	/* 30/08 : 14 px de marge laterale (burger et panier ne touchent plus les bords) ; gap 0 = loupe a 14 px du burger (les widgets ont deja leur air interne). */
	.qm-hdr.elementor-627 .elementor-element.elementor-element-7a19fa4{padding-left:14px;padding-right:14px;gap:0}
	.qm-hdr .elementor-element.elementor-element-a92795d{display:contents}
	.qm-hdr .elementor-element.elementor-element-2f51c92{order:1;width:auto;flex:0 0 auto}
	.qm-hdr .elementor-element.elementor-element-0ed30ab{order:2;width:auto;flex:0 0 auto;margin-left:0}
	.qm-hdr .elementor-element.elementor-element-16b955d{order:4;width:auto;flex:0 0 auto;margin-left:auto}
	.qm-hdr .elementor-element.elementor-element-5a8d0c5{order:3;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:auto;margin:0;pointer-events:none}
	.qm-hdr .elementor-element.elementor-element-5a8d0c5 .qm-hdr-brand{pointer-events:auto}
	.qm-hdr .elementor-element.elementor-element-c52526f .qm-hdr-brand img{width:150px}
	/* Champ de recherche de l'overlay : une vraie boite visible, assez haute pour le doigt. */
	.qm-hdr .lightweight-product-search__overlay-form{border:1px solid #dcd6ca;border-radius:0;background:#fff;padding:2px 6px}
	.qm-hdr .lightweight-product-search__overlay-input{min-height:44px;font-size:16px;color:#2B2B2E}
	.qm-hdr .lightweight-product-search__overlay-input::placeholder{color:#8a8a8a}
}
/* Hero de l'accueil centre a la demande (30/08) : surtitre, H1 et bouton au centre de la colonne, colonne centree. */
.qm-native .elementor-element-71dc978 .elementor-element-26ed912{align-items:center;text-align:center;margin-left:auto;margin-right:auto}
.qm-native .elementor-element-71dc978 .elementor-element-26ed912 .e-heading-base,
.qm-native .elementor-element-71dc978 .elementor-element-26ed912 .elementor-heading-title{text-align:center}
.qm-native .elementor-element-71dc978 .elementor-element-8fad518{text-align:center;align-self:center}
.qm-native .elementor-element-71dc978 .elementor-element-b63026c{justify-content:center;align-items:center}
/* Logos de paiement en SVG inline (footer, tiroir panier, sous le bouton d'achat) : meme boite que les anciennes images 38x24. */
.elementor-widget-image svg.payment-icon,.payment-icon-wrapper svg.payment-icon{display:block;width:38px;height:24px}
.elementor-widget-image svg.payment-icon{margin:0 auto}
/* Wordmark texte (a defaut de logo image) : meme gabarit que le logo SVG d'origine (~40 % du conteneur, centre, blanc). */
.qm-hdr-brand{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.qm-wordmark{font-family:var(--qm-f-secondary,"Roboto Slab",serif);font-weight:400;font-size:26px;line-height:1.1;letter-spacing:.02em;color:#fff;white-space:nowrap}
@media (max-width:767px){.qm-wordmark{font-size:20px}}

/* ---- 2 bis. Menu groupe (31/08) : barre compacte, survol blanc, panneau pleine largeur avec image.
   Le marqueur .qm-hdr-mega-build delimite le bloc ajoute aux feuilles compilees. ---- */

.qm-hdr-mega-build{--qm-mega:2}
@media (min-width:1025px){
	.qm-hdr .header-background{align-items:center}
	/* la colonne de droite porte z-index:999 : etiree, elle recouvrait le logo centre et
	   avalait le clic vers l'accueil. Elle reprend la largeur de son contenu, et le logo
	   passe au-dessus par securite. */
	.qm-hdr .elementor-element-5a8d0c5{
		position:absolute;left:50%;transform:translateX(-50%);width:auto;max-width:none;z-index:1000}
	.qm-hdr .elementor-element.elementor-element-c52526f{width:auto;max-width:none}
	.qm-hdr .elementor-element-5a8d0c5 .qm-hdr-brand{display:inline-flex;align-items:center;width:auto}
	.qm-hdr .elementor-element.elementor-element-c52526f .qm-hdr-brand img{
		width:210px;max-width:210px;height:auto}
	.qm-hdr .elementor-element-2f51c92{flex:0 1 auto;width:auto;max-width:none}
	.qm-hdr .elementor-element-a92795d{flex:0 0 auto;width:auto;max-width:none;margin-left:auto}

	.qm-hdr .elementor-element-2f51c92,
	.qm-hdr .elementor-element-89d9552{position:static}
	.qm-hdr .elementor-element-2f51c92,
	.qm-hdr .elementor-element-89d9552,
	.qm-hdr .elementor-nav-menu--main{overflow:visible}
	.qm-hdr .elementor-nav-menu--main > ul.elementor-nav-menu{
		position:static;flex-wrap:nowrap;gap:2px;align-items:center}
	.qm-hdr .elementor-nav-menu--main > ul.elementor-nav-menu > li{position:static;display:flex}
	.qm-hdr .elementor-nav-menu--main > ul.elementor-nav-menu > li > .elementor-item{
		display:inline-flex;align-items:center;gap:6px;flex-grow:0;background:none;
		padding:6px 12px;border-radius:0;white-space:nowrap;line-height:20px;
		text-decoration:none;text-underline-offset:7px}
	/* le kit colorait le survol et l'entree courante en vert via un selecteur de
	   specificite 0,6,0 : on reprend son propre prefixe pour rester en blanc */
	.qm-hdr .elementor-element.elementor-element-89d9552 .elementor-nav-menu--main .elementor-item,
	.qm-hdr .elementor-element.elementor-element-89d9552 .elementor-nav-menu--main .elementor-item:hover,
	.qm-hdr .elementor-element.elementor-element-89d9552 .elementor-nav-menu--main .elementor-item:focus,
	.qm-hdr .elementor-element.elementor-element-89d9552 .elementor-nav-menu--main .elementor-item.highlighted,
	.qm-hdr .elementor-element.elementor-element-89d9552 .elementor-nav-menu--main .elementor-item.elementor-item-active,
	.qm-hdr .elementor-element.elementor-element-89d9552 .elementor-nav-menu--main li:hover > .elementor-item,
	.qm-hdr .elementor-element.elementor-element-89d9552 .elementor-nav-menu--main li:focus-within > .elementor-item{
		color:#FFFFFF;fill:#FFFFFF;background:none;background-color:transparent}
	.qm-hdr .elementor-element.elementor-element-89d9552 .elementor-nav-menu--main li:hover > .elementor-item,
	.qm-hdr .elementor-element.elementor-element-89d9552 .elementor-nav-menu--main li:focus-within > .elementor-item,
	.qm-hdr .elementor-element.elementor-element-89d9552 .elementor-nav-menu--main .elementor-item.elementor-item-active{
		text-decoration:underline;text-decoration-color:#FFFFFF}
	.qm-hdr .qm-hdr-chev{flex:0 0 auto;transition:transform .15s ease}
	.qm-hdr .elementor-nav-menu--main > ul.elementor-nav-menu > li:hover > .elementor-item .qm-hdr-chev,
	.qm-hdr .elementor-nav-menu--main > ul.elementor-nav-menu > li:focus-within > .elementor-item .qm-hdr-chev{transform:rotate(180deg)}

	/* Pont invisible : l'entree se termine 20 px au-dessus du bas du bandeau, et la souris
	   qui descendait vers le panneau traversait ce vide sans rien survoler, ce qui refermait
	   le menu. Le pseudo appartient au panneau, donc au <li> : le survol est conserve.
	   Il n'occupe que la bande situee SOUS les liens, l'aller-retour horizontal entre
	   entrees reste donc possible. */
	.qm-hdr .elementor-nav-menu--main .qm-hdr-mega::before{
		content:"";position:absolute;left:0;right:0;top:-20px;height:20px;background:none}
	.qm-hdr .elementor-nav-menu--main .qm-hdr-mega{
		position:absolute;left:0;right:0;top:100%;z-index:9998;display:none;
		padding:26px 32px 30px;background-color:#1A1A1A;
		border-top:1px solid rgba(255,255,255,.14);border-radius:0 0 12px 12px;
		box-shadow:0 18px 40px rgba(0,0,0,.35)}
	.qm-hdr .elementor-nav-menu--main > ul.elementor-nav-menu > li:hover > .qm-hdr-mega,
	.qm-hdr .elementor-nav-menu--main > ul.elementor-nav-menu > li:focus-within > .qm-hdr-mega{
		display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start}
	.qm-hdr .elementor-nav-menu--main .qm-hdr-mega:not(:has(.qm-hdr-mega__img)){grid-template-columns:minmax(0,1fr)}
	.qm-hdr .elementor-nav-menu--main .qm-hdr-mega > ul.qm-hdr-mega__list{
		display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
		gap:0 28px;position:static;width:auto;max-width:none;margin:0;padding:0;border:0;
		background:none;box-shadow:none}
	.qm-hdr .elementor-nav-menu--main .qm-hdr-mega > ul.qm-hdr-mega__list > li{display:block;width:auto}
	.qm-hdr .elementor-nav-menu--main .qm-hdr-mega .elementor-sub-item{
		display:block;padding:7px 0;font-size:14px;font-weight:400;line-height:1.35;
		color:#F0EAEA;fill:#F0EAEA;white-space:normal;background:none}
	.qm-hdr .elementor-nav-menu--main .qm-hdr-mega .elementor-sub-item:hover,
	.qm-hdr .elementor-nav-menu--main .qm-hdr-mega .elementor-sub-item:focus,
	.qm-hdr .elementor-nav-menu--main .qm-hdr-mega .elementor-sub-item.elementor-sub-item-active{
		color:#FFFFFF;fill:#FFFFFF;background:none;text-decoration:underline;text-underline-offset:3px}
	.qm-hdr .qm-hdr-mega__img{margin:0;border-radius:10px;overflow:hidden;line-height:0}
	.qm-hdr .qm-hdr-mega__img img{width:100%;height:200px;object-fit:cover;display:block}
}
/* ---- Comportement de l'entete, calque sur la reference ----
   Accueil : barre FLOTTANTE, encartee sur les cotes, coins arrondis, espace au-dessus,
   posee par-dessus le visuel. Autres pages : barre PLEINE LARGEUR, coins carres, collee
   en haut, le contenu commence dessous. Au defilement de l'accueil, la barre vient se
   coller comme sur les autres pages. On reutilise les animations pilotees par le
   defilement deja employees ici pour l'etat « scrolled » : aucun JavaScript. */
/* l'encart est porte par la marge interieure du conteneur, pas par une marge sur la
   barre : celle-ci garde une largeur imposee et debordait de 30 px a droite */
.qm-native.home .qm-hdr .custom-sticky-header > .e-con-inner{padding:20px 30px 0}
.qm-native.home .qm-hdr .header-background{margin:0;border-radius:12px}
.qm-native:not(.home) .qm-hdr .custom-sticky-header > .e-con-inner{padding:0}
.qm-native:not(.home) .qm-hdr .header-background{margin:0;border-radius:0}
.qm-native:not(.home){--qm-hdr-h:72px}
@media (max-width:767px){
	.qm-native.home .qm-hdr .custom-sticky-header > .e-con-inner{padding:12px 12px 0}
	.qm-native.home .qm-hdr .header-background{border-radius:10px}
}
@supports (animation-timeline: scroll()){
	.qm-native.home .qm-hdr .custom-sticky-header > .e-con-inner{
		animation:qm-hdr-dock-pad linear both;animation-timeline:scroll(root);animation-range:0px 140px}
	@keyframes qm-hdr-dock-pad{from{padding:20px 30px 0}to{padding:0}}
	.qm-native.home .qm-hdr .header-background{
		animation:qm-hdr-dock linear both;animation-timeline:scroll(root);animation-range:0px 140px}
	@keyframes qm-hdr-dock{from{border-radius:12px}to{border-radius:0}}
}

/* pagination des archives : les liens etaient rendus avec le style par defaut du
   navigateur (petits cadres gris, page courante en lilas) */
.qm-native .esf-pagination ul.page-numbers{
	display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;
	list-style:none;margin:30px 0 0;padding:0;border:0}
.qm-native .esf-pagination ul.page-numbers li{margin:0;padding:0;border:0;background:none}
.qm-native .esf-pagination ul.page-numbers li .page-numbers{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:42px;height:42px;padding:0 13px;box-sizing:border-box;
	border:1px solid #DCDAD4;border-radius:9px;background-color:#FFFFFF;
	color:#1A1A1A;font-size:14px;font-weight:600;line-height:1;text-decoration:none;
	transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.qm-native .esf-pagination ul.page-numbers li a.page-numbers:hover,
.qm-native .esf-pagination ul.page-numbers li a.page-numbers:focus{
	background-color:#F4F2EE;border-color:#1A1A1A;color:#1A1A1A}
.qm-native .esf-pagination ul.page-numbers li .page-numbers.current{
	background-color:#1A1A1A;border-color:#1A1A1A;color:#FFFFFF}
.qm-native .esf-pagination ul.page-numbers li .page-numbers.dots{
	border-color:transparent;background:none;min-width:24px;padding:0}
@media (max-width:767px){
	.qm-native .esf-pagination ul.page-numbers li .page-numbers{min-width:38px;height:38px;padding:0 10px;font-size:13px}
}

@media (max-width:1024px){
	.qm-hdr .qm-hdr-chev{display:none}
	.qm-hdr .qm-hdr-mega__img{display:none}
	.qm-hdr .elementor-nav-menu--main .qm-hdr-mega{
		display:block;position:static;padding:0 0 6px 16px;background:none;border:0;box-shadow:none}
	.qm-hdr .elementor-nav-menu--main .qm-hdr-mega > ul.qm-hdr-mega__list{
		display:block;position:static;width:auto;border:0;background:none;box-shadow:none}
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .qm-hdr-mega .elementor-sub-item{
		display:block;padding:8px 20px;color:#33373d;fill:#33373d;font-size:14px}
}

/* ---- QM HDR FULLWIDTH : debut du bloc ajoute aux feuilles compilees (rejouable, reecrit a l'identique).
   Marqueur : .qm-hdr-fullwidth-build
   Defaut 1 : hors accueil l'entete restait plafonnee a --content-width (min(100%,1440px)) par la regle
   Elementor « .e-con > .e-con-inner{margin:0 auto;max-width:var(--content-width)} », d'ou des bandes
   blanches de 240px de part et d'autre au-dela de 1440px de large.
   Defaut 2 : lever ce plafond poussait AUSSI le contenu (menu, logo, panier) jusqu'aux bords, alors que
   l'accueil le garde rentre. Mesure sur la reference maison-damas : barre pleine largeur mais contenu
   rentre et IDENTIQUE d'une page a l'autre (240-260px en 1920, 50-70px en 1440).
   Formule : sur l'accueil le contenu commence a l'encart de .e-con-inner, soit max(0,(100%-1440px)/2)+30px,
   plus le padding horizontal de la barre (20px au-dela de 767px, 14px en dessous). Cela se reduit a
   max(50px, 50% - 670px) en desktop et a 44px fixe en mobile (le plancher de 30px y est toujours atteint).
   Meme valeur hors accueil ⇒ colonnes alignees AU PIXEL entre accueil et pages interieures, toutes largeurs.
   Le panneau du mega-menu est en position:absolute et son bloc conteneur est la PADDING BOX de
   .header-background, qui vaut ici toute la largeur : on lui redonne donc explicitement l'encart de
   l'accueil pour qu'il garde la meme largeur qu'en page d'accueil. ---- */
.qm-hdr-fullwidth-build{--qm-hdr-fullwidth:3}
.qm-native:not(.home) .qm-hdr .custom-sticky-header > .e-con-inner{
	width:100%;max-width:none;margin-inline:0;padding:0}
.qm-native:not(.home) .qm-hdr .header-background{
	width:100%;max-width:none;margin:0;border-radius:0;
	padding-inline:max(50px, calc(50% - 670px))}
@media (max-width:767px){
	.qm-native:not(.home) .qm-hdr .header-background{padding-inline:44px}
}
.qm-native:not(.home) .qm-hdr .qm-hdr-mega{
	left:max(30px, calc(50% - 690px));right:max(30px, calc(50% - 690px))}
/* ---- QM HDR FULLWIDTH : fin du bloc. ---- */

/* ---- QM HDR LOGO RATIO : debut du bloc ajoute aux feuilles compilees (rejouable, reecrit a l'identique).
   Marqueur : .qm-hdr-logoratio-build
   Le kit figeait « aspect-ratio:1366/230;object-fit:cover » sur le logo, un recadrage taille pour
   l'ANCIEN fichier qui portait environ 80% de vide vertical. Le logo produit par le kit de marque est
   deja detoure serre (871x195, ratio 4,47) : le ratio fige lui mangeait 25% de la hauteur, soit les
   pieds de la baignoire et le haut du robinet (mesure au navigateur).
   On rend donc la regle INDEPENDANTE du ratio, pour qu'elle reste juste apres toute regeneration du
   logo : plus d'aspect-ratio impose, plus de recadrage, hauteur calculee sur la largeur. ---- */
.qm-hdr-logoratio-build{--qm-hdr-logoratio:1}
.qm-hdr .elementor-element.elementor-element-c52526f .qm-hdr-brand img{
	aspect-ratio:auto;object-fit:contain;height:auto}
/* ---- QM HDR LOGO RATIO : fin du bloc. ---- */
/* ==== QM MENU MOBILE : debut ==== */
/* Marqueur : .qm-menu-mobile-build   (bloc rejouable, reecrit a l'identique)
   Mesures au navigateur, accueil, 390x844, panneau du burger ouvert par un vrai clic :
   1) widget-nav-menu.min.css impose « .elementor-nav-menu--layout-horizontal .elementor-nav-menu>li
      {display:flex} ». Dans le panneau, le libelle du groupe et son sous-menu devenaient donc deux
      COLONNES cote a cote : <a>Farben</a> mesurait 139x402 px, son texte centre verticalement dans
      le vide, et les 11 sous-liens tenaient dans les 191 px restants. Chaque groupe recevait une
      indentation differente (sous-liens a 185, 177, 145, 132 puis 153 px du bord) : plus aucun
      alignement ni hierarchie.
   2) Panneau large de 330 px sur 390 : la page apparaissait de part et d'autre, et les liens
      sortis du fond blanc se lisaient a meme la page.
   3) Panneau haut de 844 px (max-height:100vh) pose a y=84 : il finissait 84 px SOUS le bas de
      l'ecran. Contenu 1006 px, panneau 844 : le defilement interne ne couvrait que 162 px, donc
      les 84 derniers pixels de la liste (l'entree « Kontakt ») etaient INATTEIGNABLES.
   4) Cibles tactiles : 36 px pour les 26 sous-liens, 40 px pour « Kontakt », 33x33 px pour la
      croix de fermeture. Toutes sous le minimum de 44 px.
   5) Aucun filet entre les groupes ; libelle de groupe en 13 px sous des enfants en 14 px, soit une
      hierarchie inversee ; white-space:nowrap sur tous les liens (meme widget), donc aucun retour
      a la ligne possible ; html{overflow:hidden auto}, donc la page defilait derriere le panneau
      ouvert (600 px a la roulette, mesures).
   Correctif : liste verticale a deux niveaux, entete de groupe en creme, sous-liens indentes,
   filets entre les lignes, lignes de 48 px, panneau pleine largeur qui s'arrete au bas de l'ecran
   avec defilement interne, page bloquee derriere.
   Couleurs : uniquement celles du kit de marque (--qm-c-ink #2B2B2E, --qm-c-accent #DD1B1F,
   --qm-c-cream-light #FAF5EA, --qm-c-sand #EEEAE3).
   Le bureau (>= 1025px) n'est pas touche : tout est enferme dans @media (max-width:1024px). ==== */
.qm-menu-mobile-build{--qm-menu-mobile:1}

@media (max-width:1024px){

	/* ---- 1. Le panneau ---- */
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main{
		left:50%;right:auto;width:100vw;margin-left:-50vw;margin-top:0;
		height:auto;
		/* Le panneau est ancre sous la barre (top:100%) : sa hauteur utile vaut l'ecran moins la
		   hauteur de barre. On n'utilise PAS --qm-hdr-h, qui ment hors accueil (il annonce 72 px
		   quand la barre mobile en mesure 54) : le « 100% » d'un max-height se resout sur la boite
		   de rembourrage du bloc conteneur, c'est-a-dire sur la barre elle-meme, donc la valeur
		   suit toujours la hauteur reelle. L'accueil pose en plus sa barre flottante 8 a 20 px
		   sous le haut de l'ecran : le panneau deborde d'autant, et la marge interieure basse
		   absorbe ce debord pour que la derniere ligne reste entiere en fin de defilement. */
		max-height:calc(100vh - 100%);
		max-height:calc(100dvh - 100%);
		padding:0 0 calc(28px + env(safe-area-inset-bottom,0px));
		overflow-x:hidden;overflow-y:auto;
		overscroll-behavior:contain;
		-webkit-overflow-scrolling:touch;
		background-color:#FFFFFF;
		border-top:1px solid #EEEAE3;
		box-shadow:0 16px 40px rgba(43,43,46,.30);
		font-size:15px}
	/* barre d'administration WordPress : elle pousse le document de 46 px vers le bas */
	.admin-bar .qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main{
		max-height:calc(100vh - 100% - 46px);
		max-height:calc(100dvh - 100% - 46px)}

	/* ---- 2. La liste : verticale, plus de colonnes ---- */
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main > ul.elementor-nav-menu{
		display:block;width:100%;margin:0;padding:0;list-style:none}
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main > ul.elementor-nav-menu > li{
		display:block;width:100%;margin:0;padding:0;position:relative}
	/* separateur decoratif du widget (li:not(:last-child):after) : inutile en colonne */
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main > ul.elementor-nav-menu > li::after{
		display:none}

	/* ---- 3. Niveau 1 ---- */
	/* base commune a toutes les entrees de premier niveau */
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .elementor-nav-menu > li > .elementor-item{
		display:flex;align-items:center;box-sizing:border-box;
		width:100%;min-height:48px;padding:13px 20px;
		/* filet de 2 px : il marque le retour au premier niveau, la ou les categories filles
		   n'en portent qu'un de 1 px */
		border-top:2px solid #EEEAE3;
		background:none;
		color:#2B2B2E;fill:#2B2B2E;
		font-size:15px;font-weight:500;line-height:1.35;letter-spacing:0;
		text-transform:none;text-decoration:none;white-space:normal}
	/* une entree QUI PORTE des categories est un intertitre : creme, capitales, petit corps ;
	   l'oeil separe ainsi les deux niveaux sans avoir a lire */
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .elementor-nav-menu > li.menu-item-has-children > .elementor-item{
		background-color:#FAF5EA;
		font-size:12px;font-weight:700;line-height:1.3;letter-spacing:.09em;
		text-transform:uppercase}
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .elementor-nav-menu > li:first-child > .elementor-item{
		border-top:0}
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .elementor-nav-menu > li > .elementor-item:hover,
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .elementor-nav-menu > li > .elementor-item:focus{
		background-color:#EEEAE3;color:#2B2B2E;fill:#2B2B2E}
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .elementor-nav-menu > li > .elementor-item.elementor-item-active{
		color:#DD1B1F;fill:#DD1B1F;
		box-shadow:inset 4px 0 0 0 #DD1B1F}
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .elementor-nav-menu > li.menu-item-has-children > .elementor-item.elementor-item-active{
		background-color:#FAF5EA}

	/* ---- 4. Niveau 2 : les categories du groupe ---- */
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .qm-hdr-mega{
		display:block;position:static;width:100%;margin:0;padding:0;
		background:none;border:0;box-shadow:none}
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .qm-hdr-mega > ul.qm-hdr-mega__list{
		display:block;position:static;width:100%;max-width:none;margin:0;padding:0;
		list-style:none;border:0;background:none;box-shadow:none}
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .qm-hdr-mega > ul.qm-hdr-mega__list > li{
		display:block;width:100%;margin:0;padding:0}
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .qm-hdr-mega > ul.qm-hdr-mega__list > li::after{
		display:none}
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .qm-hdr-mega .elementor-sub-item{
		display:flex;align-items:center;box-sizing:border-box;
		width:100%;min-height:48px;padding:13px 20px 13px 34px;
		border-top:1px solid #EEEAE3;
		background:none;
		color:#2B2B2E;fill:#2B2B2E;
		font-size:15px;font-weight:400;line-height:1.35;letter-spacing:0;
		text-transform:none;text-decoration:none;white-space:normal}
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .qm-hdr-mega .elementor-sub-item:hover,
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .qm-hdr-mega .elementor-sub-item:focus{
		background-color:#FAF5EA;color:#2B2B2E;fill:#2B2B2E}
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .qm-hdr-mega .elementor-sub-item.elementor-sub-item-active{
		color:#DD1B1F;fill:#DD1B1F;font-weight:600;
		box-shadow:inset 4px 0 0 0 #DD1B1F}
	/* le visuel du panneau de bureau reste hors du panneau mobile */
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .qm-hdr-mega__img{display:none}
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main .qm-hdr-chev{display:none}

	/* ---- 5. Clavier : anneau de focus visible, jamais rogne par le defilement ----
	   La regle d'accessibilite du site pose « outline:2px solid #000 ; outline-offset:2px » sur
	   tout a:focus-visible. Les lignes du menu occupent TOUTE la largeur du panneau, qui est en
	   overflow:auto : un anneau pose 2 px A L'EXTERIEUR y est rogne a gauche et a droite. On le
	   rentre a l'interieur (offset negatif) et on le passe au rouge de la marque. */
	.qm-hdr .qm-hdr-nav-toggle:checked ~ .elementor-nav-menu--main a:focus-visible{
		outline:2px solid #DD1B1F;outline-offset:-2px}

	/* ---- 6. La croix de fermeture : 44x44 px ---- */
	.qm-hdr .elementor-element-89d9552 .elementor-menu-toggle{
		width:44px;height:44px;min-width:44px;min-height:44px;padding:0;
		border-radius:8px}
	.qm-hdr .qm-hdr-nav-toggle:focus-visible ~ .elementor-menu-toggle{
		outline:2px solid #FFFFFF;outline-offset:2px}

	/* ---- 7. La page ne defile plus derriere le panneau ouvert ---- */
	html:has(.qm-hdr .qm-hdr-nav-toggle:checked){overflow:hidden}
	/* le bouton panier flottant (position:fixed, hors de l'entete) se posait par-dessus les
	   deux dernieres lignes du menu (mesure au navigateur, capture a l'appui).
	   Il revient des que le panneau se referme. */
	body:has(.qm-hdr .qm-hdr-nav-toggle:checked) .qm-cart-float{display:none}
}
/* ==== QM MENU MOBILE : fin ==== */

/* Titre de page : un mot compose allemand (« Badezimmerteppich », 362 px a 40 px) ne se coupe pas
   et sortait de l'ecran sous 402 px de large. Cesure automatique (la page est en lang="de-DE")
   plus un filet qui coupe n'importe ou si le dictionnaire de cesure manque. La taille ne change
   pas : le titre passe sur deux lignes au lieu de deborder. */
h1.elementor-heading-title,
.elementor-page-title h1,
h1.entry-title {
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: auto;
}

/* ==== QM FIX 24/09/2026 : debut ==== */
/* 1. Visionneuse produit : les boutons prev/next etaient en display:block, le chevron (::before) restait en haut a gauche du carre 44 px. */
.qm-lb button.esf-sp-lightbox__prev,.qm-lb button.esf-sp-lightbox__next{display:inline-flex;align-items:center;justify-content:center}
.qm-lb button.esf-sp-lightbox__prev::before{transform:translateX(3px) rotate(-135deg)}
.qm-lb button.esf-sp-lightbox__next::before{transform:translateX(-3px) rotate(45deg)}
/* 2. En-tete mobile : le logo (absolu, centre) chevauchait la loupe ; il est desormais centre dans l'espace libre entre la loupe et le panier. Le panier est centre verticalement sur la ligne. */
@media (max-width:767px){
.qm-hdr .elementor-element.elementor-element-5a8d0c5{position:static;order:3;flex:1 1 auto;min-width:0;display:flex;justify-content:center;align-items:center;transform:none;left:auto;top:auto;margin:0 8px;pointer-events:auto}
.qm-hdr .elementor-element.elementor-element-c52526f{width:100%;max-width:140px}
.qm-hdr .elementor-element.elementor-element-c52526f .qm-hdr-brand img{width:100%;max-width:140px}
.qm-hdr .elementor-element.elementor-element-16b955d{margin-left:0}
}
.qm-hdr .elementor-element.elementor-element-16b955d{display:flex;align-items:center;line-height:0}
/* 3. Titres de fiche passes en <p>/<span> (SEO) : typographie strictement identique a celle des anciens h2/h3. */
.elementor-876 .elementor-element.elementor-element-17680233 p.elementor-heading-title,.elementor-876 .elementor-element.elementor-element-5ac962e0 p.elementor-heading-title{font-size:16px;line-height:26px;font-weight:500;margin:0}
.elementor-876 .elementor-element.elementor-element-486ce4ab p.elementor-heading-title,.elementor-876 .e-n-tabs-content .elementor-widget-heading p.elementor-heading-title{font-size:32px;line-height:42px;font-weight:400;margin:0}
.elementor-876 .elementor-widget-n-accordion span.e-n-accordion-item-title-text{display:block;margin:0;font-family:inherit;font-weight:inherit;line-height:inherit;color:inherit}
p.qm-rel__t{margin-top:0}
/* 4. Prix en promo : ancien prix discret barre, nouveau prix en rouge de la charte (#DD1B1F), pastille de remise. Fiche, cartes, panier. */
.qm-native .esf-single-product__price del,.qm-native .woocommerce-variation-price del,.qm-native .price del{text-decoration:line-through;color:rgba(43,43,46,.5);font-weight:400;font-size:.72em;margin-right:.4em}
.qm-native .esf-single-product__price ins,.qm-native .woocommerce-variation-price ins,.qm-native .price ins{text-decoration:none;color:#DD1B1F;font-weight:600;background:transparent}
.qm-native .qm-price__badge{display:inline-block;vertical-align:middle;position:relative;top:-.12em;margin-left:.5em;padding:.18em .62em;border-radius:999px;background:#DD1B1F;color:#FFF9EA;font-family:"Roboto",sans-serif;font-size:.55em;font-weight:600;line-height:1.5;letter-spacing:.03em;white-space:nowrap}
.qm-native .qm-pcard__price del{font-size:.88em}
.qm-native .qm-pcard__price .qm-price__badge{font-size:.78em;padding:.1em .5em}
/* ==== QM FIX 24/09/2026 : fin ==== */
