/*
 * Base SEO GEO — hoja principal.
 *
 * Regla: esta hoja NO define ningún token. Colores, tipografías, tamaños de letra, espaciados,
 * radios, sombras y tiempos vienen de theme.json como var(--wp--preset--*), var(--wp--custom--*)
 * y var(--wp--style--*). Cambiar un valor en theme.json cambia el front sin build. Los únicos
 * literales son dimensiones estructurales (1px, mínimos táctiles en rem/em, el breakpoint móvil
 * de 48rem). Sin @layer: el CSS de bloques del core se carga bajo demanda y esta hoja no
 * duplica lo que el core o theme.json ya imprimen (layout de columnas y botones, radios de
 * imagen, bordes de cita), solo lo que falta.
 *
 * Secciones: 1 base · 2 foco y enlaces · 3 estructura del sitio · 4 cabecera · 5 contenido ·
 * 6 tipografía del contenido · 7 alineaciones y layout de bloques · 8 bloques · 9 componentes ·
 * 10 formularios · 11 navegación entre páginas · 12 pie · 13 clases de WordPress · 14 medios y
 * accesibilidad · 15 impresión.
 */

/* 1 · Base ------------------------------------------------------------------------------- */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: var(--wp--custom--header--height);
  /* Los bloques alignfull miden 100vw; el ancho de la barra de scroll no debe crear scroll horizontal. */
  overflow-x: clip;
}

body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-wrap: break-word;
}

img,
picture,
video,
canvas,
svg,
iframe {
  display: block;
  max-width: 100%;
}

img,
video {
  height: auto;
}

hr {
  border: 0;
  border-top: var(--wp--custom--border--width) solid var(--wp--preset--color--border-light);
  margin-block: var(--wp--preset--spacing--50);
}

::selection {
  background: var(--wp--preset--color--gold);
  color: var(--wp--preset--color--navy);
}

/* 2 · Foco y enlaces ----------------------------------------------------------------------- */

:focus {
  outline: none;
}

/* Anillo de foco: marino sobre fondos claros (15,8:1 sobre blanco); blanco sobre marino (más abajo). */
:focus-visible {
  outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--navy);
  outline-offset: var(--wp--custom--focus--offset);
}

a {
  text-underline-offset: 0.15em;
  text-decoration-thickness: from-font;
  transition: color var(--wp--custom--motion--duration) var(--wp--custom--motion--easing);
}

/* Sobre fondos marinos (cabecera, pie, cover) los enlaces son dorados y el foco, blanco. */
.on-navy a,
.site-header a,
.site-footer a,
.has-navy-background-color a,
.has-navy-2-background-color a {
  color: var(--wp--preset--color--gold);
  text-decoration: none;
}

.on-navy a:hover,
.site-header a:hover,
.site-footer a:hover,
.has-navy-background-color a:hover,
.has-navy-2-background-color a:hover {
  color: var(--wp--preset--color--base);
  text-decoration: underline;
}

.on-navy :focus-visible,
.site-header :focus-visible,
.site-footer :focus-visible {
  outline-color: var(--wp--preset--color--base);
}

.skip-link {
  position: absolute;
  top: -100vh;
  left: var(--wp--preset--spacing--30);
  z-index: 1000;
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  background: var(--wp--preset--color--gold);
  color: var(--wp--preset--color--navy);
  font-weight: var(--wp--custom--font-weight--bold);
  border-radius: var(--wp--custom--radius--small);
  text-decoration: none;
}

.skip-link:focus {
  top: var(--wp--preset--spacing--30);
  outline-color: var(--wp--preset--color--navy);
}

/* 3 · Estructura del sitio ----------------------------------------------------------------- */

.site-header,
.site-footer {
  background: var(--wp--preset--color--navy);
  color: var(--wp--preset--color--on-navy);
}

.site-header__inner,
.site-footer__inner,
.site-main > .site-inner {
  width: 100%;
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
  padding-inline: var(--wp--style--root--padding-right, var(--wp--preset--spacing--40));
}

