/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/

.academics-nav {
    display: none !important;
}

.info-nav {
    display: none !important;
}

/* ============================================================
   TWINKLE STUDENT DASHBOARD
   ============================================================ */

.twinkle-dashboard {
    /* max-width: 900px; */
    margin: 0 auto;
    /* padding: 0 20px 60px; */
}

.twinkle-dashboard-profile {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 28px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    margin-bottom: 36px;
}

.twinkle-dashboard-avatar-wrap {
    flex-shrink: 0;
}

.twinkle-dashboard-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #e2e8f0;
}

.twinkle-dashboard-avatar-placeholder {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #1e40af;
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.twinkle-dashboard-name {
    font-size: 1.3rem;
    font-weight: 700;
    margin: 0 0 8px;
    color: #0f172a;
}

.twinkle-dashboard-meta {
    font-size: 0.875rem;
    color: #475569;
    margin: 4px 0;
}

.twinkle-dashboard-section {
    margin-bottom: 40px;
}

.twinkle-dashboard-section-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid #e2e8f0;
}

/* ============================================================
   CALENDAR
   ============================================================ */

.twinkle-cal-wrap {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    overflow: hidden;
}

.twinkle-cal-header {
    background: #0f172a;
    color: #fff;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.twinkle-cal-month-name {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.twinkle-cal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0;
    border-top: 1px solid #e2e8f0;
}

.twinkle-cal-dow {
    text-align: center;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
    padding: 10px 0;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    border-right: 1px solid #f1f5f9;
}

.twinkle-cal-cell {
    min-height: 72px;
    padding: 8px;
    border-right: 1px solid #f1f5f9;
    border-bottom: 1px solid #f1f5f9;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.twinkle-cal-empty {
    background: #fafafa;
}

.twinkle-cal-cell.is-today {
    background: #eff6ff;
}

.twinkle-cal-cell.has-session {
    background: #f0fdf4;
    cursor: pointer;
    transition: background 0.15s;
}

.twinkle-cal-cell.has-session:hover {
    background: #dcfce7;
}

.twinkle-cal-cell.active-day {
    background: #dcfce7;
    outline: 2px solid #16a34a;
    outline-offset: -2px;
}

.cal-day-num {
    font-size: 0.8rem;
    font-weight: 600;
    color: #334155;
    line-height: 1;
}

.twinkle-cal-cell.is-today .cal-day-num {
    background: #1e40af;
    color: #fff;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
}

.cal-session-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #16a34a;
    display: inline-block;
}

.cal-session-label {
    font-size: 0.65rem;
    color: #166534;
    font-weight: 600;
    line-height: 1.2;
    word-break: break-word;
}

/* ============================================================
   SESSION DETAIL PANEL
   ============================================================ */

.twinkle-session-detail {
    border-top: 2px solid #dcfce7;
    padding: 20px;
    background: #f0fdf4;
}

