/* Páginas de texto (Manifiesto, Colaboradores, legales, Sitemap). Usa la base de home.css. */
.texto-pag { padding-top: 90px; }
.texto { gap: 22px; }
.texto > * { margin: 0; }
.texto p, .texto li { font: 300 18px/1.7 var(--f-txt); color: #ddd8cd; }
.texto h2, .texto h3, .texto h4 { margin: 28px 0 0; font: 800 clamp(22px, 2.2vw, 30px)/1.15 var(--f-tit); text-transform: uppercase; letter-spacing: -.01em; color: var(--papel); }
.texto strong, .texto b { font-weight: 500; color: var(--papel); }
.texto a { color: var(--papel); text-decoration: underline; text-decoration-color: var(--gris); text-underline-offset: 4px; }
.texto a:hover { color: var(--brillo); text-decoration-color: var(--brillo); }
.texto ul:not(.nombres), .texto ol { padding-left: 1.2em; display: grid; gap: 8px; }
.texto ul:not(.nombres) li::marker { color: var(--gris); }
.texto > p:first-child { font: 400 clamp(22px, 2.2vw, 30px)/1.4 var(--f-txt); color: var(--papel); }
.texto-pag--manifiesto .texto > p:last-child { margin-top: 24px; padding-top: 40px; border-top: 1px solid var(--linea); font: 900 clamp(28px, 3.4vw, 50px)/1.02 var(--f-tit); text-transform: uppercase; letter-spacing: -.02em; color: var(--papel); text-wrap: balance; }
.texto .nombres { margin-top: 8px; }
.texto .nombres li { font: inherit; }
.texto .nombres b { font: 800 clamp(22px, 3vw, 40px)/1.05 var(--f-tit); letter-spacing: -.02em; color: var(--papel); }
.texto-nav { display: grid; border-top: 1px solid var(--linea); }
.texto-nav a { padding: 14px 0; border-bottom: 1px solid var(--linea); font: 400 13px/1.2 var(--f-txt); letter-spacing: .18em; text-transform: uppercase; color: #cfcac0; }
.texto-nav a:hover, .texto-nav a[aria-current] { color: var(--brillo); }
.texto-nav a[aria-current]::before { content: "— "; }
.texto-pag .manif__lado .boton { justify-self: start; }
.texto-pag--colaboradores .manif__lado, .texto-pag--politica-privacidad .manif__lado { top: 120px; }
.manif__lado { top: 120px; }
@media (max-width: 900px) { .texto-pag { padding-top: 70px; } .texto-pag .vista__cab h1 { font-size: clamp(44px, 13vw, 90px); } }
.texto-pag .vista__cab h1 { font-size: clamp(56px, 8.4vw, 140px); overflow-wrap: normal; hyphens: manual; }

/* Colaboradores: cada nombre en una sola línea, aunque se añadan nombres largos (el tamaño se ajusta en el navegador y, en último caso, se corta con «…») */
.texto .nombres li { align-items: center; }
.texto .nombres b { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: clamp(20px, 2.6vw, 38px); }
.texto .nombres .eti { flex: none; }
.texto-pag .manif__txt, .texto .nombres, .texto .nombres li { min-width: 0; }

/* Contacto */
.contacto-pag .contacto { padding-top: 64px; }
.contacto__lado { position: sticky; top: 120px; align-self: start; }
.contacto__nota { margin-top: 24px !important; padding-top: 24px; border-top: 1px solid var(--linea); font-size: 16px !important; color: #cfcac0 !important; }
.contacto__nota a { color: var(--papel); text-decoration: underline; text-underline-offset: 4px; }
.marca a { color: var(--papel); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 900px) { .contacto-pag .contacto { grid-template-columns: minmax(0, 1fr); } .contacto__lado { position: static; } }
.contacto-pag [hidden] { display: none !important; }
.contacto__lado { container-type: inline-size; }
.contacto-pag .contacto__lado a.correo { white-space: nowrap; overflow-wrap: normal; font-size: min(6.2cqi, 28px); }
#fases .fase + .fase { margin-top: 8px; }
.contacto-pag .hecho-ok .boton { justify-self: start; }

/* Formulario: bloques que aparecen según lo elegido, conciertos repetibles, notas de archivos */
.fase--secc > .campos + .bloque, .fase--secc .bloque + .bloque { margin-top: 12px; }
.bloque { display: grid; gap: 20px; padding-top: 28px; border-top: 1px solid var(--linea); min-width: 0; }
.bloque__tit { margin: 0; font: 800 clamp(19px, 1.9vw, 24px)/1.2 var(--f-tit); }
.bloque__intro { margin: -8px 0 0; font: 300 15px/1.5 var(--f-txt); color: var(--gris); }
.conciertos { display: grid; gap: 24px; }
.concierto { display: grid; gap: 16px; padding: 20px; border: 1px solid #33322e; border-radius: 6px; }
.concierto__cab { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.concierto__cab h4 { margin: 0; font: 500 13px/1.3 var(--f-txt); letter-spacing: .14em; text-transform: uppercase; color: #d8d3c8; }
.concierto__quita { background: none; border: 0; padding: 4px 0; color: var(--gris); font: 400 14px/1 var(--f-txt); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.concierto__quita:hover { color: var(--papel); }
.boton--peq { justify-self: start; }
.campo .nota-arch { font-size: 12px; }
.miniaturas span.malo { outline: 2px solid #f0b4a8; outline-offset: -2px; color: #f0b4a8; }
.form__nota { margin: 0; font: 300 14px/1.5 var(--f-txt); color: var(--gris); }
.hecho-ok p { margin: 0; font: 300 18px/1.5 var(--f-txt); color: #ddd8cd; }
.hecho-ok .hecho-ok__nota { font-size: 15px; color: #f0b4a8; }
.hecho-ok b { font-size: clamp(30px, 3.6vw, 52px) !important; line-height: 1 !important; }

/* Paso de sección: agrupado como el menú de la web */
.secciones { display: grid; gap: 0; }
.secciones__g { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 10px 20px; align-items: center; padding: 12px 0; border-top: 1px solid var(--linea); }
.secciones__g:first-child { border-top: 0; padding-top: 0; }
.secciones__g > .eti { color: #d8d3c8; }
.secciones__g .opciones { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.secciones__g--solo .opciones { grid-template-columns: minmax(0, 1fr); }
.secciones__g--solo .opcion span { font: 400 15px/1.3 var(--f-txt); }
@media (max-width: 700px) { .secciones__g { grid-template-columns: minmax(0, 1fr); } }
.secciones { margin-top: -18px; }
.contacto-pag .campos { align-items: end; }

/* Tarjetas de opciones: todas las de una fila, con la altura de la más alta */
.contacto-pag .opcion { display: grid; }
.contacto-pag .opcion span { height: 100%; box-sizing: border-box; }
/* Desplegables con la misma altura que los campos de texto */
.contacto-pag .campo input[type=text], .contacto-pag .campo input[type=url], .contacto-pag .campo input[type=email], .contacto-pag .campo select { height: 50px; min-height: 0; }
.contacto-pag .campo select { -webkit-appearance: none; appearance: none; line-height: 1.4; padding-right: 44px; cursor: pointer;
  background: #0f0f0d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23d8d3c8' stroke-width='1.6'%3E%3Cpolyline points='1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E") no-repeat right 18px center; }
.contacto-pag .campo select option { background: #0f0f0d; color: var(--papel); }

/* Manifiesto en móvil: sin la imagen lateral */
@media (max-width: 700px) { .texto-pag--manifiesto .manif__lado { display: none; } }
