/*
Theme Name: Ladder Up Tutoring Custom
Theme URI: https://example.com/
Author: OpenAI
Author URI: https://openai.com/
Description: Custom WordPress theme for Ladder Up Tutoring with homepage sections editable in the WordPress Customizer.
Version: 1.3.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ladder-up-tutoring
Tags: custom-logo, custom-menu, featured-images, full-width-template, custom-background
*/

:root {
    --lut-green: #7ed957;
    --lut-grey: #7a7a7a;
    --lut-bg: #ececec;
    --lut-text: #222222;
    --lut-white: #ffffff;
    --lut-max: 1180px;
    --lut-shadow-soft: 0 10px 20px rgba(0,0,0,.08);
    --lut-shadow-medium: 0 14px 28px rgba(0,0,0,.12);
}

html {
    box-sizing: border-box;
    scroll-behavior: smooth;
}

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

body {
    margin: 0;
    background: var(--lut-bg);
    color: var(--lut-text);
    font-family: "Trebuchet MS", "Comic Sans MS", Arial, sans-serif;
    line-height: 1.5;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
    transition: all .2s ease;
}

a:hover {
    opacity: .95;
}

.screen-reader-text {
    position: absolute;
    clip: rect(1px,1px,1px,1px);
    clip-path: inset(50%);
    width: 1px;
    height: 1px;
    overflow: hidden;
    white-space: nowrap;
}

.site-header,
.site-footer {
    background: transparent;
}

.site-header-inner,
.site-footer-inner,
.lut-wrap,
.content-wrap {
    width: min(100% - 32px, var(--lut-max));
    margin-inline: auto;
}

.lut-header-shell {
    padding: 28px 0 18px;
}

.site-header-inner {
    width: min(100% - 44px, 1280px);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 28px;
}

.site-branding {
    display: flex;
    align-items: center;
    min-width: 0;
}

.site-header .custom-logo-link,
.lut-header-logo-link {
    display: inline-flex;
    align-items: center;
}

.site-header .custom-logo-link img,
.lut-header-logo-image {
    width: auto;
    max-width: min(22vw, 150px);
    max-height: 150px;
}

.lut-header-text-logo {
    font-size: clamp(1.25rem, 2vw, 1.8rem);
    font-weight: 700;
}

.lut-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    flex-wrap: wrap;
}

.lut-header-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 226px;
    min-height: 66px;
    padding: 14px 30px;
    border-radius: 999px;
    background: var(--lut-green);
    color: var(--lut-white);
    font-size: clamp(1.25rem, 1.8vw, 1.9rem);
    font-weight: 700;
    line-height: 1;
    text-align: center;
    box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

.lut-header-btn:hover,
.site-title a:hover,
.primary-menu a:hover,
.footer-menu a:hover {
    color: var(--lut-white);
    transform: translateY(-2px);
    box-shadow: 0 14px 24px rgba(0,0,0,.14);
}

.site-description {
    margin: 2px 0 0;
    font-size: .95rem;
    color: #666;
}

.primary-menu ul,
.footer-menu ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 16px;
}

.content-wrap {
    padding: 24px 0 56px;
}

.entry-card {
    background: rgba(255,255,255,.72);
    border-radius: 24px;
    padding: 24px;
    box-shadow: var(--lut-shadow-soft);
}

.lut-front-page {
    padding: 20px 0 70px;
}

.lut-section {
    margin-bottom: 64px;
}

.lut-top {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 36px;
    align-items: start;
}

.lut-logo-box {
    text-align: center;
}

.lut-logo-box img {
    width: 100%;
    max-width: 260px;
    margin: 0 auto;
}

.lut-about-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.lut-title-pill,
.lut-section-pill,
.lut-sign-role,
.lut-sign-btn {
    border-radius: 999px;
    text-align: center;
}

.lut-title-pill {
    display: inline-block;
    background: var(--lut-green);
    color: var(--lut-white);
    font-size: clamp(28px, 3.7vw, 52px);
    font-weight: 700;
    line-height: 1.1;
    padding: 18px 34px;
    margin-bottom: 22px;
    box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

.lut-about-box {
    background: var(--lut-grey);
    color: var(--lut-white);
    border-radius: 28px;
    padding: 24px 28px;
    font-size: clamp(18px, 2vw, 29px);
    line-height: 1.5;
    box-shadow: var(--lut-shadow-medium);
    max-width: 700px;
}

.lut-center-title {
    text-align: center;
    margin-bottom: 30px;
}

.lut-find-title {
    text-align: left;
    margin-bottom: 30px;
}

.lut-section-pill {
    display: inline-block;
    min-width: 280px;
    padding: 18px 34px;
    font-size: clamp(28px, 3.6vw, 48px);
    font-weight: 700;
    line-height: 1.1;
    color: var(--lut-white);
    box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

.lut-section-pill.green { background: var(--lut-green); }
.lut-section-pill.grey { background: var(--lut-grey); }

.lut-subject-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(280px, 1fr));
    gap: 22px 48px;
    max-width: 1050px;
    margin: 0 auto;
}

.lut-subject-item {
    display: flex;
    align-items: center;
    min-height: 76px;
    border-radius: 999px;
    overflow: hidden;
    box-shadow: var(--lut-shadow-soft);
}

.lut-subject-item:hover,
.lut-sign-btn:hover,
.lut-section-pill:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 24px rgba(0,0,0,.14);
}

.lut-subject-icon {
    width: 76px;
    min-width: 76px;
    height: 76px;
    background: #d8d8d8;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lut-subject-icon img {
    width: 54px;
    height: 54px;
    object-fit: contain;
}

.lut-subject-label {
    flex: 1;
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    font-size: clamp(22px, 2.2vw, 32px);
    font-weight: 700;
    color: var(--lut-white);
    text-align: center;
}

.lut-subject-item.green .lut-subject-label { background: var(--lut-green); }
.lut-subject-item.grey .lut-subject-label { background: var(--lut-grey); }

.lut-find-grid {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 34px;
    align-items: center;
}

.lut-find-image img {
    max-width: 310px;
    margin: 0 auto;
}

