/* =========================================================
   MASSAGECRIB — WELLNESS SESSION
   ========================================================= */

.mc-session-page {
    min-height: 100vh;
    padding: 55px 0 90px;
    background: #f6f2ec;
    color: #181514;
}

/* =========================================================
   HERO
   ========================================================= */

.mc-session-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 38px;
}

.mc-session-eyebrow {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 12px;

    color: #967342;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.mc-session-eyebrow span {
    width: 22px;
    height: 1px;
    background: #b79661;
}

.mc-session-hero h1 {
    margin: 0;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(42px, 6vw, 68px);
    font-weight: 600;
    line-height: .95;
    color: #181514;
}

.mc-session-hero p {
    max-width: 580px;
    margin: 18px 0 0;

    color: #746d67;
    font-size: 14px;
    line-height: 1.7;
}

.mc-session-hero-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.mc-session-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 9px 13px;
    border: 1px solid #d8cbbd;
    border-radius: 100px;

    background: #fffdfa;

    color: #746d67;
    font-size: 11px;
    font-weight: 700;
    text-transform: capitalize;
}

.mc-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #967342;
}

.mc-session-status.is-confirmed .mc-status-dot {
    background: #55745a;
}

.mc-session-status.is-failed .mc-status-dot {
    background: #9b5a50;
}

.mc-session-logout {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    border: 0;
    background: transparent;

    color: #746d67;

    font-size: 12px;
    font-weight: 600;

    cursor: pointer;
}

.mc-session-logout:hover {
    color: #181514;
}

/* =========================================================
   RESERVATION CARD
   ========================================================= */

.mc-reservation-card {
    padding: 30px;
    margin-bottom: 20px;

    background: #fffdfa;
    border: 1px solid #e7dfd5;
    border-radius: 22px;

    box-shadow: 0 15px 45px rgba(40, 30, 20, .05);
}

.mc-reservation-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 25px;
    padding-bottom: 25px;
    border-bottom: 1px solid #eee7df;
}

.mc-card-label {
    display: block;
    margin-bottom: 7px;

    color: #967342;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.mc-reservation-heading h2,
.mc-section-heading h2 {
    margin: 0;

    font-family: "Cormorant Garamond", serif;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.1;
}

.mc-booking-reference {
    text-align: right;
}

.mc-booking-reference span {
    display: block;
    margin-bottom: 5px;

    color: #9b938b;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.mc-booking-reference strong {
    color: #5f4930;

    font-size: 13px;
    letter-spacing: 1px;
}

.mc-reservation-details {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    padding-top: 25px;
}

.mc-reservation-detail {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 5px 25px;
    border-right: 1px solid #eee7df;
}

.mc-reservation-detail:first-child {
    padding-left: 0;
}

.mc-reservation-detail:last-child {
    border-right: 0;
}

.mc-detail-icon {
    width: 38px;
    height: 38px;
    flex-shrink: 0;

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

    border-radius: 50%;
    background: #f4eee6;

    color: #967342;
}

.mc-reservation-detail span {
    display: block;
    margin-bottom: 4px;

    color: #a19a93;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.2px;
}

.mc-reservation-detail strong {
    color: #2a2521;
    font-size: 13px;
    font-weight: 600;
}

/* =========================================================
   MAIN GRID
   ========================================================= */

.mc-session-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 55px;
}

.mc-session-card {
    padding: 27px;

    background: #fffdfa;
    border: 1px solid #e7dfd5;
    border-radius: 20px;

    box-shadow: 0 12px 35px rgba(40, 30, 20, .035);
}

.mc-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 25px;
}

.mc-card-top h3 {
    margin: 0;

    font-family: "Cormorant Garamond", serif;
    font-size: 26px;
    font-weight: 600;
}

.mc-card-icon {
    width: 40px;
    height: 40px;

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

    border-radius: 50%;
    background: #f4eee6;

    color: #967342;
}

/* =========================================================
   PAYMENT
   ========================================================= */

.mc-payment-total {
    padding: 19px 20px;
    margin-bottom: 14px;

    border-radius: 14px;
    background: #f6f2ec;
}

.mc-payment-total span {
    display: block;
    margin-bottom: 5px;

    color: #8e867f;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.mc-payment-total strong {
    color: #181514;

    font-family: "Cormorant Garamond", serif;
    font-size: 30px;
    font-weight: 600;
}

.mc-payment-lines {
    border-top: 1px solid #eee7df;
    border-bottom: 1px solid #eee7df;
}

.mc-payment-lines > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 13px 0;
}

.mc-payment-lines span {
    color: #746d67;
    font-size: 12px;
}

.mc-payment-lines strong {
    color: #302a25;
    font-size: 13px;
}

.mc-payment-status {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
}

.mc-payment-status-icon {
    width: 34px;
    height: 34px;
    flex-shrink: 0;

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

    border-radius: 50%;
    background: #f4eee6;
    color: #967342;
}

.mc-payment-status strong {
    display: block;
    margin-bottom: 2px;

    color: #302a25;
    font-size: 12px;
}

.mc-payment-status span {
    color: #928a83;
    font-size: 10px;
}

.mc-payment-action {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;
    min-height: 46px;
    padding: 0 17px;
    margin-top: 20px;

    border-radius: 10px;
    background: #181514;

    color: #fffdfa;
    text-decoration: none;

    font-size: 11px;
    font-weight: 700;

    transition: .25s ease;
}

.mc-payment-action:hover {
    background: #5f4930;
    color: #fffdfa;
}

.mc-payment-action i {
    transition: transform .25s ease;
}

.mc-payment-action:hover i {
    transform: translateX(3px);
}

/* =========================================================
   STATUS PANEL
   ========================================================= */

.mc-status-panel {
    display: flex;
    align-items: flex-start;
    gap: 15px;

    padding: 20px;

    border-radius: 15px;
    background: #f6f2ec;
}

.mc-status-panel-icon {
    width: 42px;
    height: 42px;
    flex-shrink: 0;

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

    border-radius: 50%;
    background: #fffdfa;

    color: #967342;
}

.mc-status-panel strong {
    display: block;
    margin: 2px 0 6px;

    color: #302a25;
    font-size: 14px;
}

.mc-status-panel p {
    margin: 0;

    color: #746d67;
    font-size: 11px;
    line-height: 1.6;
}

.mc-concierge-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;

    margin-top: 20px;

    color: #8d857e;
    font-size: 10px;
    line-height: 1.6;
}

.mc-concierge-note i {
    margin-top: 2px;
    color: #b79661;
}

/* =========================================================
   THERAPISTS
   ========================================================= */

.mc-therapist-section {
    margin-bottom: 55px;
}

.mc-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 20px;
}

.mc-section-heading p {
    margin: 0 0 3px;

    color: #8e867f;
    font-size: 11px;
}

.mc-therapist-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.mc-therapist-card {
    overflow: hidden;

    background: #fffdfa;
    border: 1px solid #e7dfd5;
    border-radius: 20px;

    box-shadow: 0 12px 35px rgba(40, 30, 20, .04);
}

.mc-therapist-image-wrap {
    position: relative;
    height: 300px;
    overflow: hidden;
    background: #e9e0d5;
}

.mc-therapist-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mc-verified-badge {
    position: absolute;
    left: 15px;
    bottom: 15px;

    display: inline-flex;
    align-items: center;
    gap: 6px;

    padding: 7px 10px;

    border: 1px solid rgba(255,255,255,.35);
    border-radius: 100px;

    background: rgba(24, 21, 20, .72);
    backdrop-filter: blur(10px);

    color: #fffdfa;

    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1px;
}

.mc-verified-badge i {
    color: #d6bd91;
}

/* Premium fallback avatar */

.mc-therapist-fallback {
    position: relative;

    width: 100%;
    height: 100%;

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

    overflow: hidden;

    background:
        radial-gradient(
            circle at 50% 32%,
            rgba(183, 150, 97, .20),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            #f8f3ec 0%,
            #e8ddd0 50%,
            #d4c2ad 100%
        );
}

.mc-therapist-fallback-ring {
    position: relative;
    z-index: 2;

    width: 125px;
    height: 125px;

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

    border-radius: 50%;

    background: linear-gradient(
        145deg,
        #fffdfa,
        #e9dfd1
    );

    border: 1px solid rgba(150, 115, 66, .35);

    box-shadow:
        0 20px 45px rgba(50, 35, 20, .15),
        inset 0 0 0 9px rgba(255,255,255,.4);
}

.mc-therapist-fallback-ring::before {
    content: "";

    position: absolute;
    inset: 8px;

    border-radius: 50%;

    border: 1px solid rgba(150,115,66,.23);
}

.mc-therapist-fallback-ring span {
    position: relative;
    z-index: 3;

    color: #6e5537;

    font-family: "Cormorant Garamond", serif;
    font-size: 44px;
    font-weight: 600;
    letter-spacing: 2px;
}

.mc-therapist-fallback-glow {
    position: absolute;

    width: 220px;
    height: 220px;

    border-radius: 50%;

    background: rgba(183,150,97,.12);

    filter: blur(40px);
}

.mc-therapist-info {
    padding: 21px 23px 24px;
}

.mc-therapist-label {
    display: block;
    margin-bottom: 5px;

    color: #967342;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.mc-therapist-info h3 {
    margin: 0 0 5px;

    color: #181514;

    font-family: "Cormorant Garamond", serif;
    font-size: 27px;
    font-weight: 600;
}

.mc-therapist-info p {
    margin: 0;

    color: #837b74;
    font-size: 11px;
}

/* =========================================================
   NO THERAPIST
   ========================================================= */

.mc-no-therapist {
    display: flex;
    align-items: center;
    gap: 15px;

    grid-column: 1 / -1;

    padding: 24px;

    border: 1px dashed #d8cbbd;
    border-radius: 18px;

    background: rgba(255,253,250,.55);
}

.mc-no-therapist-icon {
    width: 45px;
    height: 45px;
    flex-shrink: 0;

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

    border-radius: 50%;
    background: #f4eee6;

    color: #967342;
}

.mc-no-therapist strong {
    display: block;
    margin-bottom: 4px;

    color: #302a25;
    font-size: 13px;
}

.mc-no-therapist p {
    margin: 0;

    color: #8b837c;
    font-size: 11px;
}

/* =========================================================
   FOOTER
   ========================================================= */

.mc-session-footer {
    display: flex;
    align-items: center;
    gap: 17px;

    max-width: 760px;
    margin: 0 auto;

    padding: 24px 27px;

    border: 1px solid #e3d9ce;
    border-radius: 18px;

    background: rgba(255,253,250,.55);
}

.mc-session-footer-icon {
    width: 43px;
    height: 43px;
    flex-shrink: 0;

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

    border-radius: 50%;

    background: #f4eee6;
    color: #967342;
}

.mc-session-footer p {
    margin: 0;

    color: #807870;
    font-size: 11px;
    line-height: 1.7;
}

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

@media (max-width: 767px) {

    .mc-session-page {
        padding: 30px 0 60px;
    }

    .mc-session-hero {
        display: block;
        margin-bottom: 25px;
    }

    .mc-session-hero h1 {
        font-size: 45px;
    }

    .mc-session-hero p {
        font-size: 12px;
        margin-top: 14px;
    }

    .mc-session-hero-actions {
        justify-content: space-between;
        margin-top: 22px;
    }

    .mc-reservation-card {
        padding: 20px;
        border-radius: 17px;
    }

    .mc-reservation-heading {
        display: block;
    }

    .mc-booking-reference {
        margin-top: 18px;
        text-align: left;
    }

    .mc-reservation-details {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .mc-reservation-detail,
    .mc-reservation-detail:first-child {
        padding: 0;
        border-right: 0;
    }

    .mc-session-grid {
        grid-template-columns: 1fr;
        gap: 15px;
        margin-bottom: 45px;
    }

    .mc-session-card {
        padding: 21px;
        border-radius: 17px;
    }

    .mc-section-heading {
        display: block;
    }

    .mc-section-heading p {
        margin-top: 8px;
    }

    .mc-therapist-grid {
        grid-template-columns: 1fr;
    }

    .mc-therapist-image-wrap {
        height: 330px;
    }

    .mc-session-footer {
        align-items: flex-start;
        padding: 20px;
    }
}

































   /* =========================================
   SERVICE PAGE — SELECTED THERAPIST AVATAR
   ========================================= */

.selected-avatar {
    width: 58px;
    height: 58px;
    min-width: 58px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

/* No-photo premium avatar */
.selected-avatar-fallback {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 50% 30%,
            rgba(183, 150, 97, 0.22),
            transparent 45%
        ),
        linear-gradient(
            145deg,
            #f8f3ec 0%,
            #e8ddd0 50%,
            #d7c6b3 100%
        );

    border: 1px solid rgba(183, 150, 97, 0.35);

    /* box-shadow:
        0 8px 20px rgba(50, 35, 20, 0.12),
        inset 0 0 0 4px rgba(255, 255, 255, 0.35); */

    color: #6e5537;

    font-family: "Cormorant Garamond", serif;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 1px;
}

/* Inner luxury ring */
.selected-avatar-fallback::before {
    content: "";
    position: absolute;
    inset: 5px;

    border-radius: 50%;

    border: 1px solid rgba(150, 115, 66, 0.25);
}

/* Soft glow */
.selected-avatar-fallback::after {
    content: "";
    position: absolute;

    width: 45px;
    height: 45px;

    border-radius: 50%;

    background: rgba(183, 150, 97, 0.12);

    filter: blur(14px);

    pointer-events: none;
}



































  .mc-therapist-photo-wrap {
    position: relative;
    width: 100%;
    height: 260px;
    overflow: hidden;
    border-radius: 18px;
}

.mc-therapist-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mc-avatar-fallback {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 50% 35%,
            rgba(183, 150, 97, 0.18),
            transparent 38%
        ),
        linear-gradient(
            145deg,
            #f5efe7 0%,
            #e8ded1 48%,
            #d8c9b8 100%
        );
}

.mc-avatar-ring {
    position: relative;
    z-index: 2;
    width: 112px;
    height: 112px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            145deg,
            #fffdf9,
            #e9dfd1
        );

    border: 1px solid rgba(150, 115, 66, 0.35);

    box-shadow:
        0 18px 45px rgba(50, 35, 20, 0.15),
        inset 0 0 0 8px rgba(255, 255, 255, 0.35);
}

.mc-avatar-ring::before {
    content: "";
    position: absolute;
    inset: 7px;
    border-radius: 50%;
    border: 1px solid rgba(150, 115, 66, 0.22);
}

.mc-avatar-ring span {
    position: relative;
    z-index: 2;

    font-family: "Cormorant Garamond", serif;
    font-size: 42px;
    font-weight: 600;
    letter-spacing: 2px;
    color: #6e5537;
}

