/* ============================================================================
 * GreenVisuaLED — theme greenvisualednv (enfant de classic, PrestaShop 8.2.6)
 * theme-global.css — GLOBAL (toutes les pages), priorite 205.
 *
 * Direction artistique "Nature Vivante" (cf. maquette-4-nature-vivante.html).
 * FICHIER LIVRE PRET A L'EMPLOI, ecrit a la main. Sources SCSS dans _dev/css/.
 *
 * Contenu :
 *   1. Tokens (:root --gvl-*)
 *   2. Base (typo, liens, titres, focus, conteneur)
 *   3. Composants classic restyles (boutons, formulaires, alertes, badges, cards)
 *   4. Fil d'ariane
 *   5. Cartes produit (.product-miniature / .pcard) — vaut sur tout listing
 *   6. Listing / facettes / pagination
 *   7. Pied de page (#footer + .gvl-footer)
 *
 * L'entete et le mega menu sont dans header.css. La home dans home.css.
 * On habille par-dessus la CSS de classic (chargee a une priorite plus basse),
 * sans casser le markup natif ni les hooks PrestaShop.
 * ============================================================================ */

/* =========================================================
   1. TOKENS — Palette "Nature Vivante" (figee, cf. maquette)
   ========================================================= */
:root{
  --gvl-bg:#F7F7F2;          /* blanc casse (fond global) */
  --gvl-surface:#FFFFFF;     /* surfaces / cartes */
  --gvl-ink:#1F3D2B;         /* texte / vert profond */
  --gvl-green:#6FB43A;       /* vert signature */
  --gvl-green-deep:#1F3D2B;  /* vert profond */
  --gvl-accent:#C8E6A0;      /* vert clair pastel (fonds tuiles, halos) */
  --gvl-accent-2:#A6D86B;    /* vert clair median (degrades blob) */
  --gvl-line:#E3E8DA;        /* filets tres doux */
  --gvl-muted:#4F6553;       /* texte secondaire (AA sur surface claire) */
  --gvl-green-700:#4E8C28;   /* vert signature fonce (hover, contraste) */
  --gvl-green-text:#356018;  /* vert texte AA >=4.5:1 sur blanc et #F7F7F2 */
  --gvl-tint:#EDF5E1;        /* fond hover leger (teinte verte douce) */

  --gvl-display:'Manrope', system-ui, sans-serif;
  --gvl-text:'Sora', system-ui, sans-serif;
  --gvl-mono:'IBM Plex Mono', ui-monospace, monospace;

  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px;
  --s-6:32px; --s-7:48px; --s-8:64px; --s-9:96px;

  --r-sm:14px; --r-md:20px; --r-lg:28px; --r-pill:999px;

  --sh-1:0 2px 8px rgba(31,61,43,.06);
  --sh-2:0 14px 40px rgba(31,61,43,.10);
  --sh-3:0 24px 70px rgba(31,61,43,.14);

  --gvl-wrap:1360px;
  --gvl-header-h:170px;
}

/* =========================================================
   2. BASE — typo, liens, titres, conteneurs, focus
   ========================================================= */
body{
  font-family:var(--gvl-text);
  color:var(--gvl-ink);
  background:var(--gvl-bg);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
html{scroll-behavior:smooth;scroll-padding-top:var(--gvl-header-h);}

h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4{
  font-family:var(--gvl-display);
  color:var(--gvl-green-deep);
  line-height:1.12;
  letter-spacing:-.01em;
}
a{color:var(--gvl-green-text);text-decoration:none;}
a:hover{color:var(--gvl-green-700);}
p{margin:0 0 1rem;}

/* Garde anti debordement horizontal : les fonds pleine largeur (home full bleed,
   bandeau du mega menu) utilisent 100vw, qui inclut la barre de defilement sur un
   vrai navigateur. overflow-x:clip evite toute barre horizontale SANS casser
   position:sticky (contrairement a overflow:hidden). */
html{overflow-x:clip;}

/* Largeur de contenu coherente avec la DA, sans casser .container de Bootstrap */
.gvl-wrap{max-width:var(--gvl-wrap);margin-inline:auto;padding-inline:24px;}

.gvl-eyebrow{
  font-family:var(--gvl-mono);
  font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gvl-green-text);font-weight:400;
}
.gvl-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}

