/* buscoalgomas.es — portada (index.html) y página 404. Solo añade sobre base.css. */

.sprite{position:absolute;width:0;height:0;overflow:hidden}

/* ---- portada ---- */
.hero-inicio{padding:36px 0 20px;text-align:left}
.hero-inicio .contenedor{display:grid;gap:28px;align-items:center;max-width:1180px}
.hero-inicio .sobre{margin:0 0 14px}
.hero-inicio h1{font-size:clamp(1.85rem,4.4vw,3.15rem);font-weight:500;letter-spacing:-.012em;line-height:1.1;margin:0 0 18px;max-width:17ch}
.hero-inicio p.lead{text-align:left;margin:0 0 22px;max-width:48ch}
.fechas{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--texto-2);font-size:.95rem}
.fechas li{position:relative;padding-left:17px}
.fechas li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--renfe-2);box-shadow:0 0 0 3px rgba(178,30,74,.18)}
.fechas time{color:var(--texto)}
.hero-inicio .acciones{justify-content:flex-start}
.ilustracion{width:100%;height:auto;display:block;border-radius:28px;box-shadow:var(--sombra);border:1px solid var(--borde)}
.ilustracion .rotulo{font-family:var(--serif);font-size:10.5px;letter-spacing:.3em;fill:#c9a227;opacity:.9}
@media (min-width:900px){
  .hero-inicio{padding:64px 0 36px}
  .hero-inicio .contenedor{grid-template-columns:1.02fr .98fr;gap:44px}
}

/* animación sutil de la ilustración */
.ilustracion .llama{transform-origin:380px 158px;transform-box:view-box;animation:parpadeo 1.9s ease-in-out infinite alternate}
.ilustracion .llama.interior{animation-duration:1.3s;animation-delay:-.4s}
.ilustracion .halo{transform-origin:380px 176px;transform-box:view-box;animation:respirar 4.2s ease-in-out infinite alternate}
.ilustracion .estrella{animation:titilar 5s ease-in-out infinite alternate}
.ilustracion .estrella:nth-child(3n){animation-delay:-1.6s;animation-duration:6.5s}
.ilustracion .estrella:nth-child(3n+1){animation-delay:-3.1s;animation-duration:4.4s}
.ilustracion .estrella:nth-child(4n){animation-delay:-2.2s}
@keyframes parpadeo{0%{transform:scale(1,1) rotate(0)}40%{transform:scale(.94,1.05) rotate(-2.2deg)}100%{transform:scale(1.04,.97) rotate(1.8deg)}}
@keyframes respirar{from{opacity:.55;transform:scale(.96)}to{opacity:1;transform:scale(1.05)}}
@keyframes titilar{from{opacity:.35}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .ilustracion .llama,.ilustracion .halo,.ilustracion .estrella{animation:none!important}
}

/* cabeceras de sección */
.cabecera-seccion{max-width:720px;margin-bottom:26px}
.cabecera-seccion h2{margin-bottom:.25em}
.cabecera-seccion .pequeno{margin:0}

/* contadores */
.contadores{padding-top:28px}
.datos{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.datos a{display:flex;flex-direction:column;gap:2px;padding:18px 12px 16px;background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--radio);text-decoration:none;color:inherit;text-align:center;min-height:44px;transition:border-color .15s,transform .15s}
.datos a:hover{border-color:var(--acento);transform:translateY(-2px)}
.datos .contador{font-size:clamp(1.9rem,4vw,2.5rem);font-weight:500;font-variant-numeric:tabular-nums}
.datos .dato-nombre{color:var(--texto-2);font-size:.88rem;line-height:1.3}
.contadores .estado{max-width:620px}
@media (min-width:700px){.datos{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1000px){.datos{grid-template-columns:repeat(6,1fr)}}

/* cómo usar */
.pasos .paso{align-items:center}
.pasos .paso:last-child{border-bottom:0}
.pasos h3{margin-bottom:.15em}
.pasos p{margin:0;color:var(--texto-2)}
.idea{margin-top:26px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;background:var(--tarjeta);border:1px solid var(--borde);border-left:4px solid var(--acento);border-radius:var(--radio);padding:16px 20px}
.idea-texto{margin:0;display:flex;flex-direction:column;gap:2px;font-family:var(--serif);font-size:1.12rem;line-height:1.4}
.idea-sobre{font-family:var(--sans);font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;color:var(--acento)}
@media (min-width:760px){
  .pasos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .pasos .paso{flex-direction:column;align-items:flex-start;border-bottom:0;padding:22px;background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--radio)}
}

/* tarjetas de secciones */
.secciones .rejilla{gap:16px}
.tarjeta-cabecera{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.icono-svg{width:30px;height:30px;stroke:var(--acento);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.icono-svg.grande{width:40px;height:40px}
.secciones .tarjeta h3{display:block;font-size:1.2rem;margin-bottom:.3em}
.secciones .tarjeta p{margin:0;color:var(--texto-2);font-size:.95rem}
.secciones .tarjeta .hoy{margin-top:10px;color:var(--acento-2)}
.tarjeta.espera{border-style:dashed;opacity:.85}

/* principios */
.principios{display:grid;gap:14px;counter-reset:principio}
.principios li{position:relative;background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--radio);padding:22px 22px 20px 22px;overflow:hidden}
.principios .numeral{position:absolute;right:14px;top:4px;font-family:var(--serif);font-size:3.4rem;line-height:1;color:var(--acento);opacity:.16;font-weight:600;pointer-events:none}
.principios h3{font-size:1.15rem;margin-bottom:.3em;padding-right:52px}
.principios p{margin:0;color:var(--texto-2);font-size:.95rem}
.principios .valor{border-color:rgba(201,162,39,.45)}
.principios .sobre-valor{margin:0 0 4px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--acento)}
@media (min-width:760px){.principios{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}

/* públicos */
.publicos{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.publicos .chip{margin:0;font-size:1rem;padding:9px 16px;border-color:var(--acento);color:var(--texto)}
.materiales p{margin:0;color:var(--texto-2);max-width:68ch}

/* respeto */
.avisos{display:grid;gap:12px;margin-bottom:18px}
.avisos .aviso{margin:0}

/* privacidad */
.ficha{display:grid;gap:12px;margin:0}
.ficha div{background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--radio);padding:18px 20px}
.ficha dt{font-family:var(--serif);font-size:1.12rem;color:var(--acento-2);margin-bottom:6px}
.ficha dd{margin:0;color:var(--texto-2);font-size:.95rem}
@media (min-width:860px){.ficha{grid-template-columns:1fr 1fr}}

/* contacto */
.contacto-tarjeta{display:flex;gap:18px;align-items:flex-start;max-width:760px}
.contacto-tarjeta p{margin:0 0 .6em;color:var(--texto-2)}
.contacto-correo{font-family:var(--serif);font-size:1.4rem}
.contacto-correo a{color:var(--acento-2);text-decoration:none;word-break:break-all}
.contacto-correo a:hover{text-decoration:underline}
@media (max-width:480px){.contacto-tarjeta{flex-direction:column}}

/* ---- 404 ---- */
.pagina-404 .hero{padding:48px 0 24px}
/* un «404» sobrio sobre una vía que continúa (sin topera ni «fin de vía») */
.pagina-404 .cifra-404{position:relative;margin:0 auto 18px;padding-bottom:20px;font-family:var(--serif);font-size:clamp(4.5rem,18vw,7.5rem);font-weight:600;line-height:1;letter-spacing:.04em;color:var(--acento);opacity:.9}
.pagina-404 .cifra-404::after{content:"";position:absolute;left:50%;bottom:0;width:min(320px,80%);height:12px;transform:translateX(-50%);border-top:3px solid var(--borde);border-bottom:3px solid var(--borde);background:repeating-linear-gradient(90deg,transparent 0 16px,#3a3326 16px 22px)}
.pagina-404 .lead{margin-bottom:1.6em}
.pagina-404 .acciones{margin-bottom:12px}
.pagina-404 .ruta{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--tarjeta);border:1px solid var(--borde);padding:3px 8px;border-radius:6px;word-break:break-all}
.pasos .paso .num{flex:0 0 auto;width:42px;height:42px}
