/* ============ LIFE — page d'accueil (étape 2) ============ */
.life-home{--maxw:1240px}
.life-home .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.life-home .eyebrow{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-mute);font-weight:700}
.life-home .num{font-variant-numeric:tabular-nums}
.life-home section{padding:76px 0;scroll-margin-top:120px}

/* Hero */
.lh-hero{border-bottom:1px solid var(--line)}
.lh-hero-in{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;min-height:520px;padding:56px 0}
.lh-hero h1{font-size:clamp(38px,5.4vw,66px);letter-spacing:-.04em;font-weight:800;line-height:1.02}
.lh-hero .sub{max-width:46ch;margin-top:22px;font-size:16.5px;line-height:1.55;color:var(--fg-dim)}
.lh-hero .sub b{color:var(--fg);font-weight:600}
.lh-hero .buy{display:flex;align-items:center;gap:16px;margin-top:26px;flex-wrap:wrap}
.lh-hero .buy .price{font-size:15px;color:var(--fg-mute)}.lh-hero .buy .price b{font-size:23px;color:var(--fg);font-weight:800;margin-left:5px}
.lh-hero .buy .pay{color:var(--acc);font-size:13px;font-weight:700}
.lh-cta{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.lh-btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;padding:13px 22px;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:.2s}
.lh-btn.pri{background:var(--acc);color:var(--acc-ink)}.lh-btn.pri:hover{background:var(--acc-hover)}
.lh-btn.gho{border-color:var(--line-2);color:var(--fg)}.lh-btn.gho:hover{border-color:var(--fg)}
.lh-media{position:relative;display:grid;place-items:center;height:100%}
.lh-media img{width:min(84%,420px);filter:drop-shadow(0 30px 34px rgba(0,0,0,.55))}
.lh-media .plinth{position:absolute;bottom:12%;width:58%;height:20px;border-radius:50%;background:rgba(0,0,0,.5);filter:blur(10px)}
@media(max-width:860px){.lh-hero-in{grid-template-columns:1fr;min-height:0}.lh-media{height:340px}}

/* USP */
.lh-usp{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.lh-usp .u{padding:22px 24px;border-left:1px solid var(--line)}
.lh-usp .u:first-child{border-left:0}
.lh-usp .u b{font-size:14px}.lh-usp .u p{font-size:12.5px;color:var(--fg-dim);margin-top:3px}
@media(max-width:820px){.lh-usp{grid-template-columns:repeat(2,1fr)}.lh-usp .u:nth-child(3){border-left:0}}

/* Section head */
.lh-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:34px;flex-wrap:wrap}
.lh-head h2{font-size:clamp(26px,3.4vw,40px);letter-spacing:-.03em;margin-top:10px}
.lh-head .lnk{font-size:14px;color:var(--fg-dim)}.lh-head .lnk:hover{color:var(--acc)}