.site-main {
  flex: 1 0 auto;
  padding-block: var(--wp--preset--spacing--60);
}

/* 4 · Cabecera ------------------------------------------------------------------------------ */

.site-header__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  min-height: var(--wp--custom--header--height);
  padding-block: var(--wp--preset--spacing--20);
}

.site-branding {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--30);
  min-width: 0;
}

.site-branding .custom-logo-link {
  display: block;
  flex: none;
  line-height: 0;
}

.site-branding .custom-logo {
  width: var(--wp--custom--header--logo-size);
  height: var(--wp--custom--header--logo-size);
  border-radius: var(--wp--custom--radius--pill);
  object-fit: cover;
}

.site-title {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: var(--wp--preset--font-size--large);
  font-weight: var(--wp--custom--font-weight--semibold);
  line-height: var(--wp--custom--line-height--tight);
  letter-spacing: var(--wp--custom--letter-spacing--heading);
}

.site-title a {
  color: var(--wp--preset--color--base);
}

.site-title a:hover {
  color: var(--wp--preset--color--gold);
  text-decoration: none;
}

.site-description {
  margin: 0;
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--on-navy-muted);
}

.site-nav .menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--30);
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-nav .menu li {
  position: relative;
}

.site-nav .menu a {
  display: inline-block;
  padding: var(--wp--preset--spacing--20) 0;
  color: var(--wp--preset--color--on-navy);
  font-weight: var(--wp--custom--font-weight--bold);
  text-decoration: none;
  border-bottom: var(--wp--custom--border--width-thick) solid transparent;
  transition: border-color var(--wp--custom--motion--duration) var(--wp--custom--motion--easing),
    color var(--wp--custom--motion--duration) var(--wp--custom--motion--easing);
}

.site-nav .menu a:hover,
.site-nav .menu .current-menu-item > a,
.site-nav .menu .current_page_item > a,
.site-nav .menu .current-menu-ancestor > a {
  color: var(--wp--preset--color--gold);
  border-bottom-color: var(--wp--preset--color--gold);
  text-decoration: none;
}

.site-nav .sub-menu,
.site-nav .children {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-nav .menu > li > .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 20;
  min-width: 14rem;
  padding: var(--wp--preset--spacing--20);
  background: var(--wp--preset--color--navy-2);
  border: var(--wp--custom--border--width) solid var(--wp--preset--color--border-navy);
  border-radius: var(--wp--custom--radius--small);
  box-shadow: var(--wp--preset--shadow--medium);
  opacity: 0;
  visibility: hidden;
  transform: translateY(var(--wp--preset--spacing--10));
  transition: opacity var(--wp--custom--motion--duration) var(--wp--custom--motion--easing),
    transform var(--wp--custom--motion--duration) var(--wp--custom--motion--easing),
    visibility 0s linear var(--wp--custom--motion--duration);
}

.site-nav .menu > li:hover > .sub-menu,
.site-nav .menu > li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition-delay: 0s;
}

.site-nav .sub-menu a {
  display: block;
  padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
  border-bottom: 0;
  font-weight: var(--wp--custom--font-weight--regular);
}

/* 5 · Contenido ----------------------------------------------------------------------------- */

.site-inner > * + *,
.entry > * + * {
  margin-top: var(--wp--preset--spacing--50);
}

.entry-header {
  max-width: var(--wp--style--global--content-size);
  margin-inline: auto;
}

.entry-title {
  margin: 0 0 var(--wp--preset--spacing--30);
  text-wrap: balance;
}

.entry-title a {
  color: inherit;
  text-decoration: none;
}

.entry-title a:hover {
  color: var(--wp--preset--color--blue-dark);
  text-decoration: underline;
}

.entry-meta,
.byline {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--30);
  margin: 0;
  color: var(--wp--preset--color--contrast-2);
  font-size: var(--wp--preset--font-size--small);
}

.entry-meta a,
.byline a {
  color: inherit;
}

.entry-summary {
  max-width: var(--wp--style--global--content-size);
  margin-inline: auto;
}

