/* Modern Buddha accessibility foundations — WCAG 2.2 AA remediation. */

:root {
    --mb-focus-color: #1d4ed8;
    --mb-focus-ring: 3px solid var(--mb-focus-color);
    --mb-focus-offset: 3px;
}

/* Keep mouse interactions visually quiet while guaranteeing keyboard focus. */
:where(a, button, input, select, textarea, summary, [role="button"], [tabindex]):focus-visible {
    outline: var(--mb-focus-ring) !important;
    outline-offset: var(--mb-focus-offset) !important;
    box-shadow: 0 0 0 2px #fff !important;
}

@media (forced-colors: active) {
    :where(a, button, input, select, textarea, summary, [role="button"], [tabindex]):focus-visible {
        outline: 3px solid CanvasText !important;
        box-shadow: none !important;
    }
}

/* WordPress-compatible visually-hidden utility; content remains available to AT. */
.screen-reader-text,
.mb-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.screen-reader-text:focus {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0.75rem 1rem !important;
    clip: auto !important;
    overflow: visible !important;
    white-space: normal !important;
    z-index: 100000;
}

/* WCAG 2.2 target-size floor for compact icon controls without changing larger controls. */
:where(button, [role="button"], input[type="button"], input[type="submit"], input[type="reset"]) {
    min-width: 24px;
    min-height: 24px;
}

/* Shared interactive colors meet 4.5:1 for normal text on their backgrounds. */
.btn-primary,
.auth-btn,
#wpforms-submit-1971 {
    background-color: #6f4e32 !important;
    color: #fff !important;
}

body #wpforms-submit-1971.wpforms-submit {
    background-color: #6f4e32 !important;
}

.btn-secondary,
.auth-links a,
body:not(.logged-in) .menu-item--guests-only > a,
body.logged-in .menu-item--members-only > a {
    color: #6f4e32 !important;
    border-color: #6f4e32 !important;
}

.btn-primary:hover,
.auth-btn:hover,
.btn-secondary:hover,
body:not(.logged-in) .menu-item--guests-only > a:hover,
body.logged-in .menu-item--members-only > a:hover {
    background-color: #523821 !important;
    color: #fff !important;
}

.copyright,
.footer-links a {
    color: #b8b8b8 !important;
}

.whatsapp-float {
    background-color: #08783e !important;
    color: #fff !important;
}

/* Page-level text and controls identified by the serious-impact contrast gate. */
.wisdom-compact-label,
.featured-teaching-type,
.card-category,
.card-link,
.book-details h4,
.master-compact-cta,
.res-cluster-count,
.res-cluster-cta,
.browse-type-count,
.books-sidebar-heading,
.books-sidebar-item-name,
.books-sidebar-item-count,
.books-sidebar-authors-link,
.book-card-tag,
.book-card-author a,
.books-data-attribution,
.books-data-attribution a {
    color: #5f432d !important;
}

.search-button,
.books-main-search-btn,
.book-card-btn-primary,
#wp-submit,
#wpforms-submit-1971 {
    background: #6f4e32 !important;
    border-color: #6f4e32 !important;
    color: #fff !important;
    text-shadow: none !important;
}

.books-sidebar-item.active {
    background-color: #6f4e32 !important;
}

.books-sidebar-item.active .books-sidebar-item-name,
.books-sidebar-item.active .books-sidebar-item-count {
    color: #fff !important;
}

.primary-menu a[aria-current="page"],
.primary-menu .current-menu-item > a,
.primary-menu .current_page_item > a {
    background-color: transparent !important;
    color: #6f4e32 !important;
    text-decoration: none;
}

.books-sidebar .books-sidebar-item.active .books-sidebar-item-count {
    background-color: #6f4e32 !important;
}

.book-card-author a {
    display: inline-block;
    min-height: 24px;
    padding-block: 2px;
}

.discussion-char-count {
    display: block;
    margin-top: 4px;
    color: #5f5a54;
    font-size: 0.875rem;
    text-align: right;
}

.content-back-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-block: 1rem 0.5rem;
    color: #6f4e32;
    font-weight: 700;
    text-decoration: none;
}

.content-back-link:hover {
    text-decoration: underline;
}

.single-video-page {
    padding-block: 1rem 4rem;
}

.single-video-header {
    margin-block: 1.5rem;
}

.single-video-header h1 {
    margin-block: 0.75rem 0.25rem;
}

.single-video-embed {
    position: relative;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-md, 10px);
    background: #111;
}

.single-video-embed iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.single-video-summary,
.single-video-content {
    margin-top: 1.5rem;
}

/* Extended archive and content-route contrast/target corrections. */
.breadcrumb-item a,
.resource-item-link,
.master-read-more,
.contact-link,
.faq-cta a,
.btn-outline {
    color: #6f4e32 !important;
}

.hero-prev,
.hero-next {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    line-height: 1 !important;
}

.hero-pause {
    top: auto !important;
    right: 16px;
    bottom: 16px;
    left: auto;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    transform: none !important;
    font-size: 0.875rem !important;
    line-height: 1 !important;
}

@media (max-width: 600px) {
    .hero-prev { left: 12px !important; }
    .hero-next { right: 12px !important; }
}

@media (max-width: 400px) {
    .hero-slide {
        background-color: #201c18;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover, contain !important;
    }
}

.resource-filter-tab.active,
.resource-filter-tab[aria-selected="true"],
input[type="submit"] {
    background-color: #6f4e32 !important;
    border-color: #6f4e32 !important;
    color: #fff !important;
}

.resource-type-badge,
.resource-duration,
.quotes-sidebar-heading,
.quotes-sidebar-item-name,
.quotes-sidebar-item-count,
.masters-sidebar-heading,
.masters-sidebar-item-name,
.masters-sidebar-item-count {
    color: #5f432d !important;
}

.quotes-sidebar-item.active .quotes-sidebar-item-name,
.quotes-sidebar-item.active .quotes-sidebar-item-count,
.masters-sidebar-item.active .masters-sidebar-item-name,
.masters-sidebar-item.active .masters-sidebar-item-count {
    color: #fff !important;
}

.quotes-sidebar-item.active,
.masters-sidebar-item.active {
    background-color: #6f4e32 !important;
    border-color: #6f4e32 !important;
}

.quotes-sidebar-item.active .quotes-sidebar-item-count,
.masters-sidebar-item.active .masters-sidebar-item-count {
    background-color: #6f4e32 !important;
}

.quote-card__source,
.quote-card .quote-save-btn {
    color: #b8b8b8 !important;
}

.resource-item-link,
.quote-card .quote-save-btn {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
}

@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

@media (max-width: 600px) {
    .res-clusters-grid,
    .browse-type-grid,
    .daily-format-grid,
    .fresh-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .res-cluster-card,
    .browse-type-card {
        min-width: 0;
    }

    .books-layout-modern,
    .books-archive-layout {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .books-main-content,
    .books-card-grid,
    .book-card {
        min-width: 0;
        max-width: 100%;
    }

    .books-card-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .books-main-search-row {
        align-items: stretch;
        flex-direction: column;
    }

    .books-main-search-wrap,
    .books-main-search-input,
    .books-main-search-btn {
        width: 100%;
        min-width: 0;
    }
}
