/* Sección /apellidos/ de Historia y Leyenda. Se carga después de /styles.css. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Portada del apellido: algo más baja que la de personajes, porque la imagen es tipográfica */
.apellido-cover,.apellidos-hero{min-height:600px}
.apellidos-hero .article-cover-content{padding-bottom:70px}
.apellido-cover h1{font-family:var(--display,var(--serif))}
.aviso-borrador{display:inline-block;margin:0 0 18px;padding:8px 12px;border-radius:6px;background:#b3261e;color:#fff;font:700 .8rem var(--sans)}

/* Buscador */
.buscador{position:relative;max-width:560px;margin-top:30px}
.buscador input{width:100%;min-height:58px;padding:0 20px;border:1px solid rgba(225,189,130,.45);border-radius:8px;background:rgba(9,8,7,.72);color:#fff;font:1.05rem var(--sans);outline:none}
.buscador input::placeholder{color:rgba(255,255,255,.5)}
.buscador input:focus{border-color:var(--gold2);box-shadow:0 0 0 3px rgba(225,189,130,.2)}
.resultados{list-style:none;margin:6px 0 0;padding:0;border-radius:8px;overflow:hidden;background:#f5f1e9}
.resultados a{display:block;padding:13px 20px;border-bottom:1px solid var(--line);color:var(--ink);font:600 1.15rem var(--serif);text-decoration:none}
.resultados a:hover,.resultados a:focus{background:#fff;color:var(--red)}
.sin-resultado{margin:12px 0 0;color:rgba(255,255,255,.8);font-size:.95rem}
.sin-resultado a{color:var(--gold2)}

/* Índice */
.apellidos-wrap{width:min(1130px,calc(100% - 40px));margin:auto;padding:70px 0 110px}
.ap-seccion{margin-bottom:80px}
.ap-seccion h2{margin:0 0 12px;font-family:var(--display,var(--serif));font-size:clamp(2rem,4vw,2.9rem);font-weight:500;line-height:1.05}
.ap-intro{max-width:640px;margin:0 0 30px;color:var(--muted);font:1.08rem/1.65 var(--serif)}
.ap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:0;padding:0;list-style:none}
.ap-card>a,.ap-card>div{position:relative;display:flex;flex-direction:column;gap:4px;height:100%;min-height:150px;padding:20px 18px 18px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);text-decoration:none}
.ap-card b{font:500 1.75rem/1.05 var(--display,var(--serif))}
.ap-card em{color:var(--muted);font:italic 1rem var(--serif)}
.ap-card small{margin-top:auto;padding-top:10px;color:var(--muted);font-size:.72rem;letter-spacing:.04em}
.ap-num{color:var(--gold);font:800 .7rem var(--sans);letter-spacing:.15em}
.ap-publicado>a{border-color:rgba(148,29,25,.35);background:linear-gradient(160deg,#15110e,#090807);color:#f1ebe1}
.ap-publicado em{color:var(--gold2)}
.ap-publicado small{color:rgba(241,235,225,.55)}
.ap-publicado>a:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 14px 30px rgba(0,0,0,.25)}
.ap-ir{color:var(--gold2);font:800 .68rem var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-top:8px}
.ap-pronto>div{opacity:.72}
.ap-fuente{margin-top:14px;color:var(--muted);font-size:.78rem}
.ap-tipos .key-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));font-family:var(--serif);line-height:1.6}

