/* =========================================================================
   CraftedLanding · hoja de estilo de las páginas legales
   Compartida por: aviso-legal · politica-privacidad · politica-cookies ·
                   condiciones-contratacion
   Mismo sistema de color y tipografía que index.html · prefijo cl-
   ========================================================================= */

:root{
  --cl-azul:#0E3B4C; --cl-azul-900:#07242F;
  --cl-coral:#FF6B4A; --cl-coral-600:#E8532F; --cl-coral-texto:#A83A1A;
  --cl-arena:#F3EDE3; --cl-arena-200:#E7DECE; --cl-blanco:#FFFDF9;
  --cl-tinta:#12222A; --cl-tinta-70:#46565E; --cl-tinta-50:#6C7A81;
  --cl-verde:#2E7D62;
  --cl-display:"Fraunces",Georgia,"Times New Roman",serif;
  --cl-texto:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --cl-ancho:1180px; --cl-margen:clamp(1.25rem,5vw,2.5rem);
  --cl-radio:14px; --cl-header:64px;
}

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

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--cl-header) + 12px);
}

body{
  margin:0; background:var(--cl-arena); color:var(--cl-tinta);
  font-family:var(--cl-texto); font-size:1rem; line-height:1.7;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}

img,svg{ max-width:100%; display:block; }
a{ color:var(--cl-coral-texto); }

h1,h2,h3{
  font-family:var(--cl-display); font-weight:600; line-height:1.15;
  letter-spacing:-.015em; margin:0; text-wrap:balance;
}
p{ margin:0; text-wrap:pretty; }

:focus-visible{ outline:3px solid var(--cl-coral); outline-offset:3px; border-radius:4px; }