.twinkle-session-panel {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.tsp-header {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.tsp-date {
    font-size: 0.875rem;
    color: #475569;
}

.tsp-title {
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
}

.tsp-notes {
    font-size: 0.875rem;
    color: #475569;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 12px;
}

.tsp-pdfs {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.tsp-pdfs-label {
    font-size: 0.75rem;
    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* ============================================================
   SHARED BUTTON STYLES
   ============================================================ */

.twinkle-session-zoom-btn,
.twinkle-dashboard-zoom-btn {
    display: inline-block;
    background: #1e40af;
    color: #fff !important;
    font-size: 0.85rem;
    font-weight: 700;
    padding: 10px 20px;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.15s;
    align-self: flex-start;
}

.twinkle-session-zoom-btn:hover,
.twinkle-dashboard-zoom-btn:hover {
    background: #1d3a8a;
    color: #fff !important;
    text-decoration: none;
}

.twinkle-session-pdf-link {
    display: inline-block;
    background: #fff;
    border: 1.5px solid #e2e8f0;
    border-radius: 6px;
    padding: 5px 12px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #1e40af;
    text-decoration: none;
    transition: border-color 0.15s;
}

.twinkle-session-pdf-link:hover {
    border-color: #1e40af;
    text-decoration: none;
}

.twinkle-sessions-empty {
    font-size: 0.875rem;
    color: #94a3b8;
    padding: 20px;
    text-align: center;
}

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

@media (max-width: 768px) {
    .twinkle-dashboard-profile {
        flex-direction: column;
        text-align: center;
    }

    .twinkle-cal-cell {
        min-height: 48px;
        padding: 4px;
    }

    .cal-session-label {
        display: none;
    }

    .twinkle-session-zoom-btn,
    .twinkle-dashboard-zoom-btn {
        width: 100%;
        text-align: center;
    }
}


/* student dash updates */

div#gamipress-achievements-search {
    display: none;
}

.ribbon {
    display: none;
}

/* ============================================================
   COURSE GRID
   ============================================================ */

.twinkle-dashboard-section .ld-course-list-items {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
}

/* Fix: Bootstrap .row ::before and ::after become grid items, pushing cards right */
.twinkle-dashboard-section .ld-course-list-items.row::before,
.twinkle-dashboard-section .ld-course-list-items.row::after {
    display: none !important;
}

/* Override Bootstrap col widths */
.twinkle-dashboard-section .ld-course-list-items .col-sm-8,
.twinkle-dashboard-section .ld-course-list-items .col-md-4,
.twinkle-dashboard-section .ld-course-list-items [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: unset !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.twinkle-dashboard-section .ld_course_grid {
    border: solid 1px #dedbdb !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

.twinkle-dashboard-section .ld_course_grid a[aria-hidden="true"] {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
}

.twinkle-dashboard-section .ld_course_grid a[aria-hidden="true"] img {
    width: 100% !important;
    /* height: 160px !important; */
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}

.twinkle-dashboard-section .ld_course_grid_button {
    height: auto !important;
}

.twinkle-dashboard-section .ld_course_grid_button a {
    height: auto !important;
}

.ld_course_grid .caption {
    padding: 30px;
}

.ld_course_grid h3.entry-title {
    font-size: 18px;
    margin-bottom: 5px !important;
    margin-top: 0 !important;
    color: var(--awb-color8) !important;
}

@media (max-width: 1024px) {
    .twinkle-dashboard-section .ld-course-list-items {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .twinkle-dashboard-section .ld-course-list-items {
        grid-template-columns: 1fr !important;
    }
}


/* ============================================================
   CALENDAR
   ============================================================ */

.twinkle-cal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.twinkle-cal-nav {
    display: flex;
    align-items: center;
    gap: 8px;
}

.twinkle-cal-nav-btn {
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: var(--awb-color1);
    border-radius: 6px;
    padding: 4px 10px;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background 0.15s;
    line-height: 1.4;
}

.twinkle-cal-nav-btn:hover {
    background: rgba(255, 255, 255, 0.25);
}

.twinkle-cal-view-toggle {
    display: flex;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 6px;
    overflow: hidden;
}

.twinkle-cal-view-btn {
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.65);
    padding: 4px 12px;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
}

.twinkle-cal-view-btn.active {
    background: rgba(255, 255, 255, 0.2);
    color: var(--awb-color1);
}

.cal-day-num {
    font-size: 0.95rem !important;
    font-weight: 600;
    color: var(--awb-color8);
}

.twinkle-cal-cell {
    min-height: 80px;
}

.cal-session-label {
    font-size: 0.7rem !important;
}


/* ============================================================
   GAMIPRESS — filter buttons
   ============================================================ */

#gamipress-achievements-filter {
    display: flex !important;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

#gamipress-achievements-filter label {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--awb-color6);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-right: 4px;
}

#gamipress-achievements-filter select {
    display: none !important;
}

.gamipress-filter-btn {
    background: var(--awb-color2);
    border: 2px solid var(--awb-color3);
    border-radius: 24px;
    padding: 6px 16px;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--awb-color6);
    cursor: pointer;
    transition: all 0.15s;
}

.gamipress-filter-btn:hover {
    background: var(--awb-color3);
}

.gamipress-filter-btn.active {
    background: #1e40af;
    border-color: #1e40af;
    color: var(--awb-color1);
}


/* ============================================================
   GAMIPRESS — achievement cards
   ============================================================ */

.gamipress-achievements-list {
    width: 100%;
}

.gamipress-achievements-container {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
}

.gamipress-achievement {
    border: 1px solid var(--awb-color3) !important;
    border-radius: 12px !important;
    padding: 20px 16px !important;
    text-align: center !important;
    background: var(--awb-color1) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
}

.gamipress-achievement.user-has-earned {
    border-color: #bbf7d0 !important;
    background: #f0fdf4 !important;
}

.gamipress-achievement.user-has-not-earned {
    display: none !important;
}

.gamipress-achievement-image {
    width: 80px !important;
    height: 80px !important;
    flex-shrink: 0;
}

.gamipress-achievement-image img {
    width: 80px !important;
    height: 80px !important;
    border-radius: 50%;
    object-fit: cover;
}

.gamipress-achievement-image a,
.gamipress-achievement-title a {
    pointer-events: none !important;
    cursor: default !important;
    text-decoration: none !important;
    color: inherit !important;
}

.gamipress-achievement-title {
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    color: var(--awb-color8) !important;
    line-height: 1.3 !important;
}

.gamipress-achievement-excerpt {
    font-size: 0.72rem !important;
    color: var(--awb-color6) !important;
    line-height: 1.4 !important;
}

@media (max-width: 768px) {
    .gamipress-achievements-container {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* ============================================================
   SECTION HEADINGS
   ============================================================ */

.twinkle-dashboard-section-title {
    color: var(--awb-color8) !important;
}

/* ============================================================
   GAMIPRESS — points hero display
   ============================================================ */

.gamipress-user-points {
    background: linear-gradient(135deg, var(--awb-color4) 0%, var(--awb-color5) 100%);
    border-radius: 14px;
    padding: 32px 40px;
    margin-bottom: 28px;
    display: flex !important;
    align-items: center;
    gap: 24px;
    position: relative;
    overflow: hidden;
}

/* Decorative large number watermark behind */
.gamipress-user-points::before {
    content: '★';
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 8rem;
    color: rgba(255, 255, 255, 0.12);
    line-height: 1;
    pointer-events: none;
}

.gamipress-user-points-description {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.gamipress-user-points-amount {
    font-size: 4rem !important;
    font-weight: 800 !important;
    color: var(--awb-color1) !important;
    line-height: 1 !important;
    letter-spacing: -2px;
}

.gamipress-user-points-label {
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* Hide the empty image div */
.gamipress-user-points-image:empty {
    display: none !important;
}

@media (max-width: 768px) {
    .gamipress-user-points {
        padding: 24px;
    }

    .gamipress-user-points-amount {
        font-size: 3rem !important;
    }
}

/* ============================================================
   DASHBOARD PROFILE HEADER
   Avatar + name left | Twinkle Points right
   ============================================================ */

.twinkle-dashboard-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 32px;
    background: var(--awb-color2);
    border-radius: 14px;
    margin-bottom: 36px;
}

.twinkle-dashboard-header-left {
    display: flex;
    align-items: center;
    gap: 20px;
    flex: 1;
    min-width: 0;
}

.twinkle-dashboard-avatar-wrap {
    flex-shrink: 0;
}

.twinkle-dashboard-avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--awb-color1);
    display: block;
}

.twinkle-dashboard-avatar-placeholder {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: var(--awb-color5);
    color: var(--awb-color1);
    font-size: 1.8rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.twinkle-dashboard-name-wrap {
    min-width: 0;
}

.twinkle-dashboard-welcome {
    font-size: 1.6rem !important;
    font-weight: 700 !important;
    color: var(--awb-color8) !important;
    margin: 0 0 4px !important;
    line-height: 1.2 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.twinkle-dashboard-meta {
    font-size: 0.82rem;
    color: var(--awb-color6);
    margin: 2px 0 0;
    line-height: 1.4;
}

/* Points in header — compact badge style, not the big hero */
.twinkle-dashboard-header-right {
    flex-shrink: 0;
}

.twinkle-dashboard-header-right .gamipress-user-points {
    background: linear-gradient(135deg, var(--awb-color4) 0%, var(--awb-color5) 100%) !important;
    border-radius: 12px !important;
    padding: 16px 24px !important;
    margin-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    min-width: 140px;
    text-align: center;
    justify-content: center;
}

.twinkle-dashboard-header-right .gamipress-user-points::before {
    display: none !important;
}

.twinkle-dashboard-header-right .gamipress-user-points-description {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 2px !important;
}

.twinkle-dashboard-header-right .gamipress-user-points-amount {
    font-size: 2.2rem !important;
    font-weight: 800 !important;
    color: var(--awb-color1) !important;
    line-height: 1 !important;
    letter-spacing: -1px !important;
}

.twinkle-dashboard-header-right .gamipress-user-points-label {
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
}

.twinkle-dashboard-header-right .gamipress-user-points-image:empty {
    display: none !important;
}

@media (max-width: 768px) {
    .twinkle-dashboard-header {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px;
    }

    .twinkle-dashboard-header-right {
        width: 100%;
    }

    .twinkle-dashboard-header-right .gamipress-user-points {
        min-width: unset !important;
        width: 100% !important;
    }

    .twinkle-dashboard-welcome {
        white-space: normal !important;
    }
}



.gamipress-achievement-attached>div {
    text-align: center;
}

.instructor-card {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-right: 5px;
}

.instructor-card img {
    border-radius: 100px;
    border: solid 1px var(--awb-color6);
    max-width: 26px;
    margin-right: 5px;
}

.instructor-card {}

.product-instructors {
    display: flex;
    flex-direction: row;
}

span.instructor-name {
    align-content: center;
}

.product-card-col span.instructor-name {
    display: none;
}

.teacher-nest-col p {
    margin-bottom: 8px !important;
}

span.ts-price-period {
    font-size: 14px;
}

button.single_add_to_cart_button.button.alt.disabled.wc-variation-selection-needed {
    width: 100%;
}

th.label {
    width: 30%;
}

.fusion-woo-cart-1 .stock,
.fusion-woo-cart-1 tr .label,
select {
    font-weight: 300 !important;
}


select#session {
    border: solid 1px var(--awb-color5);
}

button.single_add_to_cart_button.button.alt {
    width: 100%;
}

.twinkle-spaces {
    font-weight: 600;
    color: var(--awb-color4);
}

.twinkle-spaces--urgent {
    /* color: #e85d04; */
}

.twinkle-spaces--full {
    color: var(--awb-color6);
}

.twinkle-spaces-table {
    width: 100%;
    border-collapse: collapse;
}

.twinkle-spaces-table th,
.twinkle-spaces-table td {
    padding: 6px 10px;
    border-bottom: 1px solid var(--awb-color3);
    text-align: left;
}

.twinkle-spaces-count {
    /* font-weight: 600; */
    /* color: var(--awb-color4); */
}

form#mepr_signup_form {
    border-radius: 8px;
    border: solid 1px var(--awb-color3);
    padding: 40px 48px;
}

input.mepr-submit {
    border-width: var(--awb-button-border-top) var(--awb-button-border-right) var(--awb-button-border-bottom) var(--awb-button-border-left);
    color: var(--awb-button-color);
    border: none;
    background: var(--awb-color4);
    padding-top: var(--button_padding-top, 13px);
    padding-right: var(--button_padding-right, 29px);
    padding-bottom: var(--button_padding-bottom, 13px);
    padding-left: var(--button_padding-left, 29px);
    line-height: var(--button_line_height, 1);
    font-size: var(--button_font_size, 14px);
    border-radius: 6px !important;

}

/* memberpress  */
form#mepr_signup_form,
.mp_wrapper.mp_invoice {
    margin-top: 40px;
}

.rewards-shop-cards-el {}

div#ld-focus-content {
    /* max-width: 100%; */
    max-width: 1200px;
}

.learndash-wrapper .wp-block-file__embed,
.learndash-wrapper object.wp-block-file__embed {
    height: 90vh !important;
    min-height: 800px;
}

/* .product-content-width {
    max-width: 1500px !important;
    margin: 0 auto !important;
} */


/* woo */
td.woocommerce-table__product-name.product-name .product-info a {
    color: var(--body_typography-color);
}


/* [TWINKLE] Course filter bar · 2026-06-20 */
.tw-filter-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 14px;
    margin: 0 0 24px;
    padding: 16px 18px;
    background: var(--awb-color2);
    border: 1px solid var(--awb-color3);
    border-radius: 12px;
}

.tw-filter-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.tw-filter-field label {
    font-weight: 600;
    color: var(--awb-color7);
    text-transform: uppercase;
    letter-spacing: .06em;
}

.tw-filter {
    padding: 8px 12px;
    border: 1px solid var(--awb-color3);
    border-radius: 8px;
    background: var(--awb-color1);
    color: var(--awb-color8);
    min-width: 170px;
}

.tw-filter-reset {
    padding: 8px 16px;
    border: none;
    border-radius: 8px;
    background: var(--awb-color5);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.tw-filter-reset:hover {
    background: var(--awb-color4);
}

.tw-filter-count {
    margin-left: auto;
    color: var(--awb-color6);
    font-weight: 600;
}

@media(max-width:600px) {

    .tw-filter,
    .tw-filter-field {
        min-width: 0;
        width: 100%;
    }

    .tw-filter-bar {
        flex-direction: column;
        align-items: stretch;
    }
}


.course-post-ptb-col h1 {
    font-size: clamp(1.4rem, 1rem + 2vw, 2rem) !important;
}

body.single-sfwd-courses.fusion-body .fusion-content-tb {
    font-size: 18px !important;
}

.ld_course_grid article {
    display: flex;
    flex-direction: row;
}


.hide {
    display: none !important;
}

.memberpressproduct h1.entry-title {
    display: none !important;
}

.lh-live-badge {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: #022a3d;
    /* deep navy */
    color: #fff;
    font-family: var(--awb-text-font-family);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    line-height: 1;
    padding: 11px 18px;
    border-radius: 999px;
    white-space: nowrap;
    position: absolute;
    bottom: 20px;
    left: 45px;
    z-index: 1;
}

.lh-live-badge .dot {
    width: 9px;
    height: 9px;
    flex: none;
    border-radius: 50%;
    background: var(--awb-color4);
    box-shadow: 0 0 0 0 rgba(255, 183, 16, .6);
    animation: lh-pulse 2.2s infinite;
}

@keyframes lh-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 183, 16, .6)
    }

    70% {
        box-shadow: 0 0 0 10px rgba(255, 183, 16, 0)
    }

    100% {
        box-shadow: 0 0 0 0 rgba(255, 183, 16, 0)
    }
}

