/* Acabado compartido de las cuatro páginas principales.
   Solo presentación: las búsquedas, fichas y formularios conservan su contrato. */
.web-editorial{--seccion:clamp(64px,8vw,112px)}
.web-editorial :is(h1,h2,h3){text-wrap:balance}
.web-editorial :is(.entradilla,.intro-personas,.agencia-texto p,.parr){text-wrap:pretty}
.web-editorial .cabecera-fila{min-height:78px}
.web-editorial .enlace-flecha{padding-bottom:5px;border-bottom-color:var(--linea)}
.web-editorial .enlace-flecha:hover{border-bottom-color:currentColor}
.web-editorial .tarjeta{border-radius:16px;box-shadow:0 4px 22px -12px rgba(36,60,50,.18);transition:transform .35s var(--curva),box-shadow .35s var(--curva)}
.web-editorial .tarjeta-datos{padding:22px;gap:14px}
.web-editorial .tarjeta-titulo{font-size:22px;line-height:1.3}
.web-editorial .tarjeta-rasgos{border-top-color:#E9E4D9;line-height:1.6}
.web-editorial .tarjeta-ver{font-size:12px;letter-spacing:.02em}

/* Buscador: pestañas claras, campos legibles y espacio alrededor de la acción. */
.web-editorial :is(.busqueda .pieza,.pieza-caja){border-color:#E6E1D6;border-radius:18px;box-shadow:0 8px 32px -22px rgba(36,60,50,.22)}
.web-editorial .pestanas{gap:4px;padding:8px;background:#EDE9DF;border-bottom:0;border-radius:17px 17px 0 0}
.web-editorial .pest{min-height:44px;margin:0;padding:12px 18px;border:0;border-radius:10px;font-size:14px}
.web-editorial .pest[aria-selected="true"]{background:#FFFEFA;box-shadow:0 2px 6px rgba(36,60,50,.06);color:var(--bosque)}
.web-editorial .campo{padding-block:18px;border-color:#E6E1D6}
.web-editorial .campo label{font-size:12px;letter-spacing:.015em}
.web-editorial .campo :is(input,select){font-size:16px;min-height:32px}
.web-editorial .caja-ia{padding:24px}
.web-editorial .caja-ia textarea{border-radius:12px}
.web-editorial .ejemplos button{border-radius:999px}
.web-editorial .pie-fila{padding-top:64px}
.web-editorial .pie-legal{padding-top:24px}

/* Portada: menos peso en el titular, más presencia del paisaje. */
.portada-editorial .bienvenida h1{font-size:clamp(44px,4.8vw,72px);max-width:16ch;line-height:1.13}
.portada-editorial .bienvenida h1 em{font-size:.86em;line-height:1.2;margin-top:16px;max-width:19ch}
.portada-editorial .bienvenida .entradilla{max-width:39ch;font-size:17px}
.portada-editorial .bienvenida .firma{color:#D6DDD4}
.portada-editorial #buscar,.portada-editorial #contacto{scroll-margin-top:118px}
.portada-editorial .caminos{gap:18px;padding-top:32px;padding-bottom:0}
.portada-editorial .camino,.portada-editorial .camino:first-child{padding:26px;border:1px solid #E5DECF;border-radius:16px;background:#FAF8F2;transition:background-color .3s var(--curva),border-color .3s var(--curva)}
.portada-editorial .camino strong{font-size:24px;align-items:center}
.portada-editorial .camino strong .icono-flecha{width:32px;height:32px;border-radius:50%;background:#EDEFE7;flex:none}
.portada-editorial .camino .icono-flecha::before{left:8px;top:15px}
.portada-editorial .camino .icono-flecha::after{right:9px;top:12px}
.portada-editorial .camino:hover{background:#FFFDF8;border-color:#A6B4A4}
.portada-editorial .camino p{font-size:14px;max-width:31ch;margin-top:12px}
.portada-editorial .atajos{gap:8px 12px;margin-top:22px}
.portada-editorial .atajos-titulo{width:100%;font-size:11px;margin-bottom:2px}
.portada-editorial .atajos a{font-size:13px;padding:6px 14px;min-height:36px;border:1px solid #DCD4C4;border-radius:999px;font-weight:500}
.portada-editorial .atajos a:hover{background:#FFFDF8;border-color:var(--verde-medio)}
.portada-editorial .seleccion-cabeza{padding-top:38px;border-top:1px solid var(--linea);margin-top:64px}
.portada-editorial .seleccion-cabeza h2{max-width:20ch}
.portada-editorial .seleccion{gap:24px}
.portada-editorial .seleccion .tarjeta:not(.protagonista) .tarjeta-foto{aspect-ratio:16/11}
.portada-editorial .seleccion .tarjeta:not(.protagonista) .tarjeta-titulo{font-size:21px}
.portada-editorial .seleccion .protagonista .tarjeta-datos{padding:26px 28px}
.portada-editorial #vivir{max-width:calc(var(--ancho) - 40px);margin:0 auto;background:#EBE7DC;border-radius:24px}
.portada-editorial #vivir .marco{padding:40px}
.portada-editorial #vivir figure{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:clamp(28px,4vw,64px)}
.portada-editorial #vivir .foto{border:6px solid #F7F4ED;border-radius:16px}
.portada-editorial #vivir blockquote{font-size:clamp(26px,2.8vw,40px);line-height:1.3}
.portada-editorial #vivir blockquote em{display:block;font:400 1.15em/1.25 'Kalam',cursive;margin-top:10px}
.portada-editorial #vivir cite{font-size:10px;letter-spacing:.12em;margin-top:24px}
.portada-editorial #vivir figcaption{padding-left:6px;font-size:12px}
.portada-editorial .agencia{gap:clamp(32px,6vw,88px)}
.portada-editorial .agencia figure img{border-radius:18px}
.portada-editorial .agencia-texto p:not(.kicker){font-size:16px;line-height:1.8}
.portada-editorial .ventajas{column-gap:64px}
.portada-editorial .ventajas article{padding:28px 0}
.portada-editorial .ventajas h3{font-size:22px}
.portada-editorial #contacto{border-radius:28px 28px 0 0}
.portada-editorial #formContacto{background:#2C4439;border-color:rgba(245,241,232,.17);border-radius:20px}
.portada-editorial .form-cabecera{padding-bottom:18px;border-bottom:1px solid var(--linea-oscura)}
.portada-editorial .form-cabecera h3{font-size:27px;line-height:1.25}
.portada-editorial .form-cabecera p{font-size:14px;color:var(--sobre-bosque);margin-top:8px}

/* Catálogo: la búsqueda por nombre merece todo el ancho en el móvil. */
.catalogo-editorial .titulo{padding-top:clamp(36px,5vw,64px)}
.catalogo-editorial .titulo h1{max-width:30ch}
.catalogo-editorial .pieza{margin-top:30px}
.catalogo-editorial .rejilla{row-gap:36px}
.catalogo-editorial .resumen{margin-top:30px}
.catalogo-editorial .cuenta{scroll-margin-top:112px}
.catalogo-editorial .aviso .reintentar{display:flex;width:fit-content}

/* Explorar sin una lista congelada: todos los tipos y pueblos del panel. */
.catalogo-editorial .explorar{margin-top:72px;padding-top:48px;scroll-margin-top:110px}
.explorar-acceso{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:12px;color:var(--verde-medio);font:600 14px/1.5 var(--texto);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--linea)}
.explorar-acceso:hover{text-decoration-color:currentColor}
.explorar-acceso .icono-abajo{transform:rotate(90deg)}
.explorar-cabecera{max-width:650px}
.explorar-cabecera h2{font-size:clamp(32px,4vw,48px);margin-top:10px}
.explorar-cabecera>p:last-child{color:var(--carbon-2);font-size:16px;line-height:1.75;margin-top:16px;text-wrap:pretty}
.tipos-vivos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.tipos-vivos a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:20px 24px;border:1px solid var(--linea);border-radius:12px;background:#FAF8F2;color:var(--bosque);text-decoration:none;transition:background-color .2s,border-color .2s}
.tipos-vivos a>span{font:500 21px/1.3 var(--titulares)}
.tipos-vivos a b{display:grid;place-items:center;min-width:32px;height:32px;border-radius:50%;background:#E9EDE5;font:600 13px/1 var(--texto)}
.tipos-vivos a:hover{background:#FFFDF8;border-color:var(--verde-medio)}
.catalogo-editorial .nube{gap:10px;margin-top:16px}
.catalogo-editorial .nube a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid var(--linea);border-radius:8px;font-size:14px;background:#FAF8F2}
.catalogo-editorial .nube a:hover{border-color:var(--verde-medio);background:#FFFDF8}
.todos-pueblos{margin-top:16px}
.todos-pueblos summary{width:fit-content;min-height:44px;padding-block:12px;color:var(--verde-medio);font-size:14px;font-weight:600;cursor:pointer;text-underline-offset:4px}
.todos-pueblos summary:hover{text-decoration:underline}
.web-editorial .tarjeta-referencia{grid-column:1;font:500 11px/1.4 var(--texto);letter-spacing:.04em;color:var(--etiqueta)}
.web-editorial .tarjeta-ver{grid-column:2;grid-row:1}
.web-editorial .tarjeta-estado{position:absolute;top:14px;left:14px;padding:7px 12px;background:var(--bosque);color:var(--marfil);border-radius:999px;font-size:12px;font-weight:600}
.ficha-sin-fotos{margin-top:24px;padding:48px 28px;border:1px solid var(--linea);border-radius:18px;background:var(--marfil-2);text-align:center}
.ficha-sin-fotos>p:nth-child(2){margin-top:12px;font:400 28px/1.3 var(--titulares)}
.ficha-sin-fotos>span{display:block;margin-top:12px;font-size:15px;color:var(--etiqueta)}
.principal .foto-no-disponible{position:absolute;inset:25% 12% auto;text-align:center;line-height:1.7;color:var(--carbon-2)}
.principal img.foto-rota{opacity:0}

/* Personas y ficha: respiración editorial sin cambiar la galería. */
.equipo-editorial .intro{padding-top:clamp(40px,6vw,80px);gap:clamp(32px,5vw,72px)}
.equipo-editorial .intro h1{font-size:clamp(38px,4.2vw,62px)}
.equipo-editorial .intro .lema{font:400 clamp(23px,2.2vw,30px)/1.35 'Kalam',cursive}
.equipo-editorial .intro video{border:6px solid #FFFDFA;box-shadow:0 16px 40px -28px rgba(36,60,50,.35);border-radius:18px}
.equipo-editorial .claves article{padding-block:28px}
.equipo-editorial .personas b{font-size:22px}
.ficha-editorial .galeria{margin-top:24px;gap:14px}
.ficha-editorial .miniaturas{gap:12px}
.ficha-editorial .tarjeta-contacto{top:112px;border-radius:20px}
.ficha-editorial .descripcion p{line-height:1.85}
.ficha-editorial .cuerpo{margin-top:44px}

@media(hover:hover){
  .web-editorial .tarjeta:hover{transform:translateY(-4px);box-shadow:0 18px 38px -22px rgba(36,60,50,.32)}
}
@media(max-width:900px){
  .ficha-editorial .tarjeta-contacto{position:static}
  .portada-editorial .caminos{grid-template-columns:1fr;gap:12px}
  .portada-editorial .camino p{max-width:none}
  .portada-editorial #vivir{margin-inline:20px}
  .portada-editorial #vivir .marco{padding:28px}
}
@media(max-width:760px){
  .web-editorial .cabecera-fila{min-height:70px}
  .web-editorial .pie-fila{padding-top:48px}
  .portada-editorial .bienvenida h1{font-size:clamp(38px,9.2vw,60px);max-width:16ch}
  .portada-editorial .bienvenida .entradilla{font-size:16px}
  .portada-editorial .bienvenida h1 em{font-size:.94em;max-width:16ch}
  .portada-editorial #buscar,.portada-editorial #contacto{scroll-margin-top:100px}
  .portada-editorial .caminos{gap:10px;padding-top:24px}
  .portada-editorial .camino,.portada-editorial .camino:first-child{padding:20px}
  .portada-editorial .camino p{max-width:none;margin-top:6px;font-size:13px}
  .portada-editorial .seleccion-cabeza{margin-top:44px;padding-top:30px}
  .portada-editorial #vivir .marco{padding:20px}
  .portada-editorial #vivir figure{grid-template-columns:1fr}
  .portada-editorial #vivir .frase{grid-column:1;grid-row:3;margin-top:24px}
  .portada-editorial #vivir blockquote{font-size:28px}
  .portada-editorial #vivir cite{margin-top:18px}
  .portada-editorial #contacto{border-radius:20px 20px 0 0}
}
@media(max-width:640px){
  .tipos-vivos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .tipos-vivos a{padding:16px 14px;gap:8px;min-height:88px}
  .tipos-vivos a>span{font-size:18px}
  .tipos-vivos>a:last-child:nth-child(odd){grid-column:1/-1}
  .tipos-vivos a b{min-width:26px;height:26px;font-size:12px}
  .catalogo-editorial .explorar{margin-top:48px;padding-top:32px}
  .web-editorial .caja-ia{padding:20px}
  .web-editorial .pest{padding-inline:16px}
  .catalogo-editorial .caja>.campo:first-child,.catalogo-editorial .caja>.campo:has(#poblacion){grid-column:1/-1;border-right:0}
  .catalogo-editorial .caja>.campo{padding:12px 14px;border-right:0}
  .catalogo-editorial .caja>.campo:nth-child(2),.catalogo-editorial .caja>.campo:nth-child(5){border-right:1px solid #E6E1D6}
  .catalogo-editorial .acciones{flex-direction:row;padding:12px;gap:12px}
  .catalogo-editorial .acciones .boton{width:auto;flex:1}
  .catalogo-editorial .acciones .limpiar{flex:none}
  .web-editorial .tarjeta-datos{padding:20px}
  .portada-editorial .seleccion .protagonista .tarjeta-datos{padding:20px}
  .portada-editorial .camino strong{font-size:22px}
}
@media(prefers-reduced-motion:reduce){
  .web-editorial .tarjeta,.portada-editorial .camino{transition:none}
  .web-editorial .tarjeta:hover{transform:none}
}