/* Focus visibles partout (accessibilite) */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--gvl-green);
  outline-offset:3px;
  border-radius:6px;
}

/* Skip link : hors ecran, visible uniquement au focus clavier (plus de bouton parasite) */
.skip-links .skip-link,.skip-links a,.gvl-skip{
  position:absolute;top:10px;left:10px;z-index:2000;padding:10px 18px;
  background:var(--gvl-green-deep);color:#fff;border-radius:var(--r-pill);
  font-family:var(--gvl-display);font-weight:700;
  transform:translateY(-200%);transition:transform .18s ease;
}
.skip-links .skip-link:focus,.skip-links a:focus,.gvl-skip:focus{transform:translateY(0);}
/* Idem topbar : #header a (classic) ecrasait la couleur -> on force le blanc. */
#header .gvl-skip,#header a.gvl-skip{color:#fff;}

/* Bandeau de notifications (panier ajoute, erreurs) */
#notifications .container{padding-top:8px;padding-bottom:8px;}

/* =========================================================
   3. COMPOSANTS CLASSIC restyles (Bootstrap 4)
   ========================================================= */

/* ---- Boutons natifs ---- */
.btn{
  font-family:var(--gvl-display);font-weight:700;
  border-radius:var(--r-pill);
  border:2px solid transparent;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease;
  display:inline-flex;align-items:center;gap:10px;justify-content:center;
  line-height:1;
}
.btn-primary,
.btn-primary:not(:disabled):not(.disabled){
  background:var(--gvl-green);border-color:var(--gvl-green);color:#0F1F12;box-shadow:var(--sh-1);
}
.btn-primary:hover,
.btn-primary:not(:disabled):not(.disabled):hover,
.btn-primary:focus,
.btn-primary:active{
  background:var(--gvl-green-700);border-color:var(--gvl-green-700);color:#fff;
  transform:translateY(-2px);box-shadow:var(--sh-2);
}
.btn-secondary,
.btn-outline-primary{
  background:var(--gvl-surface);border-color:var(--gvl-green);color:var(--gvl-green-deep);
}
.btn-secondary:hover,
.btn-outline-primary:hover,
.btn-outline-primary:focus{
  background:var(--gvl-accent);border-color:var(--gvl-green-700);color:var(--gvl-green-deep);
  transform:translateY(-2px);box-shadow:var(--sh-1);
}
.btn-tertiary,.btn-link{color:var(--gvl-green-text);}
.btn-tertiary:hover,.btn-link:hover{color:var(--gvl-green-700);}

