/* STGO · documentos legales (aviso legal, privacidad, cookies, política SIG,
   condiciones generales de contratación).
   Each document is its own page (linkable, readable without JavaScript) and
   the home opens it inside the contact panel's card (js/stgo-contacto-panel.js
   lifts [data-stgo-panel-head] and [data-stgo-panel-body]). The same rules
   style both: the page on its own dark stage, the card on the home. One
   reading column, Inter for the text, Montserrat for the titles, Roboto Mono
   for labels — the home's three voices. */

@font-face {
  font-family: "Inter VF";
  src: url("../fonts/InterVariable.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Roboto Mono VF";
  src: url("../fonts/RobotoMono-VariableFont_wght.woff2") format("woff2");
  font-weight: 100 700;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/montserrat/montserrat-latin.woff2") format("woff2");
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --stgo-legal-fondo: #0f0f0f;
  --stgo-legal-texto: rgba(236, 236, 236, 0.86);
  --stgo-legal-fuerte: #ececec;
  --stgo-legal-tenue: rgba(236, 236, 236, 0.5);
  --stgo-legal-linea: rgba(236, 236, 236, 0.12);
  --stgo-legal-amarillo: #ffe600;
}

/* ── the page on its own ───────────────────────────────────────────────── */
.stgo-legal_pagina {
  margin: 0;
  background-color: var(--stgo-legal-fondo);
  color: var(--stgo-legal-texto);
  font-family: "Inter VF", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.stgo-legal_barra {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  max-width: 72rem;
  margin: 0 auto;
  padding: 1.5rem 1.25rem;
}

.stgo-legal_marca img {
  display: block;
  width: clamp(10.5rem, 17vw, 15.5rem);   /* the home's navbar logo, tagline included */
  height: auto;
}

.stgo-legal_volver {
  font-family: "Roboto Mono VF", monospace;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--stgo-legal-fuerte);
  text-decoration: none;
  border-bottom: 1px solid var(--stgo-legal-linea);
  padding-bottom: 0.2rem;
}

.stgo-legal_volver:hover,
.stgo-legal_volver:focus-visible {
  color: var(--stgo-legal-amarillo);
  border-bottom-color: currentColor;
}

.stgo-legal_main {
  max-width: 46rem;
  margin: 0 auto;
  padding: 2.5rem 1.25rem 5rem;
}

.stgo-legal_pie {
  max-width: 46rem;
  margin: 0 auto;
  padding: 2rem 1.25rem 3rem;
  border-top: 1px solid var(--stgo-legal-linea);
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--stgo-legal-tenue);
}

.stgo-legal_pie nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  margin-bottom: 1rem;
}

.stgo-legal_pie a {
  color: var(--stgo-legal-texto);
}

.stgo-legal_pie a[aria-current="page"] {
  color: var(--stgo-legal-amarillo);
  text-decoration: none;
}

/* ── the document (page and card) ──────────────────────────────────────── */
.stgo-legal_head {
  padding-bottom: 1.75rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--stgo-legal-linea);
}

.stgo-legal_etiqueta {
  margin: 0 0 1rem;
  font-family: "Roboto Mono VF", monospace;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--stgo-legal-tenue);
}

.stgo-legal_titulo {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: clamp(2rem, 4.2vw, 3rem);
  line-height: 1.06;
  letter-spacing: -0.02em;
  color: var(--stgo-legal-fuerte);
  text-wrap: balance;
}

.stgo-legal_fecha {
  margin: 1rem 0 0;
  font-family: "Roboto Mono VF", monospace;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  color: var(--stgo-legal-tenue);
}

.stgo-legal_doc {
  font-size: 1rem;
  line-height: 1.68;
  color: var(--stgo-legal-texto);
  overflow-wrap: break-word;
}

.stgo-legal_doc > * + * {
  margin-top: 1rem;
}

.stgo-legal_doc h2 {
  margin: 2.5rem 0 0;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.3;
  color: var(--stgo-legal-fuerte);
}

.stgo-legal_doc h2 + * {
  margin-top: 0.75rem;
}

.stgo-legal_doc p,
.stgo-legal_doc ul,
.stgo-legal_doc dl {
  margin-bottom: 0;
}

