/* =============================================================
   blocks.css — bridges core Gutenberg block output to the
   Yi Artisan editorial design system. Loaded AFTER style.css.
   =============================================================
   Pattern naming:
     .wp-block-group.yia-section   - section wrapper (background + vertical padding)
     .wp-block-cover.yia-hero      - cinematic hero
     .wp-block-cover.yia-page-hero - interior page hero
     .wp-block-cover.yia-feature-strip - feature strip
     .wp-block-cover (within .yia-tile column) - photo tile
     .wp-block-column.yia-card     - editorial card
     .wp-block-column.yia-pillar   - pillar text card
   ============================================================ */

/* ---------- block page wrapper ---------- */
.yia-page--blocks { display: block; }

/* ---------- core block defaults to brand fonts/colours ---------- */
.yia-page--blocks h1,
.yia-page--blocks h2,
.yia-page--blocks h3,
.yia-page--blocks h4 {
    font-family: var(--font-display);
    font-weight: 400;
    color: var(--color-deep-ink);
    line-height: 1.1;
}
.yia-page--blocks h1 { font-size: var(--fs-h1); }
.yia-page--blocks h2 { font-size: var(--fs-h2); }
.yia-page--blocks h3 { font-size: var(--fs-h3); }
.yia-page--blocks h1 em,
.yia-page--blocks h2 em,
.yia-page--blocks h3 em { font-style: italic; }

.yia-page--blocks p { font-family: var(--font-body); color: var(--color-ink); }

/* ---------- custom block style variations ---------- */
.is-style-eyebrow {
    font-family: var(--font-body) !important;
    font-size: var(--fs-eyebrow) !important;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--color-soft-text);
    margin: 0 0 1rem !important;
}

.is-style-zh-accent {
    font-family: var(--font-display) !important;
    font-size: 1rem !important;
    color: var(--color-olive);
    letter-spacing: 0.05em;
    margin: 0 0 0.5rem !important;
}

.is-style-lead {
    font-size: var(--fs-body-lg) !important;
    color: var(--color-soft-text) !important;
    line-height: 1.5;
}

/* ---------- section wrapper ---------- */
.wp-block-group.yia-section {
    padding-block: var(--space-2xl);
    padding-inline: var(--gutter);
}
.wp-block-group.yia-section > .wp-block-columns,
.wp-block-group.yia-section > .wp-block-paragraph,
.wp-block-group.yia-section > .wp-block-heading {
    max-width: var(--container-max);
    margin-inline: auto;
}

/* ---------- hero ---------- */
.wp-block-cover.yia-hero {
    min-height: 85vh;
}
.wp-block-cover.yia-hero .wp-block-cover__inner-container {
    max-width: var(--container-max);
    width: 100%;
    margin-inline: auto;
    padding-inline: var(--gutter);
    padding-block: var(--space-2xl);
}

/* ---------- interior page hero ---------- */
.wp-block-cover.yia-page-hero {
    min-height: 60vh;
}
.wp-block-cover.yia-page-hero .wp-block-cover__inner-container {
    max-width: var(--container-max);
    width: 100%;
    margin-inline: auto;
    padding-inline: var(--gutter);
}

/* ---------- feature strip ---------- */
.wp-block-cover.yia-feature-strip {
    min-height: 480px;
}
.wp-block-cover.yia-feature-strip .wp-block-cover__inner-container {
    max-width: var(--container-max);
    width: 100%;
    margin-inline: auto;
    padding-inline: var(--gutter);
    padding-block: var(--space-2xl);
}
.wp-block-cover.yia-feature-strip h2 { max-width: 18ch; }
.wp-block-cover.yia-feature-strip p { max-width: 50ch; }

/* ---------- photo tile (column-wrapped cover) ---------- */
.wp-block-column.yia-tile .wp-block-cover {
    border-radius: var(--radius-md);
    overflow: hidden;
}
.wp-block-column.yia-tile .wp-block-cover__inner-container h3 {
    font-family: var(--font-display);
    font-size: 1.75rem;
    margin: 0 0 0.25rem;
}
.wp-block-column.yia-tile .wp-block-cover__inner-container p {
    font-size: var(--fs-small);
    margin: 0 0 0.5rem;
}

