/* PAPELERÍA EL LIBRO — concepto "Cuaderno de colores".
   La página es una hoja de cuaderno de cuadrícula: fotos reales pegadas con cinta, marcatextos amarillo,
   post-its y la libreta de la lista. Colores del logo: azul marino y rojo, con amarillo de acento.
   60 % papel (crema con cuadrícula) · 30 % azul marino (texto y pie) · 10 % rojo (botones que convierten).
   Dos letras nada más: Alfa Slab One (títulos, gruesa como la del logo) y la del sistema (texto). */
@font-face{font-family:"Alfa Slab One";src:url(/assets/fuentes/alfa-slab-one.woff2) format("woff2");font-display:swap}
:root{--papel:#fffdf6;--cuadri:rgba(40,80,200,.085);--tinta:#16205e;--tinta2:#3b4272;--azul:#1b2a8a;--rojo:#d9121a;--rojo2:#b00e14;
  --amarillo:#ffe94d;--blanco:#fff;--sombra:0 10px 24px -12px rgba(22,32,94,.35);
  --titulo:"Alfa Slab One",Rockwell,"Roboto Slab",Georgia,serif;--f:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
body{min-height:100vh;overflow-x:hidden;color:var(--tinta);font:400 17px/1.6 var(--f);
  background:linear-gradient(var(--cuadri) 1px,transparent 1px) 0 0/26px 26px,linear-gradient(90deg,var(--cuadri) 1px,transparent 1px) 0 0/26px 26px,var(--papel)}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--azul);outline-offset:3px;border-radius:6px}
.ico{width:22px;height:22px;flex:none}
.ancho{width:min(1120px,100% - 2rem);margin-inline:auto}
section{padding-top:4.5rem}
h1,h2{font-family:var(--titulo);font-weight:400;letter-spacing:-.01em;color:var(--azul);text-wrap:balance}
h2{font-size:clamp(1.9rem,6.4vw,3rem);line-height:1.08}
h3{font:800 1.2rem/1.25 var(--f)}
.bajada{margin-top:.6rem;max-width:52ch;color:var(--tinta2);font-size:1.08rem}
.centro{text-align:center}

/* marcatextos amarillo: se "pinta" de izquierda a derecha */
.marca{background:linear-gradient(transparent 58%,var(--amarillo) 58% 92%,transparent 92%) no-repeat 0 0/100% 100%;padding:0 .1em;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}
.mov .marca{background-size:0 100%;transition:background-size .9s cubic-bezier(.6,0,.2,1) .35s}
.mov.listo .marca{background-size:100% 100%}

/* sticker (calcomanía) */
.sticker{display:inline-block;padding:.35rem .8rem;border-radius:8px;background:var(--amarillo);color:var(--tinta);font:800 .82rem/1.2 var(--f);
  letter-spacing:.04em;text-transform:uppercase;transform:rotate(-2deg);box-shadow:2px 3px 0 rgba(22,32,94,.18)}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:56px;padding:.8rem 1.4rem;border-radius:14px;
  background:var(--rojo);color:#fff;font:800 1.02rem/1.2 var(--f);text-decoration:none;text-align:center;
  box-shadow:0 4px 0 var(--rojo2),0 14px 28px -12px rgba(217,18,26,.7);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--rojo2)}
.btn-2{background:var(--blanco);color:var(--azul);box-shadow:0 4px 0 rgba(22,32,94,.25),inset 0 0 0 2px var(--azul)}
.btn-2:active{box-shadow:0 1px 0 rgba(22,32,94,.25),inset 0 0 0 2px var(--azul)}
.link{color:var(--azul);font-weight:800}

