:root {
    --tay-sidebar-width: 250px;
    --tay-content-max: 1440px;

    --tay-bg: #fbfcfc;
    --tay-surface: #ffffff;

    --tay-text: #171717;
    --tay-muted: #6f7278;
    --tay-border: #e5e7eb;
    --tay-teal: #05a59f;

    --tay-space-xs: 0.5rem;
    --tay-space-sm: 0.75rem;
    --tay-space-md: 1rem;
    --tay-space-lg: 1.5rem;
    --tay-space-xl: 2rem;
    --tay-space-2xl: 3rem;

    --tay-radius-sm: 8px;
    --tay-radius-md: 12px;
    --tay-radius-lg: 18px;
}

html,
body {
    margin: 0;
    padding: 0;
}

body.tay-app-page {
    min-height: 100vh;

    background: var(--tay-bg);
    color: var(--tay-text);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

/* =========================================
   App typography
   ========================================= */

.tay-app,
.tay-app button,
.tay-app input,
.tay-app select,
.tay-app textarea {
    font-family: 'Karla', Arial, sans-serif;
}


/* All app headings */
.tay-app h1,
.tay-app h2,
.tay-app h3,
.tay-app h4,
.tay-app h5,
.tay-app h6 {
    font-family: 'Karla', Arial, sans-serif;
    letter-spacing: -0.025em;
}
.tay-app h1 {
    letter-spacing: -0.04em;
}

/* Application shell */

.tay-app {
    min-height: 100vh;
    display: grid;
    grid-template-columns:
        var(--tay-sidebar-width)
        minmax(0, 1fr);

    background: var(--tay-bg);
}

.tay-app-main {
    min-width: 0;
    min-height: 100vh;
}

/* Sidebar brand */

.tay-sidebar-brand {
    display: flex;
    align-items: center;
}

.tay-sidebar-logo {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.tay-sidebar-logo-image {
    display: block;
    width: auto;
    height: auto;
    max-width: 165px;
    max-height: 54px;
    object-fit: contain;
}

/* Login page — show logo only */
body.tay-login-page .site-branding {
    display: none !important;
}

/* Login page logo */
body.tay-login-page .site-logo img {
    display: block;
    width: auto;
    height: auto;
    max-width: 200px;
}

body.tay-login-page .inside-header {
    padding: 24px 32px;
}

body.tay-login-page .site-logo {
    margin: 0;
}

/* Sidebar */

.tay-sidebar {
    height: 100vh;
    height: 100dvh;
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    padding: 24px 18px;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--tay-surface);
    border-right: 1px solid var(--tay-border);
}

.tay-sidebar-brand {
    margin-bottom: 28px;
}

.tay-sidebar-brand a {
    display: flex;
    flex-direction: column;
    gap: 2px;

    color: var(--tay-text);
    text-decoration: none;
}

.tay-sidebar-brand strong {
    font-size: 1.1rem;
}

.tay-sidebar-brand span {
    font-size: 0.8rem;
    color: var(--tay-muted);
}

/* Navigation */

.tay-sidebar-nav {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-bottom: 1rem;
    font-size: 1rem;
}

.tay-sidebar-nav a,
.tay-sidebar-footer a {
    display: block;
    padding: 10px 12px;
    color: var(--tay-text);
    text-decoration: none;

    border-radius: var(--tay-radius-sm);

    transition:
        background-color .2s ease,
        transform .2s ease;
}

.tay-sidebar-nav a:hover,
.tay-sidebar-footer a:hover {
    background: var(--tay-bg);
}

.tay-sidebar-nav a.is-active,
.tay-sidebar-footer a.is-active {
    background: #f0efff;
    color: var(--tay-text);
    font-weight: 600;
}

.tay-sidebar a.is-active {
    position: relative;
	    background: #f0efff;
    color: #3028a8;

    font-weight: 600;
    font-weight: 600;
}


.tay-nav-label {
    margin-top: 24px;
    margin-bottom: 6px;
    padding-inline: 12px;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--tay-muted);
}

.tay-sidebar-footer {
    font-size: 1rem;
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid var(--tay-border);
}

/* Main */

.tay-app-main {
    min-width: 0;
}

/* Header */

.tay-app-header {
    min-height: 72px;

    background: var(--tay-surface);
    border-bottom: 1px solid var(--tay-border);
}

.tay-app-header-inner {
    min-height: 72px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding-inline: 32px;
}

.tay-app-header-actions {
    margin-left: auto;
}

 .wp-block-paragraph a {
    color: var(--tay-text);
 }

 .wp-block-paragraph a:hover {
    color: var(--tay-muted);
 }

/* User */

.tay-user-menu {
    display: flex;
    align-items: center;
    gap: 10px;

    color: var(--tay-text);
    text-decoration: none;
}

.tay-user-avatar {
    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--tay-bg);
    font-size: .85rem;
    font-weight: 600;
}

/* Content */

.tay-app-content {
    width: min(
        100%,
        var(--tay-content-max)
    );

    margin-inline: auto;
    padding: 40px;
}

/* Sidebar navigation icons */

.tay-sidebar-nav a,
.tay-sidebar-footer a {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* SVG icons */
.tay-sidebar-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: currentColor;
}

/* Link labels */
.tay-sidebar-nav a span,
.tay-sidebar-footer a span {
    flex: 1;
    min-width: 0;
}

/* Active icons inherit the active link colour */
.tay-sidebar a.is-active .tay-sidebar-icon {
    color: #3028a8;
}

/* Mobile toggle */

.tay-menu-toggle {
    display: none;
}

/* ---------------------------------
   Mobile app navigation
---------------------------------- */

.tay-mobile-brand {
    display: none;
}

.tay-sidebar-mobile-header {
    display: none;
}

.tay-sidebar-overlay {
    display: none;
}

.tay-menu-toggle {
    width: 40px;
    height: 40px;
    padding: 8px;
    border: 0;
    background: transparent;
    cursor: pointer;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
}

.tay-menu-toggle:hover {
    background: transparent;
}

.tay-menu-toggle span {
    display: block;

    width: 20px;
    height: 2px;

    background: var(--tay-text);

    border-radius: 2px;
}

.tay-mobile-logo {
    color: var(--tay-text);
    text-decoration: none;

    font-weight: 700;
}

.tay-sidebar-close {
    width: 36px;
    height: 36px;

    border: 0;
    background: transparent;

    font-size: 28px;
    line-height: 1;

    cursor: pointer;
}


/* Tablet / mobile */

@media (max-width: 900px) {

    .tay-app {
        display: block;
    }

    .tay-sidebar {
 position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        width: min(300px, 85vw);
        height: 100dvh;
        max-height: 100dvh;
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        z-index: 1001;
        transform: translateX(-100%);
        transition: transform 0.25s ease;
        box-shadow: 10px 0 30px rgba(0, 0, 0, 0.08);
    }

    .tay-sidebar.is-open {
        transform: translateX(0);
    }
}

 @media (max-width: 900px) {

    .tay-sidebar {
        padding-bottom: max(
            24px,
            env(safe-area-inset-bottom)
        );
    }


    .tay-sidebar-mobile-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-left: 12px;
        margin-bottom: 24px;
    }

    .tay-sidebar-brand {
        display: none;
    }

    .tay-sidebar-overlay {
        display: block;

        position: fixed;
        inset: 0;

        background: rgba(0,0,0,.3);

        z-index: 1000;

        opacity: 0;
        visibility: hidden;

        transition:
            opacity .25s ease,
            visibility .25s ease;
    }

    .tay-sidebar-overlay.is-visible {
        opacity: 1;
        visibility: visible;
    }

    .tay-app-header {
        position: sticky;
        top: 0;

        z-index: 100;

        min-height: 64px;
    }

    .tay-app-header-inner {
        min-height: 64px;

        padding-inline: 16px;
    }

    .tay-mobile-brand {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .tay-menu-toggle {
        display: flex;
    }

    .tay-app-content {
        padding: 24px 18px;
    }

    .tay-user-name {
        display: none;
    }

}


/* Small mobile */

@media (max-width: 600px) {

    .tay-app-content {
        padding: 20px 16px;
    }

}

body.tay-nav-open {
    overflow: hidden;
}

.tay-page-header {
    margin-bottom: 32px;
}

.tay-page-header h1 {
    margin: 0 0 8px;
    font-size: clamp(2rem, 3vw, 2rem);
}

.tay-page-header p {
    margin: 0;
    color: var(--tay-muted);
}

.tay-content-grid {
    display: grid;
    grid-template-columns:
        repeat(auto-fill, minmax(260px, 1fr));
    gap: 24px;
}

.tay-card {
    background: var(--tay-surface);
    border: 1px solid var(--tay-border);
    border-radius: var(--tay-radius-md);
    overflow: hidden;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.tay-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--tay-shadow);
}

.tay-card a {
    display: block;
    color: inherit;
    text-decoration: none;
}

.tay-card-image img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: contain;
    /*padding: 1rem;*/
    max-height: 320px;
    background: var(--tay-surface);
}

.tay-card-content {
    padding: 18px;
    padding-top: 0;
}

.tay-card-content h2 {
    margin: 0 0 8px;
    font-size: 1.125rem;
    font-weight: 500;
}

.tay-card-content p {
    margin: 0;
    color: var(--tay-muted);
    font-size: small;
}

/*Video*/

.tay-video-card-image {
    position: relative;
}

.tay-video-play {
    position: absolute;
    inset: 0;
    margin: auto;

    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255,255,255,.92);
    color: var(--tay-text);

    font-size: 16px;

    pointer-events: none;
}

.tay-video-card:hover .tay-video-play {
    transform: scale(1.06);
}

.tay-video-play {
    transition: transform .2s ease;
}

.tay-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;

    margin-bottom: 10px;
}

.tay-video-details {
    align-items: center;
    margin-bottom: 10px;
    font-size: .82rem;
}

/* ---------------------------------
   Live events
---------------------------------- */

.tay-events-list {
    display: grid;
    gap: 18px;
}

.tay-event-card {
    padding: 0;
    overflow: hidden;
}

.tay-event-card-grid {
    display: grid;
    grid-template-columns:
        180px
        minmax(0, 1fr)
        auto;

    align-items: stretch;
    gap: 26px;

    padding: 20px;
}

.tay-event-media {
    min-width: 0;
}

.tay-event-media a {
    display: block;
}

.tay-event-media img {
    display: block;
    width: 100%;
    object-fit: cover;
    border-radius: var(--tay-radius-md);
}


/* Event meta */

.tay-event-meta-column {
    min-width: 0;
}

.tay-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;

    margin-bottom: 18px;
}

.tay-pill {
    display: inline-flex;
    align-items: center;

    min-height: 26px;
    padding: 5px 0px;

    border-radius: 5px;
    color: var(--tay-text)
    font-size: .75rem;
    font-weight: 600;
    line-height: 1;
}

.tay-pill-event {
    background: #ece9ff;
    color: #5147d9;
    font-size: .72rem;
    padding: 4px 8px;
}

 .tay-pill-ended, .tay-pill-replay {
    font-size: .72rem;
 }

.tay-pill-muted {
    background: #f1f2f4;
    color: var(--tay-muted);
    font-weight: 500;
    font-size: .72rem;
    padding: 4px 8px;
}

.tay-event-meta-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 12px;
    color: var(--tay-muted);
}

.tay-event-icon {
    flex: 0 0 20px;

    width: 20px;
    height: 20px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--tay-muted);
}

.tay-event-icon svg {
    width: 18px;
    height: 18px;
}

.tay-event-date {
    font-size: .92rem;
    font-weight: 600;
    line-height: 1.35;
}

.tay-event-time {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;

    color: var(--tay-text);

    font-size: .9rem;
    font-weight: 600;
}


/* ---------------------------------
   Title
---------------------------------- */

.tay-event-title {
    margin: 0 0 12px;
    font-size: 1.125rem;
    line-height: 1.3;
    font-weight: 500;
}

.tay-event-title a {
    color: var(--tay-text);
    text-decoration: none;
}

.tay-event-title a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* ---------------------------------
   Speakers
---------------------------------- */

.tay-event-speaker {
    margin-bottom: 15px;
}


/*
 * Slightly smaller portraits on archive
 * cards than on single content pages.
 */

.tay-event-card .tay-speakers {
    gap: 10px;
}

.tay-event-card .tay-speakers__image {
    width: 32px;
    height: 32px;

    border-width: 2px;
}

.tay-event-card
.tay-speakers__image
+
.tay-speakers__image {
    margin-left: -8px;
}

.tay-event-card .tay-speakers__names {
    color: var(--tay-muted);

    font-size: .88rem;
}


/* ---------------------------------
   CTA
---------------------------------- */

.tay-event-action {
    display: flex;
    align-items: center;

    padding-left: 26px;

    border-left: 1px solid var(--tay-border);
}

.tay-event-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: space-between;

    gap: 24px;

    min-width: 170px;

    border-radius: var(--tay-radius-sm);

    background: var(--tay-text);
    color: #fff !important;

    text-decoration: none;

    line-height: 1;

    font-size: .9rem;
    font-weight: 600;

    transition:
        transform .2s ease,
        opacity .2s ease;
}

.tay-event-button:hover {
    transform: translateY(-1px);
    opacity: .9;
}

/* ---------------------------------
   Date + time
---------------------------------- */

.tay-event-schedule-inline {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 10px 22px;
}

.tay-event-meta-row {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    margin: 0;

    color: var(--tay-muted);
}

.tay-event-icon {
    flex: 0 0 17px;

    width: 17px;
    height: 17px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--tay-muted);
}

.tay-event-icon svg {
    width: 17px;
    height: 17px;
}

.tay-event-date,
.tay-event-time {
    color: var(--tay-muted);

    font-size: .86rem;
    font-weight: 500;
    line-height: 1.35;
}

.tay-event-time {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 4px;
}


/* =================================
   TABLET
================================= */

@media (max-width: 1000px) {

    .tay-event-card-grid {
        grid-template-columns:
            150px
            minmax(0, 1fr);

        gap: 22px;
    }


    .tay-event-action {
        grid-column: 2;

        justify-content: flex-start;

        padding-left: 0;
        padding-top: 18px;

        border-left: 0;
        border-top: 1px solid var(--tay-border);
    }


    .tay-event-media img {
        min-height: 120px;
    }

}


/* =================================
   MOBILE
================================= */

@media (max-width: 700px) {

    .tay-event-card-grid {
        grid-template-columns: 1fr;

        gap: 0;

        padding: 16px;
    }


    /* Image */

    .tay-event-media {
        margin-bottom: 18px;
    }

    .tay-event-media a {
        height: auto;
    }

    .tay-event-media img {
        width: 100%;
        height: auto;

        min-height: 0;

        aspect-ratio: 16 / 9;

        object-fit: cover;
    }


    /* Content */

    .tay-event-content {
        display: block;
    }


    .tay-event-content .tay-card-meta {
        margin-bottom: 12px;
    }


    .tay-event-title {
        margin-bottom: 13px;

        font-size: 1.15rem;
    }


    .tay-event-speaker {
        margin-bottom: 16px;
    }


    /* Date and time */

    .tay-event-schedule-inline {
        display: grid;

        gap: 9px;
    }


    /* CTA */

    .tay-event-action {
        grid-column: auto;

        margin-top: 20px;
        padding-top: 18px;

        border-top: 1px solid var(--tay-border);
    }


    .tay-event-button {
        width: 100%;
    }

}

/* ---------------------------------
   MemberPress Courses
---------------------------------- */

.tay-courses-content .mp_wrapper.mpcs-course-list {
    max-width: none;
}

.mpcs-lesson .btn {
    color: white !important;
    background: var(--tay-text) !important;
    border-radius: 5px !important;
}
/* Course grid */

.tay-courses-content .mpcs-cards {
    display: grid;
    grid-template-columns: repeat(
        auto-fill,
        minmax(280px, 1fr)
    );
    gap: 24px;

    margin: 0;
}


/* Individual card wrapper */

.tay-courses-content .mpcs-card-wrapper {
    width: auto;
    margin: 0;
}


/* Card */

.tay-courses-content .mpcs-card {
    height: 100%;

    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--tay-surface);
    border: 1px solid var(--tay-border);
    border-radius: var(--tay-radius-md);
    box-shadow: none;
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.tay-courses-content .mpcs-card:hover {
    transform: translateY(-2px);

    box-shadow:
        0 8px 24px rgba(0,0,0,.06);
}

.tay-courses-content .mpcs-card-title::before {
    content: "COURSE";
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 5px 10px;
    margin-bottom: 12px;
    border-radius: 999px;
    background: #ece9ff;
    color: #5147d9;
    font-size: .72rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .04em;
}


/* Thumbnail */

.tay-courses-content .mpcs-card-thumb {
    overflow: hidden;
}

.tay-courses-content .mpcs-card-thumb a {
    display: block;
}

.tay-courses-content .mpcs-card-thumb img {
    display: block;

    width: 100%;
    height: auto;

    aspect-ratio: 16 / 9;

    object-fit: cover;

    transition: transform .3s ease;
}

.tay-courses-content .mpcs-card:hover
.mpcs-card-thumb img {
    transform: scale(1.015);
}


/* Course title */

.tay-courses-content .mpcs-card-title {
    padding: 20px 20px 0;
}

.tay-courses-content .mpcs-card-title a {
    color: var(--tay-text) !important;

    text-decoration: none;

    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.3;
  	padding-left: 0;
}

.tay-courses-content .mpcs-card-title a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.tay-course-content .mpcs-card-link a {
  padding-left: 0;
}


/* Content / excerpt */

.tay-courses-content .mpcs-card-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;

  padding: 10px 20px 22px;

    color: var(--tay-muted);

    font-size: .9rem;
    line-height: 1.55;
}

.tay-courses-content .mpcs-card-content::after {
    content: "View course →";

    display: block;

    margin-top: auto;
    padding-top: 18px;

    color: var(--tay-text);

    font-size: .88rem;
    font-weight: 600;
}


/* Remove unwanted MemberPress spacing */

.tay-courses-content .mpcs-card-content p {
    margin-top: 0;
}


/* Hide MemberPress author if still output */

.tay-courses-content .mpcs-card-author {
    display: none;
}


/* MemberPress navigation underneath cards */

.tay-courses-content .mpcs-card-nav {
    margin-top: 28px;
}


/* Mobile */

@media (max-width: 700px) {

    .tay-courses-content .mpcs-cards {
        grid-template-columns: 1fr;
        gap: 18px;
    }

}

/* ---------------------------------
   Single Booklet
---------------------------------- */

.tay-single-booklet {
    max-width: 1180px;
    margin: 0 auto;
}


/* Back link */

.tay-single-back {
    margin-bottom: 28px;
}

.tay-single-back a {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    color: var(--tay-muted);
    text-decoration: none;

    font-size: .88rem;
    font-weight: 500;
}

.tay-single-back a:hover {
    color: var(--tay-text);
}


/* ---------------------------------
   Booklet hero
---------------------------------- */

.tay-booklet-hero {
    display: grid;
    grid-template-columns:
        minmax(280px, 380px)
        minmax(0, 1fr);
    gap: 52px;
    align-items: start;
    margin-bottom: 56px;
}


/* Cover */

.tay-booklet-cover {
    overflow: hidden;
    background: var(--tay-surface);
    border-radius: 16px;
    padding-top:2rem;
    padding-bottom: 2rem;
    position: sticky;
    top: 64px;
    border: 1px solid var(--tay-border);
    /*
    box-shadow:
        0 8px 24px rgba(0, 0, 0, .05);*/
}

.tay-booklet-cover img {
    display: block;
    width: 100%;
    height: auto;
    transform: scale(1.1);
    /*padding: 2rem;*/
}


/* ---------------------------------
   Booklet content
---------------------------------- */

.tay-booklet-details {
    min-width: 0;
}

.tay-booklet-details .tay-card-meta {
    margin-bottom: 16px;
}

.tay-booklet-details h1 {
    margin: 0 0 18px;
    font-size: clamp(2rem, 3.5vw, 2rem);
    line-height: 1.05;
    font-weight: 500;
    letter-spacing: -.03em;
}

.tay-single-intro {
    max-width: 700px;

    color: var(--tay-muted);

    font-size: 1rem;
    line-height: 1.65;
}

.tay-single-intro > :first-child {
    margin-top: 0;
}

.tay-single-intro > :last-child {
    margin-bottom: 0;
}

.tay-single-byline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;

    margin-top: 18px;

    color: var(--tay-muted);

    font-size: .82rem;
}

.tay-booklet-meta-row, .tay-resource-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 16px;
    padding-bottom: 1rem;
}

.tay-booklet-meta-row .tay-card-meta, .tay-resource-meta-row .tay-card-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
}

.tay-booklet-user-actions, .tay-resource-user-actions {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    margin-left: auto;
}


/* ---------------------------------
   Download panels
---------------------------------- */

.tay-booklet-actions {
    display: flex;
    flex-direction: column;
    gap: 14px;

    margin-top: 32px;
}

.tay-download-panel {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto;
    align-items: center;
    gap: 5rem;
    padding: 20px 22px;
    background: var(--tay-surface);
    border: 1px solid var(--tay-border);
    border-radius: 14px;

    box-shadow:
        0 2px 8px rgba(0, 0, 0, .025);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.tay-download-panel:hover {
    transform: translateY(-2px);

    box-shadow:
        0 10px 28px rgba(0, 0, 0, .055);
}

.tay-download-panel-copy {
    min-width: 0;
}

.tay-download-label {
    display: block;

    margin-bottom: 5px;

    color: var(--tay-muted);

    font-size: .69rem;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .08em;
}

.tay-download-panel h2 {
    margin: 0;

    font-size: 1.05rem;
    line-height: 1.3;
}


/* Buttons */

.tay-download-buttons {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
}

.tay-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 15px;
    border: 1px solid var(--tay-text);
    border-radius: 8px;
    background: var(--tay-text);
    color: #fff;
    text-decoration: none;
    font-size: .84rem;
    font-weight: 600;
    line-height: 1;
    transition:
        transform .2s ease,
        opacity .2s ease,
        background-color .2s ease;
}

.tay-button:hover {
    transform: translateY(-1px);
    opacity: .9;
    color: #fff;
}

.tay-button:active {
    color: #fff;
}

.tay-button:focus {
    color: #fff;
}

.tay-button-secondary {
    background: transparent;
    color: var(--tay-text);
    border-color: var(--tay-border);
}

.tay-button-secondary:hover {
    background: var(--tay-bg);
    color: var(--tay-text);
    opacity: 1;
}

.tay-button-teritiary {
    background-color: transparent;
    color: var(--tay-text);
    border: 0;
    padding: 0;
}

.tay-button-teritiary:hover {
    color: var(--tay-text);
}

.tay-button-secondary:focus {
    color: var(--tay-text);
    background: var(--tay-bg);
}
.tay-button-secondary:active {
    color: var(--tay-text) !important;
    background: var(--tay-bg);
}

.tay-button-icon {
    display: block;
    width: 14px;
    height: 14px;
    flex: 0 0 17px;
}


/* ---------------------------------
   About the text
---------------------------------- */

.tay-about-text {
    margin-top: 0;
    padding-top: 36px;
    padding-bottom: 36px;
    border-top: 1px solid var(--tay-border);
}

.tay-about-text-inner {
    max-width: 820px;
    /*padding: 22px 24px;*/
    /*border: 1px solid var(--tay-border);*/
    border-radius: 12px;
}

.tay-about-text-label {
    margin-bottom: 8px;

    color: var(--tay-muted);

    font-size: .72rem;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .08em;
}

.tay-about-text-content {
    color: var(--tay-muted);
    font-size: 0.9rem;
    line-height: 1.65;
}

.tay-about-text-content > :first-child {
    margin-top: 0;
}

.tay-about-text-content > :last-child {
    margin-bottom: 0;
}

.tay-resource-title-row .tay-booklet-user-actions {
    flex-shrink: 0;
}


/* ---------------------------------
   Preview sections
---------------------------------- */

.tay-preview-section {
    margin-top: 54px;
    padding-top: 34px;

    border-top: 1px solid var(--tay-border);
}

.tay-preview-section > h2 {
    margin: 0 0 18px;

    font-size: 1.2rem;
}

.tay-preview-embed {
    overflow: hidden;

    width: 100%;
    max-width: 920px;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 14px;

    box-shadow:
        0 6px 20px rgba(0, 0, 0, .04);
}

.tay-preview-embed iframe,
.tay-preview-embed embed,
.tay-preview-embed object {
    display: block;

    width: 100%;
    min-height: 680px;

    border: 0;
}


/* Smooth preview jump */

html {
    scroll-behavior: smooth;
}


/* ---------------------------------
   Tablet
---------------------------------- */

@media (max-width: 1000px) {

    .tay-booklet-hero {
        grid-template-columns:
            minmax(250px, 320px)
            minmax(0, 1fr);
        gap: 26px;
    }

    .tay-download-panel {
        grid-template-columns: 1fr;
        gap: 24px;
    }

}


/* ---------------------------------
   Mobile
---------------------------------- */

@media (max-width: 700px) {

    .tay-booklet-hero {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    /*
     * On mobile, details appear before the large cover
     * so the user sees the title immediately.
     */
    .tay-booklet-details {
        order: 1;
    }

    .tay-booklet-cover {
        order: 1;
        width: 100%;
        position: static;
        padding-top: 2rem;
        max-width: 480px;
    }

    .tay-booklet-details h1 {
        font-size: 2rem;
    }

    .tay-booklet-actions {
        margin-top: 26px;
    }

    .tay-download-panel {
        padding: 18px;
    }

    .tay-download-buttons {
        width: 100%;
    }

    .tay-download-buttons .tay-button {
        flex: 1 1 auto;
    }

    .tay-preview-embed iframe,
    .tay-preview-embed embed,
    .tay-preview-embed object {
        min-height: 500px;
    }

}
/* Teacher booklet — Access button */
.tay-single-booklet .tay-download-panel:first-child
.tay-download-buttons a.tay-button {
  background-color: #ff5454;
  border: 1px solid #ff5454;
  color: #ffffff;
}

/* Pupil booklet — Access button */
.tay-single-booklet .tay-download-panel:nth-child(2)
.tay-download-buttons a.tay-button {
  background-color: #05a59f;
  border: 1px solid #05a59f;
  color: #ffffff;
}

/* Hover effect */
.tay-single-booklet .tay-download-panel:nth-child(-n+2)
.tay-download-buttons a.tay-button:hover {
  filter: brightness(0.92);
  color: #ffffff;
}

/* About the text – transparent, image and text side by side */
.tay-single-booklet .tay-about-text {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  margin-top: 2rem;
}
.tay-single-booklet .tay-about-text-inner {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}
.tay-single-booklet .tay-about-text-cover { flex: 0 0 120px; }
.tay-single-booklet .tay-about-text-cover img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}
.tay-single-booklet .tay-about-text-info { flex: 1; min-width: 0; }
.tay-single-booklet .tay-about-text-label {
margin-bottom: 14px;
    font-size: 0.78rem;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--tay-muted);
}
.tay-single-booklet .tay-about-text-title { margin: 0 0 .25rem; }
.tay-single-booklet .tay-about-text-author { margin: 0 0 .75rem; }
.tay-single-booklet .tay-about-text-content > :first-child { margin-top: 0; }
@media (max-width: 600px) {
  .tay-single-booklet .tay-about-text-inner { gap: 1rem; }
  .tay-single-booklet .tay-about-text-cover { flex-basis: 90px; }
}

