/* Voz propia · editorial refinement. Loaded after the parent and release styles. */
:root {
  --vp-paper: #FFF9F7;
  --vp-white: #FFFFFF;
  --vp-ink: #30252D;
  --vp-muted: #67555F;
  --vp-plum: #923D63;
  --vp-plum-dark: #752747;
  --vp-jade: #593650;
  --vp-line: #E1CDD6;
  --vp-width: 1240px;
  --vp-reading: 700px;
}
body { background: var(--vp-paper); color: var(--vp-ink); }
:where(.voz-header, .voz-page, .voz-single, .voz-hub, .vp-home) :where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid var(--vp-plum-dark);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--vp-paper);
}
:where(.voz-page, .voz-single, .voz-hub, .vp-home) a { text-underline-offset: .2em; }
:where(.voz-page, .voz-single, .voz-hub, .vp-home) :where(button, .wp-block-button__link) { min-height: 44px; box-sizing: border-box; }

/* Header: a readable name, a quiet utility row, and a real menu on small screens. */
.voz-header, .vp-header { background: var(--vp-paper); border-bottom: 1px solid var(--vp-line); }
.vp-header { position: relative; z-index: 20; }
.vp-header .alignwide, .voz-header .alignwide { max-width: var(--vp-width); }
.vp-header .wp-block-site-title,
.vp-header__brand, .vp-brand, .voz-header .wp-block-site-title {
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(1.4rem, 1.15rem + .8vw, 1.9rem);
  font-weight: 550;
  line-height: 1.02;
  letter-spacing: -.035em;
  color: var(--vp-plum-dark);
}
.vp-header .wp-block-site-title a, .vp-header__brand a, .vp-brand a,
.voz-header .wp-block-site-title a { color: inherit; text-decoration: none; }
.vp-brand { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .08rem; width: max-content; min-width: 0; line-height: 1; text-align: center; text-decoration: none; }
.vp-brand__title { display: block; font-size: 1.75rem; font-weight: 560; line-height: .98; }
.vp-brand__sub { display: block; font-size: 1.02rem; font-weight: 500; line-height: 1.1; letter-spacing: .005em; }
.voz-header .vp-brand { color: var(--vp-plum-dark); }
.voz-header .vp-brand:hover { color: var(--vp-plum); }
.voz-footer .vp-brand { align-items: flex-start; color: #FFF9F7; text-align: left; }
.voz-footer .vp-brand:hover { color: #F2CCD8; }
.voz-footer .vp-brand__title { font-size: 2rem; }
.voz-footer .vp-brand__sub { font-size: 1.16rem; }
.voz-masthead__actions { align-items: center; gap: .5rem !important; }
.voz-masthead__saved { margin: 0; }
.voz-masthead__saved a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--vp-muted); border-radius: 8px; color: var(--vp-plum-dark); background: var(--vp-white); }
.voz-masthead__saved svg { width: 19px; height: 19px; }
.vp-header :where(.wp-block-navigation, .voz-topics) { color: var(--vp-ink); }
.vp-header .wp-block-navigation-item__content,
.voz-header .wp-block-navigation-item__content { font-size: .875rem; font-weight: 650; letter-spacing: .005em; }
.vp-header .wp-block-navigation-item__content:hover,
.vp-header .current-menu-item > .wp-block-navigation-item__content { color: var(--vp-plum); }
.vp-header .wp-block-navigation__responsive-container-open,
.vp-header .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
.vp-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--vp-paper); color: var(--vp-ink); padding: 1.5rem; }
.vp-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: .2rem; }
.vp-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display: block; font-size: 1.05rem; padding: .7rem 0; }
.voz-topics .wp-block-navigation__responsive-container-open,
.voz-topics .wp-block-navigation__responsive-container-close { align-items: center; justify-content: center; min-width: 44px; min-height: 44px; color: var(--vp-plum-dark); }
.voz-topics .wp-block-navigation__responsive-container.is-menu-open { background: var(--vp-paper); color: var(--vp-ink); padding: 1.5rem; }
.voz-topics .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { display: flex; flex-direction: column; align-items: stretch; gap: .15rem !important; }
.voz-topics .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display: block; min-height: 44px; padding: .65rem .25rem; font-size: 1.05rem; border: 0; background: transparent; }
.vp-header .wp-block-search__input,
.voz-header .wp-block-search__input { background: var(--vp-white); border: 1px solid var(--vp-muted); border-radius: 8px; min-height: 44px; }
.vp-header .wp-block-search__button,
.voz-header .wp-block-search__button { min-width: 44px; min-height: 44px; }
.voz-masthead__start .voz-dot { background: var(--vp-jade); }
.voz-topics .wp-block-navigation__container { flex-wrap: wrap; justify-content: center; gap: .35rem clamp(.65rem, 1.3vw, 1.25rem) !important; }
.voz-topics .wp-block-navigation-item__content { color: var(--vp-ink); }
.voz-topics .wp-block-navigation-item__content:hover { color: var(--vp-plum); }