.cl-sr{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

.cl-envoltura{
  width:100%; max-width:var(--cl-ancho);
  margin-inline:auto; padding-inline:var(--cl-margen);
}

/* ---------- Cabecera --------------------------------------------------- */

.cl-cabecera{
  position:fixed; inset:0 0 auto 0; z-index:900; height:var(--cl-header);
  background:rgba(243,237,227,.9);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--cl-arena-200);
}
.cl-cabecera__fila{
  height:var(--cl-header);
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.cl-marca{
  display:inline-flex; align-items:center; gap:.55rem;
  text-decoration:none; color:var(--cl-azul);
  font-family:var(--cl-display); font-size:1.18rem; font-weight:700;
  letter-spacing:-.02em; white-space:nowrap;
}
.cl-marca__signo{
  width:26px; height:26px; flex:none; border-radius:8px;
  background:var(--cl-azul); display:grid; place-items:center;
}
.cl-marca em{ font-style:normal; font-weight:500; color:var(--cl-tinta-70); }

/* ---------- Botones ---------------------------------------------------- */

.cl-boton{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-family:var(--cl-texto); font-size:.87rem; font-weight:600; line-height:1.2;
  text-decoration:none; padding:.7rem 1.15rem;
  border:2px solid transparent; border-radius:100px; cursor:pointer;
  transition:transform .18s ease, background-color .18s ease, border-color .18s ease;
}
.cl-boton:hover{ transform:translateY(-2px); }
.cl-boton--principal{ background:var(--cl-coral); color:var(--cl-tinta); }
.cl-boton--principal:hover{ background:var(--cl-coral-600); }
.cl-boton--contorno{ background:transparent; color:var(--cl-azul); border-color:rgba(14,59,76,.28); }
.cl-boton--contorno:hover{ border-color:var(--cl-azul); background:rgba(14,59,76,.05); }

/* ---------- Portada de página legal ------------------------------------ */

.cl-legal-portada{
  padding-top:calc(var(--cl-header) + clamp(2.25rem,6vw,3.5rem));
  padding-bottom:clamp(1.75rem,4vw,2.5rem);
  background:radial-gradient(120% 90% at 85% 0%, rgba(255,107,74,.1) 0%, transparent 55%),
             linear-gradient(180deg,#F7F2EA 0%,var(--cl-arena) 100%);
}
.cl-miga{ font-size:.82rem; color:var(--cl-tinta-50); }
.cl-miga a{ color:var(--cl-tinta-50); text-decoration:none; }
.cl-miga a:hover{ color:var(--cl-coral-texto); text-decoration:underline; }
.cl-legal-portada h1{
  font-size:clamp(1.9rem,5.2vw,2.9rem); color:var(--cl-azul);
  margin-top:.85rem; max-width:20ch;
}
.cl-legal-portada__sub{ margin-top:.9rem; color:var(--cl-tinta-70); max-width:58ch; }
.cl-fecha{
  display:inline-flex; align-items:center; gap:.45rem; margin-top:1.25rem;
  background:var(--cl-blanco); border:1px solid var(--cl-arena-200);
  border-radius:100px; padding:.35rem .85rem;
  font-size:.78rem; font-weight:600; color:var(--cl-tinta-70);
}
.cl-fecha i{ width:6px; height:6px; border-radius:50%; background:var(--cl-verde); flex:none; }

/* ---------- Cuerpo legal ----------------------------------------------- */

.cl-legal{ padding-bottom:clamp(3rem,8vw,5rem); }
.cl-legal__reja{ display:grid; gap:2rem; align-items:start; }

/* Índice lateral */
.cl-indice{
  background:var(--cl-blanco); border:1px solid var(--cl-arena-200);
  border-radius:var(--cl-radio); padding:1.25rem 1.35rem;
}
.cl-indice h2{
  font-family:var(--cl-texto); font-size:.72rem; font-weight:700;
  letter-spacing:.13em; text-transform:uppercase;
  color:var(--cl-tinta-50); margin-bottom:.9rem;
}
.cl-indice ol{ list-style:none; margin:0; padding:0; counter-reset:apartado; display:grid; gap:.15rem; }
.cl-indice li{ counter-increment:apartado; }
.cl-indice a{
  display:grid; grid-template-columns:1.6rem 1fr; gap:.4rem;
  padding:.4rem .2rem; font-size:.87rem;
  color:var(--cl-tinta-70); text-decoration:none; border-radius:6px;
}
.cl-indice a::before{
  content:counter(apartado) ".";
  color:var(--cl-coral-texto); font-weight:700; font-variant-numeric:tabular-nums;
}
.cl-indice a:hover{ background:var(--cl-arena); color:var(--cl-azul); }

/* Texto */
.cl-texto-legal{
  background:var(--cl-blanco); border:1px solid var(--cl-arena-200);
  border-radius:var(--cl-radio); padding:clamp(1.5rem,5vw,2.75rem);
  counter-reset:seccion;
}
.cl-texto-legal > p:first-of-type{ color:var(--cl-tinta-70); }

.cl-apartado{ counter-increment:seccion; padding-top:2rem; }
.cl-apartado:first-of-type{ padding-top:1.5rem; }
.cl-apartado h2{
  display:grid; grid-template-columns:auto 1fr; gap:.7rem; align-items:baseline;
  font-size:1.2rem; color:var(--cl-azul);
  scroll-margin-top:calc(var(--cl-header) + 1rem);
}
.cl-apartado h2::before{
  content:counter(seccion);
  font-family:var(--cl-texto); font-size:.72rem; font-weight:700;
  color:var(--cl-coral-texto); border:1px solid currentColor;
  border-radius:100px; padding:.12rem .5rem; font-variant-numeric:tabular-nums;
}
.cl-apartado p{ margin-top:.8rem; color:var(--cl-tinta-70); }
.cl-apartado ul{ margin:.8rem 0 0; padding-left:1.1rem; color:var(--cl-tinta-70); }
.cl-apartado li{ margin-top:.5rem; }
.cl-apartado li::marker{ color:var(--cl-coral); }
.cl-apartado b{ color:var(--cl-tinta); font-weight:600; }
.cl-apartado + .cl-apartado{ border-top:1px solid var(--cl-arena); }

/* Bloque destacado (importes, penalizaciones, avisos) */
.cl-destacado{
  margin-top:1rem; padding:1rem 1.15rem;
  background:var(--cl-arena); border-left:3px solid var(--cl-coral);
  border-radius:0 8px 8px 0;
}
.cl-destacado p{ margin-top:0; color:var(--cl-tinta); font-size:.94rem; }
.cl-destacado p + p{ margin-top:.5rem; }

/* Ficha de datos identificativos */
.cl-ficha{ margin:1.2rem 0 0; display:grid; gap:0; }
.cl-ficha div{
  display:grid; grid-template-columns:1fr; gap:.1rem;
  padding:.7rem 0; border-bottom:1px solid var(--cl-arena);
}
.cl-ficha div:last-child{ border-bottom:0; }
.cl-ficha dt{
  font-size:.72rem; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--cl-tinta-50);
}
.cl-ficha dd{ margin:0; color:var(--cl-tinta); }

/* Tabla (cookies) */
.cl-tabla-envoltura{ margin-top:1.1rem; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.cl-tabla{
  width:100%; min-width:520px; border-collapse:collapse;
  font-size:.9rem; text-align:left;
}
.cl-tabla th{
  background:var(--cl-arena); color:var(--cl-azul);
  font-size:.72rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  padding:.7rem .8rem; border-bottom:1px solid var(--cl-arena-200);
}
.cl-tabla td{
  padding:.75rem .8rem; color:var(--cl-tinta-70);
  border-bottom:1px solid var(--cl-arena);
  vertical-align:top;
}
.cl-tabla tr:last-child td{ border-bottom:0; }
.cl-tabla code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.86em; color:var(--cl-azul);
  background:var(--cl-arena); padding:.1rem .35rem; border-radius:4px;
}

.cl-cierre{
  margin-top:2.25rem; padding-top:1.75rem;
  border-top:1px solid var(--cl-arena-200);
  font-size:.93rem; color:var(--cl-tinta-70);
}
.cl-otras{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.25rem; }

/* ---------- Pie -------------------------------------------------------- */

.cl-pie{
  background:var(--cl-azul-900); color:#9FB6BD;
  padding-block:clamp(2.5rem,6vw,3.5rem) 2rem; font-size:.88rem;
}
.cl-pie__reja{ display:grid; gap:2rem; }
.cl-pie .cl-marca{ color:var(--cl-blanco); }
.cl-pie .cl-marca em{ color:#7E969E; }
.cl-pie .cl-marca__signo{ background:rgba(255,253,249,.1); }
.cl-pie__datos{ margin-top:1rem; line-height:1.8; }
.cl-pie__datos a{ color:#C3D4D9; text-decoration:none; }
.cl-pie__datos a:hover{ color:var(--cl-coral); }
.cl-pie h3{
  font-family:var(--cl-texto); font-size:.75rem; font-weight:700;
  letter-spacing:.13em; text-transform:uppercase; color:#7E969E; margin-bottom:.9rem;
}
.cl-pie ul{ list-style:none; margin:0; padding:0; display:grid; gap:.6rem; }
.cl-pie ul a{ color:#C3D4D9; text-decoration:none; }
.cl-pie ul a:hover{ color:var(--cl-coral); text-decoration:underline; }
.cl-pie__raya{
  margin-top:2.5rem; padding-top:1.5rem;
  border-top:1px solid rgba(255,253,249,.12);
  display:flex; flex-wrap:wrap; gap:.6rem 1.5rem; justify-content:space-between;
  font-size:.8rem; color:#7E969E;
}

/* ---------- Puntos de ruptura ------------------------------------------ */

@media (min-width:600px){
  .cl-ficha div{ grid-template-columns:200px 1fr; gap:1rem; align-items:baseline; }
}

@media (min-width:900px){
  :root{ --cl-header:76px; }
  .cl-legal__reja{ grid-template-columns:260px 1fr; column-gap:3rem; }
  .cl-indice{ position:sticky; top:calc(var(--cl-header) + 1.5rem); }
  .cl-pie__reja{ grid-template-columns:1.4fr 1fr 1fr; gap:3rem; }
}

/* ---------- Accesibilidad e impresión ---------------------------------- */

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ transition-duration:.01ms !important; animation-duration:.01ms !important; }
}

@media print{
  .cl-cabecera,.cl-indice,.cl-otras{ display:none !important; }
  body{ background:#fff; }
  .cl-texto-legal{ border:0; padding:0; }
  .cl-tabla{ min-width:0; }
}