/* About the text — inside the right-hand booklet column */

.tay-single-booklet .tay-booklet-details .tay-about-text {
  width: 100%;
  margin-top: 2rem;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.tay-single-booklet .tay-booklet-details .tay-about-text-inner {
  background: transparent;
  padding: 1.5rem;
  border: 1px solid var(--tay-border);
  box-shadow: none;
}

.tay-single-intro a {
    text-decoration: none;
}

/* ---------------------------------
   Single Resource
---------------
------------------- */

.tay-single-resource {
    max-width: 1180px;
    margin: 0 auto;
}

.single-resource .tay-app-main, .single-booklet .tay-app-main {
    background: #FBFAFA;
}

/* Main two-column layout */

.tay-resource-hero {
    display: grid;

    grid-template-columns:
        minmax(280px, 380px)
        minmax(0, 1fr);

    gap: 52px;

    align-items: start;
}


/* Thumbnail */

.tay-resource-thumbnail {
    position: sticky;
    top: 64px;
    overflow: hidden;
    background: var(--tay-surface);
    /*border: 1px solid var(--tay-border);
    border-radius: 16px;
    box-shadow:
        0 8px 24px rgba(0, 0, 0, .05);*/
}

.tay-resource-thumbnail img {
    display: block;
    width: 100%;
    height: auto;
}

.tay-single-intro h2 {
    font-size: 1.25rem;
    color: var(--tay-text);
    font-weight: 500;
}

/* Right column */

.tay-resource-details {
    min-width: 0;
}

.tay-resource-details h1 {
    margin: 0 0 18px;
    font-size: clamp(2rem, 3vw, 2rem);
    line-height: 1.05;
    font-weight: 500;
    letter-spacing: -.045em;
}


/* Description */

.tay-resource-details .tay-single-intro {
    max-width: 700px;

    color: var(--tay-muted);

    font-size: 1rem;
    line-height: 1.65;
}

.tay-resource-details .tay-single-intro > :first-child {
    margin-top: 0;
}

.tay-resource-details .tay-single-intro > :last-child {
    margin-bottom: 0;
}


/* Publication date */

.tay-resource-meta {
    margin-top: 18px;

    color: var(--tay-muted);

    font-size: .82rem;
}


/* Download panel */

.tay-resource-download {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    align-items: center;
    gap: 24px;
    margin-top: 32px;
    padding: 20px 22px;
    background: var(--tay-surface);
    border: 1px solid var(--tay-border);
    border-radius: 14px;
    box-shadow:
        0 2px 8px rgba(0, 0, 0, .025);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.tay-resource-download:hover {
    transform: translateY(-2px);

    box-shadow:
        0 10px 28px rgba(0, 0, 0, .055);
}

.tay-resource-download h2 {
    margin: 0;

    font-size: 1.05rem;
    line-height: 1.3;
}


/* ---------------------------------
   Tablet
---------------------------------- */

@media (max-width: 900px) {

    .tay-resource-hero {
        grid-template-columns:
            minmax(240px, 320px)
            minmax(0, 1fr);

        gap: 34px;
    }

    .tay-resource-download {
        grid-template-columns: 1fr;
    }

}


/* ---------------------------------
   Mobile
---------------------------------- */

@media (max-width: 700px) {

    .tay-resource-hero {
        display: flex;
        flex-direction: column;

        gap: 28px;
    }

    /*
     * Show information first on mobile,
     * just like the Booklet page.
     */
    .tay-resource-details {
        order: 1;
    }

    .tay-resource-thumbnail {
        order: 1;
        position: static;
        width: 100%;
        max-width: 480px;
    }

    .tay-resource-details h1 {
        font-size: 2rem;
    }

    .tay-resource-download {
        padding: 18px;
        margin-bottom: 2rem;
    }

    .tay-resource-download-action,
    .tay-resource-download .tay-button {
        width: 100%;
    }

}

/* Resource download file information */

.tay-resource-download-filename {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.tay-resource-download-meta {
    margin-top: 0.25rem;
    font-size: 0.8rem;
    color: #667085;
    line-height: 1.4;
}

/* Single resource: title and Save button */

.tay-resource-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1rem;
}

.tay-resource-title-row h1 {
    flex: 1;
    min-width: 0;
    margin: 0;
}

.tay-resource-title-row .tay-resource-user-actions {
    flex-shrink: 0;
}

/* Mobile */
@media (max-width: 767px) {
    .tay-resource-title-row {
        gap: 1rem;
        align-items: flex-start;
    }
}

/* Resource archive: icon-only Save button */

.tay-resource-card {
    position: relative;
}

.tay-resource-card-save {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 5;
}

.tay-resource-card-save button {
    width: 40px;
    height: 40px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
}

.tay-resource-card-save button span:not(:has(svg)) {
    display: none;
}

.tay-resource-card-save button svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

/* ---------------------------------
   Single Live Event
---------------------------------- */

.tay-single-event {
    width: 100%;
    max-width: 1180px;

    margin: 0 auto;
}


/* ---------------------------------
   Main two-column layout
---------------------------------- */

.tay-event-hero {
    display: grid;

    grid-template-columns:
        minmax(280px, 380px)
        minmax(0, 1fr);

    gap: 52px;

    align-items: start;
}


/* ---------------------------------
   LEFT COLUMN
   Event thumbnail
---------------------------------- */

.tay-event-thumbnail-single {
    position: sticky;
    top: 32px;

    overflow: hidden;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 16px;

    box-shadow:
        0 8px 24px rgba(0, 0, 0, .05);
}

.tay-event-thumbnail-single img {
    display: block;

    width: 100%;
    height: auto;
}


/* Account for WordPress admin bar */

.admin-bar .tay-event-thumbnail-single {
    top: 64px;
}


/* ---------------------------------
   RIGHT COLUMN
---------------------------------- */

.tay-event-details {
    min-width: 0;
}


/* Taxonomy pills */

.tay-event-details .tay-card-meta {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;

    margin-bottom: 16px;
}


/* Title */

.tay-event-details h1 {
    max-width: 760px;
    margin:
        0
        0
        18px;
    font-size:
        clamp(
            2rem,
            3vw,
            2rem
        );
    line-height: 1.05;
    font-weight: 500;
}


/* Main description */

.tay-event-details .tay-single-intro {
    max-width: 720px;
    color: var(--tay-muted);
    font-size: 1rem;
    line-height: 1.65;
    padding-bottom: 18px;
}

.tay-event-details .tay-single-intro > :first-child {
    margin-top: 0;
}

.tay-event-details .tay-single-intro > :last-child {
    margin-bottom: 0;
}


/* ---------------------------------
   Speaker
---------------------------------- */

.tay-event-single-speaker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    color: var(--tay-muted);
    font-size: .88rem;
    font-weight: 500;
}

.tay-meta-icon {
    width: 17px;
    height: 17px;

    flex: 0 0 17px;
}


/* ---------------------------------
   Date + Time panel
---------------------------------- */

    .tay-event-schedule {
        overflow: hidden;
    
        background: var(--tay-surface);
    
        border: 1px solid var(--tay-border);
        border-radius: 12px;
    }
    
 .tay-event-schedule-main {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

.tay-event-schedule-row {
    display: flex;
    align-items: center;

    min-width: 0;

    gap: 14px;

    padding: 20px 22px;
}


.tay-event-schedule-row + .tay-event-schedule-row {
    border-left:
        1px
        solid
        var(--tay-border);
}


/* Schedule icons */

.tay-event-schedule-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    border-radius: 10px;

    background: #f4f2ff;
    color: #5147d9;
}


.tay-event-schedule-icon svg {
    width: 19px;
    height: 19px;
}


/* Date/time labels */

.tay-event-schedule-label {
    display: block;

    margin-bottom: 3px;

    color: var(--tay-muted);

    font-size: .68rem;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .08em;
}


.tay-event-schedule strong {
    display: block;
    color: var(--tay-text);
    font-size: .92rem;
    font-weight: 600;

    line-height: 1.35;
}


/* ---------------------------------
   Event Actions
---------------------------------- */

.tay-event-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
    margin-top: 22px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--tay-border);
    
}


/* Main registration CTA */

.tay-event-primary-action {
    min-height: 46px;

    padding-inline: 18px;
}


/* Zoom link */

.tay-event-zoom-link {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    color: var(--tay-text);

    font-size: .85rem;
    font-weight: 600;

    text-decoration: none;
}


.tay-event-zoom-link:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* ---------------------------------
   Replay section
---------------------------------- */

.tay-event-replay {
    margin-top: 48px;

    padding-top: 32px;

    border-top:
        1px
        solid
        var(--tay-border);
}


.tay-event-replay-header {
    margin-bottom: 18px;
}


.tay-event-replay-header .tay-download-label {
    margin-bottom: 7px;
}


.tay-event-replay-header h2 {
    margin: 0;

    font-size: 1.35rem;
    line-height: 1.25;
}

.tay-pill .tay-pill-replay {
    font-size: .72rem;
    padding: 4px 8px;
}


/* Video wrapper */

.tay-event-video {
    overflow: hidden;

    width: 100%;

    background: #000;

    border-radius: 14px;

    box-shadow:
        0 8px 28px
        rgba(0, 0, 0, .08);
}


.tay-event-video {
    overflow: hidden;
    width: 100%;

    background: #000;

    border-radius: 14px;

    box-shadow:
        0 8px 28px rgba(0, 0, 0, .08);
}

.tay-event-video iframe {
    display: block;

    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;

    border: 0;
}


/* Past event status */

.tay-event-ended {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    margin-top: 22px;

    padding: 10px 14px;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 9px;

    color: var(--tay-muted);

    font-size: .85rem;
    font-weight: 500;
}

.tay-event-ended-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 18px;
    height: 18px;
}

.tay-event-ended-icon svg {
    width: 16px;
    height: 16px;
}


/* VideoPress fallback */

.tay-event-replay-fallback {
    padding: 22px;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 14px;
}

.tay-event-replay-fallback p {
    margin: 0 0 14px;
}


/* ---------------------------------
   Tablet
---------------------------------- */

@media (max-width: 1000px) {

    .tay-event-hero {
        grid-template-columns:
            minmax(240px, 310px)
            minmax(0, 1fr);

        gap: 34px;
    }

    .tay-event-schedule {
        grid-template-columns: 1fr;
    }

    .tay-event-schedule-row
    + .tay-event-schedule-row {
        border-left: 0;

        border-top:
            1px
            solid
            var(--tay-border);
    }

}


/* ---------------------------------
   Mobile
---------------------------------- */

@media (max-width: 700px) {

    .tay-event-hero {
        display: flex;
        flex-direction: column;

        gap: 28px;
    }


    /*
     * Show useful event information
     * before the large image on mobile.
     */

    .tay-event-details {
        order: 1;
    }

    .tay-event-thumbnail-single {
        position: static;

        order: 2;

        width: 100%;
        max-width: 480px;
    }


    .tay-event-details h1 {
        font-size:
            clamp(
                2rem,
                10vw,
                2.8rem
            );
    }


    .tay-event-schedule {
        grid-template-columns: 1fr;
    }


    .tay-event-actions {
        align-items: stretch;
        flex-direction: column;
    }


    .tay-event-primary-action {
        width: 100%;
    }


    .tay-event-zoom-link {
        justify-content: center;

        width: 100%;

        padding: 10px;
    }


    .tay-event-replay {
        margin-top: 38px;
        padding-top: 28px;
    }

}

/* ---------------------------------
   Live Event Sections
---------------------------------- */

.tay-events-section {
    margin-top: 36px;
}

.tay-events-section-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 24px;

    margin-bottom: 20px;
}

.tay-events-section-header h2 {
    margin: 4px 0 0;
    font-size: 1rem;
    line-height: 1.2;
}

.tay-events-section-header p {
    margin: 7px 0 0;

    color: var(--tay-muted);

    font-size: .9rem;
}


/* Small section indicator */

.tay-section-eyebrow {
    display: block;

    color: var(--tay-muted);

    font-size: .68rem;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .09em;
}


/* Event count */

.tay-events-count {
    padding: 6px 10px;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 999px;

    color: var(--tay-muted);

    font-size: .75rem;
    font-weight: 600;
}


/* ---------------------------------
   Past events divider
---------------------------------- */

.tay-past-events {
    margin-top: 64px;

    padding-top: 36px;

    border-top: 1px solid var(--tay-border);
}


/* Past event cards can be slightly quieter */

.tay-past-events .tay-event-card {
    background: var(--tay-surface);
}


/* Empty upcoming state */

.tay-events-empty {
    padding: 24px;
    background: var(--tay-surface);
    border: 1px dashed var(--tay-border);
    border-radius: 14px;
    font-size: 0.8rem;
    color: var(--tay-muted);
}

.tay-events-empty p {
    margin: 0;
}


/* Mobile */

@media (max-width: 700px) {

    .tay-events-section {
        margin-top: 28px;
    }

    .tay-past-events {
        margin-top: 48px;
        padding-top: 28px;
    }

    .tay-events-section-header {
        align-items: flex-start;
    }

}

/* =================================
   Add to Calendar
================================= */

.tay-add-calendar {
    justify-content: space-between;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 18px;
    padding-top: 16px;

    border-top: 1px solid var(--tay-border);
}

.tay-add-calendar-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tay-calendar-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    min-height: 38px;
    padding: 8px 11px;

    background: transparent;
    color: var(--tay-text);

    border: 1px solid var(--tay-border);
    border-radius: 8px;

    font-size: .76rem;
    font-weight: 600;
    line-height: 1;

    text-decoration: none;

    transition:
        background-color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.tay-calendar-button svg {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

.tay-calendar-button:hover {
    background: var(--tay-surface);
    transform: translateY(-1px);
}

.tay-event-calendar-label {
    margin-bottom: 0px;
    line-height: 1;
}

@media (max-width: 600px) {

    .tay-add-calendar {
        display: block;
    }

    .tay-add-calendar-buttons {
        flex-direction: column;
    }

    .tay-calendar-button {
        width: 100%;
    }

}

/* ---------------------------------
   Single Video
---------------------------------- */

.tay-single-video {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}


/* ---------------------------------
   Collection heading
---------------------------------- */

.tay-video-collection-heading {
    margin: 26px 0 20px;
}

.tay-video-collection-heading .tay-section-eyebrow {
    display: block;
    margin-bottom: 6px;
}

.tay-video-collection-title {
    margin: 0;
    color: var(--tay-text);
    font-size: clamp(1.4rem, 2vw, 1.8rem);
    line-height: 1.2;
    letter-spacing: -.025em;
}


/* ---------------------------------
   Main viewer layout
---------------------------------- */

.tay-video-viewer {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(300px, 360px);

    align-items: start;
    gap: 28px;
}

.tay-video-main {
    min-width: 0;
}


/* ---------------------------------
   Video player
---------------------------------- */

.tay-video-player-section {
    margin: 0;
}

.tay-video-player {
    overflow: hidden;
    width: 100%;

    background: #000;

    border-radius: 14px;

    box-shadow:
        0 10px 30px rgba(0, 0, 0, .08);
}

.tay-video-player iframe {
    display: block;

    width: 100%;
    height: auto;

    aspect-ratio: 16 / 9;

    border: 0;
}


/* VideoPress fallback */

.tay-video-player-fallback {
    padding: 28px;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 14px;
}

.tay-video-player-fallback p {
    margin: 0 0 16px;
}


/* ---------------------------------
   Current video information
---------------------------------- */

.tay-video-details {
    max-width: none;

    margin-top: 26px;
}


/* Collection / video position */

.tay-video-context {
    display: flex;
    flex-wrap: wrap;
    align-items: center;

    gap: 8px;

    margin-bottom: 10px;

    color: var(--tay-muted);

    font-size: .75rem;
    font-weight: 600;

    line-height: 1.3;

    text-transform: uppercase;
    letter-spacing: .04em;
}

.tay-video-context-divider {
    opacity: .5;
}


/* Video title */

.tay-video-title {
    margin: 0 0 16px;
    color: var(--tay-text);
    font-size: 1.35rem;
    line-height: 1.15;
    font-weight: 500;
    letter-spacing: -0.045em !important;
}


/* Description */

.tay-video-details .tay-single-intro {
    max-width: 760px;

    margin-top: 22px;

    color: var(--tay-muted);

    font-size: 1rem;
    line-height: 1.65;
}

.tay-video-details
.tay-single-intro > :first-child {
    margin-top: 0;
}

.tay-video-details
.tay-single-intro > :last-child {
    margin-bottom: 0;
}


/* ---------------------------------
   Author + duration
---------------------------------- */

.tay-video-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;

    gap: 18px;

    margin-top: 16px;
}

.tay-video-meta-item {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    color: var(--tay-muted);

    font-size: .86rem;
    font-weight: 500;
}

.tay-video-meta-item .tay-meta-icon {
    width: 17px;
    height: 17px;

    flex: 0 0 17px;
}


/* Topics */

.tay-video-topics {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;

    margin-top: 20px;
}


/* User actions */

.tay-video-user-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;

    gap: 10px;

    margin-top: 22px;
}


/* ---------------------------------
   Collection playlist
---------------------------------- */

.tay-video-playlist {
    overflow: hidden;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 12px;
}


/* Header */

.tay-video-playlist__header {
    display: flex;
    align-items: center;

    gap: 8px;

    min-height: 48px;

    padding: 12px 15px;

    color: var(--tay-text);

    border-bottom: 1px solid var(--tay-border);

    font-size: .75rem;
    font-weight: 600;

    text-transform: uppercase;
    letter-spacing: .04em;
}

.tay-video-playlist__header-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 18px;
    height: 18px;

    color: var(--tay-text);
}

.tay-video-playlist__header-icon svg {
    width: 18px;
    height: 18px;
}


/* Scrollable playlist */

.tay-video-playlist__items {
    max-height: 520px;

    overflow-y: auto;

    overscroll-behavior: contain;

    scrollbar-width: thin;
}


/* Individual video */

.tay-video-playlist-item {
    position: relative;

    display: grid;

    grid-template-columns:
        92px
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 12px;

    min-height: 82px;

    padding: 10px 12px;

    color: var(--tay-text);

    border-bottom: 1px solid var(--tay-border);

    text-decoration: none;

    transition:
        background-color .18s ease,
        color .18s ease;
}

.tay-video-playlist-item:last-child {
    border-bottom: 0;
}

.tay-video-playlist-item:hover {
    background: rgba(0, 0, 0, .025);
    color: var(--tay-text);
}


/* Current video */

.tay-video-playlist-item.is-current {
    background: rgba(0, 0, 0, .055);
}

.tay-video-playlist-item.is-current::before {
    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 3px;

    background: var(--tay-text);

    content: "";
}


/* Thumbnail */

.tay-video-playlist-item__image {
    position: relative;

    overflow: hidden;

    width: 92px;

    aspect-ratio: 16 / 9;

    background: #eceff1;

    border-radius: 6px;
}

.tay-video-playlist-item__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.tay-video-playlist-item__image--empty {
    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--tay-muted);
}

.tay-video-playlist-item__image--empty svg {
    width: 20px;
    height: 20px;
}


/* Playlist copy */

.tay-video-playlist-item__content {
    min-width: 0;
}

.tay-video-playlist-item__title {
    color: inherit;

    font-size: .86rem;
    font-weight: 600;

    line-height: 1.35;
}

.tay-video-playlist-item__duration {
    display: block;

    margin-top: 5px;

    color: var(--tay-muted);

    font-size: .72rem;
    line-height: 1;
}


/* Completed indicator */

.tay-video-playlist-item__complete {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: var(--tay-text);
    border-radius: 50%;
    border: 1px solid #cfe9da;
    background: #e8f6ee;
    color: #267346;
}

.tay-video-playlist-item__complete svg {
    width: 13px;
    height: 13px;
}


/* ---------------------------------
   Video resources
---------------------------------- */

.tay-video-resources {
    max-width: 820px;

    margin-top: 52px;
    padding-top: 34px;

    border-top: 1px solid var(--tay-border);
}

.tay-video-resources-header {
    margin-bottom: 18px;
}

.tay-video-resources-header h2 {
    margin: 5px 0 0;

    font-size: 1.35rem;
    line-height: 1.25;
}


/* Resource list */

.tay-video-resources-list {
    display: flex;
    flex-direction: column;

    gap: 10px;
}


/* Individual resource */

.tay-video-resource-item {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 20px;

    padding: 16px 18px;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 12px;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.tay-video-resource-item:hover {
    transform: translateY(-1px);

    box-shadow:
        0 6px 20px rgba(0, 0, 0, .04);
}


/* File information */

.tay-video-resource-copy {
    display: flex;
    align-items: center;

    min-width: 0;

    gap: 12px;
}

.tay-video-resource-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    flex: 0 0 38px;

    border-radius: 9px;

    background: #f4f2ff;
    color: #5147d9;
}

.tay-video-resource-icon svg {
    width: 18px;
    height: 18px;
}

.tay-video-resource-title {
    min-width: 0;

    color: var(--tay-text);

    font-size: .9rem;
    font-weight: 600;
    line-height: 1.35;
}


/* ---------------------------------
   Tablet
---------------------------------- */

@media (max-width: 1000px) {

    .tay-single-video {
        max-width: 100%;
    }

    .tay-video-viewer {
        grid-template-columns:
            minmax(0, 1fr)
            300px;

        gap: 20px;
    }

    .tay-video-playlist-item {
        grid-template-columns:
            76px
            minmax(0, 1fr)
            auto;

        gap: 10px;
    }

    .tay-video-playlist-item__image {
        width: 76px;
    }

}


/* ---------------------------------
   Mobile
---------------------------------- */

@media (max-width: 760px) {

    .tay-video-collection-heading {
        margin-bottom: 16px;
    }

    .tay-video-viewer {
        display: flex;
        flex-direction: column;

        gap: 28px;
    }

    .tay-video-main,
    .tay-video-playlist {
        width: 100%;
    }

    .tay-video-playlist {
        order: 2;
    }

    .tay-video-playlist__items {
        max-height: none;

        overflow: visible;
    }

    .tay-video-details {
        margin-top: 22px;
    }

    .tay-video-title {
        font-size: 1.55rem;
    }

    .tay-video-details .tay-single-intro {
        font-size: .95rem;
    }

    .tay-video-playlist-item {
        grid-template-columns:
            105px
            minmax(0, 1fr)
            auto;

        min-height: 84px;
    }

    .tay-video-playlist-item__image {
        width: 105px;
    }

    .tay-video-resources {
        max-width: 100%;

        margin-top: 42px;
        padding-top: 28px;
    }

    .tay-video-resource-item {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .tay-video-resource-item .tay-button {
        width: 100%;
        justify-content: center;
    }

}

/* Video slider – title hover effect */
body.post-type-archive-video .tay-video-slider a {
    text-decoration: none;
}

/* Smooth colour transition */
body.post-type-archive-video .tay-video-slider a h3 {
    transition: color 0.25s ease;
}

/* Lighter title on hover */
body.post-type-archive-video .tay-video-slider a:hover h3 {
    color: #6b7280;
    text-decoration: none;
}


/* ---------------------------------
   Small mobile
---------------------------------- */

@media (max-width: 480px) {

    .tay-video-playlist-item {
        grid-template-columns:
            88px
            minmax(0, 1fr)
            auto;

        padding: 10px;
    }

    .tay-video-playlist-item__image {
        width: 88px;
    }

    .tay-video-playlist-item__title {
        font-size: .82rem;
    }

}


/* ---------------------------------
   Mobile
---------------------------------- */

@media (max-width: 700px) {

    .tay-video-player {
        border-radius: 12px;
    }

    .tay-video-details h1 {
        font-size:
            clamp(
                2rem,
                5vw,
                2.5rem
            );
    }

    .tay-video-meta {
        gap: 12px;
    }

    .tay-video-resources {
        margin-top: 42px;
        padding-top: 28px;
    }

    .tay-video-resource-item {
        grid-template-columns: 1fr;
        align-items: stretch;
        padding: 16px;
    }

    .tay-video-resource-item .tay-button {
        width: 100%;
    }

}

/* =================================
   Dashboard
================================= */

.tay-dashboard {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}


/* ---------------------------------
   Welcome
---------------------------------- */

.tay-dashboard-welcome {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 32px;

    padding: 32px;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 18px;
}

.tay-dashboard-welcome-copy {
    max-width: 700px;
}

.tay-dashboard-eyebrow {
    display: block;
    margin-bottom: 8px;
    color: var(--tay-muted);
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.tay-dashboard-welcome h1 {
    margin: 0 0 10px;

    font-size: clamp(1.125rem, 2vw, 1.5rem);
    line-height: 1.05;
    letter-spacing: -.025em;
}

.tay-dashboard-welcome p {
    margin: 0;

    color: var(--tay-muted);

    font-size: 1rem;
    line-height: 1.55;
}


/* ---------------------------------
   Dashboard sections
---------------------------------- */

.tay-dashboard-section {
    /*margin-top: 46px;
    padding: 32px;*/
    margin-top: 32px;
    padding-bottom: 32px;
}

body.post-type-archive-video .tay-dashboard-section {
    padding-bottom: 0px;
    margin-top: 48px;
}



/*@media (max-width: 700px) {
    .tay-dashboard-section {
        padding: 24px;
    }
}*/


.tay-dashboard-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
}

.tay-dashboard-section-heading h2 {
    margin: 0;
    color: var(--tay-text);
    font-size: 1rem;
}


/* ---------------------------------
   Explore grid
---------------------------------- */

.tay-dashboard-explore-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 14px;
}


/* ---------------------------------
   Explore cards
---------------------------------- */