/* Product grid */
.lh-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:900px){.lh-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.lh-grid{grid-template-columns:1fr}}
.lh-pc{border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden;display:flex;flex-direction:column}
.lh-pc .ph{position:relative;height:210px;display:grid;place-items:center;background:var(--panel-2);border-bottom:1px solid var(--line);padding:10px}
.lh-pc .ph picture{display:contents}
.lh-pc .ph img{height:auto;width:auto;max-height:190px;max-width:96%;object-fit:contain;transition:transform .3s}.lh-pc:hover .ph img{transform:scale(1.05)}
.lh-pc .nm:hover{color:var(--acc)}
.lh-pc .buy2 .pr{display:flex;align-items:baseline;flex-wrap:wrap}
.lh-pc .tag{position:absolute;top:12px;left:12px;background:var(--acc);color:var(--acc-ink);font-size:11px;font-weight:800;border-radius:5px;padding:3px 8px}
.lh-pc .bd{padding:18px;display:flex;flex-direction:column;flex:1}
.lh-pc .cfg{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-mute);font-weight:700}
.lh-pc .nm{margin-top:8px;font-size:16.5px;font-weight:700}
.lh-pc .kv{display:flex;gap:16px;margin-top:12px;color:var(--fg-dim);font-size:12.5px}.lh-pc .kv b{color:var(--fg)}
/* specs dynamiques sur la vignette (module lifespecs) */
.lh-pc .lh-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.lh-pc .lh-spec{display:flex;flex-direction:column;gap:3px;min-width:0}
.lh-pc .lh-spec .k{font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--fg-mute);font-weight:700}
.lh-pc .lh-spec .v{font-size:13px;color:var(--fg);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lh-pc .lh-spec.na .v{color:var(--fg-mute);font-weight:500}
/* pastilles couleur (variantes natives) */
.lh-pc .lh-swat{display:flex;gap:7px;margin-top:14px;flex-wrap:wrap}
.lh-pc .lh-swat .s{width:16px;height:16px;border-radius:50%;border:1px solid rgba(255,255,255,.28);display:block;transition:transform .15s,box-shadow .15s}
.lh-pc .lh-swat .s:hover{transform:scale(1.18);box-shadow:0 0 0 2px var(--panel),0 0 0 3px var(--acc)}
.lh-pc .buy2{margin-top:auto;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.lh-pc .now{font-size:19px;font-weight:800}.lh-pc .was{font-size:12.5px;color:var(--fg-mute);text-decoration:line-through;margin-left:6px}

/* Ecosystem */
.lh-eco{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:820px){.lh-eco{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.lh-eco{grid-template-columns:1fr}}
.lh-eco a{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:24px;display:flex;flex-direction:column;transition:.2s}
.lh-eco a:hover{border-color:var(--line-2);background:var(--panel-2)}
.lh-eco a.feat{border-color:rgba(0,230,118,.3)}
.lh-eco h3{font-size:18px}.lh-eco .meta{margin-top:8px;color:var(--fg-dim);font-size:13px}
.lh-eco .go{margin-top:auto;padding-top:22px;display:flex;justify-content:space-between;align-items:center}
.lh-eco .from{font-size:13px;color:var(--fg-mute)}.lh-eco .from b{color:var(--fg)}

/* Split */
.lh-split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
@media(max-width:860px){.lh-split{grid-template-columns:1fr}}
.lh-split .media{border:1px solid var(--line);border-radius:16px;background:var(--panel-2);height:360px;display:grid;place-items:center}
.lh-split .media img{width:62%;filter:drop-shadow(0 24px 30px rgba(0,0,0,.5))}
.lh-flist{margin-top:24px;border-top:1px solid var(--line)}
.lh-flist .f{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.lh-flist .f .n{color:var(--acc);font-weight:800;font-size:13px;min-width:24px}
.lh-flist .f b{font-size:15px}.lh-flist .f p{margin-top:4px;color:var(--fg-dim);font-size:14px;line-height:1.5}

/* Why + banners */
.lh-why{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:820px){.lh-why{grid-template-columns:1fr}}
.lh-wc{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:28px 26px}
.lh-wc .tick{width:26px;height:2px;background:var(--acc);margin-bottom:18px}
.lh-wc h3{font-size:18px}.lh-wc p{margin-top:11px;color:var(--fg-dim);font-size:14.5px;line-height:1.6}
.lh-banner{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:48px 44px;display:flex;gap:36px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.lh-banner h2{font-size:clamp(24px,3.2vw,36px);letter-spacing:-.03em;max-width:20ch}
.lh-banner p{margin-top:14px;color:var(--fg-dim);max-width:46ch;line-height:1.55}.lh-banner p b{color:var(--fg)}

/* ---- Simulateur ---- */
.lh-sim{border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,var(--panel) 0%,var(--panel-2) 100%);padding:44px;display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;position:relative;overflow:hidden}
.lh-sim::before{content:"";position:absolute;top:-40%;right:-10%;width:340px;height:340px;background:radial-gradient(circle,rgba(0,230,118,.10),transparent 62%);pointer-events:none}
.lh-sim-main h2{font-size:clamp(24px,3.1vw,36px);letter-spacing:-.03em;margin-top:10px}
.lh-sim-main p{margin-top:14px;color:var(--fg-dim);max-width:50ch;line-height:1.55}.lh-sim-main p b{color:var(--fg)}
.lh-sim .lh-cta{margin-top:26px}
.lh-simsteps{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;position:relative;z-index:1}
.lh-simsteps li{display:flex;align-items:center;gap:15px;border:1px solid var(--line);border-radius:13px;background:var(--bg);padding:15px 17px}
.lh-simsteps .n{flex:none;width:30px;height:30px;border-radius:999px;background:var(--acc);color:var(--acc-ink);font-weight:800;display:grid;place-items:center;font-size:14px}
.lh-simsteps b{font-size:14.5px}.lh-simsteps p{margin-top:2px;font-size:12.5px;color:var(--fg-mute)}

/* ---- Sur-mesure & institutionnel ---- */
.lh-solutions{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.lh-sol{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:32px;transition:.2s}
.lh-sol:hover{border-color:var(--line-2);background:var(--panel-2)}
.lh-sol h3{font-size:20px;letter-spacing:-.02em}
.lh-sol p{margin-top:13px;color:var(--fg-dim);line-height:1.58;font-size:14.5px}.lh-sol p b{color:var(--fg)}
.lh-sol .lnk{display:inline-block;margin-top:18px;font-size:14px;color:var(--acc);font-weight:600}.lh-sol .lnk:hover{opacity:.82}
@media(max-width:860px){.lh-sim{grid-template-columns:1fr;gap:28px;padding:30px 24px}}
@media(max-width:720px){.lh-solutions{grid-template-columns:1fr}.lh-sol{padding:26px 22px}}

/* =====================================================================
   PAGE CATÉGORIE / LISTING  (e-commerce dark premium)
   ===================================================================== */
/* neutralise les cartes blanches PrestaShop */
#category #wrapper,.category #wrapper,#category #main,#products{background:transparent}
#left-column .card,#content-wrapper .card,.block-category,.card.card-block,#js-product-list-header .card{background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 !important}
#content-wrapper{padding-left:8px}
#main>.breadcrumb,.breadcrumb{background:transparent !important;padding:16px 0 0 !important;margin:0}
.breadcrumb ol{margin:0;padding:0;list-style:none;display:flex;gap:8px;flex-wrap:wrap;font-size:12.5px}
.breadcrumb li{color:var(--fg-mute)} .breadcrumb li a{color:var(--fg-mute)} .breadcrumb li a:hover{color:var(--fg-dim)}
.breadcrumb li::after{content:"›";margin-left:8px;color:var(--fg-mute)} .breadcrumb li:last-child::after{content:""}
.breadcrumb li:last-child{color:var(--fg-dim)}

/* ---- hero catégorie ---- */
.lh-cathero{padding:14px 0 26px;border-bottom:1px solid var(--line);margin-bottom:8px}
.lh-cathero .lh-h1{font-size:clamp(28px,4.4vw,46px);letter-spacing:-.035em;line-height:1.04;margin:12px 0 0;font-weight:800}
.lh-catlead{max-width:70ch;margin:18px 0 0;color:var(--fg-dim);font-size:16px;line-height:1.62}
.lh-catlead b{color:var(--fg)}
.lh-trust{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.lh-trust span{font-size:12.5px;color:var(--fg-dim);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:7px 13px;display:inline-flex;gap:7px;align-items:center}
.lh-trust span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--acc)}

/* ---- chips sous-catégories ---- */
.lh-voltnav{display:flex;gap:10px;flex-wrap:wrap;padding:18px 0 4px}
.lh-voltnav a{font-size:13.5px;font-weight:600;color:var(--fg-dim);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:9px 15px;white-space:nowrap;transition:.15s}
.lh-voltnav a:hover{border-color:var(--line-2);color:var(--fg)}

/* ---- FACETTES (ps_facetedsearch) ---- */
#search_filters_wrapper{margin-top:8px}
#search_filters{border:0}
#search_filters .facet,#search_filters_wrapper .facet{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:4px 16px;margin-bottom:12px}
#search_filters .facet .facet-title,#search_filters .h6.facet-title{font-size:13px;font-weight:700;color:var(--fg);text-transform:none;letter-spacing:0;padding:14px 0;margin:0;display:block;cursor:pointer}
#search_filters .facet ul{list-style:none;margin:0;padding:0 0 14px}
#search_filters .facet li,#search_filters .facet-label{margin:0}
#search_filters .facet-label a,#search_filters .facet li a{display:flex;align-items:center;gap:10px;color:var(--fg-dim);font-size:13.5px;padding:6px 0;text-decoration:none}
#search_filters .facet-label a:hover{color:var(--fg)}
#search_filters .facet-label .magnitude{margin-left:auto;color:var(--fg-mute);font-size:12px;background:transparent}
/* checkbox custom */
#search_filters .custom-checkbox,#search_filters .custom-radio{position:relative;width:17px;height:17px;flex:none;display:inline-block}
#search_filters .custom-checkbox input,#search_filters .custom-radio input{opacity:0;position:absolute;width:17px;height:17px;margin:0;cursor:pointer}
#search_filters .custom-checkbox span,#search_filters .custom-radio span{position:absolute;inset:0;border:1.5px solid var(--line-2);border-radius:5px;pointer-events:none}
#search_filters .custom-radio span{border-radius:50%}
#search_filters .custom-checkbox span i,#search_filters .custom-radio span i{display:none}
#search_filters .custom-checkbox input:checked+span,#search_filters .custom-radio input:checked+span{background:var(--acc);border-color:var(--acc)}
#search_filters .custom-checkbox input:checked+span::after{content:"";position:absolute;left:5px;top:1px;width:4px;height:9px;border:solid var(--acc-ink);border-width:0 2px 2px 0;transform:rotate(45deg)}
/* pastilles couleur facette */
#search_filters .facet li .color,#search_filters .facet-label .color{width:22px;height:22px;border-radius:50%;border:1px solid var(--line-2);display:inline-block}
/* slider prix (jQuery UI) */
#search_filters .ui-slider{background:var(--panel-2);border:0;height:4px;border-radius:3px;margin:14px 4px}
#search_filters .ui-slider .ui-slider-range{background:var(--acc)}
#search_filters .ui-slider .ui-slider-handle{background:#fff;border:0;width:15px;height:15px;border-radius:50%;top:-6px}
#search_filters .facet .slider-values,#search_filters .ui-slider-pips{color:var(--fg-dim);font-size:12.5px}

/* ---- toolbar ---- */
.lh-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 16px;flex-wrap:wrap}
.lh-count{font-size:14px;color:var(--fg-dim)} .lh-count b{color:var(--fg);font-weight:700}
.lh-toolbar-right{display:flex;align-items:center;gap:12px}
.lh-filterbtn{background:var(--panel);color:var(--fg);border:1px solid var(--line-2);border-radius:9px;padding:9px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
/* tri */
.products-sort-order .select-title,.products-sort-order button,.sort-by-row .btn{background:var(--panel) !important;color:var(--fg) !important;border:1px solid var(--line-2) !important;border-radius:9px !important;font-size:13px;padding:9px 12px;box-shadow:none}
.products-sort-order .dropdown-menu{background:var(--bg-2);border:1px solid var(--line);border-radius:10px}
.products-sort-order .dropdown-menu a,.products-sort-order .select-list{color:var(--fg-dim);font-size:13px;padding:8px 12px;display:block}
.products-sort-order .dropdown-menu a:hover{background:var(--line);color:var(--fg)}

/* ---- filtres actifs ---- */
.active_filters,.filter-block{background:transparent !important;border:0 !important;padding:0 !important;margin:0 0 14px}
.active_filters .active-filter-title{display:none}
.active_filters ul{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.active_filters li,.filter-block .active-filter{font-size:12px;background:var(--panel);border:1px solid var(--line-2);border-radius:999px;padding:5px 12px;color:var(--fg-dim);display:inline-flex;gap:7px;align-items:center}
.active_filters li a,.active_filters .js-search-link{color:var(--fg-mute)}

/* ---- grille listing ---- */
.products.lh-grid{display:grid !important;grid-template-columns:repeat(3,1fr);gap:16px;margin:0}
#js-product-list{margin-top:4px}
@media(max-width:1100px){.products.lh-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.products.lh-grid{grid-template-columns:1fr}}

/* ---- pagination ---- */
.pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:28px 0 6px;margin:0;border:0}
.pagination .page-list{display:flex;gap:8px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.pagination .page-list li a,.pagination .page-list li span{min-width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;font-size:14px;color:var(--fg-dim);text-decoration:none}
.pagination .page-list li.current a,.pagination .page-list li.current span{background:var(--acc);color:var(--acc-ink);border-color:var(--acc);font-weight:700}
.pagination .page-list li a:hover{border-color:var(--line-2);color:var(--fg)}
.pagination .disabled{display:none}

/* ---- bloc SEO bas de page ---- */
.lh-catseo{border-top:1px solid var(--line);margin-top:34px;padding-top:34px;max-width:none}
.lh-catseo.rte-content{color:var(--fg-dim);line-height:1.7;font-size:15px}
.lh-catseo h2{font-size:clamp(22px,3.2vw,32px);letter-spacing:-.03em;color:var(--fg);margin:0 0 12px;font-weight:800}
.lh-catseo h3{font-size:19px;color:var(--fg);margin:26px 0 10px;letter-spacing:-.02em}
.lh-catseo p{color:var(--fg-dim);max-width:76ch;margin:10px 0}
.lh-catseo b,.lh-catseo strong{color:var(--fg)}
.lh-catseo a{color:var(--acc)}
.lh-catseo ul,.lh-catseo ol{color:var(--fg-dim);padding-left:20px;line-height:1.7}
.lh-catseo table{width:100%;border-collapse:collapse;margin:16px 0;font-size:13.5px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.lh-catseo table th,.lh-catseo table td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line)}
.lh-catseo table thead th{background:var(--panel-2);color:var(--fg);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em}
.lh-catseo table tbody tr:hover,.lh-catseo table tr:hover{background:var(--panel)}
.lh-catlinks{border-top:1px solid var(--line);margin-top:30px;padding-top:24px}
.lh-related{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.lh-related a{font-size:13px;color:var(--fg-dim);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:8px 14px}
.lh-related a:hover{color:var(--acc);border-color:var(--acc)}
/* structure riche du contenu SEO (façon maquette) */
.lh-catseo .lh-seo-cols{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:18px 0 8px}
.lh-catseo .lh-seo-cols>div{min-width:0}
.lh-catseo .lh-seo-cols h3{margin-top:0}
.lh-catseo .lh-faq{margin:14px 0 6px;display:flex;flex-direction:column;gap:10px}
.lh-catseo .lh-qa{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:0 20px;transition:border-color .15s}
.lh-catseo .lh-qa[open]{border-color:var(--line-2)}
.lh-catseo .lh-qa summary{list-style:none;cursor:pointer;font-weight:600;font-size:15.5px;color:var(--fg);padding:17px 0;display:flex;justify-content:space-between;align-items:center;gap:14px}
.lh-catseo .lh-qa summary::-webkit-details-marker{display:none}
.lh-catseo .lh-qa summary::after{content:"+";color:var(--acc);font-size:22px;font-weight:400;line-height:1;flex:none}
.lh-catseo .lh-qa[open] summary::after{content:"–"}
.lh-catseo .lh-qa p{color:var(--fg-dim);font-size:14.5px;line-height:1.65;margin:0 0 18px;max-width:76ch}
@media(max-width:820px){.lh-catseo .lh-seo-cols{grid-template-columns:1fr;gap:6px}}

/* =====================================================================
   PAGE PRODUIT (fiche produit) — dark premium
   ===================================================================== */
#product #wrapper,#product #main{background:transparent}
#product #main>.row{display:grid !important;grid-template-columns:1.05fr .95fr;gap:46px;margin:8px 0 0}
#product #main>.row>.col-md-6{width:100% !important;max-width:none !important;flex:none !important;padding:0 !important}
@media(max-width:940px){#product #main>.row{grid-template-columns:1fr;gap:24px}}
/* neutralise cartes blanches */
#product .card,#product .product-information,#product .tab-content,#product .product-tabs{background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 !important}
#product .breadcrumb{background:transparent !important;padding:16px 0 0 !important}

/* --- galerie --- */
#product .images-container,#product .product-cover-thumbnails{position:sticky;top:80px}
#product .product-cover{border:1px solid var(--line) !important;border-radius:20px !important;background:radial-gradient(130% 120% at 50% 22%,var(--panel-2),var(--panel)) !important;position:relative;overflow:hidden;margin:0;box-shadow:none}
#product .product-cover img,#product .js-qv-product-cover{border-radius:20px;width:100%;height:auto;background:transparent !important}
#product .product-flags{position:absolute;z-index:3;top:14px;left:14px;margin:0}
#product .product-flag{background:var(--acc) !important;color:var(--acc-ink) !important;font-size:12px;font-weight:800;border-radius:7px;padding:4px 10px;box-shadow:none;position:static}
#product .thumbnails,#product .product-images{margin-top:12px;white-space:nowrap;overflow-x:auto;display:flex;gap:10px}
#product .thumb-container{display:inline-block;margin:0}
#product .thumb{border:1px solid var(--line) !important;border-radius:12px !important;background:var(--panel) !important;padding:7px;width:80px !important;height:80px !important;object-fit:contain;cursor:pointer;transition:border-color .15s}
#product .thumb.selected,#product .thumb.js-thumb-selected{border-color:var(--acc) !important}

/* --- titre + prix --- */
#product #main h1,#product h1.h1{font-size:clamp(26px,3.4vw,38px);letter-spacing:-.03em;line-height:1.08;font-weight:800;margin:0}
#product .product-prices{margin:16px 0 0}
#product .current-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
#product .current-price .price,#product .current-price [itemprop=price]{font-size:32px !important;font-weight:800 !important;color:var(--fg) !important}
#product .regular-price{font-size:17px !important;color:var(--fg-mute) !important;text-decoration:line-through;font-weight:500}
#product .discount,#product .current-price .discount,#product .product-discount .discount{background:var(--acc) !important;color:var(--acc-ink) !important;font-weight:800;font-size:12px;border-radius:6px;padding:3px 8px}
#product .product-prices .tax-shipping-delivery-label,#product .product-prices .price-tax{color:var(--fg-mute) !important;font-size:12px;margin-top:6px}

/* --- description courte --- */
#product .product-description-short{color:var(--fg-dim);font-size:15px;line-height:1.62;margin:16px 0 0}
#product .product-description-short b,#product .product-description-short strong{color:var(--fg)}

/* --- variantes couleur --- */
#product .product-variants{margin:22px 0 0}
#product .product-variants>.product-variants-item{margin:0 0 16px}
#product .product-variants-item .control-label,#product .product-variants-item label:not(.color):not(.input-color){font-size:12.5px !important;color:var(--fg-dim) !important;margin-bottom:9px;display:block;font-weight:600}
#product .product-variants-item ul{display:flex;gap:10px;flex-wrap:wrap;list-style:none;padding:0;margin:0}
#product .product-variants-item .input-color,#product .product-variants-item .color{width:34px !important;height:34px !important;border-radius:50% !important;border:1px solid var(--line-2) !important;cursor:pointer;box-shadow:none;display:block}
#product .product-variants-item input:checked~.color,#product .product-variants-item .input-color:checked+span,#product .product-variants-item li.selected .color{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--acc) !important}
#product .product-variants-item select{background:var(--panel);color:var(--fg);border:1px solid var(--line-2);border-radius:9px;padding:10px 12px;font:inherit}

/* --- quantité + panier --- */
#product .product-add-to-cart{margin:24px 0 0}
#product .product-quantity{display:flex;gap:12px;align-items:stretch;flex-wrap:nowrap}
#product .product-quantity .qty{margin:0;flex:none}
#product #quantity_wanted,#product .product-quantity input{background:var(--panel) !important;color:var(--fg) !important;border:1px solid var(--line-2) !important;border-radius:11px !important;height:50px;width:66px;text-align:center;font-weight:700;box-shadow:none}
#product .product-quantity .add{flex:1;margin:0}
#product .btn.add-to-cart{background:var(--acc) !important;color:var(--acc-ink) !important;border:0 !important;border-radius:11px !important;height:50px;font-weight:800;font-size:15.5px;width:100%;box-shadow:none !important;text-transform:none;letter-spacing:0}
#product .btn.add-to-cart:hover{background:var(--acc-hover) !important}
#product .btn.add-to-cart .material-icons{display:none}

/* --- réassurance --- */
#product .block-reassurance{background:transparent !important;border:0 !important;border-top:1px solid var(--line) !important;margin:24px 0 0;padding:22px 0 0}
#product .block-reassurance ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;list-style:none;margin:0;padding:0}
#product .block-reassurance li{margin:0 !important;background:transparent !important;border:0 !important;padding:0 !important}
#product .block-reassurance .block-reassurance-item{display:flex;gap:9px;align-items:center;padding:0}
#product .block-reassurance span,#product .block-reassurance p{color:var(--fg-dim) !important;font-size:13px;font-weight:500 !important;margin:0}
#product .block-reassurance img{width:18px;height:18px}

/* --- onglets (description / fiche technique) --- */
#product .product-tabs{margin-top:46px}
#product .nav-tabs{border-bottom:1px solid var(--line) !important;display:flex;gap:28px;padding:0;margin:0 0 22px}
#product .nav-tabs .nav-item{margin:0}
#product .nav-tabs .nav-link{border:0 !important;background:transparent !important;color:var(--fg-mute) !important;font-weight:700;font-size:15px;padding:12px 0 !important;border-bottom:2px solid transparent !important}
#product .nav-tabs .nav-link.active{color:var(--fg) !important;border-bottom-color:var(--acc) !important}
#product .tab-pane{color:var(--fg-dim);line-height:1.7;font-size:15px}
#product .tab-pane b,#product .tab-pane strong{color:var(--fg)}

/* --- fiche technique (data-sheet) --- */
#product .product-features{margin:0}
#product .data-sheet{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-wrap:wrap}
#product .data-sheet dt,#product .data-sheet dd{margin:0;padding:13px 18px;border-bottom:1px solid var(--line);box-sizing:border-box}
#product .data-sheet dt.name{color:var(--fg-dim);font-weight:500;background:var(--panel);width:40%}
#product .data-sheet dd.value{color:var(--fg);font-weight:600;width:60%}

/* --- accessoires (cross-sell) --- */
#product .product-accessories{border-top:1px solid var(--line);margin-top:46px;padding-top:36px}
#product .product-accessories .products-section-title,#product .product-accessories h2{font-size:24px;letter-spacing:-.03em;font-weight:800;margin:0 0 22px;text-transform:none}
#product .product-accessories .products{display:grid !important;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:940px){#product .product-accessories .products{grid-template-columns:1fr}}

/* --- sections marque ajoutées --- */
.lh-psec{border-top:1px solid var(--line);margin-top:46px;padding-top:40px}
.lh-psec .eyebrow,#product .eyebrow{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-mute);font-weight:700;margin-bottom:8px}
.lh-psec h2{margin-top:0}
.lh-psec h2{font-size:clamp(22px,3vw,30px);letter-spacing:-.03em;font-weight:800;margin:0}
.lh-pfeat{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.lh-pfeat .fc{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:24px}
.lh-pfeat .fc h3{font-size:16.5px;margin:0 0 8px}
.lh-pfeat .fc p{color:var(--fg-dim);font-size:14px;line-height:1.6;margin:0}
.lh-pfeat .fc .ic{width:38px;height:38px;border-radius:10px;background:var(--acc-dim);color:var(--acc);display:grid;place-items:center;margin-bottom:14px;font-size:18px}
@media(max-width:820px){.lh-pfeat{grid-template-columns:1fr}}

/* ===== PAGE PRODUIT : tuer les boîtes blanches + finitions ===== */
#product .tabs,#product .product-tabs,#product .tab-content,#product .tab-pane,
#product .product-tab-content,#product .card,#product .card-block,#product .card-body,
#product .product-information,#product .product-features,#product .rte-content,
#product .product-comments,#product .comments,#product #product-comments-list,
#product .product-comment-list,#product [class*="comment"],#product .comments-note,
#product .product-accessories{background:transparent !important;background-color:transparent !important;border:0 !important;box-shadow:none !important}
/* data-sheet : parent transparent, dt panel, dd transparent */
#product .data-sheet{border:1px solid var(--line) !important;border-radius:14px;overflow:hidden;background:transparent !important}
#product .data-sheet dt.name{background:var(--panel) !important;color:var(--fg-dim) !important}
#product .data-sheet dd.value{background:transparent !important;color:var(--fg) !important}
#product .data-sheet dt,#product .data-sheet dd{border-bottom:1px solid var(--line) !important}
/* H1 pas en majuscules */
#product #main h1,#product h1.h1{text-transform:none !important}
/* réassurance : texte lisible */
#product .block-reassurance li *,#product .block-reassurance span,#product .block-reassurance .h6,#product .block-reassurance p{color:var(--fg-dim) !important}
#product .block-reassurance .block-reassurance-item span:first-child,#product .block-reassurance .h6{color:var(--fg) !important;font-weight:600 !important}
#product .block-reassurance img{opacity:.85}
/* avis (productcomments) : conteneur + vide en dark */
#product .product-comments,#product .comments{border:1px solid var(--line) !important;border-radius:14px !important;padding:22px !important;margin-top:20px}
#product .comments-note,#product .no-comments,#product .product-comment-list p,#product [class*="comment"] p{color:var(--fg-dim) !important}
#product .comments h2,#product .product-comments h2,#product #product-comments-list-header{color:var(--fg) !important}
/* onglet actif underline déjà géré ; titres d'onglet */
#product .tab-pane .h5,#product .product-tabs .h5,#product .tab-pane h2,#product .tab-pane h3{color:var(--fg) !important}
/* partage social : cercles dark */
#product .social-sharing ul,#product .social-sharing{display:flex;gap:8px;align-items:center;margin-top:16px}
#product .social-sharing li{background:var(--panel) !important;border:1px solid var(--line-2) !important}

/* ===== panneau d'achat : specs + confiance + paiement ===== */
#product .lh-buyspecs{margin:22px 0 0}
#product .lh-buyspecs .lh-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0}
#product .lh-buyspecs .lh-spec{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:12px 14px;display:flex;flex-direction:column;gap:4px}
#product .lh-buyspecs .lh-spec .k{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-mute);font-weight:700}
#product .lh-buyspecs .lh-spec .v{font-size:15px;font-weight:800;color:var(--fg);font-variant-numeric:tabular-nums}
#product .lh-buyspecs .lh-spec.na .v{color:var(--fg-mute);font-weight:500}
/* masque la réassurance native (icônes invisibles) → remplacée par un bloc propre */
#product .block-reassurance,#product .blockreassurance_product,#product [class*="blockreassurance"]{display:none !important}
/* ligne paiement sous le prix */
#product .lh-payline{color:var(--acc);font-weight:700;font-size:13.5px;margin:8px 0 0}

/* onglets en PLEINE LARGEUR sous le hero (fini la description sur une demi-page) */
#product .product-fullwidth{margin-top:44px}
#product .product-fullwidth .tabs{margin-top:0}
#product .product-fullwidth .tab-pane,#product .product-fullwidth .tab-pane #description,#product .product-fullwidth .product-description,#product .product-fullwidth .data-sheet{max-width:none !important;width:100%}
#product .product-fullwidth .product-description{column-count:2;column-gap:48px}
#product .product-fullwidth .product-description>h2,#product .product-fullwidth .product-description>h3{column-span:all;-webkit-column-span:all;margin-top:22px}
#product .product-fullwidth .product-description p,#product .product-fullwidth .product-description ul{break-inside:avoid}
@media(max-width:820px){#product .product-fullwidth .product-description{column-count:1}}
/* fiche technique complète (hook lifespecs) — identique sur tous les produits */
#product .lh-fullspecs{border:1px solid var(--line);border-radius:14px;overflow:hidden;max-width:820px}
#product .lh-fullspecs .lh-fsrow{display:flex;border-bottom:1px solid var(--line)}
#product .lh-fullspecs .lh-fsrow:last-child{border-bottom:0}
#product .lh-fullspecs .k{width:40%;flex:none;padding:13px 18px;background:var(--panel);color:var(--fg-dim);font-weight:500;font-size:14px}
#product .lh-fullspecs .v{flex:1;padding:13px 18px;color:var(--fg);font-weight:600;font-size:14px}
#product .lh-fullspecs .na .v{color:var(--fg-mute);font-weight:500}

/* boutons quantité (touchspin) */
#product .product-quantity .input-group.bootstrap-touchspin{border:1px solid var(--line-2);border-radius:11px;overflow:hidden;background:var(--panel);height:50px}
#product .product-quantity .input-group.bootstrap-touchspin input{border:0 !important;background:transparent !important;height:100%}
#product .bootstrap-touchspin-up,#product .bootstrap-touchspin-down,#product .product-quantity .input-group-btn-vertical>button,#product .product-quantity .btn-touchspin{background:var(--panel) !important;border:0 !important;border-left:1px solid var(--line) !important;color:var(--fg-dim) !important;width:34px;padding:0;box-shadow:none !important}
#product .bootstrap-touchspin-up:hover,#product .bootstrap-touchspin-down:hover{color:var(--acc) !important;background:var(--panel-2) !important}
#product .product-quantity .input-group-btn-vertical i{color:inherit !important}

/* bouton favori (wishlist) */
#product .wishlist-button-add,#product .product-actions .wishlist-button-add,#product .wishlist-button-product{background:var(--panel) !important;border:1px solid var(--line-2) !important;color:var(--fg-dim) !important;width:50px !important;height:50px !important;min-width:50px;border-radius:11px !important;box-shadow:none !important;display:inline-flex;align-items:center;justify-content:center;margin:0}
#product .wishlist-button-add:hover{color:var(--acc) !important;border-color:var(--acc) !important}
#product .wishlist-button-add i,#product .wishlist-button-add svg{color:inherit !important;fill:currentColor;width:20px;height:20px}
#product .lh-buytrust{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin:24px 0 0;padding-top:22px;border-top:1px solid var(--line)}
#product .lh-buytrust div{font-size:13px;color:var(--fg-dim);display:flex;gap:9px;align-items:center}
#product .lh-buytrust div::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--acc);flex:none}
#product .lh-paybadges{display:flex;gap:8px;margin:18px 0 0;flex-wrap:wrap;align-items:center}
#product .lh-paybadges span{font-size:10.5px;font-weight:700;color:var(--fg-dim);border:1px solid var(--line-2);border-radius:6px;padding:6px 10px;letter-spacing:.03em;background:var(--panel)}
/* en stock lisible */
#product .product-availability,#product #product-availability{color:var(--acc) !important;font-weight:600;font-size:13.5px;margin-top:12px;display:inline-flex;align-items:center;gap:6px}
#product .product-availability .material-icons{color:var(--acc) !important;font-size:18px}
#product .product-quantities,#product .product-minimal-quantity{color:var(--fg-mute) !important}
/* partager */
#product .social-sharing{margin-top:20px}
#product .social-sharing .label,#product .social-sharing>span:first-child{color:var(--fg-dim) !important;font-size:12.5px}
/* avis lisibles */
#product #product-comments-list-header,#product .comments-note span,#product .star-content,#product .product-comments h2,#product .product-comments .h2{color:var(--fg) !important}

/* colonnes : sidebar un peu plus compacte */
@media(min-width:992px){
  #content-wrapper.col-lg-9{flex:0 0 76%;max-width:76%}
  #left-column.col-lg-3{flex:0 0 24%;max-width:24%}
}
@media(max-width:991px){
  #left-column{margin-bottom:16px}
  .lh-cathero .lh-h1{font-size:clamp(24px,7vw,32px)}
}

/* ===== FACETTES : override fort (les items sont des <label>, pas des <a>) ===== */
#left-column{background:transparent !important}
#search_filters_wrapper,#search_filters{background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 !important}
/* titre "Filtrer par" */
#search_filters>p.h6,#search_filters>.text-uppercase{font-size:11px !important;letter-spacing:.18em !important;color:var(--fg-mute) !important;font-weight:700 !important;margin:0 0 12px !important;padding:0 !important;text-transform:uppercase}
/* bloc de chaque facette */
#search_filters .facet{border:1px solid var(--line) !important;border-radius:14px !important;background:var(--panel) !important;padding:4px 16px !important;margin:0 0 12px !important;box-shadow:none !important;overflow:hidden}
#search_filters .facet .facet-title,#search_filters .facet-title{font-size:13px !important;font-weight:700 !important;color:var(--fg) !important;text-transform:none !important;letter-spacing:0 !important;padding:14px 0 !important;margin:0 !important}
#search_filters .facet ul,#search_filters .facet ol{list-style:none !important;margin:0 !important;padding:0 0 12px !important;background:transparent !important}
#search_filters .facet li{margin:0 !important;padding:0 !important;background:transparent !important;border:0 !important;list-style:none !important}
/* les libellés cliquables : <label class="facet-label"> ET <a> (facette catégorie) */
#search_filters .facet .facet-label,
#search_filters .facet .facet-label a,
#search_filters .facet li>a,
#search_filters .facet li label,
#search_filters .facet a.search-link,
#search_filters .facet ._gray-darker{display:flex !important;align-items:center;gap:10px;color:#c4c9c4 !important;font-size:13.5px !important;font-weight:500 !important;line-height:1.3;padding:6px 0 !important;margin:0 !important;text-decoration:none !important;cursor:pointer}
#search_filters .facet .facet-label:hover,#search_filters .facet .facet-label a:hover,#search_filters .facet li>a:hover,#search_filters .facet a.search-link:hover{color:var(--fg) !important}
#search_filters .facet .facet-label.active,#search_filters .facet li a.active,#search_filters .facet .active a{color:var(--fg) !important;font-weight:600 !important}
#search_filters .facet .magnitude{margin-left:auto !important;color:var(--fg-mute) !important;font-size:12px !important;background:transparent !important;padding:0 !important;font-weight:500 !important}
/* checkbox / radio */
#search_filters .custom-checkbox,#search_filters .custom-radio{position:relative !important;width:17px !important;height:17px !important;flex:none !important;margin:0 !important;display:inline-block}
#search_filters .custom-checkbox input,#search_filters .custom-radio input{opacity:0 !important;position:absolute;width:17px;height:17px;margin:0;cursor:pointer;z-index:2}
#search_filters .custom-checkbox input~span,#search_filters .custom-radio input~span,#search_filters .custom-checkbox>span,#search_filters .custom-radio>span{position:absolute !important;inset:0 !important;border:1.5px solid var(--line-2) !important;border-radius:5px !important;background:transparent !important;pointer-events:none;top:0;left:0;width:17px;height:17px}
#search_filters .custom-radio input~span,#search_filters .custom-radio>span{border-radius:50% !important}
#search_filters .custom-checkbox span i,#search_filters .custom-radio span i,#search_filters .checkbox-checked,#search_filters .facet .material-icons{display:none !important}
#search_filters .custom-checkbox input:checked~span,#search_filters .custom-radio input:checked~span{background:var(--acc) !important;border-color:var(--acc) !important}
#search_filters .custom-checkbox input:checked~span::after{content:"" !important;position:absolute;left:5px;top:1px;width:4px;height:9px;border:solid var(--acc-ink);border-width:0 2px 2px 0;transform:rotate(45deg);display:block}
/* pastille couleur facette */
#search_filters .facet .color,#search_filters .facet-label .color,#search_filters li .color{width:20px !important;height:20px !important;border-radius:50% !important;border:1px solid var(--line-2) !important;display:inline-block !important;margin:0 !important;box-shadow:none !important}
/* neutralise les fonds blancs jQuery UI (slider/widgets) */
#search_filters .ui-widget,#search_filters .ui-widget-content,#search_filters .ui-widget-header{background:transparent !important;border:0 !important;color:inherit !important}
#search_filters .ui-slider{background:var(--panel-2) !important;height:4px !important;border-radius:3px !important;margin:16px 4px !important}
#search_filters .ui-slider .ui-slider-range{background:var(--acc) !important}
#search_filters .ui-slider .ui-slider-handle{background:#fff !important;border:0 !important;width:15px !important;height:15px !important;border-radius:50% !important;top:-6px !important}
#search_filters [class*="slider"],#search_filters .facet-title+*[class*="value"]{color:var(--fg-dim) !important}
/* bouton ok mobile */
#search_filter_controls .btn,#search_filters .btn{background:var(--panel) !important;color:var(--fg) !important;border:1px solid var(--line-2) !important;border-radius:9px !important}

/* ============ RAFFINEMENTS (largeur, logo, header/footer) ============ */
/* Conteneur plus large, comme les maquettes (classic = 1140px trop étroit) */
#wrapper{background:var(--bg)}
.container, #wrapper .container{max-width:1320px !important;width:100%}
.life-home .wrap{max-width:1300px}
#content-wrapper,#content.page-home{max-width:none !important;padding-left:0;padding-right:0}
/* Header : plus large + logo wordmark texte LIFE (le JPG a un fond blanc, inversion inutilisable) */
#header .container,.header-top .container{max-width:1320px !important}
#_desktop_logo h1,#_desktop_logo{margin:0}
#_desktop_logo img{display:none !important}
#_desktop_logo a{display:inline-flex !important;align-items:center;gap:9px;font-size:22px;font-weight:800;letter-spacing:.16em;color:var(--fg) !important;line-height:1}
#_desktop_logo a::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--acc);flex:none}
#_desktop_logo a::after{content:"LIFE"}
#header{padding:6px 0}
/* Footer plus large + aligné */
.footer-container,#footer .container{max-width:1320px !important;margin-left:auto;margin-right:auto}
#footer{padding-top:48px}

/* ---- Pastilles couleur + animations d'apparition ---- */
.lh-swat{display:flex;gap:6px;margin-top:14px}
.lh-swat i{width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:block}
.lh-hero-swat{display:flex;gap:9px;justify-content:center;margin-top:20px}
.lh-hero-swat i{width:15px;height:15px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);display:inline-block;cursor:pointer;transition:transform .2s}
.lh-hero-swat i:hover{transform:scale(1.2)}
.life-home .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.life-home .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.life-home .reveal{opacity:1 !important;transform:none !important;transition:none}}

/* ============ MOBILE PRO + NEWSLETTER + FOOTER ============ */
/* Bloc newsletter en dark (au lieu du blanc de classic) */
.block_newsletter{background:var(--bg-2) !important;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 0 !important;margin:0 !important}
.block_newsletter h4,.block_newsletter .h3,.block_newsletter label,.block_newsletter .h4{color:var(--fg) !important}
.block_newsletter p,.block_newsletter .text{color:var(--fg-dim) !important}
.block_newsletter input[type=email],.block_newsletter input[type=text]{background:var(--panel) !important;border:1px solid var(--line-2) !important;color:var(--fg) !important;border-radius:8px !important}
.block_newsletter input::placeholder{color:var(--fg-mute)}
.block_newsletter button,.block_newsletter .btn{background:var(--acc) !important;border-color:var(--acc) !important;color:var(--acc-ink) !important;border-radius:8px !important;font-weight:700}

/* Logo mobile = wordmark LIFE (image masquée) */
#_mobile_logo img{display:none !important}
#_mobile_logo a{display:inline-flex !important;align-items:center;gap:8px;font-size:20px;font-weight:800;letter-spacing:.14em;color:var(--fg) !important;line-height:1}
#_mobile_logo a::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--acc);flex:none}
#_mobile_logo a::after{content:"LIFE"}

/* Footer : dark cohérent */
#footer{padding-top:48px}
#footer .block-contact,#footer .linklist,#footer .block_newsletter{border-color:var(--line)}

/* ---------- Tablette ---------- */
@media(max-width:900px){
  .lh-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .lh-why{grid-template-columns:1fr}
}
/* ---------- Mobile (pro : 2 colonnes compactes) ---------- */
@media(max-width:600px){
  .life-home section{padding:44px 0}
  .lh-hero-in{padding:30px 0;gap:22px}
  .lh-hero h1{font-size:clamp(28px,8.4vw,38px)}
  .lh-media img{width:min(72%,290px)}
  .lh-usp{grid-template-columns:1fr 1fr}
  .lh-usp .u{padding:16px 14px}
  .lh-head{margin-bottom:22px}
  .lh-head h2{font-size:clamp(22px,6.6vw,30px)}
  /* grille produit compacte 2 colonnes */
  .lh-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .lh-pc .ph{height:118px}
  .lh-pc .ph img{height:86px}
  .lh-pc .bd{padding:12px}
  .lh-pc .cfg{font-size:10px}
  .lh-pc .nm{font-size:13px;margin-top:6px}
  .lh-pc .kv{font-size:10.5px;gap:8px;margin-top:8px;flex-wrap:wrap}
  .lh-pc .swat{margin-top:10px}
  .lh-pc .swat i,.lh-swat i{width:10px;height:10px}
  .lh-pc .now{font-size:15px}.lh-pc .was{font-size:11px}
  .lh-pc .tag{font-size:10px;padding:2px 7px;top:8px;left:8px}
  .lh-pc .buy2{flex-direction:column;align-items:stretch;gap:8px;padding-top:12px}
  .lh-pc .buy2 .lh-btn{width:100%;justify-content:center;padding:9px}
  /* écosystème 1 colonne mais serré */
  .lh-eco{grid-template-columns:1fr;gap:10px}
  .lh-eco a{padding:18px}
  /* bannières + split serrés */
  .lh-banner{padding:26px 20px;gap:18px}
  .lh-split{gap:22px}
  .lh-split .media{height:230px}
  .lh-flist .f{padding:14px 0}
  .lh-cta{gap:10px}.lh-cta .lh-btn{flex:1;justify-content:center}
}

/* ============ HEADER + MÉGA-MENU ============ */
#header .header-nav,#header .header-top{border-bottom:1px solid var(--line)}
#_desktop_contact_link a,#_desktop_user_info a,#_desktop_language_selector a,.blockcart a{color:var(--fg-dim) !important;font-size:13px}
#_desktop_contact_link a:hover,#_desktop_user_info a:hover,.blockcart a:hover{color:var(--fg) !important}
/* Nav principale */
.top-menu > li > a{color:var(--fg-dim) !important;font-size:14px !important;font-weight:600;letter-spacing:.01em;padding:10px 16px !important}
.top-menu > li:hover > a,.top-menu > li > a:hover{color:var(--fg) !important;background:transparent !important}
.top-menu .expand-more,.top-menu .collapse-icons{color:var(--fg-mute) !important}
/* Méga-menu déroulant (dark) */
.top-menu .sub-menu{background:var(--bg-2) !important;border:0 !important;border-top:1px solid var(--line) !important;border-bottom:1px solid var(--line) !important;box-shadow:0 30px 50px -24px rgba(0,0,0,.8) !important;border-radius:0 !important;padding:24px 0 !important;margin-top:0 !important}
.top-menu .sub-menu > ul{max-width:1320px;margin:0 auto !important;padding:0 24px !important;display:flex;flex-wrap:wrap;column-gap:36px;row-gap:2px}
.top-menu .sub-menu li{list-style:none}
.top-menu .sub-menu a{color:var(--fg-dim) !important;padding:9px 0 !important;font-size:14px !important;background:transparent !important;border:0 !important;font-weight:500}
.top-menu .sub-menu a:hover{color:var(--acc) !important;background:transparent !important;padding-left:4px}

/* ============ MÉGA-MENU custom (façon maquette) ============ */
#header{position:relative;z-index:1000}
.top-menu > li.has-mega{position:static}
.top-menu .mega{position:absolute;top:100%;left:0;right:0;background:#0f110f !important;background-color:#0f110f !important;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 40px 70px -20px rgba(0,0,0,.95);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility .18s;z-index:100}
.top-menu > li.has-mega:hover .mega,.top-menu > li.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:none}
.mega-in{max-width:1320px;margin:0 auto;padding:32px 24px;display:grid;grid-template-columns:1fr 1fr 1fr 1.1fr;gap:34px}
.mega .mcol h4,.mega .mcol .mega-h{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-mute);margin:0 0 14px;font-weight:700}
.mega .mcol a{display:flex !important;justify-content:space-between;align-items:center;padding:8px 0 !important;font-size:14px;color:var(--fg-dim) !important;background:transparent !important;font-weight:500;border:0 !important}
.mega .mcol a:hover{color:var(--acc) !important;padding-left:3px}
.mega .mcol a span{font-size:12px;color:var(--fg-mute)}
.mega .mfeat{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex !important;flex-direction:column;justify-content:space-between;transition:border-color .2s}
.mega .mfeat:hover{border-color:var(--line-2)}
.mega .mfeat img{width:100%;height:120px;object-fit:contain;margin-bottom:12px}
.mega .mfeat .t{font-size:13.5px;font-weight:700;color:var(--fg)}
.mega .mfeat .s{font-size:12.5px;color:var(--fg-dim);margin-top:4px}
.mega .mfeat .p{margin-top:10px;font-size:16px;font-weight:800;color:var(--acc)}
@media(max-width:900px){
  .top-menu .mega{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0}
  .mega-in{grid-template-columns:1fr;padding:8px 0;gap:14px}
  .mega .mfeat{display:none !important}
}

/* ---- Liens cartes produit ---- */
.lh-pc a.ph{text-decoration:none;cursor:pointer}
.lh-pc a.nm{display:block;color:var(--fg) !important;text-decoration:none;margin-top:8px;font-size:16.5px;font-weight:700}
.lh-pc a.nm:hover{color:var(--acc) !important}

/* ============ FOOTER + NEWSLETTER (épuré) ============ */
.block_newsletter{padding:44px 0 !important}
.block_newsletter h4,.block_newsletter .h3,.block_newsletter p.h3{font-size:21px !important;color:var(--fg) !important;letter-spacing:-.02em;font-weight:750}
.block_newsletter input[type=text],.block_newsletter input[type=email]{padding:13px 15px !important;height:auto !important;font-size:14px}
.block_newsletter button,.block_newsletter .btn{padding:13px 22px !important;font-size:14px}
#footer{padding:52px 0 32px}
.footer-container .h3,#footer .h3,.footer-container .title,#block_myaccount_infos .h3{font-size:11.5px !important;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim) !important;margin-bottom:13px;font-weight:700}
#footer .links a,#footer li a,#block_myaccount_infos a,.linklist a{font-size:13.5px !important;color:var(--fg-mute) !important;padding:5px 0 !important}
#footer .links a:hover,#footer li a:hover,.linklist a:hover{color:var(--fg) !important}
#footer .block-contact{color:var(--fg-mute)}
.footer__copyright,#footer .copyright,#footer p:last-child{color:var(--fg-mute);font-size:12.5px}

/* ============ HEADER façon maquette (barre utilitaire + barre compacte) ============ */
.lh-util{background:#0b0c0b;border-bottom:1px solid var(--line)}
.lh-util-in{max-width:1320px;margin:0 auto;padding:0 24px;min-height:38px;display:flex;align-items:center;justify-content:center;gap:34px;font-size:12.5px;color:var(--fg-dim);flex-wrap:wrap}
.lh-util-in b{color:var(--fg) !important;font-weight:600}
.lh-mainbar{max-width:1320px !important;display:flex !important;align-items:center;gap:14px;padding:14px 24px !important}
.lh-brand{flex:none;margin:0 !important;padding:0}
.lh-brand h1{margin:0}
.lh-nav{flex:1;display:flex;align-items:center;gap:12px;min-width:0}
/* menu = largeur naturelle (plus de flex:1 qui écrasait le conteneur et faisait déborder "Simulateur" sous la recherche) */
.lh-nav .menu,.lh-nav #_desktop_top_menu{position:static;display:flex;align-items:center;flex:0 1 auto;min-width:0}
.lh-nav .top-menu{display:flex;align-items:center;gap:2px;margin:0;flex-wrap:nowrap}
.lh-nav #search_widget,#search_widget.search-widgets{flex:none;margin-left:auto;width:150px !important;min-width:0 !important;max-width:150px !important}
.lh-tools{flex:none;display:flex;align-items:center;gap:16px}
.lh-tools>div,.lh-tools a{display:flex;align-items:center}
/* recherche compacte pilule */
#search_widget,#search_widget .search-widget{position:static}
#search_widget form{position:relative;display:flex;align-items:center;width:150px}
#search_widget input[type=text]{width:150px;background-color:var(--panel) !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a8f8a' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:left 12px center !important;background-size:15px 15px !important;border:1px solid var(--line-2) !important;color:var(--fg) !important;border-radius:999px !important;padding:9px 30px 9px 36px !important;font-size:13px;line-height:1.2}
#search_widget input::placeholder{color:var(--fg-mute)}
#search_widget input:focus{border-color:var(--acc) !important;outline:none}
/* icône loupe : positionnée à gauche, ne chevauche plus le texte */
/* on masque le glyphe material-icons (mal calé) : la loupe est désormais un SVG en background de l'input */
#search_widget .material-icons.search{display:none !important}
/* icône clear (X) : à droite */
#search_widget .material-icons.clear{position:absolute;right:11px;top:50%;transform:translateY(-50%);font-size:15px !important;color:var(--fg-mute) !important;cursor:pointer;z-index:2;margin:0 !important}
#search_widget button[type=submit]{color:var(--fg-mute) !important}
/* dropdown de suggestions (jQuery UI) — dark premium */
.ui-autocomplete.searchbar-autocomplete{background:var(--panel) !important;border:1px solid var(--line-2) !important;border-radius:16px !important;box-shadow:0 24px 60px rgba(0,0,0,.65) !important;padding:8px !important;margin-top:10px !important;max-height:460px;overflow-y:auto;z-index:3000 !important;min-width:340px}
.ui-autocomplete.searchbar-autocomplete .ui-menu-item{list-style:none;margin:0}
.ui-autocomplete.searchbar-autocomplete .ui-menu-item-wrapper,
.ui-autocomplete.searchbar-autocomplete .ui-menu-item > a,
.ui-autocomplete.searchbar-autocomplete .ui-menu-item a{display:flex !important;align-items:center;gap:14px;padding:9px 12px !important;border-radius:11px !important;color:var(--fg) !important;font-size:14px;text-decoration:none;border:none !important;background:transparent !important;line-height:1.3}
.ui-autocomplete.searchbar-autocomplete img{width:46px;height:46px;object-fit:contain;border-radius:9px;background:#fff;flex:none;padding:3px}
.ui-autocomplete.searchbar-autocomplete .ui-menu-item-wrapper.ui-state-active,
.ui-autocomplete.searchbar-autocomplete .ui-menu-item-wrapper:hover,
.ui-autocomplete.searchbar-autocomplete .ui-menu-item a:hover,
.ui-autocomplete.searchbar-autocomplete .ui-state-active{background:var(--line) !important;color:var(--fg) !important;border:none !important;margin:0 !important}
/* compte / panier / langue compacts */
.lh-tools a,.lh-tools .blockcart *{color:var(--fg-dim) !important;font-size:13.5px}
.lh-tools a:hover{color:var(--fg) !important}
/* pastille panier : petit rond vert, masqué si vide */
.lh-tools .blockcart .header a{display:inline-flex;align-items:center;gap:7px}
.lh-tools .cart-products-count{background:var(--acc) !important;color:var(--acc-ink) !important;font-size:11px !important;font-weight:700;min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-variant-numeric:tabular-nums}
.lh-tools .cart-products-count.lh-empty{display:none}
/* sélecteur de langue : juste le drapeau + petit chevron */
.lh-lang-btn{display:inline-flex !important;align-items:center;gap:5px;padding:6px 8px !important}
.lh-flag{width:20px;height:14px;object-fit:cover;border-radius:3px;display:block;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.lh-lang-btn .material-icons{font-size:16px !important;color:var(--fg-mute) !important}
.language-selector .dropdown-menu{background:var(--panel) !important;border:1px solid var(--line-2) !important;border-radius:12px !important;box-shadow:0 20px 50px rgba(0,0,0,.6) !important;padding:6px !important}
.language-selector .dropdown-menu .dropdown-item{display:flex !important;align-items:center;gap:9px;color:var(--fg-dim) !important;border-radius:8px !important;padding:7px 10px !important;font-size:13.5px}
.language-selector .dropdown-menu li.current .dropdown-item,.language-selector .dropdown-menu .dropdown-item:hover{background:var(--line) !important;color:var(--fg) !important}

/* ---- Header : hauteur compacte (façon maquette) ---- */
#header{padding:0 !important}
.header-top{padding:0 !important}
.header-banner{display:none !important}
.lh-mainbar{padding:11px 24px !important}
.lh-util-in{min-height:36px}
/* ============================================================
   LIFE — thème enfant de classic · design system global
   Étape 1 : identité (couleurs, typo, header, footer, boutons, produits)
   NB: overrides du thème classic (light/Bootstrap) vers l'univers LIFE (dark premium).
   ============================================================ */

:root{
  --bg:#0B0C0B; --bg-2:#111311; --panel:#161816; --panel-2:#1B1E1B;
  --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.16);
  --fg:#EEF1EE; --fg-dim:#A7ADA7; --fg-mute:#8B918B;
  --acc:#00E676; --acc-hover:#1aef86; --acc-ink:#04140b;
  --radius:12px;
  --f:"Helvetica Neue",Helvetica,Arial,system-ui,-apple-system,sans-serif;
}

/* ---------- Base ---------- */
body{background:var(--bg)!important;color:var(--fg);font-family:var(--f);-webkit-font-smoothing:antialiased}
#wrapper,.page-content,#content,#main,.container{background:transparent}
a{color:var(--fg)}
a:hover{color:var(--acc);text-decoration:none}
h1,h2,h3,h4,.h1,.h2,.h3{font-family:var(--f);letter-spacing:-.02em;color:var(--fg);font-weight:750}
.page-header h1,.h1{font-weight:800;letter-spacing:-.03em}
hr{border-color:var(--line)}

/* ---------- Header ---------- */
#header{background:var(--bg-2);border-bottom:1px solid var(--line);box-shadow:none}
.header-top,.header-nav{background:transparent!important;border:0!important}
#_desktop_logo img,.logo{max-height:40px;width:auto}
#header a{color:var(--fg-dim)}
#header a:hover{color:var(--fg)}
/* Main menu */
.top-menu,.top-menu *{background:transparent!important;border:0!important}
#_desktop_top_menu .top-menu a.dropdown-item,.top-menu a{color:var(--fg-dim);font-size:14px}
#_desktop_top_menu .top-menu a:hover{color:var(--acc)}
.menu-dropdown,.popover,.sub-menu{background:var(--bg-2)!important;border:1px solid var(--line)!important;box-shadow:0 24px 40px -20px rgba(0,0,0,.7)!important}
/* Search — style piloté par home.css (.lh-* : pilule + loupe SVG). Rien ici pour ne pas écraser background-image. */
#search_widget button,.search-widget button{color:var(--fg-dim)}
/* Cart / account icons */
.blockcart,.blockcart.active{background:transparent!important;color:var(--fg)}
.cart-products-count{background:var(--acc);color:var(--acc-ink)}

/* ---------- Buttons ---------- */
.btn-primary,.add-to-cart,.btn.btn-primary{
  background:var(--acc)!important;border-color:var(--acc)!important;color:var(--acc-ink)!important;
  font-weight:700;border-radius:8px;box-shadow:none;text-transform:none;letter-spacing:0}
.btn-primary:hover,.add-to-cart:hover{background:var(--acc-hover)!important;border-color:var(--acc-hover)!important;color:var(--acc-ink)!important}
.btn-secondary,.btn-tertiary,.btn-outline-primary{
  background:transparent!important;border:1px solid var(--line-2)!important;color:var(--fg)!important;border-radius:8px}
.btn-secondary:hover{border-color:var(--fg)!important;color:var(--fg)!important}
.btn-unstyle{color:var(--fg-dim)}

/* ---------- Breadcrumb ---------- */
.breadcrumb{background:transparent;padding-left:0}
.breadcrumb a,.breadcrumb li::after{color:var(--fg-mute)}
.breadcrumb li:last-child a{color:var(--acc)}

/* ---------- Product miniatures (grille catégorie / home) ---------- */
.product-miniature .thumbnail-container,.product-miniature .card,.js-product .card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .2s}
.product-miniature:hover .thumbnail-container{border-color:var(--line-2)}
.product-miniature .product-title a{color:var(--fg);font-weight:700}
.product-miniature .product-title a:hover{color:var(--acc)}
.product-miniature .product-price-and-shipping .price,.product-price,.current-price span{color:var(--fg);font-weight:800;font-variant-numeric:tabular-nums}
.product-miniature .regular-price{color:var(--fg-mute);text-decoration:line-through}
.product-flag,.discount,.discount-percentage{background:var(--acc)!important;color:var(--acc-ink)!important;border-radius:5px;font-weight:800}
.product-flag.new{background:transparent!important;border:1px solid var(--line-2)!important;color:var(--fg-dim)!important}

/* ---------- Cards / panels generic ---------- */
.card,.block,.page-content.card,.checkout-step,.address,.order-confirmation-table{
  background:var(--panel)!important;border:1px solid var(--line)!important;color:var(--fg);border-radius:var(--radius)}
.form-control,.input-group input,select.form-control{
  background:var(--panel-2)!important;border:1px solid var(--line-2)!important;color:var(--fg)!important;border-radius:8px}
.form-control::placeholder{color:var(--fg-mute)}
label,.form-control-label{color:var(--fg-dim)}

/* ---------- Footer ---------- */
#footer{background:var(--bg-2);border-top:1px solid var(--line);color:var(--fg-mute);margin-top:60px;padding-top:40px}
#footer a{color:var(--fg-mute)}
#footer a:hover{color:var(--fg)}
.footer-container h3,.footer-container .h3{color:var(--fg-dim);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
#footer .links li,.block-contact{border-color:var(--line)}
.block_newsletter input[type=text]{background:var(--panel)!important;border:1px solid var(--line-2)!important;color:var(--fg)!important;border-radius:8px}

/* ---------- Reassurance / misc ---------- */
.block-reassurance{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.block-reassurance li{border-color:var(--line)}
.block-reassurance span{color:var(--fg-dim)}
.block-reassurance svg *{stroke:var(--acc)}

/* ---------- Utility ---------- */
.text-muted,.small,small{color:var(--fg-mute)!important}
.dropdown-menu{background:var(--bg-2);border:1px solid var(--line)}
.dropdown-item{color:var(--fg-dim)}
.dropdown-item:hover{background:var(--panel);color:var(--fg)}
::selection{background:var(--acc);color:var(--acc-ink)}

/* ================= LIFE — passe MOBILE complète v2 ================= */
/* contenu toujours visible sur mobile (le reveal au scroll laissait des vides) */
@media(max-width:860px){ .life-home .reveal{opacity:1 !important;transform:none !important} }

/* ---------- HERO mobile : image produit intégrée sous le titre ---------- */
.lh-media-m{display:none;text-align:center}
.lh-media-m .lh-hero-swat{margin-top:8px}
@media(max-width:860px){
  #wrapper{padding-top:0 !important}   /* supprime les 25px fantômes classic sous le header */
  .lh-hero{padding-top:0 !important;border-bottom:1px solid var(--line)}
  .lh-hero-in{display:block !important;min-height:0;padding:6px 0 22px !important}
  .lh-hero .eyebrow{margin:0 0 3px !important}
  .lh-media{display:none !important}
  .lh-media-m{display:block;margin:10px auto 4px}
  .lh-media-m img{width:min(78%,300px);height:auto;filter:drop-shadow(0 24px 30px rgba(0,0,0,.55));display:inline-block}
  .lh-hero .sub{max-width:none}
}
@media(max-width:600px){
  .lh-hero h1{font-size:clamp(30px,9vw,42px) !important;margin-top:2px !important;line-height:1.03}
  .lh-media-m img{width:min(80%,290px)}
  .lh-hero .sub{margin-top:16px;font-size:15px}
  .lh-hero .buy{margin-top:16px}
  .lh-hero .lh-cta{margin-top:16px}
  .lh-cta .lh-btn{flex:1;justify-content:center;padding:13px}
}

/* ---------- CARDS PRODUIT : grille 2 colonnes + image qui remplit ---------- */
@media(max-width:600px){
  .products.lh-grid,.lh-grid{grid-template-columns:repeat(2,1fr) !important;gap:10px !important}
  .lh-pc .ph{height:132px;padding:8px}
  .lh-pc .ph img{max-height:120px;max-width:94%;height:auto}
  .lh-pc .bd{padding:12px}
  .lh-pc .nm{font-size:13.5px;margin-top:6px}
  .lh-pc .lh-specs{gap:5px;margin-top:10px;padding-top:10px}
  .lh-pc .lh-spec .k{font-size:8px}
  .lh-pc .lh-spec .v{font-size:11px}
  .lh-pc .lh-swat{gap:5px;margin-top:10px}
  .lh-pc .lh-swat .s{width:12px;height:12px}
  .lh-pc .now,.lh-pc .price,.lh-pc .buy2 .pr{font-size:14px}
  .lh-pc .was{font-size:11px}
  .lh-pc .buy2{padding-top:12px}
  .lh-pc .buy2 .lh-btn{padding:9px;font-size:13px}
  .lh-pc .tag{font-size:10px;padding:2px 7px;top:8px;left:8px}
}

/* ---------- HEADER mobile : burger + logo | loupe + compte + panier ---------- */
@media(max-width:991px){
  .lh-mainbar{padding:12px 18px !important;flex-wrap:nowrap}
  .lh-mobilebar{display:flex !important;align-items:center;gap:14px;width:100%}
  #menu-icon{margin:0 !important;flex:none;display:flex;align-items:center;color:var(--fg-dim)}
  #menu-icon .material-icons{font-size:26px}
  #_mobile_logo{margin:0 !important;flex:none}
  .lh-mobile-icons{margin-left:auto !important;display:flex !important;align-items:center;gap:18px}
  .lh-mobile-icons>*{margin:0 !important;display:flex;align-items:center}
  .lh-mobile-icons a,.lh-msearch-btn{color:var(--fg-dim) !important}
  .lh-msearch-btn{background:none;border:0;padding:0;cursor:pointer;line-height:0}
  .lh-mobile-icons .cart-products-count{background:var(--acc) !important;color:var(--acc-ink) !important;font-size:10px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;margin-left:3px;line-height:1}

  /* FOOTER dark (accordéons classic en blanc -> dark) */
  #footer_sub_menu_1,#footer_sub_menu_2,#footer_account_list,#footer .collapse,#footer ul.collapse,#footer .footer-container,#footer .block{background:var(--bg) !important}

  /* MENU mobile (drawer) dark cohérent */
  #mobile_top_menu_wrapper{background:var(--bg) !important}
  #mobile_top_menu_wrapper *{background-color:transparent !important;color:var(--fg-dim) !important}
  #mobile_top_menu_wrapper .mega-h,#mobile_top_menu_wrapper .eyebrow{color:var(--fg-mute) !important}
  #mobile_top_menu_wrapper a{color:var(--fg-dim) !important}
  #mobile_top_menu_wrapper a span{color:var(--fg-mute) !important}
  #mobile_top_menu_wrapper select.link{background:var(--panel) !important;color:var(--fg) !important;border:1px solid var(--line-2) !important;border-radius:8px;padding:9px}
}

/* ---------- Barre de recherche mobile dépliable (loupe) ---------- */
.lh-msearch{padding:0 18px 12px;border-bottom:1px solid var(--line);background:var(--bg)}
.lh-msearch[hidden]{display:none}
.lh-msearch form{position:relative;display:flex;align-items:center}
.lh-msearch input[type=text]{width:100%;background:var(--panel);border:1px solid var(--line-2);color:var(--fg);border-radius:999px;padding:12px 44px 12px 18px;font-size:15px;line-height:1.2}
.lh-msearch input::placeholder{color:var(--fg-mute)}
.lh-msearch input:focus{border-color:var(--acc);outline:none}
.lh-msearch button[type=submit]{position:absolute;right:10px;background:none;border:0;color:var(--fg-mute);display:flex;padding:6px;cursor:pointer}

/* ---------- MOBILE : anti-débordement horizontal + gouttières latérales ---------- */
@media(max-width:860px){
  html,body,#wrapper{overflow-x:hidden !important;max-width:100%}
}
@media(max-width:600px){
  /* gouttières latérales cohérentes (contenu ne touche plus les bords) */
  .lh-toolbar,.products.lh-grid,.lh-catseo,.lh-catlinks{padding-left:16px !important;padding-right:16px !important}
  /* menu de tri : reste dans l'écran */
  .products-sort-order,.sort-orders{position:relative}
  .products-sort-order .dropdown-menu,.sort-orders .dropdown-menu,.lh-toolbar .dropdown-menu{position:absolute !important;right:0 !important;left:auto !important;min-width:210px;max-width:calc(100vw - 32px);z-index:200}
}

/* ===== MENU MOBILE (agent 9) ===== */
/* ============================================================================
   MENU MOBILE — drawer premium (Apple du lithium)
   Scope : #mobile_top_menu_wrapper, cloné depuis .js-top-menu ul[data-depth=0]
   Structure réelle :
     ul.top-menu
       li.category.has-mega > a.dropdown-item (Batteries)
         div.mega > div.mega-in
           div.mcol  ( div.mega-h [eyebrow]  +  a > span [compteur] ) ×3
           a.mfeat   (masqué)
       li.category / li.cms-page > a.dropdown-item (top-level)
     .js-top-menu-bottom > #_mobile_language_selector (select.link) ...
   À placer EN FIN de life-all.css (gagne sur les blocs mobile précédents).
   ============================================================================ */
@media (max-width:991px){

  /* ---- Conteneur du drawer ---- */
  #mobile_top_menu_wrapper{
    background:var(--bg) !important;
    padding:0 0 28px !important;
    -webkit-font-smoothing:antialiased;
  }
  #mobile_top_menu_wrapper #_mobile_top_menu{margin:0 !important;padding:0 !important}
  #mobile_top_menu_wrapper ul.top-menu,
  #mobile_top_menu_wrapper .top-menu{margin:0 !important;padding:0 !important;list-style:none !important}
  #mobile_top_menu_wrapper li{list-style:none !important;margin:0 !important}

  /* Aplatit le méga-menu : une seule colonne, pas d'ombre/cadre desktop */
  #mobile_top_menu_wrapper .mega,
  #mobile_top_menu_wrapper .mega-in,
  #mobile_top_menu_wrapper .sub-menu,
  #mobile_top_menu_wrapper .sub-menu>ul{
    display:block !important;
    grid-template-columns:1fr !important;
    position:static !important;
    padding:0 !important;margin:0 !important;gap:0 !important;
    background:transparent !important;
    border:0 !important;box-shadow:none !important;
    opacity:1 !important;visibility:visible !important;transform:none !important;
    width:auto !important;min-width:0 !important;
  }
  #mobile_top_menu_wrapper .mfeat{display:none !important}

  /* ---------------------------------------------------------------------------
     GROUPES DE PREMIER NIVEAU
     Chaque li.top-level = un groupe, séparé par un filet fin (iOS grouped list)
     --------------------------------------------------------------------------- */
  #mobile_top_menu_wrapper .top-menu>li{
    border-bottom:1px solid var(--line) !important;
    padding:0 !important;
  }
  #mobile_top_menu_wrapper .top-menu>li:last-child{border-bottom:0 !important}

  /* Titre de catégorie (Batteries, Chargeurs & solaire, Équipements, …) */
  #mobile_top_menu_wrapper .top-menu>li>a{
    display:flex !important;align-items:center;justify-content:space-between;
    padding:17px 22px !important;
    min-height:52px;
    font-size:16px !important;
    font-weight:600 !important;
    letter-spacing:-.01em;
    line-height:1.25;
    color:var(--fg) !important;
    background:transparent !important;
    text-transform:none !important;
  }
  #mobile_top_menu_wrapper .top-menu>li>a:active{
    background:var(--bg-2) !important;color:var(--acc) !important;
  }

  /* ---------------------------------------------------------------------------
     SECTIONS DU MÉGA (PAR TENSION / PAR USAGE / COMPLÉTER)
     Eyebrow discret, majuscules espacées, séparé par un filet subtil en tête
     --------------------------------------------------------------------------- */
  #mobile_top_menu_wrapper .mega-h,
  #mobile_top_menu_wrapper .mcol h4{
    display:block !important;
    margin:0 !important;
    padding:22px 22px 8px !important;
    border-top:1px solid var(--line) !important;
    font-size:11px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:.16em !important;
    text-transform:uppercase !important;
    color:var(--fg-mute) !important;
    background:transparent !important;
  }
  /* La 1re section (juste sous le lien Batteries) : pas de double filet */
  #mobile_top_menu_wrapper .mcol:first-child .mega-h,
  #mobile_top_menu_wrapper .mcol:first-child h4{
    border-top:0 !important;padding-top:12px !important;
  }

  /* Sous-liens du méga (12 V, Float tube, Chargeurs, …) : plus légers */
  #mobile_top_menu_wrapper .mega .mcol a,
  #mobile_top_menu_wrapper .mcol a,
  #mobile_top_menu_wrapper .sub-menu a{
    display:flex !important;align-items:center;justify-content:space-between;
    gap:14px;
    padding:12px 22px !important;
    min-height:46px;
    font-size:15px !important;
    font-weight:450 !important;
    line-height:1.3;
    color:var(--fg-dim) !important;
    background:transparent !important;
    border:0 !important;
    text-transform:none !important;
  }
  #mobile_top_menu_wrapper .mega .mcol a:active,
  #mobile_top_menu_wrapper .mcol a:active{
    background:var(--bg-2) !important;color:var(--acc) !important;
  }

  /* Compteurs / badges ("2", "1", "6", "bientôt") alignés à droite */
  #mobile_top_menu_wrapper .mcol a span,
  #mobile_top_menu_wrapper .mega .mcol a span{
    flex:none;
    margin-left:auto;
    min-width:20px;
    padding:2px 9px;
    border-radius:999px;
    background:var(--bg-2) !important;
    border:1px solid var(--line) !important;
    font-size:11px !important;
    font-weight:600 !important;
    line-height:1.5;
    text-align:center;
    letter-spacing:.02em;
    color:var(--fg-mute) !important;
    font-variant-numeric:tabular-nums;
    font-feature-settings:"tnum" 1;
    text-transform:lowercase;
  }

  /* ---------------------------------------------------------------------------
     BAS DU DRAWER — sélecteurs langue / devise / contact
     --------------------------------------------------------------------------- */
  #mobile_top_menu_wrapper .js-top-menu-bottom{
    margin-top:8px !important;
    padding:20px 22px 4px !important;
    border-top:1px solid var(--line-2) !important;
    display:flex;flex-direction:column;gap:12px;
    background:transparent !important;
  }
  #mobile_top_menu_wrapper .js-top-menu-bottom>div{margin:0 !important;padding:0 !important}
  #mobile_top_menu_wrapper .js-top-menu-bottom:empty,
  #mobile_top_menu_wrapper .js-top-menu-bottom>div:empty{display:none !important}

  /* Sélecteur langue / devise : champ propre pleine largeur */
  #mobile_top_menu_wrapper select.link,
  #mobile_top_menu_wrapper .js-top-menu-bottom select{
    -webkit-appearance:none;appearance:none;
    width:100% !important;
    min-height:46px;
    padding:12px 40px 12px 16px !important;
    background-color:var(--panel) !important;
    background-image:linear-gradient(45deg,transparent 50%,var(--fg-mute) 50%),linear-gradient(135deg,var(--fg-mute) 50%,transparent 50%);
    background-position:calc(100% - 20px) center,calc(100% - 15px) center;
    background-size:5px 5px,5px 5px;
    background-repeat:no-repeat;
    color:var(--fg) !important;
    border:1px solid var(--line-2) !important;
    border-radius:12px !important;
    font-size:14.5px !important;font-weight:500;
    line-height:1.2;
  }
  #mobile_top_menu_wrapper select.link:focus{border-color:var(--acc) !important;outline:none}

  /* Lien contact éventuel : aligné sur le reste */
  #mobile_top_menu_wrapper #_mobile_contact_link a{
    display:flex;align-items:center;min-height:46px;
    color:var(--fg-dim) !important;font-size:14.5px;font-weight:500;
  }
}