/* Cifras dentro de la ficha */
.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:24px 0 10px;font-family:var(--sans)}
.cifra{padding:20px;border-top:3px solid var(--gold);background:var(--dark2);color:#f1ebe1}
.cifra b{display:block;font:500 2.2rem/1 var(--display,var(--serif));color:var(--gold2)}
.cifra span{display:block;margin-top:8px;color:rgba(241,235,225,.7);font-size:.82rem;line-height:1.4}

/* Bloque de la lámina */
.lamina-venta{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:34px;align-items:start;margin:60px 0;padding:34px;border:1px solid rgba(195,154,97,.35);border-radius:14px;background:radial-gradient(circle at 15% 0,#2a1d12,#0d0b09 70%);color:#f1ebe1;font-family:var(--sans)}
.lamina-venta-indice{grid-template-columns:1fr;max-width:760px}
.lamina-venta-img img{display:block;width:100%;height:auto;border-radius:4px;box-shadow:0 22px 50px rgba(0,0,0,.55);transform:rotate(-1.5deg)}
.lamina-venta h2{margin:0 0 12px;color:#fff;font:500 clamp(1.8rem,3vw,2.4rem)/1.05 var(--display,var(--serif))}
.lamina-venta p{margin:0 0 14px;color:rgba(241,235,225,.82);font:1.02rem/1.6 var(--serif)}
.lamina-venta .eyebrow{color:var(--gold2)}
.lamina-formatos{margin:18px 0;padding:0;list-style:none;display:grid;gap:10px}
.lamina-formatos li{padding:10px 14px;border-left:2px solid var(--gold);background:rgba(255,255,255,.04);font-size:.9rem;line-height:1.45;color:rgba(241,235,225,.85)}
.lamina-formatos b{display:block;color:var(--gold2);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
.lamina-aviso{font-weight:700}

/* Formulario de lista de espera */
.form-espera{display:grid;gap:12px;font-size:.92rem}
.form-espera label{display:grid;gap:5px;color:rgba(241,235,225,.85)}
.form-espera label small{color:rgba(241,235,225,.6);font-size:.8rem}
.form-fila{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.form-fila{grid-template-columns:1fr}}
.form-espera input[type=email],.form-espera input[name=apellido]:not([type=hidden]),.form-espera input[name=apellido2],.form-espera select{min-height:48px;padding:0 14px;border:1px solid rgba(225,189,130,.35);border-radius:7px;background:#090807;color:#fff;font:1rem var(--sans)}
.form-espera .check{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;line-height:1.45}
.form-espera .check a{color:var(--gold2)}
.form-espera .button{justify-self:start;border:0;cursor:pointer}
.form-espera button:disabled{opacity:.6}
.trampa{position:absolute;left:-9999px}
.estado{min-height:1.2em;margin:0;color:var(--gold2)!important;font:700 .9rem var(--sans)!important}

.fuentes{font-size:.95rem;line-height:1.6}
.fuentes a{color:var(--ink)}
.sidebar-otro{margin:16px 0 0;text-align:center}
.sidebar-otro a{color:var(--red);font-weight:800;text-decoration:none}

@media(max-width:820px){
  .lamina-venta{grid-template-columns:1fr;padding:24px}
  .lamina-venta-img{max-width:320px;margin:0 auto}
  .apellido-cover,.apellidos-hero{min-height:520px}
}

/* Precios de la lámina */
.lamina-precios li{display:flex;align-items:center;justify-content:space-between;gap:14px}
.lamina-precios li span{display:block}
.lamina-precios strong{flex:none;color:#fff;font:600 1.5rem/1 var(--display,var(--serif))}
.lamina-nota{font-size:.88rem!important;color:rgba(241,235,225,.7)!important}
.sidebar-precio{margin:18px 0 0;padding:12px 14px;border-left:3px solid var(--gold);background:#f5f1e9;color:var(--muted);font-size:.85rem;line-height:1.4}
.sidebar-precio b{color:var(--ink);font:600 1.35rem var(--display,var(--serif))}
/* Página de confirmación */
.gracias{max-width:760px;margin:auto;padding:70px 20px 110px;font-family:var(--serif);font-size:1.12rem;line-height:1.7}
.gracias h2{font-family:var(--display,var(--serif));font-weight:500;font-size:2rem;margin:40px 0 10px}
.gracias ol{padding-left:22px}
.gracias .acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.gracias .button-ghost{border-color:var(--ink);color:var(--ink)}
.lamina-nota a{color:var(--gold2)}