.tay-dashboard-explore-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-height: 190px;

    padding: 20px;

    background: #fff;

    border: 1px solid var(--tay-border);
    border-radius: 14px;

    color: var(--tay-text);
    text-decoration: none;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.tay-dashboard-explore-card:hover {
    transform: translateY(-3px);

    box-shadow:
        0 10px 28px rgba(0, 0, 0, .06);
}

.tay-dashboard-explore-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    margin-bottom: 24px;

    background: var(--tay-surface);

    border-radius: 10px;
}

.tay-dashboard-explore-icon svg {
    width: 20px;
    height: 20px;
}

.tay-dashboard-explore-card h3 {
    margin: 0 0 7px;

    font-size: 1rem;
}

.tay-dashboard-explore-card p {
    margin: 0;
    padding-right: 16px;

    color: var(--tay-muted);

    font-size: .82rem;
    line-height: 1.45;
}

.tay-dashboard-card-arrow {
    position: absolute;

    right: 18px;
    bottom: 16px;

    font-size: 1.1rem;

    transition: transform .2s ease;
}

.tay-dashboard-explore-card:hover
.tay-dashboard-card-arrow {
    transform: translateX(3px);
}


/* ---------------------------------
   Tablet
---------------------------------- */

@media (max-width: 1000px) {

    .tay-dashboard-explore-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* ---------------------------------
   Mobile
---------------------------------- */

@media (max-width: 700px) {

    .tay-dashboard-welcome {
        flex-direction: column;
        align-items: stretch;

        padding: 24px;
    }

    .tay-dashboard-welcome-action .tay-button {
        width: 100%;
    }

    .tay-dashboard-section {
        margin-top: 38px;
    }

    .tay-dashboard-explore-grid {
        grid-template-columns: 1fr;
    }

    .tay-dashboard-explore-card {
        min-height: 160px;
    }

}

/* =================================
   Dashboard – New This Quarter
================================= */

.tay-quarter-heading {
    align-items: flex-end;
}

.tay-dashboard-section-intro {
    max-width: 580px;
    margin:
        7px
        0
        0;
    color: var(--tay-muted);
    font-size: .9rem;
    line-height: 1.5;
}


.tay-dashboard-section-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--tay-text);
    text-decoration: none;
    font-size: .82rem;
    font-weight: 600;
}

.tay-dashboard-section-link:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* ---------------------------------
   Quarter progress – subtle version
---------------------------------- */

.tay-quarter-progress {
    margin-top: 14px;
    margin-bottom: 22px;

    padding: 0;

    background: transparent;
    border: 0;
    border-radius: 0;
}

.tay-quarter-progress-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;

    margin-bottom: 7px;

    font-size: .74rem;
}

.tay-quarter-progress-top span {
   font-size: .7rem;
    color: var(--tay-muted);
}

.tay-quarter-progress-top strong {
  	font-size: .74rem;
    color: var(--tay-muted);

    font-weight: 600;
}


/* Progress bar */

.tay-progress-track {
    overflow: hidden;

    width: 100%;
    height: 4px;

    background: #e3e3e8;

    border-radius: 999px;
}

.tay-progress-value {
    display: block;

    height: 100%;

    background: var(--tay-text);

    border-radius: inherit;

    transition: width .3s ease;
}


/* Badge unlock message */

.tay-quarter-badge-progress {
    margin: 7px 0 0;

    color: var(--tay-muted);

    font-size: .7rem;
    line-height: 1.4;
}

/* ---------------------------------
   Video grid
---------------------------------- */

.tay-quarter-video-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 18px;
}


/* Card */

.tay-quarter-video-card {
    overflow: hidden;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 14px;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.tay-quarter-video-card:hover {
    transform: translateY(-3px);

    /*box-shadow:
        0 10px 28px rgba(0,0,0,.06);*/
}


/* Thumbnail */

.tay-quarter-video-image {
    position: relative;

    display: block;

    overflow: hidden;

    background: #111;

    color: inherit;
    text-decoration: none;
}

.tay-quarter-video-image img {
    display: block;

    width: 100%;

    aspect-ratio: 16 / 9;

    object-fit: cover;

    transition:
        transform .3s ease;
}

/*.tay-quarter-video-card:hover
.tay-quarter-video-image img {
    transform: scale(1.02);
}


/* Play icon */

.tay-quarter-play {
    position: absolute;

    top: 50%;
    left: 50%;

    transform: translate(-50%, -50%);

    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    background: rgba(255, 255, 255, .94);

    border-radius: 50%;

    color: var(--tay-text);

    box-shadow:
        0 4px 14px rgba(0, 0, 0, .14);

    transition:
        transform .2s ease,
        background-color .2s ease;
}

.tay-quarter-play svg {
    width: 18px;
    height: 18px;

    margin-left: 2px;
}

.tay-quarter-video-card:hover .tay-quarter-play {
    transform:
        translate(-50%, -50%)
        scale(1.06);
}


/* Completed badge */

.tay-video-completed-badge {
    position: absolute;

    bottom: 12px;
    right: 12px;

    display: inline-flex;
    align-items: center;

    gap: 5px;

    padding: 6px 9px;

    background: #e8f6ee;
    color: #267346;

    border-radius: 999px;

    font-size: .7rem;
    font-weight: 700;
}

.tay-video-completed-badge svg {
    width: 13px;
    height: 13px;
}

.tay-video-complete-button.is-loading {
    opacity: .65;
    cursor: wait;
}

.tay-video-complete-button.is-complete:hover {
    background: #f4faf6;
}

/* Content */

.tay-quarter-video-content {
    padding: 16px;
}

.tay-quarter-video-content
.tay-card-meta {
    margin-bottom: 10px;
}

.tay-quarter-video-content h3 {
    margin:
        0
        0
        9px;

    font-size: 1rem;
    line-height: 1.35;
}

.tay-quarter-video-content h3 a {
    color: var(--tay-text);
    text-decoration: none;
}

.tay-quarter-video-content h3 a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Video Collection card footer */

.tay-quarter-collection-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
    border-top: 1px solid var(--tay-border);
    padding-top: 14px;
    margin-top: auto;
}

/* Completed cards: two links */

.tay-quarter-collection-footer-links {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--tay-border);
    font-size: .75rem;
    width: 100%;
}

.tay-quarter-collection-footer-link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 14px;
    border-top: 1px solid var(--tay-border);
    font-size: .75rem;
    width: 100%;
}

/* Match the Course card footer links */

.tay-quarter-collection-footer a {
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
    text-decoration: none;
    transition: opacity 0.2s ease;
    color: var(--tay-text);
}

.tay-quarter-collection-footer a:hover {
    opacity: 0.7;
}

/* ========================================
   Achievement modal
======================================== */

.tay-achievement-modal[hidden] {
    display: none !important;
}

.tay-achievement-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    padding: 20px;
}

.tay-achievement-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 17, 17, 0.48);
    backdrop-filter: blur(2px);
}

.tay-achievement-modal__card {
    position: relative;
    z-index: 1;

    width: min(100%, 430px);

    padding: 36px 32px 32px;

    background: var(--tay-surface, #ffffff);
    border: 1px solid var(--tay-border, #e6e6ea);
    border-radius: 14px;

    text-align: center;

    box-shadow:
        0 20px 60px
        rgba(0, 0, 0, 0.16);
}

.tay-achievement-modal__badge {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 110px;
    height: 110px;
    margin: 0 auto 20px;
}

.tay-achievement-modal__badge-image[hidden] {
    display: none !important;
}

.tay-achievement-modal__badge-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* ---------------------------------
   Achievement badge pop animation
---------------------------------- */

@keyframes tay-badge-pop {

    0% {
        opacity: 0;
        transform: scale(0.55);
    }

    55% {
        opacity: 1;
        transform: scale(1.12);
    }

    75% {
        transform: scale(0.96);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }

}

.tay-achievement-modal:not([hidden])
.tay-achievement-modal__badge {
    animation: tay-badge-pop 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
    transform-origin: center;
}

.tay-achievement-modal:not([hidden])
.tay-achievement-modal__badge {
    animation-delay: 0.15s;
}

@media (prefers-reduced-motion: reduce) {

    .tay-achievement-modal:not([hidden])
    .tay-achievement-modal__badge {
        animation: none;
    }

}

.tay-achievement-modal__card h2 {
    margin: 8px 0 12px;
    font-size: 1.5rem;
    font-weight: 500;
}

.tay-achievement-modal__text {
    margin: 0 auto 24px;

    max-width: 330px;

    color: var(--tay-muted, #6f6f78);
    line-height: 1.6;
}

.tay-achievement-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;

    width: 34px;
    height: 34px;

    display: grid;
    place-items: center;

    padding: 0;

    border: 0;
    border-radius: 50%;

    background: transparent;
    color: var(--tay-muted, #6f6f78);

    font-size: 24px;
    line-height: 1;

    cursor: pointer;
}

.tay-achievement-modal__close:hover {
    background: #f4f4f6;
    color: var(--tay-text, #171717);
}

body.tay-achievement-modal-open {
    overflow: hidden;
}

@media (max-width: 600px) {

    .tay-achievement-modal__card {
        padding: 32px 22px 26px;
    }

}

/* Author + duration */

.tay-quarter-video-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;

    gap: 5px;

    color: var(--tay-muted);

    font-size: .77rem;
}


/* ---------------------------------
   Tablet
---------------------------------- */

@media (max-width: 1000px) {

    .tay-quarter-video-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* ---------------------------------
   Mobile
---------------------------------- */

@media (max-width: 700px) {

    .tay-quarter-heading {
        align-items: flex-start;
    }

    .tay-quarter-progress-top {
        align-items: flex-start;
        flex-direction: column;

        gap: 4px;
    }

    .tay-quarter-video-grid {
        grid-template-columns: 1fr;
    }

}

/* ---------------------------------
   Dashboard Upcoming Event
---------------------------------- */

.tay-dashboard-event {
    display: grid;

    grid-template-columns:
        auto
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 28px;

    padding: 22px 24px;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 14px;
}

.tay-dashboard-event-date {
    display: flex;
    flex-direction: column;

    min-width: 130px;

    gap: 3px;
}

.tay-dashboard-event-date span {
    color: var(--tay-muted);

    font-size: .76rem;
}

.tay-dashboard-event-date strong {
    font-size: .92rem;
}

.tay-dashboard-event-content h3 {
    margin:
        0
        0
        4px;

    font-size: 1rem;
}

.tay-dashboard-event-content p {
    margin: 0;

    color: var(--tay-muted);

    font-size: .82rem;
}


@media (max-width: 700px) {

    .tay-dashboard-event {
        grid-template-columns: 1fr;

        gap: 16px;
    }

    .tay-dashboard-event .tay-button {
        width: 100%;
    }

}

.tay-video-user-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 14px;
}

.tay-video-complete-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    min-height: 42px;

    padding: 10px 15px;

    border: 1px solid var(--tay-border);
    border-radius: 9px;

    background: var(--tay-surface);
    color: var(--tay-text);

    font: inherit;
    font-size: .84rem;
    font-weight: 600;

    cursor: pointer;

    transition:
        transform .2s ease,
        background-color .2s ease,
        border-color .2s ease;
}

.tay-video-complete-button:hover:not(:disabled) {
    transform: translateY(-1px);

    background: var(--tay-bg);
}

.tay-video-complete-button.is-complete {
    background: #e8f6ee;
    color: #267346;

    border-color: #cfe9da;
}

.tay-video-complete-icon {
    width: 17px;
    height: 17px;
}

.tay-video-library-header {
    padding-top: 32px;
    border-top: 1px solid var(--tay-border);
}

.tay-video-library-header h2 {
    margin: 0 0 7px;
    font-size: 1.35rem;
}

.tay-video-library-header p {
    margin: 0;

    color: var(--tay-muted);

    font-size: .88rem;
}

/* =================================
   Dashboard – Continue Learning
================================= */

.tay-continue-card {
    display: grid;

    grid-template-columns:
        minmax(220px, 320px)
        minmax(0, 1fr);

    overflow: hidden;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 16px;
}


/* Image */

.tay-continue-image {
    display: block;

    min-height: 220px;

    overflow: hidden;

    background: #f3f3f3;
}

.tay-continue-image img {
    display: block;

    width: 100%;
    height: 100%;

    min-height: 220px;

    object-fit: cover;
}


/* Content */

.tay-continue-content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    min-width: 0;

    padding: 30px;
}

.tay-continue-content h3 {
    margin:
        0
        0
        24px;

    font-size: 1.4rem;
    line-height: 1.25;
}

.tay-continue-content h3 a {
    color: var(--tay-text);
    text-decoration: none;
}

.tay-continue-content h3 a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* Progress */

.tay-continue-progress {
    max-width: 560px;
}

.tay-continue-progress-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 9px;

    font-size: .8rem;
}

.tay-continue-progress-top span {
    color: var(--tay-muted);
}

.tay-continue-progress-top strong {
    color: var(--tay-text);
    font-weight: 600;
}


/* CTA */

.tay-continue-action {
    margin-top: 24px;
}


/* Tablet */

@media (max-width: 850px) {

    .tay-continue-card {
        grid-template-columns:
            minmax(180px, 260px)
            minmax(0, 1fr);
    }

}


/* Mobile */

@media (max-width: 700px) {

    .tay-continue-card {
        grid-template-columns: 1fr;
    }

    .tay-continue-image,
    .tay-continue-image img {
        min-height: 0;
    }

    .tay-continue-image img {
        aspect-ratio: 16 / 9;
    }

    .tay-continue-content {
        padding: 22px;
    }

    .tay-continue-action .tay-button {
        width: 100%;
    }

}
/* =================================
   Courses Hub
================================= */

.tay-courses-hub {
    width: 100%;
}

.tay-courses-section {
    margin-top: 48px;
}

.tay-courses-section:first-child {
    margin-top: 16px;
    /*padding: 32px;
    background: var(--tay-surface);
    border: 1px solid var(--tay-border);
    border-radius: 18px;*/
}

/*@media (max-width: 700px) {
.tay-courses-section:first-child {
    padding: 24px;
    }
}*/


/* ---------------------------------
   Section headings
---------------------------------- */

.tay-courses-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 24px;

    margin-bottom: 18px;
}

.tay-courses-section-heading h2 {
    margin: 0;
    font-size: 1rem;
    line-height: 1.2;
}

.tay-courses-section-heading p {
    max-width: 600px;

    margin:
        7px
        0
        0;

    color: var(--tay-muted);

    font-size: .88rem;
    line-height: 1.5;
}

.tay-courses-count {
    color: var(--tay-muted);

    font-size: .78rem;
    font-weight: 600;
}


/* =================================
   Continue Learning
================================= */

.tay-course-progress-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 16px;
}

.tay-course-progress-card {
    display: grid;

    grid-template-columns:
        180px
        minmax(0, 1fr);

    overflow: hidden;

    min-height: 220px;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 14px;
}


/* Image */

.tay-course-progress-image {
    display: block;

    min-height: 100%;

    overflow: hidden;

    background: #f2f2f2;
}

.tay-course-progress-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* Content */

.tay-course-progress-content {
    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 22px;
}

.tay-course-progress-content h3 {
    margin:
        0
        0
        22px;

    font-size: 1.05rem;
    line-height: 1.35;
}

.tay-course-progress-content h3 a {
    color: var(--tay-text);
    text-decoration: none;
}

.tay-course-progress-content h3 a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* Progress */

.tay-course-card-progress {
    margin-top: auto;
}

.tay-course-card-progress-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;

    margin-bottom: 8px;

    color: var(--tay-muted);

    font-size: .76rem;
}

.tay-course-card-progress-top strong {
    color: var(--tay-text);
    font-weight: 600;
}

.tay-course-progress-action {
    margin-top: 18px;
}


/* =================================
   Completed Courses
================================= */

.tay-course-completed-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 16px;
}

.tay-course-completed-card {
    overflow: hidden;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 14px;
}


/* Completed image */

.tay-course-completed-image {
    position: relative;

    display: block;

    overflow: hidden;

    background: #f2f2f2;
}

.tay-course-completed-image img {
    display: block;

    width: 100%;

    aspect-ratio: 16 / 9;

    object-fit: cover;
}


/* Completed badge */

.tay-course-completed-badge {
    position: absolute;

    top: 12px;
    right: 12px;

    display: inline-flex;
    align-items: center;

    gap: 5px;

    padding: 6px 9px;

    background: #e8f6ee;
    color: #267346;

    border-radius: 999px;

    font-size: .68rem;
    font-weight: 700;
}

.tay-course-completed-badge svg {
    width: 13px;
    height: 13px;
}


/* Completed content */

.tay-course-completed-content {
    padding: 18px;
}

.tay-course-completed-content h3 {
    margin:
        0
        0
        18px;

    font-size: 1.125rem;
    line-height: 1.35;
    font-weight: 500;
}

.tay-course-completed-content h3 a {
    color: var(--tay-text);
    text-decoration: none;
}

.tay-course-completed-content h3 a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* Completed footer */

.tay-course-completed-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--tay-border);
    font-size: .75rem;
}

.tay-course-completed-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #267346;
    font-weight: 600;
}

.tay-course-completed-status svg {
    width: 15px;
    height: 15px;
}

.tay-course-completed-badge.is-neutral {
    background: #f3f4f6;
    color: #5f6368;
}

.tay-course-completed-status.is-neutral {
    color: #5f6368;
}

.tay-course-completed-footer a {
    color: var(--tay-text);

    font-weight: 600;
    text-decoration: none;
}

.tay-course-completed-footer a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* =================================
   Empty states
================================= */

.tay-courses-empty-state {
    display: grid;

    grid-template-columns:
        auto
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 18px;

    padding: 22px;

    background: var(--tay-surface);

    border: 1px dashed var(--tay-border);
    border-radius: 14px;
}

.tay-courses-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    background: #f4f2ff;
    color: #5147d9;

    border-radius: 10px;
}

.tay-courses-empty-icon svg {
    width: 20px;
    height: 20px;
}

.tay-courses-empty-state h3 {
    margin:
        0
        0
        4px;

    font-size: .95rem;
}

.tay-courses-empty-state p {
    margin: 0;

    color: var(--tay-muted);

    font-size: .8rem;
    line-height: 1.45;
}


/* =================================
   All Courses
================================= */

.tay-all-courses {
    padding-top: 8px;
    scroll-margin-top: 30px;
}


/* =================================
   Responsive
================================= */

@media (max-width: 1100px) {

    .tay-course-progress-grid {
        grid-template-columns: 1fr;
    }

    .tay-course-completed-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 700px) {

    .tay-courses-section {
        margin-top: 38px;
    }

    .tay-courses-section-heading {
        align-items: flex-start;
        flex-direction: column;

        gap: 8px;
    }


    /* Continue cards */

    .tay-course-progress-card {
        grid-template-columns: 1fr;
    }

    .tay-course-progress-image {
        min-height: 0;
    }

    .tay-course-progress-image img {
        aspect-ratio: 16 / 9;
    }


    /* Completed */

    .tay-course-completed-grid {
        grid-template-columns: 1fr;
    }


    /* Empty states */

    .tay-courses-empty-state {
        grid-template-columns:
            auto
            minmax(0, 1fr);
    }

    .tay-courses-empty-state .tay-button {
        grid-column: 1 / -1;

        width: 100%;
    }

}

/* =================================
   Quarter Badge / Achievement
================================= */

.tay-quarter-badge-progress {
    margin:
        10px
        0
        0;

    color: var(--tay-muted);

    font-size: .76rem;
    line-height: 1.4;
}


/* Achievement panel */

.tay-quarter-achievement {
    display: grid;

    grid-template-columns:
        150px
        minmax(0, 1fr);

    align-items: center;

    gap: 30px;

    margin-top: 20px;

    padding: 28px;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 16px;
}


/* Badge image */

.tay-quarter-badge {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 140px;

    padding: 14px;

    background: #f7f6fb;

    border-radius: 14px;
}

.tay-quarter-badge img {
    display: block;

    width: 100%;
    max-width: 120px;
    height: auto;

    object-fit: contain;
}


/* Achievement copy */

.tay-quarter-achievement-content {
    max-width: 580px;
}

.tay-quarter-achievement-content h3 {
    margin:
        0
        0
        8px;

    font-size: 1.25rem;
    line-height: 1.3;
}

.tay-quarter-achievement-content p {
    margin:
        0
        0
        18px;

    color: var(--tay-muted);

    font-size: .88rem;
    line-height: 1.55;
}

.tay-achievement-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}


/* ---------------------------------
   Mobile
---------------------------------- */

@media (max-width: 700px) {

    .tay-quarter-achievement {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 22px;
    }

    .tay-quarter-badge {
        min-height: 0;
    }

    .tay-quarter-badge img {
        max-width: 110px;
    }

    .tay-quarter-achievement-content .tay-button {
        width: 100%;
    }
    .tay-achievement-actions {
        gap: 12px;
    }
    .tay-achievement-actions .tay-button-secondary {
        width: 100%;
    }
}

/* =================================
   Account – Achievements
================================= */

.tay-account-achievements {
    margin-top: 52px;
}


/* Section heading */

.tay-account-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 24px;

    margin-bottom: 20px;
}

.tay-account-section-heading h2 {
    margin: 0;

    font-size: 1.35rem;
    line-height: 1.2;
}

.tay-account-section-heading p {
    max-width: 600px;

    margin: 7px 0 0;

    color: var(--tay-muted);

    font-size: .86rem;
    line-height: 1.5;
}

.tay-achievements-count {
    flex-shrink: 0;

    color: var(--tay-muted);

    font-size: .76rem;
    font-weight: 600;
}


/* Grid */

.tay-achievements-grid {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 18px;
}


/* Card */

.tay-achievement-card {
    overflow: hidden;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 16px;
}


/* Badge area */

.tay-achievement-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 210px;
    padding: 28px;
    background: var(--tay-badge-bg, #f1f1f1);
}

.tay-achievement-image img {
    display: block;
    width: 100%;
    max-width: 72%;
    max-height: 72%;
    object-fit: contain;
}


/* Placeholder */

.tay-achievement-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 110px;
    height: 110px;

    color: var(--tay-muted);

    border: 1px dashed var(--tay-border);
    border-radius: 50%;
}

.tay-achievement-placeholder svg {
    width: 42px;
    height: 42px;
}


/* Card content */

.tay-achievement-content {
    padding: 20px;
}

.tay-achievement-status {
  display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3.5px 9px;
    background: #e8f6ee;
    color: #267346;
    border: 1px solid #cfe9da;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.tay-achievement-status svg {
    width: 15px;
    height: 15px;
}

.tay-achievement-content h3 {
    margin: 0 0 6px;

    font-size: 1.05rem;
    line-height: 1.3;
}

.tay-achievement-content p {
    margin: 0 0 18px;

    color: var(--tay-muted);

    font-size: .78rem;
    line-height: 1.45;
}


/* Empty state */

.tay-achievements-empty {
    display: grid;

    grid-template-columns:
        auto
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 18px;

    padding: 24px;

    background: var(--tay-surface);

    border: 1px dashed var(--tay-border);
    border-radius: 14px;
}

.tay-achievements-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    background: #f4f2ff;
    color: #5147d9;

    border-radius: 10px;
}

.tay-achievements-empty-icon svg {
    width: 21px;
    height: 21px;
}

.tay-achievements-empty h3 {
    margin: 0 0 4px;

    font-size: .95rem;
}

.tay-achievements-empty p {
    margin: 0;

    color: var(--tay-muted);

    font-size: .8rem;
}


/* Tablet */

@media (max-width: 1000px) {

    .tay-achievements-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* Mobile */

@media (max-width: 700px) {

    .tay-account-achievements {
        margin-top: 40px;
    }

    .tay-account-section-heading {
        align-items: flex-start;
        flex-direction: column;

        gap: 8px;
    }

    .tay-achievements-grid {
        grid-template-columns: 1fr;
    }

    .tay-achievement-image {
        min-height: 180px;
    }

    .tay-achievements-empty {
        grid-template-columns:
            auto
            minmax(0, 1fr);
    }

    .tay-achievements-empty .tay-button {
        grid-column: 1 / -1;

        width: 100%;
    }

}

/* =================================
   Saved Item Button
================================= */

.tay-save-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    min-height: 40px;

    padding: 9px 13px;

    background: var(--tay-surface);
    color: var(--tay-text);

    border: 1px solid var(--tay-border);
    border-radius: 8px;

    font: inherit;
    font-size: .82rem;
    font-weight: 600;

    cursor: pointer;

    transition:
        background-color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.tay-save-button:hover {
    background: var(--tay-surface);
    color: var(--tay-text)
    transform: translateY(-1px);
}

.tay-save-button-icon {
    width: 17px;
    height: 17px;

    flex: 0 0 17px;
}


/* Saved */

.tay-save-button.is-saved {
    background: #f4f2ff;
    color: #5147d9;

    border-color: #dedaf9;
}

.tay-save-button.is-saved:hover {
    background: #ece9ff;
}


/* AJAX */

.tay-save-button.is-loading {
    opacity: .6;

    cursor: wait;
}

/* =================================
   Saved Page
================================= */

.tay-saved-page {
    width: 100%;
}


/* ---------------------------------
   Sections
---------------------------------- */

.tay-saved-section {
    margin-top: 48px;
}

.tay-saved-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 18px;
}

.tay-saved-section-heading h2 {
    margin: 0;

    font-size: 1.35rem;
    line-height: 1.2;
}

.tay-saved-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 28px;
    height: 28px;

    padding: 0 8px;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 999px;

    color: var(--tay-muted);

    font-size: .72rem;
    font-weight: 600;
}


/* ---------------------------------
   Grid
---------------------------------- */

.tay-saved-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 18px;
}


/* ---------------------------------
   Cards
---------------------------------- */

.tay-saved-card {
    display: flex;
    flex-direction: column;

    overflow: hidden;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 14px;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.tay-saved-card:hover {
    transform: translateY(-2px);

    box-shadow:
        0 8px 24px rgba(0, 0, 0, .05);
}


/* Thumbnail */

.tay-saved-card-image {
    position: relative;
    overflow: hidden;
    display: block;
    width: 100%;
    object-fit: contain;
    padding: 1rem;
    padding-bottom: 0;
    max-height: 100%;
    /*background: #f3f3f3;*/
}


}

.tay-saved-card-image img {
    display: block;

    width: 100%;

    aspect-ratio: 16 / 9;

    object-fit: cover;
}


/* Content */

.tay-saved-card-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 18px;
}

.tay-saved-card-content .tay-card-meta {
    margin-bottom: 10px;
}

.tay-saved-card-content h3 {
    margin: 0 0 9px;

    font-size: 1rem;
    line-height: 1.35;
}

