/*
Theme Name: AutónomoSimple
Theme URI: https://autonomosimple.com
Description: Tema de bloques todo en uno para AutónomoSimple, medio editorial para autónomos de España. Incluye plantillas, patrones, calculadoras (cuota 2026, IVA, precio por hora), páginas, artículos iniciales e instalador. Basado en Twenty Twenty-Three (WordPress team, GPL v2 o posterior), sin necesidad de tema padre.
Author: AutónomoSimple
Version: 1.1.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: autonomosimple
Tags: one-column, custom-colors, full-site-editing, block-patterns, accessibility-ready, blog, news, translation-ready
*/

/* ---------- Base editorial ---------- */
body { text-rendering: optimizeLegibility; }
a { text-underline-offset: .18em; }
:where(a):focus-visible, :where(button):focus-visible, :where(input):focus-visible, :where(select):focus-visible, :where(summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--azul);
	outline-offset: 2px;
}
.as-header { border-bottom: 1px solid var(--wp--preset--color--linea); padding-block: .9rem; background: var(--wp--preset--color--papel); }
.as-header .wp-block-site-title { margin: 0; font-family: var(--wp--preset--font-family--editorial); font-weight: 700; letter-spacing: -.01em; }
.as-header .wp-block-site-title a { text-decoration: none; }
.as-header .wp-block-navigation { font-size: .95rem; }

/* ---------- Tablas y contenido ---------- */
.wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.wp-block-table table { min-width: 460px; font-size: .95rem; }
.wp-block-table th, .wp-block-table td { padding: .5rem .7rem; border: 1px solid var(--wp--preset--color--linea); }
.wp-block-table thead th { background: var(--wp--preset--color--fondo); text-align: left; }

/* ---------- Bloques editoriales ---------- */
.as-respuesta { border-left: 4px solid var(--wp--preset--color--azul); background: var(--wp--preset--color--fondo); padding: 1rem 1.25rem; margin-block: 1.5rem; }
.as-respuesta > :first-child { margin-top: 0; }
.as-respuesta > :last-child { margin-bottom: 0; }
.as-aviso { border: 1px solid #E3C77A; background: var(--wp--preset--color--aviso); color: #5C3B00; padding: .8rem 1rem; font-size: .95rem; margin-block: 1.5rem; }
.as-fuentes { font-size: .95rem; border-top: 1px solid var(--wp--preset--color--linea); padding-top: 1rem; margin-top: 2rem; }
.as-caja-autor { border-top: 1px solid var(--wp--preset--color--linea); margin-top: 2.5rem; padding-top: 1.25rem; font-size: .95rem; }
.as-breadcrumbs { font-size: .875rem; margin-bottom: 1rem; color: var(--wp--preset--color--tinta-suave); }
.as-breadcrumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: .25rem .5rem; margin: 0; padding: 0; }
.as-breadcrumbs li + li::before { content: "/"; margin-right: .5rem; color: var(--wp--preset--color--linea); }
.as-meta { font-size: .9rem; color: var(--wp--preset--color--tinta-suave); gap: .25rem 1rem; }

/* ---------- Índice de temas (home y 404) ---------- */
.as-temas { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--wp--preset--color--tinta); }
.as-temas > li { display: grid; gap: .25rem 1.5rem; padding: 1rem 0; border-bottom: 1px solid var(--wp--preset--color--linea); }
@media (min-width: 720px) { .as-temas > li { grid-template-columns: 14rem 1fr; } }
.as-temas a.as-tema { font-family: var(--wp--preset--font-family--editorial); font-size: 1.25rem; font-weight: 700; text-decoration: none; }
.as-temas p { margin: 0; font-size: .95rem; }
.as-subtemas { display: flex; flex-wrap: wrap; gap: .4rem .75rem; list-style: none; margin: .4rem 0 0; padding: 0; font-size: .9rem; }

/* ---------- Listados de artículos ---------- */
.as-posts { margin-block: 2.5rem; }
.as-posts h2 { font-size: 1.5rem; margin-bottom: .75rem; }
.as-posts ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem 2rem; }
@media (min-width: 720px) { .as-posts ul { grid-template-columns: 1fr 1fr; } }
.as-posts li { border-top: 1px solid var(--wp--preset--color--linea); padding-top: .6rem; }
.as-posts a { font-weight: 600; text-decoration: none; }
.as-posts a:hover { text-decoration: underline; }
.as-posts small { display: block; color: var(--wp--preset--color--tinta-suave); margin-top: .15rem; }

/* ---------- Publicidad: separada, etiquetada, nunca pegada a controles ---------- */
.as-anuncio { margin: 2.25rem auto; text-align: center; clear: both; min-height: 250px; }
.as-anuncio__label { display: block; font-size: .75rem; color: var(--wp--preset--color--tinta-suave); margin-bottom: .35rem; }

/* ---------- Portada ---------- */
.as-hero > * { max-width: 760px; margin-left: 0; margin-right: 0; }
.as-band { padding: 2rem 1.5rem; }
.as-band > * { max-width: 760px; margin-left: 0; margin-right: 0; }

/* ---------- Afiliación ---------- */
.as-afiliado { border: 1px solid var(--wp--preset--color--linea); background: var(--wp--preset--color--fondo); padding: 1rem 1.25rem; margin-block: 1.75rem; }
.as-afiliado p { margin: .4rem 0; }
.as-afiliado__aviso { font-size: .85rem; color: var(--wp--preset--color--tinta-suave); }
.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; width: 1px; word-wrap: normal; }

/* ---------- Herramientas ---------- */
.as-tool { border: 1px solid var(--wp--preset--color--linea); background: var(--wp--preset--color--papel); padding: 1.25rem; margin-block: 1.5rem; }
.as-tool label { display: block; font-weight: 600; margin: .9rem 0 .25rem; }
.as-tool input, .as-tool select { width: 100%; max-width: 22rem; padding: .55rem .6rem; font: inherit; border: 1px solid #8791A1; border-radius: 2px; background: #fff; }
.as-tool .as-hint { font-size: .875rem; color: var(--wp--preset--color--tinta-suave); margin: .25rem 0 0; }
.as-tool .as-result { margin-top: 1.25rem; padding: .9rem 1rem; background: var(--wp--preset--color--fondo); border-left: 4px solid var(--wp--preset--color--verde); }
.as-tool .as-result p { margin: .2rem 0; }
.as-tool .as-error { color: #8A1C1C; font-weight: 600; }

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