/* Shared editorial components. */
.voz-kicker, .vp-kicker { color: var(--vp-plum); font-family: Figtree, system-ui, sans-serif; font-size: .73rem; font-weight: 750; letter-spacing: .12em; line-height: 1.4; text-transform: uppercase; }
.voz-section-head { border-bottom: 1px solid var(--vp-line); padding-bottom: 1rem; }
.voz-section-head h2, .vp-section-head h2 { letter-spacing: -.025em; }
.voz-card { gap: .65rem; }
.voz-card .wp-block-post-featured-image, .voz-card .wp-block-post-featured-image img { border-radius: 8px; }
.voz-card .wp-block-post-title { font-size: clamp(1.25rem, 1.07rem + .55vw, 1.6rem); line-height: 1.22; }
.voz-card .wp-block-post-excerpt { color: var(--vp-muted); }
.voz-card .wp-block-post-terms a { text-decoration: none; }
.voz-card .wp-block-post-date { font-size: .8rem; }
.voz-grid .wp-block-post-template { gap: clamp(1.65rem, 3.2vw, 2.75rem) clamp(1rem, 2.4vw, 2rem); }

/* Reader-first home. Direct-child selectors work with either native Groups or Columns. */
.vp-home { overflow: clip; }
.vp-home > * + * { margin-block-start: clamp(3.75rem, 7vw, 6.5rem) !important; }
.vp-home .alignwide { max-width: var(--vp-width); }
.vp-home h1, .vp-home h2, .vp-home h3 { color: var(--vp-ink); }
.vp-home h2 { font-size: clamp(2rem, 1.45rem + 1.75vw, 3rem); line-height: 1.13; letter-spacing: -.028em; }
.vp-home p { line-height: 1.62; }
.vp-hero { display: grid !important; grid-template-columns: minmax(0, .48fr) minmax(0, .52fr); align-items: center; gap: clamp(2rem, 4.8vw, 5rem) !important; }
.vp-hero__copy { max-width: 560px; }
.vp-hero__copy > * + * { margin-block-start: 1.25rem; }
.vp-hero h1 { font-size: clamp(3rem, 3.05vw + 1.15rem, 4rem); line-height: 1.04; letter-spacing: -.042em; font-weight: 520; max-width: 100%; margin: .55rem 0 1.25rem; }
.vp-hero__copy > p:not(.vp-kicker) { max-width: 52ch; color: var(--vp-muted); font-size: clamp(1.1rem, 1rem + .36vw, 1.3rem); line-height: 1.55; }
.vp-hero h1 em { color: var(--vp-plum); font-weight: 520; }
.vp-hero__copy > p.vp-hero__note { color: var(--vp-muted); font-size: .8rem; letter-spacing: .025em; }
.vp-hero .wp-block-buttons { gap: .75rem; margin-top: 1.75rem; }
.vp-hero .wp-block-button__link { border-radius: 8px; font-weight: 700; padding: .85rem 1.3rem; }
.vp-hero .is-style-outline .wp-block-button__link { color: var(--vp-plum-dark); border-color: var(--vp-plum); background: transparent; }
.vp-hero__image { margin: 0; min-width: 0; }
.vp-hero__image :where(img, picture) { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; }
.vp-hero__image figcaption { color: var(--vp-muted); font-size: .75rem; line-height: 1.4; margin-top: .5rem; }

