/* Tema Tenma 2.0 — lo propio de WordPress sobre el kit y la marca.
   Artículos y páginas de bloques, listados, paginación, búsqueda, barra de administración y
   valores por defecto (con :where, sin especificidad) para piezas que alguna marca no estiliza. */

/* 1. Utilidades de WordPress */
.screen-reader-text { border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; white-space: nowrap; }
.screen-reader-text:focus { clip-path: none; height: auto; width: auto; margin: 0; padding: .6rem 1rem; z-index: 100; background: var(--fondo); color: var(--tinta); }
.contenedor--texto { width: min(780px, 100% - 2 * var(--margen)); }
main:focus { outline: none; }

/* 2. Barra de administración (solo con sesión iniciada) */
.admin-bar .cabecera { top: 32px; }
@media (max-width: 782px) { .admin-bar .cabecera { top: 46px; } }
@media (max-width: 600px) { .admin-bar .cabecera { top: 0; } }

/* 3. Piezas de cabecera que no todas las marcas estilizan */
:where(.mega__destacado) + :where(.mega__lista) { margin-top: .75rem; }
:where(.mega__ficha) { display: grid; gap: .9rem; align-content: start; padding: 1.25rem; border: 1px dashed var(--linea-fuerte); border-radius: var(--radio-sm); font-size: .9rem; }
:where(.mega__ficha) p { margin: 0; }
:where(.mega__ficha) strong { display: block; color: var(--tinta); }
:where(.cajon__util) { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--linea); }
:where(.cajon__util) ul { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; margin: 0 0 .75rem; padding: 0; list-style: none; }
:where(.cajon__util) a { color: var(--acento); font-weight: 600; }
:where(.cajon__cruce) { margin: .75rem 0 1rem; font-size: .92rem; color: var(--suave); }
:where(.idioma) { display: inline-flex; align-items: center; gap: .35rem; }
:where(.idioma) > span[aria-hidden] { opacity: .45; }
:where(.pais__titulo) { margin: .25rem .5rem .5rem; font-size: .8rem; color: var(--suave); }
.pie__marca .boton { justify-self: start; }

/* 4. Cabecera de artículos, páginas y listados */
.articulo__cabeza { padding-block: clamp(2rem, 1.5rem + 3vw, 4.5rem) clamp(1.5rem, 1rem + 2vw, 2.75rem); border-bottom: 1px solid var(--linea); }
.articulo__cabeza .migas { padding-block: 0 1.25rem; }
.articulo__cabeza .etiqueta { margin: 0 0 .9rem; }
.articulo__titulo { margin: 0; text-wrap: balance; }
.articulo__cabeza .entrada { margin: 1.1rem 0 0; }
.articulo__meta { margin: 1.1rem 0 0; font-size: .95rem; color: var(--suave); }
.articulo__imagen { margin-block: clamp(1.5rem, 1rem + 2vw, 2.5rem) 0; }
.articulo__imagen img { display: block; width: 100%; height: auto; border-radius: var(--radio); }