/* ── barra de arriba ── */
.barra{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1rem;
  background:rgba(255,253,246,.94);border-bottom:2px solid var(--tinta);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.barra-logo img{height:46px;width:auto}
.barra-wa{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:0 1rem;border-radius:12px;background:var(--rojo);color:#fff;
  font:800 .92rem/1 var(--f);text-decoration:none;box-shadow:0 3px 0 var(--rojo2)}

/* ── portada ── */
.portada{display:grid;gap:2.5rem;width:min(1120px,100% - 2rem);margin:0 auto;padding:2.2rem 0 1rem}
.portada h1{margin-top:1rem;font-size:clamp(2.3rem,9.6vw,4.4rem);line-height:1.04}
.sub{margin-top:1rem;max-width:46ch;color:var(--tinta2);font-size:1.12rem}
.acciones{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.acciones .btn{flex:1 1 15rem}
.estado{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.2rem;padding:.4rem .85rem;border-radius:999px;background:var(--blanco);
  border:1.5px solid rgba(22,32,94,.2);font-size:.85rem;font-weight:700}
.estado i{width:.6rem;height:.6rem;border-radius:50%;background:#9aa0bd}
.estado.abierto i{background:#1fa64a;box-shadow:0 0 0 0 #1fa64a;animation:latido 2.2s infinite}
@keyframes latido{70%{box-shadow:0 0 0 .45rem transparent}100%{box-shadow:0 0 0 0 transparent}}

/* fotos pegadas con cinta: marco blanco, sombra de papel y un pedazo de masking tape */
.collage{position:relative;height:clamp(330px,92vw,520px)}
.pegada{position:absolute;padding:8px;background:#fff;box-shadow:var(--sombra)}
.pegada img{width:100%;height:100%;object-fit:cover}
.pegada::before{content:"";position:absolute;top:-14px;left:50%;width:96px;height:28px;margin-left:-48px;background:rgba(255,236,160,.82);
  box-shadow:0 1px 2px rgba(0,0,0,.08);transform:rotate(-3deg);
  -webkit-mask:linear-gradient(90deg,transparent 0 3px,#000 3px calc(100% - 3px),transparent 0),repeating-linear-gradient(0deg,#000 0 3px,transparent 3px 5px);
  mask:linear-gradient(90deg,transparent 0 3px,#000 3px calc(100% - 3px),transparent 0),repeating-linear-gradient(0deg,#000 0 3px,transparent 3px 5px)}
.p1{left:2%;top:4%;width:70%;aspect-ratio:4/3;transform:rotate(-4deg);z-index:2}
.p2{right:0;top:30%;width:46%;aspect-ratio:1;transform:rotate(5deg);z-index:3}
.p3{left:8%;bottom:0;width:44%;aspect-ratio:1;transform:rotate(3deg);z-index:1}
.estrellas{position:absolute;right:4%;top:-2%;z-index:4;display:grid;place-items:center;width:118px;height:118px;padding:.6rem;border-radius:50%;
  background:var(--amarillo);color:var(--tinta);text-align:center;line-height:1.05;transform:rotate(8deg);box-shadow:3px 4px 0 rgba(22,32,94,.25)}
.estrellas b{font:400 2rem/1 var(--titulo);color:var(--rojo)}
.estrellas span{color:var(--rojo);font-size:.85rem;letter-spacing:.05em}
.estrellas small{font-weight:800;font-size:.68rem}
/* al abrir: las fotos "caen" y se pegan una tras otra */
.mov .pegada{animation:pega .7s cubic-bezier(.2,.8,.25,1.15) backwards}
.mov .p1{animation-delay:.1s}.mov .p2{animation-delay:.3s}.mov .p3{animation-delay:.5s}
@keyframes pega{from{opacity:0;translate:0 -30px;scale:1.08}}
.mov .estrellas{animation:sello .5s cubic-bezier(.2,.8,.25,1.3) .8s backwards}
@keyframes sello{from{opacity:0;scale:1.6}}

/* ── datos reales ── */
.datos{display:grid;gap:.9rem;margin-top:3rem;padding:0;list-style:none}
.datos li{display:grid;grid-template-columns:6.2rem 1fr;align-items:center;gap:.9rem;padding:1rem 1.1rem;border-radius:14px;background:var(--blanco);
  border:2px solid var(--tinta);box-shadow:4px 4px 0 var(--tinta)}
.datos b{font:400 2.2rem/1 var(--titulo);color:var(--rojo);white-space:nowrap}
.datos span{color:var(--tinta2);font-weight:600;line-height:1.35}

/* ── departamentos: post-its con foto ── */
.tarjetas{display:grid;gap:1.4rem;margin-top:2rem}
.tarjeta{position:relative;padding:12px 12px 1.3rem;border-radius:4px;box-shadow:var(--sombra)}
.tarjeta:nth-child(odd){transform:rotate(-.8deg)}.tarjeta:nth-child(even){transform:rotate(.8deg)}
.tarjeta img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px}
.tarjeta h3{margin:1rem .3rem 0;font:400 1.45rem/1.15 var(--titulo);color:var(--azul)}
.tarjeta p{margin:.4rem .3rem 0;color:var(--tinta2)}
.tarjeta a{display:inline-block;margin:.8rem .3rem 0;color:var(--rojo2);font-weight:800;text-decoration:none;border-bottom:2px solid currentColor}
.amarilla{background:#fff3a8}.azul{background:#d9e6ff}.roja{background:#ffdcd8}.verde{background:#daf3cf}.morada{background:#e7ddff}.rosa{background:#ffdcee}

/* ── la libreta: arma tu lista ── */
.hoja{position:relative;padding:1.6rem 1.1rem 1.8rem 2.4rem;border-radius:6px;background:
  linear-gradient(90deg,transparent 1.55rem,#f2a3a3 1.55rem 1.7rem,transparent 1.7rem),
  repeating-linear-gradient(transparent 0 31px,#c9d8f5 31px 32px),#fff;box-shadow:0 18px 40px -20px rgba(22,32,94,.5);border:1px solid rgba(22,32,94,.12)}
.hoja h2{margin-top:.8rem}
.renglones{margin-top:1.4rem;padding:0;list-style:none;columns:1}
.renglones li{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:52px;break-inside:avoid;border-bottom:1px dashed rgba(22,32,94,.18);font-weight:600}
.renglones li.lleva{color:var(--rojo2)}
.renglones li.lleva>span:first-child{background:linear-gradient(transparent 55%,var(--amarillo) 55% 92%,transparent 92%)}
.cuantos{display:inline-flex;align-items:center;gap:.25rem}
.cuantos button{width:40px;height:40px;border-radius:10px;border:2px solid var(--tinta);background:#fff;color:var(--tinta);font:800 1.3rem/1 var(--f);cursor:pointer}
.cuantos .mas{background:var(--azul);border-color:var(--azul);color:#fff}
.cuantos output{min-width:2ch;text-align:center;font:400 1.2rem/1 var(--titulo);color:var(--tinta)}
.hoja label{display:block;margin-top:1.4rem;font-weight:700}
.hoja textarea{width:100%;margin-top:.4rem;padding:.7rem .8rem;border-radius:10px;border:2px solid rgba(22,32,94,.3);background:#fffef8;color:var(--tinta);font:400 1rem/1.5 var(--f);resize:vertical}
.cuenta{margin:1rem 0 .4rem;font-weight:700;color:var(--tinta2)}
.hoja .btn{width:100%}
.nota{margin-top:1rem;color:var(--tinta2);font-size:.95rem}

/* ── galería: fotos tipo instantánea ── */
.galeria{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem;padding:0;list-style:none}
.galeria a{display:block;padding:7px 7px 0;background:#fff;box-shadow:var(--sombra);text-decoration:none;transition:transform .25s,box-shadow .25s}
.galeria li:nth-child(3n+1) a{transform:rotate(-1.5deg)}.galeria li:nth-child(3n+2) a{transform:rotate(1deg)}.galeria li:nth-child(3n) a{transform:rotate(-.5deg)}
.galeria a:hover,.galeria a:focus-visible{transform:rotate(0) translateY(-4px) scale(1.02);box-shadow:0 18px 30px -14px rgba(22,32,94,.55)}
.galeria img{width:100%;aspect-ratio:1;object-fit:cover}
.galeria span{display:block;padding:.55rem .25rem .7rem;font:700 .82rem/1.25 var(--f);color:var(--tinta)}
.visor{width:min(94vw,900px);max-height:92svh;padding:0;border:0;border-radius:14px;background:var(--tinta);color:#fff;overflow:hidden}
.visor::backdrop{background:rgba(10,14,40,.85)}
.visor img{width:100%;max-height:calc(92svh - 4.5rem);object-fit:contain;background:#000}
.visor p{display:flex;align-items:center;justify-content:center;min-height:4.5rem;padding:.8rem 4.5rem;text-align:center;font-weight:700}
.visor button{position:absolute;display:grid;place-items:center;width:48px;height:48px;border:2px solid rgba(255,255,255,.5);border-radius:50%;
  background:rgba(22,32,94,.75);color:#fff;font:400 1.8rem/1 var(--f);cursor:pointer}
.visor-x{top:.6rem;right:.6rem}.visor-flecha{bottom:.6rem}.visor-flecha.ant{left:.6rem}.visor-flecha.sig{right:.6rem}

/* ── opiniones: notas pegadas ── */
.notas{display:grid;gap:1.4rem;margin:2rem 0 1.4rem}
.nota-pegada{position:relative;padding:1.6rem 1.3rem 1.2rem;background:#fff3a8;box-shadow:var(--sombra);transform:rotate(-1deg)}
.nota-pegada:nth-child(2){transform:rotate(1.2deg);background:#d9e6ff}
.nota-pegada::before{content:"";position:absolute;top:-12px;left:50%;width:90px;height:24px;margin-left:-45px;background:rgba(255,236,160,.85);transform:rotate(2deg)}
.nota-pegada p{font-size:1.15rem;font-weight:600;line-height:1.45}
.nota-pegada footer{margin-top:.8rem;color:var(--tinta2);font-size:.88rem;font-weight:700}

/* ── preguntas ── */
.faq{margin-top:1.6rem;border-radius:14px;background:var(--blanco);border:2px solid var(--tinta);box-shadow:4px 4px 0 var(--tinta);overflow:hidden}
.faq details+details{border-top:1px solid rgba(22,32,94,.15)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 1.1rem;font-weight:800;font-size:1.04rem;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font:400 1.6rem/1 var(--titulo);color:var(--rojo);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 1.1rem 1.1rem;color:var(--tinta2)}

/* ── contacto ── */
.contacto{display:grid;gap:1.4rem;margin-top:2rem}
.mapa{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;min-height:300px;width:100%;border:2px solid var(--tinta);border-radius:14px;
  box-shadow:4px 4px 0 var(--tinta);text-decoration:none;font-weight:800;
  background:linear-gradient(90deg,transparent 46%,rgba(27,42,138,.12) 46% 54%,transparent 54%) 0 0/150px 150px,
    linear-gradient(0deg,transparent 46%,rgba(27,42,138,.12) 46% 54%,transparent 54%) 0 0/150px 150px,#eef3ff}
.mapa .ico{width:46px;height:46px;color:var(--rojo)}
.mapa span{padding:.5rem 1rem;border-radius:999px;background:var(--blanco);border:2px solid var(--tinta)}
iframe.mapa{display:block;height:300px;padding:0}
.horario{border-radius:14px;background:var(--blanco);border:2px solid var(--tinta);overflow:hidden}
.horario div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 1rem}
.horario div+div{border-top:1px solid rgba(22,32,94,.15)}
.horario dt{color:var(--tinta2)}
.horario dd{font-weight:800;text-align:right}
.rapidas{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1rem}
.rapidas a{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.8rem .3rem;border-radius:12px;background:var(--blanco);border:2px solid var(--tinta);
  text-align:center;text-decoration:none;font-size:.8rem;line-height:1.25}
.rapidas .ico{color:var(--rojo)}
.correo{margin-top:1rem;font-size:.95rem;color:var(--tinta2)}
.correo a{font-weight:800;color:var(--azul);word-break:break-all}

.cierre{margin-top:4.5rem;padding:3rem 1rem;text-align:center;background:var(--amarillo);border-block:2px solid var(--tinta)}
.cierre p{margin-bottom:1rem;font:400 clamp(1.6rem,6vw,2.4rem)/1.1 var(--titulo);color:var(--azul)}

/* ── pie (azul marino, ahí vive la firma SeqLogic) ── */
.pie{padding:3rem 1.2rem 6rem;background:var(--tinta);color:rgba(255,255,255,.82);text-align:center;font-size:.92rem}
.pie>img{width:190px;height:auto;margin:0 auto 1rem;padding:.6rem .9rem;border-radius:12px;background:#fff}
.pie p+p{margin-top:.5rem}
.pie a{color:#fff;font-weight:700}
.pie .chico{font-size:.8rem;color:rgba(255,255,255,.6)}

.wa-flotante{position:fixed;right:16px;bottom:16px;z-index:30;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;
  background:#25d366;color:#fff;box-shadow:0 10px 24px -6px rgba(0,0,0,.4)}
.wa-flotante .ico{width:32px;height:32px}

/* lo que sube al bajar (solo si cargó el JavaScript: clase .mov en <html>) */
.mov .sube{opacity:0;translate:0 26px;transition:opacity .6s ease,translate .6s cubic-bezier(.2,.7,.2,1)}
.mov .sube.visto{opacity:1;translate:0 0}

/* Firma SeqLogic */
.seqlogic-watermark-container{margin-top:2.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;border-top:1px solid rgba(255,255,255,.08);
  padding-top:2rem;width:100%;max-width:300px;margin-left:auto;margin-right:auto}
.seqlogic-watermark-title{font-size:.75rem;color:rgba(255,255,255,.66);letter-spacing:2px;text-transform:uppercase}
.seqlogic-watermark{width:130px;height:auto;opacity:.45;filter:grayscale(1) brightness(1) drop-shadow(0 0 0 rgba(0,144,224,0));transition:opacity .4s ease,filter .4s ease,transform .4s ease}
.seqlogic-watermark:hover{opacity:.95;filter:grayscale(0) brightness(1.2) drop-shadow(0 0 10px rgba(0,144,224,.6));transform:scale(1.03)}
.seqlogic-social-links{display:flex;gap:1rem;margin-top:.5rem;justify-content:center}
.seqlogic-social-icon{color:rgba(255,255,255,.6);transition:all .3s ease;padding:.5rem;border-radius:50%;background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center}
.seqlogic-social-icon:hover{transform:translateY(-3px);background:rgba(255,255,255,.08)}
.seqlogic-social-icon.facebook:hover{color:#1877F2;box-shadow:0 0 10px rgba(24,119,242,.3);background:rgba(24,119,242,.1)}
.seqlogic-social-icon.youtube:hover{color:#FF0000;box-shadow:0 0 10px rgba(255,0,0,.3);background:rgba(255,0,0,.1)}
.seqlogic-wa{display:flex;flex-direction:column;align-items:center;gap:.3rem;margin-top:1rem;padding:.9rem 1.2rem;border-radius:16px;text-decoration:none;
  background:rgba(37,211,102,.1);border:1px solid rgba(37,211,102,.4);color:rgba(255,255,255,.8);font-size:.8rem;line-height:1.3;font-weight:400;transition:background .3s,transform .3s}
.seqlogic-wa b{display:flex;align-items:center;gap:.45rem;color:#fff;font:800 1.25rem/1 var(--f);letter-spacing:.02em}
.seqlogic-wa .ico{color:#25d366}
.seqlogic-wa small{color:rgba(255,255,255,.65);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.seqlogic-wa:hover{background:rgba(37,211,102,.18);transform:translateY(-2px)}

@media (min-width:640px){
  .tarjetas{grid-template-columns:repeat(2,1fr)}
  .renglones{columns:2;column-gap:2.4rem}
  .notas{grid-template-columns:repeat(2,1fr)}
  .galeria{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:900px){
  section{padding-top:6.5rem}
  .barra{padding:.6rem 2rem}
  .barra-logo img{height:54px}
  .portada{grid-template-columns:1.05fr .95fr;align-items:center;padding-top:3.5rem}
  .collage{height:520px}
  .datos{grid-template-columns:repeat(3,1fr)}
  .datos li{grid-template-columns:1fr;gap:.4rem}
  .tarjetas{grid-template-columns:repeat(3,1fr)}
  .hoja{padding:2.4rem 3rem 2.6rem 4.2rem;background:
    linear-gradient(90deg,transparent 2.7rem,#f2a3a3 2.7rem 2.85rem,transparent 2.85rem),
    repeating-linear-gradient(transparent 0 31px,#c9d8f5 31px 32px),#fff}
  .hoja .btn{width:auto}
  .galeria{grid-template-columns:repeat(4,1fr);gap:1.4rem}
  .contacto{grid-template-columns:1.1fr .9fr;align-items:start}
  .mapa,iframe.mapa{min-height:380px;height:380px}
  .pie{padding-bottom:3rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* ── idioma: botón EN/ES en la barra y aviso para quien trae el celular en el otro idioma ── */
.barra-idioma{margin-left:auto;display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;border:2px solid var(--tinta);
  background:var(--blanco);color:var(--azul);font:800 .85rem/1 var(--f);letter-spacing:.04em;text-decoration:none}
.sugerencia{margin:0;padding:.55rem 1rem;background:var(--amarillo);border-bottom:2px solid var(--tinta);text-align:center;font-weight:700;font-size:.95rem}
.sugerencia a{color:var(--tinta)}
.resena-trad{display:block;margin-top:.2rem;font-weight:600;font-style:italic}
