/*
 * Sitewide readability polish for a 40+ audience.
 * Body text starts at 17px, while utility copy and controls start at 16px.
 * Rem-based sizes preserve browser font-size preferences.
 */

/* Header navigation: one calm step up, without changing the header height. */
html[data-design="2"] body .main-header-menu .menu-link,
html[data-design="2"] body .main-header-menu > .menu-item > a {
    font-size: 16px !important;
    font-weight: 600 !important;
}

/* Reading text has a 17px floor and grows with the browser's font setting. */
html[data-design="2"] body .site-main p:not([class*="eyebrow"]):not(.subtitle),
html[data-design="2"] body .site-main li:not(.menu-item),
html[data-design="2"] body .site-main figcaption,
html[data-design="2"] body .site-main blockquote {
    font-size: max(1.0625rem, 17px) !important;
    line-height: 1.65 !important;
}

/* The closing sentence in the homepage method card is a deliberate pull
 * quote, so it sits above the sitewide body-copy floor in the type scale. */
html[data-design="2"] body.home .site-main .home-glass-card p:last-child {
    font-size: clamp(1.5rem, 1.35rem + 0.65vw, 1.75rem) !important;
    line-height: 1.5 !important;
}

/* Repeated small uppercase labels. */
html[data-design="2"] body .site-main .subtitle,
html[data-design="2"] body .site-main [class$="__eyebrow"],
html[data-design="2"] body .site-main [class$="-eyebrow"] {
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
}

/* Buttons remain visually compact, while their label and hit area are clear. */
html[data-design="2"] body :is(button, .button, .wp-block-button__link, [class$="__btn"]) {
    min-height: 44px;
    font-size: 1rem !important;
    font-weight: 600 !important;
}

/* Homepage cards and proof labels. */
html[data-design="2"] body.home .home-direction-card .icon-wrapper,
html[data-design="2"] body.home .home-direction-card .premium-icon {
    width: 128px !important;
    height: 128px !important;
}

html[data-design="2"] body.home .home-pillars__stats dd {
    font-size: 1rem !important;
    font-weight: 600 !important;
}

html[data-design="2"] body.home .wp-block-columns.home-spaces-grid > .wp-block-column
    .home-testimonial-card p.home-testimonial-attribution {
    font-size: 1rem !important;
    font-weight: 600 !important;
}

html[data-design="2"] body.home .home-hero-content .lead {
    font-weight: 400 !important;
}

/* Method and psychosomatics cards: the artwork stays secondary but legible. */
html[data-design="2"] body .premium-card .premium-icon {
    width: 134px !important;
    height: 134px !important;
}

/* Quality certificate block. */
html[data-design="2"] body .quality-standard__seal {
    width: clamp(138px, 12vw, 164px);
    height: auto;
}

html[data-design="2"] body .quality-standard__label,
html[data-design="2"] body .quality-standard__note {
    font-size: 1rem !important;
    font-weight: 700 !important;
}

html[data-design="2"] body .quality-standard__equivalent {
    font-size: 1rem !important;
}

/* Shared CTA. */
html[data-design="2"] body .biest-invitation__eyebrow {
    font-size: 1rem !important;
}

html[data-design="2"] body .biest-invitation__btn {
    font-size: 1rem !important;
}

html[data-design="2"] body .biest-invitation__email {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    font-size: 1rem !important;
    font-weight: 600 !important;
}

html[data-design="2"] body .biest-invitation__social-link {
    min-height: 44px;
    font-size: 1rem !important;
}

/* Contacts, courses, books, certificates, reviews and blog metadata. */
html[data-design="2"] body .contact-label {
    font-size: 1rem !important;
}

html[data-design="2"] body .contacts-strip__name {
    font-size: 1rem !important;
    font-weight: 700 !important;
}

html[data-design="2"] body :is(.book-year, .book-citation__label, .certificate-kicker,
    .certificate-zoom, .reviews-proof__hint, .blog-filter, .entry-meta,
    .course-label, .course-meta, .course-badge) {
    font-size: 1rem !important;
    font-weight: 600 !important;
}

html[data-design="2"] body :is(.certificate-zoom, .blog-filter, .book-citation a) {
    min-height: 44px;
    align-items: center;
}

/* Footer navigation and labels keep a readable size and comfortable hit area. */
html[data-design="2"] body .site-footer p.biest-footer__strapline,
html[data-design="2"] body .site-footer .biest-footer__column h2 {
    font-size: 1rem !important;
    font-weight: 700 !important;
}

