/**
 * VST43° — Pied de page (lot 2). Règles reprises de la maquette validée (maquettes/_commun/commun.css, bloc « pied »).
 * Portée : sections Divi .vst-pied (layout « Pied v2 », scripts/divi5-pied.php).
 * Spécificité : « :is(…, #vst-x#vst-y) » vaut deux identifiants (convention de vst-categorie.css) : passe devant Divi sans !important,
 * sauf pour les gabarits de rangée et de section, que Divi fixe en !important (même exception que vst-accueil.css).
 */
:is(.vst-pied, #vst-x#vst-y) {
  --vst-rouge: var(--gcid-vst-rouge, #E21F20);
  --vst-rouge-fonce: var(--gcid-vst-rouge-fonce, #C41A1B);
  --vst-voile: var(--gcid-vst-voile, #FBE6DF);
  --vst-texte: var(--gcid-vst-texte, #575758);
  --vst-encre: var(--gcid-vst-encre, #232324);
  --vst-blanc: var(--gcid-vst-blanc, #FFFDFC);
  --vst-ligne: var(--gcid-vst-ligne, #E9DED7);
  --vst-ligne-ui: var(--gcid-vst-ligne-ui, #9C7763);
  --vst-encre-filet: #4A4A4C;
  --font-titre: "Work Sans", "Helvetica Neue", Arial, sans-serif;
  --font-corps: "Open Sans", "Helvetica Neue", Arial, sans-serif;
  --gouttiere: 20px;
  --rayon: var(--gvid-vst-rayon, 4px);
  font: 300 16px/1.6 var(--font-corps);
  color: var(--vst-texte);
}
:is(.vst-pied, #vst-x#vst-y) *, :is(.vst-pied, #vst-x#vst-y) *::before, :is(.vst-pied, #vst-x#vst-y) *::after { box-sizing: border-box; }
:is(.vst-pied, #vst-x#vst-y) :focus-visible { outline: 2px solid var(--vst-encre); outline-offset: 2px; }
:is(.vst-pied, #vst-x#vst-y) .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:is(.vst-pied, #vst-x#vst-y) h2 { margin: 0; padding: 0; }
:is(.vst-pied, #vst-x#vst-y) ul { list-style: none; margin: 0; padding: 0; line-height: inherit; }
:is(.vst-pied, #vst-x#vst-y) p { margin: 0; padding: 0; }
:is(.vst-pied, #vst-x#vst-y) a { color: inherit; }
/* Interligne de la maquette (le module Texte de Divi impose le sien) */
:is(.vst-pied, #vst-x#vst-y) :is(.pied-lettre-titre p, .pied-lettre-mention p, .pied-colonnes li, .pied-contact p, .pied-bas p) { line-height: 1.6; }

/* Gabarit Divi : sections et rangées sans marges, pleine largeur */
.et_pb_section.vst-pied { padding: 0 !important; background: var(--vst-blanc); }
.et_pb_section.vst-pied .et_pb_row { width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
.et_pb_section.vst-pied .et_pb_column { margin: 0 !important; width: 100%; }
.et_pb_section.vst-pied .et_pb_module { margin: 0 !important; }
.et_pb_section.vst-pied-reassurance { margin-top: 72px; background: var(--gcid-vst-encre, #232324); }
.vst-pied-sans-lettre .et_pb_section.vst-pied-lettre { display: none; }
.vst-pied-tunnel .et_pb_section.vst-pied-reassurance { display: none; }

/* 1. Réassurance */
:is(.vst-pied, #vst-x#vst-y) .pied-reassurance { padding: 8px 20px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; background: var(--vst-encre); color: var(--vst-ligne); font-size: 13px; line-height: 1.45; }
/* Mobile (recettes des 21 et 22.10) : les 3 arguments empilés, icône à gauche, écart icône/texte 12 px, 16 px de padding vertical, filet entre les lignes, marges latérales 20 px. */
:is(.vst-pied, #vst-x#vst-y) .pied-reassurance li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; align-items: center; padding: 16px 0; border-top: 1px solid var(--vst-encre-filet); }
:is(.vst-pied, #vst-x#vst-y) .pied-reassurance li:first-child { border-top: 0; }
/* Nombre d'éléments variable (3 depuis le retrait du click & collect, 20.10) : le dernier comble la rangée. */
:is(.vst-pied, #vst-x#vst-y) .pied-reassurance li:last-child:nth-child(odd) { grid-column: 1 / -1; }
:is(.vst-pied, #vst-x#vst-y) .pied-reassurance svg { width: 28px; height: 28px; stroke: var(--vst-blanc); fill: none; stroke-width: 1.3; }
:is(.vst-pied, #vst-x#vst-y) .pied-reassurance b { display: block; font: 600 13px/1.3 var(--font-titre); text-transform: uppercase; letter-spacing: .1em; color: var(--vst-blanc); margin-bottom: 4px; text-wrap: balance; }

/* 2. Newsletter (modules natifs : Texte, Inscription, Texte) */
.et_pb_section.vst-pied-lettre { background: var(--gcid-vst-voile, #FBE6DF); }
.et_pb_section.vst-pied-lettre .et_pb_row { padding: 28px 20px !important; display: grid; gap: 16px; }
.et_pb_section.vst-pied-lettre .et_pb_column { row-gap: 10px !important; } /* Divi : 30 px ; maquette : mention à 10 px du formulaire */
:is(.vst-pied, #vst-x#vst-y) .pied-lettre-titre h2 { font: 500 18px/1.25 var(--font-titre); color: var(--vst-encre); text-transform: uppercase; letter-spacing: .04em; }
:is(.vst-pied, #vst-x#vst-y) .pied-lettre-titre p { margin-top: 4px; font-size: 14px; }
:is(.vst-pied, #vst-x#vst-y) .vst-lettre-form { background: none; padding: 0; color: var(--vst-texte); }
:is(.vst-pied, #vst-x#vst-y) .vst-lettre-form .et_pb_newsletter_description { display: none; }
:is(.vst-pied, #vst-x#vst-y) .vst-lettre-form .et_pb_newsletter_form { padding: 0; }
:is(.vst-pied, #vst-x#vst-y) .vst-lettre-form .et_pb_newsletter_fields { display: grid; grid-template-columns: 1fr; gap: 8px; }
:is(.vst-pied, #vst-x#vst-y) .vst-lettre-form .et_pb_newsletter_fields > p { margin: 0; padding: 0; width: auto; }
:is(.vst-pied, #vst-x#vst-y) .vst-lettre-form label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:is(.vst-pied, #vst-x#vst-y) .vst-lettre-form input.input { width: 100%; height: 50px; border: 1px solid var(--vst-ligne-ui); border-radius: var(--rayon); background: var(--vst-blanc); padding: 0 14px; font: 400 16px/1 var(--font-corps); color: var(--vst-encre); }
:is(.vst-pied, #vst-x#vst-y) .vst-lettre-form input.input:focus { outline: 2px solid var(--vst-encre); outline-offset: 0; }
:is(.vst-pied, #vst-x#vst-y) .vst-lettre-form .et_pb_newsletter_button { display: flex; align-items: center; justify-content: center; height: 50px; margin: 0; padding: 0 20px; border: 0; border-radius: var(--rayon); background: var(--vst-rouge); color: #fff; font: 600 12px/1 var(--font-titre); text-transform: uppercase; letter-spacing: .14em; }
:is(.vst-pied, #vst-x#vst-y) .vst-lettre-form .et_pb_newsletter_button:hover { background: var(--vst-rouge-fonce); }
:is(.vst-pied, #vst-x#vst-y) .vst-lettre-form .et_pb_newsletter_button::after { content: none; }
:is(.vst-pied, #vst-x#vst-y) .vst-lettre-form .et_pb_newsletter_success h2 { font: 600 14px/1.5 var(--font-corps); color: var(--vst-encre); text-transform: none; letter-spacing: 0; }
/* Message de retour Divi 5 (succès et erreur) : blanc par défaut, illisible sur le corail */
:is(.vst-pied, #vst-x#vst-y) .vst-lettre-form .et_pb_newsletter_result { color: var(--vst-encre); font: 600 14px/1.5 var(--font-corps); text-align: left; }
:is(.vst-pied, #vst-x#vst-y) .pied-lettre-mention { margin-top: 10px; font-size: 13px; }
:is(.vst-pied, #vst-x#vst-y) .pied-lettre-mention a { color: var(--vst-encre); text-decoration: underline; text-underline-offset: 3px; }

/* 3. Volets, contact, bas */
:is(.vst-pied, #vst-x#vst-y) .pied-colonnes { padding: 8px var(--gouttiere) 0; }
:is(.vst-pied, #vst-x#vst-y) .pied-colonnes details { border-bottom: 1px solid var(--vst-ligne); }
:is(.vst-pied, #vst-x#vst-y) .pied-colonnes summary { list-style: none; display: flex; justify-content: space-between; align-items: center; min-height: 52px; color: var(--vst-encre); cursor: pointer; }
:is(.vst-pied, #vst-x#vst-y) .pied-colonnes summary h2 { font: 600 12px/1.2 var(--font-titre); text-transform: uppercase; letter-spacing: .12em; color: var(--vst-encre); }
:is(.vst-pied, #vst-x#vst-y) .pied-colonnes summary::-webkit-details-marker { display: none; }
:is(.vst-pied, #vst-x#vst-y) .pied-colonnes summary::after { content: "+"; font: 300 20px/1 var(--font-corps); }
:is(.vst-pied, #vst-x#vst-y) .pied-colonnes details[open] summary::after { content: "–"; }
:is(.vst-pied, #vst-x#vst-y) .pied-colonnes ul { padding: 0 0 16px; display: grid; gap: 0; }
:is(.vst-pied, #vst-x#vst-y) .pied-colonnes li { padding: 0; }
:is(.vst-pied, #vst-x#vst-y) .pied-colonnes li a, :is(.vst-pied, #vst-x#vst-y) .pied-cookies { display: flex; align-items: center; min-height: 44px; font: 400 14px/1.3 var(--font-corps); color: var(--vst-texte); text-decoration: none; }
:is(.vst-pied, #vst-x#vst-y) .pied-colonnes li a:hover, :is(.vst-pied, #vst-x#vst-y) .pied-cookies:hover { color: var(--vst-encre); text-decoration: underline; text-underline-offset: 3px; }
:is(.vst-pied, #vst-x#vst-y) .pied-cookies { background: none; border: 0; padding: 0; width: 100%; text-align: left; cursor: pointer; }
:is(.vst-pied, #vst-x#vst-y) .pied-cookies[hidden] { display: none; }
:is(.vst-pied, #vst-x#vst-y) .pied-boutiques li:not(.pied-tout) { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
:is(.vst-pied, #vst-x#vst-y) .pied-boutiques .horaire { font-size: 13px; color: var(--vst-texte); }
:is(.vst-pied, #vst-x#vst-y) .pied-boutiques .ouvert .horaire { color: var(--vst-encre); }
:is(.vst-pied, #vst-x#vst-y) .pied-boutiques .pied-tout a { color: var(--vst-encre); text-decoration: underline; text-underline-offset: 3px; }
:is(.vst-pied, #vst-x#vst-y) .pied-contact { padding: 24px var(--gouttiere) 8px; display: grid; gap: 12px; font-size: 14px; }
:is(.vst-pied, #vst-x#vst-y) .pied-contact a { color: var(--vst-encre); text-underline-offset: 3px; font-weight: 400; }
:is(.vst-pied, #vst-x#vst-y) .pied-reseaux { margin: 0 0 0 -10px; display: flex; gap: 4px; }
:is(.vst-pied, #vst-x#vst-y) .pied-reseaux a { width: 44px; height: 44px; display: grid; place-items: center; color: var(--vst-encre); }
:is(.vst-pied, #vst-x#vst-y) .pied-reseaux svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.4; }
:is(.vst-pied, #vst-x#vst-y) .pied-bas { padding: 16px var(--gouttiere) 32px; font-size: 13px; display: grid; gap: 8px; }
:is(.vst-pied, #vst-x#vst-y) .pied-bas a { color: var(--vst-encre); text-decoration: underline; text-underline-offset: 3px; }
:is(.vst-pied, #vst-x#vst-y) .pied-paiements { margin: 0 0 8px; display: flex; flex-wrap: wrap; gap: 6px; }
:is(.vst-pied, #vst-x#vst-y) .pied-paiements li { font: 600 13px/1 var(--font-corps); color: var(--vst-encre); border: 1px solid var(--vst-ligne-ui); border-radius: 3px; padding: 6px 8px; }

/* Pied réduit du tunnel (maquette tunnel, .pied-tunnel) */
:is(.vst-pied, #vst-x#vst-y) .pied-tunnel { margin-top: 72px; padding: 24px var(--gouttiere) 32px; border-top: 1px solid var(--vst-ligne); font-size: 13px; display: flex; gap: 8px 20px; flex-wrap: wrap; }
:is(.vst-pied, #vst-x#vst-y) .pied-tunnel a { color: var(--vst-encre); text-underline-offset: 3px; }

@media (min-width: 960px) {
  :is(.vst-pied, #vst-x#vst-y) { --gouttiere: 40px; }
  .et_pb_section.vst-pied-reassurance { margin-top: 120px; }
  :is(.vst-pied, #vst-x#vst-y) .pied-reassurance { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 0; padding: 40px max(var(--gouttiere), calc((100% - 1440px) / 2 + var(--gouttiere))); font-size: 14px; }
  :is(.vst-pied, #vst-x#vst-y) .pied-reassurance li { grid-template-columns: 32px 1fr; gap: 16px; align-items: normal; padding: 0 32px; border-top: 0; border-left: 1px solid var(--vst-encre-filet); }
  :is(.vst-pied, #vst-x#vst-y) .pied-reassurance li:first-child { border-left: 0; padding-left: 0; }
  :is(.vst-pied, #vst-x#vst-y) .pied-reassurance li:last-child:nth-child(odd) { grid-column: auto; }
  :is(.vst-pied, #vst-x#vst-y) .pied-reassurance svg { width: 32px; height: 32px; }
  :is(.vst-pied, #vst-x#vst-y) .pied-reassurance b { font-size: 14px; }
  .et_pb_section.vst-pied-lettre .et_pb_row { grid-template-columns: minmax(0, 1fr) minmax(0, 520px); align-items: center; gap: 64px; padding: 36px max(40px, calc((100% - 1440px) / 2 + 40px)) !important; }
  :is(.vst-pied, #vst-x#vst-y) .pied-lettre-titre h2 { font-size: 22px; }
  :is(.vst-pied, #vst-x#vst-y) .vst-lettre-form .et_pb_newsletter_fields { grid-template-columns: 1fr auto; }
  :is(.vst-pied, #vst-x#vst-y) .pied-colonnes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px; padding: 48px var(--gouttiere) 0; max-width: 1440px; margin: 0 auto; }
  :is(.vst-pied, #vst-x#vst-y) .pied-colonnes details { border-bottom: 0; }
  :is(.vst-pied, #vst-x#vst-y) .pied-colonnes summary { cursor: default; min-height: 0; padding-bottom: 12px; }
  :is(.vst-pied, #vst-x#vst-y) .pied-colonnes summary::after, :is(.vst-pied, #vst-x#vst-y) .pied-colonnes details[open] summary::after { content: none; }
  :is(.vst-pied, #vst-x#vst-y) .pied-colonnes li a, :is(.vst-pied, #vst-x#vst-y) .pied-cookies { min-height: 32px; }
  :is(.vst-pied, #vst-x#vst-y) .pied-boutiques li:not(.pied-tout) { display: grid; gap: 0; padding: 4px 0; }
  :is(.vst-pied, #vst-x#vst-y) .pied-boutiques li a { min-height: 24px; }
  :is(.vst-pied, #vst-x#vst-y) .pied-contact { max-width: 1440px; margin: 0 auto; padding: 32px var(--gouttiere) 0; grid-template-columns: 1fr auto; align-items: center; }
  :is(.vst-pied, #vst-x#vst-y) .pied-reseaux { margin: 0 -10px 0 0; }
  :is(.vst-pied, #vst-x#vst-y) .pied-bas { max-width: 1440px; margin: 24px auto 0; border-top: 1px solid var(--vst-ligne); padding-top: 20px; grid-template-columns: auto 1fr auto; align-items: center; gap: 32px; }
  :is(.vst-pied, #vst-x#vst-y) .pied-paiements { margin: 0; }
  :is(.vst-pied, #vst-x#vst-y) .pied-bas p:last-child { justify-self: end; }
}