.mc-avatar-glow {
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 50%;

    background: rgba(183, 150, 97, 0.12);

    filter: blur(35px);
}





































   :root {
            --mc-ink: #181514;
            --mc-muted: #746d67;
            --mc-cream: #f6f2ec;
            --mc-paper: #fffdfa;
            --mc-line: #e7dfd5;
            --mc-gold: #b79661;
            --mc-gold-dark: #967342;
        }

        * {
            box-sizing: border-box;
        }

        html,
        body {
            margin: 0;
            min-height: 100%;
        }

        body {
            background: var(--mc-cream);
            color: var(--mc-ink);
            font-family: 'Inter', sans-serif;
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        /* =========================================
           MAIN LAYOUT
        ========================================= */

        .mc-register {
            min-height: 100vh;
            display: grid;
            grid-template-columns: 1.05fr .95fr;
        }

        /* =========================================
           LEFT VISUAL
        ========================================= */

        .mc-register-visual {
            position: relative;
            min-height: 100vh;
            overflow: hidden;

            background:
                linear-gradient(
                    145deg,
                    rgba(20, 16, 13, .92),
                    rgba(52, 40, 27, .72)
                ),
                url('/images/login.jpg') center / cover no-repeat;
        }

        .mc-register-visual::after {
            content: '';
            position: absolute;
            inset: 0;

            background:
                radial-gradient(
                    circle at 75% 25%,
                    rgba(206, 171, 111, .18),
                    transparent 35%
                );

            pointer-events: none;
        }

        .mc-visual-inner {
            position: relative;
            z-index: 2;

            min-height: 100vh;
            padding: 42px 48px;

            display: flex;
            flex-direction: column;
            justify-content: space-between;

            color: #fff;
        }

        /* =========================================
           BRAND
        ========================================= */

        .mc-brand {
            display: inline-flex;
            align-items: center;
            gap: 13px;
            width: fit-content;
        }

        .mc-brand-mark {
            width: 43px;
            height: 43px;

            border: 1px solid rgba(255, 255, 255, .38);
            border-radius: 50%;

            display: grid;
            place-items: center;

            font-family: 'Cormorant Garamond', serif;
            font-size: 24px;
        }

        .mc-brand-name {
            font-size: 14px;
            font-weight: 700;
            letter-spacing: .18em;
            text-transform: uppercase;
        }

        /* =========================================
           VISUAL COPY
        ========================================= */

        .mc-visual-copy {
            max-width: 530px;
            padding-bottom: 8vh;
        }

        .mc-eyebrow {
            color: #d1b27c;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: .22em;
            text-transform: uppercase;
            margin-bottom: 18px;
        }

        .mc-visual-title {
            margin: 0;

            font-family: 'Cormorant Garamond', serif;
            font-size: clamp(52px, 5vw, 78px);
            font-weight: 500;
            line-height: .91;
            letter-spacing: -.025em;
        }

        .mc-visual-description {
            max-width: 430px;
            margin: 25px 0 0;

            color: rgba(255, 255, 255, .72);

            font-size: 14px;
            line-height: 1.8;
        }

        .mc-visual-footer {
            color: rgba(255, 255, 255, .45);

            font-size: 10px;
            letter-spacing: .1em;
            text-transform: uppercase;
        }

        /* =========================================
           FORM PANEL
        ========================================= */

        .mc-register-panel {
            min-height: 100vh;

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

            padding: 45px;

            background: var(--mc-paper);
        }

        .mc-register-box {
            width: min(455px, 100%);
        }

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

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

        /* =========================================
           FORM HEADING
        ========================================= */

        .mc-form-heading {
            margin-bottom: 32px;
        }

        .mc-form-eyebrow {
            color: var(--mc-gold-dark);

            font-size: 10px;
            font-weight: 800;
            letter-spacing: .18em;
            text-transform: uppercase;

            margin-bottom: 10px;
        }

        .mc-form-title {
            margin: 0;

            font-family: 'Cormorant Garamond', serif;
            font-size: 48px;
            font-weight: 600;
            line-height: .95;
            letter-spacing: -.015em;
        }

        .mc-form-subtitle {
            max-width: 390px;

            margin: 14px 0 0;

            color: var(--mc-muted);

            font-size: 13px;
            line-height: 1.7;
        }

        /* =========================================
           FORM GRID
        ========================================= */

        .mc-form-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0 14px;
        }

        .mc-field {
            margin-bottom: 18px;
        }

        .mc-field-full {
            grid-column: 1 / -1;
        }

        .mc-label {
            display: block;

            margin-bottom: 8px;

            color: #514b46;

            font-size: 10px;
            font-weight: 800;
            letter-spacing: .1em;
            text-transform: uppercase;
        }

        .mc-input-wrap {
            position: relative;
        }

        .mc-input {
            width: 100%;
            height: 52px;

            border: 1px solid var(--mc-line);
            border-radius: 11px;

            background: #fff;

            padding: 0 15px;

            color: var(--mc-ink);

            font-family: 'Inter', sans-serif;
            font-size: 13px;

            outline: none;

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

        .mc-input:focus {
            border-color: var(--mc-gold);

            box-shadow:
                0 0 0 3px rgba(183, 150, 97, .10);
        }

        .mc-input::placeholder {
            color: #aaa39d;
        }

        /* =========================================
           PASSWORD
        ========================================= */

        .mc-password-toggle {
            position: absolute;

            top: 50%;
            right: 13px;

            transform: translateY(-50%);

            border: 0;
            background: transparent;

            color: var(--mc-muted);

            cursor: pointer;

            font-family: 'Inter', sans-serif;
            font-size: 10px;
            font-weight: 800;

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

        .mc-password-toggle:hover {
            color: var(--mc-ink);
        }

        /* =========================================
           ERRORS
        ========================================= */

        .mc-error {
            margin-top: 7px;

            color: #a04f4f;

            font-size: 11px;
            line-height: 1.5;
        }

        .mc-error-summary {
            margin-bottom: 20px;

            padding: 12px 14px;

            border: 1px solid #ead2d2;
            border-radius: 11px;

            background: #fbf2f2;

            color: #8f4848;

            font-size: 11px;
            line-height: 1.5;
        }

        /* =========================================
           TERMS
        ========================================= */

        .mc-terms {
            display: flex;
            align-items: flex-start;

            gap: 9px;

            margin: 3px 0 23px;

            color: var(--mc-muted);

            font-size: 11px;
            line-height: 1.55;
        }

        .mc-terms input {
            width: 15px;
            height: 15px;

            margin: 1px 0 0;

            flex: 0 0 auto;

            accent-color: var(--mc-gold-dark);
        }

        .mc-terms label {
            cursor: pointer;
        }

        .mc-terms a {
            color: var(--mc-gold-dark);
            font-weight: 700;
        }

        .mc-terms a:hover {
            text-decoration: underline;
        }

        /* =========================================
           SUBMIT
        ========================================= */

        .mc-submit {
            width: 100%;
            height: 53px;

            border: 0;
            border-radius: 11px;

            background: var(--mc-ink);
            color: #fff;

            cursor: pointer;

            font-family: 'Inter', sans-serif;
            font-size: 11px;
            font-weight: 800;

            letter-spacing: .12em;
            text-transform: uppercase;

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

        .mc-submit:hover {
            transform: translateY(-1px);
            background: #2b2521;
        }

        /* =========================================
           LOGIN LINK
        ========================================= */

        .mc-login {
            margin-top: 27px;

            text-align: center;

            color: var(--mc-muted);

            font-size: 12px;
        }

        .mc-login a {
            color: var(--mc-gold-dark);
            font-weight: 700;
        }

        .mc-login a:hover {
            text-decoration: underline;
        }

        /* =========================================
           DIVIDER
        ========================================= */

        .mc-divider {
            display: flex;
            align-items: center;

            gap: 13px;

            margin: 28px 0;

            color: #aaa19a;

            font-size: 9px;

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

        .mc-divider::before,
        .mc-divider::after {
            content: '';

            height: 1px;

            flex: 1;

            background: var(--mc-line);
        }

        /* =========================================
           CONCIERGE
        ========================================= */

        .mc-concierge {
            padding: 15px 16px;

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

            background: #faf7f2;

            text-align: center;
        }

        .mc-concierge-title {
            margin-bottom: 4px;

            font-family: 'Cormorant Garamond', serif;
            font-size: 20px;
        }

        .mc-concierge-text {
            color: var(--mc-muted);

            font-size: 10px;
            line-height: 1.6;
        }

        /* =========================================
           RESPONSIVE
        ========================================= */

        @media (max-width: 850px) {

            .mc-register {
                display: block;
            }

            .mc-register-visual {
                display: none;
            }

            .mc-register-panel {
                min-height: 100vh;

                padding: 30px 22px;

                align-items: flex-start;
            }

            .mc-register-box {
                padding-top: 25px;
            }

            .mc-mobile-brand {
                display: flex;

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

                margin-bottom: 50px;
            }

            .mc-mobile-brand .mc-brand-mark {
                border-color: var(--mc-line);
                color: var(--mc-ink);
            }

            .mc-mobile-brand .mc-brand-name {
                color: var(--mc-ink);
            }

            .mc-form-title {
                font-size: 43px;
            }

            .mc-form-grid {
                grid-template-columns: 1fr;
                gap: 0;
            }

            .mc-field-full {
                grid-column: auto;
            }
        }

        @media (max-width: 450px) {

            .mc-register-panel {
                padding: 22px 18px;
            }

            .mc-register-box {
                padding-top: 15px;
            }

            .mc-mobile-brand {
                margin-bottom: 42px;
            }

            .mc-form-heading {
                margin-bottom: 28px;
            }

            .mc-form-title {
                font-size: 40px;
            }

            .mc-field {
                margin-bottom: 16px;
            }
        }







































 
        








        /* =========================================================
   MASSAGECRIB NAVBAR
   Original layout — Bolder Luxury Menu
========================================================= */

.lux-navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;

    z-index: 1000;

    padding: 20px 0;

    background: transparent;

    transition:
        background 0.3s ease,
        padding 0.3s ease,
        box-shadow 0.3s ease;
}

.lux-navbar.scrolled {
    padding: 14px 0;

    background: rgba(255, 253, 249, 0.94);

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    box-shadow:
        0 8px 30px rgba(30, 22, 16, 0.06);
}


/* =========================================================
   WRAPPER
========================================================= */

.nav-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;

    min-height: 55px;
}


/* =========================================================
   LOGO
   KEEPING YOUR ORIGINAL SIZE
========================================================= */

.nav-logo {
    display: flex;
    align-items: center;

    flex-shrink: 0;
}

.nav-logo img {
    display: block;

    width: 200px;
    height: auto;
}


/* =========================================================
   DESKTOP MENU
========================================================= */

.nav-links {
    display: flex;
    align-items: center;

    gap: 4px;

    margin-left: auto;
    margin-right: 25px;
}


/* =========================================================
   MENU LINK
========================================================= */

.nav-links a {
    position: relative;

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

    min-height: 42px;

    padding: 0 13px;

    color: #514a44;

    font-family: "Inter", sans-serif;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 0.015em;

    text-decoration: none;

    transition:
        color 0.25s ease,
        transform 0.25s ease;
}


/* =========================================================
   GOLD LINE
========================================================= */

.nav-links a::after {
    content: "";

    position: absolute;

    left: 13px;
    right: 13px;
    bottom: 4px;

    height: 2px;

    border-radius: 10px;

    background: #b79661;

    transform: scaleX(0);
    transform-origin: center;

    transition:
        transform 0.25s ease;
}

.nav-links a:hover {
    color: #181514;

    transform: translateY(-1px);
}

.nav-links a:hover::after {
    transform: scaleX(1);
}


/* =========================================================
   ACTIVE MENU ITEM
========================================================= */

.nav-links a.active {
    color: #181514;
}

.nav-links a.active::after {
    transform: scaleX(1);
}


/* =========================================================
   UNIQUE ACTIVE "GOLD DOT"
========================================================= */

.nav-links a.active::before {
    content: "";

    position: absolute;

    left: 50%;
    bottom: 1px;

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: #b79661;

    transform: translateX(-50%);

    z-index: 2;
}


/* =========================================================
   APPOINTMENT LINK
========================================================= */

.nav-links .appointment-link {
    margin-left: 7px;

    padding-left: 16px;

    color: #6b625a;
}


/* Vertical separator */

.nav-links .appointment-link::before {
    content: "";

    position: absolute;

    left: 0;
    top: 50%;

    width: 1px;
    height: 20px;

    background: rgba(150, 115, 66, 0.28);

    transform: translateY(-50%);
}


/* Remove normal gold underline */

.nav-links .appointment-link::after {
    display: none;
}


/* Appointment dot */

.appointment-dot {
    width: 6px;
    height: 6px;

    margin-right: 8px;

    border-radius: 50%;

    background: #b79661;

    box-shadow:
        0 0 0 4px rgba(183, 150, 97, 0.08);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.nav-links .appointment-link:hover .appointment-dot {
    transform: scale(1.25);

    box-shadow:
        0 0 0 5px rgba(183, 150, 97, 0.1);
}


/* =========================================================
   RIGHT SIDE
========================================================= */

.nav-right {
    display: flex;
    align-items: center;

    gap: 10px;

    flex-shrink: 0;
}


/* =========================================================
   DASHBOARD BUTTON
========================================================= */

.lux-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 42px;

    padding: 0 18px;

    border-radius: 30px;

    background: #181514;
    color: #ffffff;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.06em;

    text-decoration: none;

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}

.lux-btn:hover {
    color: #ffffff;

    background: #2b2521;

    transform: translateY(-1px);

    box-shadow:
        0 8px 20px rgba(24, 21, 20, 0.12);
}


/* =========================================================
   BOOK SESSION
========================================================= */

.appointment-header-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 42px;

    padding: 0 18px;

    border: 1px solid #967342;
    border-radius: 30px;

    background: #b79661;
    color: #ffffff;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 0.07em;

    text-decoration: none;

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}

.appointment-header-btn i {
    margin-right: 5px;
}

.appointment-header-btn:hover {
    color: #ffffff;

    background: #967342;

    transform: translateY(-1px);

    box-shadow:
        0 8px 20px rgba(150, 115, 66, 0.18);
}


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

.mobile-toggle {
    display: none;

    width: 42px;
    height: 42px;

    padding: 0;

    border: 1px solid #ddd3c8;
    border-radius: 50%;

    background: rgba(255, 253, 249, 0.92);

    color: #181514;

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

    cursor: pointer;
}

.mobile-toggle i {
    font-size: 15px;
}


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

@media (max-width: 767px) {

    .lux-navbar {
        padding: 14px 0;
    }

    .lux-navbar.scrolled {
        padding: 10px 0;
    }

    .nav-wrapper {
        min-height: 50px;
    }

    /* KEEP LOGO SIZE */
    .nav-logo img {
        width: 200px;
        max-width: 72vw;
    }

    .nav-links {
        display: none;
    }

    .desktop-btn,
    .appointment-header-btn {
        display: none !important;
    }

    .mobile-toggle {
        display: flex;
    }

}






















/* =========================================================
   MASSAGECRIB — THERAPIST PROFILE
========================================================= */

.mc-therapist-profile {
    background:
        radial-gradient(
            circle at 12% 8%,
            rgba(181, 145, 87, 0.08),
            transparent 28%
        ),
        #f8f5f0;
    color: #211b17;
    padding: 42px 0 100px;
}


/* =========================================================
   BACK
========================================================= */

.mc-profile-back {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #71675e;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.01em;
    margin-bottom: 26px;
    transition: all 0.25s ease;
}

.mc-profile-back:hover {
    color: #9b7440;
}

.mc-profile-back-icon {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(54, 43, 34, 0.12);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.65);
}


/* =========================================================
   HERO
========================================================= */

.mc-profile-hero {
    display: grid;
    grid-template-columns: minmax(300px, 380px) 1fr;
    gap: 52px;
    align-items: center;
    padding: 0 0 36px;
}


/* =========================================================
   MAIN PHOTO
========================================================= */

.mc-profile-hero-photo {
    position: relative;
    width: 100%;
}

.mc-profile-primary-photo {
    position: relative;
    display: block;
    width: 100%;
    height: 410px;
    padding: 0;
    border: 0;
    border-radius: 24px;
    overflow: hidden;
    cursor: zoom-in;
    background: #e9e1d8;
    box-shadow:
        0 22px 55px rgba(50, 37, 25, 0.13);
}

.mc-profile-primary-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            to top,
            rgba(24, 18, 13, 0.28),
            transparent 45%
        );
    pointer-events: none;
}

.mc-profile-primary-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}

.mc-profile-primary-photo:hover img {
    transform: scale(1.035);
}

.mc-profile-photo-zoom {
    position: absolute;
    left: 18px;
    bottom: 17px;
    z-index: 2;

    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 9px 13px;
    border-radius: 999px;

    color: #fff;
    background: rgba(24, 18, 13, 0.55);
    backdrop-filter: blur(12px);

    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.03em;
}

.mc-profile-photo-zoom i {
    font-size: 10px;
}


/* =========================================================
   VERIFIED BADGE
========================================================= */

.mc-profile-photo-badge {
    position: absolute;
    left: 18px;
    top: 18px;
    z-index: 3;

    display: inline-flex;
    align-items: center;
    gap: 7px;

    padding: 9px 13px;

    border-radius: 999px;

    background: rgba(255, 250, 242, 0.92);
    color: #72552f;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;

    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
}

.mc-profile-photo-badge i {
    color: #a47a3f;
}


/* =========================================================
   FALLBACK AVATAR
========================================================= */

.mc-profile-avatar-fallback {
    height: 410px;
    border-radius: 24px;
    background:
        radial-gradient(
            circle at center,
            rgba(184, 150, 94, 0.22),
            transparent 48%
        ),
        #e9e1d8;

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

    position: relative;
    overflow: hidden;
}

.mc-profile-avatar-ring {
    width: 150px;
    height: 150px;

    border-radius: 50%;

    border: 1px solid rgba(155, 116, 64, 0.45);

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

    background: rgba(255, 250, 242, 0.75);

    box-shadow:
        0 0 0 12px rgba(181, 145, 87, 0.06),
        0 20px 50px rgba(80, 54, 28, 0.12);
}

.mc-profile-avatar-ring span {
    color: #795b37;
    font-family: "Cormorant Garamond", serif;
    font-size: 58px;
    font-weight: 600;
}

.mc-profile-avatar-glow {
    position: absolute;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    border: 1px solid rgba(181, 145, 87, 0.12);
}


/* =========================================================
   HERO INFORMATION
========================================================= */

.mc-profile-hero-info {
    max-width: 700px;
}

.mc-profile-eyebrow,
.mc-section-eyebrow,
.mc-sidebar-eyebrow {
    color: #a27a43;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.mc-profile-name {
    margin: 9px 0 2px;
    color: #211a16;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(48px, 6vw, 76px);
    line-height: 0.95;
    font-weight: 500;
    letter-spacing: -0.025em;
}

.mc-profile-specialty {
    margin: 13px 0 0;
    color: #766b62;
    font-size: 15px;
    font-weight: 500;
}


/* =========================================================
   RATING
========================================================= */

.mc-profile-rating-row {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 24px;
}

.mc-profile-rating {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #29211b;
    font-size: 14px;
}