/* El contenido ocupa todo el ancho disponible y son sus hijos los que se limitan a la medida de
   lectura, como el layout "constrained" del core: así alignwide y alignfull pueden ensancharse.
   :where() deja la regla con especificidad (0,1,0) para que .alignwide, .alignfull, .alignleft y
   .alignright (0,2,0) manden. */
.entry-content > :where(:not(.alignwide):not(.alignfull)) {
  max-width: var(--wp--style--global--content-size);
  margin-inline: auto;
}

.entry-content > * + *,
.entry-summary > * + * {
  margin-block-start: var(--wp--style--block-gap, var(--wp--preset--spacing--40));
}

.entry-content > :is(h2, h3, h4) {
  margin-block-start: var(--wp--preset--spacing--50);
}

.entry-content > :is(h2, h3, h4) + * {
  margin-block-start: var(--wp--preset--spacing--30);
}

.entry-content > :first-child {
  margin-block-start: 0;
}

.entry-content > :last-child {
  margin-block-end: 0;
}

.entry-footer {
  max-width: var(--wp--style--global--content-size);
  margin-inline: auto;
  padding-top: var(--wp--preset--spacing--40);
  border-top: var(--wp--custom--border--width) solid var(--wp--preset--color--border-light);
  color: var(--wp--preset--color--contrast-2);
  font-size: var(--wp--preset--font-size--small);
}

.post-thumbnail {
  margin: 0;
}

.post-thumbnail img,
.wp-post-image {
  width: 100%;
  aspect-ratio: var(--wp--custom--media--aspect-wide);
  object-fit: cover;
  border-radius: var(--wp--custom--radius--large);
}

/* 6 · Tipografía del contenido ------------------------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  overflow-wrap: anywhere;
  hyphens: manual;
}

p {
  margin: 0;
}

.lead,
.entry-content .lead {
  font-size: var(--wp--preset--font-size--large);
  line-height: var(--wp--custom--line-height--snug);
  color: var(--wp--preset--color--contrast-2);
}

ul,
ol {
  margin: 0;
  padding-left: var(--wp--preset--spacing--40);
}

li + li {
  margin-top: var(--wp--preset--spacing--10);
}

li > ul,
li > ol {
  margin-top: var(--wp--preset--spacing--10);
}

ul:not([class]) > li::marker {
  color: var(--wp--preset--color--gold-dark);
}

ol:not([class]) > li::marker {
  color: var(--wp--preset--color--contrast-2);
  font-weight: var(--wp--custom--font-weight--bold);
}

dl {
  margin: 0;
}

dt {
  font-weight: var(--wp--custom--font-weight--bold);
}

dd {
  margin: 0 0 var(--wp--preset--spacing--20);
}

b,
strong {
  font-weight: var(--wp--custom--font-weight--bold);
}

small {
  font-size: var(--wp--preset--font-size--small);
}

abbr[title] {
  text-decoration: underline dotted;
  text-underline-offset: 0.15em;
}

mark {
  background: var(--wp--preset--color--gold);
  color: var(--wp--preset--color--navy);
  padding-inline: 0.15em;
  border-radius: var(--wp--custom--radius--small);
}

code,
kbd,
samp {
  font-family: var(--wp--preset--font-family--mono);
  font-size: var(--wp--preset--font-size--small);
}

:not(pre) > code {
  padding: 0.1em 0.35em;
  background: var(--wp--preset--color--base-2);
  border: var(--wp--custom--border--width) solid var(--wp--preset--color--border-light);
  border-radius: var(--wp--custom--radius--small);
}

pre {
  margin: 0;
  overflow-x: auto;
  white-space: pre;
}

blockquote {
  margin: 0;
}

figure {
  margin: 0;
}

figcaption {
  margin-top: var(--wp--preset--spacing--20);
  color: var(--wp--preset--color--contrast-2);
  font-size: var(--wp--preset--font-size--small);
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

th,
td {
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  border: var(--wp--custom--border--width) solid var(--wp--preset--color--border-light);
  text-align: left;
  vertical-align: top;
}

th {
  background: var(--wp--preset--color--base-2);
  font-weight: var(--wp--custom--font-weight--bold);
}

.entry-content > .wp-block-table,
.table-scroll {
  overflow-x: auto;
}

/* 7 · Alineaciones (tema clásico: el contenedor no es un bloque) ---------------------------- */

