/* ============================================================================
 * GreenVisuaLED Nature Vivante — header.css — GLOBAL (toutes les pages), p200.
 *
 * Chrome "Nature Vivante" : topbar, header sticky, recherche, compte/wishlist/
 * panier, CTA devis, MEGA MENU ETS (habille, PAS recode), drawer mobile.
 * Depend des tokens --gvl-* declares dans theme-global.css (charge en global).
 *
 * SCOPING : selecteurs prefixes .gvl-* + classes reelles du module ETS. On ne
 * touche a aucun selecteur generique global (body, a, h1 nus). Le markup est
 * celui de templates/_partials/header.tpl.
 * ============================================================================ */

/* ---------- TOPBAR (tel / email / langues) ---------- */
.gvl-topbar{background:var(--gvl-green-deep);color:#EAF3E1;font-size:13px;}
.gvl-topbar .gvl-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px;flex-wrap:wrap;}
/* #header a{color:#232323} de classic (specificite ID) ecrasait nos liens clairs
   de topbar -> texte fonce sur fond vert fonce. On reprend la main avec #header. */
#header .gvl-topbar a,.gvl-topbar a{color:#EAF3E1;text-decoration:none;}
#header .gvl-topbar a:hover,.gvl-topbar a:hover{color:#fff;}
.gvl-topbar__brandline{font-family:var(--gvl-mono);letter-spacing:.16em;text-transform:uppercase;font-size:11.5px;color:var(--gvl-accent);margin:0;}
.gvl-topbar__right{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.gvl-topbar__item{display:inline-flex;align-items:center;gap:7px;}
.gvl-topbar__item svg{width:15px;height:15px;color:var(--gvl-accent);}
/* Selecteur de langue : le theme classic surcharge ps_languageselector en
   markup Bootstrap reel = #_desktop_language_selector > .language-selector-wrapper
   > .language-selector.dropdown > button[data-toggle] + ul.dropdown-menu (+ select
   mobile). On habille ces classes pour le fond vert profond. Ouverture au SURVOL
   (robuste, sans JS) + a l'etat aria-expanded (clic gere par le JS classic). */
.gvl-lang{position:relative;display:inline-flex;align-items:center;}
.gvl-lang #_desktop_language_selector,
.gvl-lang .language-selector-wrapper{display:inline-flex;align-items:center;}
.gvl-lang #language-selector-label{display:none;}
.gvl-lang .language-selector{position:relative;}
.gvl-lang .language-selector > button{
  display:inline-flex;align-items:center;gap:4px;cursor:pointer;background:transparent;border:0;
  padding:4px 8px;border-radius:9px;color:#EAF3E1;font-family:var(--gvl-mono);letter-spacing:.08em;
  text-transform:uppercase;font-size:11.5px;transition:color .15s ease,background .15s ease;}
.gvl-lang .language-selector > button:hover{color:#fff;background:rgba(255,255,255,.09);}
.gvl-lang .language-selector .expand-more{color:inherit;}
.gvl-lang .language-selector .material-icons{font-size:16px;line-height:1;transition:transform .18s ease;}
.gvl-lang .language-selector:hover .material-icons,
.gvl-lang .language-selector > button[aria-expanded="true"] .material-icons{transform:rotate(180deg);}
.gvl-lang .dropdown-menu{
  position:absolute;top:calc(100% + 6px);right:0;left:auto;min-width:182px;margin:0;padding:6px;list-style:none;z-index:85;
  background:var(--gvl-surface,#fff);border:1px solid var(--gvl-line);border-radius:14px;box-shadow:var(--sh-2);
  display:block;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease,visibility .16s;}
.gvl-lang .language-selector:hover .dropdown-menu,
.gvl-lang .language-selector > button[aria-expanded="true"] + .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);}
.gvl-lang .dropdown-menu li{margin:0;}
/* #header prefixe : sinon #header a (classic) et notre #header .gvl-topbar a
   rendaient ces items clairs sur le menu blanc (illisibles). */
#header .gvl-lang .dropdown-item{
  display:block;padding:9px 12px;border-radius:9px;color:var(--gvl-ink);text-decoration:none;
  font-family:var(--gvl-text);text-transform:none;letter-spacing:0;font-size:14px;transition:background .14s ease,color .14s ease;}