/* Boutons "theme" reutilisables dans nos templates (header, footer, home) */
.gvl-btn{
  display:inline-flex;align-items:center;gap:10px;justify-content:center;
  font-family:var(--gvl-display);font-weight:700;font-size:16px;
  padding:14px 26px;border-radius:var(--r-pill);
  border:2px solid transparent;line-height:1;white-space:nowrap;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease;
}
.gvl-btn svg{width:19px;height:19px;flex:none;}
.gvl-btn--solid{background:var(--gvl-green);color:#0F1F12;box-shadow:var(--sh-1);}
.gvl-btn--solid:hover{background:var(--gvl-green-700);color:#fff;transform:translateY(-2px);box-shadow:var(--sh-2);}
.gvl-btn--outline{background:var(--gvl-surface);color:var(--gvl-green-deep);border-color:var(--gvl-green);}
.gvl-btn--outline:hover{background:var(--gvl-accent);border-color:var(--gvl-green-700);color:var(--gvl-green-deep);transform:translateY(-2px);box-shadow:var(--sh-1);}
.gvl-btn--light{background:#fff;color:var(--gvl-green-deep);}
.gvl-btn--light:hover{background:var(--gvl-accent);color:var(--gvl-green-deep);transform:translateY(-2px);}
.gvl-btn--phone{background:transparent;border-color:var(--gvl-accent);color:#fff;}
.gvl-btn--phone:hover{background:rgba(200,230,160,.16);color:#fff;}
.gvl-btn--sm{padding:10px 18px;font-size:14px;}

/* Modificateurs "courts" .btn--* utilises par header.tpl et index.tpl
   (appliques SUR .btn, qui porte deja la base pill ci-dessus). Memes tokens
   Nature Vivante que .gvl-btn--*. On les definit ici pour que les CTA de
   l'entete et de la home soient habilles sans dependre de Bootstrap. */
.btn--solid{background:var(--gvl-green);border-color:var(--gvl-green);color:#0F1F12;box-shadow:var(--sh-1);}
.btn--solid:hover,.btn--solid:focus{background:var(--gvl-green-700);border-color:var(--gvl-green-700);color:#fff;transform:translateY(-2px);box-shadow:var(--sh-2);}
.btn--outline{background:var(--gvl-surface);border-color:var(--gvl-green);color:var(--gvl-green-deep);}
.btn--outline:hover,.btn--outline:focus{background:var(--gvl-accent);border-color:var(--gvl-green-700);color:var(--gvl-green-deep);transform:translateY(-2px);box-shadow:var(--sh-1);}
.btn--ghost{background:transparent;border-color:var(--gvl-line);color:var(--gvl-green-deep);}
.btn--ghost:hover,.btn--ghost:focus{background:#fff;border-color:var(--gvl-green);color:var(--gvl-green-deep);}
.btn--light{background:#fff;border-color:#fff;color:var(--gvl-green-deep);}
.btn--light:hover,.btn--light:focus{background:var(--gvl-accent);border-color:var(--gvl-accent);color:var(--gvl-green-deep);transform:translateY(-2px);}
.btn--phone{background:transparent;border-color:var(--gvl-accent);color:#fff;}
.btn--phone:hover,.btn--phone:focus{background:rgba(200,230,160,.16);color:#fff;}
.btn--sm{padding:10px 18px;font-size:14px;}

/* Eyebrow (sur-titre mono) utilise dans index.tpl ; variante claire pour les
   sections a fond vert profond (.eyebrow--light, ex. bloc projet pro). */
.eyebrow{font-family:var(--gvl-mono);font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gvl-green-text);font-weight:400;display:inline-block;}
.eyebrow--light{color:var(--gvl-accent);}

/* ---- Formulaires / inputs ---- */
.form-control,
.input-group .form-control,
textarea.form-control,
select.form-control,
.custom-select{
  border:2px solid var(--gvl-line);
  border-radius:var(--r-md);
  background:#fff;color:var(--gvl-ink);
  font-family:var(--gvl-text);
}
.form-control:focus,
.custom-select:focus,
textarea.form-control:focus{border-color:var(--gvl-green);box-shadow:none;outline:none;}
.form-control::placeholder{color:#4F6553;}
.form-control-label,label{color:var(--gvl-green-deep);font-weight:600;}
.custom-radio input[type=radio]:checked+span{background:var(--gvl-green);}

/* ---- Alertes / notifications ---- */
.alert{border-radius:var(--r-md);border:1px solid var(--gvl-line);}
.alert-success{background:var(--gvl-tint);border-color:var(--gvl-accent-2);color:var(--gvl-green-deep);}
.alert-danger{background:#FDECEC;border-color:#E7B7B7;color:#7A2B2B;}
.alert-warning{background:#FBF3E0;border-color:#E8D49A;color:#6B5320;}
.alert-info{background:var(--gvl-tint);border-color:var(--gvl-accent-2);color:var(--gvl-green-deep);}

/* ---- Badges / drapeaux produit ---- */
.label,.badge{font-family:var(--gvl-mono);}
.product-flag,
.product-flags li.product-flag{
  background:var(--gvl-green);color:#0F1F12;font-family:var(--gvl-mono);
  border-radius:var(--r-pill);font-weight:600;text-transform:none;letter-spacing:.04em;
}
.product-flag.discount,.product-flags li.product-flag.discount{background:var(--gvl-green-deep);color:#EAF3E1;}
.product-flag.on-sale{background:var(--gvl-green-700);color:#fff;}

/* ---- Cards / panels generiques ---- */
.card,.block-categories,.page-content,
.card.cart-summary,.checkout-process .content{
  border-radius:var(--r-lg);border:1px solid var(--gvl-line);
}
.card{box-shadow:var(--sh-1);}

/* ---- Tables ---- */
.table thead th{background:var(--gvl-tint);color:var(--gvl-green-deep);border-color:var(--gvl-line);}
.table td,.table th{border-color:var(--gvl-line);}

/* ---- Titres de page / sections natifs ---- */
.page-header h1,#main .page-header h1,
.products-section-title,
.featured-products .h2,.featured-products h2{
  font-family:var(--gvl-display);color:var(--gvl-green-deep);font-weight:800;
}

/* =========================================================
   4. FIL D'ARIANE (breadcrumb natif de classic)
   ========================================================= */
.breadcrumb{background:transparent;padding-left:0;}
.breadcrumb ol{padding:0;}
.breadcrumb li,.breadcrumb li a{color:var(--gvl-muted);font-family:var(--gvl-mono);font-size:12.5px;letter-spacing:.04em;}
.breadcrumb li a:hover{color:var(--gvl-green-700);}
.breadcrumb li::after{color:var(--gvl-line);}
.breadcrumb li:last-child span,.breadcrumb li:last-child a{color:var(--gvl-green-deep);font-weight:600;}

/* =========================================================
   5. CARTES PRODUIT
   .product-miniature = markup natif de classic ; .pcard = surcharge theme
   (phase 2 : templates/catalog/_partials/miniatures/product.tpl). Le style
   est pose ici pour que le listing herite tout de suite la DA Nature Vivante.
   ========================================================= */
.product-miniature,.pcard{
  background:var(--gvl-surface);border:1.5px solid var(--gvl-line);
  border-radius:var(--r-lg);overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
  height:100%;display:flex;flex-direction:column;
}
.product-miniature:hover,.pcard:hover{transform:translateY(-4px);box-shadow:var(--sh-2);}

.product-miniature .thumbnail-container,
.pcard__media{
  position:relative;background:#fff;padding:14px;aspect-ratio:1/1;
  display:flex;align-items:center;justify-content:center;overflow:hidden;margin:0;
}
.product-miniature .thumbnail-container::before,
.pcard__media::before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(120% 120% at 50% 0%,#F1F6E9 0%,#fff 62%);}
.product-miniature .thumbnail-container img,
.product-miniature .thumbnail img,
.pcard__media img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center;max-height:78%;border-radius:0;}

.pcard__fam{position:absolute;top:12px;left:12px;z-index:2;background:#fff;border-radius:var(--r-pill);padding:4px 11px;font-family:var(--gvl-mono);font-size:10.5px;letter-spacing:.08em;color:var(--gvl-green-text);border:1px solid var(--gvl-line);}
.pcard__leafcut{position:absolute;z-index:2;right:-1px;bottom:-1px;width:34%;color:var(--gvl-surface);opacity:0;transform:translateY(6px);transition:opacity .2s ease, transform .2s ease;}
.pcard:hover .pcard__leafcut,.pcard:focus-within .pcard__leafcut{opacity:1;transform:translateY(0);}

.product-miniature .product-description,
.pcard__body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:10px;flex:1;}
.product-miniature .product-title,
.pcard__title,.pcard__body h3{font-family:var(--gvl-display);font-size:15.5px;font-weight:700;line-height:1.25;margin:0;}
.product-miniature .product-title a,
.pcard__title a{color:var(--gvl-green-deep);}
.product-miniature .product-title a:hover,
.pcard__title a:hover{color:var(--gvl-green-700);}
.pcard__meta{font-size:12.5px;color:var(--gvl-muted);font-family:var(--gvl-mono);margin:0;}

.product-miniature .product-price-and-shipping,
.pcard__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:6px;}
.product-miniature .price,
.pcard__price,.pcard__price-value{font-family:var(--gvl-display);font-weight:800;font-size:21px;color:var(--gvl-green-deep);}
.product-miniature .regular-price{color:var(--gvl-muted);font-weight:600;font-size:13px;text-decoration:line-through;}
.pcard__price--label{font-size:14px;font-weight:700;color:var(--gvl-green-text);}

.pcard__btns{display:flex;gap:8px;align-items:center;}
.iconlink{
  width:44px;height:44px;border-radius:var(--r-pill);border:2px solid var(--gvl-line);background:#fff;
  display:inline-flex;align-items:center;justify-content:center;color:var(--gvl-green-deep);transition:all .15s ease;flex:none;
}
.iconlink:hover{border-color:var(--gvl-green-700);background:var(--gvl-tint);color:var(--gvl-green-deep);}
.iconlink svg{width:18px;height:18px;}
.btn-cart,
.product-miniature .add-to-cart{
  display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:9px 14px;border-radius:var(--r-pill);
  border:2px solid var(--gvl-green);background:var(--gvl-green);color:#0F1F12;
  font-family:var(--gvl-display);font-weight:700;font-size:13.5px;line-height:1;white-space:nowrap;box-shadow:var(--sh-1);
  transition:background .15s ease, transform .15s ease, box-shadow .15s ease, color .15s ease;
}
.btn-cart:hover,
.product-miniature .add-to-cart:hover{background:var(--gvl-green-700);border-color:var(--gvl-green-700);color:#fff;transform:translateY(-1px);box-shadow:var(--sh-2);}
.btn-cart svg{width:17px;height:17px;flex:none;}

/* =========================================================
   6. LISTING / FACETTES / PAGINATION (natifs classic)
   ========================================================= */
#search_filters,.block-categories{background:var(--gvl-surface);border:1px solid var(--gvl-line);border-radius:var(--r-lg);box-shadow:var(--sh-1);}
#search_filters .facet-title,#search_filters .h6{font-family:var(--gvl-display);color:var(--gvl-green-deep);font-weight:700;}
#search_filters .facet .facet-label a{color:var(--gvl-ink);}
#search_filters .facet .facet-label a:hover{color:var(--gvl-green-700);}
.active_filters{background:var(--gvl-tint);border:1px solid var(--gvl-accent-2);border-radius:var(--r-md);}
.active_filters .filter-block{background:#fff;border:1px solid var(--gvl-line);border-radius:var(--r-pill);color:var(--gvl-green-deep);}

.pagination .page-list{gap:6px;display:flex;flex-wrap:wrap;}
.pagination .page-list li a,
.pagination .page-list li span{
  border-radius:var(--r-pill);border:2px solid var(--gvl-line);background:#fff;color:var(--gvl-green-deep);
  min-width:42px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--gvl-display);font-weight:700;
}
.pagination .page-list li.current a,
.pagination .page-list li a:hover{background:var(--gvl-green-deep);border-color:var(--gvl-green-deep);color:#fff;}
.products-sort-order .select-title{border-radius:var(--r-pill);border:2px solid var(--gvl-line);background:#fff;color:var(--gvl-green-deep);}

/* =========================================================
   7. PIED DE PAGE (#gvl-footer)
   Markup de templates/_partials/footer.tpl (override classic footer).
   Reutilise les tokens --gvl-* ; le footer est GLOBAL donc style ici
   (theme-global.css est charge sur toutes les pages). Meme demarche que
   bloomled-spectre (footer scopé, hooks ps_linklist conserves).
   Structure : bandeau marque+newsletter / colonnes liens / reassurance /
   barre basse. Fond vert profond, accents vert clair, contraste AA.
   ========================================================= */
#gvl-footer{background:var(--gvl-green-deep);color:#EAF3E1;font-family:var(--gvl-text);margin-top:clamp(40px,6vw,72px);position:relative;}
#gvl-footer .gvl-wrap{width:100%;max-width:var(--gvl-wrap);margin-inline:auto;padding-inline:24px;}
#gvl-footer a{color:#EAF3E1;text-decoration:none;}
#gvl-footer p{margin:0;}
#gvl-footer h3{font-family:var(--gvl-display);margin:0;color:#fff;}
#gvl-footer ul{list-style:none;margin:0;padding:0;}
#gvl-footer a:focus-visible,#gvl-footer button:focus-visible,#gvl-footer input:focus-visible{outline:2px solid var(--gvl-accent);outline-offset:3px;border-radius:4px;}

/* ---- 1. Bandeau NEWSLETTER (pleine largeur, en haut) ---- */
#gvl-footer .gvl-foot-news{border-bottom:1px solid rgba(234,243,225,.14);background:rgba(255,255,255,.025);}
#gvl-footer .gvl-foot-news__in{display:grid;grid-template-columns:1fr;gap:18px 44px;padding:clamp(28px,3.6vw,42px) 24px;align-items:center;}
@media (min-width:860px){#gvl-footer .gvl-foot-news__in{grid-template-columns:1fr 1.05fr;}}
#gvl-footer .gvl-foot-kicker{display:inline-block;font-family:var(--gvl-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gvl-accent-2);margin-bottom:8px;}
#gvl-footer .gvl-foot-news__title{font-family:var(--gvl-display);font-weight:800;font-size:clamp(1.2rem,2.3vw,1.55rem);letter-spacing:-.01em;color:#fff;margin:0;line-height:1.15;}
#gvl-footer .gvl-foot-news__widget{width:100%;}

/* NEUTRALISATION de la grille Bootstrap de ps_emailsubscription + habillage propre.
   Markup natif : .block_newsletter > .row > [p(intro) | .col(form)] ;
   form > .row > .col-xs-12 [submit, submit, .input-wrapper, hidden, clearfix] + .col-xs-12 (p conditions). */
#gvl-footer .gvl-foot-news__widget .newsletter,#gvl-footer .gvl-foot-news__widget .block_newsletter{margin:0;padding:0;background:transparent;border:0;width:100%;max-width:none;float:none;}
#gvl-footer .gvl-foot-news__widget [class*="col-"]{width:100%;max-width:100%;flex:0 0 100%;float:none;padding:0;}
#gvl-footer .gvl-foot-news__widget .block_newsletter > .row{display:block;margin:0;}
#gvl-footer .gvl-foot-news__widget .block_newsletter > .row > p{color:#C7D8C2;font-size:.85rem;line-height:1.55;margin:0 0 12px;}
#gvl-footer .gvl-foot-news__widget form > .row{display:block;margin:0;}
#gvl-footer .gvl-foot-news__widget form .row > div{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0;}
#gvl-footer .gvl-foot-news__widget .input-wrapper{order:1;flex:1 1 220px;min-width:0;}
#gvl-footer .gvl-foot-news__widget input[type="email"],#gvl-footer .gvl-foot-news__widget input[type="text"]{width:100%;background:rgba(255,255,255,.07);border:1px solid rgba(234,243,225,.24);border-radius:var(--r-pill);padding:.82em 1.2em;color:#fff;font-family:var(--gvl-mono);font-size:.85rem;}
#gvl-footer .gvl-foot-news__widget input::placeholder{color:#9FB7A2;}
#gvl-footer .gvl-foot-news__widget input[type="email"]:focus,#gvl-footer .gvl-foot-news__widget input[type="text"]:focus{border-color:var(--gvl-accent-2);outline:none;}
#gvl-footer .gvl-foot-news__widget input[type="submit"],#gvl-footer .gvl-foot-news__widget button[type="submit"],#gvl-footer .gvl-foot-news__widget .btn{order:2;flex:none;float:none;margin:0;font-family:var(--gvl-display);font-weight:700;font-size:.86rem;color:#0F1F12 !important;background:var(--gvl-accent-2);border:1px solid transparent;border-radius:var(--r-pill);padding:.82em 1.5em;cursor:pointer;box-shadow:none;white-space:nowrap;}
#gvl-footer .gvl-foot-news__widget input[type="submit"]:hover,#gvl-footer .gvl-foot-news__widget button[type="submit"]:hover,#gvl-footer .gvl-foot-news__widget .btn:hover{background:#fff;}
/* NE PAS masquer le 2e submit : ce sont des variantes responsives du module
   (hidden-xs-down = desktop, hidden-sm-up = mobile). Les classes gerent l'affichage. */
#gvl-footer .gvl-foot-news__widget .clearfix{display:none;}
#gvl-footer .gvl-foot-news__widget .row > div + div p,#gvl-footer .gvl-foot-news__widget .row > div:last-child{margin-top:9px;}
#gvl-footer .gvl-foot-news__widget .row > div:last-child p{display:block;font-size:.72rem;color:#9FB7A2;line-height:1.5;}
#gvl-footer .gvl-foot-news__widget .alert{margin-top:9px;font-size:.78rem;}
/* repli form maison */
#gvl-footer .gvl-foot-news__form{display:flex;gap:10px;flex-wrap:wrap;}
#gvl-footer .gvl-foot-news__form input{flex:1;min-width:200px;background:rgba(255,255,255,.07);border:1px solid rgba(234,243,225,.24);border-radius:var(--r-pill);padding:.82em 1.2em;color:#fff;font-family:var(--gvl-mono);font-size:.85rem;outline:none;}
#gvl-footer .gvl-foot-news__form input::placeholder{color:#9FB7A2;}
#gvl-footer .gvl-foot-news__btn{flex:none;font-family:var(--gvl-display);font-weight:700;font-size:.86rem;color:#0F1F12;background:var(--gvl-accent-2);border:0;border-radius:var(--r-pill);padding:.82em 1.5em;cursor:pointer;}
#gvl-footer .gvl-foot-news__rgpd{flex-basis:100%;font-size:.72rem;color:#9FB7A2;margin-top:9px;line-height:1.5;}

/* ---- 2. Marque + colonnes de liens (grille 4 colonnes) ---- */
#gvl-footer .gvl-foot-cols__grid{display:grid;grid-template-columns:1fr;gap:32px;padding:clamp(34px,4.4vw,50px) 24px;}
@media (min-width:600px){#gvl-footer .gvl-foot-cols__grid{grid-template-columns:1fr 1fr;}}
@media (min-width:980px){#gvl-footer .gvl-foot-cols__grid{grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:clamp(26px,3.4vw,46px);}}

/* marque */
#gvl-footer .gvl-foot-logo{display:inline-block;margin-bottom:14px;line-height:0;}
#gvl-footer .gvl-foot-logo img{display:block;width:auto;height:44px;max-width:200px;background:#fff;padding:7px 11px;border-radius:10px;}
#gvl-footer .gvl-foot-wordmark{font-family:var(--gvl-display);font-weight:800;font-size:1.55rem;letter-spacing:-.01em;color:#F2F8EA;line-height:1;}
#gvl-footer .gvl-foot-wordmark .led{color:var(--gvl-green);}
#gvl-footer .gvl-foot-pitch{color:#C7D8C2;font-size:.9rem;max-width:32ch;line-height:1.6;margin:0;}
#gvl-footer .gvl-foot-social{margin-top:18px;}
#gvl-footer .gvl-foot-social ul{display:flex;flex-wrap:wrap;gap:10px;}
#gvl-footer .gvl-foot-social li{margin:0;}
#gvl-footer .gvl-foot-social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-pill);background:rgba(200,230,160,.12);border:1px solid rgba(200,230,160,.26);color:#EAF3E1;background-size:20px;transition:background-color .18s ease,border-color .18s ease,transform .18s ease;}
#gvl-footer .gvl-foot-social a:hover{background-color:rgba(200,230,160,.22);border-color:var(--gvl-accent-2);transform:translateY(-2px);}

/* titres de colonne + liens */
#gvl-footer .gvl-foot-col h3{font-size:.74rem;font-family:var(--gvl-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--gvl-accent-2);margin:0 0 14px;font-weight:600;}
#gvl-footer .gvl-foot-col a{color:#C7D8C2;font-size:.9rem;transition:color .18s ease;}
#gvl-footer .gvl-foot-col a:hover{color:#fff;}
#gvl-footer .gvl-foot-links li{margin:0;}
#gvl-footer .gvl-foot-links a{display:block;padding:.38em 0;}

/* NEUTRALISATION grille Bootstrap des modules (ps_linklist + ps_customeraccountlinks)
   -> listes en UNE colonne, sans titre natif redondant, liens sur une ligne. */
#gvl-footer .gvl-foot-modules [class*="col-"],
#gvl-footer .gvl-foot-col--account [class*="col-"]{width:100%;max-width:100%;flex:0 0 100%;float:none;padding:0;}
#gvl-footer .gvl-foot-modules .row,
#gvl-footer .gvl-foot-col--account .row{display:block;margin:0;}
#gvl-footer .gvl-foot-modules .h3,#gvl-footer .gvl-foot-modules p.h3,#gvl-footer .gvl-foot-modules .title,
#gvl-footer .gvl-foot-col--account .myaccount-title,#gvl-footer .gvl-foot-col--account p.h3,#gvl-footer .gvl-foot-col--account .title{display:none !important;}
#gvl-footer .gvl-foot-modules ul,#gvl-footer .gvl-foot-col--account ul{display:block !important;height:auto !important;visibility:visible !important;margin:0;padding:0;}
#gvl-footer .gvl-foot-modules li,#gvl-footer .gvl-foot-col--account li{margin:0;}
#gvl-footer .gvl-foot-modules a,#gvl-footer .gvl-foot-col--account a{display:block;color:#C7D8C2;font-size:.9rem;padding:.38em 0;}
#gvl-footer .gvl-foot-modules a:hover,#gvl-footer .gvl-foot-col--account a:hover{color:#fff;}
#gvl-footer .gvl-foot-modules .navbar-toggler,#gvl-footer .gvl-foot-col--account .navbar-toggler{display:none;}

/* contact (tel / email / cta) */
#gvl-footer .gvl-foot-contact{display:flex;flex-direction:column;gap:11px;margin-bottom:16px;}
#gvl-footer .gvl-foot-contact li{display:flex;align-items:center;gap:11px;font-size:.9rem;color:#C7D8C2;}
#gvl-footer .gvl-foot-contact svg{width:18px;height:18px;flex:none;color:var(--gvl-accent-2);}
#gvl-footer .gvl-foot-contact a{color:#EAF3E1;font-family:var(--gvl-mono);font-size:.84rem;}
#gvl-footer .gvl-foot-contact a:hover{color:#fff;}
#gvl-footer .gvl-foot-contact__cta{margin-top:2px;}
#gvl-footer .gvl-foot-col a.gvl-foot-contact__cta{color:#0F1F12;}
#gvl-footer .gvl-foot-col a.gvl-foot-contact__cta:hover{color:#fff;}
#gvl-footer .gvl-foot-contact__cta svg{width:18px;height:18px;}

/* ---- 3. Bandeau reassurance (4 piliers) ---- */
#gvl-footer .gvl-foot-reass{border-top:1px solid rgba(234,243,225,.14);background:rgba(255,255,255,.03);}
#gvl-footer .gvl-foot-reass__grid{display:grid;grid-template-columns:1fr;gap:1px;}
#gvl-footer .gvl-foot-reass__item{padding:22px 4px;display:flex;gap:14px;align-items:flex-start;}
#gvl-footer .gvl-foot-reass__item .ric{width:44px;height:44px;flex:none;border-radius:14px;background:rgba(200,230,160,.14);display:flex;align-items:center;justify-content:center;color:var(--gvl-accent);}
#gvl-footer .gvl-foot-reass__item .ric svg{width:23px;height:23px;}
#gvl-footer .gvl-foot-reass__item h3{font-size:.95rem;font-weight:700;margin-bottom:3px;color:#fff;}
#gvl-footer .gvl-foot-reass__item p{font-size:.82rem;color:#C7D8C2;line-height:1.5;}
@media (min-width:600px){#gvl-footer .gvl-foot-reass__grid{grid-template-columns:repeat(2,1fr);column-gap:24px;}}
@media (min-width:980px){#gvl-footer .gvl-foot-reass__grid{grid-template-columns:repeat(4,1fr);column-gap:28px;}}

/* ---- 4. Barre basse : signature + copyright + paiement ---- */
#gvl-footer .gvl-foot-bottom{border-top:1px solid rgba(234,243,225,.14);}
#gvl-footer .gvl-foot-bottom__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;padding:22px 24px;}
#gvl-footer .gvl-foot-sign{font-family:var(--gvl-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gvl-accent-2);}
#gvl-footer .gvl-foot-copy{font-size:.78rem;color:#9FB7A2;line-height:1.6;flex:1 1 240px;text-align:center;}
#gvl-footer .gvl-foot-pays{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
#gvl-footer .gvl-foot-pays .gvl-pay{background:rgba(200,230,160,.12);border:1px solid rgba(200,230,160,.25);border-radius:var(--r-pill);padding:5px 12px;font-family:var(--gvl-mono);font-size:.72rem;letter-spacing:.04em;color:var(--gvl-accent);}
@media (max-width:680px){#gvl-footer .gvl-foot-bottom__in{justify-content:center;text-align:center;}#gvl-footer .gvl-foot-copy{flex-basis:100%;order:3;}#gvl-footer .gvl-foot-pays{justify-content:center;}}

/* filet feuille signature (decoratif) */
#gvl-footer .gvl-foot-filet{height:3px;width:100%;border-radius:0;background:linear-gradient(90deg,var(--gvl-green) 0%,var(--gvl-accent-2) 50%,var(--gvl-accent) 100%);opacity:.85;}

@media (prefers-reduced-motion:reduce){
  #gvl-footer *{transition:none !important;}
  html{scroll-behavior:auto !important;}
}