/* ===== FILTRES MOBILE (agent 10) ===== */
/* ============================================================================
   LIFE — FIX FILTRES MOBILE (overlay ps_facetedsearch)
   À APPENDRE À LA FIN de themes/life/assets/css/life-all.css
   (puis bumper le cache-buster du <link> life-all.xxxx.css)
   ----------------------------------------------------------------------------
   CAUSE RACINE (confirmée au rendu, viewport 500px) :
   Le thème classic (compilé dans modules/.../? -> themes/life/assets/css/theme.css)
   applique une "gouttière négative" NON compensée sur le panneau de filtres :

       @media (max-width:767px){
         #category #left-column #search_filters_wrapper{ margin-left:-30px; margin-right:-30px; }
       }
       @media (max-width:575px){
         #category #left-column #search_filters_wrapper{ margin-left:-15px; margin-right:-15px; }
       }

   Dans le thème classic, #left-column est une colonne Bootstrap avec padding
   15px qui absorbe cette marge négative. Le thème LIFE a retiré ce padding de
   colonne -> la marge négative n'est plus compensée : #search_filters_wrapper
   fait viewport+30px de large et commence à x=-15px. Résultat : tout le panneau
   déborde des DEUX côtés, les titres sont rognés à gauche ("Catégories" -> "tégories")
   et les filets débordent à droite (overflow horizontal).

   L'ancien bloc mobile de life-all.css ajoutait bien un padding 18px sur les
   éléments mais NE neutralisait PAS la marge négative -> le décalage subsistait.

   Le sélecteur fautif a une spécificité de 3 ID (#category #left-column #...wrapper),
   d'où l'usage de la même spécificité + !important ci-dessous.
   ============================================================================ */
