/* Fix the theme's white active text on a light background, only in WooCommerce account navigation. */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    color: #262321 !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation a[aria-current="page"] {
    color: #752e23 !important;
    background: #faeee9 !important;
    font-weight: 700;
}
body.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible {
    outline: 2px solid #963e30;
    outline-offset: 2px;
}

.mindspace-videos {
    --msv-ink: #272321;
    --msv-muted: #645d58;
    --msv-line: #e2dcd6;
    --msv-action: #a53f32;
    color: var(--msv-ink);
    line-height: 1.5;
    min-width: 0;
}
.mindspace-videos .msv-hero { margin: 0 0 1.75rem; padding: 0 0 1.1rem; border-bottom: 1px solid var(--msv-line); }
.mindspace-videos .msv-hero h2 {
    color: var(--msv-ink); font-size: clamp(1.85rem, 3vw, 2.6rem);
    font-weight: 650; line-height: 1.12; letter-spacing: -.035em; margin: 0;
}
.mindspace-videos .msv-group + .msv-group { margin-top: 2rem; }
.mindspace-videos .msv-group h3 { color: var(--msv-ink); font-size: 1.125rem; font-weight: 650; margin: 0 0 .7rem; }
.mindspace-videos .msv-grid { border-top: 1px solid var(--msv-line); }
.mindspace-videos .msv-card { margin: 0; padding: 1rem 0; border-bottom: 1px solid var(--msv-line); }
.mindspace-videos .msv-row,
.mindspace-videos .msv-bundle { display: flex; align-items: center; justify-content: space-between; gap: .9rem 1.5rem; }
.mindspace-videos .msv-info { min-width: 0; }
.mindspace-videos :is(.msv-info, .msv-bundle) h4 {
    color: var(--msv-ink); font-size: 1.13rem; font-weight: 650;
    line-height: 1.25; margin: 0; overflow-wrap: anywhere;
}
.mindspace-videos .msv-meta,
.mindspace-videos .msv-bundle p { color: var(--msv-muted); font-size: .875rem; margin: .25rem 0 0; }
.mindspace-videos .msv-actions,
.mindspace-videos .msv-purchase { display: flex; align-items: center; gap: .55rem .8rem; flex-wrap: wrap; }
.mindspace-videos .msv-language,
.mindspace-videos .msv-caption-box label { display: flex; align-items: center; gap: .5rem; color: var(--msv-muted); font-size: .85rem; margin: 0; }
.mindspace-videos :is(.msv-audio, .msv-captions) {
    appearance: auto; background: #fff; color: var(--msv-ink); border: 1px solid #a89f97;
    border-radius: 5px; box-shadow: none; font: inherit; font-size: .9rem; min-height: 44px;
    width: auto; max-width: 100%; padding: .35rem .5rem;
}
.mindspace-videos .msv-button {
    display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
    color: #fff; background: var(--msv-action); border: 1px solid var(--msv-action);
    border-radius: 5px; min-height: 44px; padding: .45rem .8rem;
    font: inherit; font-size: .9rem; font-weight: 650; text-decoration: none;
    text-transform: none; letter-spacing: normal; white-space: nowrap; cursor: pointer;
}
.mindspace-videos .msv-button-outline { color: var(--msv-action); background: #fff; }
.mindspace-videos .msv-button:hover { color: #fff; background: #813026; border-color: #813026; }
.mindspace-videos .msv-button:disabled { opacity: .65; cursor: wait; }
.mindspace-videos :is(.msv-button, .msv-audio, .msv-captions):focus-visible { outline: 2px solid var(--msv-action); outline-offset: 2px; }
.mindspace-videos .msv-status { font-size: .875rem; color: var(--msv-muted); margin: .65rem 0; }
.mindspace-videos .msv-status:empty { display: none; }
.mindspace-videos .msv-caption-box { margin: .65rem 0; }
.mindspace-videos video { width: 100%; max-height: 75vh; background: #161616; }
.mindspace-videos .msv-bundle { margin-top: 1.2rem; padding: 1rem; background: #f8f5f1; }
.mindspace-videos .msv-empty { margin: 0; padding: .9rem 0; border-top: 1px solid var(--msv-line); color: var(--msv-muted); }
.mindspace-videos .msv-price { font-weight: 650; }
.mindspace-videos .msv-kicker { display: block; color: var(--msv-muted); font-size: .8rem; margin-bottom: .3rem; }
.mindspace-videos .msv-hero p:not(.msv-meta) { margin: .5rem 0; }
.mindspace-videos .msv-hero .msv-button { margin-top: .3rem; }
.msv-order-link { margin: 1rem 0 1.5rem; }
@media (max-width: 760px) {
    .mindspace-videos :is(.msv-row, .msv-bundle) { flex-direction: column; align-items: flex-start; gap: .65rem; }
}

.mindspace-videos :is(.msv-row,.msv-bundle) { flex-direction: column; align-items: stretch; }
.mindspace-videos .msv-info { display: grid; grid-template-columns: clamp(84px, 14vw, 120px) minmax(0,1fr); gap: .55rem clamp(.65rem,2vw,1.15rem); align-items: start; align-content: start; }
.mindspace-videos .msv-cover { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 4px; }
.mindspace-videos .msv-cover { grid-row: span 2; }
.mindspace-videos .msv-description { grid-column: 2; font-size: .95rem; overflow-wrap: anywhere; }
.mindspace-videos .msv-description p { margin: 0 0 .55rem; }
.mindspace-videos .msv-description > :last-child { margin-bottom: 0; }
.mindspace-videos :is(.msv-actions,.msv-purchase) { justify-content: flex-end; }
@media (max-width: 480px) {
    .mindspace-videos .msv-info { grid-template-columns: 76px minmax(0,1fr); }
    .mindspace-videos :is(.msv-actions,.msv-purchase) { justify-content: flex-start; }
}

.mindspace-videos .msv-bundle-featured { margin: 0 0 2rem; }

/* Only the account view containing our library, not the shop or other Elementor widgets. */
@media (max-width: 767px) {
    body.woocommerce-account #content .ast-container:has(.woocommerce-MyAccount-content .mindspace-videos) {
        width: 100%; max-width: none; padding-inline: 16px;
    }
    body.woocommerce-account #content :is(#primary, .entry-content, .elementor-widget-woocommerce-my-account, .elementor-widget-container, .woocommerce, .e-my-account-tab, .woocommerce-MyAccount-content):has(.mindspace-videos) {
        box-sizing: border-box; width: 100% !important; max-width: none !important;
        min-width: 0; margin-inline: 0 !important; padding-inline: 0 !important;
    }
    body.woocommerce-account #content .woocommerce-MyAccount-content:has(.mindspace-videos) {
        float: none !important; flex: 0 0 100%; padding-block-start: 0 !important;
    }
    body.woocommerce-account #content .woocommerce:has(.woocommerce-MyAccount-content .mindspace-videos) { flex-direction: column; }
    body.woocommerce-account #content .woocommerce:has(.woocommerce-MyAccount-content .mindspace-videos) .woocommerce-MyAccount-navigation {
        float: none !important; width: 100% !important; margin: 0 0 1.25rem !important;
    }
    body.woocommerce-account #content .woocommerce:has(.woocommerce-MyAccount-content .mindspace-videos) .woocommerce-MyAccount-navigation ul {
        display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .6rem;
        margin: 0; padding: 0;
    }
    body.woocommerce-account #content .woocommerce:has(.woocommerce-MyAccount-content .mindspace-videos) .woocommerce-MyAccount-navigation li {
        width: auto !important; margin: 0 !important;
    }
    body.woocommerce-account #content .woocommerce:has(.woocommerce-MyAccount-content .mindspace-videos) .woocommerce-MyAccount-navigation li a {
        display: inline-flex; align-items: center; min-height: 44px; padding: .45rem .65rem;
    }
    .mindspace-videos .msv-row { align-items: stretch; }
    .mindspace-videos .msv-actions { justify-content: flex-start; }
}
@media (max-width: 480px) {
    .mindspace-videos .msv-cover { grid-row: auto; }
    .mindspace-videos .msv-info { align-items: center; }
    .mindspace-videos .msv-description { grid-column: 1 / -1; }
    .mindspace-videos .msv-bundle { padding: .75rem; }
}

