@font-face{font-family:Abril;src:url(/estilo/letras/abril.woff2) format("woff2");font-display:swap}
@font-face{font-family:Obra;src:url(/estilo/letras/work.woff2) format("woff2");font-weight:100 900;font-display:swap}

:root{--terracota:#c4532e;--agua:#0f4c4a;--mango:#f6b33d;--arena:#fffaf3;--tinta:#2b1a12;--suave:#7b5e4f;--borde:#f0dccb}
*,::before,::after{box-sizing:border-box}
body{margin:0;background:var(--arena);color:var(--tinta);font:400 17px/1.65 Obra,"Trebuchet MS",sans-serif}
a{color:var(--terracota);font-weight:600}
img{display:block;max-width:100%}
h1,h2,.marca,.boleto-cabeza,.aviso-grande,.socio-sello{font-family:Abril,"Playfair Display",Georgia,serif;font-weight:400;letter-spacing:.01em}
h1{font-size:clamp(2.4rem,1.5rem + 4vw,4.4rem);line-height:1;margin:.15em 0 .35em}
h2{font-size:clamp(1.7rem,1.3rem + 1.6vw,2.5rem);line-height:1.1;margin:0 0 .7em}
:focus-visible{outline:3px solid var(--mango);outline-offset:2px}

.cabecera{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.9rem clamp(1rem,5vw,3rem);background:var(--arena)}
.marca{font-size:1.9rem;color:var(--tinta);text-decoration:none;display:flex;align-items:center;gap:.5rem}
.marca b{font-weight:400;color:var(--terracota)}
.marca-sol{width:28px;height:28px;border-radius:50%;background:radial-gradient(circle,var(--mango) 45%,transparent 47%),repeating-conic-gradient(var(--mango) 0 12deg,transparent 12deg 30deg)}
.menu-sabor{display:flex;align-items:center;gap:1.2rem}
.menu-sabor a{color:var(--tinta);text-decoration:none}
.boton{display:inline-block;background:var(--terracota);color:#fff;border:0;border-radius:6px;padding:.85em 1.4em;font:700 1rem Obra,sans-serif;text-decoration:none;cursor:pointer;box-shadow:4px 4px 0 var(--tinta)}
.boton:hover{background:#a8431f;color:#fff}
.boton-mini{padding:.55em 1em;font-size:.9rem;box-shadow:3px 3px 0 var(--tinta)}
.boton-claro{background:var(--mango);color:var(--tinta)}
.menu-sabor .boton{color:#fff}

.centro{max-width:none;margin:0;padding:0 0 3rem}
.centro>*:not(.banda){max-width:1100px;margin-left:auto;margin-right:auto;padding-left:clamp(1rem,4vw,2rem);padding-right:clamp(1rem,4vw,2rem)}
.banda{position:relative;padding:2.5rem max(clamp(1rem,4vw,2rem),calc((100% - 1100px) / 2)) 3.2rem;margin-bottom:2.5rem}
.banda::after{content:"";position:absolute;left:0;right:0;bottom:-14px;height:14px;background:linear-gradient(135deg,var(--fondo) 50%,transparent 50%) 0 0/28px 14px,linear-gradient(225deg,var(--fondo) 50%,transparent 50%) 0 0/28px 14px}
.banda-terracota{--fondo:var(--terracota);background:var(--terracota);color:#fff8ef}
.banda-terracota a{color:#ffe7b8}
.banda-agua{--fondo:var(--agua);background:var(--agua);color:#e8f4f2}
.banda-agua a{color:var(--mango)}
.banda-grande{padding-top:4rem;padding-bottom:4.5rem}
.banda .boton{background:var(--mango);color:var(--tinta)}
.migas{font-size:.85rem;opacity:.9}
.volanta{display:inline-block;background:var(--mango);color:var(--tinta);font-weight:700;padding:.15em .7em;border-radius:3px;transform:rotate(-2deg);margin:0}
.bajada{font-size:1.2rem;max-width:58ch}

.carrusel{margin-bottom:2.5rem;position:relative}
.carrusel-flechas{display:none;position:absolute;top:.15rem;right:0;gap:.5rem}
.carrusel.desborda .carrusel-flechas{display:flex}
.carrusel.desborda>h2{padding-right:6.6rem}
.carrusel-flechas button{width:2.6rem;height:2.6rem;border-radius:50%;border:2px solid var(--tinta);background:#fff;color:var(--tinta);font:700 1.15rem/1 Obra,sans-serif;cursor:pointer;box-shadow:3px 3px 0 var(--mango)}
.carrusel-flechas button:disabled{opacity:.35;cursor:default;box-shadow:none}
.carrusel.desborda:not(.al-final) .carrusel-pista{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 80px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 80px),transparent)}
.carrusel-pista{list-style:none;margin:0;padding:.4rem 0 1.2rem;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,230px);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
.tarjeta{scroll-snap-align:start;background:#fff;border-radius:16px;overflow:hidden;border:2px solid var(--tinta);box-shadow:5px 5px 0 var(--mango)}
.tarjeta-foto img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--borde)}
.tarjeta-info{padding:.7rem .9rem .9rem}
.tarjeta-nombre{margin:0;font-weight:700;font-size:1.05rem}
.tarjeta-nombre a{color:var(--tinta);text-decoration:none}
.tarjeta-origen,.tarjeta-lugar{margin:0;font-size:.85rem;color:var(--suave)}

.dos{display:grid;gap:2rem;margin-bottom:3rem}
@media(min-width:860px){.dos{grid-template-columns:1fr 1.2fr;align-items:start}}
.boleto{position:relative;background:#fff;border:2px dashed var(--terracota);border-radius:14px;padding:1.4rem 1.6rem}
.boleto::before,.boleto::after{content:"";position:absolute;top:50%;width:26px;height:26px;border-radius:50%;background:var(--arena);border:2px dashed var(--terracota);transform:translateY(-50%)}
.boleto::before{left:-15px;clip-path:inset(0 0 0 50%)}
.boleto::after{right:-15px;clip-path:inset(0 50% 0 0)}
.boleto-cabeza{font-size:1.5rem;margin:0 0 .8rem;color:var(--terracota)}
.boleto dl{margin:0;display:grid;gap:.45rem}
.boleto dl div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dotted var(--borde);padding-bottom:.35rem}
.boleto dt{color:var(--suave);font-size:.9rem}
.boleto dd{margin:0;font-weight:700;text-align:right}
.ruta-paradas{list-style:none;margin:0;padding:0 0 0 1.6rem;border-left:4px solid var(--mango)}
.parada{position:relative;padding:.4rem 0 .8rem}
.parada::before{content:"";position:absolute;left:-2.15rem;top:.75rem;width:16px;height:16px;border-radius:50%;background:var(--arena);border:4px solid var(--terracota)}
.parada-inicio::before{background:var(--terracota)}
.parada a,.parada span{display:block;font-weight:700;color:var(--tinta);text-decoration:none}
.parada a:hover{color:var(--terracota)}
.parada small{color:var(--suave)}

.consejos-tres{display:grid;gap:1rem}
@media(min-width:800px){.consejos-tres{grid-template-columns:repeat(3,1fr)}}
.consejos-tres p{margin:0;background:rgba(255,255,255,.08);border-left:4px solid var(--mango);padding:1rem 1.1rem;border-radius:0 10px 10px 0}
.preguntas dl{margin:0;display:grid;gap:.2rem 0}
.preguntas dt{font-weight:700;font-size:1.1rem;margin-top:1rem;color:var(--agua)}
.preguntas dt::before{content:"¿ ";color:var(--terracota)}
.preguntas dd{margin:0;color:#4a3328}

.buscador{display:grid;gap:.4rem;max-width:520px;margin:1.6rem auto 0}
.banda .buscador{margin-left:0}
.buscador label{font-weight:700}
.buscador-fila{display:flex;background:#fff;border:2px solid var(--tinta);border-radius:8px;overflow:hidden}
.buscador input{flex:1;min-width:0;border:0;padding:.8em 1em;font:inherit;color:var(--tinta)}
.buscador input:focus{outline:none}
.buscador button{border:0;background:var(--mango);color:var(--tinta);font:700 1.3rem Obra,sans-serif;padding:0 1.1em;cursor:pointer}
.buscador-sugerencias{display:flex;flex-wrap:wrap;gap:.4rem}
.buscador-sugerencias[hidden]{display:none}
.buscador-sugerencias a{background:#fff;color:var(--tinta);border:1px solid var(--tinta);border-radius:20px;padding:.1rem .7rem;font-size:.9rem;text-decoration:none}

.mosaico{list-style:none;margin:0;padding:0;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.mosaico a{display:flex;flex-direction:column;background:#fff;border:2px solid var(--tinta);border-radius:10px;padding:.8rem 1rem;color:var(--tinta);text-decoration:none;box-shadow:4px 4px 0 var(--terracota);transition:transform .12s}
.mosaico a:hover{transform:translate(-2px,-2px)}
.mosaico span{font-size:.82rem;color:var(--suave);font-weight:400}
.mosaico-chico a{padding:.5rem .8rem}
.ciudades-top,.regiones,.resultados{margin-bottom:3rem}
.como ol{display:grid;gap:1rem;padding-left:1.2rem;font-size:1.1rem}
@media(min-width:800px){.como ol{grid-template-columns:repeat(3,1fr)}}
.regiones-lista{display:flex;flex-wrap:wrap;gap:.5rem}
.regiones-lista a{background:var(--agua);color:#fff;border-radius:30px;padding:.3rem .9rem;text-decoration:none;font-weight:600}
.regiones-bloques{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.regiones-bloques section{border-top:4px solid var(--terracota);padding-top:.6rem}
.regiones-bloques h2{font-size:1.5rem;margin-bottom:.3rem}
.regiones-bloques h2 a{color:var(--tinta);text-decoration:none}
.cuenta{font-size:.85rem;color:var(--suave)}
.depto{margin-bottom:2rem}
.depto h2 em{font-style:normal;font-family:Obra,sans-serif;font-size:.9rem;background:var(--mango);border-radius:4px;padding:.1em .45em;vertical-align:middle}

.ficha{display:grid;gap:2rem;margin:1.5rem auto 2.5rem}
@media(min-width:800px){.ficha{grid-template-columns:380px 1fr}}
.ficha-foto{width:100%;aspect-ratio:3/4;object-fit:cover;border:3px solid var(--tinta);border-radius:18px;box-shadow:8px 8px 0 var(--terracota);background:var(--borde)}
.ficha-datos{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem;margin:1rem 0 1.5rem}
.ficha-datos dt{color:var(--suave)}
.ficha-datos dd{margin:0;font-weight:600}
.texto{max-width:760px;margin:1rem auto}

.socio{padding:0 clamp(1rem,4vw,2rem) 3rem}
.socio-carte{max-width:640px;margin:0 auto;background:linear-gradient(135deg,#f6b33d,#e98a5b);color:var(--tinta);border-radius:22px;padding:1.6rem clamp(1.1rem,4vw,2rem);border:3px solid var(--tinta);box-shadow:8px 8px 0 var(--agua)}
.socio-sello{display:inline-block;transform:rotate(-6deg);border:2px solid var(--tinta);border-radius:8px;padding:0 .6rem;font-size:1.2rem;margin:0}
.socio h2{margin-top:.4rem}
.socio-radio{position:absolute;opacity:0;pointer-events:none}
.socio-pestanas{display:flex;gap:.5rem;margin:0 0 1rem}
.socio-pestanas label{cursor:pointer;border:2px solid var(--tinta);border-radius:30px;padding:.35rem 1rem;font-weight:700;background:rgba(255,255,255,.4)}
#modo-alta:checked~.socio-pestanas label[for=modo-alta],#modo-entrar:checked~.socio-pestanas label[for=modo-entrar]{background:var(--tinta);color:#fff}
#modo-alta:focus-visible~.socio-pestanas label[for=modo-alta],#modo-entrar:focus-visible~.socio-pestanas label[for=modo-entrar]{outline:3px solid #fff}
#modo-alta:checked~.socio-entrar,#modo-entrar:checked~.socio-alta{display:none}
.socio-form{display:grid;gap:.8rem}
.socio-form label{display:grid;gap:.25rem;font-weight:700;font-size:.92rem}
.socio-form input[type=email],.socio-form input[type=password]{border:2px solid var(--tinta);border-radius:8px;padding:.7em .9em;font:inherit;background:#fffaf3}
.socio-check{display:flex!important;align-items:flex-start;gap:.5rem;font-weight:500!important}
.socio-check input{accent-color:var(--agua);margin-top:.3rem}
.socio .boton{background:var(--agua);color:#fff;box-shadow:4px 4px 0 var(--tinta)}
.socio .boton-claro{background:#fff;color:var(--tinta)}
.socio-error{font-weight:700;color:#7a1205;margin:.8rem 0 0}
.socio-error[hidden]{display:none}
.socio-salida{font-size:.9rem;margin:1rem 0 0}
.socio-salida a{color:var(--tinta)}

.pie{background:var(--tinta);color:#f0dccb;padding:2rem clamp(1rem,5vw,3rem);font-size:.92rem}
.pie a{color:var(--mango);margin-right:1rem}
.pie-marca{font-family:Abril,serif;font-size:1.2rem}
.pie-marca b{font-weight:400;color:var(--mango)}
.pie-nota{opacity:.75;font-size:.82rem}

.aviso{position:fixed;inset:0;z-index:90;background:var(--terracota);display:grid;place-items:center;padding:1rem}
.aviso[hidden]{display:none}
.aviso-caja{background:var(--arena);border:3px solid var(--tinta);border-radius:20px;box-shadow:10px 10px 0 var(--tinta);padding:2rem 1.6rem;max-width:440px;text-align:center}
.aviso-grande{font-size:4rem;line-height:1;color:var(--terracota);margin:0}
.aviso-acciones{display:flex;justify-content:center;align-items:center;gap:1.2rem;margin-top:1.4rem}
@media (prefers-reduced-motion:reduce){.mosaico a{transition:none}}