@media (max-width:767px){

  /* 1) NEUTRALISER la gouttière négative = correction du cut-off gauche/droite */
  #category #left-column #search_filters_wrapper,
  #left-column #search_filters_wrapper,
  #search_filters_wrapper{
    margin-left:0 !important;
    margin-right:0 !important;
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
  }

  /* 2) Conteneurs internes en pleine largeur, jamais plus large que le viewport */
  #search_filters,
  #search_filter_controls{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  /* Titre desktop "Filtrer par" resté masqué (hidden-sm-down) : neutre */
  #search_filters > p.hidden-sm-down{padding:0 !important;margin:0 !important;}

  /* 3) Chaque facette = bloc pleine largeur séparé par un filet --line */
  #search_filters .facet,
  #search_filters_wrapper .facet{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-bottom:1px solid var(--line) !important;
    border-radius:0 !important;
    background:transparent !important;
    box-sizing:border-box !important;
  }
  #search_filters .facet:last-child{border-bottom:0 !important;}

  /* 4) Gouttière latérale homogène (19px) portée par les conteneurs de ligne */
  #search_filters .facet .title,
  #search_filters .facet ul,
  #search_filters .facet .facet-dropdown{
    padding-left:19px !important;
    padding-right:19px !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  /* En-tête mobile cliquable de la facette (div.title.hidden-md-up, flex) */
  #search_filters .facet .title{
    padding-top:16px !important;
    padding-bottom:16px !important;
    display:flex !important;
    align-items:center !important;
  }

  /* Titre visible sur mobile : DANS .title -> pas de padding propre (sinon
     double gouttière) + annulation du width:calc(100% - 30px) du module qui,
     combiné à l'overflow:hidden, participait au rognage */
  #search_filters .facet .title .facet-title,
  #search_filters .facet .title .h6.facet-title{
    padding:0 !important;
    margin:0 !important;
    width:auto !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:15px !important;
    color:var(--fg) !important;
  }
  #search_filters .facet .title .collapse-icons{margin-left:auto !important;flex:none !important;}

  /* Liste d'options : padding vertical propre, gouttière déjà posée en 4) */
  #search_filters .facet ul{
    padding-top:0 !important;
    padding-bottom:12px !important;
    margin:0 !important;
    list-style:none !important;
  }

  /* li / label : plus de padding latéral propre (hérite de la gouttière du ul) */
  #search_filters .facet li,
  #search_filters .facet-label{
    padding-left:0 !important;
    padding-right:0 !important;
    margin:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  /* Lien d'option : pleine largeur du conteneur, jamais de débordement */
  #search_filters .facet-label a,
  #search_filters .facet li a{
    width:100% !important;
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  /* 5) Barre de contrôle mobile (bouton "OK" d'application) — propre + alignée */
  #search_filter_controls{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    padding:14px 19px !important;
    border-bottom:1px solid var(--line) !important;
    box-sizing:border-box !important;
  }
  #search_filter_controls .ok{
    margin:0 0 0 auto !important;     /* poussé à droite, aligné sur la gouttière */
    box-sizing:border-box !important;
  }
}