/* 5. Texto de artículos y páginas de bloques */
.contenido-wp { padding-block: clamp(2rem, 1.5rem + 2vw, 3rem) clamp(3rem, 2rem + 3vw, 5rem); font-size: 1.075rem; line-height: 1.72; color: var(--texto); overflow-wrap: break-word; }
.contenido-wp > :first-child { margin-top: 0; }
.contenido-wp :where(h2, h3, h4, h5) { color: var(--tinta); font-family: var(--fuente-titulos); font-weight: var(--peso-titulos); line-height: 1.2; letter-spacing: -.02em; text-wrap: balance; }
.contenido-wp h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2.05rem); margin: 2.4em 0 .7em; }
.contenido-wp h3 { font-size: clamp(1.2rem, 1.05rem + .5vw, 1.45rem); margin: 2em 0 .6em; }
.contenido-wp h4 { font-size: 1.1rem; margin: 1.8em 0 .5em; }
.contenido-wp :where(p, ul, ol, dl, figure, table, blockquote, pre, details) { margin: 0 0 1.25em; }
.contenido-wp :where(ul, ol) { padding-left: 1.3em; }
.contenido-wp li + li { margin-top: .35em; }
.contenido-wp :where(a:not(.boton, .wp-block-button__link)) { color: var(--acento); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.contenido-wp :where(a:not(.boton, .wp-block-button__link)):hover { text-decoration-thickness: 2px; }
.contenido-wp strong { color: var(--tinta); }
.contenido-wp img { max-width: 100%; height: auto; border-radius: var(--radio-sm); }
.contenido-wp figcaption, .contenido-wp .wp-caption-text { margin-top: .6rem; font-size: .9rem; color: var(--suave); }
.contenido-wp blockquote { padding: .25rem 0 .25rem 1.25rem; border-left: 3px solid var(--acento); font-size: 1.15rem; color: var(--tinta); }
.contenido-wp blockquote cite { display: block; margin-top: .6rem; font-size: .9rem; font-style: normal; color: var(--suave); }
.contenido-wp hr { border: 0; border-top: 1px solid var(--linea); margin: 2.5em 0; }
.contenido-wp :where(code, kbd) { padding: .1em .35em; border-radius: 6px; background: var(--papel2); font: .92em var(--mono); }
.contenido-wp pre { padding: 1rem 1.25rem; border-radius: var(--radio-sm); background: var(--papel2); overflow-x: auto; font: .9rem/1.6 var(--mono); }
.contenido-wp pre code { padding: 0; background: none; }
.contenido-wp table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.contenido-wp .wp-block-table { overflow-x: auto; }
.contenido-wp :where(th, td) { padding: .65rem .8rem; border-bottom: 1px solid var(--linea); text-align: left; vertical-align: top; }
.contenido-wp th { background: var(--papel2); color: var(--tinta); font-weight: 600; }
.contenido-wp details { padding: .9rem 1.1rem; border: 1px solid var(--linea); border-radius: var(--radio-sm); }
.contenido-wp summary { cursor: pointer; font-weight: 600; color: var(--tinta); }
.contenido-wp :where(iframe, video, embed, object) { max-width: 100%; }
.contenido-wp .wp-block-buttons { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.5em 0; }
.contenido-wp .wp-block-button__link { display: inline-flex; align-items: center; min-height: 48px; padding: .8rem 1.5rem; border-radius: var(--radio-boton); background: var(--acento); color: var(--sobre-acento); font-weight: 600; text-decoration: none; }
.contenido-wp .is-style-outline .wp-block-button__link { background: transparent; color: var(--acento); box-shadow: inset 0 0 0 1.5px currentColor; }
.contenido-wp .alignwide { width: min(1100px, 100vw - 2 * var(--margen)); max-width: none; margin-inline: calc(50% - min(550px, 50vw - var(--margen))); }
.contenido-wp .alignfull { width: 100vw; max-width: none; margin-inline: calc(50% - 50vw); }
.contenido-wp .aligncenter { display: block; margin-inline: auto; }
.contenido-wp .alignleft { float: left; margin: .3rem 1.5rem 1rem 0; }
.contenido-wp .alignright { float: right; margin: .3rem 0 1rem 1.5rem; }
@media (max-width: 600px) { .contenido-wp :where(.alignleft, .alignright) { float: none; margin-inline: 0; } }

/* 6. Cierre de artículo y listados */
.articulo__accion { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; }
.articulo__accion .t3 { margin: 0; max-width: 46ch; color: var(--tinta); }
.articulo__otros { margin: clamp(2.5rem, 2rem + 2vw, 3.5rem) 0 1.25rem; color: var(--tinta); }
.entradas-rejilla { --min: 280px; }
/* Con pocos artículos, cada tarjeta mantiene su ancho en vez de ocupar toda la fila */
.rejilla.recursos-dinamicos, .entradas-rejilla { grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--min, 300px)), 1fr)); }
.entrada-tarjeta__img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radio-sm); }
.entrada-tarjeta__meta { margin: 0; font: 500 .76rem/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--suave); }
.entrada-tarjeta__titulo { margin: 0; font-size: 1.2rem; line-height: 1.28; letter-spacing: -.015em; }
.entrada-tarjeta__titulo a { color: var(--tinta); text-decoration: none; }
.entrada-tarjeta__titulo a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.entrada-tarjeta__titulo a:focus-visible { outline: none; }
.entrada-tarjeta:has(a:focus-visible) { outline: 2px solid var(--acento); outline-offset: 3px; }
.entrada-tarjeta:hover { border-color: var(--linea-fuerte); }
.entrada-tarjeta__texto { margin: 0; color: var(--texto); }
.paginacion ul { display: flex; flex-wrap: wrap; gap: .5rem; margin: 2.5rem 0 0; padding: 0; list-style: none; }
.paginacion :where(a, span) { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 .95rem; border: 1px solid var(--linea); border-radius: 999px; color: var(--tinta); text-decoration: none; }
.paginacion a:hover { border-color: var(--tinta); }
.paginacion .current { background: var(--tinta); border-color: var(--tinta); color: var(--fondo); }

/* 7. Búsqueda */
.search-form { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.5rem 0; max-width: 560px; }
.search-form label { flex: 1 1 240px; }
.search-field { width: 100%; min-height: 48px; padding: 0 1rem; border: 1px solid var(--linea-fuerte); border-radius: var(--radio-sm); background: var(--fondo); color: var(--tinta); font: inherit; }
.search-submit { min-height: 48px; padding: 0 1.4rem; border: 0; border-radius: var(--radio-boton); background: var(--tinta); color: var(--fondo); font: 600 1rem var(--fuente); cursor: pointer; }

/* 8. Botón flotante de WhatsApp (Click to Chat): el botón «arriba» sube para no taparlo */
body:has(#ht-ctc-chat, .ht-ctc-chat) .arriba { bottom: 6rem; }

/* 9. Contenido con Elementor y del diseño anterior */
.contenido-elementor { overflow-x: clip; }
.legado { display: block; overflow-x: clip; }