@media (prefers-reduced-motion:reduce) {
    .lh-live-badge .dot {
        animation: none
    }
}

.lh-home-cboxes div.fusion-content-box-hover:nth-child(1) div.col .icon>i,
.lh-home-cboxes div.fusion-content-box-hover:nth-child(4) div.col .icon>i,
.fusion-content-boxes .fusion-content-box-hover:nth-child(1) .link-area-link-icon-hover .heading .icon i.circle-yes,
.fusion-content-boxes .fusion-content-box-hover:nth-child(4) .link-area-link-icon-hover .heading .icon i.circle-yes {
    background: rgba(114, 201, 193, .14) !important;

}

.lh-home-cboxes div.fusion-content-box-hover:nth-child(2) div.col .icon>i,
.lh-home-cboxes div.fusion-content-box-hover:nth-child(3) div.col .icon>i,
.fusion-content-boxes .fusion-content-box-hover:nth-child(2) .link-area-link-icon-hover .heading .icon i.circle-yes,
.fusion-content-boxes .fusion-content-box-hover:nth-child(3) .link-area-link-icon-hover .heading .icon i.circle-yes {
    background: rgba(255, 183, 16, .16) !important;

}

.lh-home-cboxes div:nth-child(2) div.col .icon>i::before,
.lh-home-cboxes div:nth-child(3) div.col .icon>i::before {
    color: var(--awb-color4) !important;
}


