/* =====================================================================
   apuestasmax — CSS del tema (capa de layout). Marca v2 → docs/BRAND-V2-SPEC.md
   Aquí viven: tokens, tipografía base, cabecera fija, héroe, ritmo del cuerpo,
   bloques del editor (tabla, details, cita, lista, buscador, paginación),
   caja de autor, rejilla de noticias, pie oscuro y 404.
   Los componentes del plugin (amx-tabla, amx-tbl, amx-card, amx-ficha, amx-bono,
   amx-faq, amx-qa, amx-calc, amx-legal, amx-bar, amx-chip-*, amx-slot, amx-tile,
   amx-destacado, amx-verificado, amx-nv…) se visten en amx-core.css: aquí no se tocan.
   Reglas v2: base clara; tarjetas blancas con línea de 1 px y sombra suave; botón
   primario degradado; verde solo en «Ir a {operador}» (plugin); pie oscuro.
   Nada de íconos de línea, cursiva, títulos en mayúsculas, sombras de texto ni
   bordes degradados; el texto llena su contenedor (sin max-width en ch).
   Unidades: rem para tipografía (base 16 px), px para espacios, radios y líneas.
   Cortes: 900 px (dos columnas → una) · 782 px (columnas del núcleo apilan) · 600 px (cabecera
   móvil: el núcleo muestra «Menú» solo por debajo de 600) · 640 px (móvil) · 480 px (móvil
   estrecho). Bordes siempre «1px solid» con color
   de línea y respaldo hex visible (el gate de deploy.sh lo exige).
   Especificidad: las cajas que el editor puede marcar con fondo (.has-background)
   se seleccionan también como .wp-block-group.X para ganar al padding del núcleo.
   ===================================================================== */

