/*
Theme Name: Vecinos de Monachil
Description: A custom block theme scaffolded by Studio Code.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vecinos-monachil
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready, style-variations
*/

/* WordPress inserts a margin-block-start equal to the block gap (24px unless
   theme.json sets styles.spacing.blockGap) between the template's top-level
   sections (header part, main, footer part) — a gap that exists even when no
   markup asks for it. Zero it so sections butt edge-to-edge and own their
   vertical rhythm via padding; this does not affect block gaps inside nested
   layouts. */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

/* With that gap gone, main carries its own vertical padding so templates this
   theme does not author (WooCommerce shop, product, cart…) still clear the
   header and footer. A descendant selector, not a child one: WooCommerce wraps
   the single-product main in an extra group. Templates built from full-bleed
   sections opt out with is-flush and let the sections own the rhythm. */
.wp-site-blocks main {
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70);
}
.wp-site-blocks main.is-flush {
	padding-block: 0;
}

/* Monachil: lectura central y franjas de participación */
.wp-site-blocks main { padding-block: 3.5rem 5rem; }
.wp-site-blocks main.is-flush { padding-block: 0; }
header.wp-block-template-part { position: sticky; top: 0; z-index: 20; background: var(--wp--preset--color--background); border-bottom: 1px solid var(--wp--preset--color--sand); }
.vm-header { padding-block: 1.1rem; }
.vm-header .wp-block-site-title { font-size: 1.25rem; font-family: var(--wp--preset--font-family--lora); margin-block: .35rem .8rem; }
.vm-header .wp-block-site-title a { color: var(--wp--preset--color--text); text-decoration: none; }
.vm-header .wp-block-navigation { font-size: .875rem; gap: 1rem; }
.vm-header .wp-block-navigation-item { min-height: 32px; }
.vm-eyebrow { font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.vm-hero { padding-block: clamp(3rem,8vw,6rem); }
.vm-hero h1 { max-width: var(--wp--style--global--content-size); }
.vm-section { padding-block: 3.5rem; }
.vm-band { padding-block: 3.5rem; color: var(--wp--preset--color--cream); }
.vm-band a,.vm-footer a { color: var(--wp--preset--color--cream); }
.vm-band .wp-element-button { background: var(--wp--preset--color--cream); color: var(--wp--preset--color--olive); }
.vm-footer { padding-block: 3.5rem; color: var(--wp--preset--color--cream); }
.vm-news { border-bottom: 1px solid var(--wp--preset--color--sand); padding-block: 1.2rem; }
.vm-news h3 { margin-block: .4rem; }
.vm-message { padding: 1.3rem; border-left: 4px solid var(--wp--preset--color--primary); background: var(--wp--preset--color--sand); margin-block: 2rem; }
.vm-form label,#loginform label { display: block; font-weight: 700; }
.vm-form input:not([type=checkbox]),.vm-form select,.vm-form textarea,#loginform input:not([type=checkbox]):not([type=submit]) { box-sizing: border-box; width: 100%; border: 1px solid var(--wp--preset--color--text); border-radius: 6px; background: var(--wp--preset--color--cream); color: var(--wp--preset--color--text); padding: .8rem; font: inherit; }
.vm-form small { display: block; font-size: .9rem; font-weight: 400; }
.vm-form fieldset { border: 1px solid var(--wp--preset--color--primary); padding: 1.3rem; margin-block: 2rem; }
.vm-form input[type=checkbox] { width: 1.2rem; height: 1.2rem; margin-right: .5rem; }
.vm-form button,#wp-submit { cursor: pointer; font: inherit; }
.vm-form legend { font-weight: 700; }
.vm-honey { position: absolute; left: -9999px; }
.vm-table { overflow-x: auto; }
.vm-table table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.vm-table th,.vm-table td { text-align: left; padding: .75rem; border-bottom: 1px solid var(--wp--preset--color--sand); }
#wp-submit { border: 0; border-radius: 28px; padding: .9rem 1.5rem; color: var(--wp--preset--color--cream); background: var(--wp--preset--color--primary); }
:focus-visible { outline: 3px solid var(--wp--preset--color--primary); outline-offset: 4px; }
.vm-band :focus-visible,.vm-footer :focus-visible { outline-color: var(--wp--preset--color--cream); }
@media(max-width:600px) { .vm-header .wp-block-site-title { font-size: 1.05rem; } .vm-header .vm-eyebrow { font-size: .65rem; } .vm-hero { padding-block: 3rem; } .vm-section,.vm-band,.vm-footer { padding-block: 2.5rem; } .vm-form fieldset { padding: .8rem; } }
@media(prefers-reduced-motion:reduce) { * { scroll-behavior: auto !important; } }


/* Identidad aportada por la asociación. */
header.wp-block-template-part {background:var(--wp--preset--color--cream);}
.vm-brand {margin-bottom:1rem;}
.vm-brand .wp-block-site-logo {flex-shrink:0;}
.vm-brand .wp-block-site-logo img,.vm-footer .wp-block-site-logo img {height:auto;}
.vm-brand .vm-eyebrow {margin-block:0;}
.vm-brand .wp-block-site-title {margin-block:.3rem 0;}

/* Controles cómodos en pantallas táctiles y reflujo en anchuras pequeñas. */
.vm-header .wp-block-navigation__responsive-container-open,
.vm-header .wp-block-navigation__responsive-container-close {
  min-width:44px; min-height:44px; align-items:center; justify-content:center;
}
.vm-header .wp-block-navigation-item__content {padding-block:.5rem;}
.vm-form input:not([type=checkbox]),.vm-form select,.vm-form textarea,
#loginform input:not([type=checkbox]) {font-size: max(1rem, 1em);}
.vm-form fieldset {min-inline-size:0;}
.vm-brand > .wp-block-group {min-width:0; overflow-wrap:anywhere;}
@media(max-width:600px) {
  header.wp-block-template-part {position:relative;}
}

/* Portada editorial de Monachil. Bloques editables, paisaje vectorial local. */
.vm-landscape.wp-block-cover {
  min-height:780px;
  padding:6rem var(--wp--style--root--padding-left);
  color:var(--wp--preset--color--text);
  background:var(--wp--preset--color--background);
  isolation:isolate;
}
.vm-landscape .wp-block-cover__inner-container {max-width:1200px;margin-inline:auto;}
.vm-landscape::after {content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,var(--wp--preset--color--background) 0%,transparent 68%);}
.vm-landscape .wp-block-cover__image-background {object-position:center center;}
.vm-hero-copy h1 {font-size:clamp(2.65rem,4.9vw,4.6rem);line-height:1.08;letter-spacing:-.055em;max-width:740px;color:var(--wp--preset--color--text);margin-block:1.8rem;}
.vm-hero-copy .vm-intro {max-width:510px;font-size:1.1rem;line-height:1.8;}
.vm-hero-copy .vm-eyebrow {color:var(--wp--preset--color--primary);font-size:.7rem;letter-spacing:.16em;}
.vm-hero-copy .wp-block-buttons {margin-top:2rem;gap:.8rem;}
.vm-hero-note {font-size:.7rem;letter-spacing:.15em;margin-top:3rem!important;}
.vm-place-band {padding-block:1.4rem;border-bottom:1px solid var(--wp--preset--color--sand);text-align:center;}
.vm-place-line {font-size:.8rem;font-weight:700;letter-spacing:.25em;color:var(--wp--preset--color--olive);}
.vm-art-caption {font-size:.7rem;margin-top:.4rem!important;}
.vm-story,.vm-editorial,.vm-join {padding-block:clamp(3.5rem,8vw,7rem);}
.vm-story-columns,.vm-join-columns {gap:clamp(2rem,7vw,7rem);align-items:center;}
.vm-story h2,.vm-news-heading h2 {font-size:clamp(2rem,3.4vw,3rem);line-height:1.2;letter-spacing:-.035em;}
.vm-story .vm-intro {font-size:1.35rem;line-height:1.65;}
.vm-story a,.vm-local-news a {text-underline-offset:.35em;font-weight:700;}
.vm-news-heading {margin-bottom:3rem;}
.vm-local-news {gap:4rem;}
.vm-local-news > .wp-block-column {border-top:2px solid var(--wp--preset--color--olive);padding-top:1.5rem;}
.vm-local-news h3 {font-size:clamp(1.6rem,2.3vw,2rem);letter-spacing:-.025em;}
.vm-local-news .vm-eyebrow {font-size:.7rem;}
.vm-join {color:var(--wp--preset--color--cream);}
.vm-join h2 {font-size:clamp(2.7rem,4.5vw,4.2rem);line-height:1.13;letter-spacing:-.035em;color:inherit;}
.vm-join-card {padding:2.5rem;border:1px solid color-mix(in srgb,var(--wp--preset--color--cream) 40%,transparent);border-radius:4px;}
.vm-join-card > p:nth-child(2) {font-size:2.4rem;font-family:var(--wp--preset--font-family--lora);margin-top:1rem;}
.vm-join .wp-element-button {background:var(--wp--preset--color--cream);color:var(--wp--preset--color--primary);}
.vm-join .wp-element-button:hover {background:var(--wp--preset--color--sand);color:var(--wp--preset--color--text);}
.vm-join :focus-visible {outline-color:var(--wp--preset--color--cream);}
.vm-steps {font-size:.8rem;line-height:1.8;}
.vm-header {padding-block:.85rem;}
.vm-header-row {gap:1rem 2rem;}
.vm-header .vm-brand {margin:0;gap:.8rem;}
.vm-header .wp-block-site-title {font-size:1.05rem;max-width:310px;line-height:1.35;}
.vm-header .vm-eyebrow {font-size:.57rem;letter-spacing:.12em;}
.vm-header .wp-block-navigation {font-size:.8rem;gap:1.1rem;}
.vm-footer {background:var(--wp--preset--color--text);}
@media(max-width:1100px) and (min-width:782px) {
 .vm-landscape .wp-block-cover__image-background {object-position:62% center;}
 .vm-landscape::after {background:linear-gradient(90deg,var(--wp--preset--color--background) 0%,color-mix(in srgb,var(--wp--preset--color--background) 95%,transparent) 34%,transparent 100%);}
 .vm-hero-copy h1 {font-size:3.5rem;max-width:650px;}
}
@media(max-width:781px) {
 .vm-landscape.wp-block-cover {min-height:1020px;align-items:flex-start;padding-block:3rem 24rem;}
 .vm-landscape .wp-block-cover__image-background {height:520px;top:auto;bottom:0;object-position:right bottom;}
 .vm-landscape::after {background:linear-gradient(180deg,var(--wp--preset--color--background) 0%,var(--wp--preset--color--background) 46%,transparent 75%);}
 .vm-hero-copy h1 {font-size:clamp(2.45rem,6.4vw,3.6rem);max-width:100%;letter-spacing:-.045em;}
 .vm-hero-copy .vm-intro {font-size:1rem;}
 .vm-hero-copy .vm-eyebrow {font-size:.6rem;}
 .vm-hero-note {margin-top:1.8rem!important;}
 .vm-place-line {letter-spacing:.12em;font-size:.65rem;}
 .vm-local-news {gap:2rem;}
 .vm-join-card {padding:1.5rem;}
 .vm-story .vm-intro {font-size:1.15rem;}
 .vm-header-row {gap:.5rem;}
 .vm-header .wp-block-site-title {max-width:205px;font-size:.9rem;}
}
@media(max-width:360px) {
 .vm-header .wp-block-site-title {max-width:160px;font-size:.8rem;}
 .vm-header .vm-eyebrow {font-size:.5rem;}
 .vm-landscape.wp-block-cover {min-height:1120px;}
 .vm-hero-copy h1 {font-size:2.4rem;}
}

/* Ajustes tras inspección del diseño renderizado. */
.vm-landscape .wp-block-cover__inner-container {z-index:2;}
.home .entry-content > .alignfull {margin-block-start:0;}
.vm-hero-copy .is-style-outline .wp-element-button {padding:.9rem 1.5rem;}


.vm-message.vm-error {color:#8b1620;background:#fff0f0;border-left-color:#b4232c;}