.mc-profile-rating-star {
    color: #a87939;
    font-size: 17px;
}

.mc-profile-rating-divider {
    width: 1px;
    height: 17px;
    background: rgba(40, 31, 23, 0.15);
}

.mc-profile-review-count {
    color: #7c736b;
    font-size: 13px;
}


/* =========================================================
   FACTS
========================================================= */

.mc-profile-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 27px;
}

.mc-profile-fact {
    min-width: 190px;

    display: flex;
    align-items: center;
    gap: 11px;

    padding: 13px 15px;

    border: 1px solid rgba(62, 47, 35, 0.09);
    border-radius: 14px;

    background: rgba(255, 255, 255, 0.55);
}

.mc-profile-fact-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;

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

    color: #9b733d;
    background: #eee5d8;
}

.mc-profile-fact small {
    display: block;
    color: #958a81;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 700;
}

.mc-profile-fact strong {
    display: block;
    margin-top: 2px;
    color: #332922;
    font-size: 12px;
}


/* =========================================================
   BOOK BUTTON
========================================================= */

.mc-profile-hero-actions {
    margin-top: 28px;
}

.mc-profile-book-btn {
    min-height: 52px;
    padding: 0 22px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 22px;

    color: #fff;
    background: #2a211b;

    border-radius: 12px;

    text-decoration: none;

    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.01em;

    box-shadow: 0 14px 30px rgba(38, 28, 20, 0.13);

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}

.mc-profile-book-btn:hover {
    color: #fff;
    background: #9a713c;
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(38, 28, 20, 0.17);
}

.mc-profile-book-btn i {
    font-size: 11px;
}


/* =========================================================
   PHOTO STRIP
========================================================= */

.mc-profile-photo-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 68px;
}

.mc-profile-strip-photo {
    position: relative;
    height: 135px;
    padding: 0;
    border: 0;
    border-radius: 14px;
    overflow: hidden;
    cursor: zoom-in;
    background: #e9e1d8;
}

.mc-profile-strip-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.mc-profile-strip-photo:hover img {
    transform: scale(1.05);
}

.mc-profile-strip-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(20, 15, 11, 0.25),
        transparent 60%
    );
}

.mc-profile-strip-photo span {
    position: absolute;
    right: 10px;
    bottom: 9px;
    z-index: 2;

    width: 28px;
    height: 28px;

    border-radius: 50%;

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

    color: #fff;
    background: rgba(24, 18, 13, 0.55);
    backdrop-filter: blur(10px);

    font-size: 9px;
}


/* =========================================================
   CONTENT
========================================================= */

.mc-profile-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 65px;
    align-items: start;
}

.mc-profile-main-column {
    min-width: 0;
}

.mc-profile-section {
    padding: 55px 0;
    border-top: 1px solid rgba(54, 42, 32, 0.09);
}

.mc-profile-section:first-child {
    border-top: 0;
    padding-top: 0;
}

.mc-profile-section-title {
    margin: 9px 0 22px;
    max-width: 700px;

    color: #251d18;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(38px, 4vw, 54px);
    line-height: 0.98;
    font-weight: 500;
    letter-spacing: -0.02em;
}

.mc-profile-section-title em {
    color: #a27a43;
    font-style: italic;
}

.mc-profile-section-title.small {
    font-size: 38px;
    margin-bottom: 25px;
}


/* =========================================================
   BIO
========================================================= */

.mc-profile-bio {
    max-width: 760px;
    color: #675d55;
    font-size: 15px;
    line-height: 1.9;
}

.mc-profile-bio p {
    margin: 0;
}


/* =========================================================
   SPECIALTIES
========================================================= */

.mc-profile-specialties {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.mc-specialty-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    padding: 10px 13px;

    color: #5e4932;
    background: #eee6da;

    border: 1px solid rgba(157, 119, 66, 0.13);
    border-radius: 999px;

    font-size: 12px;
    font-weight: 600;
}

.mc-specialty-pill i {
    color: #a47a42;
    font-size: 9px;
}


/* =========================================================
   PHOTO GRID
========================================================= */

.mc-profile-photo-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.mc-profile-photo-card {
    position: relative;

    height: 270px;

    padding: 0;
    border: 0;
    border-radius: 17px;

    overflow: hidden;
    cursor: zoom-in;

    background: #e8dfd5;
}

.mc-profile-photo-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;

    transition: transform 0.55s ease;
}

.mc-profile-photo-card:hover img {
    transform: scale(1.045);
}

.mc-photo-card-overlay {
    position: absolute;
    right: 13px;
    bottom: 13px;

    width: 34px;
    height: 34px;

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

    border-radius: 50%;

    color: #fff;
    background: rgba(26, 20, 15, 0.56);
    backdrop-filter: blur(10px);

    font-size: 10px;
}


/* =========================================================
   SIDEBAR
========================================================= */

.mc-profile-sidebar {
    position: sticky;
    top: 100px;
}

.mc-profile-sidebar-card {
    padding: 29px;

    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            #30261f 0%,
            #211a16 100%
        );

    color: #fff;

    box-shadow:
        0 22px 55px rgba(39, 29, 21, 0.14);

    position: relative;
    overflow: hidden;
}

.mc-profile-sidebar-card::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    right: -100px;
    top: -100px;
    border-radius: 50%;
    border: 1px solid rgba(213, 174, 116, 0.12);
}

.mc-sidebar-card-mark {
    width: 40px;
    height: 40px;

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

    margin-bottom: 28px;

    border-radius: 12px;

    color: #d2aa72;
    background: rgba(255, 255, 255, 0.07);
}

.mc-sidebar-eyebrow {
    color: #c69b5d;
}

.mc-profile-sidebar-card h3 {
    margin: 9px 0 14px;

    font-family: "Cormorant Garamond", serif;
    font-size: 38px;
    line-height: 0.98;
    font-weight: 500;
}

.mc-profile-sidebar-card h3 em {
    color: #c59a61;
    font-style: italic;
}

.mc-profile-sidebar-card > p {
    margin: 0;

    color: rgba(255, 255, 255, 0.66);

    font-size: 13px;
    line-height: 1.75;
}

.mc-sidebar-details {
    margin: 24px 0;

    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);

    display: grid;
    gap: 13px;
}

.mc-sidebar-details div {
    display: flex;
    align-items: center;
    gap: 10px;

    color: rgba(255, 255, 255, 0.74);
    font-size: 11px;
}

.mc-sidebar-details i {
    width: 18px;
    color: #c69b5d;
}

.mc-sidebar-btn {
    min-height: 48px;

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

    padding: 0 16px;

    border-radius: 11px;

    color: #281f18;
    background: #f1e8dc;

    text-decoration: none;

    font-size: 12px;
    font-weight: 700;

    transition: all 0.25s ease;
}

.mc-sidebar-btn:hover {
    color: #281f18;
    background: #fff;
    transform: translateY(-1px);
}

.mc-sidebar-btn i {
    font-size: 10px;
}


/* =========================================================
   REVIEW SUMMARY
========================================================= */

.mc-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
}

.mc-review-summary {
    display: flex;
    align-items: center;
    gap: 12px;
}

.mc-review-score {
    font-family: "Cormorant Garamond", serif;
    font-size: 42px;
    line-height: 1;
    color: #30251d;
}

.mc-review-stars {
    color: #a6783b;
    font-size: 13px;
    letter-spacing: 1px;
}

.mc-review-count {
    margin-top: 3px;
    color: #91867d;
    font-size: 10px;
}


/* =========================================================
   REVIEWS
========================================================= */

.mc-review-list {
    display: grid;
    gap: 12px;
}

.mc-review-card {
    padding: 20px;

    border: 1px solid rgba(53, 42, 33, 0.08);
    border-radius: 17px;

    background: rgba(255, 255, 255, 0.58);
}

.mc-review-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.mc-review-author {
    display: flex;
    align-items: center;
    gap: 11px;
}

.mc-review-avatar {
    width: 36px;
    height: 36px;

    border-radius: 50%;

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

    color: #80623c;
    background: #e9dfd1;

    font-size: 12px;
    font-weight: 700;
}

.mc-review-author strong {
    display: block;
    color: #3a2f27;
    font-size: 12px;
}

.mc-review-author span {
    display: block;
    margin-top: 2px;
    color: #988d84;
    font-size: 10px;
}

.mc-review-rating {
    color: #a8793d;
    font-size: 11px;
    letter-spacing: 1px;
}

.mc-review-verified {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    margin-top: 15px;

    color: #7b6b58;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.mc-review-verified i {
    color: #9a7442;
}

.mc-review-comment {
    margin: 13px 0 0;

    color: #665d56;
    font-size: 13px;
    line-height: 1.75;
}


/* =========================================================
   NO REVIEWS
========================================================= */

.mc-no-reviews {
    padding: 38px 25px;

    text-align: center;

    border: 1px dashed rgba(74, 57, 42, 0.15);
    border-radius: 18px;

    background: rgba(255, 255, 255, 0.42);
}

.mc-no-reviews-icon {
    width: 44px;
    height: 44px;

    margin: 0 auto 14px;

    border-radius: 50%;

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

    color: #a27a43;
    background: #ece3d6;
}

.mc-no-reviews h3 {
    margin: 0;

    color: #392e26;

    font-family: "Cormorant Garamond", serif;
    font-size: 25px;
    font-weight: 600;
}

.mc-no-reviews p {
    max-width: 420px;
    margin: 8px auto 0;

    color: #8b8178;

    font-size: 12px;
    line-height: 1.7;
}


/* =========================================================
   IMAGE MODAL
========================================================= */

body.mc-gallery-open {
    overflow: hidden;
}

.mc-gallery-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;

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

    padding: 35px;

    background: rgba(18, 14, 11, 0.94);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.25s ease,
        visibility 0.25s ease;
}

.mc-gallery-modal.active {
    opacity: 1;
    visibility: visible;
}