.lut-find-copy {
    font-size: clamp(18px, 2vw, 30px);
    line-height: 1.55;
}

.lut-find-copy p {
    margin: 0 0 18px;
}

.lut-find-copy ul {
    margin: 0;
    padding-left: 28px;
}

.lut-find-copy li {
    margin-bottom: 8px;
}

.lut-find-copy a {
    color: #222;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.lut-signup-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(280px, 1fr));
    gap: 50px;
    max-width: 1050px;
    margin: 0 auto;
}

.lut-sign-card {
    text-align: center;
}

.lut-sign-role {
    display: inline-block;
    min-width: 220px;
    background: var(--lut-grey);
    color: var(--lut-white);
    padding: 16px 28px;
    font-size: clamp(22px, 2vw, 30px);
    font-weight: 700;
    margin-bottom: 18px;
    box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

.lut-sign-card img {
    max-width: 240px;
    margin: 0 auto 20px;
}

.lut-sign-btn {
    display: inline-block;
    min-width: 220px;
    background: var(--lut-green);
    color: var(--lut-white);
    padding: 18px 28px;
    font-size: clamp(24px, 2.2vw, 34px);
    font-weight: 700;
    box-shadow: 0 10px 22px rgba(0,0,0,.10);
}

.site-footer-inner {
    padding: 18px 0 32px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    color: #555;
}

@media (max-width: 991px) {
    .site-footer-inner,
    .lut-top,
    .lut-find-grid,
    .lut-subject-grid,
    .lut-signup-grid {
        grid-template-columns: 1fr;
    }

    .site-header-inner {
        width: min(100% - 24px, 1280px);
        flex-direction: column;
        text-align: center;
    }

    .site-branding {
        justify-content: center;
    }

    .lut-header-actions {
        justify-content: center;
    }

    .lut-top {
        text-align: center;
    }

    .lut-about-content {
        align-items: center;
    }

    .lut-find-title {
        text-align: center;
    }

    .lut-find-copy {
        text-align: left;
    }
}

@media (max-width: 640px) {
    .site-footer-inner,
    .lut-wrap,
    .content-wrap {
        width: min(100% - 20px, var(--lut-max));
    }

    .lut-header-shell {
        padding: 20px 0 12px;
    }

    .site-header-inner {
        width: min(100% - 20px, 1280px);
        gap: 18px;
    }

    .site-header .custom-logo-link img,
    .lut-header-logo-image {
        max-width: 112px;
        max-height: 112px;
    }

    .lut-header-actions {
        width: 100%;
        gap: 14px;
    }

    .lut-header-btn {
        width: min(100%, 260px);
        min-width: 0;
        min-height: 58px;
        font-size: 1.35rem;
    }

    .lut-front-page {
        padding: 20px 0 50px;
    }

    .lut-section {
        margin-bottom: 46px;
    }

    .lut-section-pill,
    .lut-title-pill {
        min-width: auto;
        width: 100%;
        max-width: 100%;
        padding: 16px 20px;
    }

    .lut-about-box {
        padding: 20px;
        border-radius: 22px;
    }

    .lut-subject-item {
        min-height: 68px;
    }

    .lut-subject-icon {
        width: 68px;
        min-width: 68px;
        height: 68px;
    }

    .lut-subject-label {
        min-height: 68px;
        padding: 10px 14px;
    }

    .lut-sign-role,
    .lut-sign-btn {
        width: 100%;
        max-width: 260px;
    }
}


.lut-register-page-template {
    padding: 20px 0 72px;
}

.lut-register-entry,
.lut-register-page-content {
    width: 100%;
}

.lut-register-shell {
    width: min(100% - 32px, 760px);
    margin: 0 auto;
}

.lut-register-panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
}

.lut-register-top-pill {
    width: 100%;
    max-width: 700px;
    padding: 26px 24px;
    border-radius: 999px;
    background: var(--lut-green);
    color: var(--lut-white);
    text-align: center;
    font-size: clamp(34px, 5vw, 56px);
    font-weight: 700;
    line-height: 1.1;
    box-shadow: var(--lut-shadow-soft);
}

.lut-register-card {
    width: 100%;
    max-width: 750px;
    background: var(--lut-grey);
    color: var(--lut-white);
    border-radius: 40px;
    padding: 42px 28px;
    box-shadow: var(--lut-shadow-medium);
}

.lut-register-form {
    width: min(100%, 420px);
    margin: 0 auto;
}

.lut-register-field {
    margin-bottom: 22px;
    text-align: center;
}

.lut-register-field label {
    display: block;
    margin-bottom: 10px;
    font-size: clamp(20px, 2vw, 28px);
    font-weight: 700;
    color: var(--lut-white);
}

.lut-register-field input {
    width: 100%;
    min-height: 58px;
    border: 0;
    border-radius: 999px;
    padding: 0 22px;
    background: #f7f7f7;
    color: var(--lut-text);
    font-size: 18px;
    text-align: center;
}

.lut-register-field input:focus {
    outline: 3px solid rgba(126, 217, 87, 0.35);
    outline-offset: 2px;
}

.lut-register-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 230px;
    min-height: 64px;
    margin: 12px auto 0;
    padding: 14px 28px;
    border: 0;
    border-radius: 999px;
    background: var(--lut-green);
    color: var(--lut-white);
    cursor: pointer;
    font-size: clamp(22px, 2.4vw, 34px);
    font-weight: 700;
    text-decoration: none;
    box-shadow: var(--lut-shadow-soft);
}

.lut-register-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 24px rgba(0,0,0,.14);
}

.lut-register-success,
.lut-register-errors {
    width: min(100%, 520px);
    margin: 0 auto 22px;
    border-radius: 22px;
    padding: 16px 20px;
    text-align: center;
}

.lut-register-success {
    background: rgba(126, 217, 87, 0.18);
    border: 1px solid rgba(126, 217, 87, 0.5);
}