/* ---------- editorial card ---------- */
.wp-block-column.yia-card {
    background: var(--color-cream);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    overflow: hidden;
    padding: 0;
    display: flex;
    flex-direction: column;
}
.wp-block-column.yia-card > .wp-block-image {
    margin: 0 0 1rem;
}
.wp-block-column.yia-card > .wp-block-image img {
    aspect-ratio: 4 / 5;
    object-fit: cover;
    width: 100%;
}
.wp-block-column.yia-card > .wp-block-heading,
.wp-block-column.yia-card > p {
    padding-inline: 1.5rem;
}
.wp-block-column.yia-card > .wp-block-heading {
    font-family: var(--font-display);
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
    font-weight: 400;
}
.wp-block-column.yia-card > p { color: var(--color-soft-text); }
.wp-block-column.yia-card > p:last-child {
    padding-bottom: 1.5rem;
    margin-top: auto;
}
.wp-block-column.yia-card a { color: var(--color-olive); font-weight: 500; }

/* ---------- pillar ---------- */
.wp-block-column.yia-pillar {
    background: var(--color-ivory);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 2rem 1.5rem;
}
.wp-block-column.yia-pillar .yia-pillar__zh {
    font-family: var(--font-display);
    font-size: 1rem;
    color: var(--color-olive);
    letter-spacing: 0.05em;
    margin-bottom: 0.5rem !important;
}
.wp-block-column.yia-pillar h3 {
    font-family: var(--font-display);
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
    font-weight: 400;
}
.wp-block-column.yia-pillar p {
    color: var(--color-soft-text);
    font-size: var(--fs-body);
}

/* ---------- journey card ---------- */
.wp-block-group.yia-journey-card {
    padding-block: var(--space-xl);
    border-bottom: 1px solid var(--color-border);
}
.wp-block-group.yia-journey-card:last-of-type { border-bottom: 0; }
.wp-block-group.yia-journey-card:nth-of-type(even) .wp-block-columns .wp-block-column:first-child {
    order: 2;
}
.wp-block-group.yia-journey-card .wp-block-image img {
    aspect-ratio: 4/3;
    object-fit: cover;
    width: 100%;
    border-radius: var(--radius-md);
}

/* ---------- newsletter ---------- */
.wp-block-group.yia-newsletter {
    padding-block: var(--space-2xl);
}
.wp-block-group.yia-newsletter .wp-block-html .newsletter__form {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.wp-block-group.yia-newsletter input[type="email"] {
    flex: 1 1 240px;
    padding: 1rem 1.25rem;
    font-family: var(--font-body);
    font-size: var(--fs-label);
    background: rgba(254,249,236,0.08);
    border: 1px solid rgba(254,249,236,0.35);
    color: var(--color-ivory);
    border-radius: var(--radius-sm);
}
.wp-block-group.yia-newsletter input::placeholder { color: rgba(254,249,236,0.55); }
.wp-block-group.yia-newsletter .newsletter__note { font-size: var(--fs-small); color: rgba(254,249,236,0.7); margin-top: 1rem; }

/* ---------- buttons (override Gutenberg defaults) ---------- */
.yia-page--blocks .wp-block-button__link {
    font-family: var(--font-body);
    font-weight: 500;
    border-radius: var(--radius-sm);
    padding: 0.95em 1.75em;
    font-size: var(--fs-label);
    letter-spacing: 0.02em;
    transition: background var(--speed) var(--ease), color var(--speed) var(--ease), border-color var(--speed) var(--ease);
}

/* ---------- column gap defaults ---------- */
.yia-page--blocks .wp-block-columns {
    gap: clamp(1rem, 2vw, 1.75rem);
}

/* ---------- responsive ---------- */
@media (max-width: 1000px) {
    .yia-page--blocks .wp-block-columns { gap: 1rem; }
}
@media (max-width: 800px) {
    .wp-block-group.yia-section { padding-block: var(--space-xl); }
    .wp-block-cover.yia-hero { min-height: 70vh; }
    .wp-block-group.yia-journey-card:nth-of-type(even) .wp-block-columns .wp-block-column:first-child { order: 0; }
}