.mc-gallery-modal-inner {
    max-width: min(1100px, 94vw);
    max-height: 88vh;

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

.mc-gallery-modal img {
    max-width: 100%;
    max-height: 88vh;

    display: block;

    object-fit: contain;

    border-radius: 12px;

    box-shadow:
        0 30px 90px rgba(0, 0, 0, 0.45);
}

.mc-gallery-close {
    position: absolute;
    top: 22px;
    right: 22px;
    z-index: 5;

    width: 42px;
    height: 42px;

    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50%;

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

    color: #fff;
    background: rgba(255, 255, 255, 0.08);

    cursor: pointer;

    backdrop-filter: blur(10px);

    transition: all 0.2s ease;
}

.mc-gallery-close:hover {
    background: rgba(255, 255, 255, 0.18);
    transform: rotate(5deg);
}


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

@media (max-width: 991px) {

    .mc-profile-hero {
        grid-template-columns: 310px 1fr;
        gap: 34px;
    }

    .mc-profile-primary-photo,
    .mc-profile-avatar-fallback {
        height: 360px;
    }

    .mc-profile-name {
        font-size: 58px;
    }

    .mc-profile-content {
        grid-template-columns: minmax(0, 1fr) 280px;
        gap: 35px;
    }

    .mc-profile-sidebar-card {
        padding: 23px;
    }

    .mc-profile-sidebar-card h3 {
        font-size: 32px;
    }

}


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

@media (max-width: 767px) {

    .mc-therapist-profile {
        padding: 25px 0 70px;
    }

    .mc-profile-back {
        margin-bottom: 20px;
    }

    .mc-profile-hero {
        display: block;
    }

    .mc-profile-hero-photo {
        max-width: 100%;
    }

    .mc-profile-primary-photo,
    .mc-profile-avatar-fallback {
        height: 330px;
        border-radius: 20px;
    }

    .mc-profile-photo-badge {
        left: 14px;
        top: 14px;
    }

    .mc-profile-hero-info {
        padding-top: 28px;
    }

    .mc-profile-name {
        font-size: 52px;
    }

    .mc-profile-specialty {
        font-size: 14px;
    }

    .mc-profile-rating-row {
        margin-top: 19px;
    }

    .mc-profile-facts {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .mc-profile-fact {
        min-width: 0;
        padding: 11px;
    }

    .mc-profile-fact-icon {
        width: 30px;
        height: 30px;
        flex: 0 0 30px;
    }

    .mc-profile-fact strong {
        font-size: 10px;
    }

    .mc-profile-hero-actions {
        margin-top: 20px;
    }

    .mc-profile-book-btn {
        width: 100%;
    }

    .mc-profile-photo-strip {
        grid-template-columns: repeat(3, 1fr);
        gap: 7px;
        margin-top: 16px;
        margin-bottom: 45px;
    }

    .mc-profile-strip-photo {
        height: 105px;
        border-radius: 11px;
    }

    .mc-profile-strip-photo:nth-child(4) {
        display: none;
    }

    .mc-profile-content {
        display: block;
    }

    .mc-profile-section {
        padding: 42px 0;
    }

    .mc-profile-section:first-child {
        padding-top: 0;
    }

    .mc-profile-section-title {
        font-size: 40px;
    }

    .mc-profile-section-title.small {
        font-size: 34px;
    }

    .mc-profile-bio {
        font-size: 14px;
        line-height: 1.8;
    }

    .mc-profile-photo-grid {
        grid-template-columns: 1fr;
    }

    .mc-profile-photo-card {
        height: 260px;
    }

    .mc-profile-sidebar {
        position: static;
        margin-top: 10px;
    }

    .mc-profile-sidebar-card {
        border-radius: 19px;
    }

    .mc-section-heading {
        display: block;
    }

    .mc-review-summary {
        margin-top: 20px;
    }

    .mc-review-card-top {
        align-items: flex-start;
    }

    .mc-review-rating {
        white-space: nowrap;
    }

    .mc-gallery-modal {
        padding: 18px;
    }

    .mc-gallery-modal-inner {
        max-width: 100%;
    }

    .mc-gallery-modal img {
        max-height: 82vh;
        border-radius: 8px;
    }

    .mc-gallery-close {
        top: 14px;
        right: 14px;
    }

}


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

@media (max-width: 430px) {

    .mc-profile-name {
        font-size: 45px;
    }

    .mc-profile-primary-photo,
    .mc-profile-avatar-fallback {
        height: 300px;
    }

    .mc-profile-facts {
        grid-template-columns: 1fr;
    }

    .mc-profile-section-title {
        font-size: 36px;
    }

}













/* =========================================================
   MASSAGECRIB — REVIEW PAGE
========================================================= */

.mc-review-page {
    min-height: calc(100vh - 80px);
    padding: 55px 0 100px;

    background:
        radial-gradient(
            circle at 15% 5%,
            rgba(181, 145, 87, 0.08),
            transparent 30%
        ),
        #f8f5f0;
}


.mc-review-page-inner {
    max-width: 720px;
    margin: 0 auto;
}


/* =========================================================
   BACK
========================================================= */

.mc-review-back {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    color: #766b62;
    text-decoration: none;

    font-size: 12px;
    font-weight: 600;

    transition: color 0.2s ease;
}

.mc-review-back:hover {
    color: #9a713c;
}

.mc-review-back i {
    font-size: 10px;
}


/* =========================================================
   HEADER
========================================================= */

.mc-review-header {
    margin-top: 48px;
    text-align: center;
}

.mc-review-eyebrow {
    color: #a07842;

    font-size: 10px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: 0.18em;
}

.mc-review-header h1 {
    margin: 10px 0 14px;

    color: #261e19;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(48px, 7vw, 68px);
    line-height: 0.94;

    font-weight: 500;
    letter-spacing: -0.025em;
}

.mc-review-header h1 em {
    color: #a07842;
    font-style: italic;
}

.mc-review-header p {
    max-width: 520px;
    margin: 0 auto;

    color: #7c726a;

    font-size: 14px;
    line-height: 1.8;
}


/* =========================================================
   FORM CARD
========================================================= */

.mc-review-form-card {
    margin-top: 42px;
    padding: 30px;

    border: 1px solid rgba(53, 42, 33, 0.08);
    border-radius: 22px;

    background: rgba(255, 255, 255, 0.68);

    box-shadow:
        0 20px 60px rgba(48, 36, 26, 0.07);
}


/* =========================================================
   THERAPIST
========================================================= */

.mc-review-therapist {
    display: flex;
    align-items: center;
    gap: 14px;

    padding-bottom: 25px;
    margin-bottom: 28px;

    border-bottom: 1px solid rgba(53, 42, 33, 0.08);
}

.mc-review-therapist img,
.mc-review-therapist-fallback {
    width: 62px;
    height: 62px;

    flex: 0 0 62px;

    border-radius: 16px;

    object-fit: cover;
}

.mc-review-therapist-fallback {
    display: flex;
    align-items: center;
    justify-content: center;

    color: #85653d;
    background: #e9dfd2;

    font-family: "Cormorant Garamond", serif;
    font-size: 25px;
    font-weight: 600;
}

.mc-review-therapist span {
    display: block;

    color: #9a9087;

    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.mc-review-therapist strong {
    display: block;

    margin-top: 3px;

    color: #342a23;

    font-family: "Cormorant Garamond", serif;
    font-size: 25px;
    line-height: 1;
    font-weight: 600;
}

.mc-review-therapist small {
    display: block;

    margin-top: 5px;

    color: #81766d;
    font-size: 11px;
}


/* =========================================================
   FIELDS
========================================================= */

.mc-review-field {
    position: relative;
    margin-bottom: 30px;
}

.mc-review-field label {
    display: flex;
    align-items: center;
    gap: 7px;

    color: #30261f;

    font-size: 13px;
    font-weight: 700;
}

.mc-review-field label span {
    color: #a69a90;

    font-size: 10px;
    font-weight: 500;
}

.mc-review-field-help {
    margin: 5px 0 15px;

    color: #8c8178;

    font-size: 11px;
}


/* =========================================================
   STARS
========================================================= */

.mc-star-rating {
    display: flex;
    align-items: center;
    gap: 5px;
}

.mc-star {
    width: 46px;
    height: 46px;

    padding: 0;

    border: 1px solid rgba(155, 116, 64, 0.14);
    border-radius: 12px;

    color: #c5b8a8;
    background: #f5f0e9;

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

    cursor: pointer;

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

.mc-star:hover,
.mc-star.hovered,
.mc-star.active {
    color: #a8793d;
    background: #eee3d3;
    border-color: rgba(155, 116, 64, 0.3);
}

.mc-star:hover {
    transform: translateY(-2px);
}

.mc-rating-label {
    min-height: 18px;

    margin-top: 9px;

    color: #8b8076;

    font-size: 11px;
    font-weight: 600;
}

.mc-rating-label.error {
    color: #a44e43;
}


/* =========================================================
   TEXTAREA
========================================================= */

.mc-review-field textarea {
    width: 100%;

    padding: 15px 16px;

    resize: vertical;

    border: 1px solid rgba(55, 43, 33, 0.12);
    border-radius: 13px;

    outline: none;

    color: #352b24;
    background: #fbfaf8;

    font-family: inherit;
    font-size: 13px;
    line-height: 1.7;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.mc-review-field textarea::placeholder {
    color: #b0a69d;
}

.mc-review-field textarea:focus {
    border-color: rgba(158, 119, 64, 0.5);

    box-shadow:
        0 0 0 3px rgba(158, 119, 64, 0.08);
}

.mc-review-character-count {
    margin-top: 6px;

    text-align: right;

    color: #aaa097;

    font-size: 9px;
}


/* =========================================================
   ERRORS
========================================================= */

.mc-review-error {
    margin-top: 8px;

    color: #a44e43;

    font-size: 11px;
}

.mc-review-alert {
    display: flex;
    align-items: center;
    gap: 9px;

    margin-bottom: 20px;
    padding: 12px 14px;

    border-radius: 10px;

    color: #914b42;
    background: #f8eae7;

    font-size: 11px;
}


/* =========================================================
   SUBMIT
========================================================= */

.mc-review-submit {
    width: 100%;
    min-height: 54px;

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

    padding: 0 18px;

    border: 0;
    border-radius: 12px;

    color: #fff;
    background: #2a211b;

    font-size: 12px;
    font-weight: 700;

    cursor: pointer;

    transition:
        background 0.25s ease,
        transform 0.25s ease,
        opacity 0.25s ease;
}

.mc-review-submit:hover {
    background: #9a713c;
    transform: translateY(-1px);
}

.mc-review-submit:disabled {
    opacity: 0.65;
    cursor: wait;
    transform: none;
}

.mc-review-submit i {
    font-size: 10px;
}


/* =========================================================
   FOOTER NOTE
========================================================= */

.mc-review-footer-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    margin: 18px 0 0;

    color: #978c83;

    font-size: 10px;
    line-height: 1.6;
    text-align: center;
}

.mc-review-footer-note i {
    color: #9b7442;
}


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

@media (max-width: 575px) {

    .mc-review-page {
        padding: 30px 0 70px;
    }

    .mc-review-header {
        margin-top: 38px;
    }

    .mc-review-header h1 {
        font-size: 48px;
    }

    .mc-review-form-card {
        margin-top: 30px;
        padding: 20px;
        border-radius: 18px;
    }

    .mc-review-therapist {
        padding-bottom: 20px;
        margin-bottom: 24px;
    }

    .mc-star {
        width: 42px;
        height: 42px;
        font-size: 20px;
    }

}











/* =========================================================
   MASSAGECRIB — REVIEW ACTION
========================================================= */

.mc-booking-review-btn {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    min-height: 40px;
    padding: 0 15px;

    border: 1px solid rgba(157, 119, 66, 0.24);
    border-radius: 10px;

    color: #806039;
    background: #f5eee4;

    text-decoration: none;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.01em;

    box-shadow:
        0 5px 15px rgba(65, 46, 27, 0.05);

    transition:
        color 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.mc-booking-review-btn i {
    font-size: 11px;
    color: #a4773d;

    transition:
        transform 0.25s ease,
        color 0.25s ease;
}

.mc-booking-review-btn:hover {
    color: #fff;
    background: #9a713c;
    border-color: #9a713c;

    transform: translateY(-1px);

    box-shadow:
        0 9px 22px rgba(83, 58, 30, 0.14);
}

.mc-booking-review-btn:hover i {
    color: #fff;
    transform: scale(1.08);
}


/* =========================================================
   REVIEW SUBMITTED
========================================================= */

.mc-booking-review-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    min-height: 40px;
    padding: 0 14px;

    border: 1px solid rgba(92, 116, 86, 0.16);
    border-radius: 10px;

    color: #66745f;
    background: #f0f3ed;

    font-size: 11px;
    font-weight: 700;
}

.mc-booking-review-status i {
    color: #71876a;
    font-size: 11px;
}


/* =========================================================
   OPTIONAL — SUBTLE STAR DETAIL
========================================================= */

.mc-booking-review-btn::after {
    content: "";

    position: absolute;
    inset: 0;

    border-radius: inherit;

    background: linear-gradient(
        120deg,
        transparent 25%,
        rgba(255, 255, 255, 0.22) 50%,
        transparent 75%
    );

    opacity: 0;
    transform: translateX(-100%);

    transition:
        opacity 0.3s ease,
        transform 0.45s ease;

    pointer-events: none;
}

.mc-booking-review-btn:hover::after {
    opacity: 1;
    transform: translateX(100%);
}


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

@media (max-width: 575px) {

    .mc-booking-review-btn,
    .mc-booking-review-status {
        min-height: 42px;
        padding: 0 14px;
        font-size: 10px;
    }

}



































/* ============================================================
   MASSAGECRIB — THERAPIST DIRECTORY
============================================================ */

.mc-therapists-page {
    background: #f8f5ef;
    color: #29221c;
}


/* ============================================================
   HERO
============================================================ */

.mc-therapists-hero {
    position: relative;
    overflow: hidden;
    padding: 125px 0 95px;
    background:
        radial-gradient(
            circle at 15% 20%,
            rgba(164, 126, 72, .12),
            transparent 35%
        ),
        radial-gradient(
            circle at 85% 70%,
            rgba(87, 63, 39, .08),
            transparent 34%
        ),
        #eee8de;
}

.mc-therapists-hero-inner {
    position: relative;
    z-index: 2;
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}

.mc-hero-eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 25px;
    color: #987143;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .24em;
    text-transform: uppercase;
}

.mc-hero-eyebrow span {
    width: 30px;
    height: 1px;
    background: #b49163;
}

.mc-therapists-hero h1 {
    margin: 0;
    color: #29221c;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(52px, 6vw, 82px);
    line-height: .88;
    font-weight: 500;
    letter-spacing: -.035em;
}

.mc-therapists-hero h1 em {
    color: #997243;
    font-weight: 500;
}

.mc-therapists-hero p {
    max-width: 650px;
    margin: 30px auto 0;
    color: #776d64;
    font-size: 13px;
    line-height: 1.9;
}

.mc-therapists-hero-glow {
    position: absolute;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(5px);
}

.mc-hero-glow-one {
    top: -180px;
    left: -140px;
    background: rgba(188, 153, 102, .10);
}

.mc-hero-glow-two {
    right: -150px;
    bottom: -220px;
    background: rgba(86, 64, 43, .08);
}


/* ============================================================
   DIRECTORY
============================================================ */

.mc-therapists-directory {
    padding: 85px 0 100px;
}

.mc-directory-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 35px;
}

.mc-section-kicker {
    display: block;
    margin-bottom: 10px;
    color: #a07847;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.mc-directory-heading h2 {
    max-width: 650px;
    margin: 0;
    color: #302821;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 46px;
    line-height: .98;
    font-weight: 500;
    letter-spacing: -.025em;
}

.mc-directory-heading h2 em {
    color: #9b7548;
    font-weight: 500;
}

.mc-directory-count {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex: 0 0 auto;
}

.mc-directory-count strong {
    color: #332a23;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 36px;
    font-weight: 600;
    line-height: 1;
}

.mc-directory-count span {
    margin-top: 4px;
    color: #958a80;
    font-size: 9px;
    letter-spacing: .12em;
    text-transform: uppercase;
}


/* ============================================================
   FILTERS
============================================================ */

.mc-therapist-filters {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px 220px;
    gap: 10px;
    margin-bottom: 38px;
    padding: 10px;
    border: 1px solid rgba(70, 56, 43, .07);
    border-radius: 16px;
    background: rgba(255, 253, 249, .82);
    box-shadow: 0 12px 35px rgba(55, 43, 32, .035);
}

.mc-filter-search,
.mc-filter-select {
    position: relative;
}

.mc-filter-search i {
    position: absolute;
    top: 50%;
    left: 17px;
    color: #a58e73;
    font-size: 11px;
    transform: translateY(-50%);
    pointer-events: none;
}

.mc-filter-search input,
.mc-filter-select select {
    width: 100%;
    height: 48px;
    border: 1px solid transparent;
    border-radius: 11px;
    outline: none;
    background: #f5f1ea;
    color: #51473e;
    font-family: inherit;
    font-size: 11px;
    transition:
        border-color .25s ease,
        background .25s ease,
        box-shadow .25s ease;
}

.mc-filter-search input {
    padding: 0 17px 0 43px;
}

.mc-filter-select select {
    appearance: none;
    padding: 0 38px 0 15px;
    cursor: pointer;
}

.mc-filter-select i {
    position: absolute;
    top: 50%;
    right: 16px;
    color: #9b856b;
    font-size: 9px;
    pointer-events: none;
    transform: translateY(-50%);
}

.mc-filter-search input:focus,
.mc-filter-select select:focus {
    border-color: rgba(156, 115, 63, .25);
    background: #fffdfa;
    box-shadow: 0 0 0 3px rgba(156, 115, 63, .06);
}


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

.mc-therapist-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}


/* ============================================================
   CARD
============================================================ */

.mc-therapist-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 575px;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(62, 49, 37, .075);
    border-radius: 20px;
    outline: none;
    background: #fffdfa;
    box-shadow: 0 9px 28px rgba(50, 40, 30, .045);
    cursor: pointer;
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.mc-therapist-card:hover,
.mc-therapist-card:focus-visible {
    border-color: rgba(155, 119, 69, .2);
    box-shadow: 0 24px 55px rgba(50, 40, 30, .11);
    transform: translateY(-5px);
}

.mc-therapist-card.is-hidden {
    display: none;
}


/* ============================================================
   IMAGE
============================================================ */

.mc-therapist-image {
    position: relative;
    flex: 0 0 290px;
    height: 290px;
    overflow: hidden;
    background: #e6ddd1;
}

.mc-therapist-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s cubic-bezier(.2, .7, .2, 1);
}

.mc-therapist-card:hover .mc-therapist-image img {
    transform: scale(1.035);
}

.mc-therapist-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #a28d75;
    background:
        linear-gradient(
            145deg,
            #eee7dc,
            #ddd2c4
        );
}

.mc-therapist-placeholder i {
    font-size: 35px;
    opacity: .55;
}

.mc-image-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(20, 15, 11, .05),
        transparent 45%,
        rgba(20, 15, 11, .32)
    );
    pointer-events: none;
}

.mc-profile-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 999px;
    color: #fff;
    background: rgba(40, 29, 20, .42);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mc-profile-badge i {
    color: #e1bd83;
    font-size: 8px;
}

.mc-view-overlay {
    position: absolute;
    right: 15px;
    bottom: 15px;
    left: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 10px;
    color: #fff;
    background: rgba(37, 27, 20, .4);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .05em;
    opacity: 0;
    transform: translateY(6px);
    transition:
        opacity .3s ease,
        transform .3s ease;
}

.mc-therapist-card:hover .mc-view-overlay,
.mc-therapist-card:focus-visible .mc-view-overlay {
    opacity: 1;
    transform: translateY(0);
}

.mc-view-overlay i {
    font-size: 9px;
}


/* ============================================================
   CONTENT
============================================================ */

.mc-therapist-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
    padding: 20px 21px 18px;
}

.mc-therapist-heading {
    flex: 0 0 51px;
    min-height: 51px;
}

.mc-therapist-heading h3 {
    overflow: hidden;
    margin: 0 0 5px;
    color: #2d251f;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 28px;
    line-height: .95;
    font-weight: 600;
    letter-spacing: -.01em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mc-specialty {
    display: block;
    overflow: hidden;
    color: #a07848;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .1em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}


/* ============================================================
   RATING
============================================================ */

.mc-rating-row {
    display: flex;
    flex: 0 0 28px;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    color: #82776e;
    font-size: 10px;
}

.mc-rating-star {
    color: #b08247;
    font-size: 12px;
}

.mc-rating-row strong {
    color: #51473f;
    font-size: 10px;
}

.mc-rating-divider {
    color: #c4b7aa;
}

.mc-rating-reviews {
    color: #91867d;
}

.mc-new-therapist {
    color: #9a7a52;
    font-size: 9px;
    font-weight: 700;
}


/* ============================================================
   LOCATION
============================================================ */

.mc-therapist-location {
    display: flex;
    flex: 0 0 26px;
    align-items: center;
    gap: 7px;
    min-height: 26px;
    overflow: hidden;
    color: #7f756c;
    font-size: 10px;
}

.mc-therapist-location i {
    flex: 0 0 auto;
    color: #a17a4a;
    font-size: 9px;
}

.mc-therapist-location span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* ============================================================
   BIO
============================================================ */

.mc-therapist-bio-wrap {
    flex: 0 0 62px;
    min-height: 62px;
    margin-top: 5px;
}

.mc-therapist-bio {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: #716860;
    font-size: 11px;
    line-height: 1.72;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.mc-therapist-bio.is-empty {
    color: #a19890;
}


/* ============================================================
   TAGS
============================================================ */

.mc-therapist-tags {
    display: flex;
    flex: 0 0 35px;
    align-items: flex-start;
    gap: 6px;
    min-height: 35px;
    overflow: hidden;
}

.mc-therapist-tags span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 135px;
    min-height: 25px;
    overflow: hidden;
    padding: 0 9px;
    border: 1px solid rgba(150, 113, 68, .12);
    border-radius: 999px;
    color: #80623f;
    background: #f6f0e7;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .03em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mc-therapist-tags .mc-tag-more {
    color: #918273;
    background: #f1ede7;
}


/* ============================================================
   ACTION
============================================================ */

.mc-therapist-action {
    display: flex;
    flex: 0 0 43px;
    align-items: flex-end;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid rgba(68, 55, 41, .08);
    color: #453a31;
    font-size: 10px;
    font-weight: 700;
}

.mc-action-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(128, 95, 56, .16);
    border-radius: 50%;
    color: #8f693e;
    background: #f7f2ea;
    transition:
        background .25s ease,
        color .25s ease,
        transform .25s ease;
}

.mc-therapist-card:hover .mc-action-icon,
.mc-therapist-card:focus-visible .mc-action-icon {
    color: #fff;
    background: #98703e;
    transform: translateX(2px);
}


/* ============================================================
   EMPTY
============================================================ */

.mc-empty-therapists,
.mc-filter-empty {
    grid-column: 1 / -1;
    padding: 70px 30px;
    border: 1px solid rgba(68, 55, 41, .07);
    border-radius: 18px;
    text-align: center;
    background: #fffdfa;
}

.mc-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin: 0 auto 20px;
    border-radius: 50%;
    color: #9a7448;
    background: #f2ebe1;
}

.mc-empty-icon i {
    font-size: 15px;
}

.mc-empty-therapists h3,
.mc-filter-empty h3 {
    margin: 0;
    color: #332a23;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 28px;
    font-weight: 600;
}

.mc-empty-therapists p,
.mc-filter-empty p {
    max-width: 450px;
    margin: 10px auto 0;
    color: #827970;
    font-size: 11px;
    line-height: 1.7;
}

.mc-clear-filters {
    margin-top: 20px;
    padding: 10px 17px;
    border: 1px solid rgba(143, 105, 62, .18);
    border-radius: 9px;
    color: #775633;
    background: #f5eee5;
    font-family: inherit;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
}


/* ============================================================
   JOIN CTA
============================================================ */