.entry-content > .alignwide {
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
}

/* A todo el ancho del viewport, también por encima del padding raíz (html tiene overflow-x: clip). */
.entry-content > .alignfull {
  max-width: none;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}

/* Flotantes: caben en media columna de lectura y se alinean con el borde de esa columna. */
.entry-content .alignleft {
  float: left;
  margin: var(--wp--preset--spacing--10) var(--wp--preset--spacing--40) var(--wp--preset--spacing--30) 0;
}

.entry-content .alignright {
  float: right;
  margin: var(--wp--preset--spacing--10) 0 var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}

.entry-content > .alignleft,
.entry-content > .alignright {
  max-width: calc(var(--wp--style--global--content-size) / 2);
}

.entry-content > .alignleft {
  margin-left: max(0px, calc(50% - var(--wp--style--global--content-size) / 2));
}

.entry-content > .alignright {
  margin-right: max(0px, calc(50% - var(--wp--style--global--content-size) / 2));
}

/* Sin display: block. El core centra la figura de imagen con display: table + margin auto. */
.entry-content .aligncenter {
  clear: both;
  margin-inline: auto;
  text-align: center;
}

.entry-content > img.aligncenter {
  display: block;
}

.entry-content::after {
  content: "";
  display: table;
  clear: both;
}

/* 8 · Bloques (el layout de botones y columnas lo imprime el core; aquí solo lo que falta) ----- */

.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--wp--preset--spacing--20);
  min-height: 3.25em;
  cursor: pointer;
  transition: background-color var(--wp--custom--motion--duration) var(--wp--custom--motion--easing),
    color var(--wp--custom--motion--duration) var(--wp--custom--motion--easing),
    transform var(--wp--custom--motion--duration) var(--wp--custom--motion--easing);
}

.wp-block-button__link:hover {
  transform: translateY(-1px);
}

.wp-block-button__link:active {
  transform: none;
}

