/* ==========================================================================
   AIRA BEACH CLUB · hoja compartida de las páginas legales
   airabeach.es/aviso-legal.html · /privacidad.html · /politica-cookies.html
   y sus equivalentes en /en/
   --------------------------------------------------------------------------
   Mismo sistema editorial que /carta/: Cormorant Garamond (títulos) + Jost
   (texto), verde bosque #2F4A45 / crema #F5EBDD / teja #B26B35.
   Estética de papel: filetes finos, nada de pastillas, sombras ni degradados.
   18-jul-2026 · creada al publicar los tres legales (antes daban 404).
   ========================================================================== */

:root{
  --verde:#2F4A45;
  --verde-prof:#233833;
  --crema:#F5EBDD;
  --tinta:#3B2A1C;
  --tinta-suave:#7A6350;
  --teja:#B26B35;
  --hair:rgba(59,42,28,.20);
  --hair-fino:rgba(59,42,28,.12);
  --hair-claro:rgba(245,235,221,.28);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  background:var(--crema);
  color:var(--tinta);
  font-family:'Jost',sans-serif;
  font-weight:300;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit}

/* ===== Cabecera ===== */
.masthead{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:1rem 1.4rem;
  background:var(--verde);color:var(--crema);
}
.masthead .marca{display:flex;align-items:center;gap:.7rem;min-width:0}
.masthead img{height:30px;width:auto}
.masthead .rotulo{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;
  font-size:1.15rem;letter-spacing:.02em;
  padding-left:.7rem;border-left:1px solid var(--hair-claro);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.masthead .acciones{display:flex;align-items:center;gap:1rem;flex-shrink:0}
.masthead a{
  font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:400;
  text-decoration:none;opacity:.8;transition:opacity .2s;white-space:nowrap;
}
.masthead a:hover{opacity:1}
.masthead .idioma{
  padding-left:1rem;border-left:1px solid var(--hair-claro);
}

/* ===== Cuerpo del documento ===== */
.legal{
  max-width:46rem;
  margin:0 auto;
  padding:3.4rem 1.4rem 4.5rem;
}

.legal h1{
  font-family:'Cormorant Garamond',serif;
  font-weight:500;
  font-size:clamp(2.1rem,6vw,3rem);
  line-height:1.08;
  letter-spacing:-.01em;
  margin-bottom:1.1rem;
}
.legal .kicker{
  font-size:.98rem;
  color:var(--tinta-suave);
  padding-bottom:1.8rem;
  border-bottom:1px solid var(--hair);
  margin-bottom:2.6rem;
}

.legal h2{
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:1.5rem;
  line-height:1.2;
  margin:2.8rem 0 .9rem;
}
.legal h2 .num{
  display:block;
  font-family:'Jost',sans-serif;
  font-weight:400;
  font-size:.62rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--teja);
  margin-bottom:.5rem;
}
.legal h3{
  font-family:'Jost',sans-serif;
  font-weight:500;
  font-size:.95rem;
  letter-spacing:.02em;
  margin:1.8rem 0 .5rem;
}

.legal p{margin-bottom:1rem}
.legal p:last-child{margin-bottom:0}
.legal strong{font-weight:500}
.legal em{font-style:italic}

.legal a{
  color:var(--teja);
  text-decoration:underline;
  text-underline-offset:.18em;
  text-decoration-thickness:1px;
  text-decoration-color:rgba(178,107,53,.4);
  transition:text-decoration-color .2s;
}
.legal a:hover{text-decoration-color:var(--teja)}

.legal ul{margin:0 0 1rem 1.1rem}
.legal li{margin-bottom:.45rem;padding-left:.2rem}
.legal li::marker{color:var(--teja)}

/* ===== Bloque de datos identificativos (papel / ficha) ===== */
.datos{
  margin:1.4rem 0 1.2rem;
  border-top:1px solid var(--hair);
}
.datos > div{
  display:grid;
  grid-template-columns:11rem 1fr;
  gap:1.2rem;
  padding:.72rem 0;
  border-bottom:1px solid var(--hair-fino);
}
.datos dt{
  font-size:.68rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--tinta-suave);
  font-weight:400;
  padding-top:.18em;
}
.datos dd{font-size:1rem}
@media(max-width:640px){
  .datos > div{grid-template-columns:1fr;gap:.15rem;padding:.7rem 0}
}

/* ===== Tabla de tratamientos (privacidad) ===== */
.tratamiento{
  margin:1.5rem 0;
  padding:1.3rem 1.4rem;
  background:rgba(255,255,255,.42);
  border-left:2px solid var(--teja);
}
.tratamiento h3{margin-top:0}
.tratamiento dl{margin-top:.7rem}
.tratamiento dl > div{
  display:grid;
  grid-template-columns:9.5rem 1fr;
  gap:1rem;
  padding:.4rem 0;
  border-top:1px solid var(--hair-fino);
}
.tratamiento dt{
  font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tinta-suave);padding-top:.2em;
}
.tratamiento dd{font-size:.95rem}
@media(max-width:640px){
  .tratamiento{padding:1.1rem 1rem}
  .tratamiento dl > div{grid-template-columns:1fr;gap:.1rem}
}

/* ===== Aviso destacado (p. ej. "no usamos cookies propias") ===== */
.destacado{
  margin:2rem 0;
  padding:1.5rem 1.6rem;
  background:var(--verde);
  color:var(--crema);
}
.destacado p{margin-bottom:.6rem}
.destacado p:last-child{margin-bottom:0}
.destacado .grande{
  font-family:'Cormorant Garamond',serif;
  font-size:1.45rem;
  line-height:1.25;
  font-weight:500;
}
.destacado a{color:var(--crema);text-decoration-color:var(--hair-claro)}

/* ===== Cierre ===== */
.actualizado{
  margin-top:3.2rem;
  padding-top:1.4rem;
  border-top:1px solid var(--hair);
  font-size:.8rem;
  color:var(--tinta-suave);
}

/* ===== Pie ===== */
footer{
  background:var(--verde);
  color:var(--crema);
  padding:2.8rem 1.4rem 2.2rem;
}
.pie{
  max-width:46rem;margin:0 auto;
  display:flex;flex-wrap:wrap;gap:2rem 3rem;align-items:flex-start;
}
.pie img{height:38px;width:auto;opacity:.95}
.pie .bloque{min-width:11rem}
.pie .lbl{
  display:block;
  font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  opacity:.6;margin-bottom:.6rem;
}
.pie a{color:var(--crema);text-decoration:none;opacity:.88;transition:opacity .2s}
.pie a:hover{opacity:1;text-decoration:underline;text-underline-offset:.18em}
.pie .linea{display:block;margin-bottom:.3rem;font-size:.92rem}
.pie address{font-style:normal;font-size:.92rem;opacity:.88;line-height:1.7}
.pie-fina{
  max-width:46rem;margin:2.2rem auto 0;
  padding-top:1.3rem;
  border-top:1px solid var(--hair-claro);
  font-size:.74rem;opacity:.62;
}

/* ===== Impresión ===== */
@media print{
  .masthead,footer{background:none;color:#000}
  .masthead,.destacado{border:1px solid #999}
  .destacado{background:none;color:#000}
  body{background:#fff;font-size:11pt}
  .legal{max-width:none;padding:0}
  .legal a{color:#000;text-decoration:none}
}