.mc-therapist-join {
    padding: 0 0 100px;
}

.mc-therapist-join-card {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 330px;
    overflow: hidden;
    padding: 55px 65px;
    border-radius: 24px;
    background:
        radial-gradient(
            circle at 85% 50%,
            rgba(181, 139, 81, .15),
            transparent 35%
        ),
        #2d241d;
    box-shadow: 0 25px 60px rgba(42, 32, 24, .12);
}

.mc-join-copy {
    position: relative;
    z-index: 2;
    max-width: 620px;
}

.mc-therapist-join .mc-section-kicker {
    color: #c5a06b;
}

.mc-join-copy h2 {
    margin: 0;
    color: #fffaf2;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 48px;
    line-height: .98;
    font-weight: 500;
    letter-spacing: -.025em;
}

.mc-join-copy h2 em {
    color: #d2b27f;
    font-weight: 500;
}

.mc-join-copy p {
    max-width: 570px;
    margin: 20px 0 0;
    color: rgba(255, 248, 238, .68);
    font-size: 12px;
    line-height: 1.8;
}

.mc-join-button {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-top: 25px;
    padding: 13px 18px;
    border-radius: 10px;
    color: #30261e;
    background: #e0c18f;
    font-size: 10px;
    font-weight: 800;
    text-decoration: none;
    transition:
        transform .25s ease,
        background .25s ease;
}

.mc-join-button:hover {
    color: #30261e;
    background: #ebd2a7;
    transform: translateY(-2px);
}

.mc-join-button i {
    font-size: 9px;
}

.mc-join-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 220px;
    height: 220px;
    flex: 0 0 220px;
    border: 1px solid rgba(218, 187, 136, .18);
    border-radius: 50%;
    transform: rotate(-8deg);
}

.mc-join-mark span {
    color: rgba(220, 188, 137, .35);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 75px;
    font-weight: 500;
}


/* ============================================================
   RESPONSIVE
============================================================ */

@media (max-width: 1199px) {

    .mc-therapist-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 991px) {

    .mc-therapists-hero {
        padding: 110px 0 80px;
    }

    .mc-therapist-filters {
        grid-template-columns: 1fr 1fr;
    }

    .mc-filter-search {
        grid-column: 1 / -1;
    }

    .mc-therapist-join-card {
        padding: 50px;
    }

    .mc-join-mark {
        width: 170px;
        height: 170px;
        flex-basis: 170px;
    }

}


@media (max-width: 767px) {

    .mc-therapists-hero {
        padding: 100px 0 70px;
    }

    .mc-hero-eyebrow {
        font-size: 8px;
    }

    .mc-therapists-hero h1 {
        font-size: 55px;
    }

    .mc-therapists-hero p {
        padding: 0 15px;
        font-size: 11px;
    }

    .mc-therapists-directory {
        padding: 65px 0 80px;
    }

    .mc-directory-heading {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 25px;
    }

    .mc-directory-heading h2 {
        font-size: 39px;
    }

    .mc-directory-count {
        align-items: flex-start;
    }

    .mc-therapist-filters {
        grid-template-columns: 1fr;
    }

    .mc-filter-search {
        grid-column: auto;
    }

    .mc-therapist-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .mc-therapist-card {
        height: 560px;
    }

    .mc-therapist-image {
        flex-basis: 300px;
        height: 300px;
    }

    .mc-therapist-join {
        padding-bottom: 70px;
    }

    .mc-therapist-join-card {
        min-height: 0;
        padding: 40px 28px;
    }

    .mc-join-copy h2 {
        font-size: 40px;
    }

    .mc-join-mark {
        display: none;
    }

}


@media (max-width: 430px) {

    .mc-therapists-hero h1 {
        font-size: 48px;
    }

    .mc-therapist-card {
        height: 545px;
    }

    .mc-therapist-image {
        flex-basis: 285px;
        height: 285px;
    }

    .mc-therapist-content {
        padding: 18px 18px 16px;
    }

    .mc-therapist-heading h3 {
        font-size: 26px;
    }

}



































/* ============================================================
   MASSAGECRIB — THERAPIST APPLICATION PHOTO UPLOAD
============================================================ */

.mc-photo-upload-section {
    margin-bottom: 30px;
}

.mc-photo-upload-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 20px;
}

.mc-photo-upload-kicker {
    display: block;
    margin-bottom: 7px;
    color: #a07847;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .2em;
}

.mc-photo-upload-heading h3 {
    margin: 0;
    color: #302821;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 28px;
    line-height: 1;
    font-weight: 600;
}

.mc-photo-upload-heading p {
    max-width: 580px;
    margin: 9px 0 0;
    color: #82776e;
    font-size: 10px;
    line-height: 1.7;
}

.mc-photo-limit {
    display: flex;
    align-items: baseline;
    gap: 4px;
    flex: 0 0 auto;
    color: #a19487;
    font-size: 9px;
}

.mc-photo-limit strong {
    color: #755633;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 25px;
}


/* ============================================================
   PRIMARY PHOTO
============================================================ */

.mc-primary-photo-upload {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 20px;
    padding: 18px;
    border: 1px solid rgba(74, 57, 40, .08);
    border-radius: 15px;
    background: #fffdfa;
}

.mc-primary-photo-copy {
    padding: 5px 0;
}

.mc-photo-label {
    display: block;
    color: #453a31;
    font-size: 11px;
    font-weight: 800;
}

.mc-required {
    color: #a56e3a;
}

.mc-photo-help {
    display: block;
    margin-top: 6px;
    color: #91867d;
    font-size: 9px;
    line-height: 1.65;
}

.mc-primary-photo-drop {
    position: relative;
    display: block;
    min-height: 270px;
    overflow: hidden;
    border: 1px dashed rgba(143, 105, 62, .3);
    border-radius: 13px;
    background: #f7f2ea;
    cursor: pointer;
    transition:
        border-color .25s ease,
        background .25s ease,
        box-shadow .25s ease;
}

.mc-primary-photo-drop:hover,
.mc-primary-photo-drop.is-dragging {
    border-color: #a47b4b;
    background: #f3ece2;
    box-shadow: 0 10px 30px rgba(72, 52, 34, .07);
}

.mc-primary-photo-drop.is-error {
    border-color: #b56d5c;
    box-shadow: 0 0 0 3px rgba(181, 109, 92, .08);
}

.mc-primary-photo-drop input {
    display: none;
}

/* .mc-primary-photo-preview {
    position: absolute;
    inset: 0;
} */

.mc-photo-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    height: 100%;
    gap: 9px;
    color: #9d8971;
}

.mc-photo-placeholder i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    color: #967047;
    background: #eee5d8;
    font-size: 15px;
}

.mc-photo-placeholder span {
    font-size: 10px;
    font-weight: 700;
}

/* .mc-primary-photo-preview > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
} */

.mc-primary-photo-overlay {
    position: absolute;
    right: 12px;
    bottom: 12px;
    left: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 9px;
    color: #fff;
    background: rgba(38, 28, 20, .48);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-size: 9px;
    font-weight: 700;
}

.mc-primary-photo-overlay i {
    color: #d9b77d;
}

.mc-primary-photo-action {
    position: absolute;
    top: 12px;
    right: 12px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 10px;
    border-radius: 8px;
    color: #fff;
    background: rgba(40, 29, 20, .48);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    font-size: 8px;
    font-weight: 700;
}

.mc-primary-photo-action i {
    font-size: 8px;
}


/* ============================================================
   ADDITIONAL PHOTOS
============================================================ */

.mc-additional-photo-section {
    margin-top: 18px;
}

.mc-additional-photo-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 11px;
}

.mc-photo-counter {
    color: #9b8c7c;
    font-size: 9px;
}

.mc-photo-counter span {
    color: #765634;
    font-weight: 800;
}

.mc-additional-photo-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.mc-add-photo-card,
.mc-additional-photo-card {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 11px;
}

.mc-add-photo-card {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 7px;
    border: 1px dashed rgba(143, 105, 62, .28);
    color: #80613f;
    background: #f7f2ea;
    cursor: pointer;
    transition:
        border-color .25s ease,
        background .25s ease,
        transform .25s ease;
}

.mc-add-photo-card:hover {
    border-color: #a47b4b;
    background: #f1e9de;
    transform: translateY(-2px);
}

.mc-add-photo-card.is-disabled {
    opacity: .4;
    pointer-events: none;
}

.mc-add-photo-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: #947049;
    background: #ece2d4;
    font-size: 10px;
}

.mc-add-photo-card > span {
    font-size: 9px;
    font-weight: 800;
}

.mc-add-photo-card small {
    color: #a19487;
    font-size: 7px;
}

.mc-additional-photo-card {
    border: 1px solid rgba(68, 55, 41, .08);
    background: #e9e1d6;
}

.mc-additional-photo-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mc-additional-photo-overlay {
    position: absolute;
    right: 7px;
    bottom: 7px;
    left: 7px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px;
    padding: 6px 7px;
    border-radius: 7px;
    color: #fff;
    background: rgba(38, 28, 20, .48);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}

.mc-additional-photo-overlay span {
    font-size: 7px;
    font-weight: 700;
}

.mc-additional-photo-overlay small {
    color: rgba(255,255,255,.68);
    font-size: 6px;
}


/* ============================================================
   REMOVE PHOTO
============================================================ */

.mc-photo-remove {
    position: absolute;
    top: 7px;
    right: 7px;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    color: #fff;
    background: rgba(36, 26, 19, .58);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
    font-size: 8px;
    cursor: pointer;
    transition:
        background .2s ease,
        transform .2s ease;
}

.mc-photo-remove:hover {
    background: #8e5d42;
    transform: scale(1.06);
}


/* ============================================================
   GUIDANCE
============================================================ */

.mc-photo-guidance {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-top: 15px;
    padding: 13px 15px;
    border: 1px solid rgba(154, 116, 72, .1);
    border-radius: 11px;
    background: #f5efe6;
}

.mc-guidance-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border-radius: 50%;
    color: #967047;
    background: #e9dfd0;
    font-size: 10px;
}

.mc-photo-guidance strong {
    display: block;
    color: #655344;
    font-size: 9px;
    font-weight: 800;
}

.mc-photo-guidance p {
    margin: 3px 0 0;
    color: #8c7e70;
    font-size: 8px;
    line-height: 1.65;
}


/* ============================================================
   RESPONSIVE
============================================================ */

@media (max-width: 767px) {

    .mc-photo-upload-heading {
        align-items: flex-start;
    }

    .mc-primary-photo-upload {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .mc-primary-photo-drop {
        min-height: 320px;
    }

    .mc-additional-photo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mc-add-photo-card,
    .mc-additional-photo-card {
        min-height: 150px;
    }

}


@media (max-width: 430px) {

    .mc-photo-upload-heading {
        flex-direction: column;
        gap: 8px;
    }

    .mc-primary-photo-drop {
        min-height: 280px;
    }

    .mc-additional-photo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

































/* ============================================================
   MASSAGECRIB — THERAPIST APPLICATION REVIEW
============================================================ */

.mc-review-bio-block {
    margin-top: 18px;
}

.mc-review-field-label {
    display: block;
    margin-bottom: 7px;
    color: #9a9289;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mc-review-profile-section {
    overflow: hidden;
}

.mc-review-section-subtitle {
    margin: 5px 0 0;
    color: #91877e;
    font-size: 10px;
    line-height: 1.6;
}


/* ============================================================
   PHOTO GALLERY
============================================================ */

.mc-review-photo-gallery {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(180px, .65fr);
    gap: 10px;
    margin-top: 20px;
}

.mc-review-primary-photo {
    position: relative;
    height: 330px;
    overflow: hidden;
    border-radius: 15px;
    background: #e8dfd4;
}

.mc-review-primary-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mc-review-primary-overlay {
    position: absolute;
    right: 13px;
    bottom: 13px;
    left: 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 9px;
    color: #fff;
    background: rgba(35, 26, 19, .48);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-size: 9px;
    font-weight: 800;
}

.mc-review-primary-overlay i {
    color: #d7b47c;
}

.mc-review-additional-photos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.mc-review-gallery-photo {
    position: relative;
    min-height: 0;
    overflow: hidden;
    border-radius: 12px;
    background: #e8dfd4;
}

.mc-review-gallery-photo img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 155px;
    object-fit: cover;
}

.mc-review-gallery-photo > span {
    position: absolute;
    top: 8px;
    right: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    color: #fff;
    background: rgba(35, 26, 19, .48);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
    font-size: 8px;
    font-weight: 700;
}


/* ============================================================
   PHOTO SUMMARY
============================================================ */

.mc-review-photo-summary {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 11px;
    color: #85786b;
    font-size: 9px;
    font-weight: 700;
}

.mc-review-photo-summary i {
    color: #9a7448;
}


/* ============================================================
   NO PHOTO
============================================================ */

.mc-review-no-photo {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
    padding: 15px;
    border: 1px solid rgba(166, 91, 75, .12);
    border-radius: 11px;
    background: #fbf1ed;
}

.mc-review-no-photo > i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    color: #a06b59;
    background: #f2ddd5;
}

.mc-review-no-photo strong {
    display: block;
    color: #705247;
    font-size: 10px;
}

.mc-review-no-photo span {
    display: block;
    margin-top: 3px;
    color: #a18b80;
    font-size: 8px;
}


/* ============================================================
   DOCUMENTS
============================================================ */

.mc-review-documents {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid rgba(67, 54, 42, .07);
}

.mc-review-document {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    padding: 11px;
    border: 1px solid rgba(68, 55, 41, .06);
    border-radius: 10px;
    background: #faf7f1;
}

.mc-review-document-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    border-radius: 8px;
    color: #977148;
    background: #eee5d8;
    font-size: 9px;
}

.mc-review-document > div:last-child {
    min-width: 0;
}

.mc-review-document span {
    display: block;
    overflow: hidden;
    color: #8d8176;
    font-size: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mc-review-document strong {
    display: block;
    margin-top: 3px;
    color: #5c5046;
    font-size: 9px;
}


/* ============================================================
   ACCOUNT SECTION
============================================================ */

.mc-account-section {
    margin-top: 24px;
    padding: 27px;
    border: 1px solid rgba(92, 69, 44, .09);
    border-radius: 20px;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(174, 135, 82, .09),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            #fffdf9 0%,
            #f7f2e9 100%
        );
}

.mc-account-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 16px;
    border-radius: 50%;
    color: #88663e;
    background: #eee4d6;
}

.mc-account-title {
    margin: 5px 0 9px;
    color: #302720;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 31px;
    line-height: 1.05;
    font-weight: 600;
}

.mc-account-description {
    max-width: 700px;
    margin: 0;
    color: #777069;
    font-size: 11px;
    line-height: 1.75;
}

.mc-account-form {
    margin-top: 24px;
}

.mc-password-wrapper {
    position: relative;
}

.mc-password-wrapper .mc-form-control {
    padding-right: 50px;
}

.mc-password-toggle {
    position: absolute;
    top: 50%;
    right: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    color: #8b837a;
    background: transparent;
    transform: translateY(-50%);
    cursor: pointer;
}

.mc-password-toggle:hover {
    color: #80603b;
}

.mc-password-hint {
    margin-top: 7px;
    color: #9a9289;
    font-size: 9px;
}

.mc-form-error {
    margin-top: 8px;
    color: #a94442;
    font-size: 10px;
}


@media (min-width: 768px) {

    .mc-account-form {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 18px;
    }

}


@media (max-width: 767px) {

    .mc-review-photo-gallery {
        grid-template-columns: 1fr;
    }

    .mc-review-primary-photo {
        height: 330px;
    }

    .mc-review-additional-photos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mc-review-documents {
        grid-template-columns: 1fr;
    }

    .mc-account-section {
        padding: 21px;
    }

    .mc-account-title {
        font-size: 27px;
    }

}


@media (max-width: 430px) {

    .mc-review-primary-photo {
        height: 280px;
    }

    .mc-review-gallery-photo img {
        min-height: 130px;
    }

}








































/* =========================================================
   MASSAGECRIB ADMIN
========================================================= */

:root {
    --mc-ink: #191614;
    --mc-dark: #211d1a;
    --mc-muted: #817a73;
    --mc-cream: #f5f1eb;
    --mc-paper: #fffdfa;
    --mc-soft: #f0ebe4;
    --mc-line: #e7dfd6;
    --mc-gold: #b6955e;
    --mc-gold-dark: #94713c;
    --mc-green: #477057;
    --mc-red: #9b5151;
    --mc-blue: #587084;
    --mc-sidebar: #201c19;
}

.mc-admin-shell {
    min-height: 100vh;
    display: flex;
    background: var(--mc-cream);
}

.mc-sidebar {
    width: 250px;
    flex: 0 0 250px;
    background: var(--mc-sidebar);
    color: #fff;
    min-height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    z-index: 50;
    display: flex;
    flex-direction: column;
}