/* A single logout link in the library replaces the account navigation. */
body.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-content .mindspace-videos) .woocommerce-MyAccount-navigation,
body.woocommerce-account .elementor-widget-woocommerce-my-account:has(.woocommerce-MyAccount-content .mindspace-videos) .woocommerce-MyAccount-navigation {
    display: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content:has(.mindspace-videos) {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    flex: 1 1 100%;
    float: none !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
}
.mindspace-videos .msv-hero-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .4rem 1rem;
}
.mindspace-videos .msv-logout {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: var(--msv-action);
    font-size: .9rem;
    text-decoration: underline;
    text-underline-offset: .18em;
}
.mindspace-videos .msv-logout:focus-visible {
    outline: 2px solid var(--msv-action);
    outline-offset: 2px;
}

/* Keep the whole library inside its container at intermediate and narrow widths. */
.mindspace-videos {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
}
.mindspace-videos :is(.msv-hero-heading, .msv-material-copy, .msv-description, .msv-actions, .msv-purchase) {
    min-width: 0;
    max-width: 100%;
}
.mindspace-videos .msv-hero-heading h2 { overflow-wrap: anywhere; }
.mindspace-videos :is(.msv-description img, .msv-description iframe, .msv-description table) { max-width: 100%; }
.mindspace-videos .msv-description table { display: block; overflow-x: auto; }
.mindspace-videos .msv-description :is(ol,ul) { padding-inline-start: 1.25em; margin-inline: 0; }
.mindspace-videos :is(.msv-language, .msv-caption-box label) { flex-wrap: wrap; min-width: 0; max-width: 100%; }
.mindspace-videos .msv-button { box-sizing: border-box; max-width: 100%; white-space: normal; text-align: center; }
@media (max-width: 1100px) {
    .woocommerce-MyAccount-content .mindspace-videos { padding-inline: clamp(8px, 1.4vw, 16px); }
}
@media (max-width: 600px) {
    .mindspace-videos .msv-info { grid-template-columns: clamp(64px, 20vw, 88px) minmax(0,1fr); }
    .mindspace-videos .msv-cover { grid-row: auto; }
    .mindspace-videos .msv-description { grid-column: 1 / -1; }
    .mindspace-videos :is(.msv-actions,.msv-purchase) { justify-content: flex-start; }
}

/* On phones the Elementor account column may still be narrower than the viewport.
   Center the library in that column, with predictable screen gutters. */
@media (max-width: 600px) {
    body.woocommerce-account .woocommerce-MyAccount-content:has(.mindspace-videos),
    body.woocommerce-account .elementor-widget-woocommerce-my-account :is(.elementor-widget-container, .woocommerce, .e-my-account-tab):has(.woocommerce-MyAccount-content .mindspace-videos) {
        overflow: visible;
    }
    body.woocommerce-account .woocommerce-MyAccount-content .mindspace-videos {
        --msv-mobile-width: calc(100vw - 32px);
        width: var(--msv-mobile-width);
        max-width: none;
        margin-inline: calc((100% - var(--msv-mobile-width)) / 2);
        padding-inline: 0;
    }
    .mindspace-videos .msv-hero-heading h2 { font-size: clamp(1.45rem, 6vw, 1.85rem); }
}