.tay-saved-card-content h3 a {
    color: var(--tay-text);

    text-decoration: none;
}

.tay-saved-card-content h3 a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.tay-saved-card-meta {
    margin: 0 0 18px;

    color: var(--tay-muted);

    font-size: .77rem;
    line-height: 1.45;
}


/* Actions */

.tay-saved-card-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    padding-top: 4px;
}


/* ---------------------------------
   Section empty state
---------------------------------- */

.tay-saved-empty-section {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 18px 20px;

    background: var(--tay-surface);

    border: 1px dashed var(--tay-border);
    border-radius: 12px;
}

.tay-saved-empty-section p {
    margin: 0;

    color: var(--tay-muted);

    font-size: .82rem;
}

.tay-saved-empty-section a {
    color: var(--tay-text);

    font-size: .8rem;
    font-weight: 600;

    text-decoration: none;
}


/* ---------------------------------
   Completely empty page
---------------------------------- */

.tay-saved-empty-main {
    display: grid;

    grid-template-columns:
        auto
        minmax(0, 1fr);

    align-items: center;

    gap: 18px;

    margin-top: 28px;

    padding: 24px;

    background: var(--tay-surface);

    border: 1px dashed var(--tay-border);
    border-radius: 14px;
}

.tay-saved-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    background: #f4f2ff;
    color: #5147d9;

    border-radius: 10px;
}

.tay-saved-empty-icon svg {
    width: 21px;
    height: 21px;
}

.tay-saved-empty-main h2 {
    margin: 0 0 5px;

    font-size: 1rem;
}

.tay-saved-empty-main p {
    margin: 0;

    color: var(--tay-muted);

    font-size: .82rem;
}


/* ---------------------------------
   Responsive
---------------------------------- */

@media (max-width: 1000px) {

    .tay-saved-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 700px) {

    .tay-saved-section {
        margin-top: 38px;
    }

    .tay-saved-grid {
        grid-template-columns: 1fr;
    }

    .tay-saved-empty-section {
        align-items: flex-start;
        flex-direction: column;
    }

    .tay-saved-card-actions .tay-button,
    .tay-saved-card-actions .tay-save-button {
        flex: 1 1 auto;
    }

}

/* ---------------------------------
   Saved card removal
---------------------------------- */

.tay-saved-card {
    transition:
        opacity .25s ease,
        transform .25s ease,
        box-shadow .2s ease;
}

.tay-saved-card.is-removing {
    opacity: 0;
    transform: translateY(-6px);
    pointer-events: none;
}
/* =================================
   App Header Actions
================================= */

.tay-app-header-actions {
    display: flex;
    align-items: center;

    gap: 8px;
    font-size: 1rem;
    margin-left: auto;
}


/* ---------------------------------
   Utility links
---------------------------------- */

.tay-topbar-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    min-height: 38px;

    padding: 8px 11px;

    color: var(--tay-muted);
    text-decoration: none;

    border: 1px solid transparent;
    border-radius: 9px;

    /*font-size: .78rem;*/
    font-weight: 600;

    transition:
        background-color .2s ease,
        color .2s ease,
        border-color .2s ease;
}

.tay-topbar-action svg {
    width: 17px;
    height: 17px;

    flex-shrink: 0;
}


/* Hover */

.tay-topbar-action:hover {
    background: var(--tay-surface);
    color: var(--tay-text);
}


/* Current page */

.tay-topbar-action.is-active {
    background: #f4f2ff;
    color: #5147d9;

    border-color: #dedaf9;
}

@media (max-width: 760px) {

    .tay-app-header-actions {
        gap: 5px;
    }

    .tay-topbar-action {
        width: 38px;
        height: 38px;

        min-height: 38px;

        padding: 0;
    }

    .tay-topbar-action span {
        display: none;
    }

}

/* Booklet archive card: Save button */

.tay-booklet-card {
    position: relative;
}

.tay-booklet-card-save {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 5;
}

.tay-booklet-card-save button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Booklet archive: icon-only Save button */

.tay-booklet-card-save button {
    width: 40px;
    height: 40px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
}

/* Hide visible text, keep icons */
.tay-booklet-card-save button span:not(:has(svg)) {
    display: none;
}

.tay-booklet-card-save button svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

/* =================================
   Booklet Subject Pills
================================= */
.tay-subject-pill {
    background: color-mix(
        in srgb,
        var(--subject-color, #e9e9ee) 70%,
        white
    );

    color: var(--tay-text);

    border: 0;
    border-radius: 5px;

    padding: 5px 9px;

    font-size: .72rem;
    font-weight: 600;
    line-height: 1;
}

/* =================================
   Library Search + Filters
================================= */

.tay-library-filters {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 28px;
    max-width: 40rem;
}

.tay-library-search {
    flex: 1 1 280px;
}

.tay-library-search input,
.tay-library-filter select {
    width: 100%;
    min-height: 42px;
    padding: 9px 12px;
    background: var(--tay-surface) !important;
    color: var(--tay-text);
    border: 1px solid var(--tay-border) !important;
    border-radius: 8px;
    font: inherit;
    font-size: .82rem;
}

.tay-library-filter {
    flex: 0 1 190px;
}

.tay-library-search input:focus,
.tay-library-filter select:focus {
    outline: 2px solid #dedaf9;
    outline-offset: 1px;
    border-color: #9f9ffc;
}

.tay-library-clear {
    color: var(--tay-muted);

    font-size: .78rem;
    font-weight: 600;

    text-decoration: none;
}

.tay-library-clear:hover {
    color: var(--tay-text);
}

.tay-library-empty {
    padding: 28px;
    background: var(--tay-surface);
    border: 1px dashed var(--tay-border);
    border-radius: 12px;
}

.tay-library-empty h2 {
    margin: 0 0 6px;
    font-size: 1rem;
}

.tay-library-empty p {
    margin: 0 0 10px;
    font-size: 0.825rem;
    color: var(--tay-muted);
}

.tay-library-empty a {
    font-size: 0.825rem;
    color: var(--tay-muted);
}

/* Mobile */

@media (max-width: 700px) {

    .tay-library-filters {
        align-items: stretch;
        flex-direction: column;
    }

    .tay-library-search,
    .tay-library-filter {
        flex: none;

        width: 100%;
    }

    .tay-library-filters .tay-button {
        width: 100%;
    }

}

/* =========================================
   ACCOUNT
========================================= */

.tay-account {
    width: 100%;
    max-width: 980px;
}


/* -----------------------------------------
   MemberPress wrapper
----------------------------------------- */

.tay-account .mp_wrapper {
    width: 100%;
    max-width: none;

    margin: 0;
}


/* -----------------------------------------
   MemberPress account navigation
----------------------------------------- */

.tay-account .mepr-account-nav {
    margin: 0 0 20px;
}

.tay-account .mepr-account-nav ul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 6px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.tay-account .mepr-account-nav li {
    margin: 0;
    padding: 0;
}

.tay-account .mepr-account-nav a {
    display: inline-flex;
    align-items: center;

    min-height: 36px;

    padding: 7px 11px;

    color: var(--tay-muted);

    background: transparent;

    border-radius: 7px;

    font-size: .78rem;
    font-weight: 600;
    line-height: 1;

    text-decoration: none;

    transition:
        color .2s ease,
        background-color .2s ease;
}

.tay-account .mepr-account-nav a:hover {
    color: var(--tay-text);

    background: #f1f1f4;
}


/* Active tab */

.tay-account .mepr-account-nav .mepr-active-nav-tab a {
    color: var(--tay-text);

    background: #eeeeff;
}


/* -----------------------------------------
   Main account content/card
----------------------------------------- */

.tay-account .mp_wrapper {
    color: var(--tay-text);
    margin-bottom: 1.5rem;
}

.tay-account .mepr-account-form {
    padding: 28px;
    background: var(--tay-surface);
    border: 1px solid var(--tay-border);
    border-radius: 12px;
}


/* -----------------------------------------
   Welcome message
----------------------------------------- */

.tay-account #mepr-account-welcome-message {
    margin-bottom: 24px;
}

.tay-account #mepr-account-welcome-message p {
    margin: 0;

    color: var(--tay-muted);

    font-size: .9rem;
}


/* -----------------------------------------
   Form layout
----------------------------------------- */

.tay-account .mp-form-row {
    margin-bottom: 18px;
}


/* Labels */

.tay-account .mp-form-label {
    margin-bottom: 6px;
}

.tay-account .mp-form-label label {
    color: var(--tay-text);

    font-size: .78rem;
    font-weight: 600;
}


/* -----------------------------------------
   Inputs
----------------------------------------- */

.tay-account input[type="text"],
.tay-account input[type="email"],
.tay-account input[type="password"],
.tay-account input[type="tel"],
.tay-account input[type="number"],
.tay-account select,
.tay-account textarea,
.tay-account .mepr-form-input {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    background: #fff;
    color: var(--tay-text);
    border: 1px solid var(--tay-border);
    border-radius: 8px;
    font: inherit;
    font-size: .85rem !important;
    box-shadow: none;
    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}


/* Focus */

.tay-account input:focus,
.tay-account select:focus,
.tay-account textarea:focus {
    outline: none;

    border-color: #9f9ffc;

    box-shadow:
        0 0 0 3px
        rgba(159, 159, 252, .18);
}


/* -----------------------------------------
   Submit button
----------------------------------------- */

.tay-account input[type="submit"],
.tay-account button[type="submit"],
.tay-account .mepr-submit {
    min-height: 42px;

    padding: 10px 18px;

    background: var(--tay-text);
    color: #fff;

    border: 0;
    border-radius: 8px;

    font: inherit;
    font-size: .8rem;
    font-weight: 600;

    cursor: pointer;

    transition:
        opacity .2s ease,
        transform .2s ease;
}

.tay-account input[type="submit"]:hover,
.tay-account button[type="submit"]:hover,
.tay-account .mepr-submit:hover {
    opacity: .88;

    transform: translateY(-1px);
}


/* -----------------------------------------
   Messages
----------------------------------------- */

.tay-account .mepr_error,
.tay-account .mepr_updated {
    margin-bottom: 20px;

    padding: 12px 14px;

    border-radius: 8px;

    font-size: .8rem;
}


/* -----------------------------------------
   Tables
   Subscriptions / Payments etc.
----------------------------------------- */

.tay-account table {
    width: 100%;

    border-collapse: collapse;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 10px;
}

.tay-account th,
.tay-account td {
    padding: 12px 14px;

    text-align: left;

    border-bottom: 1px solid var(--tay-border);

    font-size: .8rem;
}

.tay-account th {
    color: var(--tay-muted);

    font-size: .7rem;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .06em;
}


/* =========================================
   ACCOUNT – MOBILE
========================================= */

@media (max-width: 700px) {

    .tay-account .mepr-account-nav {
        overflow-x: auto;

        margin-left: -16px;
        margin-right: -16px;

        padding-left: 16px;
        padding-right: 16px;
    }

    .tay-account .mepr-account-nav ul {
        flex-wrap: nowrap;

        width: max-content;
    }

    .tay-account .mepr-account-nav a {
        white-space: nowrap;
    }

    .tay-account .mepr-account-form {
        padding: 20px 16px;
    }

    .tay-account table {
        display: block;

        overflow-x: auto;
    }

}

.tay-account .mepr-account-change-password {
    margin-top: 18px;
}

/* -----------------------------------------
   General MemberPress links
----------------------------------------- */

.tay-account .mp_wrapper a:not(
    .mepr-account-nav a
) {
    color: var(--tay-text);

    font-weight: 600;

    text-decoration: underline;
    text-decoration-color: #c7c7cc;
    text-underline-offset: 3px;

    transition:
        color .2s ease,
        text-decoration-color .2s ease;
}

.tay-account .mp_wrapper a:not(
    .mepr-account-nav a
):hover {
    text-decoration-color: var(--tay-text);
}

/* =========================================
   ACCOUNT – CHANGE PASSWORD
========================================= */

.tay-account .mepr-newpassword-form {
    max-width: 680px;

    padding: 28px;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 12px;
}


/* Form rows */

.tay-account .mepr-newpassword-form .mp-form-row {
    margin-bottom: 18px;
}

.tay-account .mepr-newpassword-form label {
    display: block;

    margin-bottom: 6px;

    color: var(--tay-text);

    font-size: .78rem;
    font-weight: 600;
}


/* Password field wrapper */

.tay-account .mepr-newpassword-form .mp-hide-pw {
    position: relative;
}


/* Password inputs */

.tay-account .mepr-newpassword-form input[type="password"] {
    width: 100%;
    min-height: 44px;

    padding: 10px 44px 10px 12px;

    background: #fff;
    color: var(--tay-text);

    border: 1px solid var(--tay-border);
    border-radius: 8px;

    font: inherit;
    font-size: .85rem;

    box-shadow: none;
}


/* Focus */

.tay-account .mepr-newpassword-form input[type="password"]:focus {
    outline: none;

    border-color: #9f9ffc;

    box-shadow:
        0 0 0 3px
        rgba(159, 159, 252, .18);
}


/* Show / hide password button */

.tay-account .mepr-newpassword-form .mp-hide-pw button {
    position: absolute;

    top: 50%;
    right: 10px;

    transform: translateY(-50%);

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 32px;
    height: 32px;

    padding: 0;

    background: transparent;
    color: var(--tay-muted);

    border: 0;
    border-radius: 6px;

    cursor: pointer;
}

.tay-account .mepr-newpassword-form .mp-hide-pw button:hover {
    background: #f4f4f6;
    color: var(--tay-text);
}


/* Remove MemberPress spacer */

.tay-account .mepr-newpassword-form .mepr_spacer {
    display: none;
}


/* Action area */

.tay-account .mepr-newpassword-form .mepr-submit {
    min-height: 42px;

    padding: 10px 18px;

    background: var(--tay-text);
    color: #fff;

    border: 0;
    border-radius: 8px;

    font-size: .8rem;
    font-weight: 600;

    cursor: pointer;
}

.tay-account .mepr-newpassword-form .mepr-submit:hover {
    opacity: .88;
}


/* Cancel link */

.tay-account .mepr-newpassword-form .mepr-submit + span,
.tay-account .mepr-newpassword-form .mepr-submit ~ a {
    margin-left: 10px;
}

.tay-account .mepr-newpassword-form .mepr-submit ~ a {
    display: inline-flex;
    align-items: center;

    min-height: 42px;

    margin-left: 10px;
    padding: 10px 12px;

    color: var(--tay-muted);

    font-size: .8rem;
    font-weight: 600;

    text-decoration: none;
}

.tay-account .mepr-newpassword-form .mepr-submit ~ a:hover {
    color: var(--tay-text);
}

/* -----------------------------------------
   Hide redundant MemberPress account links
----------------------------------------- */

#mepr-account-nav > ul > li.mepr-nav-item.mepr-courses {
    display: none !important;
}

/* =========================================
   ACCOUNT – SUBSCRIPTIONS
========================================= */

.tay-account #mepr-account-subscriptions-table {
    width: 100%;

    margin-top: 22px;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 12px;

    border-collapse: separate;
    border-spacing: 0;

    overflow: hidden;
}


/* -----------------------------------------
   Table headings
----------------------------------------- */

.tay-account #mepr-account-subscriptions-table thead {
    background: #f7f7f9;
}

.tay-account #mepr-account-subscriptions-table th {
    padding: 11px 14px;

    color: var(--tay-muted);

    border: 0;
    border-bottom: 1px solid var(--tay-border);

    font-size: .68rem;
    font-weight: 700;

    line-height: 1.2;

    text-align: left;
    text-transform: uppercase;
    letter-spacing: .07em;
}


/* -----------------------------------------
   Subscription cells
----------------------------------------- */

.tay-account #mepr-account-subscriptions-table td {
    padding: 15px 14px;

    color: var(--tay-text);

    border: 0;
    border-bottom: 1px solid var(--tay-border);

    font-size: .8rem;
    line-height: 1.4;

    vertical-align: middle;
}

.tay-account #mepr-account-subscriptions-table th + th,
.tay-account #mepr-account-subscriptions-table td + td {
    border-left: 1px solid var(--tay-border);
}


/* Remove border from last row */

.tay-account #mepr-account-subscriptions-table tbody tr:last-child td {
    border-bottom: 0;
}


/* -----------------------------------------
   Membership
----------------------------------------- */

.tay-account .mepr-account-product {
    margin-bottom: 3px;

    color: var(--tay-text);

    font-weight: 600;
}


/* Subscription ID */

.tay-account .mepr-account-subscr-id {
    color: var(--tay-muted);

    font-size: .68rem;
}


/* -----------------------------------------
   Terms
----------------------------------------- */

.tay-account .mepr-account-auto-rebill {
    color: var(--tay-text);

    font-weight: 500;
}

.tay-account .mepr-account-terms {
    margin-top: 2px;

    color: var(--tay-muted);

    font-size: .72rem;
}


/* -----------------------------------------
   Active status
----------------------------------------- */

.tay-account .mepr-account-active {
    display: inline-flex;
    align-items: center;

    padding: 4px 8px;

    background: #edf7ef;
    color: #287a3d;

    border-radius: 999px;

    font-size: .68rem;
    font-weight: 700;
}


/* -----------------------------------------
   Created date
----------------------------------------- */

.tay-account .mepr-account-created-at {
    color: var(--tay-text);
}


/* -----------------------------------------
   Actions
----------------------------------------- */

.tay-account .mepr-account-actions a {
    display: inline-flex;
    align-items: center;
    padding: 6px 9px;
    color: var(--tay-text);
    background: #f5f5f7;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 600;
    text-decoration: none;
}

.tay-account .mepr-account-actions a:hover {
    background: #ececef;
}
.mepr-account-actions {
    display: flex;
}

/* =========================================
   SUBSCRIPTIONS – MOBILE
========================================= */

@media (max-width: 700px) {

    .tay-account #mepr-account-subscriptions-table {
        display: block;

        margin-top: 18px;

        background: transparent;

        border: 0;
        border-radius: 0;

        overflow: visible;
    }


    .tay-account #mepr-account-subscriptions-table thead {
        display: none;
    }


    .tay-account #mepr-account-subscriptions-table tbody {
        display: block;
    }


    .tay-account #mepr-account-subscriptions-table tr {
        display: block;

        padding: 8px 16px;

        background: var(--tay-surface);

        border: 1px solid var(--tay-border);
        border-radius: 12px;
    }


    .tay-account #mepr-account-subscriptions-table td {
        display: flex;
        align-items: center;
        justify-content: space-between;

        gap: 20px;

        padding: 11px 0;

        border: 0;
        border-bottom: 1px solid var(--tay-border);

        text-align: right;
    }


    .tay-account #mepr-account-subscriptions-table td:last-child {
        border-bottom: 0;
    }


    /* Create labels from MemberPress data */

    .tay-account #mepr-account-subscriptions-table td::before {
        content: attr(data-label);

        flex: 0 0 auto;

        color: var(--tay-muted);

        font-size: .67rem;
        font-weight: 700;

        text-align: left;
        text-transform: uppercase;
        letter-spacing: .06em;
    }


    /* Membership needs slightly more room */

    .tay-account #mepr-account-subscriptions-table td[data-label="Membership"] {
        align-items: flex-start;
    }

}

/* =========================================
   ACCOUNT – PAYMENTS
========================================= */

.tay-account #mepr-account-payments-table {
    width: 100%;

    margin-top: 22px;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 12px;

    border-collapse: separate;
    border-spacing: 0;

    overflow: hidden;
}


/* -----------------------------------------
   Table headings
----------------------------------------- */

.tay-account #mepr-account-payments-table thead {
    background: #f7f7f9;
}

.tay-account #mepr-account-payments-table th {
    padding: 11px 14px;

    color: var(--tay-muted);

    border: 0;
    border-bottom: 1px solid var(--tay-border);

    font-size: .68rem;
    font-weight: 700;
    line-height: 1.2;

    text-align: left;
    text-transform: uppercase;
    letter-spacing: .07em;
}


/* -----------------------------------------
   Payment cells
----------------------------------------- */

.tay-account #mepr-account-payments-table td {
    padding: 15px 14px;

    color: var(--tay-text);

    border: 0;
    border-bottom: 1px solid var(--tay-border);

    font-size: .8rem;
    line-height: 1.4;

    vertical-align: middle;
}

.tay-account #mepr-account-payments-table tbody tr:last-child td {
    border-bottom: 0;
}

/* Vertical dividers between columns */
.tay-account #mepr-account-payments-table th + th,
.tay-account #mepr-account-payments-table td + td {
    border-left: 1px solid var(--tay-border);
}


/* -----------------------------------------
   Membership
----------------------------------------- */

.tay-account #mepr-account-payments-table td[data-label="Membership"] {
    font-weight: 600;
}


/* -----------------------------------------
   Total
----------------------------------------- */

.tay-account #mepr-account-payments-table td[data-label="Total"] {
    font-weight: 600;
}


/* -----------------------------------------
   Method
----------------------------------------- */

.tay-account #mepr-account-payments-table td[data-label="Method"] {
    color: var(--tay-muted);
}


/* -----------------------------------------
   Payment status
----------------------------------------- */

.tay-account #mepr-account-payments-table td[data-label="Status"] {
    color: #287a3d;

    font-weight: 700;
}


/* -----------------------------------------
   Invoice
----------------------------------------- */

.tay-account #mepr-account-payments-table td[data-label="Invoice"] {
    color: var(--tay-muted);

    font-size: .72rem;
}

.tay-account #mepr-account-payments-table td[data-label="Invoice"] a {
    display: inline-flex;
    align-items: center;

    padding: 6px 9px;

    background: #f5f5f7;
    color: var(--tay-text);

    border-radius: 6px;

    font-size: .72rem;
    font-weight: 600;

    text-decoration: none;
}

.tay-account #mepr-account-payments-table td[data-label="Invoice"] a:hover {
    background: #ececef;
}

/* =========================================
   PAYMENTS – MOBILE
========================================= */

@media (max-width: 700px) {

    .tay-account #mepr-account-payments-table {
        display: block;

        margin-top: 18px;

        background: transparent;

        border: 0;
        border-radius: 0;

        overflow: visible;
    }

    .tay-account #mepr-account-payments-table thead {
        display: none;
    }

    .tay-account #mepr-account-payments-table tbody {
        display: block;
    }

    .tay-account #mepr-account-payments-table tr {
        display: block;

        padding: 8px 16px;

        background: var(--tay-surface);

        border: 1px solid var(--tay-border);
        border-radius: 12px;
    }

    .tay-account #mepr-account-payments-table td {
        display: flex;
        align-items: center;
        justify-content: space-between;

        gap: 20px;

        padding: 11px 0;

        border: 0;
        border-bottom: 1px solid var(--tay-border);

        text-align: right;
    }

    .tay-account #mepr-account-payments-table td:last-child {
        border-bottom: 0;
    }

    .tay-account #mepr-account-payments-table td::before {
        content: attr(data-label);

        flex: 0 0 auto;

        color: var(--tay-muted);

        font-size: .67rem;
        font-weight: 700;

        text-align: left;
        text-transform: uppercase;
        letter-spacing: .06em;
    }
}

/* =========================================
   LOGIN PAGE
========================================= */

/* Main login wrapper */

body.tay-login-page .site-main {
    max-width: 100%;
}

body.tay-login-page .inside-article {
    padding: 0;
    background: transparent;
}

body.tay-login-page .entry-content {
    margin: 0;
}


/* -----------------------------------------
   Login form container
----------------------------------------- */

body.tay-login-page .mp_wrapper.mp_login_form {
    width: 100%;
    max-width: 480px;
    margin: 0px auto 0px;
   /*  padding: 32px; */
    background: var(--tay-surface);
   /* border: 1px solid var(--tay-border);
    border-radius: 14px;*/
}


/* -----------------------------------------
   MemberPress form
----------------------------------------- */

body.tay-login-page #mepr_loginform {
    margin: 0;
}

body.tay-login-page #mepr_loginform .mp-form-row {
    margin-bottom: 18px;
}


/* Labels */

body.tay-login-page #mepr_loginform .mp-form-label {
    margin-bottom: 6px;
}

body.tay-login-page #mepr_loginform label {
    color: var(--tay-text);

    font-size: .8rem;
    font-weight: 600;
}


/* -----------------------------------------
   Inputs
----------------------------------------- */

body.tay-login-page #mepr_loginform input[type="text"],
body.tay-login-page #mepr_loginform input[type="password"] {
    width: 100%;
    min-height: 46px;

    padding: 10px 12px;

    background: #fff;
    color: var(--tay-text);

    border: 1px solid var(--tay-border);
    border-radius: 8px;

    font: inherit;
    font-size: .86rem;

    box-shadow: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

body.tay-login-page #mepr_loginform input:focus {
    outline: none;

    border-color: #9f9ffc;

    box-shadow:
        0 0 0 3px
        rgba(159, 159, 252, .18);
}


/* -----------------------------------------
   Password visibility button
----------------------------------------- */

body.tay-login-page .mp-hide-pw {
    position: relative;
}

body.tay-login-page .mp-hide-pw button {
    position: absolute;

    top: 50%;
    right: 10px;

    transform: translateY(-50%);

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 32px;
    height: 32px;

    padding: 0;

    background: transparent;
    color: var(--tay-muted);

    border: 0;
    border-radius: 6px;

    cursor: pointer;
}

body.tay-login-page .mp-hide-pw button:hover {
    background: #f4f4f6;
    color: var(--tay-text);
}


/* -----------------------------------------
   Remember me
----------------------------------------- */

body.tay-login-page #mepr_loginform input[type="checkbox"] {
    width: 16px;
    height: 16px;

    margin-right: 6px;

    accent-color: #5147d9;
}


/* -----------------------------------------
   Remove MemberPress spacer
----------------------------------------- */

body.tay-login-page .mp-spacer {
    height: 1rem;
}


/* -----------------------------------------
   Login button
----------------------------------------- */

body.tay-login-page #wp-submit {
    min-height: 44px;
    padding: 10px 18px;
    background: var(--tay-text);
    color: #fff;

    border: 0;
    border-radius: 8px;

    font: inherit;
    font-size: .82rem;
    font-weight: 600;

    cursor: pointer;

    transition:
        opacity .2s ease,
        transform .2s ease;
}

body.tay-login-page #wp-submit:hover {
    opacity: .88;
    transform: translateY(-1px);
}


/* -----------------------------------------
   Forgot password
----------------------------------------- */

body.tay-login-page .mepr-login-actions {
    margin-top: 18px;
}