.mc-sidebar-brand {
    padding: 30px 25px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.mc-sidebar-brand-inner {
    display: flex;
    align-items: center;
    gap: 12px;
}

.mc-sidebar-mark {
    width: 39px;
    height: 39px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-family: 'Cormorant Garamond', serif;
    font-size: 22px;
}

.mc-sidebar-name {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.mc-sidebar-label {
    color: rgba(255,255,255,.4);
    font-size: 9px;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-top: 3px;
}

.mc-sidebar-nav {
    padding: 25px 14px;
    flex: 1;
    overflow-y: auto;
}

.mc-nav-label {
    color: rgba(255,255,255,.3);
    font-size: 9px;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-weight: 700;
    padding: 0 12px;
    margin: 0 0 10px;
}

.mc-nav-section {
    margin-top: 25px;
}

.mc-nav-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    margin-bottom: 3px;
    border-radius: 10px;
    color: rgba(255,255,255,.62);
    font-size: 12px;
    font-weight: 600;
    transition: .2s ease;
}

.mc-nav-link:hover {
    color: #fff;
    background: rgba(255,255,255,.06);
}

.mc-nav-link.active {
    color: #fff;
    background: rgba(255,255,255,.1);
}

.mc-nav-icon {
    width: 20px;
    text-align: center;
    opacity: .75;
    font-size: 13px;
}

.mc-nav-badge {
    margin-left: auto;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: var(--mc-gold);
    color: #fff;
    font-size: 9px;
    font-weight: 800;
}

.mc-sidebar-bottom {
    padding: 18px 14px;
    border-top: 1px solid rgba(255,255,255,.08);
}

.mc-user-mini {
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.mc-user-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255,255,255,.1);
    display: grid;
    place-items: center;
    font-family: 'Cormorant Garamond', serif;
}

.mc-user-name {
    color: rgba(255,255,255,.8);
    font-size: 11px;
    font-weight: 700;
}

.mc-user-role {
    color: rgba(255,255,255,.35);
    font-size: 9px;
    margin-top: 2px;
}

.mc-logout {
    width: 100%;
    margin-top: 8px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 9px;
    background: transparent;
    color: rgba(255,255,255,.5);
    cursor: pointer;
    font-size: 10px;
    text-align: left;
}

.mc-logout:hover {
    color: #fff;
    background: rgba(255,255,255,.05);
}

.mc-main {
    width: calc(100% - 250px);
    margin-left: 250px;
    min-height: 100vh;
}

.mc-topbar {
    height: 74px;
    background: rgba(255,253,250,.92);
    border-bottom: 1px solid var(--mc-line);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 35px;
    position: sticky;
    top: 0;
    z-index: 30;
    backdrop-filter: blur(15px);
}

.mc-mobile-menu {
    display: none;
    border: 0;
    background: transparent;
    font-size: 21px;
    cursor: pointer;
}

.mc-topbar-right {
    display: flex;
    align-items: center;
    gap: 16px;
}

.mc-view-site {
    color: var(--mc-muted);
    font-size: 11px;
    font-weight: 700;
}

.mc-view-site:hover {
    color: var(--mc-ink);
}

.mc-admin-content {
    width: min(1450px, calc(100% - 60px));
    margin: 0 auto;
    padding: 38px 0 70px;
}

.mc-page-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 28px;
}

.mc-eyebrow {
    color: var(--mc-gold-dark);
    font-size: 9px;
    letter-spacing: .2em;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.mc-page-title {
    margin: 0;
    font-family: 'Cormorant Garamond', serif;
    font-size: 48px;
    line-height: .95;
    font-weight: 600;
}

.mc-page-description {
    color: var(--mc-muted);
    font-size: 12px;
    line-height: 1.7;
    margin: 9px 0 0;
}

.mc-page-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.mc-admin-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 11px 16px;
    border-radius: 10px;
    border: 1px solid var(--mc-line);
    background: var(--mc-paper);
    color: var(--mc-ink);
    font-size: 10px;
    font-weight: 800;
    transition: .2s ease;
}

.mc-admin-btn:hover {
    border-color: var(--mc-gold);
    color: var(--mc-gold-dark);
}

.mc-admin-btn-primary {
    background: var(--mc-dark);
    border-color: var(--mc-dark);
    color: #fff;
}

.mc-admin-btn-primary:hover {
    background: var(--mc-gold-dark);
    border-color: var(--mc-gold-dark);
    color: #fff;
}

/* STATS */

.mc-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 22px;
}

.mc-stat-card {
    background: var(--mc-paper);
    border: 1px solid var(--mc-line);
    border-radius: 17px;
    padding: 21px;
}

.mc-stat-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mc-stat-label {
    color: var(--mc-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mc-stat-icon {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--mc-soft);
    display: grid;
    place-items: center;
    font-size: 11px;
}

.mc-stat-number {
    margin-top: 14px;
    font-family: 'Cormorant Garamond', serif;
    font-size: 39px;
    line-height: 1;
}

.mc-stat-link {
    display: inline-block;
    margin-top: 10px;
    color: var(--mc-gold-dark);
    font-size: 10px;
    font-weight: 700;
}

/* PANELS */

.mc-dashboard-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 18px;
}

.mc-panel {
    background: var(--mc-paper);
    border: 1px solid var(--mc-line);
    border-radius: 19px;
    overflow: hidden;
}

.mc-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 19px 21px;
    border-bottom: 1px solid var(--mc-line);
}

.mc-panel-title {
    margin: 0;
    font-family: 'Cormorant Garamond', serif;
    font-size: 26px;
}

.mc-panel-link {
    color: var(--mc-gold-dark);
    font-size: 10px;
    font-weight: 800;
}

.mc-list {
    display: flex;
    flex-direction: column;
}

.mc-list-item {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 16px 21px;
    border-bottom: 1px solid #eee8e1;
}

.mc-list-item:last-child {
    border-bottom: 0;
}

.mc-list-item:hover {
    background: #fcfaf7;
}

.mc-list-avatar {
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    border-radius: 50%;
    background: var(--mc-soft);
    display: grid;
    place-items: center;
    font-family: 'Cormorant Garamond', serif;
    font-size: 19px;
    overflow: hidden;
}

.mc-list-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mc-list-info {
    flex: 1;
    min-width: 0;
}

.mc-list-title {
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mc-list-meta {
    color: var(--mc-muted);
    font-size: 10px;
    margin-top: 4px;
}

.mc-status {
    display: inline-flex;
    align-items: center;
    padding: 6px 9px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.mc-status-pending,
.mc-status-awaiting_payment {
    background: #f5eee1;
    color: #866a39;
}

.mc-status-reviewing {
    background: #e8edf1;
    color: var(--mc-blue);
}

.mc-status-approved,
.mc-status-confirmed,
.mc-status-completed,
.mc-status-paid {
    background: #e7f0ea;
    color: var(--mc-green);
}

.mc-status-rejected,
.mc-status-cancelled,
.mc-status-payment_failed {
    background: #f5e8e8;
    color: var(--mc-red);
}

.mc-status-active {
    background: #e7f0ea;
    color: var(--mc-green);
}

.mc-status-inactive {
    background: #eeeae5;
    color: var(--mc-muted);
}

.mc-empty {
    padding: 35px 20px;
    text-align: center;
    color: var(--mc-muted);
    font-size: 11px;
}

/* ALERTS */

.mc-alert {
    margin-bottom: 20px;
    padding: 13px 15px;
    border-radius: 11px;
    background: #e8f0eb;
    color: #3e614b;
    font-size: 11px;
}

.mc-alert-error {
    background: #f5e8e8;
    color: #874646;
}

/* TABLES */

.mc-table-panel {
    background: var(--mc-paper);
    border: 1px solid var(--mc-line);
    border-radius: 19px;
    overflow: hidden;
}

.mc-table-wrap {
    width: 100%;
    overflow-x: auto;
}

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

.mc-table th {
    padding: 13px 18px;
    background: #faf7f3;
    border-bottom: 1px solid var(--mc-line);
    color: var(--mc-muted);
    font-size: 8px;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-align: left;
    white-space: nowrap;
}

.mc-table td {
    padding: 15px 18px;
    border-bottom: 1px solid #eee8e1;
    font-size: 11px;
    vertical-align: middle;
}

.mc-table tr:last-child td {
    border-bottom: 0;
}

.mc-table tr:hover td {
    background: #fcfaf7;
}

.mc-table-primary {
    font-weight: 700;
    color: var(--mc-ink);
}

.mc-table-secondary {
    margin-top: 3px;
    color: var(--mc-muted);
    font-size: 9px;
}

.mc-filter-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 16px 18px;
    border-bottom: 1px solid var(--mc-line);
}

.mc-filter-input,
.mc-filter-select {
    height: 39px;
    border: 1px solid var(--mc-line);
    background: #fff;
    border-radius: 9px;
    padding: 0 12px;
    color: var(--mc-ink);
    font-size: 10px;
    outline: none;
}

.mc-filter-input:focus,
.mc-filter-select:focus {
    border-color: var(--mc-gold);
}

/* DETAIL */

.mc-detail-grid {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 18px;
}

.mc-detail-card {
    background: var(--mc-paper);
    border: 1px solid var(--mc-line);
    border-radius: 19px;
    overflow: hidden;
}

.mc-detail-card-header {
    padding: 19px 21px;
    border-bottom: 1px solid var(--mc-line);
}

.mc-detail-card-title {
    margin: 0;
    font-family: 'Cormorant Garamond', serif;
    font-size: 25px;
}

.mc-detail-card-body {
    padding: 21px;
}

.mc-detail-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 12px 0;
    border-bottom: 1px solid #eee8e1;
}

.mc-detail-row:last-child {
    border-bottom: 0;
}

.mc-detail-label {
    color: var(--mc-muted);
    font-size: 10px;
}

.mc-detail-value {
    text-align: right;
    font-size: 11px;
    font-weight: 700;
}

/* EMPTY STATE */

.mc-empty-page {
    background: var(--mc-paper);
    border: 1px solid var(--mc-line);
    border-radius: 19px;
    padding: 70px 25px;
    text-align: center;
}

.mc-empty-page-icon {
    width: 55px;
    height: 55px;
    margin: 0 auto 15px;
    border-radius: 50%;
    background: var(--mc-soft);
    display: grid;
    place-items: center;
    font-size: 18px;
}

.mc-empty-page h2 {
    margin: 0;
    font-family: 'Cormorant Garamond', serif;
    font-size: 29px;
}

.mc-empty-page p {
    color: var(--mc-muted);
    font-size: 11px;
    margin: 8px 0 0;
}

/* PAGINATION */

.mc-pagination {
    padding: 16px 20px;
}

/* RESPONSIVE */

@media (max-width: 1100px) {

    .mc-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

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

    .mc-detail-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 750px) {

    .mc-sidebar {
        transform: translateX(-100%);
        transition: transform .25s ease;
    }

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

    .mc-main {
        width: 100%;
        margin-left: 0;
    }

    .mc-topbar {
        padding: 0 18px;
    }

    .mc-mobile-menu {
        display: block;
    }

    .mc-admin-content {
        width: calc(100% - 28px);
        padding-top: 28px;
    }

    .mc-page-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .mc-page-title {
        font-size: 42px;
    }

    .mc-page-actions {
        width: 100%;
    }

    .mc-page-actions .mc-admin-btn {
        flex: 1;
    }

    .mc-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .mc-stat-card {
        padding: 17px;
    }

    .mc-stat-number {
        font-size: 33px;
    }

}

@media (max-width: 450px) {

    .mc-stat-label {
        font-size: 8px;
    }

    .mc-topbar {
        height: 65px;
    }

    .mc-view-site {
        display: none;
    }

    .mc-table th,
    .mc-table td {
        padding-left: 13px;
        padding-right: 13px;
    }

}




























/* =========================================================
   THERAPIST APPLICATIONS
========================================================= */

.mc-applications-panel {
    margin-top: 4px;
}

.mc-filter-search {
    flex: 1;
    min-width: 260px;
}

.mc-table-person {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 220px;
}

.mc-table-avatar {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 50%;
    overflow: hidden;
    background: var(--mc-soft);
    display: grid;
    place-items: center;
    font-family: 'Cormorant Garamond', serif;
    font-size: 18px;
    color: var(--mc-ink);
}

.mc-table-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mc-table-code {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    color: var(--mc-gold-dark);
    white-space: nowrap;
}

.mc-table-action {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--mc-gold-dark);
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.mc-table-action span {
    transition: transform .2s ease;
}

.mc-table-action:hover span {
    transform: translateX(3px);
}

.mc-table-empty {
    border: 0;
    border-radius: 0;
}


/* =========================================================
   APPLICATION REVIEW
========================================================= */

.mc-review-page-header {
    margin-bottom: 20px;
}

.mc-review-summary {
    background: var(--mc-paper);
    border: 1px solid var(--mc-line);
    border-radius: 19px;
    padding: 18px 21px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.mc-review-summary-person {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.mc-review-summary-avatar {
    width: 62px;
    height: 62px;
    flex: 0 0 62px;
    border-radius: 50%;
    overflow: hidden;
    background: var(--mc-soft);
    display: grid;
    place-items: center;
    font-family: 'Cormorant Garamond', serif;
    font-size: 27px;
}

.mc-review-summary-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mc-review-summary-name {
    font-family: 'Cormorant Garamond', serif;
    font-size: 29px;
    line-height: 1;
}

.mc-review-summary-meta {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--mc-muted);
    font-size: 10px;
    margin-top: 7px;
    word-break: break-word;
}

.mc-review-summary-meta span {
    color: var(--mc-line);
}

.mc-review-summary-status {
    flex: 0 0 auto;
    text-align: right;
}

.mc-review-summary-label {
    color: var(--mc-muted);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 7px;
}

.mc-review-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 18px;
    align-items: start;
}

.mc-review-card {
    background: var(--mc-paper);
    border: 1px solid var(--mc-line);
    border-radius: 19px;
    overflow: hidden;
    margin-bottom: 18px;
}

.mc-review-card:last-child {
    margin-bottom: 0;
}

.mc-review-card-header {
    padding: 18px 21px;
    border-bottom: 1px solid var(--mc-line);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mc-card-eyebrow {
    color: var(--mc-gold-dark);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.mc-review-card-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 25px;
    line-height: 1;
    margin: 0;
    font-weight: 600;
}

.mc-review-card-body {
    padding: 21px;
}

.mc-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 21px 28px;
}

.mc-info-label {
    display: block;
    color: var(--mc-muted);
    text-transform: uppercase;
    letter-spacing: .1em;
    font-size: 8px;
    font-weight: 800;
    margin-bottom: 6px;
}

.mc-info-value {
    font-size: 12px;
    line-height: 1.6;
    font-weight: 600;
}

.mc-info-section {
    margin-top: 25px;
}

.mc-bio {
    color: #5f5954;
    font-size: 13px;
    line-height: 1.8;
    white-space: pre-line;
}

.mc-specialties {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.mc-specialty-tag {
    padding: 7px 10px;
    border-radius: 999px;
    background: var(--mc-soft);
    color: #5d544c;
    font-size: 10px;
    font-weight: 700;
}

.mc-review-main-photo {
    width: 100%;
    border-radius: 15px;
    overflow: hidden;
    background: var(--mc-soft);
}

.mc-review-main-photo img {
    width: 100%;
    max-height: 560px;
    object-fit: cover;
    display: block;
}

.mc-documents {
    display: grid;
    gap: 9px;
}

.mc-document {
    border: 1px solid var(--mc-line);
    border-radius: 12px;
    padding: 13px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    transition: .2s ease;
}

.mc-document:hover {
    background: #fcfaf7;
    border-color: #ddd2c6;
}

.mc-document-left {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
}

.mc-document-icon {
    width: 35px;
    height: 35px;
    flex: 0 0 35px;
    border-radius: 9px;
    background: var(--mc-soft);
    display: grid;
    place-items: center;
    color: var(--mc-gold-dark);
    font-size: 9px;
    font-weight: 800;
}

.mc-document-name {
    font-size: 11px;
    font-weight: 700;
}

.mc-document-type {
    color: var(--mc-muted);
    font-size: 9px;
    margin-top: 3px;
}

.mc-document-link {
    flex-shrink: 0;
    padding: 8px 10px;
    border-radius: 8px;
    background: var(--mc-soft);
    color: var(--mc-ink);
    font-size: 9px;
    font-weight: 800;
}

.mc-document-link:hover {
    background: var(--mc-dark);
    color: #fff;
}

.mc-empty-document {
    padding: 15px;
    border: 1px dashed var(--mc-line);
    border-radius: 11px;
    color: var(--mc-muted);
    text-align: center;
    font-size: 10px;
}


/* =========================================================
   APPLICATION DECISION
========================================================= */

.mc-action-card {
    position: sticky;
    top: 94px;
}

.mc-decision-status {
    padding: 15px;
    border-radius: 12px;
    background: #f8f4ee;
    margin-bottom: 19px;
}

.mc-action-form {
    display: grid;
    gap: 13px;
}

.mc-textarea {
    width: 100%;
    min-height: 120px;
    resize: vertical;
    border: 1px solid var(--mc-line);
    border-radius: 11px;
    padding: 12px;
    outline: none;
    background: #fff;
    color: var(--mc-ink);
    font-size: 11px;
    line-height: 1.6;
    transition: .2s ease;
}

.mc-textarea:focus {
    border-color: var(--mc-gold);
    box-shadow: 0 0 0 3px rgba(182,149,94,.08);
}

.mc-decision-actions {
    display: grid;
    gap: 7px;
}

.mc-decision-btn {
    width: 100%;
    border: 1px solid var(--mc-line);
    border-radius: 11px;
    padding: 11px 13px;
    text-align: left;
    background: #fff;
    cursor: pointer;
    transition: .2s ease;
}

.mc-decision-btn span {
    display: block;
    font-size: 10px;
    font-weight: 800;
}

.mc-decision-btn small {
    display: block;
    margin-top: 3px;
    color: var(--mc-muted);
    font-size: 8px;
}

.mc-decision-review:hover {
    border-color: var(--mc-blue);
    background: #f3f6f8;
}

.mc-decision-approve:hover {
    border-color: var(--mc-green);
    background: #f1f6f2;
}

.mc-decision-pending:hover {
    border-color: var(--mc-gold);
    background: #faf6ee;
}

.mc-decision-reject:hover {
    border-color: var(--mc-red);
    background: #fbf2f2;
}

.mc-danger-divider {
    height: 1px;
    background: var(--mc-line);
    margin: 20px 0 13px;
}

.mc-delete-btn {
    width: 100%;
    padding: 10px 13px;
    border: 1px solid #ead2d2;
    border-radius: 9px;
    background: transparent;
    color: var(--mc-red);
    cursor: pointer;
    font-size: 10px;
    font-weight: 800;
    transition: .2s ease;
}

.mc-delete-btn:hover {
    background: #fbefef;
    border-color: #dfbcbc;
}

.mc-danger-note {
    margin-top: 9px;
    color: var(--mc-muted);
    font-size: 9px;
    line-height: 1.6;
}


/* =========================================================
   APPLICATION META
========================================================= */

.mc-meta-card {
    margin-top: 18px;
}

.mc-meta-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    padding: 11px 0;
    border-bottom: 1px solid #eee8e1;
}