.vp-section-head { display: block; margin-bottom: 1.65rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--vp-line); }
.vp-section-head .vp-kicker { margin: 0 0 .4rem; }
.vp-section-head h2 { margin: 0; }
.vp-section-head p:not(.vp-kicker) { max-width: 64ch; margin: .65rem 0 0; color: var(--vp-muted); }
.vp-section-head a { color: var(--vp-plum-dark); font-weight: 700; }

.vp-paths { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem !important; }
.vp-paths > * { min-width: 0; margin: 0 !important; }
.vp-path { display: flex; flex-direction: column; min-height: 230px; box-sizing: border-box; padding: clamp(1.3rem, 2vw, 1.9rem); border: 1px solid var(--vp-line); border-radius: 10px; background: var(--vp-white); transition: border-color .18s ease, background-color .18s ease, transform .18s ease; }
.vp-path:hover, .vp-path:focus-within { border-color: var(--vp-plum); background: #FFF9F7; transform: translateY(-2px); }
.vp-path .vp-path__number { margin: 0 0 1.2rem; color: var(--vp-jade); font-family: Figtree, system-ui, sans-serif; font-size: .78rem; font-weight: 750; letter-spacing: .1em; }
.vp-path h3 { margin: 0; font-size: clamp(1.35rem, 1.15rem + .5vw, 1.65rem); font-weight: 550; line-height: 1.2; }
.vp-path h3 a { display: inline-block; min-height: 44px; color: var(--vp-plum-dark); text-decoration: none; }
.vp-path h3 a:hover { text-decoration: underline; }
.vp-path h3 span { font-family: Figtree, system-ui, sans-serif; font-size: .8em; font-weight: 500; }
.vp-path > p:not(.vp-path__number) { margin: .7rem 0 0; color: var(--vp-muted); font-size: .95rem; line-height: 1.5; }
.vp-path > .vp-path__note { margin-top: auto !important; padding-top: 1.2rem; color: var(--vp-jade) !important; font-size: .79rem !important; font-weight: 700; letter-spacing: .015em; }

.vp-picks { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 2.5vw, 2.25rem) !important; }
.vp-pick { display: flex; flex-direction: column; min-width: 0; }
.vp-pick .wp-block-image { margin: 0 0 1rem; }
.vp-pick .wp-block-image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; }
.vp-pick .vp-kicker { margin: 0 0 .45rem; }
.vp-pick h3 { margin: 0; font-size: clamp(1.35rem, 1.05rem + .85vw, 1.8rem); line-height: 1.18; }
.vp-pick h3 a { display: inline-block; min-height: 44px; color: var(--vp-ink); text-decoration: none; }
.vp-pick h3 a:hover { color: var(--vp-plum); text-decoration: underline; }
.vp-pick > p:not(.vp-kicker) { margin: .55rem 0 0; color: var(--vp-muted); font-size: .95rem; }
.vp-pick > .vp-more { margin-top: auto !important; padding-top: 1rem; font-weight: 700; }
.vp-pick > .vp-more a { color: var(--vp-plum-dark); }
.vp-image-note { color: var(--vp-muted); font-size: .78rem; margin-top: 1rem; }

.vp-cafecito { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, .92fr); align-items: stretch; gap: 0 !important; overflow: hidden; border-radius: 10px; background: #DCE8DF; }
.vp-cafecito__copy { align-self: center; padding: clamp(2rem, 5vw, 4.5rem) !important; }
.vp-cafecito__copy h2 { max-width: 100%; }
.vp-cafecito__copy p { max-width: 50ch; }
.vp-cafecito__copy a { color: var(--vp-plum-dark); font-weight: 700; }
.vp-cafecito__image { display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.vp-cafecito__image .wp-block-image { display: block; width: 100%; margin: 0; }
.vp-cafecito__image img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; border-radius: 0; }
.vp-cafecito__image figcaption { margin: .6rem 1rem 1rem; color: var(--vp-muted); font-size: .75rem; line-height: 1.4; }