/* ── 1. Tokens (theme.json → --wp--preset--* / --wp--custom--*; respaldo = spec) ── */
:root {
  --amx-page: var(--wp--preset--color--page, #f3f6fc);
  --amx-card: var(--wp--preset--color--card, #ffffff);
  --amx-row-alt: var(--wp--preset--color--row-alt, #f8fafd);
  --amx-line: var(--wp--preset--color--line, #e6ebf5);
  --amx-line-soft: var(--wp--preset--color--line-soft, #eef2f9);
  --amx-ink: var(--wp--preset--color--ink, #0e1424);
  --amx-text-2: var(--wp--preset--color--text-2, #434b60);
  --amx-muted: var(--wp--preset--color--muted, #5f6782);
  --amx-blue: var(--wp--preset--color--blue, #1e5eff);
  --amx-blue-2: var(--wp--preset--color--blue-2, #2a66ff);
  --amx-blue-hover: var(--wp--preset--color--blue-hover, #1a52e0);
  --amx-blue-light: var(--wp--preset--color--blue-light, #3d79ff);
  --amx-cta: var(--wp--preset--color--cta, #15803d);
  --amx-ok: var(--wp--preset--color--ok, #15803d);
  --amx-ok-bg: var(--wp--preset--color--ok-bg, #e5f7ec);
  --amx-warn: var(--wp--preset--color--warn, #9a5b00);
  --amx-warn-bg: var(--wp--preset--color--warn-bg, #fff4dc);
  --amx-footer-bg: var(--wp--preset--color--footer-bg, #0e1424);
  --amx-footer-ink: var(--wp--preset--color--footer-ink, #ffffff);
  --amx-footer-muted: var(--wp--preset--color--footer-muted, #9aa3bd);

  --amx-shadow-card: var(--wp--custom--shadow--card, 0 10px 30px rgba(14,20,36,.06));
  --amx-shadow-raised: var(--wp--custom--shadow--raised, 0 14px 40px rgba(14,20,36,.08));
  --amx-shadow-screen: var(--wp--custom--shadow--screen, 0 20px 50px rgba(14,20,36,.12));
  --amx-shadow-blue: var(--wp--custom--shadow--blue, 0 8px 20px rgba(30,94,255,.3));
  --amx-shadow-blue-hover: 0 8px 20px rgba(30,94,255,.38);
  --amx-shadow-cta: var(--wp--custom--shadow--cta, 0 8px 20px rgba(21,128,61,.3));
  --amx-shadow-header: var(--wp--custom--shadow--header, 0 6px 20px rgba(14,20,36,.05));
  --amx-shadow-faq: var(--wp--custom--shadow--faq, 0 6px 18px rgba(14,20,36,.05));
  --amx-shadow-secondary: var(--wp--custom--shadow--secondary, 0 4px 12px rgba(14,20,36,.06));

  --amx-gradient-btn: var(--wp--custom--gradient--btn, linear-gradient(180deg, #2a66ff, #1e5eff));
  --amx-gradient-btn-hover: var(--wp--custom--gradient--btn-hover, linear-gradient(180deg, #2a66ff, #1a52e0));
  --amx-gradient-glow: var(--wp--custom--gradient--glow, radial-gradient(ellipse 40% 90% at 100% 0%, rgba(30,94,255,.12), rgba(255,255,255,0) 70%));
  --amx-gradient-glow-mobile: var(--wp--custom--gradient--glow-mobile, radial-gradient(ellipse 70% 50% at 100% 0%, rgba(30,94,255,.12), rgba(255,255,255,0) 70%));
  --amx-gradient-glow-center: radial-gradient(ellipse 50% 80% at 50% 0%, rgba(30,94,255,.12), rgba(255,255,255,0) 70%);
  --amx-gradient-glow-dark: var(--wp--custom--gradient--glow-dark, radial-gradient(ellipse 70% 60% at 100% 0%, rgba(30,94,255,.55), rgba(14,20,36,0) 70%));
  --amx-gradient-bar: var(--wp--custom--gradient--bar, linear-gradient(90deg, #1e5eff, #4f8bff));

  --amx-r-card: var(--wp--custom--radius--card, 20px);
  --amx-r-btn: var(--wp--custom--radius--btn, 12px);
  --amx-r-tile: var(--wp--custom--radius--tile, 12px);
  --amx-r-chip: var(--wp--custom--radius--chip, 999px);
  --amx-r-faq: var(--wp--custom--radius--faq, 16px);

  --amx-font-display: var(--wp--preset--font-family--display, "Sora", system-ui, sans-serif);
  --amx-font-body: var(--wp--preset--font-family--body, "Figtree", system-ui, sans-serif);

  --amx-content: var(--wp--style--global--content-size, 1216px); /* = contentSize de theme.json */
  --amx-gutter: var(--wp--style--root--padding-left, 32px);         /* = padding raíz de theme.json (32 escritorio / 16 móvil) */
  --amx-header-h: 64px;    /* alto aproximado de la cabecera fija (scroll-padding) */
  --amx-dur: .15s;         /* duración de transiciones; 0 s con reduced-motion */
}

/* ── 2. Base ── */
html { overflow-x: clip; scroll-behavior: smooth; scroll-padding-top: calc(var(--amx-header-h) + 16px); -webkit-text-size-adjust: 100%; }
body { overflow-x: clip; margin: 0; background-color: var(--amx-page); color: var(--amx-text-2); font-family: var(--amx-font-body); font-size: 1rem; line-height: 1.55; -webkit-font-smoothing: antialiased; }
*, *::before, *::after { box-sizing: border-box; }
img, svg, video { max-width: 100%; height: auto; }
img { vertical-align: middle; }
:focus-visible { outline: 2px solid var(--amx-blue); outline-offset: 2px; }

/* ── 3. Tipografía ── */
h1, h2, h3, h4, h5, h6 {
  margin: 0 0 .5em; font-family: var(--amx-font-display); color: var(--amx-ink);
  font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; text-wrap: balance; overflow-wrap: break-word;
}
h1 { font-size: 3rem; line-height: 1.02; letter-spacing: -0.03em; }
h2 { font-size: 2rem; }
h3 { font-size: 1.375rem; font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; }
h4 { font-size: 1.125rem; font-weight: 700; line-height: 1.3; letter-spacing: 0; }
h5, h6 { font-size: 1rem; font-weight: 700; line-height: 1.4; letter-spacing: 0; }

a { color: var(--amx-blue); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; text-decoration-color: rgba(30,94,255,.4); transition: color var(--amx-dur) ease, text-decoration-color var(--amx-dur) ease; }
a:hover { color: var(--amx-blue-hover); text-decoration-color: currentColor; }

/* Entradilla bajo el H1 (post-excerpt o párrafo con la clase) */
.amx-lede { margin: 0; font-size: 1.125rem; line-height: 1.5; color: var(--amx-text-2); }
.amx-lede p { margin: 0; }
.amx-lede .wp-block-post-excerpt__more-text { display: none; }

/* Cifras alineadas en columnas: fechas, importes, notas */
time, .wp-block-post-date, .amx-tabular, .amx-num { font-variant-numeric: tabular-nums; }

/* Rótulo diminuto (BONO · FUENTE · NOTA, único uso de mayúsculas): .amx-label es del plugin y vive en amx-core.css; aquí no se redefine. */

/* Cabecera de sección: título a la izquierda, meta/enlace a la derecha, misma línea base */
.amx-sec, .wp-block-group.amx-sec { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; margin: 0 0 20px; }
.amx-sec > h2, .amx-sec > h3 { margin: 0; }
.amx-sec__meta { margin: 0; font-size: .875rem; color: var(--amx-muted); }
.amx-sec__meta a, .amx-sec > a { font-weight: 600; text-decoration: none; }
.amx-sec__meta a:hover, .amx-sec > a:hover { text-decoration: underline; }

/* ── 4. Botones del editor ──
   Por defecto el bloque Botón es el primario degradado; el estilo de bloque
   «Secundario» (is-style-amx-secondary, registrado en functions.php) es blanco
   con línea. El estilo «Contorno» del núcleo se normaliza al secundario para que
   no existan botones solo de contorno. El pequeño vive en la cabecera. */
.wp-block-button .wp-block-button__link,
.wp-block-search .wp-block-search__button,
.wp-block-post-comments-form .submit {
  display: inline-flex; align-items: center; justify-content: center; gap: .4em;
  padding: 14px 20px; border-width: 0; border-radius: var(--amx-r-btn);
  background: var(--amx-gradient-btn); color: #fff;
  font-family: var(--amx-font-body); font-size: .9375rem; font-weight: 700; line-height: 1.2; text-align: center;
  text-decoration: none; cursor: pointer; box-shadow: var(--amx-shadow-blue);
  transition: box-shadow var(--amx-dur) ease, transform var(--amx-dur) ease, background-color var(--amx-dur) ease, color var(--amx-dur) ease;
}
.wp-block-button .wp-block-button__link:hover,
.wp-block-search .wp-block-search__button:hover,
.wp-block-post-comments-form .submit:hover { background: var(--amx-gradient-btn-hover); color: #fff; box-shadow: var(--amx-shadow-blue-hover); }
.wp-block-button .wp-block-button__link:active,
.wp-block-search .wp-block-search__button:active { background: var(--amx-blue-hover); transform: translateY(1px); box-shadow: 0 4px 12px rgba(30,94,255,.3); }
.wp-block-button .wp-block-button__link:focus-visible,
.wp-block-search .wp-block-search__button:focus-visible { outline: 2px solid var(--amx-blue, #1e5eff); outline-offset: 2px; }

.wp-block-button.is-style-amx-secondary .wp-block-button__link,
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):not(.has-background) {
  padding: 13px 20px; background: var(--amx-card); color: var(--amx-ink);
  border: 1px solid #dfe5f1; box-shadow: var(--amx-shadow-secondary);
}
.wp-block-button.is-style-amx-secondary .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):not(.has-background):hover { background: var(--amx-page); color: var(--amx-ink); box-shadow: var(--amx-shadow-secondary); }
.wp-block-button.is-style-amx-secondary .wp-block-button__link:active,
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):not(.has-background):active { background: var(--amx-line-soft); transform: translateY(1px); }
.wp-block-buttons > .wp-block-button { margin: 0; }

/* ── 5. Cabecera fija ──
   <header class="amx-top"> blanco, pegado arriba; dentro .amx-top__in en rejilla
   logo | navegación | botón pequeño «Calculadora». En móvil (<600 px el bloque de
   navegación pasa a desplegable) queda logo | Calculadora | «Menú» (secundario pequeño).
   El sticky va en el envoltorio de la parte de plantilla (<div class="wp-block-template-part">,
   hijo directo de .wp-site-blocks): puesto en .amx-top no tendría recorrido, porque su bloque
   contenedor —ese envoltorio— mide exactamente lo mismo que él. */
.wp-site-blocks > .wp-block-template-part { margin-block: 0; } /* sin los 20 px de blockGap raíz del núcleo entre partes y <main> */
.wp-site-blocks > .wp-block-template-part:has(> .amx-top) { position: sticky; top: 0; z-index: 60; }
.admin-bar .wp-site-blocks > .wp-block-template-part:has(> .amx-top) { top: 32px; }
.amx-top, .wp-block-group.amx-top {
  margin: 0;
  padding: 14px var(--amx-gutter);
  background-color: var(--amx-card);
  border-bottom: 1px solid var(--amx-line-soft, #eef2f9);
  box-shadow: var(--amx-shadow-header);
}
/* Rejilla 1fr | auto | 1fr (spec): la navegación ocupa su ancho natural y el resto se reparte a los lados.
   Logo y botón conservan min-width:auto, así que sus columnas nunca bajan de su contenido; cuando falta
   sitio (600–740 px) es la lista de navegación la que pasa a dos líneas, no el logo el que se monta encima. */
.amx-top__in, .wp-block-group.amx-top__in {
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px;
  width: 100%; max-width: var(--amx-content); margin: 0 auto;
}
.amx-top__in > * { margin: 0; }

/* logo: lockup PNG, alto fijo (32 px escritorio / 26 px móvil), ancho proporcional */
.amx-top__logo { display: flex; align-items: center; justify-self: start; line-height: 0; }
.amx-top .amx-top__logo a { display: inline-flex; line-height: 0; border-radius: 6px; }
.amx-top .amx-top__logo img, .amx-top .wp-block-site-logo img { height: 40px; width: auto; max-width: none; }

/* navegación de escritorio */
.amx-top .amx-top__nav { justify-self: center; font-family: var(--amx-font-body); font-size: .9375rem; font-weight: 600; }
/* la lista puede partirse en dos líneas cuando su columna se estrecha (600–740 px): separación vertical corta */
.amx-top .amx-top__nav .wp-block-navigation__container { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 28px; margin: 0; padding: 0; list-style: none; }
.amx-top .amx-top__nav .wp-block-navigation-item__content { display: inline-block; padding: 6px 0; color: var(--amx-text-2); text-decoration: none; white-space: nowrap; transition: color var(--amx-dur) ease; }
.amx-top .amx-top__nav .wp-block-navigation-item__content:hover,
.amx-top .amx-top__nav .current-menu-item > .wp-block-navigation-item__content,
.amx-top .amx-top__nav .current-menu-ancestor > .wp-block-navigation-item__content { color: var(--amx-blue); }
.amx-top .amx-top__nav .wp-block-navigation-item__content:focus-visible { border-radius: 4px; outline-offset: 4px; }
/* submenú (si el dueño anida enlaces): tarjeta blanca */
.amx-top .amx-top__nav .has-child .wp-block-navigation__submenu-container {
  padding: 8px; background-color: var(--amx-card); color: var(--amx-ink);
  border: 1px solid var(--amx-line, #e6ebf5); border-radius: var(--amx-r-tile); box-shadow: var(--amx-shadow-raised);
}
.amx-top .amx-top__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: block; padding: 8px 10px; border-radius: 8px; }
.amx-top .amx-top__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background-color: var(--amx-page); }

/* botón pequeño «Calculadora» */
.amx-top__cta { justify-self: end; }
/* nowrap: el núcleo pone word-break:break-word en los botones y la columna 1fr tomaría como mínimo una sola letra;
   con el texto indivisible la columna nunca baja del ancho del botón y es la navegación la que se parte */
.amx-top .amx-top__cta .wp-block-button__link { padding: 10px 14px; font-size: .875rem; white-space: nowrap; word-break: normal; }

/* «Menú» / «Cerrar»: secundario pequeño con texto (hasIcon=false), sin ícono.
   Tres clases (0,3,0): el núcleo fija font-size/font-weight: inherit con el selector triplicado
   .wp-block-navigation__responsive-container-open ×3, también (0,3,0); esta hoja gana por orden de carga. */
.amx-top .amx-top__nav .wp-block-navigation__responsive-container-open,
.amx-top .amx-top__nav .wp-block-navigation__responsive-container-close {
  padding: 10px 14px; background-color: var(--amx-card); color: var(--amx-ink);
  border: 1px solid #dfe5f1; border-radius: var(--amx-r-btn); box-shadow: var(--amx-shadow-secondary);
  font-family: var(--amx-font-body); font-size: .875rem; font-weight: 700; line-height: 1.2; cursor: pointer;
  transition: background-color var(--amx-dur) ease;
}
.amx-top .amx-top__nav .wp-block-navigation__responsive-container-open:hover,
.amx-top .amx-top__nav .wp-block-navigation__responsive-container-close:hover { background-color: var(--amx-page); }
.amx-top .amx-top__nav .wp-block-navigation__responsive-container-open:focus-visible,
.amx-top .amx-top__nav .wp-block-navigation__responsive-container-close:focus-visible { outline: 2px solid var(--amx-blue, #1e5eff); outline-offset: 2px; }

/* desplegable móvil: fondo blanco, enlaces 18/700 separados por líneas suaves */
.amx-top .amx-top__nav .wp-block-navigation__responsive-container.is-menu-open {
  padding: 72px 20px 32px; background-color: var(--amx-card); color: var(--amx-ink); animation: none;
}
.amx-top .amx-top__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { position: absolute; top: 14px; right: 16px; }
.amx-top .amx-top__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 0; align-items: stretch; }
.amx-top .amx-top__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0; align-items: stretch; }
.amx-top .amx-top__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { border-bottom: 1px solid var(--amx-line-soft, #eef2f9); }
.amx-top .amx-top__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display: block; padding: 14px 0; font-size: 1.125rem; font-weight: 700; color: var(--amx-ink); }
.amx-top .amx-top__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
.amx-top .amx-top__nav .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content { color: var(--amx-blue); }
.amx-top .amx-top__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding: 0 0 8px 16px; border-width: 0; box-shadow: none; background-color: transparent; }

/* ── 6. Héroe ──
   Tarjeta blanca con brillo radial azul, línea de 1 px, radio tarjeta y sombra alta.
   Portada: columnas .amx-hero__main | .amx-hero__side (card «Mejor calificación» del plugin).
   Interiores (--inner): una columna: chip verificado, H1, entradilla y, en operador, la card sola. */
/* <main> es un grupo «constrained» con el padding raíz del núcleo (.has-global-padding → 32/16 px a los
   lados): aquí solo el aire superior; el horizontal no se escribe para no borrar esos márgenes. */
.amx-main, .wp-block-group.amx-main { margin: 0; padding-top: 32px; }
.amx-hero, .wp-block-group.amx-hero {
  position: relative; margin: 32px 0 0; padding: 56px 40px;
  background-color: var(--amx-card); background-image: var(--amx-gradient-glow); background-repeat: no-repeat;
  border: 1px solid var(--amx-line, #e6ebf5); border-radius: var(--amx-r-card); box-shadow: var(--amx-shadow-raised);
}
.amx-main > .amx-hero { margin-top: 0; }
.amx-hero h1 { margin: 0 0 14px; }
.amx-hero > * + h1, .amx-hero__main > * + h1 { margin-top: 18px; }
.amx-hero > .amx-verificado { margin-bottom: 0; } /* el chip del plugin trae 14 px abajo (inline-flex: no colapsa); en el héroe mandan los 18 px del h1 */
.amx-hero .amx-lede { margin: 0 0 26px; }
.amx-hero .amx-lede:last-child { margin-bottom: 0; }
.amx-hero__acts, .wp-block-buttons.amx-hero__acts { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }

.amx-hero--home > .wp-block-columns, .amx-hero--home .amx-hero__cols {
  display: grid; grid-template-columns: minmax(0, 1.5fr) 360px; gap: 48px; align-items: center; margin: 0; padding: 0;
}
.amx-hero--home .amx-hero__main, .amx-hero--home .amx-hero__side { min-width: 0; align-self: center; flex-basis: auto; }
.amx-hero--home .amx-hero__side > * { margin: 0; }

/* ── 7. Cuerpo: ritmo vertical ──
   Los hijos directos de .amx-body son la salida de los shortcodes (h2 + componente),
   el contenido del editor (.wp-block-post-content) y la caja de autor. Secciones a
   40 px; un h2 impreso por un shortcode se pega a su componente (16 px). */
.amx-body, .wp-block-group.amx-body { margin: 40px 0 72px; }
/* doble selector = especificidad (0,2,0): gana a los «margin: 0» de bloques y componentes */
.amx-body > *, .wp-block-group.amx-body > * { margin-block: 0; }
.amx-body > * + *, .wp-block-group.amx-body > * + * { margin-block-start: 40px; }
.amx-body > h2, .wp-block-group.amx-body > h2 { margin-block-start: 56px; }
.amx-body > h2 + *, .wp-block-group.amx-body > h2 + * { margin-block-start: 16px; }
.amx-body > h3 + *, .wp-block-group.amx-body > h3 + * { margin-block-start: 12px; }
/* cabecera de sección del editor (.amx-sec: h2 + meta): mismo ritmo que un h2 suelto — aire arriba, pegada a su componente */
.amx-body > * + .amx-sec, .wp-block-group.amx-body > * + .amx-sec { margin-block-start: 56px; }
.amx-body > .amx-sec + *, .wp-block-group.amx-body > .amx-sec + * { margin-block-start: 16px; }
.amx-body > :first-child, .wp-block-group.amx-body > :first-child { margin-block-start: 0; }
.amx-body p, .amx-body li { max-width: none; }
/* último bloque de <main> (cuerpo, noticias o 404): aire antes de la franja legal; el envoltorio de la parte «Pie» ya no añade los 20 px del núcleo */
.amx-main > :last-child, .wp-block-group.amx-main > :last-child { margin-bottom: 72px; }

/* contenido del editor: separación uniforme de 20 px; títulos con aire arriba */
.amx-body .wp-block-post-content > * { margin-block-start: 20px; margin-block-end: 0; }
.amx-body .wp-block-post-content > :first-child { margin-block-start: 0; }
.amx-body .wp-block-post-content > h2 { margin-block-start: 48px; margin-block-end: 16px; }
.amx-body .wp-block-post-content > h3 { margin-block-start: 32px; margin-block-end: 12px; }
.amx-body .wp-block-post-content > h4 { margin-block-start: 28px; margin-block-end: 10px; }
.amx-body .wp-block-post-content > h2 + *, .amx-body .wp-block-post-content > h3 + *, .amx-body .wp-block-post-content > h4 + * { margin-block-start: 0; }
.amx-body .wp-block-post-content > .wp-block-details + .wp-block-details { margin-block-start: 10px; }
.wp-block-post-content strong, .wp-block-post-content b { color: var(--amx-ink); font-weight: 700; }

/* listas del editor: viñetas tipográficas, sangría corta */
.wp-block-list, .wp-block-post-content ul:not([class]), .wp-block-post-content ol:not([class]) { margin: 0; padding-left: 1.3em; }
.wp-block-list li + li, .wp-block-post-content ul:not([class]) li + li, .wp-block-post-content ol:not([class]) li + li { margin-top: 6px; }
.wp-block-list li::marker { color: var(--amx-muted); }
.wp-block-list ul, .wp-block-list ol { margin-top: 6px; }

/* ── 8. Bloques del editor con el look v2 ── */
/* tabla: dentro de una tarjeta; cabecera sobre fondo página; filas separadas por línea suave; pares en row-alt */
.wp-block-table { margin: 0; overflow-x: auto; background-color: var(--amx-card); border: 1px solid var(--amx-line, #e6ebf5); border-radius: var(--amx-r-card); box-shadow: var(--amx-shadow-card); }
.wp-block-table table { width: 100%; margin: 0; border-collapse: collapse; font-size: .9375rem; font-variant-numeric: tabular-nums; }
.wp-block-table thead, .wp-block-table tfoot { border-width: 0; }
.wp-block-table table th, .wp-block-table table td { padding: 12px 20px; border-width: 0; border-bottom: 1px solid var(--amx-line-soft, #eef2f9); text-align: left; vertical-align: top; color: var(--amx-text-2); word-break: normal; }
.wp-block-table table thead th { background-color: var(--amx-page); border-bottom: 1px solid var(--amx-line, #e6ebf5); color: var(--amx-muted); font-size: .8125rem; font-weight: 700; line-height: 1.3; white-space: nowrap; }
.wp-block-table table tbody th { color: var(--amx-ink); font-weight: 700; }
.wp-block-table table td strong { color: var(--amx-ink); }
.wp-block-table table tbody tr:nth-child(even) > * { background-color: var(--amx-row-alt); }
.wp-block-table table tbody tr:last-child > * { border-bottom-width: 0; }
.wp-block-table figcaption { margin: 0; padding: 10px 20px 12px; font-size: .8125rem; color: var(--amx-muted); text-align: left; }
.wp-block-table.is-style-stripes { border-bottom: 1px solid var(--amx-line, #e6ebf5); }
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background-color: transparent; }
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) > * { background-color: transparent; }

/* details del editor = FAQ v2: tarjeta blanca, resumen 17/700, círculo «+» / «−» a la derecha */
.wp-block-details { position: relative; margin: 0; background-color: var(--amx-card); border: 1px solid var(--amx-line, #e6ebf5); border-radius: var(--amx-r-faq); box-shadow: var(--amx-shadow-faq); }
.wp-block-details + .wp-block-details { margin-top: 10px; }
.wp-block-details > summary { position: relative; cursor: pointer; list-style: none; padding: 18px 68px 18px 24px; font-family: var(--amx-font-body); font-size: 1.0625rem; font-weight: 700; line-height: 1.35; color: var(--amx-ink); border-radius: var(--amx-r-faq); }
.wp-block-details > summary::-webkit-details-marker { display: none; }
.wp-block-details > summary::marker { content: ""; }
.wp-block-details > summary::after {
  content: "+"; position: absolute; right: 18px; top: 15px; width: 32px; height: 32px; border-radius: 50%;
  display: grid; place-items: center; background-color: var(--amx-page); color: var(--amx-blue);
  font-family: var(--amx-font-display); font-size: 1.25rem; font-weight: 700; line-height: 1;
  transition: background-color var(--amx-dur) ease, color var(--amx-dur) ease;
}
.wp-block-details > summary:hover::after { background-color: var(--amx-line-soft); }
.wp-block-details[open] > summary::after { content: "−"; background-color: var(--amx-blue); color: #fff; }
.wp-block-details[open] > summary:hover::after { background-color: var(--amx-blue-hover); }
.wp-block-details > :not(summary) { margin: 0; padding: 0 24px 14px; font-size: .9375rem; line-height: 1.6; color: var(--amx-text-2); }
.wp-block-details > :last-child:not(summary) { padding-bottom: 20px; }
.wp-block-details > summary:focus-visible { outline: 2px solid var(--amx-blue, #1e5eff); outline-offset: 2px; }

/* cita: tarjeta como en theme.json (fondo tarjeta, línea de 1 px, radio tarjeta, 20/24) para que editor y
   front coincidan; la cita destacada (pullquote) queda como panel suave sin línea (theme.json: borde 0). Nunca cursiva. */
.wp-block-quote { margin: 0; padding: 20px 24px; background-color: var(--amx-card); border: 1px solid var(--amx-line, #e6ebf5); border-radius: var(--amx-r-card); font-style: normal; text-align: left; }
.wp-block-pullquote { margin: 0; padding: 20px 24px; background-color: var(--amx-row-alt); border-width: 0; border-radius: var(--amx-r-tile); font-style: normal; text-align: left; }
.wp-block-quote p, .wp-block-pullquote p { margin: 0 0 .5em; font-size: 1.0625rem; line-height: 1.5; color: var(--amx-ink); }
.wp-block-quote p:last-of-type, .wp-block-pullquote p:last-of-type { margin-bottom: 0; }
.wp-block-quote cite, .wp-block-pullquote cite { display: block; margin-top: 10px; font-size: .8125rem; font-style: normal; color: var(--amx-muted); }

/* separador: una línea de 1 px */
.wp-block-separator { border-width: 0; height: 1px; background-color: var(--amx-line); opacity: 1; margin-inline: auto; }

/* imagen del editor (capturas con pie): esquinas suaves, pie en muted */
.wp-block-image { margin: 0; }
.wp-block-image img { border-radius: var(--amx-r-tile); }
.wp-block-image figcaption { margin: 8px 0 0; font-size: .8125rem; line-height: 1.4; color: var(--amx-muted); text-align: left; }

/* buscador: campo con línea, botón primario pequeño */
.wp-block-search .wp-block-search__label { margin-bottom: 6px; font-size: .875rem; font-weight: 600; color: var(--amx-text-2); }
.wp-block-search .wp-block-search__inside-wrapper { gap: 8px; }
.wp-block-search .wp-block-search__input { padding: 12px 14px; background-color: var(--amx-row-alt); color: var(--amx-ink); border: 1px solid #dfe5f1; border-radius: var(--amx-r-btn); font-family: var(--amx-font-body); font-size: 1rem; font-weight: 500; line-height: 1.3; }
.wp-block-search .wp-block-search__input:focus { outline: 2px solid var(--amx-blue, #1e5eff); outline-offset: 2px; background-color: var(--amx-card); }
.wp-block-search .wp-block-search__button { margin-left: 0; padding: 10px 14px; font-size: .875rem; }

/* paginación de archivos: píldoras secundarias; la actual, primaria */
.wp-block-query-pagination { margin-top: 32px; gap: 8px; font-size: .875rem; font-weight: 600; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { display: inline-flex; align-items: center; min-height: 38px; padding: 8px 12px; background-color: var(--amx-card); color: var(--amx-ink); border: 1px solid #dfe5f1; border-radius: 10px; box-shadow: var(--amx-shadow-secondary); text-decoration: none; }
.wp-block-query-pagination a:hover { background-color: var(--amx-page); color: var(--amx-ink); }
.wp-block-query-pagination .page-numbers.current { background: var(--amx-gradient-btn); color: #fff; border-color: transparent; box-shadow: var(--amx-shadow-blue); }
.wp-block-query-pagination .page-numbers.dots { background-color: transparent; border-width: 0; box-shadow: none; color: var(--amx-muted); }

/* ── 9. Caja de autor ──
   Tarjeta; rejilla avatar 56 | nombre + bio | «Actualizado el {fecha}» (13 px, atenuado).
   Sirve para las dos formas de armar el bloque en la plantilla: bloques sueltos (avatar, nombre, bio y
   fecha con el prefijo que añade functions.php) o nombre+bio dentro de un grupo .amx-autor__who y
   rótulo «Actualizado el» + fecha dentro de un grupo .amx-autor__meta. */
.amx-autor, .wp-block-group.amx-autor {
  display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; grid-template-rows: auto auto; gap: 4px 16px; align-items: center;
  padding: 20px 24px; background-color: var(--amx-card); border: 1px solid var(--amx-line, #e6ebf5); border-radius: var(--amx-r-card); box-shadow: var(--amx-shadow-card);
}
.amx-autor > * { margin: 0; min-width: 0; }
.amx-autor .wp-block-avatar { grid-column: 1; grid-row: 1 / span 2; line-height: 0; }
.amx-autor .wp-block-avatar img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.amx-autor > .wp-block-post-author-name { grid-column: 2; grid-row: 1; }
.amx-autor > .wp-block-post-author-biography { grid-column: 2; grid-row: 2; }
.amx-autor > .amx-autor__who { grid-column: 2; grid-row: 1 / span 2; }
.amx-autor > .wp-block-post-date, .amx-autor > .amx-autor__fecha, .amx-autor > .amx-autor__meta { grid-column: 3; grid-row: 1 / span 2; align-self: center; }
.amx-autor .wp-block-post-author-name { font-size: 1rem; font-weight: 700; color: var(--amx-ink); }
.amx-autor .wp-block-post-author-name a { color: inherit; text-decoration: none; }
.amx-autor .wp-block-post-author-name a:hover { text-decoration: underline; }
.amx-autor .wp-block-post-author-biography { font-size: .9375rem; line-height: 1.5; color: var(--amx-muted); }
.amx-autor .amx-autor__who > * { margin: 0; }
.amx-autor .amx-autor__who > * + * { margin-top: 4px; }
.amx-autor .amx-autor__meta, .wp-block-group.amx-autor__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 4px; padding: 0; }
.amx-autor .wp-block-post-date, .amx-autor .amx-autor__fecha, .amx-autor .amx-autor__meta, .amx-autor .amx-autor__label { margin: 0; font-size: .8125rem; line-height: 1.4; color: var(--amx-muted); white-space: nowrap; }

/* ── 10. Noticias ──
   Sección .amx-news (cabecera .amx-sec + Query Loop); la rejilla .amx-news__grid vive en el
   post-template (3 → 2 → 1 columnas). La sección entera se oculta si no hay entradas. */
.amx-news:not(:has(.wp-block-post-template)), .amx-news:has(.amx-news__grid:empty) { display: none; }
.amx-news .wp-block-query { margin: 0; }
.amx-news__grid, .wp-block-post-template.amx-news__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.amx-news__grid > li { margin: 0; min-width: 0; display: flex; }
.amx-news__card, .wp-block-group.amx-news__card {
  display: flex; flex-direction: column; width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden;
  background-color: var(--amx-card); border: 1px solid var(--amx-line, #e6ebf5); border-radius: var(--amx-r-card); box-shadow: var(--amx-shadow-card);
  transition: box-shadow var(--amx-dur) ease;
}
.amx-news__card:hover { box-shadow: var(--amx-shadow-raised); }
.amx-news__card > * { margin: 0; }
.amx-news__card > :not(.wp-block-post-featured-image) { padding-left: 20px; padding-right: 20px; }
.amx-news__card > :first-child:not(.wp-block-post-featured-image), .amx-news__card > .wp-block-post-featured-image + * { padding-top: 18px; }
.amx-news__card > * + :not(.wp-block-post-featured-image) { margin-top: 10px; }
.amx-news__card > .wp-block-post-featured-image + * { margin-top: 0; }
.amx-news__card > :last-child { padding-bottom: 20px; margin-bottom: auto; }
.amx-news__card .wp-block-post-featured-image { width: 100%; aspect-ratio: 16 / 9; background: linear-gradient(135deg, #e6ebf5, #d5dcea); }
.amx-news__card .wp-block-post-featured-image a, .amx-news__card .wp-block-post-featured-image img { display: block; width: 100%; height: 100%; }
.amx-news__card .wp-block-post-featured-image img { aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; }
.amx-news__cat, .wp-block-post-terms.amx-news__cat { display: flex; flex-wrap: wrap; gap: 6px; }
.amx-news__cat .wp-block-post-terms__separator, .amx-news__cat .wp-block-post-terms__prefix, .amx-news__cat .wp-block-post-terms__suffix { display: none; }
.amx-news__cat a { display: inline-flex; align-items: center; padding: 3px 10px; background-color: var(--amx-page); color: var(--amx-blue); border: 1px solid var(--amx-line, #e6ebf5); border-radius: var(--amx-r-chip); font-size: .75rem; font-weight: 700; line-height: 1.3; text-decoration: none; }
.amx-news__cat a:hover { background-color: var(--amx-line-soft); color: var(--amx-blue-hover); }
.amx-news__date { font-size: .8125rem; color: var(--amx-muted); }
.amx-news__card .wp-block-post-title { margin-top: 8px; font-family: var(--amx-font-display); font-size: 1.125rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; }
.amx-news__card .wp-block-post-title a { color: var(--amx-ink); text-decoration: none; }
.amx-news__card .wp-block-post-title a:hover { color: var(--amx-blue); }
.amx-news__card .wp-block-post-excerpt { font-size: .875rem; line-height: 1.5; color: var(--amx-text-2); }
.amx-news__card .wp-block-post-excerpt p { margin: 0; }
.amx-news__card .wp-block-post-excerpt__more-text { margin-top: 8px; font-weight: 600; }

/* ── 11. Pie oscuro ──
   Orden en la parte «Pie»: [amx_legal] (franja clara, plugin) → <footer class="amx-foot">
   con 3 columnas de enlaces y fila inferior (lockup oscuro 26 px · © · Privacidad · Términos)
   → [amx_barra] (barra oscura, plugin). */
.amx-foot, .wp-block-group.amx-foot { margin: 0; padding: 56px var(--amx-gutter) 32px; background-color: var(--amx-footer-bg); color: var(--amx-footer-muted); font-size: .9375rem; line-height: 1.5; }
.amx-foot a { color: var(--amx-footer-muted); text-decoration: none; transition: color var(--amx-dur) ease; }
.amx-foot a:hover { color: var(--amx-footer-ink); }
.amx-foot a:focus-visible, .amx-foot .wp-block-navigation-item__content:focus-visible { outline-color: var(--amx-blue-light); }
.amx-foot p { margin: 0; }
.amx-foot .amx-foot__cols { gap: 32px; margin: 0; padding: 0; }
.amx-foot .amx-foot__cols > .wp-block-column { min-width: 0; }
.amx-foot__h { margin: 0 0 14px; font-family: var(--amx-font-display); font-size: .9375rem; font-weight: 700; line-height: 1.3; letter-spacing: 0; color: var(--amx-footer-ink); }
.amx-foot .amx-foot__nav { margin: 0; font-size: .9375rem; font-weight: 400; }
.amx-foot .amx-foot__nav, .amx-foot .amx-foot__nav .wp-block-navigation__container { gap: 10px; }
.amx-foot .amx-foot__nav .wp-block-navigation__container { display: flex; flex-direction: column; align-items: flex-start; margin: 0; padding: 0; list-style: none; }
.amx-foot .amx-foot__nav .wp-block-navigation-item__content { color: var(--amx-footer-muted); text-decoration: none; transition: color var(--amx-dur) ease; }
.amx-foot .amx-foot__nav .wp-block-navigation-item__content:hover,
.amx-foot .amx-foot__nav .current-menu-item > .wp-block-navigation-item__content { color: var(--amx-footer-ink); }
.amx-foot__bottom, .wp-block-group.amx-foot__bottom {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px;
  margin: 40px 0 0; padding: 24px 0 0; border-top: 1px solid rgba(255,255,255,.1); font-size: .875rem;
}
.amx-foot__bottom > * { margin: 0; min-width: 0; }
.amx-foot__logo, .wp-block-image.amx-foot__logo { margin: 0; line-height: 0; }
.amx-foot__logo img { height: 32px; width: auto; border-radius: 0; }

/* ── 12. Página 404 ──
   Tarjeta centrada con brillo superior; «404» en Sora 800 con el degradado de barras como texto. */
.amx-404, .wp-block-group.amx-404 {
  position: relative; margin: 32px 0 0; padding: 72px 32px; text-align: center;
  background-color: var(--amx-card); background-image: var(--amx-gradient-glow-center); background-repeat: no-repeat;
  border: 1px solid var(--amx-line, #e6ebf5); border-radius: var(--amx-r-card); box-shadow: var(--amx-shadow-raised);
}
.amx-main > .amx-404 { margin-top: 0; margin-bottom: 72px; } /* aire propio antes de la franja legal, aunque detrás venga una sección de noticias oculta */
.amx-404__num {
  display: inline-block; margin: 0 0 8px; font-family: var(--amx-font-display); font-size: 6rem; font-weight: 800; line-height: 1; letter-spacing: -0.04em; font-variant-numeric: tabular-nums;
  background: var(--amx-gradient-bar); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
}
.amx-404 h1, .amx-404 h2 { margin: 0 0 12px; font-size: 2rem; }
.amx-404 p:not(.amx-404__num) { margin: 0; color: var(--amx-text-2); } /* el «404» conserva sus 8 px de margen y el degradado como color */
.amx-404 .wp-block-buttons { justify-content: center; margin-top: 28px; }

/* ── 13. Responsive ── */
@media (max-width: 900px) {
  .amx-top__in, .wp-block-group.amx-top__in { gap: 16px; }
  .amx-top .amx-top__nav .wp-block-navigation__container { gap: 4px 18px; }
  .amx-hero--home > .wp-block-columns, .amx-hero--home .amx-hero__cols { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .amx-news__grid, .wp-block-post-template.amx-news__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 782px) {
  .admin-bar .wp-site-blocks > .wp-block-template-part:has(> .amx-top) { top: 46px; }
  .amx-foot .amx-foot__cols { gap: 24px; } /* las columnas del núcleo apilan por debajo de 782 px */
}
@media (max-width: 600px) {
  .admin-bar .wp-site-blocks > .wp-block-template-part:has(> .amx-top) { top: 0; } /* la barra de administración deja de ser fija */
}
@media (max-width: 599.98px) {
  /* Cabecera móvil: logo | «Calculadora» | «Menú». El núcleo solo muestra el botón «Menú» por debajo de 600 px
     (min-width:600px oculta .wp-block-navigation__responsive-container-open), así que el corte es este y no 640:
     entre 600 y 640 se ve la lista completa con la rejilla de escritorio. */
  :root { --amx-header-h: 62px; }
  .amx-top, .wp-block-group.amx-top { padding: 12px var(--amx-gutter); }
  .amx-top__in, .wp-block-group.amx-top__in { grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; }
  .amx-top__cta { order: 2; }
  .amx-top .amx-top__nav { order: 3; justify-self: end; }
  /* el logo cede ancho en vez de montarse sobre «Calculadora»: 26 px de alto y, si su columna es más estrecha, se encoge con ella */
  .amx-top__logo, .amx-top .amx-top__logo a { min-width: 0; max-width: 100%; }
  .amx-top .amx-top__logo img, .amx-top .wp-block-site-logo img { height: auto; max-height: 32px; width: auto; max-width: 100%; object-fit: contain; object-position: left center; }
}
@media (max-width: 640px) {
  :root { --amx-gutter: var(--wp--style--root--padding-left, 16px); }
  h1 { font-size: 2rem; }
  h2 { font-size: 1.5rem; }
  h3 { font-size: 1.25rem; }
  .amx-lede { font-size: 1rem; }

  .amx-main, .wp-block-group.amx-main { padding-top: 20px; }
  .amx-hero, .wp-block-group.amx-hero { margin-top: 20px; padding: 32px 20px; background-image: var(--amx-gradient-glow-mobile); }
  .amx-main > .amx-hero { margin-top: 0; }
  .amx-body, .wp-block-group.amx-body { margin: 28px 0 56px; }
  .amx-body > * + *, .wp-block-group.amx-body > * + * { margin-block-start: 32px; }
  .amx-body > h2, .wp-block-group.amx-body > h2 { margin-block-start: 44px; }
  .amx-body > h2 + *, .wp-block-group.amx-body > h2 + * { margin-block-start: 14px; }
  .amx-body > * + .amx-sec, .wp-block-group.amx-body > * + .amx-sec { margin-block-start: 44px; }
  .amx-body > .amx-sec + *, .wp-block-group.amx-body > .amx-sec + * { margin-block-start: 14px; }
  .amx-main > :last-child, .wp-block-group.amx-main > :last-child { margin-bottom: 56px; }
  .amx-body .wp-block-post-content > h2 { margin-block-start: 40px; }
  .amx-body .wp-block-post-content > h3 { margin-block-start: 28px; }

  .wp-block-table { border-radius: 16px; }
  .wp-block-table table { font-size: .875rem; }
  .wp-block-table table th, .wp-block-table table td { padding: 10px 14px; }
  .wp-block-details > summary { padding: 16px 62px 16px 18px; font-size: 1rem; }
  .wp-block-details > summary::after { right: 14px; top: 12px; }
  .wp-block-details > :not(summary) { padding: 0 18px 14px; }
  .wp-block-details > :last-child:not(summary) { padding-bottom: 18px; }

  .amx-autor, .wp-block-group.amx-autor { grid-template-columns: 48px minmax(0, 1fr); grid-template-rows: auto auto auto; gap: 2px 14px; padding: 16px 18px; }
  .amx-autor .wp-block-avatar { grid-row: 1 / span 2; }
  .amx-autor .wp-block-avatar img { width: 48px; height: 48px; }
  .amx-autor > .wp-block-post-date, .amx-autor > .amx-autor__fecha, .amx-autor > .amx-autor__meta { grid-column: 2; grid-row: 3; margin-top: 6px; white-space: normal; }

  .amx-news__grid, .wp-block-post-template.amx-news__grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }

  .amx-foot, .wp-block-group.amx-foot { padding: 40px var(--amx-gutter) 24px; }
  .amx-foot__bottom, .wp-block-group.amx-foot__bottom { flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 32px; }

  .amx-404, .wp-block-group.amx-404 { padding: 48px 20px; }
  .amx-main > .amx-404 { margin-bottom: 56px; }
  .amx-404__num { font-size: 4rem; }
  .amx-404 h1, .amx-404 h2 { font-size: 1.5rem; }
}
@media (max-width: 480px) {
  .amx-top .amx-top__cta .wp-block-button__link,
  .amx-top .amx-top__nav .wp-block-navigation__responsive-container-open { padding: 9px 12px; font-size: .8125rem; }
  .amx-hero, .wp-block-group.amx-hero { padding: 28px 16px; }
  .amx-hero__acts > .wp-block-button { width: 100%; }
  .amx-hero__acts .wp-block-button__link { width: 100%; }
  .wp-block-details > summary { padding-right: 58px; }
  .amx-news__card > :not(.wp-block-post-featured-image) { padding-left: 16px; padding-right: 16px; }
  .amx-autor .wp-block-post-author-biography { font-size: .875rem; }
  .amx-404 .wp-block-buttons > .wp-block-button, .amx-404 .wp-block-button__link { width: 100%; }
}

/* ── 14. Accesibilidad y movimiento ── */
@media (prefers-reduced-motion: reduce) {
  :root { --amx-dur: 0s; }
  html { scroll-behavior: auto; }
}

/* Portada sin tarjeta destacada (aún sin calificaciones): la columna lateral vacía no ocupa sitio */
.amx-hero--home .amx-hero__side:empty { display: none; }

/* ───────── Secciones editables de la portada (bloques del editor con className) ───────── */
.amx-cardgrid, .wp-block-group.amx-cardgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 16px 0 32px; }
.amx-cardgrid > * { margin: 0 !important; min-width: 0; box-sizing: border-box; padding: 20px; background: var(--amx-card); border: 1px solid var(--amx-line, #e6ebf5); border-radius: var(--amx-r-card); box-shadow: var(--amx-shadow-card); }
.amx-cardgrid h3 { margin: 0 0 8px; font-size: 20px; line-height: 1.25; }
.amx-cardgrid p { margin: 0 0 8px; font-size: 15px; line-height: 1.55; }
.amx-cardgrid p:last-child { margin-bottom: 0; }
.amx-cardgrid a { font-weight: 600; }
@media (max-width: 900px) { .amx-cardgrid, .wp-block-group.amx-cardgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .amx-cardgrid, .wp-block-group.amx-cardgrid { grid-template-columns: minmax(0, 1fr); } }

.amx-pasos { counter-reset: amxpaso; list-style: none; margin: 16px 0 24px; padding: 0; display: grid; gap: 12px; }
.amx-pasos > li { counter-increment: amxpaso; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 14px; align-items: center; margin: 0; }
.amx-pasos > li::before { content: counter(amxpaso); display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; background: var(--amx-card); border: 1px solid var(--amx-line, #e6ebf5); box-shadow: var(--amx-shadow-card); color: var(--amx-blue); font-family: var(--amx-font-display); font-weight: 800; font-size: 16px; line-height: 1; box-sizing: border-box; }

.amx-cierre, .wp-block-group.amx-cierre { margin: 48px 0 0; padding: 32px; background: var(--amx-gradient-glow), var(--amx-card); border: 1px solid var(--amx-line, #e6ebf5); border-radius: var(--amx-r-card); box-shadow: var(--amx-shadow-raised); }
.amx-cierre > h2 { margin-top: 0; }
@media (max-width: 640px) { .amx-cierre, .wp-block-group.amx-cierre { padding: 24px 20px; } }