.mc-meta-row:first-child {
    padding-top: 0;
}

.mc-meta-row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.mc-meta-row span {
    color: var(--mc-muted);
    font-size: 9px;
}

.mc-meta-row strong {
    font-size: 9px;
    text-align: right;
}

.mc-meta-break {
    max-width: 180px;
    word-break: break-word;
}


/* =========================================================
   APPLICATION RESPONSIVE
========================================================= */

@media (max-width: 950px) {

    .mc-review-layout {
        grid-template-columns: 1fr;
    }

    .mc-action-card {
        position: static;
    }

}

@media (max-width: 700px) {

    .mc-review-summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .mc-review-summary-status {
        text-align: left;
    }

    .mc-info-grid {
        grid-template-columns: 1fr;
    }

    .mc-filter-search {
        min-width: 100%;
    }

    .mc-filter-bar .mc-filter-select {
        flex: 1;
    }

}

@media (max-width: 500px) {

    .mc-review-summary {
        padding: 15px;
    }

    .mc-review-summary-avatar {
        width: 52px;
        height: 52px;
        flex-basis: 52px;
    }

    .mc-review-summary-name {
        font-size: 25px;
    }

    .mc-review-summary-meta {
        flex-wrap: wrap;
    }

    .mc-review-card-body {
        padding: 17px;
    }

    .mc-review-card-header {
        padding: 16px 17px;
    }

    .mc-review-card-title {
        font-size: 23px;
    }

}
























.mc-booking-therapists {
    display: grid;
    gap: 12px;
}

.mc-booking-therapist {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 13px;
    border: 1px solid var(--mc-line);
    border-radius: 16px;
    background: var(--mc-paper);
}

.mc-booking-therapist-avatar {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--mc-soft);
    color: var(--mc-gold-dark);
    font-family: "Cormorant Garamond", serif;
    font-size: 1.35rem;
    font-weight: 700;
}

.mc-booking-therapist-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mc-booking-therapist strong {
    display: block;
    color: var(--mc-ink);
    font-size: 0.9rem;
}

.mc-booking-therapist span {
    display: block;
    margin-top: 3px;
    color: var(--mc-muted);
    font-size: 0.76rem;
}

.mc-booking-status-form {
    margin-top: 10px;
}

.mc-booking-status-message {
    margin-top: 14px;
    padding: 13px 14px;
    border-radius: 14px;
    background: var(--mc-soft);
    color: var(--mc-muted);
    font-size: 0.82rem;
    line-height: 1.6;
}

.mc-booking-status-success {
    background: rgba(43, 122, 85, 0.08);
    color: var(--mc-green);
}

.mc-decision-btn {
    width: 100%;
}
































/* ====================================
   MASSAGECRIB FOOTER
==================================== */

.lux-footer {
    position: relative;
    margin-top: 0;
    padding: 76px 0 0;
    background:
        radial-gradient(
            circle at 80% 0%,
            rgba(190, 156, 93, 0.08),
            transparent 32%
        ),
        #171311;
    color: #f5eee5;
}

.lux-footer-top {
    display: grid;
    grid-template-columns: minmax(250px, 0.9fr) minmax(0, 1.6fr);
    gap: 80px;
    padding-bottom: 58px;
}

.lux-footer-brand {
    max-width: 390px;
}

.lux-footer-logo {
    display: inline-block;
    color: #f7efe6;
    font-family: "Cormorant Garamond", serif;
    font-size: 2.35rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    text-decoration: none;
}

.lux-footer-logo:hover {
    color: #f7efe6;
}

.lux-footer-text {
    max-width: 360px;
    margin: 17px 0 25px;
    color: rgba(245, 238, 229, 0.62);
    font-size: 0.9rem;
    line-height: 1.85;
}

.lux-footer-socials {
    display: flex;
    align-items: center;
    gap: 9px;
}

.lux-footer-socials a {
    width: 39px;
    height: 39px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(245, 238, 229, 0.13);
    border-radius: 50%;
    color: rgba(245, 238, 229, 0.76);
    background: rgba(255, 255, 255, 0.025);
    text-decoration: none;
    transition:
        color 0.25s ease,
        border-color 0.25s ease,
        background 0.25s ease,
        transform 0.25s ease;
}

.lux-footer-socials a:hover {
    color: #fff;
    border-color: rgba(190, 156, 93, 0.65);
    background: rgba(190, 156, 93, 0.1);
    transform: translateY(-2px);
}

.lux-footer-links-wrapper {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 35px;
}

.lux-footer-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.lux-footer-links h4 {
    margin: 4px 0 18px;
    color: #f7efe6;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.lux-footer-links a,
.lux-footer-logout-form button {
    display: inline-block;
    margin-bottom: 11px;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(245, 238, 229, 0.58);
    font-family: inherit;
    font-size: 0.83rem;
    line-height: 1.5;
    text-decoration: none;
    text-align: left;
    cursor: pointer;
    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.lux-footer-links a:hover,
.lux-footer-logout-form button:hover {
    color: #d6b678;
    transform: translateX(2px);
}

.lux-footer-logout-form {
    margin: 0;
    padding: 0;
}


/* TRUST STRIP */

.lux-footer-trust {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    padding: 25px 0;
    border-top: 1px solid rgba(245, 238, 229, 0.09);
    border-bottom: 1px solid rgba(245, 238, 229, 0.09);
}

.lux-footer-trust-item {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 4px 24px;
}

.lux-footer-trust-item:first-child {
    padding-left: 0;
}

.lux-footer-trust-item:last-child {
    padding-right: 0;
}

.lux-footer-trust-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(190, 156, 93, 0.2);
    border-radius: 50%;
    color: #c8a86b;
    font-size: 0.78rem;
}

.lux-footer-trust-item strong {
    display: block;
    margin-bottom: 3px;
    color: rgba(245, 238, 229, 0.87);
    font-size: 0.78rem;
    font-weight: 600;
}

.lux-footer-trust-item span:not(.lux-footer-trust-icon) {
    display: block;
    color: rgba(245, 238, 229, 0.43);
    font-size: 0.72rem;
    line-height: 1.55;
}


/* BOTTOM */

.lux-footer-bottom {
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
}

.lux-footer-copy {
    color: rgba(245, 238, 229, 0.42);
    font-size: 0.72rem;
}

.lux-footer-bottom-links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 19px;
}

.lux-footer-bottom-links a {
    color: rgba(245, 238, 229, 0.48);
    font-size: 0.72rem;
    text-decoration: none;
    transition: color 0.2s ease;
}

.lux-footer-bottom-links a:hover {
    color: #d6b678;
}


/* RESPONSIVE */

@media (max-width: 1050px) {

    .lux-footer-top {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .lux-footer-brand {
        max-width: 600px;
    }

    .lux-footer-text {
        max-width: 520px;
    }

}


@media (max-width: 800px) {

    .lux-footer {
        padding-top: 60px;
    }

    .lux-footer-links-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 38px;
    }

    .lux-footer-trust {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .lux-footer-trust-item,
    .lux-footer-trust-item:first-child,
    .lux-footer-trust-item:last-child {
        padding: 15px 0;
    }

}


@media (max-width: 600px) {

    .lux-footer {
        padding-top: 50px;
    }

    .lux-footer-top {
        gap: 42px;
        padding-bottom: 42px;
    }

    .lux-footer-links-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 32px 20px;
    }

    .lux-footer-logo {
        font-size: 2rem;
    }

    .lux-footer-bottom {
        min-height: auto;
        flex-direction: column;
        align-items: flex-start;
        padding: 24px 0 28px;
        gap: 16px;
    }

    .lux-footer-bottom-links {
        justify-content: flex-start;
        gap: 10px 17px;
    }

}


@media (max-width: 400px) {

    .lux-footer-links-wrapper {
        grid-template-columns: 1fr 1fr;
    }

    .lux-footer-links a,
    .lux-footer-logout-form button {
        font-size: 0.78rem;
    }

}
























/* ====================================
   PUBLIC INFORMATION PAGES
==================================== */

.mc-public-page {
    min-height: 70vh;
    padding: 90px 0 110px;
    background: #f8f5ef;
}

.mc-public-page-header {
    max-width: 850px;
    margin: 0 auto 55px;
    text-align: center;
}

.mc-public-eyebrow {
    margin-bottom: 10px;
    color: var(--mc-gold-dark);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.mc-public-page-header h1 {
    margin: 0;
    color: var(--mc-ink);
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(2.7rem, 5vw, 4.6rem);
    font-weight: 600;
    line-height: 0.98;
    letter-spacing: -0.03em;
}

.mc-public-page-header p {
    max-width: 650px;
    margin: 20px auto 0;
    color: var(--mc-muted);
    font-size: 1rem;
    line-height: 1.8;
}

.mc-public-page-content {
    max-width: 980px;
    margin: 0 auto;
}

.mc-content-section {
    max-width: 820px;
    margin: 0 auto 55px;
}

.mc-content-section h2,
.mc-legal-page h2 {
    margin: 42px 0 14px;
    color: var(--mc-ink);
    font-family: "Cormorant Garamond", serif;
    font-size: 2rem;
    font-weight: 600;
}

.mc-content-section h2:first-child,
.mc-legal-page h2:first-child {
    margin-top: 0;
}

.mc-content-section p,
.mc-legal-page p {
    color: var(--mc-muted);
    font-size: 0.95rem;
    line-height: 1.9;
}

.mc-lead {
    color: var(--mc-ink) !important;
    font-family: "Cormorant Garamond", serif;
    font-size: 1.65rem !important;
    line-height: 1.5 !important;
}

.mc-content-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 60px;
}

.mc-content-card {
    padding: 30px;
    border: 1px solid var(--mc-line);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.7);
    box-shadow: 0 12px 35px rgba(42, 29, 20, 0.035);
}

.mc-content-card > span:first-child,
.mc-content-card-label {
    display: block;
    margin-bottom: 16px;
    color: var(--mc-gold-dark);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.mc-content-card h2 {
    margin: 0 0 12px;
    color: var(--mc-ink);
    font-family: "Cormorant Garamond", serif;
    font-size: 1.65rem;
    font-weight: 600;
}

.mc-content-card p {
    margin: 0;
    color: var(--mc-muted);
    font-size: 0.86rem;
    line-height: 1.8;
}

.mc-inline-link {
    display: inline-block;
    margin-top: 18px;
    color: var(--mc-gold-dark);
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
}

.mc-inline-link:hover {
    color: var(--mc-ink);
}

.mc-content-actions,
.mc-contact-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.mc-page-primary-btn,
.mc-page-secondary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s ease;
}

.mc-page-primary-btn {
    background: var(--mc-ink);
    color: #fff;
}

.mc-page-primary-btn:hover {
    color: #fff;
    transform: translateY(-1px);
}

.mc-page-secondary-btn {
    border: 1px solid var(--mc-line);
    background: #fff;
    color: var(--mc-ink);
}

.mc-page-secondary-btn:hover {
    color: var(--mc-ink);
    border-color: var(--mc-gold);
}


/* FAQ */

.mc-faq-list {
    max-width: 850px;
    margin: 0 auto;
}

.mc-faq-list details {
    border-bottom: 1px solid var(--mc-line);
}

.mc-faq-list details:first-child {
    border-top: 1px solid var(--mc-line);
}

.mc-faq-list summary {
    position: relative;
    padding: 22px 42px 22px 0;
    color: var(--mc-ink);
    font-family: "Cormorant Garamond", serif;
    font-size: 1.45rem;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
}

.mc-faq-list summary::-webkit-details-marker {
    display: none;
}

.mc-faq-list summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translateY(-50%);
    color: var(--mc-gold-dark);
    font-family: Inter, sans-serif;
    font-size: 1.1rem;
    font-weight: 400;
}

.mc-faq-list details[open] summary::after {
    content: "−";
}

.mc-faq-list details > div {
    max-width: 750px;
    padding: 0 0 23px;
}

.mc-faq-list p {
    margin: 0;
    color: var(--mc-muted);
    font-size: 0.9rem;
    line-height: 1.85;
}

.mc-faq-list a {
    display: inline-block;
    margin-top: 12px;
    color: var(--mc-gold-dark);
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
}


/* CONTACT */

.mc-contact-grid {
    display: grid;
    grid-template-columns: 1.35fr 0.8fr;
    gap: 24px;
    align-items: start;
}


/* LEGAL */

.mc-legal-page {
    max-width: 820px;
    margin: 0 auto;
}

.mc-legal-page h2 {
    padding-top: 15px;
    border-top: 1px solid transparent;
}

.mc-legal-updated {
    margin-bottom: 30px;
    color: var(--mc-gold-dark) !important;
    font-size: 0.75rem !important;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.mc-legal-page a {
    color: var(--mc-gold-dark);
    font-weight: 600;
    text-decoration: none;
}


/* RESPONSIVE */

@media (max-width: 800px) {

    .mc-public-page {
        padding: 65px 0 80px;
    }

    .mc-content-grid {
        grid-template-columns: 1fr;
    }

    .mc-contact-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 600px) {

    .mc-public-page-header {
        margin-bottom: 40px;
    }

    .mc-public-page-header h1 {
        font-size: 2.8rem;
    }

    .mc-content-card {
        padding: 24px;
    }

    .mc-lead {
        font-size: 1.4rem !important;
    }

    .mc-content-actions,
    .mc-contact-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .mc-page-primary-btn,
    .mc-page-secondary-btn {
        width: 100%;
    }

}



















.mc-legal-page ul,
.mc-legal-page ol {
    margin: 18px 0 28px;
    padding-left: 24px;
    color: var(--mc-muted);
}

.mc-legal-page li {
    margin-bottom: 9px;
    padding-left: 4px;
    font-size: 0.92rem;
    line-height: 1.75;
}

.mc-legal-page strong {
    color: var(--mc-ink);
    font-weight: 700;
}

.mc-legal-contact {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-top: 25px;
    padding: 24px;
    border: 1px solid var(--mc-line);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.65);
}

.mc-legal-contact span {
    color: var(--mc-muted);
    font-size: 0.86rem;
}

.mc-legal-notice {
    margin-top: 55px;
    padding: 28px;
    border: 1px solid rgba(190, 156, 93, 0.28);
    border-radius: 20px;
    background: rgba(190, 156, 93, 0.06);
}

.mc-legal-notice > strong {
    display: block;
    margin-bottom: 12px;
    font-family: "Cormorant Garamond", serif;
    font-size: 1.4rem;
}

.mc-legal-notice p {
    margin: 10px 0 0;
}

@media (max-width: 600px) {
    .mc-legal-notice {
        padding: 22px;
    }

    .mc-legal-contact {
        padding: 20px;
    }
}




















/* =========================================================
   CONTACT PAGE
   ========================================================= */