#header .gvl-lang .dropdown-item:hover{background:var(--gvl-tint);color:var(--gvl-green-deep);}
#header .gvl-lang .dropdown-menu li.current .dropdown-item{background:var(--gvl-tint);color:var(--gvl-green-deep);font-weight:700;}
.gvl-lang .language-selector > select.link{display:none;}

/* ---------- HEADER STICKY ---------- */
#header{background:transparent;box-shadow:none;}
.gvl-header{position:sticky;top:0;z-index:60;background:rgba(247,247,242,.94);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--gvl-line);}
.gvl-header__main{display:flex;align-items:center;gap:22px;min-height:76px;}
.gvl-brand{display:flex;align-items:center;flex:none;text-decoration:none;padding:6px 0;}
/* renderLogo imbrique un <a><img class="logo img-fluid"> : on cible avec assez de
   specificite pour brider la hauteur (l'image logo est large, 317x75). */
.gvl-header__main .gvl-brand img,
.gvl-header__main .gvl-brand img.logo{height:38px !important;width:auto !important;max-height:38px;border-radius:6px;display:block;}
.gvl-brand > a{display:inline-flex;align-items:center;line-height:0;}
.gvl-brand--wordmark{font-family:var(--gvl-display);font-weight:800;font-size:24px;letter-spacing:-.01em;color:var(--gvl-green-deep);}
.gvl-brand--wordmark .v{color:var(--gvl-green-deep);}
.gvl-brand--wordmark .led{color:var(--gvl-green);}

/* Recherche : wrapper theme + widget natif ps_searchbar (#search_widget) */
.gvl-search{flex:1;max-width:430px;position:relative;}
.gvl-search__form{position:relative;}
.gvl-search__form .ico,.gvl-search .ico{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--gvl-muted);pointer-events:none;}
.gvl-search input,
.gvl-header #search_widget input[type=text],
.gvl-header #search_widget input.ui-autocomplete-input{
  width:100%;border:2px solid var(--gvl-line);background:#fff;border-radius:var(--r-pill);
  padding:12px 18px 12px 44px;font-family:var(--gvl-text);font-size:15px;color:var(--gvl-ink);outline:none;}
.gvl-search input:focus,.gvl-header #search_widget input:focus{border-color:var(--gvl-green);}
.gvl-header #search_widget [type=submit]{background:transparent;border:0;color:var(--gvl-green-700);}
.gvl-header .ui-autocomplete{border-radius:var(--r-md);border:1px solid var(--gvl-line);box-shadow:var(--sh-2);background:#fff;}
.gvl-header .ui-menu-item a:hover,.gvl-header .ui-menu-item.ui-state-focus{background:var(--gvl-tint);color:var(--gvl-green-deep);}

/* ---------- Actions : compte / wishlist / panier / devis ---------- */
.gvl-header__actions{display:flex;align-items:center;gap:6px;margin-left:auto;}
.gvl-icon-btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:var(--r-pill);background:#fff;border:2px solid var(--gvl-line);
  color:var(--gvl-green-deep);text-decoration:none;transition:border-color .15s ease,background .15s ease,transform .15s ease;}
.gvl-icon-btn:hover{border-color:var(--gvl-green-700);background:var(--gvl-tint);transform:translateY(-1px);color:var(--gvl-green-deep);}
.gvl-icon-btn svg{width:20px;height:20px;}
.gvl-badge,.gvl-icon-btn .cart-products-count{
  position:absolute;top:-5px;right:-5px;background:var(--gvl-green);color:#0F1F12;
  font-family:var(--gvl-mono);font-size:11px;font-weight:700;min-width:19px;height:19px;border-radius:var(--r-pill);
  display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--gvl-bg);}
.gvl-badge.is-bump{animation:gvlBadgeBump .42s cubic-bezier(.4,0,.2,1);}
@keyframes gvlBadgeBump{0%{transform:scale(1);}35%{transform:scale(1.45);}100%{transform:scale(1);}}

/* ---------- MINI-PANIER (clic sur l'icone panier -> apercu deroulant) ----------
   Contenu = module natif ps_shoppingcart (blockcart) rendu via {widget}. Son JS
   rafraichit ce bloc sur 'updateCart'. On masque son entete (on a la notre) et
   on restylise corps + sous-totaux + total dans le tiroir. */
