/* Piezas que añade el tema sobre la maqueta: tipos de app, formulario real, textos largos, blog. */

/* Tipos de app */
.sectores-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s6); }
.sector { display: grid; gap: var(--s3); align-content: start; padding: var(--s6); border-radius: var(--radio-tarjeta); background: var(--neo-fondo); box-shadow: var(--neo-relieve); border: 1px solid #ffffffd9; }
.sector .icono { width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; background: var(--neo-fondo); box-shadow: 6px 6px 13px #d9d1e1, -6px -6px 13px #fff; border: 1px solid #fff; }
.sector .icono svg { width: 32px; height: 32px; }
.sector h3 { font: 600 var(--tipo-h3) / var(--interlineado-titulo) var(--fuente); letter-spacing: -.01em; margin: 0; }
.sector p { color: var(--tinta-2); margin: 0; }
@media (max-width: 900px) { .sectores-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .sectores-lista { grid-template-columns: 1fr; } }

/* Precios: rejilla según cuántas fichas haya */
.precios-tabla.precios-1 { grid-template-columns: minmax(0, 26rem); }
.precios-tabla.precios-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.precios-tabla.precios-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.precios-tabla.precios-5, .precios-tabla.precios-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .precios-tabla[class*="precios-"] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .precios-tabla[class*="precios-"] { grid-template-columns: 1fr; } }
.bloque-precios .seccion-enlace { margin-top: var(--s6); display: inline-block; }

/* Formulario real */
.form-trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-estado { margin: 0; padding: var(--s3) var(--s4); border-radius: var(--radio-campo); font-weight: 600; }
.form-estado--ok { background: #dff5ec; color: #0b5e46; border: 1px solid #9fdcc4; }
.form-estado--error { background: #fde6ee; color: #8c0039; border: 1px solid #f3a9c3; }
.form-estado:focus { outline: 3px solid var(--marca-azul); outline-offset: 2px; }

/* Textos largos: legales, FEDER y artículos */
.servicio-portada--corta { padding-block: var(--s12) var(--s8); }
.texto-largo { max-width: 46rem; }
.texto-largo > * + * { margin-top: var(--s4); }
.texto-largo h2 { font: 600 var(--tipo-h3) / var(--interlineado-titulo) var(--fuente); margin-top: var(--s8); }
.texto-largo h3 { font-weight: 600; margin-top: var(--s6); }
.texto-largo ul, .texto-largo ol { padding-left: 1.2em; }
.texto-largo li + li { margin-top: var(--s2); }
.texto-largo a { color: var(--marca-enlace); }
.texto-largo img { max-width: 100%; height: auto; border-radius: var(--radio-campo); }
.texto-largo table { width: 100%; border-collapse: collapse; font-size: var(--tipo-pequeno); display: block; overflow-x: auto; }
.texto-largo th, .texto-largo td { text-align: left; vertical-align: top; padding: var(--s2) var(--s3); border-bottom: 1px solid var(--linea); }
.articulo-fecha { color: var(--tinta-2); margin-top: var(--s3); }

/* Listado del blog */
.lista-articulos { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s4); max-width: 52rem; }
.lista-articulos a { display: grid; gap: var(--s2); padding: var(--s6); border-radius: var(--radio-tarjeta); background: var(--neo-fondo); box-shadow: var(--neo-relieve); border: 1px solid #ffffffd9; text-decoration: none; color: inherit; }
.lista-articulos h2 { font: 600 var(--tipo-h3) / var(--interlineado-titulo) var(--fuente); margin: 0; }
.lista-articulos p { color: var(--tinta-2); margin: 0; }
.lista-articulos time { font-size: var(--tipo-pequeno); color: var(--tinta-2); }
.pagination, .nav-links { display: flex; gap: var(--s4); margin-top: var(--s8); }

/* Texto solo para lectores de pantalla (clase estándar de WordPress; la usan Complianz y el núcleo). */
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { background: #fff; clip: auto !important; clip-path: none; color: #24102e; display: block; height: auto; left: 8px; padding: 12px 20px; top: 8px; width: auto; z-index: 100000; }
