/*
Theme Name: La Voz Editorial
Description: A photo-led Spanish-language magazine for La Voz de la Mujer, built with native WordPress blocks.
Author: La Voz de la Mujer
Version: 2.0.0
Template: twentytwentyfive
Requires at least: 7.1
Tested up to: 7.1
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: la-voz-editorial
*/

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
:where(a, button, input, textarea, select):focus-visible { outline: 3px solid #9e3329; outline-offset: 4px; }
a { text-underline-offset: .22em; text-decoration-thickness: 1px; }
:where(h1,h2,h3) { text-wrap: pretty; }
:where(p,li) { overflow-wrap: break-word; }
:where(figure) { margin-inline: 0; }
.wp-block-image figcaption { font-family: Manrope, sans-serif; font-size: .64rem; line-height: 1.5; color: #68605d; text-align: left; margin: .45rem 0 0; }
.wp-block-image img { display: block; }
.voz-kicker { font-size: .65rem; font-weight: 750; line-height: 1.5; letter-spacing: .13em; color: #9e3329; text-transform: uppercase; }
.voz-text-link { font-size: .76rem; font-weight: 750; line-height: 1.5; }
.voz-text-link a { display: inline-flex; align-items: center; gap: .65rem; min-height: 44px; color: #242020; }
.voz-text-link span { font-size: 1.1rem; }
.voz-section { padding-block: clamp(3rem, 6vw, 5rem); }
.voz-section-heading { margin-bottom: 2rem; }
.voz-section-heading > * { margin-inline: 0 !important; max-width: none !important; }
.voz-section-heading h2 { margin-block: .55rem 1rem; font-size: clamp(2rem, 3.2vw, 3rem); }
.voz-section-heading em { font-weight: 400; }
.voz-section-intro { max-width: 42rem !important; color: #68605d; font-size: .875rem; }

/* A centered publication masthead, with a quiet utility line. */
.voz-header { padding-top: .3rem; padding-bottom: 0; }
.voz-utility-line { gap: .5rem 1.5rem; }
.voz-utility-line p { margin: 0; font-size: .62rem; font-weight: 500; letter-spacing: .025em; }
.voz-utility-link a { display: inline-flex; align-items: center; min-height: 44px; color: #242020; text-decoration: none; }
.voz-utility-link a:hover { text-decoration: underline; }
.voz-masthead { margin-top: .3rem !important; padding-bottom: 1.2rem; }
.voz-masthead .voz-brand { width: 415px; max-width: 80%; margin: 0 auto; line-height: 0; }
.voz-brand a { display: block; }
.voz-brand img { width: 100%; height: auto; aspect-ratio: 1600 / 356; }
.voz-navigation-row { margin-top: 0 !important; gap: 1rem 1.5rem; border-block: 1px solid #242020; padding-block: .45rem; }
.voz-navigation-row .wp-block-navigation { flex: 1 1 auto; }
.voz-navigation-row .wp-block-navigation__container { gap: clamp(.8rem, 1.45vw, 1.45rem); }
.wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 44px; box-sizing: border-box; }
.wp-block-navigation-item__label { text-wrap: nowrap; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
.wp-block-navigation__responsive-container.is-menu-open { color: #242020; background: #faf8f4; }
.voz-navigation-row .wp-block-search { width: 15rem; max-width: 100%; flex: 0 1 15rem; }
.voz-navigation-row .wp-block-search__inside-wrapper { border: 0; padding: 0; background: transparent; }
.wp-block-search__input { min-width: 0; min-height: 44px; background: transparent; border: 1px solid #a69c95; border-radius: 0; color: #242020; padding-inline: .8rem; font: inherit; font-size: .75rem; }
.voz-navigation-row .wp-block-search__input { border: 0; }
.wp-block-search__button { min-height: 44px; border: 0; border-radius: 0; padding: .65rem .9rem; background: #242020; color: #faf8f4; font-size: .72rem; }
.wp-block-search__button:hover { background: #9e3329; color: #faf8f4; }

/* The opening is an editorial arrangement of stories, not a welcome screen. */
.voz-issue-bar { margin-top: 1rem !important; margin-bottom: 1.55rem; gap: .5rem 1rem; }
.voz-issue-title { font: 750 .72rem/1.55 Manrope, sans-serif; letter-spacing: .12em; text-transform: uppercase; margin: 0; }
.voz-issue-deck { margin: 0; font-size: .65rem; color: #68605d; }
.voz-magazine-lead { gap: 1.8rem; margin-top: 0 !important; margin-bottom: 0; align-items: stretch; }
.voz-magazine-lead > .wp-block-column { min-width: 0; }
.voz-lead-copy { height: 100%; display: flex; flex-direction: column; justify-content: flex-start; padding-top: 2rem; padding-right: .5rem; box-sizing: border-box; }
.voz-lead-copy > * { margin-inline: 0 !important; }
.voz-lead-copy > * + * { margin-top: 1.3rem; }
.voz-lead-copy .voz-kicker { margin-top: 0; }
.voz-lead-title { font-size: clamp(2.1rem, 3.15vw, 3rem); line-height: 1.12; letter-spacing: -.055em; margin-bottom: 0; }
.voz-lead-title a, .voz-side-story h3 a, .voz-feature-story h3 a { color: #242020; text-decoration: none; }
.voz-lead-title a:hover, .voz-side-story h3 a:hover, .voz-feature-story h3 a:hover { text-decoration: underline; text-underline-offset: .13em; }
.voz-lead-title em { color: #9e3329; font-weight: 400; }
.voz-lead-deck { font-size: .8rem; line-height: 1.85; color: #68605d; }
.voz-magazine-portrait { margin: 0; }
.voz-magazine-portrait > a, .voz-side-image > a, .voz-feature-image > a, .voz-cafecito-image > a { display: block; }
.voz-magazine-portrait img { width: 100%; aspect-ratio: 4 / 5; max-height: none; object-fit: cover; }
.voz-side-stories { display: flex; flex-direction: column; gap: 1.6rem; }
.voz-side-stories > * { width: 100%; margin: 0 !important; }
.voz-side-story > * { margin-inline: 0 !important; }
.voz-side-story .voz-side-image { margin-top: 0; }
.voz-side-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.voz-side-story .voz-kicker { margin-top: .8rem; margin-bottom: .35rem; }
.voz-side-story h3 { margin-top: 0; font-size: clamp(1.15rem, 1.6vw, 1.55rem); line-height: 1.2; letter-spacing: -.035em; }

/* Feature rows are deliberately distinct from the lead's asymmetric layout. */
.voz-next-stage { gap: 2rem; }
.voz-feature-story > * { margin-inline: 0 !important; }
.voz-feature-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.voz-feature-story .voz-kicker { margin-top: 1.1rem; margin-bottom: .45rem; }
.voz-feature-story h3 { margin-top: 0; font-size: clamp(1.6rem, 2vw, 2rem); line-height: 1.2; }
.voz-story-deck { font-size: .83rem; line-height: 1.8; color: #68605d; margin-top: .9rem; }
.voz-feature-story .voz-text-link { margin-top: .7rem; }
.voz-question-band { background: #f1dfd6; padding-block: clamp(3rem, 6vw, 5.5rem); margin-top: 0 !important; }
.voz-question-inner { text-align: center; }
.voz-question-inner > * { margin-inline: auto; }
.voz-question-title { max-width: 56rem !important; font-size: clamp(2.1rem, 4.1vw, 4rem); line-height: 1.15; }
.voz-question-title em { color: #9e3329; font-weight: 400; }
.voz-question-deck { font-size: .95rem; max-width: 42rem !important; }
.voz-question-inner .voz-text-link { margin-top: .5rem; }
.voz-cafecito { background: #eee8c1; }
.voz-cafecito-columns { gap: 0; margin-block: 0; align-items: stretch; }
.voz-cafecito-image { margin: 0; height: 100%; }
.voz-cafecito-image img { width: 100%; height: calc(100% - 2rem); min-height: 400px; object-fit: cover; aspect-ratio: 4 / 3; }
.voz-cafecito-image figcaption { padding-left: .8rem; }
.voz-cafecito-copy { height: 100%; display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; padding: clamp(2rem, 4vw, 4rem); }
.voz-cafecito-copy > * { margin-inline: 0 !important; }
.voz-cafecito-copy h2 { font-size: clamp(2.2rem, 3.5vw, 3.2rem); margin-top: .75rem; }
.voz-cafecito-copy em { font-weight: 400; }
.voz-cafecito-deck { font-size: .85rem; line-height: 1.85; }
.voz-cafecito-question { font: 400 1.15rem/1.5 Platypi, Georgia, serif; border-top: 1px solid #a9a486; padding-top: 1.3rem; }
.voz-cafecito-copy .voz-text-link { margin-top: .75rem; }
.voz-heritage { border-top: 1px solid #242020; padding-top: 3rem; }
.voz-heritage-columns { gap: 4rem; }
.voz-heritage h2 { font-size: clamp(2rem, 3vw, 2.8rem); }
.voz-heritage .wp-block-column > p:not(.voz-kicker):not(.voz-text-link):not(.voz-archive-links) { font-size: .9rem; line-height: 1.9; }
.voz-archive-links { font-size: .75rem; }
.voz-archive-links a { display: inline-flex; align-items: center; min-height: 44px; }
.voz-archive-links span { padding-inline: .5rem; }

/* Dynamic lists work with both photographed stories and imageless archives. */
.voz-listing { padding-top: .5rem; }
.voz-listing > .wp-block-query-title, .voz-listing > .wp-block-heading { max-width: var(--wp--style--global--wide-size); font-size: clamp(2.5rem, 4.5vw, 4.3rem); }
.wp-block-post-template.is-layout-grid { gap: 2.5rem 2rem; }
.voz-story { height: 100%; }
.voz-story > * { margin-inline: 0 !important; }
.voz-story-image { margin-top: 0; }
.voz-story-image img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.voz-story .wp-block-post-title { font-size: clamp(1.45rem, 2.15vw, 2rem); line-height: 1.2; }
.voz-story .wp-block-post-title a { text-decoration: none; }
.voz-story .wp-block-post-title a:hover { text-decoration: underline; }
.voz-story .wp-block-post-excerpt { font-size: .8rem; line-height: 1.75; }
.voz-story .wp-block-post-date { color: #68605d; font-size: .7rem; }
.voz-story .wp-block-post-excerpt__more-link { display: inline-flex; align-items: center; min-height: 44px; font-size: .75rem; font-weight: 700; }
.wp-block-query-pagination { margin-top: 2.5rem; }
.wp-block-query-pagination :where(a,span) { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: .35rem .6rem; box-sizing: border-box; }

/* Long-form reading is spacious, with dates and disclosures kept visible. */
.voz-article-header { padding-top: clamp(2rem, 5vw, 4rem); padding-bottom: 1.5rem; }
.voz-article-header > * { margin-left: 0 !important; margin-right: 0 !important; max-width: 1050px !important; }
.voz-article-header .wp-block-post-title { font-size: clamp(2.35rem, 4.8vw, 4.5rem); line-height: 1.11; }
.voz-article-meta { color: #68605d; font-size: .75rem; }
.voz-article-image { margin-block: 0 3rem; }
.voz-article-image img { width: 100%; max-height: 600px; object-fit: cover; }
.voz-single .wp-block-post-content { font-size: 1.075rem; line-height: 1.9; }
.voz-single .wp-block-post-content :where(h2,h3) { line-height: 1.2; margin-top: 2.75rem; }
.voz-single .wp-block-post-content h2 { font-size: clamp(1.9rem, 3vw, 2.5rem); }
.voz-single .wp-block-post-content h3 { font-size: 1.5rem; }
.wp-block-post-content li { margin-bottom: .6rem; }
.voz-article-end { padding-block: 3rem; }
.voz-reading-note { font-size: .8rem; border-left: 2px solid #9e3329; padding-left: 1.2rem; color: #68605d; }
.voz-article-end > h2 { font-size: 2rem; margin-top: 3rem; }
.voz-article-navigation { gap: 1.5rem; border-block: 1px solid #d8d0c8; padding-block: 1.2rem; }
.voz-article-navigation > * { flex: 1 1 15rem; font-size: .85rem; }
.voz-article-navigation a { display: inline-block; padding-block: .65rem; }
.voz-page { padding-bottom: 2rem; }
.voz-page > .wp-block-post-title { max-width: 900px; font-size: clamp(2.4rem, 5vw, 4.5rem); }

/* A publication footer, without unconfigured subscriptions or invented claims. */
.voz-footer { color: #faf8f4; background: #242020; padding-block: 3.5rem 1.25rem; margin-top: 3rem !important; }
.voz-footer-columns { gap: 2.5rem; }
.voz-footer-brand { width: 330px; max-width: 100%; margin: 0; }
.voz-footer-brand a { display: block; }
.voz-footer-brand img { width: 100%; aspect-ratio: 1600 / 356; }
.voz-footer-intro > * { margin-inline: 0 !important; }
.voz-footer-manifesto { margin-top: 1.6rem; font: 400 1.2rem/1.5 Platypi, Georgia, serif; }
.voz-footer a, .voz-footer .wp-block-navigation a { color: #faf8f4; }
.voz-footer a:focus-visible { outline-color: #eee8c1; }
.voz-footer .wp-block-navigation { font-size: .75rem; }
.voz-footer .wp-block-navigation__container { gap: .25rem; }
.voz-footer-bottom { margin-top: 2.5rem !important; border-top: 1px solid #625954; padding-top: 1.5rem; gap: .8rem 2rem; }
.voz-footer-signoff { font-size: .6rem; letter-spacing: .12em; font-weight: 700; }
.voz-footer-note { font-size: .62rem; color: #c5bcb4; max-width: 38rem !important; }

@media (max-width: 1050px) and (min-width: 782px) {
 .voz-magazine-lead { gap: 1.25rem; }
 .voz-magazine-lead > .wp-block-column:first-child { flex-basis: 30% !important; }
 .voz-magazine-lead > .wp-block-column:nth-child(2) { flex-basis: 42% !important; }
 .voz-magazine-lead > .wp-block-column:nth-child(3) { flex-basis: 28% !important; }
 .voz-lead-title { font-size: 2.1rem; }
 .voz-side-stories { gap: 1.1rem; }
 .voz-side-story h3 { font-size: 1.1rem; }
 .voz-lead-deck { font-size: .73rem; }
 .voz-navigation-row .wp-block-search { flex-basis: 11rem; }
 .voz-navigation-row .wp-block-navigation__container { gap: .7rem; }
 .voz-navigation-row .wp-block-navigation { font-size: .7rem; }
}
@media (max-width: 781px) {
 .voz-header { padding-top: .5rem; }
 .voz-utility-line .voz-utility-tagline { font-size: .57rem; max-width: 58%; }
 .voz-utility-line .voz-utility-link { font-size: .57rem; }
 .voz-masthead { margin-top: .4rem !important; padding-bottom: 1.2rem; }
 .voz-masthead .voz-brand { width: 275px; max-width: 88%; }
 .voz-navigation-row { gap: .5rem; padding-block: .35rem; }
 .voz-navigation-row .wp-block-search { flex: 1 1 12rem; max-width: 24rem; }
 .voz-navigation-row .wp-block-navigation { flex: 0 0 auto; }
 .voz-issue-bar { margin-block: 1.1rem !important; }
 .voz-issue-title { font-size: .63rem; }
 .voz-issue-deck { display: none; }
 .voz-magazine-lead { display: grid !important; grid-template-columns: 1fr; gap: 1.2rem; }
 .voz-magazine-lead > .wp-block-column:nth-child(2) { grid-row: 1; }
 .voz-magazine-lead > .wp-block-column:nth-child(1) { grid-row: 2; }
 .voz-magazine-lead > .wp-block-column:nth-child(3) { grid-row: 3; }
 .voz-magazine-portrait img { aspect-ratio: 4 / 3; max-height: 430px; object-position: center top; }
 .voz-lead-copy { display: block; padding: .1rem 0 1rem; }
 .voz-lead-copy > * + * { margin-top: .8rem; }
 .voz-lead-title { max-width: 36rem !important; font-size: clamp(2.1rem, 6vw, 3rem); }
 .voz-lead-title br { display: none; }
 .voz-lead-deck { font-size: .83rem; }
 .voz-side-stories { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; border-top: 1px solid #d8d0c8; padding-top: 1.5rem; }
 .voz-side-story h3 { font-size: 1.2rem; }
 .voz-side-story .voz-kicker { font-size: .57rem; }
 .voz-side-image figcaption { font-size: .55rem; }
 .voz-next-stage { display: grid !important; grid-template-columns: 1fr; gap: 2.5rem; }
 .voz-feature-story h3 { font-size: 1.85rem; }
 .voz-feature-story .voz-kicker { margin-top: 1rem; }
 .voz-question-title { font-size: clamp(2rem, 6vw, 3rem); }
 .voz-question-deck { font-size: .85rem; }
 .voz-cafecito-columns { display: block !important; }
 .voz-cafecito-image img { height: auto; min-height: 0; aspect-ratio: 3 / 2; }
 .voz-cafecito-copy { display: block; padding: 2rem 1.5rem 2.25rem; }
 .voz-cafecito-copy h2 { font-size: 2.2rem; }
 .voz-cafecito-copy .voz-kicker { margin-top: 0; }
 .voz-heritage-columns { gap: 1.5rem; }
 .voz-heritage h2 { font-size: 2.1rem; }
 .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr; }
 .voz-story .wp-block-post-title { font-size: 1.85rem; }
 .voz-article-header { padding-top: 2rem; }
 .voz-article-header .wp-block-post-title { font-size: clamp(2.15rem, 6vw, 3.2rem); }
 .voz-single .wp-block-post-content { font-size: 1rem; line-height: 1.85; }
 .voz-article-image { margin-bottom: 2rem; }
 .voz-footer { padding-top: 2.75rem; }
 .voz-footer-columns { display: grid !important; grid-template-columns: 1fr 1fr; gap: 2rem; }
 .voz-footer-columns > .wp-block-column:first-child { grid-column: 1 / -1; }
 .voz-footer-brand { width: 255px; }
 .voz-footer .wp-block-navigation { font-size: .68rem; }
 .voz-footer-bottom { margin-top: 1.75rem !important; }
}
@media (max-width: 430px) {
 .voz-side-stories { gap: 1rem; }
 .voz-side-story h3 { font-size: 1.05rem; line-height: 1.25; }
 .voz-side-image img { aspect-ratio: 4 / 3; }
 .voz-footer .wp-block-navigation-item__label { text-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

.voz-connections { padding-top: 0; }
.voz-connections-grid { gap: 2.5rem; }
.voz-connections-grid .voz-feature-image img { aspect-ratio: 16 / 9; }
.voz-connections-grid h3 { max-width: 32rem; font-size: clamp(1.85rem, 2.5vw, 2.5rem); }
.voz-footer { border-top: 6px solid #9e3329; }
@media (max-width: 781px) {
 .voz-lead-copy { padding-top: .1rem; }
 .voz-connections-grid { display: block !important; }
 .voz-connections-grid > .wp-block-column + .wp-block-column { margin-top: 2.5rem; }
}
@media (max-width: 781px) {
 .voz-navigation-row .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
 .voz-navigation-row .wp-block-navigation__responsive-container-open { display: flex !important; }
}
@media (min-width: 600px) and (max-width: 781px) {
 .voz-magazine-portrait img { width: 100%; height: 430px; max-height: none; aspect-ratio: auto; object-position: center 12%; }
}