.gvl-cart{position:relative;}
.gvl-minicart{
  position:absolute;top:calc(100% + 12px);right:0;width:360px;max-width:92vw;z-index:90;
  background:var(--gvl-surface,#fff);border:1px solid var(--gvl-line);border-radius:18px;box-shadow:var(--sh-2);
  padding:14px;opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s;}
.gvl-cart.is-open .gvl-minicart{opacity:1;visibility:visible;transform:translateY(0);}
.gvl-minicart::before{content:"";position:absolute;top:-7px;right:18px;width:14px;height:14px;
  background:var(--gvl-surface,#fff);border-left:1px solid var(--gvl-line);border-top:1px solid var(--gvl-line);transform:rotate(45deg);}
.gvl-minicart__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.gvl-minicart__head span{font-family:var(--gvl-display);font-weight:800;font-size:15px;color:var(--gvl-green-deep);}
.gvl-minicart__close{width:30px;height:30px;border:0;background:transparent;color:var(--gvl-muted);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;border-radius:8px;}
.gvl-minicart__close:hover{background:var(--gvl-tint);color:var(--gvl-green-deep);}
.gvl-minicart__close svg{width:18px;height:18px;}
.gvl-minicart #blockcart-wrapper{display:block;}
.gvl-minicart .blockcart > .header{display:none;}
.gvl-minicart .blockcart .body > ul{list-style:none;margin:0 0 6px;padding:0;max-height:282px;overflow-y:auto;}
.gvl-minicart .blockcart .body > ul > li{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:9px 2px;border-bottom:1px solid var(--gvl-line);font-size:13.5px;}
.gvl-minicart .product-quantity{flex:none;min-width:26px;text-align:center;font-family:var(--gvl-mono);font-weight:700;
  color:var(--gvl-green-700);background:var(--gvl-tint);border-radius:7px;padding:2px 5px;}
.gvl-minicart .product-name{flex:1 1 50%;color:var(--gvl-ink);line-height:1.3;}
.gvl-minicart .product-name a{color:var(--gvl-ink);text-decoration:none;}
.gvl-minicart .product-name a:hover{color:var(--gvl-green-700);}
.gvl-minicart .product-price{flex:none;margin-left:auto;font-weight:700;color:var(--gvl-green-deep);white-space:nowrap;}
.gvl-minicart .remove-from-cart{flex-basis:100%;text-align:right;font-size:11.5px;color:var(--gvl-muted);text-decoration:underline;}
.gvl-minicart .remove-from-cart:hover{color:#b3261e;}
.gvl-minicart .cart-subtotals,.gvl-minicart .cart-total{display:flex;justify-content:space-between;font-size:13.5px;padding:5px 4px;}
.gvl-minicart .cart-subtotals > div{display:flex;justify-content:space-between;width:100%;color:var(--gvl-muted);}
.gvl-minicart .cart-total{font-family:var(--gvl-display);font-weight:800;color:var(--gvl-green-deep);
  border-top:1px solid var(--gvl-line);margin-top:2px;padding-top:9px;font-size:15px;}
.gvl-minicart__empty{margin:6px 2px 10px;color:var(--gvl-muted);font-size:14px;text-align:center;}
.gvl-minicart__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;}
.gvl-minicart__actions .btn{width:100%;justify-content:center;}

.gvl-header__cta{display:flex;align-items:center;gap:10px;margin-left:6px;}
.gvl-icon-btn--devis{display:none;}
.gvl-burger{display:none;align-items:center;gap:9px;padding:0 16px;height:46px;border-radius:var(--r-pill);
  background:var(--gvl-green-deep);color:#fff;border:0;font-family:var(--gvl-display);font-weight:700;font-size:14px;cursor:pointer;}
.gvl-burger svg{width:20px;height:20px;}

/* ---------- MEGA MENU ETS (habille, pas recode) ---------- */
.gvl-mainnav{border-top:1px solid var(--gvl-line);background:rgba(247,247,242,.6);}
.gvl-mainnav__hook{min-height:0;}
.gvl-mainnav__empty{margin:0;}
.gvl-header .ets_megamenu_wrapper{border-top:1px solid var(--gvl-line);background:rgba(247,247,242,.6);}
.ets_megamenu,.ets_mm_megamenu,.ets_mm_megamenu_content,.ets_mm_megamenu_content_content{background:transparent;border:0;box-shadow:none;}
/* Barre de 1er niveau (vraies classes YBC : ul.mm_menus_ul > li > a). */
.ets_mm_megamenu ul.mm_menus_ul{display:flex;flex-wrap:wrap;align-items:center;gap:2px;list-style:none;padding:0;}
.ets_mm_megamenu ul.mm_menus_ul > li{list-style:none;}
.ets_mm_megamenu ul.mm_menus_ul > li.close_menu{display:none;}
.ets_mm_megamenu ul.mm_menus_ul > li > a,
.ets_mm_megamenu ul.mm_menus_ul > li > .mm_menu_content_title > a{
  font-family:var(--gvl-display);font-weight:700;font-size:14px;letter-spacing:.01em;color:var(--gvl-green-deep);
  padding:0 15px;height:50px;display:inline-flex;align-items:center;gap:6px;border-bottom:3px solid transparent;
  background:transparent;text-transform:none;transition:color .14s ease,border-color .14s ease;}
.ets_mm_megamenu ul.mm_menus_ul > li:hover > a,
.ets_mm_megamenu ul.mm_menus_ul > li.open > a,
.ets_mm_megamenu ul.mm_menus_ul > li:hover > .mm_menu_content_title > a{color:var(--gvl-green-700);border-bottom-color:var(--gvl-green);}
.ets_mm_megamenu ul.mm_menus_ul > li > a .ets_mm_caret,
.ets_mm_megamenu ul.mm_menus_ul .mm_sub_toggle{color:var(--gvl-muted);}
/* BARRE : fond PLEINE LARGEUR (porte par .gvl-mainnav), LIENS CONTENUS.
   Le module YBC (layout5) rend nativement la barre dans le flux et les panneaux
   deroulants en pleine largeur. On NE force PLUS le conteneur en 100vw absolu
   (cela etalait la liste de 1er niveau sur tout l'ecran). On centre juste la liste. */
.gvl-mainnav{position:relative;}
.ets_mm_megamenu .ets_mm_megamenu_content_content{
  position:static;left:auto;transform:none;width:auto;max-width:none;
  background:transparent;border:0;box-shadow:none;border-radius:0;}
.ets_mm_megamenu ul.mm_menus_ul{max-width:var(--gvl-wrap);width:100%;margin:0 auto;}
/* PANNEAU DEROULANT : fond PLEINE LARGEUR via pseudo-element (sans toucher au
   positionnement du module ni a son JS), CONTENU centre dans le panneau.
   Le panneau est deja centre sur l'ecran (largeur du wrap) : le ::before etend
   juste un bandeau de fond 100vw derriere, le contenu reste contenu. */
.ets_mm_megamenu .mm_columns_ul{background:transparent;border:0;box-shadow:none;}
.ets_mm_megamenu .mm_columns_ul::before{
  content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);
  background:var(--gvl-surface);border-top:1px solid var(--gvl-line);box-shadow:var(--sh-2);
  border-radius:0 0 18px 18px;z-index:-1;pointer-events:none;}
.ets_mm_megamenu .mm_columns_contents_ul{
  max-width:var(--gvl-wrap);width:100%;margin:0 auto;padding:24px 24px 28px;}
.ets_mm_megamenu .ets_mm_megamenu_content_content > .container,
.ets_mm_megamenu .ets_mm_megamenu_content_content > .row{
  max-width:var(--gvl-wrap);width:100%;margin:0 auto;padding:26px 24px 30px;
  background:transparent;box-shadow:none;border:0;}
/* ===== PANNEAU DEROULANT YBC layout5 (onglets sous-categorie + grille produit) =====
   Structure reelle : .mm_columns_ul_tab > li.mm_tabs_li (onglet) qui contient
   .mm_tab_li_content (titre onglet) + ul.mm_columns_contents_ul > li.mm_columns_li
   (colonne) > ul.mm_blocks_ul > li.mm_blocks_li > .ets_mm_block_content >
   article.product-miniature (.thumbnail-container + .mm-product-description). */

/* --- Onglets de sous-categorie (colonne de gauche) --- */
.ets_mm_megamenu .mm_tabs_li{list-style:none;margin:0;}
.ets_mm_megamenu .mm_tab_li_content{border:0;background:transparent;}
.ets_mm_megamenu .mm_tab_name,
.ets_mm_megamenu .mm_tab_toggle{
  display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;
  padding:10px 14px;border-radius:11px;color:var(--gvl-green-deep);background:transparent;
  font-family:var(--gvl-display);font-weight:700;font-size:14px;transition:background .14s ease,color .14s ease;}
.ets_mm_megamenu .mm_tab_name:hover,
.ets_mm_megamenu .mm_tabs_li.open > .mm_tab_li_content > .mm_tab_name,
.ets_mm_megamenu .mm_tabs_li.active > .mm_tab_li_content > .mm_tab_name{background:var(--gvl-tint);color:var(--gvl-green-700);}
.ets_mm_megamenu .mm_tab_toggle_title a,
.ets_mm_megamenu .mm_tab_name a{color:inherit;text-transform:none;font-weight:700;}

/* --- Colonnes (chaque colonne = un produit), cote a cote, qui s'enroulent --- */
.ets_mm_megamenu .mm_columns_contents_ul{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;}
.ets_mm_megamenu .mm_columns_contents_ul > .mm_columns_li,
.ets_mm_megamenu .mm_columns_li{list-style:none;float:none;width:180px;max-width:180px;flex:0 0 auto;padding:0;margin:0;}
.ets_mm_megamenu .mm_blocks_ul{display:block;list-style:none;margin:0;padding:0;}
.ets_mm_megamenu .mm_blocks_li{list-style:none;margin:0;padding:0;}
.ets_mm_megamenu .mm_block_type_product > .h4{display:none;}
.ets_mm_megamenu .ets_mm_block{background:transparent;border:0;box-shadow:none;padding:0;margin:0;}
.ets_mm_megamenu .ets_mm_block_content{display:block;}

/* --- Carte produit (markup override .gvl-mmp : image + nom + prix + stock) --- */
.ets_mm_megamenu .gvl-mmp{
  display:flex;flex-direction:column;width:auto;height:auto;margin:0;overflow:hidden;
  border:1px solid var(--gvl-line);border-radius:14px;background:#fff;
  transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease;}
.ets_mm_megamenu .gvl-mmp:hover{border-color:var(--gvl-green);box-shadow:var(--sh-1);transform:translateY(-2px);}
.ets_mm_megamenu .gvl-mmp__media{
  position:relative;display:flex;align-items:center;justify-content:center;height:128px;padding:10px;background:#fff;}
.ets_mm_megamenu .gvl-mmp__img{max-width:100%;max-height:108px;width:auto;height:auto;object-fit:contain;}
.ets_mm_megamenu .gvl-mmp__flags{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:4px;}
.ets_mm_megamenu .gvl-mmp__flag{
  background:var(--gvl-green);color:#0f1f12;font-family:var(--gvl-mono);font-size:10px;font-weight:700;
  padding:2px 7px;border-radius:6px;text-transform:uppercase;letter-spacing:.04em;}
.ets_mm_megamenu .gvl-mmp__flag.discount,.ets_mm_megamenu .gvl-mmp__flag.on-sale{background:#d8472b;color:#fff;}
.ets_mm_megamenu .gvl-mmp__body{display:flex;flex-direction:column;gap:3px;padding:10px 12px 12px;border-top:1px solid var(--gvl-line);}
.ets_mm_megamenu .gvl-mmp__name{
  font-family:var(--gvl-text);font-size:12.5px;line-height:1.35;font-weight:600;color:var(--gvl-ink);text-decoration:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em;}
.ets_mm_megamenu .gvl-mmp__name:hover{color:var(--gvl-green-700);}
.ets_mm_megamenu .gvl-mmp__variant{font-size:11px;color:var(--gvl-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ets_mm_megamenu .gvl-mmp__foot{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:3px;}
.ets_mm_megamenu .gvl-mmp__price{font-family:var(--gvl-display);font-weight:800;font-size:15px;color:var(--gvl-green-deep);}
.ets_mm_megamenu .gvl-mmp__old{font-size:12px;color:var(--gvl-muted);text-decoration:line-through;}
.ets_mm_megamenu .gvl-mmp__stock{
  align-self:flex-start;margin-top:4px;font-family:var(--gvl-mono);font-size:10px;font-weight:700;
  letter-spacing:.02em;text-transform:uppercase;padding:3px 9px;border-radius:20px;white-space:nowrap;
  max-width:100%;overflow:hidden;text-overflow:ellipsis;}
.ets_mm_megamenu .gvl-mmp__stock--available{background:rgba(111,180,58,.18);color:var(--gvl-green-text);}
.ets_mm_megamenu .gvl-mmp__stock--last_remaining_items{background:rgba(214,150,40,.18);color:#8a5d00;}
.ets_mm_megamenu .gvl-mmp__stock--unavailable,
.ets_mm_megamenu .gvl-mmp__stock--out_of_stock{background:rgba(216,71,43,.12);color:#b3261e;}

/* Liens simples de sous-menu (categories sans produits) */
.ets_mm_megamenu .mm_block_type_categories a,
.ets_mm_megamenu .ets_mm_block a:not(.thumbnail):not(.button){
  color:var(--gvl-ink);border-radius:10px;padding:6px 9px;display:inline-block;font-size:14px;transition:background .14s ease,color .14s ease;}
.ets_mm_megamenu .mm_block_type_categories a:hover,
.ets_mm_megamenu .ets_mm_block a:not(.thumbnail):not(.button):hover{background:var(--gvl-tint);color:var(--gvl-green-deep);}
/* Titre de bloc/colonne */
.ets_mm_megamenu .ets_mm_block_title,.ets_mm_megamenu .mm_block_title,.ets_mm_megamenu .title_block{
  font-family:var(--gvl-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gvl-green-text);margin:0 0 10px;}

/* Repli ps_mainmenu / iqitmegamenu si ETS non branche sur displayTop */
#_desktop_top_menu .top-menu a,.menu .top-menu a.dropdown-item{font-family:var(--gvl-display);font-weight:700;color:var(--gvl-green-deep);text-transform:none;}
#_desktop_top_menu .top-menu a:hover,#_desktop_top_menu .top-menu .sub-menu a:hover{color:var(--gvl-green-700);}
#_desktop_top_menu .sub-menu,.menu .popover{background:var(--gvl-surface);border:1px solid var(--gvl-line);box-shadow:var(--sh-2);border-radius:var(--r-md);}

/* ---------- DRAWER MOBILE ---------- */
.gvl-drawer{position:fixed;inset:0 0 0 auto;width:min(420px,100%);background:var(--gvl-bg);z-index:1100;
  transform:translateX(100%);transition:transform .26s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;
  overflow-y:auto;overscroll-behavior:contain;visibility:hidden;}
.gvl-drawer.is-open{transform:translateX(0);visibility:visible;}
.gvl-drawer::before{content:"";position:fixed;inset:0 0 0 auto;width:100vw;left:0;background:rgba(15,31,18,.5);z-index:-1;
  opacity:0;transition:opacity .2s ease;pointer-events:none;}
.gvl-drawer.is-open::before{opacity:1;}
.gvl-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--gvl-line);
  position:sticky;top:0;z-index:3;background:var(--gvl-bg);min-height:64px;}
.gvl-drawer__close{width:46px;height:46px;flex:none;}
.gvl-drawer__close svg{width:22px;height:22px;}
.gvl-drawer__body{padding:14px 20px 30px;}
.gvl-drawer__search{position:relative;margin-bottom:16px;}
.gvl-drawer__search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--gvl-muted);}
.gvl-drawer__search input{width:100%;border:2px solid var(--gvl-line);border-radius:var(--r-pill);padding:12px 16px 12px 44px;font-family:var(--gvl-text);background:#fff;color:var(--gvl-ink);outline:none;}
.gvl-drawer__search input:focus{border-color:var(--gvl-green);}
.gvl-drawer__nav .ets_mm_megamenu,.gvl-drawer__nav .ets_mm_megamenu_content{background:transparent;}
.gvl-drawer__nav a{color:var(--gvl-green-deep);}

/* ---------- RESPONSIVE chrome ---------- */
@media (max-width:980px){
  .gvl-mainnav,
  .gvl-header .ets_megamenu_wrapper,
  .gvl-search,
  .gvl-header__cta{display:none;}
  .gvl-icon-btn--devis{display:inline-flex;}
  .gvl-burger{display:inline-flex;}
}
@media (max-width:560px){
  .gvl-topbar__brandline{display:none;}
  .gvl-topbar__item--mail{display:none;}
}
@media (max-width:380px){
  .gvl-header__actions .gvl-icon-btn--wish{display:none;}
}
@media (prefers-reduced-motion: reduce){
  .gvl-icon-btn,.gvl-drawer,.gvl-drawer::before{transition:none !important;}
}