.lut-register-errors {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.lut-register-errors p,
.lut-register-success {
    margin: 0;
}

.lut-register-errors p + p {
    margin-top: 8px;
}

.lut-register-actions {
    text-align: center;
}

@media (max-width: 782px) {
    .lut-register-card {
        padding: 32px 18px;
        border-radius: 28px;
    }

    .lut-register-top-pill {
        padding: 22px 20px;
    }

    .lut-register-submit {
        width: 100%;
    }
}


/* Afrikaans subject page */
.lut-subject-page {
    margin: 20px 0 50px;
}

.lut-subject-hero {
    background: #000000;
    border-radius: 42px;
    padding: clamp(28px, 4vw, 52px);
    box-shadow: var(--lut-shadow-medium);
}

.lut-subject-heading-shell {
    display: flex;
    justify-content: center;
    margin-bottom: 42px;
}

.lut-subject-heading-pill {
    width: min(100%, 760px);
    min-height: 138px;
    display: flex;
    align-items: center;
    overflow: hidden;
    border-radius: 999px;
    background: var(--lut-green);
    box-shadow: 0 16px 30px rgba(0, 0, 0, 0.22);
}

.lut-subject-heading-icon {
    width: clamp(104px, 12vw, 144px);
    min-width: clamp(104px, 12vw, 144px);
    height: clamp(104px, 12vw, 144px);
    margin: 10px 0 10px 12px;
    border-radius: 50%;
    background: #f0f0f0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lut-subject-heading-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lut-subject-heading-text {
    flex: 1;
    padding: 20px 32px;
    text-align: center;
    color: var(--lut-white);
    font-size: clamp(2rem, 4vw, 3.6rem);
    font-weight: 700;
    line-height: 1.1;
}

.lut-subject-intro-card {
    background: var(--lut-grey);
    border-radius: 38px;
    padding: clamp(30px, 5vw, 58px);
    color: var(--lut-white);
}

.lut-subject-intro-copy {
    max-width: 980px;
    margin: 0 auto;
    font-size: clamp(1.18rem, 2.05vw, 2rem);
    line-height: 1.55;
}

.lut-subject-intro-copy > :first-child {
    margin-top: 0;
    text-align: center;
}

.lut-subject-intro-copy p {
    margin: 0 0 18px;
}

.lut-subject-intro-copy ul {
    margin: 0;
    padding-left: 1.75em;
}

.lut-subject-intro-copy li {
    margin-bottom: 10px;
}

.lut-subject-learn-title {
    font-weight: 700;
    text-align: left !important;
}

@media (max-width: 767px) {
    .lut-subject-hero {
        border-radius: 28px;
        padding: 20px;
    }

    .lut-subject-heading-shell {
        margin-bottom: 24px;
    }

    .lut-subject-heading-pill {
        min-height: 94px;
    }

    .lut-subject-heading-text {
        padding: 16px 18px;
        font-size: clamp(1.5rem, 6vw, 2rem);
    }

    .lut-subject-intro-card {
        border-radius: 24px;
        padding: 24px 20px;
    }

    .lut-subject-intro-copy {
        font-size: 1.08rem;
    }

    .lut-subject-intro-copy ul {
        padding-left: 1.35em;
    }
}

/* Exact-match Afrikaans page refinement */
body.lut-afrikaans-page {
    background: #000000;
}

body.lut-afrikaans-page .site-header,
body.lut-afrikaans-page .site-footer {
    display: none;
}

body.lut-afrikaans-page #page,
body.lut-afrikaans-page #primary.site-main,
body.lut-afrikaans-page .content-wrap {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

body.lut-afrikaans-page .lut-subject-page.lut-subject-page-afrikaans {
    margin: 0;
}

body.lut-afrikaans-page .lut-subject-page.lut-subject-page-afrikaans .lut-subject-hero {
    min-height: 100vh;
    background: #000000;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

body.lut-afrikaans-page .lut-subject-stage {
    width: min(100%, 1366px);
    min-height: 768px;
    margin: 0 auto;
    padding: 76px 116px 99px;
}

body.lut-afrikaans-page .lut-subject-heading-shell {
    justify-content: center;
    margin: 0 0 41px;
}

body.lut-afrikaans-page .lut-subject-heading-pill {
    width: 744px;
    min-height: 145px;
    background: #7ed957;
    border-radius: 999px;
    box-shadow: none;
}

body.lut-afrikaans-page .lut-subject-heading-icon {
    width: 144px;
    min-width: 144px;
    height: 144px;
    margin: 0;
    background: #ededed;
    border-radius: 999px;
}

body.lut-afrikaans-page .lut-subject-heading-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.lut-afrikaans-page .lut-subject-heading-text {
    padding: 18px 40px 18px 28px;
    text-align: center;
    color: #ffffff;
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    line-height: 1;
    font-weight: 700;
}

body.lut-afrikaans-page .lut-subject-intro-card {
    width: 100%;
    max-width: 1134px;
    min-height: 407px;
    margin: 0 auto;
    background: #7f7f7f;
    border-radius: 36px;
    padding: 58px 76px 46px;
    box-shadow: none;
}

body.lut-afrikaans-page .lut-subject-intro-copy {
    max-width: 958px;
    margin: 0 auto;
    color: #ffffff;
    font-size: clamp(1.18rem, 1.9vw, 2.05rem);
    line-height: 1.38;
}

body.lut-afrikaans-page .lut-subject-intro-copy > :first-child {
    max-width: 900px;
    margin: 0 auto 10px;
    text-align: center;
}

body.lut-afrikaans-page .lut-subject-intro-copy p {
    margin: 0 0 8px;
}

body.lut-afrikaans-page .lut-subject-learn-title {
    margin-top: 6px;
    margin-bottom: 4px;
    text-align: left !important;
    font-weight: 400;
}

body.lut-afrikaans-page .lut-subject-intro-copy ul {
    margin: 0;
    padding-left: 1.35em;
}

body.lut-afrikaans-page .lut-subject-intro-copy li {
    margin: 0 0 4px;
}

@media (max-width: 900px) {
    body.lut-afrikaans-page .lut-subject-page.lut-subject-page-afrikaans .lut-subject-hero {
        min-height: auto;
    }

    body.lut-afrikaans-page .lut-subject-stage {
        min-height: auto;
        padding: 28px 18px 40px;
    }

    body.lut-afrikaans-page .lut-subject-heading-shell {
        margin-bottom: 28px;
    }

    body.lut-afrikaans-page .lut-subject-heading-pill {
        width: 100%;
        min-height: 96px;
    }

    body.lut-afrikaans-page .lut-subject-heading-icon {
        width: 96px;
        min-width: 96px;
        height: 96px;
    }

    body.lut-afrikaans-page .lut-subject-heading-text {
        padding: 14px 20px 14px 14px;
        font-size: clamp(1.8rem, 8vw, 2.8rem);
    }

    body.lut-afrikaans-page .lut-subject-intro-card {
        min-height: auto;
        border-radius: 28px;
        padding: 26px 20px 24px;
    }

    body.lut-afrikaans-page .lut-subject-intro-copy {
        font-size: 1.08rem;
        line-height: 1.45;
    }
}


/* Platform app UI */
.lut-header-btn-badge{position:relative;display:inline-flex;gap:8px;align-items:center}.lut-badge{display:inline-flex;min-width:22px;height:22px;border-radius:999px;align-items:center;justify-content:center;background:#1f1f1f;color:#fff;font-size:.82rem;padding:0 6px}.lut-badge:empty,.lut-badge[data-zero="1"],.lut-badge:not(:has(*)):not([data-show="1"]){}
.lut-app-shell{max-width:1200px;margin:0 auto;padding:28px 18px 70px}.lut-app-grid{display:grid;gap:24px}.lut-app-grid.two{grid-template-columns:330px minmax(0,1fr)}.lut-app-card{background:#7b7b7b;color:#fff;border-radius:28px;padding:24px;box-shadow:0 16px 36px rgba(0,0,0,.10)}.lut-app-pill{background:#7ed957;color:#fff;border-radius:999px;padding:16px 26px;font-family:"Trebuchet MS",Arial,sans-serif;font-weight:700;display:inline-flex;align-items:center;text-decoration:none;border:none;cursor:pointer}.lut-app-pill.alt{background:#1f1f1f}.lut-app-card h1,.lut-app-card h2,.lut-app-card h3{margin-top:0}.lut-avatar-xl{width:100%;max-width:320px;aspect-ratio:1/1;border-radius:50%;object-fit:cover;background:#dff2ff}.lut-public-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.lut-slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.lut-slot-btn{border:0;border-radius:18px;padding:12px 14px;background:#efefef;color:#222;font-weight:700;cursor:pointer}.lut-slot-btn.is-active,.lut-slot-btn:hover{background:#7ed957;color:#fff}.lut-date-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.lut-date-card{border:0;border-radius:20px;padding:14px;background:#efefef;color:#222;cursor:pointer;font-weight:700}.lut-date-card.is-active,.lut-date-card:hover{background:#7ed957;color:#fff}.lut-form-field{margin-bottom:16px}.lut-form-field label{display:block;margin-bottom:8px;font-weight:700}.lut-form-input,.lut-form-select,.lut-form-textarea{width:100%;border:0;border-radius:18px;padding:13px 15px;font:inherit}.lut-form-textarea{min-height:120px;resize:vertical}.lut-status-message{padding:14px 16px;border-radius:18px;margin-bottom:16px;font-weight:700}.lut-status-message.ok{background:#d8f3ca;color:#235214}.lut-status-message.error{background:#ffe1e1;color:#7d1818}.lut-chat-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px}.lut-chat-box{height:480px;overflow-y:auto;background:#f2f2f2;border-radius:24px;padding:16px}.lut-chat-bubble{max-width:72%;padding:12px 14px;border-radius:18px;margin:0 0 12px}.lut-chat-me{margin-left:auto;background:#7ed957;color:#fff}.lut-chat-them{margin-right:auto;background:#d9d9d9;color:#202020}.lut-chat-meta{font-size:.76rem;opacity:.82;margin-top:8px}.lut-chat-attachment a{color:inherit;font-weight:700}.lut-chat-composer{display:grid;gap:12px;margin-top:14px}.lut-chat-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.lut-conversation-list{display:grid;gap:10px}.lut-conversation-card{display:block;background:#efefef;color:#202020;border-radius:18px;padding:14px;text-decoration:none}.lut-conversation-card.active,.lut-conversation-card:hover{background:#7ed957;color:#fff}.lut-notice-mini{background:#efefef;color:#222;border-radius:18px;padding:12px 14px;margin-bottom:10px}.lut-notice-mini strong{display:block;margin-bottom:4px}.lut-notice-mini p{margin:0 0 6px}.lut-mini-link{font-weight:700;color:inherit}.lut-schedule-table{width:100%;border-collapse:separate;border-spacing:8px}.lut-schedule-table th,.lut-schedule-table td{padding:12px;border-radius:16px;text-align:center}.lut-schedule-table th{background:#555;color:#fff}.lut-schedule-table td{background:#efefef;color:#202020}.lut-schedule-table td.is-on{background:#bff2a9}.lut-inline-form{display:inline}.lut-muted{opacity:.85}.lut-section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.lut-list-clean{list-style:none;padding:0;margin:0;display:grid;gap:12px}
@media (max-width: 900px){.lut-app-grid.two,.lut-chat-layout{grid-template-columns:1fr}.lut-avatar-xl{max-width:240px;margin:0 auto;display:block}}


.lut-app-frame{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start}.lut-app-sidebar{background:#1f1f1f;color:#fff;border-radius:28px;padding:22px;box-shadow:0 16px 36px rgba(0,0,0,.10);position:sticky;top:104px}.lut-app-sidebar-top{display:flex;gap:14px;align-items:center;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.12)}.lut-app-sidebar-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;background:#f0f0f0}.lut-app-sidebar-title{font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;opacity:.72}.lut-app-sidebar-name{display:block;font-size:1.08rem;margin:2px 0}.lut-app-sidebar-role{font-size:.92rem;opacity:.82}.lut-app-sidebar-nav{display:grid;gap:10px}.lut-app-nav-link{display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(255,255,255,.06);color:#fff;text-decoration:none;padding:14px 16px;border-radius:18px;font-weight:700}.lut-app-nav-link:hover,.lut-app-nav-link.is-active{background:#7ed957;color:#fff}.lut-app-nav-badge{min-width:24px;height:24px;border-radius:999px;background:#fff;color:#1f1f1f;font-size:.8rem;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}.lut-app-main{min-width:0}.lut-app-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}.lut-app-hero h1,.lut-app-hero h2{margin:0}.lut-app-quicklinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-top:18px}.lut-app-quicklinks .lut-app-card{padding:20px}.lut-app-quicklinks p{margin:8px 0 14px}.lut-app-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:18px}.lut-app-stat-tile{background:#efefef;color:#202020;border-radius:22px;padding:18px}.lut-app-stat-tile strong{display:block;font-size:.9rem;text-transform:uppercase;opacity:.7;margin-bottom:6px}.lut-app-stat-tile span{font-size:1.2rem;font-weight:700}.lut-app-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.lut-booking-highlight{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:18px;margin-bottom:18px}
@media (max-width: 1024px){.lut-app-frame,.lut-booking-highlight,.lut-app-split{grid-template-columns:1fr}.lut-app-sidebar{position:static;top:auto}}

.lut-app-pill.small{padding:11px 18px;font-size:.95rem;min-height:auto}.lut-empty-state{background:#efefef;color:#202020;border-radius:22px;padding:22px}.lut-empty-state.tall{min-height:300px;display:grid;place-items:center;text-align:center}.lut-booking-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.lut-booking-card{background:#efefef;color:#202020;border-radius:22px;padding:18px;display:grid;gap:10px}.lut-booking-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.lut-booking-card-date{font-weight:700}.lut-booking-card-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:.8rem;font-weight:700;background:#d9d9d9}.lut-booking-card-status.is-booked,.lut-booking-card-status.is-confirmed{background:#bff2a9;color:#215312}.lut-booking-card-note{opacity:.82}.lut-booking-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.lut-app-mobile-toggle{display:none;position:fixed;left:16px;bottom:16px;z-index:1002;border:0;border-radius:999px;padding:12px 16px;background:#1f1f1f;color:#fff;box-shadow:0 16px 30px rgba(0,0,0,.18);align-items:center;gap:10px}.lut-app-mobile-toggle span{display:block;width:16px;height:2px;background:#fff;border-radius:999px}.lut-app-mobile-toggle strong{font-size:.95rem}.lut-app-sidebar-overlay{display:none}.lut-chat-page{padding-bottom:22px}.lut-chat-layout.rich{align-items:stretch}.lut-chat-sidebar-card,.lut-chat-main-card{min-height:calc(100vh - 180px)}.lut-conversation-list.rich{max-height:calc(100vh - 280px);overflow:auto;padding-right:4px}.lut-conversation-card{display:flex;gap:12px;align-items:center}.lut-conversation-avatar,.lut-chat-person-avatar{border-radius:50%;flex:0 0 auto}.lut-conversation-copy{display:grid}.lut-chat-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.15)}.lut-chat-person{display:flex;align-items:center;gap:14px}.lut-chat-person h1{margin:0;font-size:1.45rem}.lut-chat-person p{margin:2px 0 0;opacity:.8}.lut-chat-box.rich{height:calc(100vh - 360px);min-height:380px;background:#f4f4f4;border:1px solid rgba(0,0,0,.06)}.lut-chat-composer.rich{background:#ffffff14;border-radius:22px;padding:14px;margin-top:14px}.lut-chat-textarea{min-height:92px;max-height:140px}.lut-chat-toolbar.rich{justify-content:flex-end}.lut-chat-upload-label{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:#efefef;color:#202020;font-weight:700;cursor:pointer}.lut-chat-row{display:flex;margin-bottom:12px}.lut-chat-row.me{justify-content:flex-end}.lut-chat-row.them{justify-content:flex-start}.lut-chat-bubble{box-shadow:0 8px 16px rgba(0,0,0,.06)}.lut-chat-bubble p{margin:0}.lut-chat-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.lut-profile-field-full{grid-column:1/-1}
@media (max-width:1024px){.lut-app-mobile-toggle{display:inline-flex}.lut-app-sidebar{position:fixed;left:0;top:0;height:100vh;z-index:1003;max-width:320px;width:min(86vw,320px);border-radius:0;transform:translateX(-104%);transition:transform .24s ease;overflow:auto}.lut-app-sidebar.is-open{transform:translateX(0)}.lut-app-sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.32);z-index:1001}.lut-app-frame{grid-template-columns:1fr}.lut-chat-sidebar-card,.lut-chat-main-card{min-height:auto}.lut-chat-box.rich{height:52vh;min-height:320px}}
@media (max-width:700px){.lut-chat-header{align-items:flex-start;flex-direction:column}.lut-booking-card-grid{grid-template-columns:1fr}.lut-chat-toolbar.rich{justify-content:flex-start}.lut-chat-bubble{max-width:88%}}

.site-footer-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
    align-items: start;
    gap: 20px;
}

.site-footer-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.lut-install-prompt {
    position: static;
    display: block;
    width: 100%;
}

.lut-install-prompt[hidden] {
    display: none !important;
}

.lut-install-prompt__card {
    width: 100%;
    background: #7a7a7a;
    border: 0;
    border-radius: 30px;
    box-shadow: 0 14px 28px rgba(0,0,0,0.12);
    padding: 18px 20px;
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    color: #fff;
}

.lut-install-prompt__brand {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.lut-install-prompt__logo {
    flex: 0 0 auto;
}

.lut-install-prompt__logo a,
.lut-install-prompt__logo img {
    display: block;
}

.lut-install-prompt__logo .custom-logo-link,
.lut-install-prompt__logo-link {
    width: 68px;
    height: 68px;
    border-radius: 22px;
    background: #fff;
    display: grid !important;
    place-items: center;
    overflow: hidden;
    padding: 8px;
}

.lut-install-prompt__logo .custom-logo,
.lut-install-prompt__logo-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.lut-install-prompt__text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: #fff;
}

.lut-install-prompt__text strong {
    font-size: 1.25rem;
    line-height: 1.05;
}

.lut-install-prompt__text span {
    font-size: 0.95rem;
    color: rgba(255,255,255,0.86);
}

.lut-install-prompt__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.lut-install-btn {
    border: 0;
    border-radius: 999px;
    padding: 12px 18px;
    font-weight: 700;
    cursor: pointer;
    min-width: 104px;
}

.lut-install-btn--primary {
    background: var(--lut-green);
    color: #fff;
}

.lut-install-btn--ghost {
    background: rgba(255,255,255,0.18);
    color: #fff;
}

@media (max-width: 900px) {
    .site-footer-inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .site-footer-meta,
    .lut-install-prompt__card,
    .lut-install-prompt__brand {
        flex-direction: column;
        align-items: stretch;
    }

    .lut-install-prompt__logo {
        align-self: flex-start;
    }

    .lut-install-prompt__actions {
        width: 100%;
        justify-content: stretch;
    }

    .lut-install-btn {
        flex: 1 1 auto;
    }
}


/* LadderUp subject cards */
.lut-subject-feedback{max-width:1100px;margin:0 auto 20px;background:#7dd756;color:#17390b;border-radius:26px;padding:14px 20px;font-weight:700}
.lut-subject-grid{width:min(100%,1100px);margin:0 auto;display:grid;gap:28px}.lut-subject-card{background:#ececec;border-radius:38px;padding:30px;box-shadow:0 16px 34px rgba(0,0,0,.08);display:grid;gap:22px}.lut-subject-card-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,340px);gap:20px;align-items:center}.lut-subject-name-pill,.lut-subject-rating-pill,.lut-subject-description-card,.lut-subject-button{border-radius:34px}.lut-subject-name-pill{padding:24px 30px;color:#fff;font-size:clamp(1.8rem,3vw,3rem);line-height:1.05;font-weight:800;text-align:center;background:#7dd756}.lut-subject-name-pill.grey{background:#7b7b7b}.lut-subject-rating-pill{background:#7b7b7b;color:#fff;padding:18px 24px;display:grid;gap:8px;justify-items:start}.lut-subject-rating-label{font-size:1.25rem;font-weight:700}.lut-subject-stars{display:flex;gap:8px;font-size:2rem;line-height:1;color:#ffbf00}.lut-subject-star{color:#9da3a6}.lut-subject-star.is-full,.lut-subject-star.is-half{color:#ffbf00}.lut-subject-main{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:28px;align-items:start}.lut-subject-image-wrap{display:flex;justify-content:center}.lut-subject-image{width:min(100%,280px);aspect-ratio:1/1;object-fit:cover;border-radius:50%;background:#d9ebf5}.lut-subject-description-card{background:#7b7b7b;color:#fff;padding:34px 32px;display:grid;gap:18px;min-height:100%}.lut-subject-description-card h3{margin:0;font-size:2rem;line-height:1.1}.lut-subject-description-card p{margin:0}.lut-subject-tagline{font-size:1.12rem;font-weight:700}.lut-subject-copy{display:grid;gap:12px}.lut-subject-copy p{margin:0;line-height:1.65}.lut-subject-learn-wrap strong{display:block;margin-bottom:10px;font-size:1.05rem}.lut-subject-learn-list{margin:0;padding-left:20px;display:grid;gap:8px}.lut-subject-price{display:grid;gap:6px;margin-top:8px}.lut-subject-price span{font-size:1.1rem;opacity:.95}.lut-subject-price strong{font-size:2rem;line-height:1.1}.lut-subject-action{margin-top:18px}.lut-subject-button{display:inline-flex;align-items:center;justify-content:center;background:#7dd756;color:#fff;text-decoration:none;border:none;padding:18px 28px;font-size:1.05rem;font-weight:800;cursor:pointer;box-shadow:0 10px 20px rgba(0,0,0,.1);min-width:220px}.lut-subject-button.is-selected{background:#4d4d4d}.lut-subject-button:hover{transform:translateY(-1px)}
@media (max-width: 900px){.lut-subject-card-top,.lut-subject-main{grid-template-columns:1fr}.lut-subject-rating-pill{justify-items:center}.lut-subject-image{width:min(100%,240px)}.lut-subject-description-card{padding:28px 24px}.lut-subject-button{width:100%}}


/* ==========================================
   2026 visual refresh: playful pill-based UI
   ========================================== */
:root {
    --lut-green: #7ed957;
    --lut-green-dark: #69c245;
    --lut-grey: #7a7a7a;
    --lut-grey-dark: #5f5f5f;
    --lut-bg: #efefef;
    --lut-soft-blue: #dff2ff;
    --lut-soft-field: #f4f4f4;
    --lut-display-font: "Baloo 2", "Trebuchet MS", Arial, sans-serif;
    --lut-hand-font: "Patrick Hand", "Comic Sans MS", cursive;
    --lut-shadow-soft: 0 12px 26px rgba(0, 0, 0, 0.09);
    --lut-shadow-medium: 0 18px 38px rgba(0, 0, 0, 0.13);
    --lut-radius-card: 38px;
    --lut-radius-soft: 28px;
    --lut-radius-pill: 999px;
}

body {
    background: var(--lut-bg);
    color: #242424;
    font-family: var(--lut-hand-font);
    font-size: 1.1rem;
    letter-spacing: 0.01em;
}

#page.site {
    overflow-x: hidden;
}

button,
input,
select,
textarea {
    font: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
.lut-title-pill,
.lut-section-pill,
.lut-sign-role,
.lut-sign-btn,
.lut-header-btn,
.lut-app-pill,
.lut-register-top-pill,
.lut-register-field label,
.lut-register-submit,
.lut-dashboard-title h1,
.lut-dashboard-content h2,
.lut-dashboard-name,
.lut-dashboard-action h3,
.lut-online-page .lut-online-heading,
.lut-online-page .lut-online-card-title,
.lut-public-name-pill h1,
.lut-public-rating-label,
.lut-public-bio-card h2,
.lut-public-price,
.lut-profile-page .lut-profile-pill,
.lut-profile-page .lut-profile-card h2,
.lut-profile-page .lut-profile-session-card h2,
.lut-profile-page .lut-profile-review-card h2,
.lut-profile-page .lut-profile-button,
.lut-learner-page .lut-learner-name-pill,
.lut-learner-page .lut-learner-grade-pill,
.lut-learner-page .lut-learner-section-title,
.lut-learner-page .lut-learner-list-title,
.lut-login-page .lut-btn,
.lut-login-page .lut-secondary-btn,
.lut-login-page .lut-title-pill h1,
.lut-subject-name-pill,
.lut-subject-rating-label,
.lut-subject-description-card h3,
.lut-subject-button,
.lut-subject-heading-text,
.lut-subject-learn-title,
.lut-app-nav-link,
.lut-section-title h1,
.lut-section-title h2 {
    font-family: var(--lut-display-font) !important;
    letter-spacing: 0.01em;
}

p,
li,
small,
label,
.lut-find-copy,
.lut-about-box,
.lut-public-bio-copy,
.lut-profile-page .lut-profile-review-text,
.lut-profile-page .lut-profile-meta,
.lut-learner-page,
.lut-online-page .lut-online-card-body,
.lut-login-page,
.lut-app-card,
.lut-status-message {
    font-family: var(--lut-hand-font);
}

.site-header-inner {
    width: min(100% - 28px, 1280px);
    padding: 14px 18px;
    background: rgba(255, 255, 255, 0.45);
    border-radius: var(--lut-radius-pill);
    box-shadow: var(--lut-shadow-soft);
    backdrop-filter: blur(8px);
}

.lut-header-text-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 74px;
    padding: 10px 30px;
    border-radius: var(--lut-radius-pill);
    background: var(--lut-green);
    color: #fff;
    font-family: var(--lut-display-font);
    font-size: clamp(1.5rem, 2vw, 2rem);
    box-shadow: var(--lut-shadow-soft);
}

.lut-header-actions {
    gap: 16px;
}

.lut-header-btn {
    min-width: 190px;
    min-height: 60px;
    padding: 12px 26px;
    border-radius: var(--lut-radius-pill);
    background: var(--lut-green);
    color: #fff;
    box-shadow: var(--lut-shadow-soft);
}

.lut-header-btn-badge {
    position: relative;
    padding-right: 40px;
}

.lut-badge {
    background: #2a2a2a;
    color: #fff;
    font-family: var(--lut-display-font);
    min-width: 24px;
    height: 24px;
    top: 8px;
    right: 10px;
}

.lut-title-pill,
.lut-section-pill,
.lut-sign-role,
.lut-sign-btn,
.lut-register-top-pill,
.lut-register-submit,
.lut-app-pill,
.lut-profile-page .lut-profile-button,
.lut-login-page .lut-btn,
.lut-login-page .lut-secondary-btn,
.lut-online-page .lut-online-more {
    border-radius: var(--lut-radius-pill) !important;
}

.lut-title-pill,
.lut-section-pill,
.lut-sign-btn,
.lut-register-top-pill,
.lut-register-submit,
.lut-app-pill,
.lut-profile-page .lut-profile-button,
.lut-login-page .lut-btn {
    background: var(--lut-green);
    color: #fff !important;
    box-shadow: var(--lut-shadow-soft);
}

.lut-app-pill.alt,
.lut-login-page .lut-secondary-btn {
    background: #4f4f4f !important;
    color: #fff !important;
}

.lut-about-box,
.lut-register-card,
.lut-panel,
.lut-app-card,
.lut-dashboard-panel,
.lut-online-page .lut-online-shell,
.lut-public-rating-card,
.lut-public-message-tab,
.lut-public-bio-card,
.lut-profile-page .lut-profile-rating,
.lut-profile-page .lut-profile-card,
.lut-profile-page .lut-profile-session-card,
.lut-profile-page .lut-profile-review-card,
.lut-profile-page .lut-profile-photo-card,
.lut-learner-page .lut-learner-bio-card,
.lut-learner-page .lut-learner-list-card,
.lut-learner-page .lut-learner-inner-board,
.lut-learner-page .lut-learner-section,
.lut-subject-description-card,
.lut-subject-rating-pill {
    background: var(--lut-grey) !important;
    color: #fff !important;
    border-radius: var(--lut-radius-card) !important;
    box-shadow: var(--lut-shadow-medium) !important;
}

.entry-card,
.lut-install-prompt__card,
.lut-app-stat-tile,
.lut-booking-card,
.lut-empty-state,
.lut-conversation-card,
.lut-chat-box,
.lut-notice-mini,
.lut-slot-btn,
.lut-date-card,
.lut-form-input,
.lut-form-select,
.lut-form-textarea,
.lut-chat-upload-label,
.lut-register-success,
.lut-register-errors,
.lut-dashboard-card,
.lut-dashboard-stat,
.lut-dashboard-action,
.lut-profile-page .lut-profile-summary-card,
.lut-profile-page .lut-profile-session-item,
.lut-profile-page .lut-profile-review-item,
.lut-learner-page .lut-learner-stat,
.lut-learner-page .lut-learner-record,
.lut-learner-page .lut-learner-day,
.lut-learner-page .lut-learner-slot {
    border-radius: var(--lut-radius-soft) !important;
}

.entry-card,
.lut-install-prompt__card,
.lut-app-stat-tile,
.lut-booking-card,
.lut-empty-state,
.lut-conversation-card,
.lut-chat-box,
.lut-notice-mini,
.lut-slot-btn,
.lut-date-card,
.lut-form-input,
.lut-form-select,
.lut-form-textarea,
.lut-chat-upload-label,
.lut-profile-page .lut-profile-session-item,
.lut-profile-page .lut-profile-review-item,
.lut-learner-page .lut-learner-stat,
.lut-learner-page .lut-learner-record,
.lut-learner-page .lut-learner-day,
.lut-learner-page .lut-learner-slot {
    background: var(--lut-soft-field) !important;
    color: #242424 !important;
}

.lut-app-shell,
.lut-public-profile-page,
.lut-online-page,
.lut-profile-page,
.lut-login-page,
.lut-register-page-template {
    background: var(--lut-bg);
}

.lut-app-sidebar {
    background: var(--lut-grey-dark) !important;
    border-radius: var(--lut-radius-card) !important;
    box-shadow: var(--lut-shadow-medium) !important;
}

.lut-app-sidebar-top {
    border-bottom-color: rgba(255, 255, 255, 0.18);
}

.lut-app-sidebar-avatar,
.lut-avatar-xl,
.lut-public-avatar,
.lut-online-page .lut-online-avatar,
.lut-profile-page .lut-profile-photo-card img,
.lut-learner-page .lut-learner-photo img {
    background: var(--lut-soft-blue) !important;
}

.lut-app-nav-link {
    background: rgba(255, 255, 255, 0.08) !important;
    border-radius: 22px !important;
}

.lut-app-nav-link:hover,
.lut-app-nav-link.is-active {
    background: var(--lut-green) !important;
    color: #fff !important;
    transform: translateY(-1px);
}

.lut-app-stat-tile strong,
.lut-dashboard-stat strong {
    font-family: var(--lut-display-font);
    letter-spacing: 0.03em;
}

.lut-dashboard-title,
.lut-profile-page .lut-profile-pill,
.lut-learner-page .lut-learner-name-pill,
.lut-public-name-pill,
.lut-subject-name-pill {
    background: var(--lut-green) !important;
    color: #fff !important;
    box-shadow: var(--lut-shadow-medium) !important;
}

.lut-learner-page .lut-learner-grade-pill,
.lut-subject-name-pill.grey,
.lut-subject-rating-pill,
.lut-public-rating-card,
.lut-public-message-tab,
.lut-profile-page .lut-profile-rating {
    background: var(--lut-grey) !important;
}

.lut-form-input,
.lut-form-select,
.lut-form-textarea,
.lut-register-field input,
.lut-login-page input[type="text"],
.lut-login-page input[type="email"],
.lut-login-page input[type="password"] {
    border: 0 !important;
    background: var(--lut-soft-field) !important;
    color: #222 !important;
    padding: 14px 18px !important;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.04);
}

.lut-form-input:focus,
.lut-form-select:focus,
.lut-form-textarea:focus,
.lut-register-field input:focus,
.lut-login-page input[type="text"]:focus,
.lut-login-page input[type="email"]:focus,
.lut-login-page input[type="password"]:focus {
    outline: 3px solid rgba(126, 217, 87, 0.35);
    outline-offset: 2px;
}

.lut-chat-box.rich {
    border: 0 !important;
}

.lut-chat-bubble {
    border-radius: 24px !important;
}

.lut-chat-me {
    background: var(--lut-green) !important;
}

.lut-chat-them {
    background: #dcdcdc !important;
    color: #1f1f1f !important;
}

.lut-online-page .lut-online-shell {
    padding: 36px 42px 48px !important;
}

.lut-online-page .lut-online-heading {
    margin-bottom: 28px;
}

.lut-online-page .lut-online-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 10px 22px;
    text-decoration: none;
    background: var(--lut-green);
    color: #fff !important;
    margin-top: 14px;
    border-bottom: 0 !important;
}

.lut-public-message-tab,
.lut-public-rating-card,
.lut-public-bio-card,
.lut-public-name-pill {
    border-radius: 42px !important;
}

.lut-public-arrow {
    font-family: var(--lut-display-font);
}

.lut-profile-page .lut-profile-top-bar,
.lut-profile-page .lut-profile-hero,
.lut-profile-page .lut-profile-middle,
.lut-profile-page .lut-profile-footer,
.lut-learner-page .lut-learner-top,
.lut-learner-page .lut-learner-hero,
.lut-learner-page .lut-learner-content-grid {
    gap: 24px !important;
}

.lut-profile-page .lut-profile-meta-block,
.lut-learner-page .lut-learner-list li {
    font-family: var(--lut-hand-font);
}

.lut-profile-page .lut-profile-session-status,
.lut-booking-card-status,
.lut-learner-page .lut-learner-badge,
.lut-slot-btn.is-active,
.lut-date-card.is-active {
    background: #bdeea7 !important;
    color: #225116 !important;
}

.lut-login-page .lut-panel,
.lut-register-card {
    max-width: 820px;
    margin-inline: auto;
}

.lut-login-page .lut-home-link {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.site-footer-inner {
    padding: 20px 24px 28px;
    background: rgba(255, 255, 255, 0.45);
    border-radius: 28px;
    box-shadow: var(--lut-shadow-soft);
    color: #565656;
}

.footer-menu a,
.primary-menu a {
    font-family: var(--lut-display-font);
}


@media (max-width: 1024px) {
    .site-header-inner {
        border-radius: 34px;
        padding: 18px;
    }

    .lut-header-btn {
        min-width: 0;
        width: 100%;
        max-width: 280px;
    }

    .lut-online-page .lut-online-shell {
        padding: 28px 22px 30px !important;
    }
}

@media (max-width: 640px) {
    body {
        font-size: 1rem;
    }

    .site-header-inner,
    .site-footer-inner {
        width: min(100% - 20px, 1280px);
    }

    .lut-title-pill,
    .lut-section-pill,
    .lut-register-top-pill,
    .lut-dashboard-title,
    .lut-learner-page .lut-learner-name-pill,
    .lut-learner-page .lut-learner-grade-pill {
        border-radius: 30px !important;
    }

    .lut-about-box,
    .lut-register-card,
    .lut-app-card,
    .lut-app-sidebar,
    .lut-online-page .lut-online-shell,
    .lut-public-bio-card,
    .lut-profile-page .lut-profile-card,
    .lut-profile-page .lut-profile-session-card,
    .lut-profile-page .lut-profile-review-card,
    .lut-learner-page .lut-learner-bio-card,
    .lut-learner-page .lut-learner-inner-board,
    .lut-learner-page .lut-learner-list-card {
        border-radius: 28px !important;
    }
}