.lh-home-cboxes div:nth-child(1) div.col .icon>i::before,
.lh-home-cboxes div:nth-child(4) div.col .icon>i::before {
    color: var(--awb-iconcolor) !important;
}

.lh-home-cboxes div div.col .icon>i {
    border-radius: 12px !important;
}

.lh-home-cboxes .fusion-column.content-box-column {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(114, 201, 193, .22);
    border-radius: 16px;
    padding: 22px 20px;
    transition: transform .3s cubic-bezier(.2, .7, .2, 1), border-color .3s, background .3s;
}

.lh-home-cboxes {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.lh-home-cboxes .content-box-column {
    width: auto !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.lh-home-cboxes>.fusion-clearfix {
    display: none !important;
}

@media (max-width:767px) {
    .lh-home-cboxes {
        grid-template-columns: 1fr;
    }
}

@media (max-width:767px) {
    .lh-home-cboxes .content-box-column {
        width: 100% !important;
        max-width: 100% !important;
    }
}

.lh-home-cboxes .fusion-column.content-box-column:hover {
    /* transform: translateY(-6px); */
    border-color: var(--awb-color4);
    background: rgba(255, 255, 255, .07);
}

.lh-image-col-2 div.fusion-image-element {
    border-radius: 24px;
    overflow: hidden;
    border: 6px solid rgba(255, 255, 255, .08);
    box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6);

}

/* image teacher live pill */
.chip {
    position: absolute;
    top: 18px;
    right: -12px;
    background: var(--awb-color4) !important;
    color: var(--navy);
    font-size: .7rem;
    letter-spacing: .07em;
    text-transform: uppercase;
    font-weight: 600;
    padding: 9px 15px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: var(--awb-color7);
    z-index: 2;
}

.chip i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--awb-custom_color_1);
}