.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button__link.is-style-outline {
  background: transparent;
  color: var(--wp--preset--color--red);
  /* Mismo padding que el botón sólido de theme.json: la variación de estilo del core lo pisa con el suyo. */
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
  border: var(--wp--custom--border--width-thick) solid currentColor;
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button__link.is-style-outline:hover {
  background: var(--wp--preset--color--red);
  color: var(--wp--preset--color--base);
}

.on-navy .wp-block-button__link,
.has-navy-background-color .wp-block-button__link {
  background: var(--wp--preset--color--gold);
  color: var(--wp--preset--color--navy);
}

.on-navy .wp-block-button__link:hover,
.has-navy-background-color .wp-block-button__link:hover {
  background: var(--wp--preset--color--base);
  color: var(--wp--preset--color--navy);
}

/* Botón de contorno sobre marino: dorado, y relleno dorado al pasar (el rojo no contrasta con el marino). */
.on-navy .wp-block-button.is-style-outline > .wp-block-button__link,
.has-navy-background-color .wp-block-button.is-style-outline > .wp-block-button__link {
  background: transparent;
  color: var(--wp--preset--color--gold);
}

.on-navy .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.has-navy-background-color .wp-block-button.is-style-outline > .wp-block-button__link:hover {
  background: var(--wp--preset--color--gold);
  color: var(--wp--preset--color--navy);
}

.wp-block-quote cite,
.wp-block-pullquote cite {
  display: block;
  margin-top: var(--wp--preset--spacing--20);
  font-family: var(--wp--preset--font-family--body);
  font-style: normal;
}

.wp-block-pullquote {
  text-align: center;
  padding-inline: 0;
}

.wp-block-pullquote blockquote {
  margin: 0;
}

.wp-block-table figcaption {
  text-align: center;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background: var(--wp--preset--color--base-2);
}

.wp-block-image.is-style-rounded img {
  border-radius: var(--wp--custom--radius--pill);
}

.wp-block-cover,
.wp-block-group.has-background {
  padding: var(--wp--preset--spacing--50);
  border-radius: var(--wp--custom--radius--large);
}

.wp-block-group.has-background > * + * {
  margin-block-start: var(--wp--preset--spacing--30);
}

.wp-block-column > * + * {
  margin-block-start: var(--wp--preset--spacing--30);
}

.wp-block-details summary {
  cursor: pointer;
  font-weight: var(--wp--custom--font-weight--bold);
  list-style-position: outside;
}

.wp-block-details[open] summary {
  margin-bottom: var(--wp--preset--spacing--20);
}

.wp-block-details > * + * {
  margin-block-start: var(--wp--preset--spacing--20);
}

/* El core dibuja la línea (border-top) y el ancho por estilo; solo se quita su transparencia. */
.wp-block-separator {
  opacity: 1;
}

.wp-block-embed iframe {
  width: 100%;
}

.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper {
  position: relative;
  aspect-ratio: var(--wp--custom--media--aspect-wide);
}

.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper iframe {
  position: absolute;
  inset: 0;
  height: 100%;
}

/* Fachada de vídeos de terceros (el mu-plugin no carga YouTube ni Vimeo hasta que se pulsa). */
.nca-embed {
  display: grid;
  gap: var(--wp--preset--spacing--20);
  place-content: center;
  aspect-ratio: var(--wp--custom--media--aspect-wide);
  margin: 0;
  padding: var(--wp--preset--spacing--40);
  text-align: center;
  color: var(--wp--preset--color--base);
  background: var(--wp--preset--color--navy);
  border-radius: var(--wp--custom--radius--large);
}

.nca-embed p {
  margin: 0;
}

.nca-embed.is-playing {
  display: block;
  padding: 0;
}

.nca-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.wp-block-list.is-style-checkmarks {
  list-style: none;
  padding-left: 0;
}

.wp-block-list.is-style-checkmarks li {
  padding-left: var(--wp--preset--spacing--40);
  position: relative;
}

.wp-block-list.is-style-checkmarks li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--wp--preset--color--green-dark);
  font-weight: var(--wp--custom--font-weight--bold);
}

.wp-block-heading.has-eyebrow {
  font-family: var(--wp--preset--font-family--body);
  font-size: var(--wp--preset--font-size--small);
  font-weight: var(--wp--custom--font-weight--bold);
  letter-spacing: var(--wp--custom--letter-spacing--eyebrow);
  text-transform: uppercase;
  color: var(--wp--preset--color--gold-dark);
}

/* 9 · Componentes de marca ------------------------------------------------------------------ */

.eyebrow {
  display: block;
  margin-bottom: var(--wp--preset--spacing--20);
  font-family: var(--wp--preset--font-family--body);
  font-size: var(--wp--preset--font-size--small);
  font-weight: var(--wp--custom--font-weight--bold);
  letter-spacing: var(--wp--custom--letter-spacing--eyebrow);
  text-transform: uppercase;
  color: var(--wp--preset--color--gold-dark);
}

.on-navy .eyebrow,
.has-navy-background-color .eyebrow {
  color: var(--wp--preset--color--gold);
}

.card {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--20);
  padding: var(--wp--preset--spacing--40);
  background: var(--wp--preset--color--base);
  color: var(--wp--preset--color--contrast);
  border: var(--wp--custom--border--width) solid var(--wp--preset--color--border-light);
  border-radius: var(--wp--custom--radius--large);
  transition: transform var(--wp--custom--motion--duration) var(--wp--custom--motion--easing),
    box-shadow var(--wp--custom--motion--duration) var(--wp--custom--motion--easing);
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: var(--wp--preset--shadow--medium);
}

.card > :is(h2, h3, h4) {
  font-size: var(--wp--preset--font-size--large);
}