.stgo-legal_doc strong {
  font-weight: 600;
  color: var(--stgo-legal-fuerte);
}

.stgo-legal_doc a {
  color: var(--stgo-legal-fuerte);
  text-decoration: underline;
  text-decoration-color: var(--stgo-legal-amarillo);
  text-underline-offset: 0.2em;
}

.stgo-legal_doc a:hover,
.stgo-legal_doc a:focus-visible {
  color: var(--stgo-legal-amarillo);
}

.stgo-legal_doc ul {
  padding: 0;
  list-style: none;
}

.stgo-legal_doc li {
  position: relative;
  padding-left: 1.25rem;
}

.stgo-legal_doc li + li {
  margin-top: 0.5rem;
}

.stgo-legal_doc li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8em;
  width: 0.5rem;
  height: 1px;
  background-color: var(--stgo-legal-amarillo);
}

/* key facts (the company's identity, a storage entry): label / value rows */
.stgo-legal_datos {
  display: grid;
  grid-template-columns: minmax(8rem, 13rem) 1fr;
  gap: 0.5rem 1.5rem;
  padding: 1.25rem 0;
  border-top: 1px solid var(--stgo-legal-linea);
  border-bottom: 1px solid var(--stgo-legal-linea);
}

.stgo-legal_datos dt {
  font-family: "Roboto Mono VF", monospace;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--stgo-legal-tenue);
  padding-top: 0.25rem;
}

.stgo-legal_datos dd {
  margin: 0;
  color: var(--stgo-legal-fuerte);
}

/* the storage register of the cookie policy */
.stgo-legal_registro {
  display: grid;
  gap: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--stgo-legal-linea);
}

.stgo-legal_registro > li {
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--stgo-legal-linea);
}

.stgo-legal_registro > li::before {
  display: none;
}

.stgo-legal_registro > li + li {
  margin-top: 0;
}

.stgo-legal_registro h3 {
  margin: 0 0 0.5rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  color: var(--stgo-legal-fuerte);
}

.stgo-legal_registro p {
  margin: 0.35rem 0 0;
}

.stgo-legal_marcas {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1.25rem;
  margin-top: 0.6rem !important;
  font-family: "Roboto Mono VF", monospace;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--stgo-legal-tenue);
}

.stgo-legal_marcas b {
  font-weight: 500;
  color: var(--stgo-legal-texto);
}

.stgo-legal_nota {
  padding: 1rem 1.25rem;
  border-left: 2px solid var(--stgo-legal-amarillo);
  background-color: rgba(255, 255, 255, 0.03);
  color: var(--stgo-legal-fuerte);
}

/* ── inside the home's card ────────────────────────────────────────────── */
.stgo-cpanel.is-legal .stgo-legal_head {
  padding-right: 4.5rem;                /* room for the close button */
}

.stgo-cpanel.is-legal .stgo-legal_titulo {
  font-size: clamp(1.75rem, 2.6vw, 2.5rem);
}

.stgo-cpanel.is-legal .stgo-legal_doc {
  max-width: 44rem;
  font-size: 0.95rem;
}

/* swapping one document for another inside the open card: no second unfold,
   only the new text settles in */
.stgo-cpanel.is-sin-entrada .stgo-cpanel_velo,
.stgo-cpanel.is-sin-entrada .stgo-cpanel_in,
.stgo-cpanel.is-sin-entrada .menu_close {
  transition: none !important;
}

.stgo-cpanel.is-sin-entrada.is-abierto .stgo-cpanel_item {
  transition-delay: calc(var(--k, 0) * 0.04s);
}

/* the legal card reads better a little wider than the contact card */
@media screen and (min-width: 992px) {
  .stgo-cpanel.is-legal .stgo-cpanel_marco {
    width: min(58vw, 52rem);
  }
}

@media screen and (max-width: 767px) {
  .stgo-legal_datos {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }

  .stgo-legal_datos dd + dt {
    margin-top: 0.75rem;
  }

  .stgo-legal_main {
    padding-top: 1.5rem;
  }
}

/* registry numbers (CIF, certificates) never split at their hyphen */
.stgo-nowrap { white-space: nowrap; }