.quote {
    position: absolute;
    left: -14px;
    bottom: -14px;
    max-width: 210px;
    background: #fff;
    color: var(--awb-custom_color_1);
    border-radius: 16px;
    padding: 16px 18px;
    box-shadow: var(--awb-color7);
    z-index: 2;
}

/* image teacher quote box */
.quote p {
    margin: 0;
    font-size: .9rem;
    font-weight: 500;
    line-height: 1.4;
}

.quote .by {
    font-size: .66rem;
    letter-spacing: .07em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--awb-color6);
    margin-top: 8px;
}

.lh-pathway-card>div {
    background-color: var(--awb-color1) !important;
}

.lh-pathway-card .lh-path-nested {
    padding: 25px !important;
}

#lh-stats-col>div {
    background-image: radial-gradient(80% 120% at 100% 0, rgba(114, 201, 193, .22), transparent 55%) !important;
}

#lh-stats-col .fusion-builder-row-inner>.fusion_builder_column_inner+.fusion_builder_column_inner {
    border-left: 1px solid rgba(255, 255, 255, .2);
}

@media (max-width:767px) {
    #lh-stats-col .fusion-builder-row-inner>.fusion_builder_column_inner+.fusion_builder_column_inner {
        border-left: 0;
    }
}

.lh-scale-boxes>div>div {
    border: 0px !important;
}