.vp-stage { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.2rem, 3vw, 3rem) !important; padding-block: clamp(2.5rem, 5vw, 4.5rem) !important; border-top: 1px solid var(--vp-line); border-bottom: 1px solid var(--vp-line); }
.vp-stage__item { min-width: 0; padding-top: 1.05rem; border-top: 2px solid var(--vp-jade); }
.vp-stage__item .vp-kicker { color: var(--vp-jade); }
.vp-stage__item ul { padding-left: 1.2rem; }
.vp-stage__item li + li { margin-top: .45rem; }
.vp-stage h3 { font-size: 1.5rem; line-height: 1.22; }
.vp-stage a { color: var(--vp-plum-dark); font-weight: 700; }
.vp-library .wp-block-post-template { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem) clamp(1rem, 2vw, 2rem); }
.vp-library .wp-block-post-template > li { min-width: 0; }
.vp-about { padding: clamp(2rem, 5vw, 4.5rem) !important; border-radius: 10px; background: var(--vp-plum-dark); color: #FFF9F7; }
.vp-home .vp-about :where(h2, h3, p, .vp-kicker) { color: #FFF9F7; }
.vp-about p { max-width: 67ch; }
.vp-about a { color: #FFF9F7; text-decoration-thickness: 1px; }
.vp-about .wp-block-button__link { background: #FFF9F7; color: var(--vp-plum-dark); }
.vp-about .vp-about__support { margin-top: 1.8rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.28); font-size: .9rem; }

/* Hubs, articles, pages and footer share the quieter visual language. */
.voz-hub-head { background: #F6EDDF; border-bottom-color: var(--vp-line); }
.voz-hub-head .wp-block-query-title { color: var(--vp-ink); font-size: clamp(2.3rem, 1.5rem + 3vw, 4.2rem); letter-spacing: -.035em; }
.voz-hub-head .wp-block-term-description { color: var(--vp-muted); max-width: 65ch; }
.voz-hub-grid .wp-block-post-template > li:first-child .voz-card { column-gap: clamp(1.5rem, 3vw, 3rem); }
.voz-pagination { border-top-color: var(--vp-line); }

.voz-article-head { padding-top: clamp(2rem, 4.5vw, 4rem) !important; }
.voz-article-head .wp-block-post-title { max-width: 22ch; font-size: clamp(2.45rem, 1.45rem + 3vw, 4rem); letter-spacing: -.035em; line-height: 1.09; }
.voz-article-head .wp-block-breadcrumbs { color: var(--vp-muted); font-size: .8rem; }
.voz-dek.wp-block-post-excerpt { color: var(--vp-muted); max-width: 62ch; }
.voz-byline { border-top-color: var(--vp-line); color: var(--vp-muted); }
.voz-article-image { max-width: 1120px; }
.voz-article-image img { border-radius: 8px; }
.voz-article-body { max-width: var(--vp-reading); margin-inline: auto; color: var(--vp-ink); font-size: clamp(1.07rem, 1.01rem + .2vw, 1.18rem); line-height: 1.76; }
.voz-article-body :where(p, ul, ol) { max-width: 68ch; }
.voz-article-body p + p { margin-top: 1.25em; }
.voz-article-body h2 { margin-top: 2.7em; font-size: clamp(1.75rem, 1.4rem + 1.1vw, 2.2rem); line-height: 1.2; }
.voz-article-body h3 { margin-top: 2.1em; font-size: clamp(1.3rem, 1.15rem + .5vw, 1.55rem); line-height: 1.3; }
.voz-article-body a { color: var(--vp-plum-dark); }
.voz-article-body :where(img, figure img) { border-radius: 8px; }
.is-style-voz-entradilla::first-letter { color: var(--vp-plum); }
.is-style-voz-paso { background: #F6EDDF; border-left: 4px solid #923D63; }
.is-style-voz-reflexion { background: #F8E8EE; }
.is-style-voz-reflexion h3::before { content: none; }
.is-style-voz-nota { background: #DCE8DF; border-color: #593650; }
.is-style-voz-fuentes { background: var(--vp-white); border-color: var(--vp-line); }
.wp-block-quote.is-style-voz-destacada p { color: var(--vp-plum); }
.wp-block-quote.is-style-voz-destacada::before { color: #923D63; }
.voz-about-box { border-color: var(--vp-line); background: var(--vp-white); }
.voz-related { border-top: 1px solid var(--vp-line); }
.voz-page-head .wp-block-post-title { letter-spacing: -.035em; }
.voz-page .wp-block-post-content { line-height: 1.7; }
.voz-page .wp-block-post-content > :where(p, ul, ol) { max-width: var(--vp-reading); }
.voz-page .wp-block-post-content a { color: var(--vp-plum-dark); }
.voz-footer { background: #593650; color: #FFF9F7; }
.voz-footer a { color: #FFF9F7; }
.voz-footer a:hover { color: #F2CCD8; }
.voz-footer h2 { color: #FFF9F7; }
.voz-footer__legal { color: #F8E8EE; border-top-color: rgba(255,255,255,.24); }
.voz-footer .wp-block-navigation__container { row-gap: .8rem !important; }
.voz-footer .wp-block-navigation-item__content { min-height: 40px; display: inline-flex; align-items: center; }

@media (max-width: 1200px) {
  .vp-paths { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .voz-topics .wp-block-navigation__container { overflow-x: visible; flex-wrap: wrap; scroll-snap-type: none; padding: .65rem 0; margin: 0; }
  .voz-topics .wp-block-navigation-item__content { border: 0; background: transparent; padding: .3rem .5rem; }
}
@media (max-width: 781px) {
  .vp-hero { grid-template-columns: 1fr; }
  .vp-hero__copy { max-width: 680px; }
  .vp-hero__image :where(img, picture) { aspect-ratio: 4 / 3; }
  .vp-cafecito { grid-template-columns: 1fr; }
  .vp-cafecito__image img { min-height: 0; max-height: none; aspect-ratio: 2 / 1; }
  .vp-stage { grid-template-columns: 1fr; gap: 1.35rem !important; }
  .vp-picks, .vp-library .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .voz-hub-grid .wp-block-post-template > li:first-child .voz-card { display: flex; }
}
@media (max-width: 600px) {
  .vp-home > * + * { margin-block-start: 3.5rem !important; }
  .vp-hero h1 { font-size: clamp(2.35rem, 8vw, 2.8rem); line-height: 1.08; }
  .vp-hero .wp-block-buttons { align-items: stretch; }
  .vp-hero .wp-block-button { width: 100%; }
  .vp-hero .wp-block-button__link { width: 100%; text-align: center; }
  .vp-paths { grid-template-columns: 1fr; }
  .vp-paths a { min-height: 150px; }
  .vp-picks, .vp-library .wp-block-post-template { grid-template-columns: 1fr; }
  .vp-cafecito__copy { padding: 2rem 1.4rem !important; }
  .vp-about { padding: 2.2rem 1.4rem !important; }
  .voz-article-head .wp-block-post-title { font-size: clamp(2.2rem, 9vw, 2.7rem); }
  .voz-article-body { font-size: 1.075rem; line-height: 1.7; }
  .voz-article-image img { aspect-ratio: 4 / 3; }
}
@media (prefers-reduced-motion: reduce) {
  .vp-paths a, .voz-card img { transition: none; }
}
@media (forced-colors: active) {
  .vp-paths a, .vp-cafecito, .vp-about, .voz-hub-head { border: 1px solid CanvasText; }
}

/* A descriptive mobile menu control keeps all topics one tap away. */
@media (max-width: 599px) {
  .voz-topics .wp-block-navigation__responsive-container-open { gap: .5rem; padding: .6rem .8rem; }
  .voz-topics .wp-block-navigation__responsive-container-open::after { content: "Explorar temas"; font: 650 .9rem/1.2 Figtree, system-ui, sans-serif; }
}
.voz-start-route { border: 1px solid var(--vp-line); border-radius: 10px; padding: 1.35rem 1.5rem; background: var(--vp-white); }
.voz-start-route h3 { margin-top: 0; }
.voz-start-route a { display: inline-block; min-height: 44px; }
.voz-article-body .wp-block-details summary { padding: .6rem 0; min-height: 44px; font-weight: 650; cursor: pointer; }
.voz-article-body .wp-block-details[open] { padding-bottom: 1.5rem; }
