/* =========================================================
   GaeliKA — Estilos compartidos de páginas legales
   (aviso-legal.html · privacidad.html · cookies.html)
   Autocontenido y alineado con la marca GaeliKA.
   ========================================================= */

:root{
  --brand-blue:#4FA3D1;
  --brand-deep:#1F4E79;
  --brand-blue-soft:#eaf4fb;
  --ink:#1f2a37;
  --text:#384753;
  --muted:#6b7a8d;
  --line:#e3e9ef;
  --bg:#ffffff;
  --bg-soft:#f5f9fc;
  --radius:16px;
  --radius-sm:9px;
}

*,*::before,*::after{box-sizing:border-box;}

html{ -webkit-text-size-adjust:100%; }

body{
  margin:0;
  font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  color:var(--text);
  background:var(--bg-soft);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{ color:var(--brand-deep); text-decoration:underline; text-underline-offset:2px; }
a:hover{ color:var(--brand-blue); }

img{ max-width:100%; height:auto; }

/* ---------- Barra de marca ---------- */
.lgl-bar{
  height:5px;
  background:linear-gradient(90deg,var(--brand-deep),var(--brand-blue));
}

/* ---------- Cabecera ---------- */
.lgl-header{
  background:var(--bg);
  border-bottom:1px solid var(--line);
}
.lgl-header__inner{
  max-width:1080px;
  margin:0 auto;
  padding:.9rem 1.5rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.lgl-brand{ display:inline-flex; align-items:center; gap:.7rem; text-decoration:none; }
.lgl-brand img{ height:42px; width:auto; max-width:200px; object-fit:contain; display:block; }
.lgl-brand__tag{
  font-size:.8rem; color:var(--muted); font-weight:500;
  padding-left:.7rem; border-left:1px solid var(--line);
}

/* ---------- Selector de idioma ---------- */
.lgl-lang{ display:inline-flex; gap:.3rem; }
.lgl-lang button{
  font-family:inherit; font-size:.78rem; font-weight:600; letter-spacing:.02em;
  color:var(--muted); background:transparent;
  border:1px solid var(--line); border-radius:999px;
  padding:.3rem .7rem; cursor:pointer; transition:all .15s ease;
}
.lgl-lang button:hover{ color:var(--brand-deep); border-color:var(--brand-blue); }
.lgl-lang button.is-active{
  color:#fff; background:var(--brand-blue); border-color:var(--brand-blue);
}
.lgl-lang button:focus-visible{
  outline:2px solid rgba(79,163,209,.45); outline-offset:2px;
}

/* ---------- Cuerpo ---------- */
.lgl-wrap{ max-width:820px; margin:0 auto; padding:2.6rem 1.5rem 4rem; }
.lgl-card{
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:2.6rem 2.9rem;
  box-shadow:0 18px 46px rgba(31,78,121,.07);
}

.lgl-nav{ margin-bottom:1.6rem; font-size:.85rem; color:var(--muted); }
.lgl-nav a{ color:var(--brand-deep); }

.lgl-card h1{
  font-size:1.7rem; line-height:1.25; color:var(--brand-deep);
  margin:0 0 .35rem; font-weight:600;
}
.lgl-meta{ font-size:.83rem; color:var(--muted); margin-bottom:2rem; }
.lgl-card h2{
  font-size:1.05rem; color:var(--brand-deep);
  margin:1.9rem 0 .55rem; font-weight:600;
}
.lgl-card p,.lgl-card li{ font-size:.95rem; line-height:1.7; color:var(--text); margin:0 0 .7rem; }
.lgl-card ul{ padding-left:1.25rem; margin:0 0 .9rem; }
.lgl-card li{ margin-bottom:.45rem; }
.lgl-card strong{ color:var(--ink); }

/* Tabla (plazos de conservación / cookies) */
.lgl-table{ width:100%; border-collapse:collapse; margin:.6rem 0 1.3rem; font-size:.88rem; }
.lgl-table th,.lgl-table td{
  border:1px solid var(--line); padding:.6rem .75rem; text-align:left; vertical-align:top;
}
.lgl-table th{ background:var(--brand-blue-soft); color:var(--brand-deep); font-weight:600; }
.lgl-table tr:nth-child(even) td{ background:#fbfdff; }

/* Aviso / callout */
.lgl-note{
  background:var(--brand-blue-soft);
  border-left:3px solid var(--brand-blue);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  padding:.85rem 1.15rem; margin:1rem 0; font-size:.9rem; color:var(--text);
}

/* ---------- Pie ---------- */
.lgl-footer{
  background:var(--brand-deep);
  color:#dbe7f1;
  margin-top:2rem;
}
.lgl-footer__inner{
  max-width:1080px; margin:0 auto; padding:2.4rem 1.5rem 1.4rem;
  display:flex; flex-wrap:wrap; gap:1.6rem 2.5rem; align-items:flex-start;
  justify-content:space-between;
}
.lgl-footer__brand{ max-width:360px; }
.lgl-footer__brand img{ height:38px; width:auto; margin-bottom:.7rem; filter:brightness(0) invert(1); opacity:.95; }
.lgl-footer__brand p{ font-size:.85rem; line-height:1.6; color:#bcd0e2; margin:0; }
.lgl-footer h4{ font-size:.8rem; text-transform:uppercase; letter-spacing:.05em; color:#fff; margin:0 0 .7rem; }
.lgl-footer ul{ list-style:none; margin:0; padding:0; }
.lgl-footer li{ margin-bottom:.4rem; font-size:.88rem; }
.lgl-footer a{ color:#dbe7f1; text-decoration:none; }
.lgl-footer a:hover{ color:#fff; text-decoration:underline; }
.lgl-footer__bottom{
  max-width:1080px; margin:0 auto; padding:1rem 1.5rem 1.8rem;
  border-top:1px solid rgba(255,255,255,.14);
  font-size:.8rem; color:#9fb8cd;
  display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; justify-content:space-between;
}

/* ---------- Cambio de idioma ---------- */
[data-lang]{ display:none; }
html[lang="es"] [data-lang="es"],
html[lang="gl"] [data-lang="gl"],
html[lang="en"] [data-lang="en"]{ display:block; }

[data-lang-inline]{ display:none; }
html[lang="es"] [data-lang-inline="es"],
html[lang="gl"] [data-lang-inline="gl"],
html[lang="en"] [data-lang-inline="en"]{ display:inline; }

/* ---------- Responsive ---------- */
@media (max-width:680px){
  .lgl-card{ padding:1.7rem 1.35rem; }
  .lgl-card h1{ font-size:1.45rem; }
  .lgl-brand__tag{ display:none; }
  .lgl-table{ font-size:.82rem; }
  .lgl-footer__inner{ gap:1.4rem; }
}