/* 1. Clear hidden pseudo-elements from interfering with the grid columns */
.lh-home-cboxes::before,
.lh-home-cboxes::after {
    display: none !important;
}

/* 2. Configure the main parent container grid */
.lh-home-cboxes {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-items: start;
    /* Prevents heights from stretching unevenly */
}

/* 3. Strip theme float/width rules from child items to let Grid handle them */
.lh-home-cboxes .fusion-column {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

/* 1. Force the grid items and inner wrappers to fill full height */
.lh-home-cboxes .fusion-column {
    display: flex !important;
    flex-direction: column;
}

.lh-home-cboxes .content-box-wrapper {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    height: 100% !important;

    /* 2. Restore inner box padding */
    padding: 25px !important;
}

/* 3. Change align-items to stretch so grid rows match heights */
.lh-home-cboxes {
    align-items: stretch !important;
}

.home-cards-products li.post-card>div.fusion-column-wrapper .fusion-builder-row {
    background-color: #ffffff;
    border-radius: 11px;
    padding: 20px !important;
    bottom: -130px;
    left: -0px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1) !important;
}

.home-cards-products li.post-card>div>div div.fusion-column-wrapper .fusion-title h4 a,
.home-cards-products li.post-card>div>div div.fusion-column-wrapper .fusion-text {
    /* color: var(--awb-text-color) !important; */
    color: #0c2632;
}

.home-cards-products li.post-card div {
    overflow: visible !important;
}

.home-cards-products li.post-card {
    margin-bottom: 80px !important;
}

.lh-pathway-card>div {
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1) !important;
}

.lh-pathway-card {
    margin-bottom: 20px !important;
}

/* Responsive adjustments for tablet and medium screens */
@media (max-width: 1024px) {

    /* 1. Neutralize built-in theme column width restrictions */
    .lh-home-cboxes .fusion-column {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
    }

    /* 2. Switch to a 1-column stack to allow the boxes to use the full width */
    .lh-home-cboxes {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        /* Slightly smaller gap for tablet sizing */
    }

    .footer-menu-main .awb-menu__main-ul_row {
        flex-direction: column;
    }

    .footer-menu-main .awb-menu__main-ul_column .awb-menu__main-a {
        justify-content: flex-start;
    }
}

/* Optional: If you want to keep them 2x2 on desktop but scale down to 1-column on mobile */
@media (max-width: 767px) {
    .lh-home-cboxes {
        grid-template-columns: 1fr !important;
    }

}

.main-header-bar .nav-cta-contact span.awb-menu__main-background-active.awb-menu__main-background-active_fade {
    border-bottom: 0px;
}

.main-header-bar .nav-cta-contact>a {
    border: solid 1px var(--awb-custom_color_1);
    border-radius: 50px;
    background-color: #fff;
    padding-bottom: 20px !important;
}

.main-header-bar .nav-cta-contact:hover>a {
    border: solid 1px var(--awb-custom_color_3);
    border-radius: 50px;
    background-color: var(--awb-custom_color_3);
    padding-bottom: 20px !important;
}

.main-header-bar .nav-cta-contact>a span.menu-text {
    color: var(--awb-custom_color_1);

}

@media screen and (min-width:1025px) {
    .nav-login-dash {
        display: none !important;
    }
}

.lhq-name {
    max-width: 70%;
}

.lhq-score {
    max-width: 20%;
}

.lhq-merit .fusion-column-wrapper.fusion-flex-justify-content-flex-start.fusion-content-layout-column {
    flex-direction: row !important;
}

.product-curriculum-oc .awb-off-canvas-inner {
    max-height: 80vh !important;
}


.page-id-2981 section.fusion-page-title-bar {
    display: none;
}


.la-shadow>div {
    box-shadow: 0 18px 50px -22px rgba(1, 47, 69, .35) !important;
}

.cbox-contact .content-container {
    margin-bottom: 0px;
}

.cbox-contact.fusion-content-boxes.content-boxes>div {
    margin-bottom: 0px;
}