body.tay-login-page .mepr-login-actions a {
    color: var(--tay-text);

    font-size: .8rem;
    font-weight: 600;

    text-decoration: underline;
    text-decoration-color: #c7c7cc;
    text-underline-offset: 3px;
}

body.tay-login-page .mepr-login-actions a:hover {
    text-decoration-color: var(--tay-text);
}


/* =========================================
   LOGIN – MOBILE
========================================= */

@media (max-width: 600px) {

       /*
     * Give the entire authentication area
     * consistent space from the viewport.
     */
     body.tay-login-page .entry-content {
        padding-left: 16px;
        padding-right: 16px;
    } 
    /* Login card */

    body.tay-login-page .mp_wrapper.mp_login_form {
        width: 100%;
        max-width: 480px;
        margin: 28px auto;
        padding: 24px 18px;
        border-radius: 12px;
    }

     /* Login button */

     body.tay-login-page #wp-submit {
        width: 100%;
    }

     /* Forgot password card */

     body.tay-login-page #mepr_forgot_password_form {
        width: 100%;
        padding: 22px 18px;
    }

        /* Reset success card */

        body.tay-login-page .mepr_password_reset_requested {
            width: 100%;
            margin: 36px auto 0;
            padding: 24px 18px;
        }


}

body.tay-login-page .entry-header {
    display: none;
}

.tay-login-heading {
    max-width: 480px;
   margin: 18px auto 32px;
    text-align: center;
}

.tay-login-heading h1 {
    margin: 0 0 6px;
    font-size: 2rem;
}

.tay-login-heading p {
    margin: 0;
    color: var(--tay-muted);
    font-size: 0.875rem;
}

body.tay-login-page .mp_wrapper.mp_login_form {
    margin-top: 0;
}

.site-footer {
    display: none;
}

/* =========================================
   FORGOT PASSWORD
========================================= */

body.tay-login-page #mepr_forgot_password_form {
    width: 100%;
    max-width: 480px;
    margin: 18px auto 0;
   /* padding: 28px;*/
    background: var(--tay-surface);
    /*border: 1px solid var(--tay-border);
    border-radius: 14px;*/
}


/* Heading inside MemberPress */

body.tay-login-page #mepr_forgot_password_form h3 {
    margin: 0 0 20px;

    color: var(--tay-text);

    font-size: 1.15rem;
    line-height: 1.3;
}


/* Form row */

body.tay-login-page #mepr_forgot_password_form .mp-form-row {
    margin-bottom: 18px;
}


/* Label */

body.tay-login-page #mepr_forgot_password_form label {
    display: block;

    margin-bottom: 6px;

    color: var(--tay-text);

    font-size: .8rem;
    font-weight: 600;
}


/* Input */

body.tay-login-page #mepr_user_or_email {
    width: 100%;
    min-height: 46px;

    padding: 10px 12px;

    background: #fff;
    color: var(--tay-text);

    border: 1px solid var(--tay-border);
    border-radius: 8px;

    font: inherit;
    font-size: .86rem;

    box-shadow: none;
}

body.tay-login-page #mepr_user_or_email:focus {
    outline: none;

    border-color: #9f9ffc;

    box-shadow:
        0 0 0 3px
        rgba(159, 159, 252, .18);
}


/* Remove spacer */

body.tay-login-page #mepr_forgot_password_form .mp-spacer {
    display: none;
}


/* Submit */

body.tay-login-page #mepr_forgot_password_form #wp-submit {
    min-height: 44px;

    padding: 10px 18px;

    background: var(--tay-text);
    color: #fff;

    border: 0;
    border-radius: 8px;

    font: inherit;
    font-size: .82rem;
    font-weight: 600;

    cursor: pointer;

    transition:
        opacity .2s ease,
        transform .2s ease;
}

body.tay-login-page #mepr_forgot_password_form #wp-submit:hover {
    opacity: .88;
    transform: translateY(-1px);
}


/* Mobile */

@media (max-width: 600px) {

    body.tay-login-page #mepr_forgot_password_form {
        padding: 22px 18px;
    }

    body.tay-login-page #mepr_forgot_password_form #wp-submit {
        width: 100%;
    }

}

/* -----------------------------------------
   Forgot password – hide login heading
----------------------------------------- */

body.tay-login-page .entry-content:has(#mepr_forgot_password_form)
.tay-login-heading {
    display: none;
}

/* Forgot password heading */

body.tay-login-page .mp_wrapper > h3 {
    margin: 04px 0 20px;
    color: var(--tay-text);
    text-align: center;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.25;
}

/* =========================================
   PASSWORD RESET – SUCCESS
========================================= */

/* Hide generic login heading on success state */

body.tay-login-page
.entry-content:has(.mepr_password_reset_requested)
.tay-login-heading {
    display: none;
}


/* Success card */

body.tay-login-page .mepr_password_reset_requested {
    width: 100%;
    max-width: 480px;

    margin: 60px auto 0;
    padding: 28px;

    background: var(--tay-surface);

    border: 1px solid var(--tay-border);
    border-radius: 14px;

    text-align: center;
}


/* Heading */

body.tay-login-page .mepr_password_reset_requested h3 {
    margin: 0 0 10px;

    color: var(--tay-text);

    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.3;
}


/* Message */

body.tay-login-page .mepr_password_reset_requested p {
    margin: 0;

    color: var(--tay-muted);

    font-size: .86rem;
    line-height: 1.6;
}


/* Mobile */

@media (max-width: 600px) {

    body.tay-login-page .mepr_password_reset_requested {
        margin-top: 36px;
        padding: 24px 18px;
    }

}

/* =========================================
   LOGIN – ERROR MESSAGE
========================================= */

body.tay-login-page .mepr_error {
    width: calc(100% - 32px);
    max-width: 480px;

    margin: 0 auto 18px;
    padding: 12px 14px;

    background: #fff7f7;
    border: 1px solid #e8caca;
    border-radius: 8px;

    color: #8a3030;

    font-size: 0.82rem;
    line-height: 1.5;

    box-sizing: border-box;
}

body.tay-login-page .mepr_error ul,
body.tay-login-page .mepr_error ul li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.tay-login-page .mepr_error strong {
    font-weight: 600;
}

/* =========================================
   PASSWORD RESET – ENTER NEW PASSWORD
========================================= */

/* Hide the standard "Welcome back" heading on this screen */
body.tay-login-page
.entry-content:has(#mepr_reset_password_form)
.tay-login-heading {
    display: none;
}


/* Reset password wrapper/card */
body.tay-login-page
.mp_wrapper:has(#mepr_reset_password_form) {
    width: 100%;
    max-width: 480px;
    margin: 04px auto 0;
    /*padding: 28px;*/
    background: var(--tay-surface);
    /*border: 1px solid var(--tay-border);
    border-radius: 14px;*/
}


/* "Enter your new password" */
body.tay-login-page
.mp_wrapper:has(#mepr_reset_password_form) > h3 {
    margin: 0 0 24px;

    color: var(--tay-text);

    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.3;

    text-align: center;
}


/* Form rows */
body.tay-login-page
#mepr_reset_password_form .mp-form-row {
    margin-bottom: 18px;
}


/* Labels */
body.tay-login-page
#mepr_reset_password_form .mp-form-label {
    margin-bottom: 7px;
}

body.tay-login-page
#mepr_reset_password_form .mp-form-label label {
    display: block;

    color: var(--tay-text);

    font-size: 0.78rem;
    font-weight: 600;
}


/* Password inputs */
body.tay-login-page
#mepr_reset_password_form input[type="password"] {
    width: 100%;
    min-height: 46px;

    padding: 10px 42px 10px 12px;

    background: #fff;
    border: 1px solid var(--tay-border);
    border-radius: 7px;

    color: var(--tay-text);

    font: inherit;

    box-sizing: border-box;
}


/* Focus state */
body.tay-login-page
#mepr_reset_password_form input[type="password"]:focus {
    outline: none;
    border-color: var(--tay-text);
}


/* Remove MemberPress spacer */
body.tay-login-page
#mepr_reset_password_form .mepr_spacer,
body.tay-login-page
#mepr_reset_password_form .mp-spacer {
    display: none;
}


/* Update Password button */
body.tay-login-page
#mepr_reset_password_form #wp-submit {
    width: 100%;
    min-height: 46px;

    margin-top: 4px;
    padding: 10px 18px;

    border: 0;
    border-radius: 7px;

    background: #111;
    color: #fff;

    font-size: 0.82rem;
    font-weight: 600;

    cursor: pointer;
}


/* =========================================
   PASSWORD RESET – MOBILE
========================================= */

@media (max-width: 600px) {

    body.tay-login-page
    .mp_wrapper:has(#mepr_reset_password_form) {
        width: 100%;

        margin: 36px auto 0;
        padding: 24px 18px;

        border-radius: 12px;
    }

}

/* =========================================
   PASSWORD RESET – EXPIRED LINK
========================================= */

/* Hide the standard "Welcome back" heading */
body.tay-login-page
.entry-content:has(> p a[href*="action=forgot_password"])
.tay-login-heading {
    display: none;
}


/* Style the expired-link message as a card */
body.tay-login-page
.entry-content > p:has(a[href*="action=forgot_password"]) {
    width: 100%;
    max-width: 480px;

    margin: 60px auto 0;
    padding: 28px;

    background: var(--tay-surface);
    border: 1px solid var(--tay-border);
    border-radius: 14px;

    color: var(--tay-muted);
    font-size: 0.9rem;
    line-height: 1.6;
    text-align: center;

    box-sizing: border-box;
}


/* Reset link */
body.tay-login-page
.entry-content > p:has(a[href*="action=forgot_password"]) a {
    color: var(--tay-text);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* Mobile */
@media (max-width: 600px) {

    body.tay-login-page
    .entry-content > p:has(a[href*="action=forgot_password"]) {
        margin: 36px auto 0;
        padding: 24px 18px;
        border-radius: 12px;
    }

}

.tay-reset-expired-title {
    display: block;
    margin-bottom: 10px;

    color: var(--tay-text);
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.3;
}

.tay-reset-expired-text {
    display: block;
}

/* Hide mobile navigation toggle on authentication pages */
body.tay-login-page .menu-toggle,
body.tay-login-page .mobile-menu-control-wrapper {
    display: none !important;
}

body.tay-login-page .mp_wrapper,
body.tay-login-page .mp_wrapper *,
body.tay-login-page .mp_wrapper *::before,
body.tay-login-page .mp_wrapper *::after {
    box-sizing: border-box;
}

/* =========================================
   CORPORATE ACCOUNT – SUB ACCOUNTS
========================================= */

/* Main corporate account block */
.tay-account .mpca-manage-sub-accounts-wrapper {
    margin-top: 24px;
}


/* Corporate account heading */
.tay-account .mpca-manage-sub-accounts-wrapper h1 {
    margin: 0 0 10px;
    font-size: 1rem;
    font-weight: 500;
    color: var(--tay-text);
}


/* Usage count */
.tay-account #mpca_sub_accounts_used {
    margin: 0 0 24px;
    padding: 16px 18px;

    background: var(--tay-surface);
    border: 1px solid var(--tay-border);
    border-radius: 10px;

    font-weight: 600;
    color: var(--tay-text);
}


/* =========================================
   ADD SUB ACCOUNT
========================================= */

.tay-account #mpca-add-sub-user {
    margin-bottom: 32px;
}


/* Add Sub Account button */
.tay-account #mpca-add-sub-user-btn {
    min-height: 42px;
    padding: 10px 18px;

    border: 0;
    border-radius: 7px;

    background: #111;
    color: #fff;

    font-size: 0.82rem;
    font-weight: 600;

    cursor: pointer;
}


/* Form card */
.tay-account #mpca-add-sub-user-form {
    margin-top: 18px;
    padding: 22px;

    background: var(--tay-surface);
    border: 1px solid var(--tay-border);
    border-radius: 12px;
}


/* Labels */
.tay-account #mpca-add-sub-user-form label {
    display: block;
    margin-bottom: 6px;
    color: var(--tay-text);
    font-size: 0.78rem;
    font-weight: 600;
}


/* Inputs */
.tay-account #mpca-add-sub-user-form input[type="text"],
.tay-account #mpca-add-sub-user-form input[type="email"] {
    width: 100%;
    min-height: 44px;

    margin-bottom: 14px;
    padding: 10px 12px;

    background: #fff;
    border: 1px solid var(--tay-border);
    border-radius: 7px;

    color: var(--tay-text);
    font: inherit;

    box-sizing: border-box;
}


/* Focus */
.tay-account #mpca-add-sub-user-form input:focus {
    outline: none;
    border-color: var(--tay-text);
}


/* Submit */
.tay-account #mpca-add-sub-user-form input[type="submit"] {
    min-height: 42px;
    margin-top: 6px;
    padding: 10px 18px;

    border: 0;
    border-radius: 7px;

    background: #111;
    color: #fff;

    font-size: 0.82rem;
    font-weight: 600;

    cursor: pointer;
}


/* =========================================
   SEARCH SUB ACCOUNTS
========================================= */

.tay-account .mpca-search {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;

    margin: 28px 0 18px;
}


.tay-account .mpca-search label {
    margin: 0;

    color: var(--tay-text);
    font-size: 0.82rem;
    font-weight: 500;
}


.tay-account #mpca_sub_account_search {
    width: 100%;
    min-height: 42px;

    padding: 10px 12px;

    border: 1px solid var(--tay-border);
    border-radius: 7px;

    background: #fff;
}


.tay-account #mpca_sub_account_search_btn {
    min-height: 42px;
    padding: 10px 18px;
    font-size: 0.82rem;
    border: 0;
    border-radius: 7px;

    background: #111;
    color: #fff;

    cursor: pointer;
}


/* =========================================
   SUB ACCOUNTS TABLE
========================================= */

.tay-account .mpca-sub-account-page-info {
    margin: 0 0 10px;

    color: var(--tay-muted);
    font-size: 0.8rem;
}


.tay-account .mpca-table-overflow {
    overflow-x: auto;
}


.tay-account #mpca-sub-accounts-table {
    width: 100%;

    border-collapse: separate;
    border-spacing: 0;

    background: var(--tay-surface);
    border: 1px solid var(--tay-border);
    border-radius: 10px;

    overflow: hidden;
}


.tay-account #mpca-sub-accounts-table th {
    padding: 12px 14px;

    background: #fafafa;

    border-bottom: 1px solid var(--tay-border);

    color: var(--tay-muted);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    text-align: left;
}


.tay-account #mpca-sub-accounts-table td {
    padding: 13px 14px;

    border-bottom: 1px solid var(--tay-border);

    color: var(--tay-text);
    font-size: 0.8rem;
    vertical-align: top;
}


/* Vertical dividers */
.tay-account #mpca-sub-accounts-table th + th,
.tay-account #mpca-sub-accounts-table td + td {
    border-left: 1px solid var(--tay-border);
}


/* Remove bottom border from final row */
.tay-account #mpca-sub-accounts-table tr:last-child td {
    border-bottom: 0;
}


/* Table action links */
.tay-account #mpca-sub-accounts-table td a {
    color: var(--tay-muted);
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 2px;
    font-size: 0.72rem;
    margin-left: 0;
}

.tay-account #mpca-sub-accounts-table td a:hover {
    color: var(--tay-text);
}


/* =========================================
   EXPORT + SIGNUP URL
========================================= */

.tay-account .mpca-manage-sub-accounts-wrapper h3 {
    margin-top: 28px;
    margin-bottom: 10px;

    color: var(--tay-text);
    font-size: 0.9rem;
    font-weight: 600;
}


/* Signup URL input */
.tay-account .mpca-manage-sub-accounts-wrapper input[readonly] {
    min-height: 42px;

    padding: 10px 12px;

    background: #fff;
    border: 1px solid var(--tay-border);
    border-radius: 7px;

    color: var(--tay-muted);
}

@media (max-width: 700px) {

    .tay-account .mpca-search {
        grid-template-columns: 1fr;
    }

    .tay-account #mpca_sub_account_search_btn {
        width: 100%;
    }

    .tay-account #mpca-add-sub-user-form {
        padding: 18px;
    }

    .tay-account #mpca-sub-accounts-table {
        min-width: 760px;
    }

}

/* =========================================
   CORPORATE ACCOUNT – EXPORT
========================================= */

.tay-account #mpca_export_sub_accounts {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--tay-border);
}

.tay-account #mpca_export_sub_accounts a {
    display: inline-flex;
    align-items: center;

    color: var(--tay-text);
    font-size: 0.82rem;
    font-weight: 600;

    text-decoration: underline;
    text-underline-offset: 3px;
}


/* =========================================
   CORPORATE ACCOUNT – SIGNUP URL
========================================= */

.tay-account #mpca_signup_url {
    margin-top: 28px;
    padding-top: 24px;

    border-top: 1px solid var(--tay-border);
}

.tay-account #mpca_signup_url h3 {
    margin: 0 0 8px;

    color: var(--tay-text);
    font-size: 0.9rem;
    font-weight: 600;
}

.tay-account #mpca_signup_url label {
    display: block;

    margin-bottom: 10px;

    color: var(--tay-muted);
    font-size: 0.82rem;
    line-height: 1.5;
}


/* Input + copy button row */
.tay-account #mpca_signup_url {
    position: relative;
}

.tay-account #mpca-signup-url-input {
    width: calc(100% - 48px);
    min-height: 42px;

    padding: 10px 12px;

    background: #fff;
    border: 1px solid var(--tay-border);
    border-radius: 7px;

    color: var(--tay-muted);
    font-size: 0.78rem;

    box-sizing: border-box;
}


/* Copy button */
.tay-account #mpca_signup_url .mpca-clipboard {
    width: 40px;
    height: 40px;

    margin-left: 6px;
    padding: 0;

    border: 1px solid var(--tay-border);
    border-radius: 7px;

    background: var(--tay-surface);
    color: var(--tay-text);

    vertical-align: middle;

    cursor: pointer;
}

.tay-account #mpca_signup_url .mpca-clipboard:hover {
    background: #f7f7f7;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 700px) {

    .tay-account #mpca-signup-url-input {
        width: calc(100% - 48px);
    }

}

/* =========================================
   CORPORATE ACCOUNT – TABLE ACTIONS
========================================= */

.tay-account #mpca-sub-accounts-table td:last-child {
    min-width: 110px;
}

/* Reset MemberPress action buttons */
.tay-account #mpca-sub-accounts-table .mpca-sub-accounts-button-light {
    display: block;

    width: auto;
    min-height: 0;

    margin: 0 0 5px;
    padding: 0;

    background: transparent;
    border: 0;
    border-radius: 0;

    color: var(--tay-muted);

    font-size: 0.72rem;
    font-weight: 500;
    line-height: 1.4;

    text-align: left;
    text-decoration: underline;
    text-underline-offset: 2px;

    cursor: pointer;
}

/* Remove space after final action */
.tay-account #mpca-sub-accounts-table .mpca-sub-accounts-button-light:last-child {
    margin-bottom: 0;
}

/* Hover */
.tay-account #mpca-sub-accounts-table .mpca-sub-accounts-button-light:hover {
    color: var(--tay-text);
    background: transparent;
}

/* =========================================
   ACCESS INACTIVE
========================================= */

.tay-access-inactive {
    display: flex;
    justify-content: center;

    width: 100%;
    padding: 64px 0;
}

.tay-access-inactive-card {
    width: 100%;
    max-width: 620px;

    padding: 40px;

    background: var(--tay-surface);
    border: 1px solid var(--tay-border);
    border-radius: 14px;

    text-align: center;
}


/* Eyebrow */

.tay-access-inactive .tay-eyebrow {
    display: block;

    margin-bottom: 12px;

    color: var(--tay-muted);

    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1.4;

    text-transform: uppercase;
}


/* Heading */

.tay-access-inactive-card h1 {
    max-width: 480px;

    margin: 0 auto 14px;

    color: var(--tay-text);

    font-size: 2rem;
    font-weight: 500;
    line-height: 1.2;
}


/* Description */

.tay-access-inactive-card p {
    max-width: 500px;

    margin: 0 auto;

    color: var(--tay-muted);

    font-size: 0.92rem;
    line-height: 1.65;
}


/* =========================================
   ACTIONS
========================================= */

.tay-access-inactive-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;

    margin-top: 28px;
}


/* Shared button */

.tay-access-inactive-actions .tay-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 44px;
    padding: 10px 18px;

    border-radius: 7px;

    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1;

    text-decoration: none;

    transition:
        background 0.2s ease,
        border-color 0.2s ease;
}


/* Primary */

.tay-access-inactive-actions .tay-button-primary {
    background: #111;
    border: 1px solid #111;

    color: #fff;
}

.tay-access-inactive-actions .tay-button-primary:hover {
    background: #292929;
    border-color: #292929;

    color: #fff;
}


/* Secondary */

.tay-access-inactive-actions .tay-button-secondary {
    background: transparent;
    border: 1px solid var(--tay-border);

    color: var(--tay-text);
}

.tay-access-inactive-actions .tay-button-secondary:hover {
    background: #f7f7f7;

    color: var(--tay-text);
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .tay-access-inactive {
        padding: 36px 0;
    }

    .tay-access-inactive-card {
        padding: 28px 20px;
        border-radius: 12px;
    }

    .tay-access-inactive-card h1 {
        font-size: 1.65rem;
    }

    .tay-access-inactive-actions {
        flex-direction: column;

        width: 100%;
    }

    .tay-access-inactive-actions .tay-button {
        width: 100%;
    }

}

/* =========================================
   MEMBERPRESS COURSES – READYLAUNCH
========================================= */


/* =========================================
   COURSE SIDEBAR
========================================= */

#mpcs-sidebar {
    background: #fff !important;
    border-right: 1px solid var(--tay-border);
}

.mpcs-sidebar-wrapper {
    background: #fff;
}

#mpcs-sidebar .mpcs-sidebar-wrapper .figure img {
    max-height: 100% !important;
}


/* Course title */

#mpcs-sidebar .course-progress h2 {
    margin: 0 14px 14px;
    color: var(--tay-text);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.25;
}


/* =========================================
   SIDEBAR PROGRESS
========================================= */

#mpcs-sidebar .course-progress {
    padding: 24px 0 20px;
}


/* Progress track */

#mpcs-sidebar .progress-bar {
    height: 8px;

    margin: 0 0 8px;

    background: #ececf1 !important;

    border-radius: 999px;

    overflow: hidden;
}


/* Filled progress */

#mpcs-sidebar .progress-bar .user-progress {
    height: 100%;

    background: #5147d9 !important;

    border-radius: 999px;

    transition: width 0.3s ease;
}


/* Percentage text */

#mpcs-sidebar .progress-text {
    margin: 0;

    color: var(--tay-muted);

    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;

    text-transform: uppercase;
}

#mpcs-sidebar .progress-text span {
    color: var(--tay-text);
}


/* =========================================
   SIDEBAR MENU
========================================= */

.mpcs-sidebar-content {
    border-top: 1px solid var(--tay-border);
}

.mpcs-sidebar-menu {
    margin: 0;
    padding: 0;
}

.mpcs-sidebar-menu li {
    border-bottom: 1px solid var(--tay-border);
}

.mpcs-sidebar-menu li a {
    display: flex;
    align-items: center;

    padding: 14px 18px;

    color: var(--tay-text) !important;

    font-size: 0.82rem;
    font-weight: 500;

    text-decoration: none;
}

.mpcs-sidebar-menu li a:hover {
    background: #f7f7f8 !important;
}

.mpcs-sidebar-menu li.current-menu-item a,
.mpcs-sidebar-menu li.active a {
    background: #f4f2ff !important;
    color: #5147d9 !important;
}


/* =========================================
   MAIN COURSE CONTENT
========================================= */

#mpcs-main {
    background: #fff;

    padding: 42px 48px;
}

#mpcs-main > p {
    max-width: 760px;

    color: var(--tay-muted);

    font-size: 0.92rem;
    line-height: 1.7;
}


/* Course Curriculum */

#mpcs-main > h1 {
    margin: 28px 0 18px;

    color: var(--tay-text);

    font-size: 2rem;
    font-weight: 500;
    line-height: 1.2;
}


/* =========================================
   START NEXT LESSON / BOOKMARK
========================================= */

#bookmark {
    margin-bottom: 22px;
}

#bookmark .btn {
    display: inline-flex;
    align-items: center;

    min-height: 40px;

    padding: 9px 14px;

    background: #111 !important;
    border: 1px solid #111 !important;
    border-radius: 7px !important;

    color: #fff !important;

    font-size: 0.78rem;
    font-weight: 600;

    text-decoration: none;
}

#bookmark .btn:hover {
    background: #292929 !important;
    border-color: #292929 !important;
}


/* =========================================
   COURSE SECTIONS
========================================= */

.mpcs-section {
    background: #fff;
    border: 1px solid var(--tay-border);
    border-radius: 10px;
    overflow: hidden;
}


/* Section header */

.mpcs-section-header {
    width: 100%;
    /*padding: 14px 16px !important;*/
    background: #fafafa !important;
    border: 0 !important;
    border-bottom: 1px solid var(--tay-border) !important;
    color: var(--tay-text) !important;
    font-size: 0.85rem;
    font-weight: 600;
    text-align: left;
}

#mpcs-main .mpcs-section-title {
    background: transparent !important;
}

#mpcs-sidebar .mpcs-sidebar-wrapper .course-progress {
    background: transparent !important;
}




/* =========================================
   LESSON LIST
========================================= */

.mpcs-lessons {
    margin: 0;
    padding: 0;

    background: #fff;
}

.mpcs-lesson {
    margin: 0;

    border-bottom: 1px solid var(--tay-border);
}

.mpcs-lesson:last-child {
    border-bottom: 0;
}


/* Whole lesson link */

.mpcs-lesson-row-link {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 11px 14px;
    background: #fff !important;
    color: var(--tay-text) !important;
    font-size: 0.82rem;
    text-decoration: none;
    transition: background 0.15s ease;
}

.mpcs-lesson-row-link:hover {
    background: #f7f7f8 !important;
}


/* Active/current lesson */

.mpcs-lesson.current .mpcs-lesson-row-link,
.mpcs-lesson.active .mpcs-lesson-row-link {
    background: #f7f7f7 !important;
}

#mpcs-sidebar .mpcs-section-title-text {
    font-size: inherit !important;
}


/* =========================================
   READYLAUNCH BUTTONS
========================================= */

#mpcs-main .btn-green,
#mpcs-main .btn-primary,
#mpcs-main button.btn-green {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
    border-radius: 7px !important;
    font-size: 0.75rem;
    font-weight: 600;
}