.mc-contact-page {
    padding: 90px 0 110px;
    background: var(--mc-cream, #f7f3ed);
}

.mc-contact-page .mc-public-page-header {
    max-width: 760px;
    margin-bottom: 55px;
}

.mc-contact-page .mc-public-page-header h1 {
    margin-bottom: 18px;
}

.mc-contact-page .mc-public-page-header p {
    max-width: 680px;
}


/* GRID */

.mc-contact-grid {
    display: grid;
    grid-template-columns: minmax(280px, .8fr) minmax(0, 1.35fr);
    gap: 45px;
    align-items: start;
}


/* LEFT */

.mc-contact-info {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.mc-contact-info .mc-content-card {
    padding: 38px;
    border-radius: 24px;
}

.mc-contact-info .mc-content-card h2 {
    margin: 8px 0 16px;
    font-family: "Cormorant Garamond", serif;
    font-size: 38px;
    line-height: 1.05;
    color: var(--mc-ink, #181514);
}

.mc-contact-info .mc-content-card p {
    margin: 0;
    color: var(--mc-muted, #77716b);
    line-height: 1.8;
}


/* INFO ITEMS */

.mc-contact-info-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.mc-contact-info-item {
    display: flex;
    gap: 16px;
    padding: 19px 18px;
    border: 1px solid var(--mc-line, #e6dfd6);
    border-radius: 17px;
    background: rgba(255, 255, 255, .55);
}

.mc-contact-info-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(167, 126, 62, .10);
    color: var(--mc-gold-dark, #8d6934);
}

.mc-contact-info-item strong {
    display: block;
    margin-bottom: 4px;
    font-size: 14px;
    color: var(--mc-ink, #181514);
}

.mc-contact-info-item span {
    display: block;
    font-size: 13px;
    line-height: 1.55;
    color: var(--mc-muted, #77716b);
}


/* FORM CARD */

.mc-contact-form-card {
    padding: 42px;
    border: 1px solid var(--mc-line, #e6dfd6);
    border-radius: 26px;
    background: #fffdf9;
    box-shadow: 0 18px 55px rgba(31, 24, 18, .06);
}

.mc-contact-form-header {
    margin-bottom: 30px;
}

.mc-contact-form-header h2 {
    margin: 7px 0 10px;
    font-family: "Cormorant Garamond", serif;
    font-size: 42px;
    line-height: 1.05;
    color: var(--mc-ink, #181514);
}

.mc-contact-form-header p {
    max-width: 650px;
    margin: 0;
    color: var(--mc-muted, #77716b);
    line-height: 1.7;
}


/* FORM */

.mc-contact-form {
    display: flex;
    flex-direction: column;
    gap: 21px;
}

.mc-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.mc-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mc-form-group label {
    font-size: 13px;
    font-weight: 600;
    color: var(--mc-ink, #181514);
    letter-spacing: .01em;
}

.mc-form-group label span {
    margin-left: 5px;
    font-size: 11px;
    font-weight: 400;
    color: var(--mc-muted, #77716b);
}

.mc-form-group input,
.mc-form-group select,
.mc-form-group textarea {
    width: 100%;
    border: 1px solid #ded6cc;
    border-radius: 13px;
    background: #fff;
    color: var(--mc-ink, #181514);
    padding: 13px 15px;
    font-family: inherit;
    font-size: 14px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.mc-form-group input,
.mc-form-group select {
    min-height: 49px;
}

.mc-form-group textarea {
    resize: vertical;
    min-height: 175px;
    line-height: 1.65;
}

.mc-form-group input::placeholder,
.mc-form-group textarea::placeholder {
    color: #aaa39c;
}

.mc-form-group input:focus,
.mc-form-group select:focus,
.mc-form-group textarea:focus {
    border-color: var(--mc-gold, #a77e3e);
    box-shadow: 0 0 0 3px rgba(167, 126, 62, .09);
}


/* MESSAGE META */

.mc-message-meta {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-top: -1px;
    font-size: 11px;
    color: var(--mc-muted, #77716b);
}

.mc-message-meta span:last-child {
    white-space: nowrap;
}


/* SUBMIT */

.mc-contact-submit {
    width: 100%;
    min-height: 54px;
    margin-top: 4px;
    border: 0;
    border-radius: 13px;
    background: var(--mc-dark, #181514);
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .01em;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    transition: transform .2s ease, background .2s ease;
}

.mc-contact-submit:hover {
    background: #2b2521;
    transform: translateY(-1px);
}

.mc-contact-submit span {
    font-size: 19px;
}


/* SUCCESS */

.mc-contact-success {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 28px;
    padding: 18px 20px;
    border: 1px solid rgba(67, 119, 80, .20);
    border-radius: 16px;
    background: rgba(67, 119, 80, .07);
    color: #315d3c;
}

.mc-contact-success-icon {
    width: 30px;
    height: 30px;
    min-width: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(67, 119, 80, .12);
    font-weight: 700;
}

.mc-contact-success strong {
    display: block;
    margin-bottom: 3px;
}

.mc-contact-success p {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
}


/* ERROR */

.mc-contact-error {
    margin-bottom: 28px;
    padding: 16px 18px;
    border: 1px solid rgba(160, 60, 60, .18);
    border-radius: 14px;
    background: rgba(160, 60, 60, .06);
    color: #8a3e3e;
    font-size: 13px;
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .mc-contact-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .mc-contact-info {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: start;
    }

    .mc-contact-info-list {
        gap: 10px;
    }

}

@media (max-width: 700px) {

    .mc-contact-page {
        padding: 65px 0 80px;
    }

    .mc-contact-page .mc-public-page-header {
        margin-bottom: 35px;
    }

    .mc-contact-info {
        display: flex;
    }

    .mc-contact-info .mc-content-card,
    .mc-contact-form-card {
        padding: 27px 22px;
        border-radius: 20px;
    }

    .mc-contact-info .mc-content-card h2 {
        font-size: 33px;
    }

    .mc-contact-form-header h2 {
        font-size: 36px;
    }

    .mc-form-grid {
        grid-template-columns: 1fr;
        gap: 21px;
    }

}

@media (max-width: 480px) {

    .mc-contact-page {
        padding: 50px 0 65px;
    }

    .mc-contact-info .mc-content-card,
    .mc-contact-form-card {
        padding: 23px 18px;
    }

    .mc-contact-form-header h2 {
        font-size: 32px;
    }

    .mc-message-meta {
        flex-direction: column;
        gap: 5px;
    }

    .mc-message-meta span:last-child {
        white-space: normal;
    }

}

























/* =========================================================
   ADMIN CONTACT MESSAGES
   ========================================================= */

.mc-message-category {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(167, 126, 62, .08);
    color: var(--mc-gold-dark, #8d6934);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
}

.mc-message-sender {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.mc-message-sender strong {
    font-size: 13px;
    color: var(--mc-ink, #181514);
}

.mc-message-sender span {
    font-size: 11px;
    color: var(--mc-muted, #77716b);
}

.mc-table-date {
    display: block;
    font-size: 12px;
    color: var(--mc-ink, #181514);
}

.mc-table-time {
    display: block;
    margin-top: 3px;
    color: var(--mc-muted, #77716b);
    font-size: 10px;
}

.mc-message-full {
    padding: 24px;
    border-radius: 16px;
    background: #faf7f2;
    border: 1px solid var(--mc-line, #e6dfd6);
    color: var(--mc-ink, #181514);
    font-size: 14px;
    line-height: 1.85;
    white-space: normal;
}

.mc-message-category-large {
    margin-top: 15px;
    padding: 13px 15px;
    border-radius: 13px;
    background: rgba(167, 126, 62, .08);
    color: var(--mc-gold-dark, #8d6934);
    font-size: 13px;
    font-weight: 600;
}

.mc-inline-link {
    color: var(--mc-gold-dark, #8d6934);
    text-decoration: none;
}

.mc-inline-link:hover {
    text-decoration: underline;
}

.mc-admin-btn-full {
    width: 100%;
    justify-content: center;
    margin-top: 10px;
}

.mc-back-link {
    display: inline-flex;
    align-items: center;
    margin-bottom: 18px;
    color: var(--mc-muted, #77716b);
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
}

.mc-back-link:hover {
    color: var(--mc-ink, #181514);
}

.mc-admin-pagination {
    padding: 20px 24px;
    border-top: 1px solid var(--mc-line, #e6dfd6);
}

.mc-admin-pagination nav {
    display: flex;
    justify-content: center;
}

.mc-admin-pagination .pagination {
    margin: 0;
}

.mc-admin-pagination .page-link {
    border-color: var(--mc-line, #e6dfd6);
    color: var(--mc-ink, #181514);
}

.mc-admin-pagination .page-item.active .page-link {
    background: var(--mc-dark, #181514);
    border-color: var(--mc-dark, #181514);
    color: #fff;
}

.mc-status-new {
    background: rgba(63, 103, 146, .10);
    color: #3f6792;
}

.mc-status-warning {
    background: rgba(167, 126, 62, .12);
    color: var(--mc-gold-dark, #8d6934);
}

.mc-status-success {
    background: rgba(67, 119, 80, .10);
    color: #39704a;
}

.mc-status-muted {
    background: rgba(100, 95, 90, .10);
    color: #6d6862;
}

@media (max-width: 700px) {

    .mc-message-full {
        padding: 18px;
        font-size: 13px;
    }

    .mc-admin-pagination {
        padding: 15px;
    }

}











.mc-primary-photo-upload {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-top: 25px;
}

.mc-primary-photo-copy {
    flex: 1;
    min-width: 0;
}

.mc-primary-photo-drop {
    position: relative;
    display: block;
    width: 190px;
    flex: 0 0 190px;
    cursor: pointer;
}

.mc-primary-photo-preview {
    position: relative;
    width: 190px;
    height: 235px;
    overflow: hidden;
    border-radius: 18px;
    background: #eee8df;
    border: 1px solid #e0d8ce;
}

.mc-primary-photo-preview img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.mc-primary-photo-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 9px;
    padding: 10px 12px;
    border: 1px solid #ddd5ca;
    border-radius: 10px;
    background: #fffdf9;
    color: var(--mc-ink, #181514);
    font-size: 11px;
    font-weight: 600;
}

.mc-primary-photo-action i {
    color: var(--mc-gold-dark, #8d6934);
}

.mc-primary-photo-drop > input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.mc-primary-photo-overlay {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 11px;
    border-radius: 10px;
    background: rgba(24, 21, 20, .78);
    backdrop-filter: blur(8px);
    color: #fff;
    font-size: 10px;
    font-weight: 600;
}

.mc-primary-photo-overlay i {
    color: #9bc6a5;
}

.mc-photo-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #8b8279;
    font-size: 12px;
}

.mc-photo-placeholder i {
    font-size: 24px;
    color: var(--mc-gold-dark, #8d6934);
}

.mc-photo-remove {
    position: absolute;
    top: 9px;
    right: 9px;
    width: 29px;
    height: 29px;
    border: 0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(24, 21, 20, .78);
    color: #fff;
    cursor: pointer;
    z-index: 5;
}

.mc-photo-remove:hover {
    background: #181514;
}

.mc-primary-photo-drop.is-dragging
.mc-primary-photo-preview {
    border-color: var(--mc-gold, #a77e3e);
    box-shadow: 0 0 0 4px rgba(167, 126, 62, .10);
}

.mc-primary-photo-drop.is-error
.mc-primary-photo-preview {
    border-color: #a14d4d;
    box-shadow: 0 0 0 4px rgba(161, 77, 77, .08);
}













/* =========================================================
   DOCUMENT UPLOADS
   ========================================================= */

.mc-documents-upload-section {
    margin-top: 42px;
}

.mc-upload-section-heading {
    margin-bottom: 20px;
}

.mc-upload-section-heading h3 {
    margin: 6px 0 8px;
    font-family: "Cormorant Garamond", serif;
    font-size: 32px;
    color: var(--mc-ink, #181514);
}

.mc-upload-section-heading p {
    max-width: 650px;
    margin: 0;
    color: var(--mc-muted, #77716b);
    font-size: 13px;
    line-height: 1.7;
}

.mc-file-upload-card {
    display: flex;
    gap: 18px;
    padding: 21px;
    margin-bottom: 12px;
    border: 1px solid #e5ded5;
    border-radius: 18px;
    background: #fffdf9;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.mc-file-upload-card.has-file {
    border-color: rgba(167, 126, 62, .45);
    background: #fffaf2;
    box-shadow: 0 8px 25px rgba(31, 24, 18, .04);
}

.mc-file-upload-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(167, 126, 62, .10);
    color: var(--mc-gold-dark, #8d6934);
    font-size: 17px;
}

.mc-video-icon {
    background: rgba(42, 31, 24, .07);
    color: var(--mc-ink, #181514);
}

.mc-file-upload-content {
    flex: 1;
    min-width: 0;
}

.mc-file-upload-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
}

.mc-file-upload-title {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--mc-ink, #181514);
}

.mc-file-upload-description {
    display: block;
    margin-top: 4px;
    color: var(--mc-muted, #77716b);
    font-size: 12px;
    line-height: 1.5;
}

.mc-upload-optional {
    flex-shrink: 0;
    padding: 5px 9px;
    border-radius: 999px;
    background: #f2eee8;
    color: #7c746c;
    font-size: 10px;
    font-weight: 600;
}

.mc-selected-file {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 15px;
    padding: 12px;
    border: 1px dashed #ddd5cb;
    border-radius: 13px;
    background: #faf8f4;
}

.mc-selected-file.has-file {
    border-style: solid;
    border-color: rgba(167, 126, 62, .30);
    background: rgba(167, 126, 62, .05);
}

.mc-selected-file-icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #eee9e1;
    color: #777069;
}

.mc-selected-file.has-file .mc-selected-file-icon {
    background: rgba(167, 126, 62, .12);
    color: var(--mc-gold-dark, #8d6934);
}

.mc-selected-file-info {
    min-width: 0;
    flex: 1;
}

.mc-selected-file-name {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--mc-ink, #181514);
    font-size: 12px;
}

.mc-selected-file-meta {
    display: block;
    margin-top: 3px;
    color: var(--mc-muted, #77716b);
    font-size: 10px;
}

.mc-selected-file-check {
    display: none;
    color: #3d7750;
    font-size: 16px;
}

.mc-selected-file.has-file .mc-selected-file-check {
    display: block;
}

.mc-file-select-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    margin-top: 11px;
    padding: 0 15px;
    border: 1px solid #d8d0c6;
    border-radius: 10px;
    background: #fff;
    color: var(--mc-ink, #181514);
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s ease;
}

.mc-file-select-btn:hover {
    border-color: var(--mc-gold, #a77e3e);
    color: var(--mc-gold-dark, #8d6934);
}


/* =========================================================
   VIDEO PREVIEW
   ========================================================= */

.mc-video-preview {
    margin-top: 14px;
}

.mc-video-preview:empty {
    display: none;
}

.mc-video-preview-inner {
    overflow: hidden;
    border: 1px solid #e4ddd4;
    border-radius: 14px;
    background: #181514;
}

.mc-video-preview-inner video {
    display: block;
    width: 100%;
    max-height: 360px;
    background: #000;
}

.mc-video-preview-info {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    color: #fff;
    font-size: 11px;
}

.mc-video-preview-info i {
    color: #8fc69a;
}


/* =========================================================
   REAL UPLOAD PROGRESS
   ========================================================= */

.mc-application-upload-progress {
    margin-top: 25px;
    padding: 20px;
    border: 1px solid rgba(167, 126, 62, .28);
    border-radius: 17px;
    background: #fffaf2;
}

.mc-upload-progress-header {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 13px;
}

.mc-upload-progress-header strong {
    display: block;
    color: var(--mc-ink, #181514);
    font-size: 13px;
}

.mc-upload-progress-header span {
    display: block;
    margin-top: 4px;
    color: var(--mc-muted, #77716b);
    font-size: 11px;
}

.mc-upload-progress-header > strong:last-child {
    font-size: 15px;
    color: var(--mc-gold-dark, #8d6934);
}

.mc-upload-progress-track {
    width: 100%;
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: #e9e2d8;
}

.mc-upload-progress-bar {
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: var(--mc-gold, #a77e3e);
    transition: width .15s ease;
}

.mc-upload-progress-file {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 11px;
    color: var(--mc-muted, #77716b);
    font-size: 11px;
}

.mc-upload-progress-file i {
    color: var(--mc-gold-dark, #8d6934);
}


/* =========================================================
   DISABLED BUTTON
   ========================================================= */

.mc-next-btn:disabled {
    opacity: .65;
    cursor: not-allowed;
    transform: none !important;
}

.mc-back-btn.is-disabled {
    pointer-events: none;
    opacity: .5;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 600px) {

    .mc-file-upload-card {
        padding: 17px;
        gap: 13px;
    }

    .mc-file-upload-icon {
        width: 42px;
        height: 42px;
        min-width: 42px;
    }

    .mc-file-upload-top {
        flex-direction: column;
        gap: 8px;
    }

    .mc-upload-optional {
        align-self: flex-start;
    }

    .mc-selected-file {
        padding: 10px;
    }

    .mc-selected-file-name {
        max-width: 180px;
    }

    .mc-upload-progress-header {
        align-items: flex-start;
    }

}