.faqs-el ul.fusion-filters li a {
    border: solid 1px var(--awb-custom_color_1);
    border-radius: 50px;
    padding: 5px 15px;
    color: var(--awb-text-color);
}

.faqs-el ul.fusion-filters li a:hover {
    background-color: var(--awb-custom_color_1);
    color: #fff;
}

.faqs-el ul.fusion-filters .fusion-filter.fusion-active a {
    background-color: var(--awb-custom_color_1);
    color: #fff;
    border-color: var(--awb-custom_color_1);
    ;
}

.faqs-el .fusion-filter {
    margin-right: 10px;
}

.faqs-el .fusion-filters {
    border: 0px;
}

@media screen and (max-width: 1200px) {
    .main-menu-nav-desktop.awb-menu .awb-menu__main-ul {
        font-size: 15px !important;
    }

    .main-menu-nav-desktop.awb-menu .awb-menu__main-li {
        margin-right: 0px;
    }
}

main#main {
    padding-bottom: 0px;
}

.page-id-3710 section.fusion-page-title-bar.fusion-tb-page-title-bar {
    display: none;
}


/* ============================================================================
   TEACHERS PAGE (/teachers/, page 3710) — 2026-08-06
   Built to docs/page-build-rules.md. Replaces the ~130-line block that used to
   sit at the top of css/main-style.css, which hardcoded #ffffff / #1a2e44 /
   #4a5568 / #e8f5e9 / #2e7d32, used rgba() shadows, set font-size + weight +
   colour on the card's heading, and carried its own max-width:1100px gutter.

   Everything below is scoped under `.lt` because this file loads site-wide.
   RULE 3: the PARENT owns the 30px gutter, the .wrap child owns the 1230px
   width — never both on one element.
   RULE 5: zero private colour vars, zero hex, zero rgba. Alpha tints come from
   Avada globals that already exist; anything else is derived with hsla() off a
   global's own -h/-s/-l channel vars.
   Buttons are real Avada buttons (lh_avada_button) — nothing about them here.
   ============================================================================ */

.lt {
    font-family: inherit;
    color: var(--awb-custom_color_12);
    line-height: 1.65;
    max-width: 100%;
    overflow-x: clip;
    -webkit-font-smoothing: antialiased;
}

.lt h1,
.lt h2,
.lt h3,
.lt h5 {
    text-wrap: balance;
}

.lt .wrap {
    max-width: var(--site_width, 1230px);
    margin-left: auto;
    margin-right: auto;
}

.lt .eyebrow {
    font-size: .75rem;
    letter-spacing: .19em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--awb-color5);
    margin: 0 0 14px;
}

.lt .lead {
    max-width: 58ch;
    margin: 18px 0 0;
}

.lt .acts {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 28px;
}

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

.lt-hero {
    padding-top: clamp(54px, 7vw, 96px);
    padding-bottom: clamp(54px, 7vw, 96px);
    padding-left: var(--hundredp_padding, 30px);
    padding-right: var(--hundredp_padding, 30px);
    background:
        radial-gradient(55% 60% at 90% 6%, var(--awb-custom_color_10), transparent 60%),
        radial-gradient(40% 40% at 2% 96%, var(--awb-custom_color_11), transparent 60%),
        var(--awb-custom_color_1);
}

.lt-hero .split {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: clamp(30px, 5vw, 64px);
    align-items: center;
}

/* Copy sits on navy, so these three carry a colour on purpose. */
.lt-hero .h1 {
    color: var(--awb-color1);
}

.lt-hero .lead {
    color: hsla(var(--awb-color1-h), var(--awb-color1-s), var(--awb-color1-l), .86);
}

.lt-hero .eyebrow {
    color: var(--awb-color5);
}

.lt .himg {
    position: relative;
}

.lt .himg .ring {
    position: absolute;
    top: -20px;
    left: -20px;
    width: 84px;
    height: 84px;
    border: 5px solid var(--awb-color4);
    border-radius: 50%;
    z-index: -1;
    opacity: .5;
}

.lt .frame {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    border: 6px solid var(--awb-color1);
    aspect-ratio: 4/3.1;
    box-shadow: 0 18px 50px -22px hsla(var(--awb-custom_color_1-h), var(--awb-custom_color_1-s), var(--awb-custom_color_1-l), .35);
}

.lt .frame .pic {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-image: url(/wp-content/uploads/2026/06/iStock-1477580860.jpg);
}

.lt .frame .badge {
    position: absolute;
    left: 14px;
    bottom: 14px;
    background: var(--awb-custom_color_4);
    color: var(--awb-color1);
    font-size: .68rem;
    letter-spacing: .09em;
    text-transform: uppercase;
    font-weight: 600;
    padding: 8px 13px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.lt .frame .badge i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--awb-color4);
}

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