#mpcs-main .btn-green:hover,
#mpcs-main .btn-primary:hover {
    background: #292929 !important;
    border-color: #292929 !important;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 768px) {

    #mpcs-main {
        padding: 28px 18px;
    }

    #mpcs-main > h1 {
        font-size: 1.65rem;
    }

}

/* =========================================
   MEMBERPRESS COURSES – NAVBAR
========================================= */

#mpcs-navbar {
    min-height: 64px;

    padding: 0 18px;

    background: #fff !important;
    border-bottom: 1px solid var(--tay-border);

    box-shadow: none !important;
}


/* Navbar sections */

#mpcs-navbar .navbar-section {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}


/* Brand */

#mpcs-navbar .navbar-brand,
#mpcs-navbar .site-branding {
    color: var(--tay-text) !important;

    font-size: 0.95rem;
    font-weight: 600;

    text-decoration: none;
}


/* Back button */

#mpcs-navbar .nav-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    background: transparent !important;
    border: 1px solid var(--tay-border) !important;
    border-radius: 7px;
    color: var(--tay-text) !important;
    box-shadow: none !important;
}

#mpcs-navbar .nav-back:hover {
    background: #f7f7f8 !important;
}


/* Keep icon clean */

#mpcs-navbar .nav-back svg,
#mpcs-navbar .nav-back i {
    color: currentColor !important;
}


/* =========================================
   RIGHT-HAND NAVBAR AREA
========================================= */

/* Preview/dropdown text */

#mpcs-navbar .dropdown,
#mpcs-navbar .dropdown a,
#mpcs-navbar .dropdown button {
    color: var(--tay-muted) !important;

    font-size: 0.78rem;
    font-weight: 500;
}


/* User/avatar */

#mpcs-navbar img {
    border-radius: 999px;
}


/* Remove dark ReadyLaunch treatment */

#mpcs-navbar .btn {
    box-shadow: none !important;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 768px) {

    #mpcs-navbar {
        min-height: 58px;
        padding: 0 12px;
    }

    #mpcs-navbar .navbar-brand {
        font-size: 0.88rem;
    }

}

/* =========================================
   MEMBERPRESS COURSES – INDIVIDUAL LESSON
========================================= */


/* -----------------------------------------
   LESSON MAIN CONTENT
----------------------------------------- */

#mpcs-main {
    background: #fff;
}

/* Give lesson content a comfortable reading width */

#mpcs-main .entry-content {
    max-width: 900px;
    margin: 0 auto;
    padding: 42px 48px 80px;
}


/* Lesson title */

#mpcs-main h1 {
    margin: 0 0 28px;
    color: var(--tay-text);
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.35;
}


/* -----------------------------------------
   COMPLETE + CONTINUE BAR
----------------------------------------- */

#mpcs-navbar #mpcs-lesson-navigation {
    background: transparent !important;
}

/* Main Complete and Continue action */

#mpcs-lesson-navigation a,
#mpcs-lesson-navigation .btn {
    background: #F5F5F5 !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: 0.82rem;
    font-weight: 600;
    transition:
        background 0.2s ease,
        opacity 0.2s ease;
}

#mpcs-lesson-navigation span {
    color: var(--tay-text) !important;
}


#mpcs-lesson-navigation a:hover,
#mpcs-lesson-navigation .btn:hover {
    opacity: 0.85;
}

.mpcs-classroom #mpcs-navbar
#mpcs-lesson-navigation
#mpcs-classroom-previous-lesson-link {
    background: transparent !important;
    color: var(--tay-text) !important;
}

.mpcs-classroom #mpcs-navbar
#mpcs-lesson-navigation
#mpcs-classroom-previous-lesson-link:hover {
    background: var(--tay-bg) !important;
    color: var(--tay-text) !important;
}

/* -----------------------------------------
   LESSON SIDEBAR
----------------------------------------- */

#mpcs-sidebar {
    background: #fff;

    border-right: 1px solid var(--tay-border);
}

#mpcs-sidebar .mpcs-sidebar-wrapper {
    border-right: 0px !important;
}


/* Course information at top */

#mpcs-sidebar-header {
    padding: 18px 16px;
}


/* Course title */

#mpcs-sidebar-header h2 {
    color: var(--tay-text);

    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.35;
}

#mpcs-section-header-5 > div {
    background: transparent !important;
}


/* -----------------------------------------
   COURSE PROGRESS
----------------------------------------- */

#mpcs-sidebar .course-progress {
    margin-top: 10px;
}

#mpcs-sidebar .progress-bar {
    height: 5px;

    background: #ececf1 !important;
    border-radius: 999px;

    overflow: hidden;
}

#mpcs-sidebar .progress-bar .user-progress {
    background: var(--tay-text) !important;
}

#mpcs-sidebar .progress-text {
    margin-top: 6px;

    color: var(--tay-muted);

    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.06em;
}


/* -----------------------------------------
   CURRICULUM / SECTIONS
----------------------------------------- */

#mpcs-sidebar .mpcs-section {
    border: 1px solid var(--tay-border);
    border-radius: 0px;
    overflow: hidden;
}

.mpcs-section-title {
    background: transparent !important;
}


/* Section heading */

#mpcs-sidebar .mpcs-section-header {
    padding: 14px 16px;
    background: var(--tay-surface) !important;
    border: 0 !important;
}

#mpcs-sidebar .mpcs-section-title-text {
    color: var(--tay-text);
    font-size: 0.78rem;
    font-weight: 600;
}


/* -----------------------------------------
   LESSON ROWS
----------------------------------------- */

#mpcs-sidebar .mpcs-lesson {
    border-top: 1px solid var(--tay-border) !important;
    background: #fff !important;
}

#mpcs-sidebar .mpcs-lesson a {
    padding: 13px 14px;

    color: var(--tay-text) !important;

    font-size: 0.82rem;

    text-decoration: none;
}


/* Current lesson */

#mpcs-sidebar .mpcs-lesson.current {
    background: #f4f2ff !important;
}

#mpcs-sidebar .mpcs-lesson.current a {
    color: var(--tay-text) !important;
    font-weight: 500;
}


/* Hover */

#mpcs-sidebar .mpcs-lesson:hover {
    background: #f8f8fa !important;
}


/* -----------------------------------------
   LESSON STATUS ICONS
----------------------------------------- */

#mpcs-sidebar .mpcs-lesson i,
#mpcs-sidebar .mpcs-lesson svg {
    color: var(--tay-muted) !important;
}


/* -----------------------------------------
   MOBILE
----------------------------------------- */

@media (max-width: 768px) {

    #mpcs-main .entry-content {
        padding: 28px 20px 60px;
    }

    #mpcs-main h1 {
        font-size: 1.8rem;
    }

}

/* =========================================================
   TAY – WordPress user password setup
   ========================================================= */

   .tay-password-reset-card {
    width: 100%;
    max-width: 480px;
    margin: 60px auto;
    padding: 36px;
    background: #fff;
    border: 1px solid var(--tay-border);
    border-radius: 14px;
    box-sizing: border-box;
}


/* Heading */

.tay-password-reset-card h1 {
    margin: 0 0 10px;
    padding: 0;
    font-size: 2rem;
    line-height: 1.2;
    font-weight: 600;
    color: var(--tay-text);
}


/* Intro */

.tay-password-reset-intro {
    margin: 0 0 28px !important;
    color: var(--tay-muted);
    font-size: 15px;
    line-height: 1.6;
}


/* Form */

.tay-password-reset-card form {
    width: 100%;
    margin: 0;
}


/* Fields */

.tay-password-field {
    width: 100%;
    margin: 0 0 18px;
}

.tay-password-field label {
    display: block;
    margin: 0 0 7px;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 500;
    color: var(--tay-text);
}


/* Inputs */

.tay-password-field input[type="password"] {
    display: block;
    width: 100%;
    height: 48px;
    margin: 0;
    padding: 10px 13px;

    border: 1px solid var(--tay-border);
    border-radius: 7px;

    background: #fff;
    color: var(--tay-text);

    font-family: inherit;
    font-size: 16px;
    line-height: 1.4;

    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
}

.tay-password-field input[type="password"]:focus {
    border-color: #5147d9;
    outline: 2px solid rgba(81, 71, 217, 0.15);
    outline-offset: 1px;
}


/* Button */

.tay-password-reset-button {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 48px;
    margin: 6px 0 0;
    padding: 12px 20px;

    border: 0;
    border-radius: 7px;

    background: var(--tay-text);
    color: #fff;

    font-family: inherit;
    font-size: 14px;
    line-height: 1;
    font-weight: 600;

    text-align: center;
    text-decoration: none;
    cursor: pointer;

    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}

.tay-password-reset-button:hover {
    background: #333;
    color: #fff;
}

.tay-password-reset-button:active {
    transform: translateY(1px);
}


/* Error */

.tay-password-error {
    margin: 0 0 20px;
    padding: 12px 14px;

    border: 1px solid #e2b9b9;
    border-radius: 7px;

    background: #fff7f7;
    color: var(--tay-text);

    font-size: 14px;
    line-height: 1.5;
}


/* Mobile */

@media (max-width: 600px) {

    .tay-password-reset-card {
        margin: 32px auto;
        padding: 28px 22px;
    }

    .tay-password-reset-card h1 {
        font-size: 1.7rem;
    }
}

/* =========================================================
   COURSE LIBRARY
   ========================================================= */

   .tay-course-library-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}


/* Card */

.tay-course-library-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;

    background: var(--tay-surface);
    border: 1px solid var(--tay-border);
    border-radius: 12px;
}


/* Thumbnail */

.tay-course-library-image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #f5f5f5;
}

.tay-course-library-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* Content */

.tay-course-library-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1;
    padding: 22px;
}

.tay-course-library-content h3 {
    margin: 6px 0 20px;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 600;
}

.tay-course-library-content h3 a {
    color: var(--tay-text);
    text-decoration: none;
}

.tay-course-library-content h3 a:hover {
    text-decoration: underline;
}


/* Keep CTA at bottom of equal-height cards */

.tay-course-library-content > .tay-button {
    margin-top: auto;
}


/* Tablet / mobile */

@media (max-width: 767px) {

    .tay-course-library-grid {
        grid-template-columns: 1fr;
    }

    .tay-course-library-content {
        padding: 18px;
    }
}

/* =========================================================
   COURSE AUDIENCE
   ========================================================= */

   .tay-course-audience {
    display: none; /*Disabling for front-end, leaving for quick internal check-ups*/
    flex-wrap: wrap;
    gap: 7px;
    margin: -6px 0 20px;
}


.tay-course-audience-pill {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 10px;

    border: 1px solid #dedbea;
    border-radius: 5px;

    background: #f4f2ff;
    color: #5147d9;

    font-size: 12px;
    line-height: 1;
    font-weight: 600;
    white-space: nowrap;
}

/* Corporate Accounts — hide MemberPress course progress action */
.tay-account .mpca-course-sub-account-progress {
    display: none !important;
}

/* =========================================================
   MemberPress school signup / shared registration page
   ========================================================= */

   body.mepr-signup-page,
   body[class*="register"] {
       background: #f7f7fa;
   }
   
   /* Main signup form area */
   .mepr-signup-form,
   #mepr_signup_form {
       max-width: 760px;
       margin: 40px auto 80px;
       padding: 32px;
       background: #fff;
       border: 1px solid var(--tay-border, #e6e6ea);
       border-radius: 14px;
       box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
   }
   
   /* Membership title */
   .mepr-signup-form h1,
   .mepr-signup-form h2,
   .mepr-signup-form .mepr_price,
   #mepr_signup_form h1,
   #mepr_signup_form h2 {
       color: var(--tay-text, #171717);
   }
   
   /* Price */
   .mepr_price {
       margin-bottom: 24px;
       color: var(--tay-muted, #6f6f78);
       font-size: 0.95rem;
   }
   
   /* Rows */
   #mepr_signup_form .mp-form-row {
       margin-bottom: 18px;
   }
   
   /* Labels */
   #mepr_signup_form .mp-form-label,
   #mepr_signup_form label {
       display: block;
       margin-bottom: 7px;
       color: var(--tay-text, #171717);
       font-size: 0.9rem;
       font-weight: 600;
   }
   
   /* Inputs + selects */
   #mepr_signup_form input[type="text"],
   #mepr_signup_form input[type="email"],
   #mepr_signup_form input[type="password"],
   #mepr_signup_form input[type="tel"],
   #mepr_signup_form input[type="number"],
   #mepr_signup_form select,
   #mepr_signup_form textarea {
       width: 100%;
       min-height: 46px;
       padding: 10px 13px;
       border: 1px solid var(--tay-border, #dedee5);
       border-radius: 8px;
       background: #fff;
       color: var(--tay-text, #171717);
       font: inherit;
       line-height: 1.4;
       transition:
           border-color 0.2s ease,
           box-shadow 0.2s ease;
   }
   
   /* Focus */
   #mepr_signup_form input:focus,
   #mepr_signup_form select:focus,
   #mepr_signup_form textarea:focus {
       outline: none;
       border-color: #5147d9;
       box-shadow: 0 0 0 3px rgba(81, 71, 217, 0.12);
   }
   
   /* Error text */
   #mepr_signup_form .cc-error,
   #mepr_signup_form .mepr-form-has-errors,
   #mepr_signup_form .mepr_error {
       color: #b42318;
       font-size: 0.82rem;
       margin-top: 6px;
   }
   
   /* Submit button */
   #mepr_signup_form input[type="submit"],
   #mepr_signup_form button[type="submit"],
   #mepr_signup_form .mepr-submit {
       display: inline-flex;
       align-items: center;
       justify-content: center;
       min-height: 44px;
       padding: 10px 18px;
       border: 0;
       border-radius: 8px;
       background: #111;
       color: #fff;
       font-size: 0.9rem;
       font-weight: 600;
       cursor: pointer;
       transition:
           transform 0.18s ease,
           opacity 0.18s ease;
   }
   
   #mepr_signup_form input[type="submit"]:hover,
   #mepr_signup_form button[type="submit"]:hover,
   #mepr_signup_form .mepr-submit:hover {
       transform: translateY(-1px);
       opacity: 0.92;
   }
   
   /* Remove MemberPress default overly-wide label behaviour */
   #mepr_signup_form .mp-form-label {
       width: auto !important;
   }
   
   /* Mobile */
   @media (max-width: 767px) {
       .mepr-signup-form,
       #mepr_signup_form {
           margin: 20px 16px 48px;
           padding: 22px 18px;
           border-radius: 12px;
       }
   }

 /* Hide price on MemberPress registration form */
#mepr_signup_form .mepr_price {
    display: none !important;
}

.tay-school-signup-intro {
    max-width: 620px;
    margin: 8px auto 28px;
    color: var(--tay-muted, #6f6f78);
    font-size: 1rem;
    line-height: 1.6;
    text-align: center;
}

/* Corporate account shared signup — align heading with form */
body.single-memberpressproduct .entry-header {
    width: 100%;
    max-width: 760px;
    margin: 40px auto 28px;
    text-align: center;
}

body.single-memberpressproduct #mepr_signup_form {
    margin: 0 auto 80px;
}

@media (max-width: 767px) {

    body.single-memberpressproduct .entry-header {
        width: auto;
        margin: 24px 16px 20px;
    }

    body.single-memberpressproduct #mepr_signup_form {
        margin: 0 16px 48px;
    }
}

.tay-school-role-fields {
    margin: 0;
    padding: 20px;
    border: 1px solid var(--tay-border);
    border-radius: 12px;
    background: var(--tay-surface);
}

.tay-school-role-fields__heading {
    margin-bottom: 14px;
    font-weight: 600;
    color: var(--tay-text);
}

.tay-school-role-option {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 10px 0;
    cursor: pointer;
    font-size: 0.78rem;
}

.tay-school-role-option label {
    display: inline-flex;
}

.tay-school-role-option input {
    margin-top: 3px;
}

.tay-school-role-option span {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.tay-school-role-option small {
    color: var(--tay-muted);
    font-size: 0.78rem;
}

.mepr-manage_sub_accounts-wrapper label {
    display: inline-flex;
    font-size: 0.78rem;
}

.tay-school-role-option.is-default {
    cursor: default;
}

.tay-school-access-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.tay-school-access-pill {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border: 1px solid var(--tay-border);
    border-radius: 999px;
    background: #f4f2ff;
    font-size: 0.72rem;
    line-height: 1.2;
    white-space: nowrap;
}

.tay-school-course-access {
    min-width: 180px;
}

.tay-school-access-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.tay-school-access-modal[hidden] {
    display: none !important;
}

.tay-school-access-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 15, 15, 0.45);
}

.tay-school-access-modal__card {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 480px;
    padding: 28px;
    border-radius: 14px;
    background: var(--tay-surface);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}

.tay-school-access-modal__close {
    position: absolute;
    top: 14px;
    right: 16px;
    border: 0;
    background: transparent;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.tay-school-access-modal__user {
    margin-bottom: 20px;
    color: var(--tay-muted);
}

.tay-school-access-modal__actions {
    margin-top: 24px;
}

.tay-school-access-modal-open {
    overflow: hidden;
}

.tay-school-edit-access {
    margin-left: 8px;
}

#tay-school-access-modal-title {
    font-weight: 600;
    font-size: 1.25rem;
}


/**
 * =========================================
 * School Account CSV importer
 * =========================================
 */

#mpca_import_sub_accounts {
    font-size: 0.9rem;
    margin-top: 32px;
    padding: 28px;
    border: 1px solid var(--tay-border);
    border-radius: 14px;
    background: var(--tay-surface);
}

#mpca_import_sub_accounts h4 {
    font-weight: 600;
    margin: 0 0 6px;
    font-size: 0.9rem;
    line-height: 1.3;
    color: var(--tay-text);
}

#mpca_import_sub_accounts > div small {
    color: var(--tay-muted);
    font-size: 0.78rem;
}

#mpca_import_sub_accounts form {
    margin-top: 24px;
}

#mpca_import_sub_accounts .tay-school-role-fields {
    margin: 0 0 24px;
    padding: 20px;
    border: 1px solid var(--tay-border);
    border-radius: 12px;
    background: #fff;
}


/**
 * CSV file field + Upload button.
 */
#mpca_import_sub_accounts input[type="file"] {
    display: block;
    width: 100%;
    margin: 0 0 16px;
    padding: 12px;
    border: 1px solid var(--tay-border);
    border-radius: 10px;
    background: #fff;
    color: var(--tay-text);
    font-size: 0.95rem;
}


/**
 * Upload CSV button.
 */
#mpca_import_sub_accounts input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 18px;
    border: 0;
    border-radius: 10px;
    background: #111;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    transition:
        transform 0.15s ease,
        opacity 0.15s ease;
}

#mpca_import_sub_accounts input[type="submit"]:hover {
    transform: translateY(-1px);
}

#mpca_import_sub_accounts input[type="submit"]:disabled {
    opacity: 0.6;
    cursor: wait;
}


/**
 * MemberPress loading state.
 */
#mpca_import_sub_accounts .mpca-loading-gif {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-left: 12px;
    color: var(--tay-muted);
}


/**
 * Remove excessive MemberPress spacing
 * generated by <br> elements.
 */
#mpca_import_sub_accounts form > br {
    display: none;
}

.tay-csv-import-helper {
    max-width: 620px;
    margin: 8px 0 0;
    color: var(--tay-muted);
    font-size: 0.78rem;
    line-height: 1.5;
}

/* Course access checkbox rows */
.tay-account #mpca-add-sub-user-form
.tay-school-role-option,
.tay-school-role-fields
.tay-school-role-option {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
    cursor: pointer;
}

/* Keep checkbox compact */
.tay-school-role-option input[type="checkbox"] {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 2px 0 0;
}

/* Text sits beside checkbox */
.tay-school-role-option > span {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 0;
}

/* Remove unwanted spacing */
.tay-school-role-option strong,
.tay-school-role-option small {
    margin: 0;
    line-height: 1.4;
}

/**
 * =========================================
 * Full-screen Booklet Viewer
 * =========================================
 */

body.tay-booklet-viewer-page {
    margin: 0;
    overflow: hidden;
    background: #f5f5f7;
}

.tay-booklet-viewer {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background: #f5f5f7;
}


/**
 * Viewer top bar
 */
.tay-booklet-viewer__header {
    flex: 0 0 auto;
    min-height: 64px;
    padding: 12px 20px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    border-bottom: 1px solid var(--tay-border);
    background: #fff;
}


/**
 * Back control
 */
.tay-booklet-viewer__back {
    flex: 0 0 auto;

    color: var(--tay-text);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.tay-booklet-viewer__back:hover {
    text-decoration: underline;
}


/**
 * Booklet information
 */
.tay-booklet-viewer__meta {
    min-width: 0;

    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;

    font-size: 14px;
}

.tay-booklet-viewer__meta strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tay-booklet-viewer__meta span {
    flex: 0 0 auto;
    color: var(--tay-muted);
}


/**
 * Heyzine area
 */
.tay-booklet-viewer__content {
    flex: 1 1 auto;
    min-height: 0;

    position: relative;

    width: 100%;

    background: #111;
}


/**
 * Force Heyzine iframe to use
 * the complete available area.
 */
.tay-booklet-viewer__content iframe {
    display: block;

    width: 100% !important;
    height: 100% !important;

    max-width: none !important;

    border: 0 !important;
}


/**
 * Mobile
 */
@media (max-width: 700px) {

    .tay-booklet-viewer__header {
        min-height: 56px;
        padding: 10px 14px;
    }

    .tay-booklet-viewer__meta strong {
        display: none;
    }

}

.tay-additional-resource__help {
    margin: 5px 0 0;
    color: var(--tay-muted);
    font-size: 0.9rem;
    line-height: 1.5;
}

/* Booklet Keywords */

.tay-booklet-keywords {
    margin-top: 2rem;
    background: transparent;
}

.tay-booklet-keywords__heading {
margin-bottom: 14px;
    font-size: 0.78rem;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--tay-muted);
}

.tay-booklet-keywords__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.tay-booklet-keyword {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.75rem;
    background: #f2f4f8;
    color: #0e1952;
    border: 1px solid #e2e5eb;
    border-radius: 999px;
    font-size: 0.8rem;
    line-height: 1.4;
}

/* Ensure hidden keywords stay hidden initially */
.tay-booklet-keyword[hidden] {
    display: none;
}

.tay-booklet-keywords__toggle {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.25rem;
    border: 0;
    background: transparent;
    color: var(--tay-muted);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
}

.tay-booklet-keywords__toggle:hover {
    text-decoration: underline;
    background: transparent;
    color: var(--tay-muted);
}

.tay-booklet-keywords__toggle:focus {
    background: transparent;
    color: var(--tay-text);
}

.tay-booklet-keywords__toggle:focus-visible {
    outline: 2px solid #0e1952;
    outline-offset: 3px;
    border-radius: 3px;
}

/**
 * =========================================
 * Introduction to Unit video
 * =========================================
 */

.tay-booklet-video {
    padding-top: 32px;
    border-top: 1px solid var(--tay-border);
}

.tay-booklet-video__section-heading {
    margin-bottom: 14px;

    font-size: 0.78rem;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    color: var(--tay-muted);
}

.tay-booklet-video__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(260px, 0.65fr);
    gap: 28px;
    align-items: center;
    border-radius: 12px;
}


/**
 * Video
 */
.tay-booklet-video__player {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #111;
    border-radius: 9px;
}

.tay-booklet-video__player iframe {
    position: absolute;
    inset: 0;

    display: block;

    width: 100%;
    height: 100%;

    border: 0;
}


/**
 * Copy
 */
.tay-booklet-video__copy {
    min-width: 0;
}

.tay-booklet-video__copy h2 {
    margin: 0 0 10px;
    font-size: 1.3rem;
    line-height: 1.3;
}

.tay-booklet-video__description {
    color: var(--tay-muted);
    font-size: 0.95rem;
    line-height: 1.6;
}

.tay-booklet-video__description > *:first-child {
    margin-top: 0;
}

.tay-booklet-video__description > *:last-child {
    margin-bottom: 0;
}


/**
 * Tablet / mobile
 */
@media (max-width: 780px) {

    .tay-booklet-video__inner {
        grid-template-columns: 1fr;
        gap: 18px;
        padding-bottom: 1.5rem;
    }

}

/* =========================================
   My Account – Payments table
   Hide Total, Method and Invoice
   ========================================= */

#mepr-account-payments-table th:nth-child(2),
#mepr-account-payments-table td:nth-child(2),
#mepr-account-payments-table th:nth-child(4),
#mepr-account-payments-table td:nth-child(4),
#mepr-account-payments-table th:nth-child(6),
#mepr-account-payments-table td:nth-child(6) {
    display: none;
}

/* =========================================
   My Account – Subscriptions table
   Hide Card Expiry
   ========================================= */

#mepr-account-subscriptions-table th:nth-child(5),
#mepr-account-subscriptions-table td:nth-child(5) {
    display: none;
}
.mepr-subscription-row .mepr-account-subscr-id {
    display: none;
}

/* =========================================
   Watch this term – collection grid
   ========================================= */

.tay-quarter-collection-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.tay-quarter-collection-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;

    background: var(--tay-surface);
    border: 1px solid var(--tay-border);
    border-radius: 12px;
}

.tay-quarter-collection-image {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #f4f4f5;
}

.tay-quarter-collection-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tay-collection-earned-badge {
    position: absolute;
    top: 12px;
    right: 12px;

    display: inline-flex;
    align-items: center;
    gap: 5px;

    padding: 6px 9px;

    background: #e8f6ee;
    color: #267346;
    border: 1px solid #cfe9da;
    border-radius: 999px;

    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1;

    white-space: nowrap;
}

.tay-collection-earned-badge__icon {
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
}

.tay-quarter-collection-content {
flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    padding: 18px;
}

.tay-quarter-collection-copy {
    flex: 1 1 auto;
}

.tay-quarter-collection-copy h3 {
    margin: 0 0 8px;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.25;
}

.tay-quarter-collection-copy h3 a {
    color: inherit;
    text-decoration: none;
}

.tay-quarter-collection-description {
    color: var(--tay-muted);
    font-size: 0.92rem;
    line-height: 1.55;
}

.tay-quarter-collection-description > *:first-child {
    margin-top: 0;
}

.tay-quarter-collection-description > *:last-child {
    margin-bottom: 0;
}

.tay-quarter-collection-progress {
    margin-top: 18px;
}

.tay-quarter-collection-progress-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    margin-bottom: 8px;

    color: var(--tay-muted);
    font-size: 0.82rem;
}