.card p {
  color: var(--wp--preset--color--contrast-2);
}

.card--navy,
.on-navy {
  background: var(--wp--preset--color--navy);
  color: var(--wp--preset--color--on-navy);
}

.on-navy :is(h1, h2, h3, h4, h5, h6),
.card--navy :is(h2, h3, h4) {
  color: var(--wp--preset--color--base);
}

.author-box,
.related-posts,
.post-navigation {
  max-width: var(--wp--style--global--content-size);
  margin-inline: auto;
}

.author-box {
  padding: var(--wp--preset--spacing--40);
  background: var(--wp--preset--color--base-2);
  border: var(--wp--custom--border--width) solid var(--wp--preset--color--border-light);
  border-radius: var(--wp--custom--radius--large);
}

.author-box__body > * + *,
.author-box__bio > * + * {
  margin-block-start: var(--wp--preset--spacing--20);
}

.author-box__name {
  font-size: var(--wp--preset--font-size--large);
}

.author-box__note {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--contrast-2);
}

.sources {
  max-width: var(--wp--style--global--content-size);
  margin-inline: auto;
}

.sources ol {
  font-size: var(--wp--preset--font-size--small);
}

.related-posts__list {
  padding: 0;
  list-style: none;
}

.related-posts__list > li + li {
  margin-top: 0;
}

/* Patrones de marca (patterns/). El core imprime el layout de los grupos "constrained": padding
   lateral raíz (.has-global-padding) y márgenes negativos de sus hijos alignfull; aquí solo lo que
   falta. Una banda a todo el ancho no lleva esquinas redondeadas y usa el padding lateral raíz. */
.wp-block-group.alignfull.has-background {
  padding-inline: var(--wp--style--root--padding-left) var(--wp--style--root--padding-right);
  border-radius: 0;
}

/* Una sección suelta dentro de la columna de lectura no repite el padding lateral raíz. */
.entry-content > .has-global-padding:not(.alignfull) {
  padding-inline: 0;
}

.on-navy .lead,
.has-navy-background-color .lead {
  color: var(--wp--preset--color--on-navy-muted);
}

.nca-hero .wp-block-heading,
.nca-cta .wp-block-heading {
  text-wrap: balance;
}

/* La tarjeta reparte con gap; los márgenes de flujo del core no se suman. */
.card > * {
  margin-block: 0;
}

.nca-faq .wp-block-details {
  background: var(--wp--preset--color--base);
}

.nca-autor .wp-block-image img {
  aspect-ratio: var(--wp--custom--media--aspect-square);
  object-fit: cover;
}

/* 10 · Formularios (búsqueda; los de captación esperan al doble opt-in) --------------------- */

input,
button,
select,
textarea {
  font: inherit;
  color: inherit;
}

.search-form {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--20);
}

.search-form label {
  flex: 1 1 12rem;
}

.search-field,
input[type="search"],
input[type="text"],
input[type="email"],
input[type="url"],
textarea {
  width: 100%;
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  background: var(--wp--preset--color--base);
  border: var(--wp--custom--border--width) solid var(--wp--preset--color--border-light);
  border-radius: var(--wp--custom--radius--small);
}

.search-field:focus-visible,
input:focus-visible,
textarea:focus-visible {
  border-color: var(--wp--preset--color--blue-dark);
}

.search-submit,
button,
input[type="submit"] {
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
  background: var(--wp--preset--color--navy);
  color: var(--wp--preset--color--base);
  font-weight: var(--wp--custom--font-weight--bold);
  border: 0;
  border-radius: var(--wp--custom--radius--medium);
  cursor: pointer;
  transition: background-color var(--wp--custom--motion--duration) var(--wp--custom--motion--easing);
}

.search-submit:hover,
button:hover,
input[type="submit"]:hover {
  background: var(--wp--preset--color--navy-2);
}

/* 11 · Navegación entre páginas ------------------------------------------------------------- */

.pagination,
.navigation {
  max-width: var(--wp--style--global--content-size);
  margin-inline: auto;
}