html[data-design="2"] body .site-footer .biest-footer__column a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    font-size: 16px !important;
    font-weight: 500 !important;
}

html[data-design="2"] body .site-footer .biest-footer__bottom p {
    font-size: 1rem !important;
    font-weight: 600 !important;
}

/* A visible keyboard focus is useful on desktop and on assisted devices. */
html[data-design="2"] body :is(a, button, [tabindex]):focus-visible {
    outline: 3px solid #d4ad60 !important;
    outline-offset: 4px !important;
}

@media (max-width: 921px) {
    html[data-design="2"] {
        font-size: 100% !important;
    }

    html[data-design="2"] body .ast-builder-menu-mobile .menu-link,
    html[data-design="2"] body .main-header-menu .menu-link {
        min-height: 48px;
        font-size: 17px !important;
        line-height: 1.35 !important;
    }

    html[data-design="2"] body .menu-toggle,
    html[data-design="2"] body .ast-button-wrap .menu-toggle {
        min-width: 48px;
        min-height: 48px;
    }
}

@media (max-width: 720px) {
    html[data-design="2"] body.home .home-hero-content .lead {
        font-size: 17px !important;
    }

    html[data-design="2"] body .site-main p:not([class*="eyebrow"]):not(.subtitle),
    html[data-design="2"] body .site-main li:not(.menu-item),
    html[data-design="2"] body .site-main figcaption {
        line-height: 1.68 !important;
    }

    html[data-design="2"] body.home .home-direction-card .icon-wrapper,
    html[data-design="2"] body.home .home-direction-card .premium-icon,
    html[data-design="2"] body .premium-card .premium-icon {
        width: 128px !important;
        height: 128px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html[data-design="2"] body *,
    html[data-design="2"] body *::before,
    html[data-design="2"] body *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* About page: gold labels and rule, deep-violet reading text. */
html[data-design="2"] body.page-slug-pro-nas .about-hero .subtitle {
    color: var(--gold-ink, #8c6a22) !important;
}

html[data-design="2"] body.page-slug-pro-nas .about-hero .section-divider-gold {
    background: linear-gradient(
        90deg,
        transparent,
        var(--gold-muted, #d4ad60),
        transparent
    ) !important;
}

html[data-design="2"] body.page-slug-sertyfikaty .certificates-hero .subtitle {
    color: var(--gold-ink, #8c6a22) !important;
}

html[data-design="2"] body.page-slug-pro-nas .about-intro-eyebrow {
    color: var(--gold-ink, #8c6a22) !important;
}

html[data-design="2"] body.page-slug-pro-nas .about-intro-text h2 {
    color: #382252 !important;
}

html[data-design="2"] body.page-slug-pro-nas .about-intro-text h2::after {
    background: var(--gold-muted, #d4ad60) !important;
    margin-bottom: 28px;
}

html[data-design="2"] body.page-slug-pro-nas .about-intro-text p,
html[data-design="2"] body.page-slug-pro-nas .about-intro-text .about-intro-lead {
    color: #4b3a5e !important;
    font-family: var(--sans-body, Inter, sans-serif) !important;
    font-size: max(1.0625rem, 17px) !important;
    font-style: normal !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    line-height: 1.72 !important;
}

/* Small utility text remains readable at phone widths and follows the
 * visitor's browser font preference through rem units. */
html[data-design="2"] body :is(
    .biest-method-link, .team-role, .courses-format-label,
    .courses-organisers__label, .review-proof-card__platform,
    .review-proof-card__open, .reviews-proof-intro > span,
    .blog-intro__eyebrow, .vv-more, .contact-action-label,
    .contacts-video__action
) {
    font-size: 1rem !important;
    line-height: 1.5 !important;
}

html[data-design="2"] body.blog .ast-taxonomy-container a,
html[data-design="2"] body.archive .ast-taxonomy-container a,
html[data-design="2"] body.blog .entry-meta .published,
html[data-design="2"] body.archive .entry-meta .published {
    font-size: 1rem !important;
}

html[data-design="2"] body .site-footer :is(
    .biest-footer__notice, .biest-footer__legal
) {
    font-size: 1rem !important;
    line-height: 1.55 !important;
}

html[data-design="2"] body.home .site-main .wp-block-button__link {
    font-size: 1rem !important;
}
