/* ==========================================================================
   GOEX — barre de cookies + blocage prealable de Google Maps
   Aucune librairie externe. Les couleurs reprennent les variables des pages
   legales et retombent sur les valeurs exactes du site quand elles n'existent
   pas (index.html ecrit ses couleurs en dur).
   ========================================================================== */
:root{
  --gx-cobre:        var(--cobre,        #C4693F);
  --gx-cobre-claro:  var(--cobre-claro,  #F2B99C);
  --gx-cobre-oscuro: var(--cobre-oscuro, #8B432B);
  --gx-acero:        var(--acero,        #D6D6D6);
  --gx-texto:        var(--texto,        #C9CCD1);
  --gx-superficie:   var(--superficie,   #101216);
  --gx-banner:       #0D1117;
}

/* ---------- banniere ---------- */
.gx-cookie{
  position:fixed; left:0; right:0; bottom:0; z-index:100;      /* > WhatsApp (70), menu (80), lightbox (90) */
  background:var(--gx-banner);
  border-top:1px solid var(--gx-cobre);
  color:var(--gx-texto);
  font-family:'Inter',system-ui,sans-serif;
  padding:16px clamp(16px,4vw,40px);
  padding-bottom:calc(16px + env(safe-area-inset-bottom));
  box-shadow:0 -10px 30px rgba(0,0,0,.5);
}
.gx-cookie[hidden]{display:none !important}
.gx-cookie-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.gx-cookie-txt{margin:0;flex:1 1 320px;font-size:14.5px;line-height:1.55;color:var(--gx-texto)}
.gx-cookie-more{color:var(--gx-cobre);text-decoration:underline;white-space:nowrap}
.gx-cookie-actions{display:flex;gap:12px;flex:0 0 auto}

/* Aceptar et Rechazar : memes dimensions, meme poids typographique.
   Seul le remplissage differe (exigence AEPD : le refus doit rester
   aussi accessible que l'acceptation). */
.gx-btn{
  font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:1.4px;
  font-weight:600;font-size:14px;line-height:1;cursor:pointer;
  min-height:44px;min-width:136px;padding:12px 24px;
  display:inline-flex;align-items:center;justify-content:center;
  clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);
  transition:filter .25s,box-shadow .25s,background .25s,color .25s,border-color .25s;
}
.gx-btn-accept{color:#fff;border:none;border-top:1px solid rgba(242,185,156,.35);
  background:linear-gradient(135deg,var(--gx-cobre),var(--gx-cobre-oscuro));
  box-shadow:0 8px 24px rgba(196,105,63,.28)}
.gx-btn-accept:hover{filter:brightness(1.07);box-shadow:0 0 22px rgba(214,105,48,.5),0 12px 30px rgba(214,105,48,.35)}
.gx-btn-reject{color:var(--gx-acero);background:transparent;border:1px solid rgba(214,214,214,.45)}
.gx-btn-reject:hover{border-color:var(--gx-acero);background:rgba(255,255,255,.05)}

/* ---------- blocage prealable du mapa ---------- */
.map-frame[data-src]{display:none !important}
.map-consent{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:16px;height:380px;padding:26px;text-align:center;
  background:var(--gx-superficie);
  border:1px solid rgba(196,105,63,.25);
  font-family:'Inter',system-ui,sans-serif;
}
.map-consent[hidden]{display:none !important}
@media (max-width:600px){.map-consent{height:300px}}
.map-consent-txt{margin:0;font-size:14.5px;line-height:1.55;color:var(--gx-texto);max-width:34ch}
.map-consent-link{font-size:13.5px;color:var(--gx-cobre);text-decoration:underline}

/* ---------- lien « Configurar cookies » du pied de page ---------- */
.gx-config-link{
  display:inline;background:none;border:0;padding:0;margin:0;
  font:inherit;color:inherit;cursor:pointer;text-align:left;
}
.gx-config-link:hover{color:var(--gx-cobre);text-decoration:underline}

/* ---------- focus clavier visible partout ---------- */
.gx-btn:focus-visible,.gx-cookie-more:focus-visible,.gx-config-link:focus-visible,
.map-consent-link:focus-visible,.gx-cookie:focus-visible{
  outline:2px solid var(--gx-cobre-claro);outline-offset:3px
}

/* ---------- mobile : boutons empiles pleine largeur ---------- */
@media (max-width:640px){
  .gx-cookie-inner{flex-direction:column;align-items:stretch;gap:14px}
  /* en colonne, flex-basis porte sur la HAUTEUR : sans ce reset le
     paragraphe reclamerait 320px de haut et creuserait un vide enorme. */
  .gx-cookie-txt{flex:0 0 auto}
  .gx-cookie-actions{flex-direction:column;width:100%}
  .gx-btn{width:100%}
}
@media (prefers-reduced-motion: reduce){.gx-btn{transition:none}}