.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--wp--preset--spacing--10);
}

.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding-inline: var(--wp--preset--spacing--20);
  border: var(--wp--custom--border--width) solid var(--wp--preset--color--border-light);
  border-radius: var(--wp--custom--radius--small);
  text-decoration: none;
}

.pagination .page-numbers.current {
  background: var(--wp--preset--color--navy);
  color: var(--wp--preset--color--base);
  border-color: var(--wp--preset--color--navy);
}

.pagination a.page-numbers:hover {
  border-color: var(--wp--preset--color--blue-dark);
}

.post-navigation .nav-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--wp--preset--spacing--30);
}

.post-navigation .nav-next {
  text-align: right;
}

.page-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--10);
  align-items: center;
}

.page-links .post-page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  min-height: 2.25rem;
  border: var(--wp--custom--border--width) solid var(--wp--preset--color--border-light);
  border-radius: var(--wp--custom--radius--small);
  text-decoration: none;
}

.page-links .post-page-numbers.current {
  background: var(--wp--preset--color--navy);
  color: var(--wp--preset--color--base);
  border-color: var(--wp--preset--color--navy);
}

.breadcrumbs {
  max-width: var(--wp--style--global--content-size);
  margin-inline: auto;
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--contrast-2);
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--10);
  padding: 0;
  list-style: none;
}

.breadcrumbs li + li::before {
  content: "›";
  margin-right: var(--wp--preset--spacing--10);
  color: var(--wp--preset--color--border-light);
}

.breadcrumbs li + li {
  margin-top: 0;
}

/* 12 · Pie ----------------------------------------------------------------------------------- */

.site-footer {
  margin-top: auto;
  padding-block: var(--wp--preset--spacing--50);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--on-navy-muted);
}

.site-footer__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
}

.footer-nav .menu {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--30);
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-nav .menu li + li {
  margin-top: 0;
}

.site-info {
  margin: 0;
}

.site-info a {
  color: var(--wp--preset--color--on-navy);
}

/* 13 · Clases de WordPress ----------------------------------------------------------------- */

.sticky {
  border-left: var(--wp--custom--border--width-thick) solid var(--wp--preset--color--gold);
  padding-left: var(--wp--preset--spacing--30);
}

.bypostauthor > .comment-body {
  border-left: var(--wp--custom--border--width-thick) solid var(--wp--preset--color--gold);
}

.wp-caption {
  max-width: 100%;
  margin: 0;
}

.wp-caption img {
  border-radius: var(--wp--custom--radius--medium);
}

.wp-caption-text,
.gallery-caption {
  margin-top: var(--wp--preset--spacing--20);
  color: var(--wp--preset--color--contrast-2);
  font-size: var(--wp--preset--font-size--small);
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  border: 0;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  position: static !important;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
  clip-path: none;
}

/* 14 · Medios y accesibilidad --------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  .card:hover,
  .wp-block-button__link:hover {
    transform: none;
  }
}

@media (max-width: 48rem) {
  .site-main {
    padding-block: var(--wp--preset--spacing--50);
  }

  .site-header__inner {
    min-height: 0;
  }

  .site-nav .menu > li > .sub-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: 0;
    padding: 0 0 0 var(--wp--preset--spacing--30);
    background: transparent;
  }

  .post-navigation .nav-links {
    grid-template-columns: 1fr;
  }

  .post-navigation .nav-next {
    text-align: left;
  }

  .author-box {
    grid-template-columns: 1fr;
  }

  .entry-content > .alignleft,
  .entry-content > .alignright {
    float: none;
    max-width: 100%;
    margin-inline: auto;
  }
}

/* 15 · Impresión ---------------------------------------------------------------------------- */

@media print {
  .site-header,
  .site-footer,
  .skip-link,
  .wp-block-buttons,
  .pagination,
  .post-navigation {
    display: none !important;
  }

  .site-main {
    padding: 0;
  }

  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: var(--wp--preset--font-size--small);
    color: var(--wp--preset--color--contrast-2);
  }
}