.lt-sec {
    padding: clamp(52px, 7vw, 92px) var(--hundredp_padding, 30px);
}

.lt-white {
    background: var(--awb-color1);
}

.lt-beige {
    background: var(--awb-custom_color_8);
}

.lt .sec-head {
    max-width: 640px;
}

.lt .sec-head.center {
    margin: 0 auto;
    text-align: center;
}

.lt .sec-head.center .lead {
    margin-left: auto;
    margin-right: auto;
}

/* -------------------------------------------------- what they bring (3) */

.lt .feats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 36px;
}

.lt .feat {
    background: var(--awb-color1);
    border: 1px solid var(--awb-color3);
    border-radius: 16px;
    padding: 26px 22px;
    transition: transform .3s, box-shadow .3s;
}

.lt .feat:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 50px -22px hsla(var(--awb-custom_color_1-h), var(--awb-custom_color_1-s), var(--awb-custom_color_1-l), .35);
}

.lt .feat .ico {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: var(--awb-custom_color_10);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}

/* Icon colour lives here, never as stroke="#hex" in the markup. */
.lt .feat .ico svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: var(--awb-color5);
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.lt .feat:nth-child(2) .ico {
    background: var(--awb-custom_color_11);
}

.lt .feat:nth-child(2) .ico svg {
    stroke: var(--awb-color4);
}

.lt .feat h5 {
    margin-bottom: 7px;
}

.lt .feat p {
    margin: 0;
}

/* ----------------------------------------------------- the team cards */
/* Same look as the old .twinkle-teacher-card — white rounded card, square photo
   on top, name, role pill, bio, lift on hover — with every value now an Avada
   global and the name an <h5> so it inherits the theme instead of being restyled. */

.lt .tgrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 40px;
}

.lt .tcard {
    background: var(--awb-color1);
    border: 1px solid var(--awb-color3);
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform .25s ease, box-shadow .25s ease;
}

.lt .tcard:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 50px -22px hsla(var(--awb-custom_color_1-h), var(--awb-custom_color_1-s), var(--awb-custom_color_1-l), .35);
}

.lt .tphoto {
    aspect-ratio: 1/1;
    overflow: hidden;
    background: var(--awb-custom_color_9);
}

.lt .tphoto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform .35s ease;
}

.lt .tcard:hover .tphoto img {
    transform: scale(1.04);
}

.lt .tinfo {
    padding: 24px 24px 28px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.lt .tinfo p {
    margin: 4px 0 0;
}

/* Was a green pill (#e8f5e9 / #2e7d32) — off-brand and hardcoded. Now the jade
   tint global with navy text, per Ben: "use a global color that exists". */
.lt .trole {
    display: inline-block;
    width: fit-content;
    background: var(--awb-custom_color_10);
    color: var(--awb-custom_color_1);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 5px 11px;
    border-radius: 999px;
}

.lt .lt-empty {
    text-align: center;
    padding: 40px 0;
}

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

.lt-cta {
    background:
        linear-gradient(var(--awb-custom_color_3), var(--awb-custom_color_3)),
        url(/wp-content/uploads/2026/06/iStock-1393146294.webp) center/cover;
    text-align: center;
}

.lt-cta .lead {
    margin-left: auto;
    margin-right: auto;
    color: var(--awb-custom_color_1);
}

.lt-cta .acts {
    justify-content: center;
}

/* ============================================================================
   TEACHERS — RESPONSIVE
   ============================================================================ */

@media (max-width: 1024px) {

    .lt .tgrid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

@media (max-width: 900px) {

    .lt-hero .split {
        grid-template-columns: 1fr;
    }

    .lt-hero .himg {
        order: -1;
        max-width: 520px;
    }

    .lt .feats {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {

    .lt .tgrid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    /* NO aspect-ratio override here. The old stylesheet made this 4/3 on phones and
       that is what cut the teachers' faces in half: the headshots are portraits with
       the hair already flush to the top edge, so a landscape box anchored at the top
       slices everything below the nose. Square at every width fits the whole head. */
}

@media (max-width: 560px) {

    .lt .feats {
        grid-template-columns: 1fr;
    }

    .lt .acts,
    .lt-cta .acts {
        flex-direction: column;
        align-items: stretch;
    }

    .lt .acts .fusion-button-wrapper,
    .lt .acts .fusion-button {
        width: 100%;
    }

    .lt .frame {
        aspect-ratio: 4/3;
    }
}