.tay-quarter-collection-progress-top strong {
    color: var(--tay-text);
    font-weight: 600;
}

.tay-quarter-collection-footer {
    padding-top: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.tay-quarter-collection-badge-area {
    min-height: 52px;
}


/* Tablet */
@media (max-width: 980px) {

    .tay-quarter-collection-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* Mobile */
@media (max-width: 640px) {

    .tay-quarter-collection-grid {
        grid-template-columns: 1fr;
    }

}
.tay-quarter-collection-footer {
    margin-top: auto;
    padding-top: 18px;
}

.tay-quarter-collection-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.tay-quarter-collection-actions--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tay-quarter-collection-actions .tay-button {
    width: 100%;
    min-width: 0;
    text-align: center;
}

.tay-quarter-collection-actions .tay-button:focus {
color: #ffff;
}

@media (max-width: 520px) {
    .tay-quarter-collection-actions--two {
        grid-template-columns: 1fr;
    }
}

/* =========================================
   Achievements — term groups
   ========================================= */

.tay-achievements-terms {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

/*.tay-achievements-term {
    padding: 22px;
    border: 1px solid var(--tay-border);
    border-radius: 12px;
    background: var(--tay-surface);
}*/

.tay-achievements-term-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;

    margin-bottom: 20px;
}

.tay-achievements-term-heading h3 {
    margin: 4px 0 0;
    letter-spacing: .09em;
}

.tay-achievements-term-count {
color: var(--tay-text);
    font-size: 0.82rem;
    padding: 3px 9px;
    /* background: var(--tay-border); */
    border-radius: 999px;
    border: 1px solid var(--tay-border);
}


.tay-achievement-title {
    margin: 10px 0 4px;
    font-size: 1.125rem;
    line-height: 1.35;
    font-weight: 500;
}

.tay-achievement-term {
    margin: 0 0 16px;
    color: var(--tay-muted);
    font-size: 0.82rem;
}

/**
 * =========================================
 * Video Collection Page
 * =========================================
 */

.tay-collection-page {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}


/**
 * -----------------------------------------
 * Back link
 * -----------------------------------------
 */

.tay-collection-back {
    margin-bottom: 18px;
}

.tay-back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.9rem;
    text-decoration: none;
    color: var(--tay-muted);
}

.tay-back-link:hover {
    color: var(--tay-text);
}


/**
 * -----------------------------------------
 * Collection hero
 * -----------------------------------------
 */

.tay-collection-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: 36px;
    align-items: stretch;

    margin-bottom: 54px;
    padding: 30px;

    border: 1px solid var(--tay-border);
    border-radius: 16px;

    background: var(--tay-surface);
}

.tay-collection-hero__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.tay-collection-title {
    margin: 8px 0 12px;
    font-size: 2rem !important;
    line-height: 1.05;
    font-size: 1rem;
    letter-spacing: -0.03em;
}

.tay-collection-description {
    max-width: 680px;
    color: var(--tay-muted);
    font-size: 1rem;
    line-height: 1.65;
}

.tay-collection-description p {
    margin: 0;
}

.tay-collection-hero__image {
    overflow: hidden;
    min-height: 280px;
    /*background: #f4f4f4;*/
}

.tay-collection-hero__image img {
    display: block;
    width: 100%;
        border-radius: 12px;
    /*height: 100%;*/

    object-fit: cover;
}


/**
 * -----------------------------------------
 * Collection progress
 * -----------------------------------------
 */

.tay-collection-progress {
    margin-top: 28px;
}

.tay-collection-progress__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    margin-bottom: 9px;

    font-size: 0.85rem;
    color: var(--tay-muted);
}

.tay-collection-progress__top strong {
    color: var(--tay-text);
    font-weight: 600;
}

.tay-collection-progress__track {
    position: relative;

    width: 100%;
    height: 7px;

    overflow: hidden;

    border-radius: 999px;
    background: #e9e9e9;
}

.tay-collection-progress__bar {
    display: block;

    height: 100%;
    min-width: 0;

    border-radius: inherit;
    background: currentColor;

    transition: width 0.35s ease;
}


/**
 * -----------------------------------------
 * Completed status
 * -----------------------------------------
 */

.tay-collection-complete {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 7px;
    margin-top: 18px;
    padding: 7px 10px;
    border: 1px solid #cfe9da;
    border-radius: 999px;
    background: #e8f6ee;
    color: #267346;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1;
}

.tay-collection-complete svg {
    width: 15px;
    height: 15px;
    flex: 0 0 auto;
}


/**
 * =========================================
 * Video sequence
 * =========================================
 */

.tay-collection-videos {
    margin-bottom: 56px;
}

.tay-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;

    margin-bottom: 22px;
}

.tay-section-heading h2 {
    margin: 5px 0 0;
    font-size: clamp(1.225rem, 3vw, 1.225rem);
    line-height: 1.15;
}


/**
 * Stack instead of grid.
 */

.tay-collection-video-grid {
    display: flex;
    flex-direction: column;
    gap: 14px;
}


/**
 * Individual video card
 */

.tay-collection-video-card {
    position: relative;

    border: 1px solid var(--tay-border);
    border-radius: 14px;

    background: var(--tay-surface);

    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.tay-collection-video-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
}

.tay-collection-video-card__link {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr) auto;
    gap: 22px;
    align-items: center;
    padding: 14px;
    color: inherit;
    text-decoration: none;
}


/**
 * Video thumbnail
 */

.tay-collection-video-card__media {
    position: relative;

    overflow: hidden;

    aspect-ratio: 16 / 9;

    border-radius: 10px;
    background: #f1f1f1;
}

.tay-collection-video-card__media img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


/**
 * Completed badge over thumbnail
 */

.tay-collection-video-card__status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-right: 1rem;
    padding: 6px 8px;
    border: 1px solid #cfe9da;
    border-radius: 999px;
    background: #e8f6ee;
    color: #267346;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.tay-collection-video-card__status svg {
    width: 13px;
    height: 13px;
}

@media (max-width: 767px) {

    .tay-collection-video-card__link {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .tay-collection-video-card__status {
        grid-column: 2;
        justify-self: start;
        margin-right: 0;
    }
}


/**
 * Video content
 */

.tay-collection-video-card__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.tay-collection-video-card__content h3 {
    margin: 0;
    min-width: 0;
    font-size: 1.15rem;
    line-height: 1.35;
}

.tay-collection-video-card__cta {
    margin-top: 14px;
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 5px;
    color: var(--tay-text);
    font-size: 0.85rem;
    font-weight: 600;
}


/**
 * =========================================
 * Achievement panel
 * =========================================
 */

.tay-collection-achievement {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: 32px;
    align-items: center;

    margin-top: 48px;
    padding: 28px 30px;

    border: 1px solid var(--tay-border);
    border-radius: 16px;

    background: var(--tay-surface);
}

.tay-collection-achievement__content h2 {
    margin: 6px 0 10px;
    font-size: 1rem;
    font-weight: 500;
}

.tay-collection-achievement__content p {
    max-width: 620px;
    margin: 0 0 20px;
    color: var(--tay-muted);
    line-height: 1.6;
    font-size: 0.88rem;
}

.tay-collection-achievement__badge {
    display: flex;
    justify-content: center;
    align-items: center;
}

.tay-collection-achievement__badge img {
    display: block;

    width: 100%;
    max-width: 150px;
    height: auto;
}


/**
 * =========================================
 * Responsive
 * =========================================
 */

@media (max-width: 900px) {

    .tay-collection-hero {
        grid-template-columns: 1fr;
    }

    .tay-collection-hero__image {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .tay-collection-video-card__link {
        grid-template-columns: 180px minmax(0, 1fr);
    }

}


@media (max-width: 640px) {

    .tay-collection-hero {
        gap: 24px;
        padding: 20px;
        margin-bottom: 40px;
    }

    .tay-collection-title {
        font-size: 1.25rem;
    }

    .tay-collection-video-grid {
        gap: 16px;
    }

    .tay-collection-video-card__link {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .tay-collection-video-card__content {
        padding: 0 2px 4px;
    }

    .tay-collection-achievement {
        grid-template-columns: 1fr;
        padding: 22px;
    }

    .tay-collection-achievement__badge {
        justify-content: flex-start;
    }

    .tay-collection-achievement__badge img {
        max-width: 120px;
    }

}

/**
 * =========================================
 * MemberPress Courses
 * =========================================
 */

/**
 * Typography
 */

body[class*="mpcs-"],
body[class*="mpcs-"] button,
body[class*="mpcs-"] input,
body[class*="mpcs-"] select,
body[class*="mpcs-"] textarea,
body[class*="mpcs-"] .mpcs-course,
body[class*="mpcs-"] #mpcs-main,
body[class*="mpcs-"] #mpcs-sidebar,
body[class*="mpcs-"] #mpcs-navbar {
    font-family: "Karla", sans-serif !important;
}


#mpcs-sidebar .course-progress h2 {
    letter-spacing: -0.035rem;
}

/**
 * Current lesson / bookmark
 */

body[class*="mpcs-"] #mpcs-main #bookmark {
    background: #f3f3f3 !important;
}

body[class*="mpcs-"] .mpcs-lesson.current {
    background: #f5f5f5 !important;
}

body[class*="mpcs-"] .mpcs-circle-regular {
    border-color: #8b8b8b !important;
}

/* =========================================
   Login / password reset messages
   ========================================= */

.tay-login-page .entry-content > p {
    width: 100%;
    max-width: 480px;

    margin: 0 auto 24px;
    padding: 18px 20px;

    text-align: center;

    background: #f5f5f5;
    border: 1px solid var(--tay-border);
    border-radius: 8px;

    color: var(--tay-text);
    font-size: 0.95rem;
    line-height: 1.5;
}

.tay-login-page .entry-content > p strong {
    display: block;
    margin-bottom: 4px;

    font-size: 1rem;
    font-weight: 600;
}

.tay-login-page .entry-content > p a {
    color: var(--tay-text);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* =========================================
   Corporate sub-account registration
   ========================================= */

/* Keep the header compact */
.tay-subaccount-register-page .site-header {
    background: #fff;
    border-bottom: 1px solid var(--tay-border);
}

.tay-subaccount-register-page .inside-header {
    min-height: 0;
    padding: 24px 40px;

    display: flex;
    align-items: center;
}

.tay-subaccount-register-page .site-main {
    margin-top: 0;
}

.tay-subaccount-register-page .tay-school-role-option {
    display: flex !important;
}

/* Logo */
.tay-subaccount-register-page .site-logo {
    display: block;
}

.tay-subaccount-register-page .site-logo img {
    display: block;
    width: auto;
    height: auto;
    max-width: 180px;
    max-height: 70px;
}

/* Hide GeneratePress text branding */
.tay-subaccount-register-page .site-branding {
    display: none;
}

/* Hide navigation on invitation/register page */
.tay-subaccount-register-page #site-navigation,
.tay-subaccount-register-page #mobile-menu-control-wrapper {
    display: none;
}
 /* =========================================
   Single video collection navigation
   ========================================= */

.tay-video-navigation {
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid var(--tay-border);
}

.tay-video-navigation__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;

    margin-bottom: 18px;
}

.tay-video-navigation__header h2 {
    margin: 4px 0 0;
}

.tay-video-navigation__progress {
    flex: 0 0 auto;

    color: var(--tay-muted);
    font-size: 0.85rem;
    font-weight: 600;
}


/* Grid */

.tay-video-navigation__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}


/* Video cards */

.tay-video-nav-card {
    display: flex;
    align-items: stretch;

    min-width: 0;
    overflow: hidden;

    background: var(--tay-surface);
    border: 1px solid var(--tay-border);
    border-radius: 12px;

    color: var(--tay-text);
    text-decoration: none;

    transition:
        transform 0.2s ease,
        border-color 0.2s ease;
}

.tay-video-nav-card:hover {
    transform: translateY(-2px);
}


/* Thumbnail */

.tay-video-nav-card__image {
    width: 150px;
    flex: 0 0 150px;

    overflow: hidden;
    background: #f3f3f3;
}

.tay-video-nav-card__image img {
    display: block;

    width: 100%;
    height: 100%;
    min-height: 120px;

    object-fit: cover;
}


/* Copy */

.tay-video-nav-card__content {
    min-width: 0;

    padding: 18px 20px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.tay-video-nav-card__label {
    display: block;

    margin-bottom: 7px;

    color: var(--tay-muted);
    font-size: 0.78rem;
    font-weight: 600;
}

.tay-video-nav-card--next
.tay-video-nav-card__label {
    color: var(--tay-text);
}

.tay-video-nav-card h3,
.tay-video-nav-complete h3 {
    margin: 0;

    font-size: 1rem;
    line-height: 1.35;
}

.tay-video-nav-card__meta {
    display: block;

    margin-top: 7px;

    color: var(--tay-muted);
    font-size: 0.82rem;
}


/* Complete state */

.tay-video-nav-complete {
    padding: 22px 24px;

    background: var(--tay-surface);
    border: 1px solid var(--tay-border);
    border-radius: 12px;
}

.tay-video-nav-complete p {
    margin: 8px 0 18px;

    color: var(--tay-muted);
}


/* Tablet / mobile */

@media (max-width: 800px) {

    .tay-video-navigation__grid {
        grid-template-columns: 1fr;
    }

    /*
     * Forward action first on mobile.
     */
    .tay-video-nav-card--next,
    .tay-video-nav-complete {
        order: 1;
    }

    .tay-video-nav-card--previous {
        order: 2;
    }
}


@media (max-width: 560px) {

    .tay-video-navigation__header {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .tay-video-nav-card__image {
        width: 110px;
        flex-basis: 110px;
    }

    .tay-video-nav-card__content {
        padding: 15px;
    }
}

/* =========================================
   Video collection archive
   ========================================= */

.tay-collection-archive .tay-video-library-header {
    margin-bottom: 20px;
}

.tay-collection-archive .tay-video-library-header h2 {
    margin: 0 0 6px;
}

.tay-collection-archive .tay-video-library-header p {
    margin: 0;
    color: var(--tay-muted);
    font-size: 0.88rem;
}


/* Grid */

.tay-collection-archive__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}


/* Card */

.tay-collection-card {
    min-width: 0;
    overflow: hidden;

    background: var(--tay-surface);
    border: 1px solid var(--tay-border);
    border-radius: 12px;
}

.tay-collection-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;

    color: inherit;
    text-decoration: none;
}

.tay-collection-card {
    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.tay-collection-card:hover {
    transform: translateY(-3px);
}


/* Image */

.tay-collection-card__image {
    width: 100%;
    aspect-ratio: 16 / 9;

    overflow: hidden;
    background: #f3f3f3;
}

.tay-collection-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* Content */

.tay-collection-card .tay-card-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 18px;
}

.tay-collection-card .tay-section-eyebrow {
    display: block;
    margin-bottom: 6px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--tay-muted);
}

.tay-collection-card h3 {
    margin: 0 0 8px;

    font-size: 1.1rem;
    line-height: 1.3;
}

.tay-collection-card p {
    margin: 0 0 18px;

    color: var(--tay-muted);
    font-size: 0.9rem;
    line-height: 1.5;
}


/* Progress */

.tay-collection-card__progress {
    margin-top: auto;
    padding-top: 14px;
}

.tay-collection-card__progress-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
    font-size: 0.78rem;
    color: var(--tay-muted);
}

.tay-collection-card__progress-meta span:last-child {
    font-weight: 600;
    color: var(--tay-text);
}

.tay-collection-card__progress-bar {
    height: 4px;
    overflow: hidden;
    background: #ececec;
    border-radius: 999px;
}

.tay-collection-card__progress-bar span {
    display: block;
    height: 100%;
    background: currentColor;
    border-radius: inherit;
}


/* Responsive */

@media (max-width: 1100px) {

    .tay-collection-archive__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


@media (max-width: 700px) {

    .tay-collection-archive {
        margin-top: 36px;
        padding-top: 24px;
    }

    .tay-collection-archive__grid {
        grid-template-columns: 1fr;
    }

    .tay-collection-card .tay-card-content {
        padding: 16px;
    }
}

/* =========================================
   Quarter navigation
========================================= */

.tay-quarter-nav {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 2rem 0;
}

.tay-quarter-nav__viewport {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.tay-quarter-nav__track {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.9rem;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;

    padding: 0.25rem 0;
}

.tay-quarter-nav__track::-webkit-scrollbar {
    display: none;
}


/* Term pills */

.tay-quarter-filter {
    flex: 0 0 auto;
    appearance: none;
    border: 1px solid #d8d8d8;
    font-size: 0.9rem;
    border-radius: 999px;
    padding: 0.7rem 1.15rem;
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: 1;
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.tay-quarter-filter:hover {
    transform: translateY(-2px);
}

.tay-quarter-filter.is-active {
    background: var(--tay-text);
    border-color: var(--tay-text);
    color: #fff;
}


/* Slider arrows */

.tay-quarter-nav__arrow {
    flex: 0 0 auto;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 2.5rem;
    height: 2.5rem;

    padding: 0;

    border: 1px solid #d8d8d8;
    border-radius: 50%;

    background: #fff;
    color: #0e1952;

    font-size: 1.6rem;
    line-height: 1;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        opacity 0.2s ease;
}

.tay-quarter-nav__arrow:hover {
    background: #f5f5f5;
}

.tay-quarter-nav__arrow:disabled {
    opacity: 0.3;
    cursor: default;
}


/* Mobile */

@media (max-width: 767px) {

    .tay-quarter-nav {
        gap: 0.5rem;
    }

    .tay-quarter-nav__arrow {
        display: none;
    }

    .tay-quarter-nav__viewport {
        overflow: visible;
    }

    .tay-quarter-filter {
        padding: 0.65rem 1rem;
    }
}

/* =========================================
   Collection search
   ========================================= */

.tay-collection-search {
    margin-bottom: 20px;
}

.tay-collection-search__field {
    position: relative;
    max-width: 420px;
}

.tay-collection-search__field .tay-collection-search__input {
    width: 100%;
    min-height: 46px;
    padding: 10px 16px 10px 48px;
    background: var(--tay-surface);
    border: 1px solid var(--tay-border);
    border-radius: 8px;
    color: var(--tay-text);
    font: inherit;
    outline: none;
    font-size: 0.9rem;
}

.tay-collection-search__icon {
    position: absolute;
    left: 16px;
    top: 50%;

    width: 18px;
    height: 18px;

    transform: translateY(-50%);

    color: var(--tay-muted);
    pointer-events: none;
    z-index: 1;
}

.tay-collection-search__input:focus {
    border-color: var(--tay-text);
}

.tay-collection-search__icon {
    position: absolute;
    left: 15px;
    top: 50%;

    width: 18px;
    height: 18px;

    transform: translateY(-50%);

    color: var(--tay-muted);
    pointer-events: none;
}

.tay-collection-search__empty {
    margin-top: 24px;
    color: var(--tay-muted);
}

.tay-collection-card[hidden] {
    display: none !important;
}

.tay-collection-search__empty[hidden] {
    display: none !important;
}

/* =========================================
   Unified Login Card
   ========================================= */

/* Main Gutenberg wrapper */
body.tay-login-page .tay-login-auth-card {
    width: 100%;
    max-width: 430px;
    margin: 32px auto 60px;
    padding: 28px;
    padding-top: 0;
    background: #fff;
    border: 1px solid var(--tay-border);
    border-radius: 12px;

    box-sizing: border-box;
}

.tay-logo-form {
    justify-self: center;
    padding-bottom: 1rem;
}


/* =========================================
   Magic login heading
   ========================================= */

body.tay-login-page .tay-login-magic__title {
    display:none;
    /* margin: 0 0 6px;
    font-size: 1.15rem;
    line-height: 1.3;
    font-weight: 600;*/
}

body.tay-login-page .tay-login-magic__intro {
    display: none;
   /* margin: 0 0 18px;
    color: var(--tay-muted);
    font-size: 0.9rem;
    line-height: 1.5;*/
}


/* =========================================
   Magic Login plugin form
   ========================================= */

body.tay-login-page .tay-magic-login-form,
body.tay-login-page .magic-login-form {
    width: 100%;
    max-width: none;
    margin: 0;
}


/* Plugin's default information message */
body.tay-login-page .tay-magic-login-form .message,
body.tay-login-page .tay-magic-login-form .magic-login-message,
body.tay-login-page .magic-login-form .message {
    display: none;
}


/* Magic Login labels */
body.tay-login-page .tay-magic-login-form label,
body.tay-login-page .magic-login-form label {
    display: block;

    margin-bottom: 6px;

    font-size: 0.85rem;
    font-weight: 600;
}


/* Magic Login input */
body.tay-login-page .tay-magic-login-form input[type="text"],
body.tay-login-page .tay-magic-login-form input[type="email"],
body.tay-login-page .magic-login-form input[type="text"],
body.tay-login-page .magic-login-form input[type="email"] {
    width: 100%;
    min-height: 44px;

    margin: 0 0 12px;
    padding: 10px 12px;

    border: 1px solid var(--tay-border);
    border-radius: 7px;

    background: #fff;
    color: var(--tay-text);

    font: inherit;

    box-sizing: border-box;
}


/* Magic Login button */
body.tay-login-page .tay-magic-login-form input[type="submit"],
body.tay-login-page .tay-magic-login-form button,
body.tay-login-page .magic-login-form input[type="submit"],
body.tay-login-page .magic-login-form button {
    width: 100%;
    min-height: 42px;

    margin: 0;
    padding: 10px 16px;

    border: 0;
    border-radius: 7px;

    background: #171717;
    color: #fff;

    font: inherit;
    font-weight: 600;

    cursor: pointer;
}


/* =========================================
   OR divider
   ========================================= */

body.tay-login-page .tay-login-divider {
    display: flex;
    align-items: center;
    gap: 14px;

    width: 100%;

    margin: 26px 0;

    color: var(--tay-muted);

    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
}

body.tay-login-page .tay-login-divider::before,
body.tay-login-page .tay-login-divider::after {
    content: "";

    flex: 1;

    height: 1px;

    background: var(--tay-border);
}

body.tay-login-page .tay-login-divider span {
    flex: 0 0 auto;
}


/* =========================================
   MemberPress form
   ========================================= */

/* Remove MemberPress's second card */
body.tay-login-page
.tay-login-password
.mp_wrapper {
    width: 100%;
    max-width: none;

    margin: 0;
    padding: 0;

    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}


/* Ensure MemberPress form fills our card */
body.tay-login-page
.tay-login-password
.mepr-login-form {
    width: 100%;
    margin: 0;
}


/* Inputs */
body.tay-login-page
.tay-login-password
.mepr-form input[type="text"],

body.tay-login-page
.tay-login-password
.mepr-form input[type="email"],

body.tay-login-page
.tay-login-password
.mepr-form input[type="password"] {
    width: 100%;
    box-sizing: border-box;
}


/* =========================================
   Mobile
   ========================================= */

@media (max-width: 600px) {

    body.tay-login-page .tay-login-auth-card {
        width: calc(100% - 32px);
        margin: 24px auto 40px;
        padding: 22px;
         padding-top: 0;
    }
}

body.tay-login-page
#magic-login-shortcode {
    width: 100%;
    max-width: none;
    margin: 0;
}

body.tay-login-page
#magic-login-shortcode
.magic-login-inline-login-form {
    width: 100%;
    max-width: none;
}

body.tay-login-page
#magic-login-shortcode
input[type="text"],
body.tay-login-page
#magic-login-shortcode
input[type="email"] {
    width: 100%;
    box-sizing: border-box;
}

body.tay-login-page
#magic-login-shortcode
input[type="submit"],
body.tay-login-page
#magic-login-shortcode
button {
    width: 100%;
}

body.tay-login-page .site-main .wp-block-group__inner-container {
    padding: 0;
}

body.tay-login-page
#magic-login-shortcode
.success {
    margin: 0 0 18px;
    padding: 14px 16px;

    background: #f3f7f3;
    border: 1px solid #d8e6d8;
    border-radius: 7px;

    color: var(--tay-text);
    font-size: 0.9rem;
    line-height: 1.5;
}

/* =========================================
   Magic Login feedback
   ========================================= */

body.tay-login-page
#magic-login-shortcode
.success,
body.tay-login-page
#magic-login-shortcode
.message {
    display: block;
    margin: 0 0 18px;
    padding: 12px 14px;
    background: #f5f7f5;
    border: 1px solid var(--tay-border);
    border-radius: 7px;
    color: var(--tay-text);
    font-size: 0.9rem;
    line-height: 1.5;
}

.tay-csv-import-helper {
    margin-top: 6px;
}

.tay-csv-import-helper p {
    margin: 0;
}

.tay-csv-template-link {
    display: inline-block;
    margin-top: 8px;

    color: inherit;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.tay-csv-template-link:hover {
    text-decoration-thickness: 2px;
}

.tay-login-notice {
    margin-bottom: 20px;
    padding: 14px 16px;

    border: 1px solid var(--tay-border);
    border-radius: 7px;

    background: #f5f5f5;

    font-size: 0.9rem;
    line-height: 1.5;
}

.tay-login-notice strong,
.tay-login-notice span {
    display: block;
}

.tay-login-notice strong {
    margin-bottom: 3px;
    color: var(--tay-text);
}

/* =========================================
   My Account summary
   ========================================= */

.tay-account-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 48px;
}

.tay-account-summary__item {
    padding: 20px;

    background: #fff;
    border: 1px solid var(--tay-border);
    border-radius: 10px;
}

.tay-account-summary__label {
    display: block;

    margin-bottom: 8px;

    font-size: 0.8rem;
    font-weight: 600;
    color: var(--tay-muted);
}

.tay-account-summary__value {
    display: block;

    font-size: 1rem;
    font-weight: 600;
    color: var(--tay-text);
}

.tay-account-summary__roles {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.tay-account-summary__role {
    display: inline-flex;
    align-items: center;

    padding: 5px 9px;

    background: #f5f5f5;
    border-radius: 999px;

    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.2;
}

@media (max-width: 767px) {

    .tay-account-summary {
        grid-template-columns: 1fr;
    }

}

/* =========================================================
   Licensed booklet download modal
   ========================================================= */

.tay-download-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 180ms ease,
        visibility 180ms ease;
}

.tay-download-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.tay-download-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 15, 20, 0.48);
    backdrop-filter: blur(3px);
}

.tay-download-modal__dialog {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 480px;
    padding: 32px;
    border: 1px solid #e5e5e8;
    border-radius: 14px;
    background: #fff;
    box-shadow:
        0 24px 60px rgba(0, 0, 0, 0.15);
    transform: translateY(10px) scale(0.985);
    transition: transform 180ms ease;
}