/* ================================================================
   HERO — MOBILE-FIRST (compact par défaut ; desktop restauré >860px)
   Immunise contre TOUTE media query max-width qui n'appliquerait pas
   (paysage, iPad, cache…). C'est la vraie correction responsive.
   ================================================================ */
body .life-home .lh-hero{padding-top:0 !important;border-bottom:1px solid var(--line)}
body .life-home .lh-hero-in{display:block !important;grid-template-columns:none !important;min-height:0 !important;height:auto !important;padding:8px 0 24px !important;margin:0 !important;align-items:initial !important;gap:0 !important}
body .life-home .lh-hero .lh-media{display:none !important}
body .life-home .lh-media-m{display:block !important;margin:10px auto 4px !important;text-align:center}
body .life-home .lh-media-m img{width:min(80%,300px);height:auto;filter:drop-shadow(0 24px 30px rgba(0,0,0,.55));display:inline-block}
body .life-home .lh-hero .eyebrow{margin:0 0 4px !important;padding-top:0 !important}
body .life-home .lh-hero h1{margin-top:2px !important;font-size:clamp(30px,9vw,42px);line-height:1.03}
body .life-home .lh-hero .sub{max-width:none;margin-top:16px;font-size:15px}
@media (min-width:861px){
  body .life-home .lh-hero{padding-top:76px !important}
  body .life-home .lh-hero-in{display:grid !important;grid-template-columns:1fr 1fr !important;min-height:520px !important;padding:56px 0 !important;align-items:center !important;gap:40px !important}
  body .life-home .lh-hero .lh-media{display:grid !important}
  body .life-home .lh-media-m{display:none !important}
  body .life-home .lh-hero h1{font-size:clamp(38px,5.4vw,66px) !important;margin-top:14px !important;line-height:1.02}
  body .life-home .lh-hero .eyebrow{margin:0 !important}
  body .life-home .lh-hero .sub{max-width:46ch;margin-top:22px;font-size:16.5px}
}

/* Débordement footer (Bootstrap .row -15px non compensé) + défensif toutes tailles */
@media (max-width:860px){
  #footer .row,.block_newsletter .row,.footer-container .row{margin-left:0 !important;margin-right:0 !important}
}
html,body{overflow-x:clip}
.life-home img,#content img,.rte-content img,table{max-width:100%}