.tay-download-modal.is-open
.tay-download-modal__dialog {
    transform: translateY(0) scale(1);
}

.tay-download-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 36px;
    height: 36px;
    padding: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: inherit;
    cursor: pointer;
}
/*
.tay-download-modal__close:hover {
    background: #f5f5f5;
}*/

.tay-download-modal__close svg {
    width: 20px;
    height: 20px;
}

.tay-download-modal__icon {
    width: 44px;
    height: 44px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.tay-download-modal__icon svg {
    width: 21px;
    height: 21px;
}

.tay-download-modal__dialog h2 {
    margin: 0 40px 10px 0;
    font-size: 1.125rem;
    line-height: 1.2;
    font-weight: 600;
}

.tay-download-modal__description {
    margin: 0;
    line-height: 1.55;
    font-size: 1rem;
}


.tay-download-modal__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}

body.tay-modal-open {
    overflow: hidden;
}

@media (max-width: 600px) {

    .tay-download-modal {
        align-items: flex-end;
        padding: 16px;
    }

    .tay-download-modal__dialog {
        max-width: none;
        padding: 28px 22px 22px;
    }

    .tay-download-modal__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .tay-download-modal__actions .tay-button {
        width: 100%;
        justify-content: center;
    }
}

/* Download licence details */

.tay-download-license {
    margin-top: 20px;
    border: 1px solid #e5e5e8;
    border-radius: 10px;
    overflow: hidden;
    font-size: 0.82rem;
}

.tay-download-license__row {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 16px;
    padding: 12px 14px;
    border-bottom: 1px solid #e5e5e8;
}

.tay-download-license__row:last-child {
    border-bottom: 0;
}

.tay-download-license__label {
    color: #666;
    font-size: 0.875rem;
}

.tay-download-license__value {
    font-weight: 600;
}

.tay-download-modal__help {
    margin-top: 24px;
    font-weight: 500;
    color: var(--tay-muted);
    font-size: 1rem;
}

@media (max-width: 480px) {

    .tay-download-license__row {
        grid-template-columns: 1fr;
        gap: 3px;
    }
}

/* =========================================
   Licensed download confirmation
========================================= */

.tay-download-confirmation {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 20px;

    cursor: pointer;
}


/* Hide native checkbox visually */

.tay-download-confirmation__checkbox {
    position: absolute;

    width: 1px;
    height: 1px;

    margin: -1px;
    padding: 0;

    overflow: hidden;

    clip: rect(0 0 0 0);
    clip-path: inset(50%);

    white-space: nowrap;

    border: 0;
}


/* Custom checkbox */

.tay-download-confirmation__check {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    margin-top: 1px;
    border: 1.5px solid #b8b8bd;
    border-radius: 3px;
    background: #fff;

    transition:
        background-color 0.15s ease,
        border-color 0.15s ease;
}


.tay-download-confirmation__check svg {
    width: 14px;
    height: 14px;
    opacity: 0;
    color: #fff;
    transition: opacity 0.15s ease;
}


/* Checked state */

.tay-download-confirmation__checkbox:checked
+ .tay-download-confirmation__check {
    background: #0e1952;
    border-color: #0e1952;
}


.tay-download-confirmation__checkbox:checked
+ .tay-download-confirmation__check svg {
    opacity: 1;
}


/* Keyboard focus */

.tay-download-confirmation__checkbox:focus-visible
+ .tay-download-confirmation__check {
    outline: 2px solid #0e1952;
    outline-offset: 3px;
}


/* Confirmation text */

.tay-download-confirmation__text {
    font-size: 0.825rem;
    line-height: 1.45;
}


/* Disabled download button */

.js-confirm-booklet-download.is-disabled {
    background: #d8d8dc;
    border-color: #d8d8dc;
    color: #777;

    cursor: not-allowed;
    pointer-events: none;

    opacity: 1;
}

/* ---------------------------------
   Video speakers
---------------------------------- */

.tay-video-meta--speakers {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
}

.tay-video-speakers {
    display: flex;
    align-items: center;
}

.tay-video-duration {
    flex-shrink: 0;
}

/* ---------------------------------
   Speakers
---------------------------------- */

.tay-speakers {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.tay-speakers__images {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.tay-speakers__image {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    overflow: hidden;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #f1f1f1;
}

.tay-speakers__image + .tay-speakers__image {
    margin-left: -9px;
}

.tay-speakers__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tay-speakers__image--placeholder {
    color: var(--tay-muted);
}

.tay-speakers__image--placeholder svg {
    width: 18px;
    height: 18px;
}

.tay-speakers__names {
    /*color: var(--tay-text);*/
    font-size: 0.95rem;
    line-height: 1.35;
}

.tay-speakers--fallback {
    gap: 7px;
}

.tay-speakers__fallback-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: var(--tay-muted);
}

.tay-speakers__fallback-icon svg {
    width: 17px;
    height: 17px;
}


/* Mobile */

@media (max-width: 480px) {

    .tay-speakers__image {
        width: 34px;
        height: 34px;
    }

    .tay-speakers__names {
        font-size: 0.9rem;
    }

}

/* ---------------------------------
   Collection watch CTA
---------------------------------- */

.tay-collection-watch-action {
    margin-top: 24px;
}

.tay-collection-watch-complete-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    margin-top: 24px;
}

.tay-collection-watch-complete-container .tay-collection-complete,
.tay-collection-watch-complete-container .tay-collection-watch-action {
    margin: 0;
}

.tay-collection-watch-complete-container .tay-collection-complete {
    align-self: center;
}

@media (max-width: 600px) {

    .tay-collection-watch-complete-container {
        flex-wrap: wrap;
        gap: 16px;
    }

}

.tay-collection-watch-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    text-decoration: none;
}

@media (max-width: 600px) {
    .tay-collection-watch-button {
        width: 100% !important;
    }

}
/* =========================================
   Achievements – Course certificates
========================================= */

.tay-course-certificates {
    margin-top: 60px;
    padding-top: 36px;
    border-top: 1px solid var(--tay-border);
}

.tay-course-certificates-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.tay-course-certificate-card {
    overflow: hidden;

    border: 1px solid var(--tay-border);
    border-radius: 14px;

    background: var(--tay-surface);
}


/**
 * Course image
 */

.tay-course-certificate-image {
    position: relative;

    overflow: hidden;

    aspect-ratio: 16 / 9;

    background: #f3f4f6;
}

.tay-course-certificate-image > img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


/**
 * Award icon
 */

.tay-course-certificate-icon {
    position: absolute;
    top: 14px;
    right: 14px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    border-radius: 50%;

    background: #fff;

    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.12);
}

.tay-course-certificate-icon svg {
    width: 24px;
    height: 24px;
}


/**
 * Certificate content
 */

.tay-course-certificate-content {
    padding: 20px;
}

.tay-course-certificate-content h3 {
    margin: 12px 0 6px;
    font-size: 1.125rem;
    line-height: 1.35;
    font-weight: 500;
}

.tay-course-certificate-content p {
    margin: 0;
}


.tay-course-certificate-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: auto;
    padding-top: 20px;
}

@media (max-width: 600px) {
    .tay-course-certificate-actions .tay-button-secondary {
    width: 100%;
    }
    .tay-course-certificate-actions .tay-button-teritiary {
        padding: 0px;
    }
    .tay-course-certificate-content {
        padding: 20px;
    }
}

/* Achievements – certificate empty-state button */

.tay-course-certificates .tay-achievements-empty > .tay-button {
    width: fit-content;
    align-self: flex-end;
    justify-self: end;
    flex: 0 0 auto;
}

@media (max-width: 900px) {
    .tay-course-certificates-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .tay-course-certificate-card {
        align-items: flex-start;
    }

    .tay-course-certificate-card > .tay-button {
        width: 100%;
        justify-content: center;
    }
}

/* Office Hours: calendar buttons */

.tay-office-hours-actions {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.tay-office-hours-actions .tay-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: auto;
    flex: 0 1 auto;
    text-align: center;
    white-space: nowrap;
}

.tay-office-hours-actions .tay-button svg {
    display: block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

/* Office Hours: live status */

.tay-office-hours-status {
    font-size: .72rem;
}

.tay-office-hours-status.is-live {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #b42318;
    background: #fef3f2;
    padding-left: 8px;
    padding-right: 8px;
}

.tay-office-hours-live-dot {
    position: relative;
    display: inline-block;
    width: 8px;
    height: 8px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #d92d20;
}

.tay-office-hours-live-dot::after {
    content: "";
    position: absolute;
    inset: -4px;
    border: 1px solid #d92d20;
    border-radius: 50%;
    animation: tay-office-hours-pulse 2s ease-out infinite;
}

@keyframes tay-office-hours-pulse {
    0% {
        transform: scale(0.5);
        opacity: 0.8;
    }

    100% {
        transform: scale(1.5);
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tay-office-hours-live-dot::after {
        animation: none;
    }
}


/* Office Hours: neutral icon instead of event thumbnail */
.tay-office-hours-media {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: #f3f4f6;
    color: var(--tay-muted);
    overflow: hidden;
}

.tay-office-hours-media .tay-office-hours-icon {
    display: block;
    width: 64px;
    height: 64px;
    flex-shrink: 0;
}

@media (max-width: 600px) {
    .tay-office-hours-media {
        aspect-ratio: 16 / 9;
    }
    .tay-office-hours-actions .tay-button {
        width: 100%;
    }
}

.tay-office-hours-ended-label {
    font-size: 0.85rem;
}


/* =========================================
   Member announcement modal
========================================= */

.tay-announcement-modal[hidden] {
    display: none !important;
}

.tay-announcement-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.tay-announcement-modal__backdrop {
    position: absolute;
    inset: 0;
    background:  rgba(17, 17, 17, 0.48);
}

.tay-announcement-modal__card {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 540px;
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    padding: 40px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 20px 70px rgba(14, 25, 82, 0.18);
}

.tay-announcement-modal__close {
    position: absolute;
    top: 14px;
    right: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--tay-text);
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
}

.tay-announcement-modal__close:hover {
    background: #f3f4f6;
     color: var(--tay-text);
}

.tay-announcement-modal__card h2 {
    margin: 12px 0 12px;
    color: var(--tay-text);
    font-size: 1.5rem;
    font-weight: 500;
}

.tay-announcement-modal__description {
    margin-bottom: 24px;
    font-size: 1rem;
    color: var(--tay-muted);
}

.tay-announcement-modal__description > :last-child {
    margin-bottom: 0;
}

.tay-announcement-modal__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body.tay-announcement-modal-open {
    overflow: hidden;
}

@media (max-width: 600px) {
    .tay-announcement-modal {
        padding: 16px;
    }

    .tay-announcement-modal__card {
        max-height: calc(100vh - 32px);
        padding: 48px 24px 28px;
    }
}

/* Announcement modal layout */
.tay-announcement-modal__card {
    width: min(760px, calc(100vw - 40px));
    max-width: 760px;
}

.tay-announcement-modal__layout {
    display: block;
}

.tay-announcement-modal__layout.has-image {
    display: grid;
    grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr);
    gap: 2rem;
    align-items: center;
}

.tay-announcement-modal__media {
    min-width: 0;
    align-self: stretch;
}

.tay-announcement-modal__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.tay-announcement-modal__content {
    min-width: 0;
    padding: 1rem 1.5rem 1rem 0;
}

.tay-announcement-modal__content h2 {
    margin-top: 0.75rem;
}

.tay-announcement-modal__description {
    max-width: 42ch;
}

@media (max-width: 767px) {

    .tay-announcement-modal__card {
        width: min(520px, calc(100vw - 32px));
    }

    .tay-announcement-modal__layout.has-image {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    /*.tay-announcement-modal__media {
        aspect-ratio: 16 / 9;
    }*/

    .tay-announcement-modal__image {
        min-height: 0;
    }

    .tay-announcement-modal__content {
        padding: 0 0.5rem 0.5rem;
    }

    .tay-announcement-modal__description {
        max-width: none;
    }
}
    
    /* =========================================
   Announcement modal – gentle entrance
========================================= */

.tay-announcement-modal:not([hidden]) {
    animation: tay-announcement-fade-in 0.4s ease-out both;
}

.tay-announcement-modal:not([hidden])
.tay-announcement-modal__card {
    animation: tay-announcement-card-in 0.45s ease-out both;
}

@keyframes tay-announcement-fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes tay-announcement-card-in {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}



/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
    .tay-announcement-modal:not([hidden]),
    .tay-announcement-modal:not([hidden])
    .tay-announcement-modal__card {
        animation: none;
    }
}

/* Modal container receives programmatic focus,
   but should not show a visible focus ring */
.tay-announcement-modal__card:focus,
.tay-announcement-modal__card:focus-visible {
    outline: none !important;
    box-shadow: 0 20px 70px rgba(14, 25, 82, 0.18) !important;
}

/* =========================================================
   Lesson resources
   ========================================================= */

.tay-lesson-downloads {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
}

.tay-lesson-downloads__heading {
    margin: 0 0 1rem;
    font-size: 1rem !important;
    line-height: 1.25;
    font-weight: 600;
}

/* Resource list */
.tay-lesson-downloads__list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* Individual resource */
.tay-lesson-download {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;

    padding: 1rem 1.25rem;

    border: 1px solid #e2e4e8;
    border-radius: 8px;
    background: #fff;
}

/* Title + file information */
.tay-lesson-download__content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

/* Resource title */
.tay-lesson-download__title {
    margin: 0 0 0.25rem;
    font-size: 0.9rem;
    line-height: 1.4;
    font-weight: 600;
}

/* PPTX · 2 MB etc. */
.tay-lesson-download__meta {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.4;
    color: #667085;
}

/* Download CTA */
.tay-lesson-download__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 0.65rem 1rem;
    border-radius: 6px;
    background: var(--tay-text);
    color: #fff !important;
    font-weight: 500;
    line-height: 1;
    text-decoration: none !important;

    transition:
        transform 0.2s ease,
        opacity 0.2s ease;
}

.tay-lesson-download__button:hover {
    color: #fff !important;
    opacity: 0.9;
    transform: translateY(-1px);
}

.tay-lesson-download__button:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}

/* Expandable video resources */

.tay-lesson-resource-video {
    width: 100%;
}

.tay-lesson-resource-video > summary {
    cursor: pointer;
    list-style: none;
}

.tay-lesson-resource-video > summary::-webkit-details-marker {
    display: none;
}

.tay-lesson-resource-video__player {
    padding: 1rem;
}

.tay-lesson-resource-video__player iframe,
.tay-lesson-resource-video__player video {
    display: block;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
    border-radius: 0.5rem;
}

/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 600px) {

    .tay-lesson-downloads {
        margin-top: 2rem;
        margin-bottom: 2rem;
    }

    .tay-lesson-download {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.875rem;
        padding: 1rem;
    }

    /*.tay-lesson-download__button {
        width: 100%;
    }*/
}

.tay-lesson-download__button {
    gap: 0.5rem;
}

.tay-lesson-download__button-icon {
    display: block;
    flex-shrink: 0;
}

/* =========================================================
   Lesson video
   ========================================================= */

.tay-lesson-video {
    width: 100%;
    margin: 0 0 2rem;
}

.tay-lesson-video__player {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 8px;
    background: #000;
}

.tay-lesson-video__player iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

/* =========================================
   Collection icon thumbnails
========================================= */

.tay-collection-icon-thumbnail {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 9;
}

/* Centre and constrain the icon */

.tay-collection-icon-thumbnail img,
.tay-collection-icon-thumbnail__icon {
    display: block;
    width: 35%;
    height: auto;
    max-width: 140px;
    max-height: 65%;
    object-fit: contain;
    flex-shrink: 0;
}

/* Smaller icons on mobile */

@media (max-width: 767px) {
    .tay-collection-icon-thumbnail img,
    .tay-collection-icon-thumbnail__icon {
        width: 32%;
        max-width: 110px;
    }
}

.tay-quarter-collection-image.tay-collection-icon-thumbnail img,
.tay-collection-card__image.tay-collection-icon-thumbnail img {
    width: 35%;
    height: auto;
    max-width: 140px;
    max-height: 65%;
    object-fit: contain;
}


/* =========================================
   Individual collection hero thumbnail
========================================= */

.tay-collection-hero__image.tay-collection-icon-thumbnail {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 9;
    padding: 2rem;
    border-radius: 10px;
}

/* Centre the collection icon */

.tay-collection-hero__image.tay-collection-icon-thumbnail img {
    display: block;
    height: 100%;
    width: 100%;
    /*max-width: 180px;
    max-height: 65%;
    width: 35%;*/
    object-fit: contain;
    flex-shrink: 0;
}

/* Mobile */

@media (max-width: 767px) {
    .tay-collection-hero__image.tay-collection-icon-thumbnail img {
        width: 32%;
        max-width: 120px;
    }
}


/* =========================================
   Latest Videos Slider
========================================= */

.tay-video-slider {
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid var(--tay-border);
    width: 100%;
    min-width: 0;
}

/* Header */

.tay-video-slider__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.tay-video-slider__header h2 {
    margin: 0.35rem 0 0.5rem;
        font-size: 1.35rem;
}

.tay-video-slider__header p {
    margin: 0;
    color: var(--tay-text-muted, #667085);
    font-size: 0.88rem;
}

/* Navigation */

.tay-video-slider__controls {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.tay-video-slider__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid #e1e5eb;
    border-radius: 50%;
    background: #fff;
    color: #0e1952;
    cursor: pointer;
    transition: background 0.2s ease,
                opacity 0.2s ease;
}

.tay-video-slider__arrow svg {
    width: 20px;
    height: 20px;
}

.tay-video-slider__arrow:hover:not(:disabled) {
    background: #f2f4f8;
    color: var(--tay-text);
}

.tay-video-slider__arrow:focus {
        background: #f2f4f8;
    color: var(--tay-text);
}

.tay-video-slider__arrow:disabled {
    opacity: 0.3;
    cursor: default;
}

/* Horizontal slider */

.tay-video-slider__track {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 2px;
    overscroll-behavior-x: contain;
    padding: 0.25rem 2px 1rem;
    scrollbar-width: none;
}

.tay-video-slider__track::-webkit-scrollbar {
    display: none;
}

/* Cards */

.tay-video-slider__card {
    flex: 0 0 calc((100% - 3rem) / 4);
    min-width: 0;
    scroll-snap-align: start;
}

.tay-video-slider__link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.tay-video-slider__media {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 10px;
    background: #e9edf3;
}

.tay-video-slider__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.tay-video-slider__link:hover .tay-video-slider__image {
    transform: scale(1.05);
}

/* Placeholder */

.tay-video-slider__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #98a2b3;
}

.tay-video-slider__placeholder svg {
    width: 48px;
    height: 48px;
}

/* Play overlay */

.tay-video-slider__play {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255,255,255,0.94);
    color: #0e1952;
    transform: translate(-50%, -50%);
    transition: transform 0.2s ease,
                background 0.2s ease;
    pointer-events: none;
}

.tay-video-slider__play svg {
    width: 24px;
    height: 24px;
}

.tay-video-slider__link:hover .tay-video-slider__play {
    transform: translate(-50%, -50%) scale(1.1);
    background: #fff;
}

/* Watched indicator */

.tay-video-slider__completed {
    position: absolute;
    top: 0.65rem;
    right: 0.65rem;
    padding: 4px 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    border: 1px solid #cfe9da;
    border-radius: 999px;
    background: #e8f6ee;
    color: #267346;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1;
}

/* Title */

.tay-video-slider__content {
    padding: 0.85rem 0.15rem;
}

.tay-video-slider__content h3 {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.4;
    font-weight: 600;
    color: inherit;
}

.tay-video-slider__link:hover h3 {
    text-decoration: underline;
}

/* Tablet */

@media (max-width: 1024px) {
    .tay-video-slider__card {
        flex-basis: calc((100% - 2rem) / 3);
    }
}

/* Mobile */

@media (max-width: 767px) {
    .tay-video-slider {
        margin: 2rem 0;
    }

    .tay-video-slider__card {
        flex-basis: 75%;
    }

    .tay-video-slider__header {
        align-items: center;
    }

    .tay-video-slider__header p {
        font-size: 0.875rem;
    }

    .tay-video-slider__arrow {
        width: 34px;
        height: 34px;
    }

    .tay-video-slider__play {
        width: 42px;
        height: 42px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tay-video-slider__image,
    .tay-video-slider__play {
        transition: none;
    }
}


/* Thumbnail icon and label */

.tay-collection-thumbnail__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

/* Icon */

.tay-collection-thumbnail__content img {
    display: block;
    width: auto;
    height: 110px;
    max-width: 45%;
    object-fit: contain;
}

/* Label underneath icon */

.tay-collection-thumbnail__label {
    display: inline-block;
    width: fit-content;
    max-width: 85%;
    padding: 0.25rem 0.45rem;
    background-color: #c5e3f4;
    color: #101010;
    text-decoration: none;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
}

/* Mobile */

@media (max-width: 767px) {
    .tay-collection-thumbnail__content img {
        height: 85px;
    }

    .tay-collection-thumbnail__label {
        font-size: 0.95rem;
    }
}

/* Remove underline from collection thumbnail labels */

.tay-quarter-collection-image,
.tay-quarter-collection-image:hover,
.tay-quarter-collection-image:focus-visible {
    text-decoration: none;
}

.tay-quarter-collection-image .tay-collection-thumbnail__label,
.tay-quarter-collection-image:hover .tay-collection-thumbnail__label,
.tay-quarter-collection-image:focus-visible .tay-collection-thumbnail__label {
    text-decoration: none;
}

/* =========================================
   Expandable previous collections archive
========================================= */

.tay-collections-disclosure {
    margin-top: 3rem;
}

.tay-collections-disclosure__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.5rem;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: var(--tay-surface);
    cursor: pointer;
    list-style: none;
    transition: background-color 0.25s ease;
}

.tay-collections-disclosure__toggle::-webkit-details-marker {
    display: none;
}

.tay-collections-disclosure__toggle:hover {
    background: #f9f9f9;
}

.tay-collections-disclosure__toggle:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

.tay-collections-disclosure__heading {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.tay-collections-disclosure__heading strong {
    font-size: 1rem;
    font-weight: 500;
}

.tay-collections-disclosure__heading > span {
    font-size: 0.88rem;
    color: #6b7280;
}

.tay-collections-disclosure__action {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-weight: 600;
    white-space: nowrap;
    font-size: 1rem;
}

.tay-collections-disclosure__action-text {
    font-size: 0.9rem;
}

.tay-collections-disclosure__action svg {
    transition: transform 0.25s ease;
}

.tay-collections-disclosure[open]
.tay-collections-disclosure__action svg {
    transform: rotate(180deg);
}

.tay-collections-disclosure[open]
.tay-collections-disclosure__action-text {
    font-size: 0;
}

.tay-collections-disclosure[open]
.tay-collections-disclosure__action-text::after {
    content: "Hide";
    font-size: 0.95rem;
}

.tay-collections-disclosure__content {
    padding-top: 2rem;
}

@media (max-width: 767px) {
    .tay-collections-disclosure__toggle {
        padding: 1.25rem;
        gap: 1rem;
    }

    .tay-collections-disclosure__heading strong {
        font-size: 1.1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tay-collections-disclosure__toggle,
    .tay-collections-disclosure__action svg {
        transition: none;
    }
}

/* Mobile sidebar logo */

.tay-sidebar-mobile-logo {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.tay-sidebar-mobile-logo img {
    display: block;
    width: auto;
    height: 36px;
    max-width: 180px;
    object-fit: contain;
}

/* Booklets archive pagination */

.tay-pagination {
  display: flex;
  justify-content: center;
  margin: 2.5rem 0;
}

.tay-pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0;
  margin: 0;
  list-style: none;
  font-size: 0.9rem;
  padding-right: 12px;
    padding-left: 12px;
}

.tay-pagination .page-numbers li {
  list-style: none;
}

.tay-pagination a,
.tay-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  padding: 0.5rem 0.85rem;
  border: 1px solid #e2e5eb;
  border-radius: 8px;
  text-decoration: none;
  color: #0e1952;
  transition: all 0.2s ease;
}

.tay-pagination a:hover {
  background: #f2f4f8;
  border-color: #0e1952;
}

.tay-pagination .current {
  background: #0e1952;
  border-color: #0e1952;
  color: #fff;
  font-weight: 600;
}

/* Latest Booklets */

.tay-latest-booklets__actions {
    display: flex;
    align-items: center;
    gap: 24px;
}

.tay-latest-booklets__actions > a {
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
}

.tay-latest-booklets__controls {
    display: flex;
    gap: 8px;
}

.tay-latest-booklets__controls button {
    width: 36px;
    height: 36px;
    border: 1px solid var(--tay-border);
    border-radius: 50%;
    background: var(--tay-surface);
    color: var(--tay-text);
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
}

.tay-latest-booklets__slider {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding: 0px 0 16px;
}

.tay-latest-booklets__slider::-webkit-scrollbar {
    display: none;
}

/* Mobile */
@media (max-width: 600px) {

    .tay-latest-booklets__actions {
        gap: 12px;
    }
}

/* Latest Booklets — Archive cards inside slider */

.tay-latest-booklets__slider {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding: 0px 0 16px;
}

.tay-latest-booklets__slider::-webkit-scrollbar {
    display: none;
}

.tay-latest-booklets__slider > .tay-booklet-card {
    flex: 0 0 calc((100% - 60px) / 4);
    min-width: 0;
    scroll-snap-align: start;
}

/* Tablet */
@media (max-width: 1024px) {
    .tay-latest-booklets__slider > .tay-booklet-card {
        flex-basis: calc((100% - 20px) / 2);
    }
}

/* Mobile */
@media (max-width: 600px) {
    .tay-latest-booklets__slider > .tay-booklet-card {
        flex-basis: 80%;
    }
}

.tay-video-resource-details {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.tay-video-resource-meta {
    font-size: 0.8rem;
    line-height: 1.4;
    color: var(--tay-muted, #667085);
}

#mepr-sub-account-paging a {
    font-size: 0.8rem !important;
    color: var(--tay-text-muted) !important;
}


/* Dashboard section heading icons */

.tay-dashboard-section-heading h2 {
    display: flex;
    align-items: center;
    gap: 8px;
}

.tay-dashboard-section-heading h2 .tay-sidebar-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: currentColor;
}

@media (max-width: 767px) {
    .tay-dashboard-section-heading h2 {
        gap: 10px;
    }

    .tay-dashboard-section-heading h2 .tay-sidebar-icon {
        width: 20px;
        height: 20px;
    }
}

