:root {
    --met-bg: #f4f8fc;
    --met-card: #ffffff;
    --met-primary: #143d63;
    --met-accent: #1f72b8;
    --met-accent-light: #eef5fb;
    --met-text: #213c56;
    --met-muted: #5b7389;
    --met-border: #d5e2ec;
    --met-border-light: #e8f0f8;
    --met-shadow: 0 8px 24px rgba(20, 61, 99, 0.06);
    --met-shadow-active: 0 12px 32px rgba(31, 114, 184, 0.15);
    --met-radius: 16px;
    --met-radius-sm: 12px;
}

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

body {
    margin: 0;
    padding: 0;
    background: var(--met-bg);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: var(--met-text);
    -webkit-font-smoothing: antialiased;
}

.met-patient-portal {
    background: var(--met-bg);
    padding: 0 0 32px;
}

.met-patient-bg-art {
    display: none;
}

.met-patient-shell {
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px 16px;
    display: grid;
    gap: 16px;
    width: 100%;
}

.met-state-hidden,
[hidden] {
    display: none !important;
}

.met-patient-hero {
    background: var(--met-card);
    border: 1px solid var(--met-border);
    border-radius: var(--met-radius);
    padding: 20px 24px;
    box-shadow: var(--met-shadow);
}

.met-patient-hero__content {
    min-width: 0;
}

.met-patient-badge,
.met-booking-summary__badge,
.met-badge,
.met-badge--soft {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    background: var(--met-accent-light);
    color: var(--met-accent);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: 99px;
    margin-bottom: 12px;
}

.met-patient-title {
    margin: 0 0 8px;
    font-size: clamp(24px, 5vw, 36px);
    color: var(--met-primary);
    line-height: 1.1;
    letter-spacing: -0.02em;
}

.met-patient-copy {
    margin: 0;
    color: var(--met-muted);
    font-size: clamp(14px, 2vw, 16px);
    line-height: 1.5;
    max-width: 800px;
}

.met-patient-main,
.met-patient-form {
    margin: 0;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}

.met-form-header {
    display: none;
}

.met-booking-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 24px;
    align-items: start;
}

.met-booking-content {
    min-width: 0;
}

.met-stepper {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    margin: 0 0 24px 0;
    padding: 0;
}

.met-stepper__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 16px 8px;
    background: var(--met-card);
    border: 1px solid var(--met-border);
    border-radius: var(--met-radius-sm);
    color: var(--met-muted);
    cursor: pointer;
    font-family: inherit;
    transition: all 0.2s ease;
}

.met-stepper__item:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.met-stepper__item.is-active {
    border-color: var(--met-accent);
    box-shadow: var(--met-shadow-active);
    color: var(--met-primary);
    background: #fff;
    transform: translateY(-2px);
}

.met-stepper__item.is-done {
    border-color: #bdd8ea;
    background: #f8fbff;
}

.met-stepper__index {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--met-border-light);
    border-radius: 50%;
    font-weight: 800;
    font-size: 14px;
    color: var(--met-muted);
}

.met-stepper__item.is-active .met-stepper__index,
.met-stepper__item.is-done .met-stepper__index {
    background: var(--met-accent);
    color: #fff;
}

.met-stepper__label {
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    line-height: 1.2;
}

.met-booking-flow {
    background: var(--met-card);
    border: 1px solid var(--met-border);
    border-radius: var(--met-radius);
    padding: 24px;
    box-shadow: var(--met-shadow);
}

.met-booking-flow__head {
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--met-border-light);
}

.met-booking-flow__title {
    margin: 0 0 6px;
    font-size: 24px;
    color: var(--met-primary);
}

.met-booking-flow__copy {
    margin: 0;
    font-size: 15px;
    color: var(--met-muted);
}

.met-wizard-panels {
    display: grid;
    gap: 0;
}

.met-wizard-panel {
    min-width: 0;
}

.met-step-card {
    display: block;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}

.met-step-card__meta {
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: var(--met-accent);
    margin-bottom: 8px;
}

.met-step-card__title {
    font-size: 22px;
    margin: 0 0 6px;
    color: var(--met-primary);
}

.met-step-card__copy {
    font-size: 14px;
    color: var(--met-muted);
    margin: 0 0 20px;
    line-height: 1.5;
}

.met-choice-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
}

.met-choice-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--met-border);
    border-radius: var(--met-radius-sm);
    padding: 0;
    cursor: pointer;
    overflow: hidden;
    text-align: left;
    transition: all 0.2s ease;
    outline: none;
    font-family: inherit;
    color: var(--met-text);
}

.met-choice-card:hover {
    border-color: #a8c7e0;
    box-shadow: var(--met-shadow);
    transform: translateY(-2px);
}

.met-choice-card.is-selected {
    border-color: var(--met-accent);
    box-shadow: 0 0 0 2px rgba(31, 114, 184, 0.15);
    background: #fff;
}

.met-choice-card__media {
    background: #f8fafc;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    border-bottom: 1px solid var(--met-border-light);
}

.met-choice-card__media img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
}

.met-choice-card__body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.met-choice-card__eyebrow {
    font-size: 11px;
    font-weight: 700;
    color: var(--met-accent);
    text-transform: uppercase;
}

.met-choice-card__title {
    font-size: 15px;
    font-weight: 700;
    color: var(--met-text);
    line-height: 1.3;
}

.met-choice-card__meta {
    font-size: 13px;
    color: var(--met-muted);
}

.met-choice-card__copy {
    font-size: 12px;
    color: var(--met-muted);
    line-height: 1.5;
}

.met-selected-slot-callout__meta {
    margin-top: 6px;
    font-size: 13px;
    color: var(--met-muted);
    line-height: 1.5;
}

.met-choice-empty {
    padding: 18px;
    border: 1px dashed var(--met-border);
    border-radius: var(--met-radius-sm);
    background: #f8fbfe;
    color: var(--met-muted);
    font-size: 14px;
    line-height: 1.6;
}

.met-choice-loading {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 4px 12px;
    align-items: center;
    padding: 18px;
    border: 1px solid #d8e7f2;
    border-radius: var(--met-radius-sm);
    background: #f8fbfe;
    color: var(--met-muted);
}

.met-choice-loading__spinner {
    grid-row: span 2;
    width: 22px;
    height: 22px;
    border: 3px solid #d5e8f7;
    border-top-color: var(--met-accent);
    border-radius: 999px;
    animation: met-spin 0.8s linear infinite;
}

.met-choice-loading__title {
    color: var(--met-primary);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
}

.met-choice-loading__detail {
    font-size: 13px;
    line-height: 1.45;
}

.met-choice-empty--error {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    align-items: center;
    justify-content: space-between;
    border-color: #e7b8b8;
    background: #fff8f8;
    color: #7f1d1d;
}

.met-choice-retry {
    min-height: 38px;
    border: 1px solid #b9d5ea;
    border-radius: 999px;
    padding: 0 16px;
    background: #fff;
    color: var(--met-primary);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.met-choice-retry:focus-visible {
    outline: 3px solid rgba(96, 165, 250, 0.45);
    outline-offset: 2px;
}

@keyframes met-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .met-choice-loading__spinner {
        animation: none;
    }
}

.met-booking-summary {
    position: sticky;
    top: 24px;
    background: var(--met-card);
    border: 1px solid var(--met-border);
    border-radius: var(--met-radius);
    padding: 24px;
    box-shadow: var(--met-shadow);
}

.met-mobile-summary {
    display: none;
}

.met-booking-summary__title {
    margin: 0 0 12px;
    font-size: 20px;
    color: var(--met-primary);
}

.met-booking-summary__copy {
    margin: 0;
    color: var(--met-muted);
    font-size: 15px;
    line-height: 1.55;
}

.met-summary-list {
    margin: 20px 0;
    padding: 0;
    display: grid;
    gap: 12px;
}

.met-summary-item {
    background: #f8fafc;
    border: 1px solid var(--met-border-light);
    border-radius: 8px;
    padding: 12px 16px;
}

.met-summary-item dt {
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--met-muted);
    margin-bottom: 4px;
}

.met-summary-item dd {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--met-primary);
}

.met-summary-status {
    padding: 14px 16px;
    border-radius: 10px;
    background: var(--met-accent-light);
    color: var(--met-primary);
    font-weight: 600;
    line-height: 1.5;
}

.met-summary-actions {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.met-summary-edit,
.met-secondary-btn,
.met-primary-btn,
.met-slot-week-nav__btn,
.met-slot-day__toggle {
    min-height: 44px;
    border-radius: 12px;
    font-family: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
}

.met-summary-edit,
.met-secondary-btn,
.met-slot-week-nav__btn,
.met-slot-day__toggle {
    border: 1px solid var(--met-border);
    background: #fff;
    color: var(--met-primary);
}

.met-primary-btn {
    border: 1px solid var(--met-accent);
    background: var(--met-accent);
    color: #fff;
    padding: 0 16px;
}

.met-primary-btn:disabled,
.met-secondary-btn:disabled,
.met-slot-week-nav__btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.met-secondary-btn {
    padding: 0 16px;
}

.met-step-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.met-slot-toolbar {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 12px;
    align-items: end;
    margin-bottom: 16px;
}

.met-slot-toolbar--disabled,
.met-slot-week-nav--disabled,
.met-choice-grid--disabled {
    opacity: 0.66;
}

.met-slot-toolbar__group,
.met-slot-toolbar__group--search {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.met-slot-toolbar__label,
.met-input-group label {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--met-accent);
}

.met-slot-toolbar__select,
.met-slot-toolbar__search,
.met-input-group input,
.met-input-group select,
.met-input-group textarea {
    width: 100%;
    min-height: 48px;
    border: 1px solid var(--met-border);
    border-radius: 14px;
    padding: 0 14px;
    background: #fff;
    color: var(--met-primary);
    font-size: 15px;
    font-family: inherit;
}

.met-input-group textarea {
    min-height: 120px;
    padding: 14px;
    resize: vertical;
}

.met-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 16px;
}

.met-input-group {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.met-full-width {
    grid-column: 1 / -1;
}

.met-slot-highlight {
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid #b7d7ef;
    background: linear-gradient(180deg, #f5fbff 0%, #ebf6ff 100%);
    margin-bottom: 16px;
}

.met-slot-highlight__label,
.met-selected-slot-callout__label {
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #4681b0;
    margin-bottom: 8px;
}

.met-slot-highlight__button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #6ba7d6;
    border-radius: 16px;
    background: #fff;
    color: var(--met-primary);
    font-weight: 800;
    font-size: 16px;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(15, 95, 168, 0.12);
}

.met-slot-highlight__meta,
.met-selected-slot-callout__value {
    font-size: 14px;
    color: #4f6f8f;
    font-weight: 600;
}

.met-slot-weeks {
    display: grid;
    gap: 14px;
    align-content: start;
    min-width: 0;
}

.met-slot-week {
    border: 1px solid var(--met-border-light);
    border-radius: 20px;
    background: #fbfdff;
    padding: 16px;
}

.met-slot-week__head,
.met-slot-day__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.met-slot-week__head {
    margin-bottom: 14px;
}

.met-slot-week__title,
.met-slot-day__title {
    margin: 0;
    color: var(--met-primary);
}

.met-slot-week__title {
    font-size: 16px;
}

.met-slot-week__meta,
.met-slot-day__date,
.met-slot-day__count {
    font-size: 13px;
    color: var(--met-muted);
    font-weight: 700;
}

.met-slot-day {
    border-top: 1px solid var(--met-border-light);
    padding-top: 14px;
    margin-top: 14px;
}

.met-slot-day:first-of-type {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
}

.met-slot-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.met-choice-card--slot {
    padding: 14px;
    border-radius: 16px;
    min-height: 84px;
}

.met-choice-card--slot .met-choice-card__title {
    font-size: 18px;
    font-weight: 900;
}

.met-slot-day__toggle {
    margin-top: 12px;
    padding: 0 14px;
}

.met-slot-week-nav {
    display: grid;
    grid-template-columns: minmax(132px, 1fr) minmax(0, auto) minmax(132px, 1fr);
    gap: 10px;
    align-items: center;
    padding: 12px 14px;
    border: 1px solid var(--met-border-light);
    border-radius: 18px;
    background: #f8fbfe;
    margin-bottom: 16px;
}

.met-slot-week-nav__label {
    text-align: center;
    font-weight: 800;
    color: var(--met-primary);
}

.met-slot-week-nav__icon {
    display: block;
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.met-selected-slot-callout {
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid var(--met-border-light);
    border-radius: 14px;
    background: #f8fbfe;
}

.met-patient-privacy-row {
    display: grid;
    gap: 12px;
    margin-top: 20px;
}

.met-check {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 14px 16px;
    border: 1px solid var(--met-border);
    border-radius: 14px;
    background: #fbfdff;
    color: #26435d;
    font-size: 14px;
    line-height: 1.5;
}

.met-check input {
    margin-top: 3px;
}

.met-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

#met-patient-success-message {
    background: #fff;
    border: 1px solid #b7e3cf;
    border-radius: 20px;
    padding: 34px 24px;
    text-align: center;
    box-shadow: 0 12px 30px rgba(20, 90, 60, 0.08);
}

.met-success-step {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #3d7f5d;
    margin-top: 12px;
}

.met-success-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
    text-align: left;
}

.met-success-summary div {
    padding: 14px 16px;
    border: 1px solid #d9eee1;
    border-radius: 14px;
    background: #f7fcf9;
}

.met-success-summary strong {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #4a6f5f;
    margin-bottom: 6px;
}

.met-success-summary span {
    display: block;
    font-weight: 700;
    color: #163b2b;
    line-height: 1.5;
}

.met-submit-btn {
    min-height: 52px;
    padding: 0 18px;
    border-radius: 14px;
    border: 1px solid var(--met-accent);
    background: var(--met-accent);
    color: #fff;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

.met-form-footer--patient {
    display: grid;
    gap: 12px;
    margin-top: 22px;
}

.met-form-footer--patient[hidden] {
    display: none !important;
}

.met-submit-feedback {
    padding: 12px 14px;
    border: 1px solid #f0c8c4;
    border-radius: 14px;
    background: #fff7f6;
    color: #8a1f16;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
}

.met-submit-feedback[hidden] {
    display: none !important;
}

.met-dialog[hidden] {
    display: none !important;
}

.met-dialog {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: grid;
    place-items: center;
    padding: 18px;
}

.met-dialog__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(10, 24, 38, 0.58);
}

.met-dialog__backdrop--blur {
    background: rgba(10, 24, 38, 0.48);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.met-dialog__panel {
    position: relative;
    width: min(100%, 520px);
    border: 1px solid rgba(15, 93, 143, 0.16);
    border-radius: 22px;
    padding: 24px;
    background: #ffffff;
    box-shadow: 0 28px 70px rgba(10, 24, 38, 0.28);
}

.met-dialog__panel:focus {
    outline: none;
}

.met-dialog__panel--insurance {
    width: min(100%, 500px);
    border-radius: 8px;
}

.met-dialog__title {
    margin: 0 0 10px;
    color: var(--met-primary);
    font-size: 22px;
    font-weight: 900;
    line-height: 1.25;
}

.met-dialog__copy {
    margin: 0;
    color: #233848;
    font-size: 15px;
    line-height: 1.65;
}

.met-dialog__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 22px;
}

.met-dialog__button {
    min-height: 46px;
    border-radius: 999px;
    padding: 0 18px;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.met-dialog__button--secondary {
    border: 1px solid #cbd7e2;
    background: #ffffff;
    color: #233848;
}

.met-dialog__button--primary {
    border: 1px solid #0f5d8f;
    background: #0f5d8f;
    color: #ffffff;
}

.met-dialog__button:focus-visible {
    outline: 3px solid rgba(14, 106, 157, 0.28);
    outline-offset: 2px;
}

.met-dialog-open {
    overflow: hidden;
}

.met-req {
    color: #b42318;
}

.met-spinner {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    animation: met-spin 0.8s linear infinite;
}

@keyframes met-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 820px) {
    .met-patient-shell {
        padding: 12px;
        gap: 12px;
    }

    .met-patient-hero {
        padding: 16px;
        border-radius: var(--met-radius-sm);
    }

    .met-patient-title {
        font-size: 22px;
        margin-bottom: 4px;
    }

    .met-patient-copy {
        font-size: 13px;
    }

    .met-booking-layout {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .met-booking-summary {
        display: none;
    }

    .met-mobile-summary {
        display: block;
        position: sticky;
        top: 8px;
        z-index: 50;
        margin-bottom: 12px;
    }

    .met-mobile-summary__inner {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(10px);
        border: 1px solid var(--met-border);
        border-radius: var(--met-radius-sm);
        padding: 8px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    }

    .met-mobile-summary__item {
        flex: 1 1 calc(50% - 6px);
        min-width: 0;
        background: var(--met-bg);
        border: 1px solid var(--met-border-light);
        border-radius: 8px;
        padding: 8px 10px;
        text-align: left;
    }

    .met-mobile-summary__item[hidden] {
        display: none !important;
    }

    .met-mobile-summary__item.is-active {
        background: var(--met-accent-light);
        border-color: var(--met-accent);
    }

    .met-mobile-summary__item strong {
        display: block;
        font-size: 9px;
        text-transform: uppercase;
        color: var(--met-muted);
        margin-bottom: 3px;
    }

    .met-mobile-summary__item span {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        font-size: 11px;
        line-height: 1.35;
        font-weight: 700;
        color: var(--met-primary);
        white-space: normal;
        overflow: hidden;
        overflow-wrap: anywhere;
        word-break: break-word;
        text-overflow: initial;
    }

    .met-booking-flow {
        padding: 16px;
        border-radius: var(--met-radius-sm);
    }

    .met-booking-flow__head {
        display: none;
    }

    .met-stepper {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        gap: 8px;
        padding-bottom: 8px;
        margin-bottom: 16px;
        scrollbar-width: none;
    }

    .met-stepper::-webkit-scrollbar {
        display: none;
    }

    .met-stepper__item {
        flex: 0 0 auto;
        width: 110px;
        scroll-snap-align: start;
        padding: 12px 8px;
    }

    .met-choice-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .met-choice-card {
        flex-direction: row;
        align-items: center;
        min-height: 84px;
        padding: 12px;
        border-radius: 14px;
    }

    .met-choice-card__media {
        width: 64px;
        height: 64px;
        flex-shrink: 0;
        border-bottom: none;
        border-right: 1px solid var(--met-border-light);
        border-radius: 8px;
        background: transparent;
        padding: 4px;
        margin-right: 12px;
    }

    .met-choice-card__media img {
        max-height: 100%;
    }

    .met-choice-card__body {
        padding: 0;
        justify-content: center;
        gap: 2px;
    }

    .met-choice-card__eyebrow {
        font-size: 10px;
    }

    .met-choice-card__title {
        font-size: 14px;
    }

    .met-choice-card__meta {
        font-size: 12px;
    }

    .met-slot-toolbar,
    .met-grid,
    .met-success-summary {
        grid-template-columns: 1fr;
    }

    .met-slot-week-nav {
        grid-template-columns: 1fr;
    }

    .met-slot-grid {
        grid-template-columns: 1fr;
    }

    .met-step-actions {
        flex-direction: column;
    }

    .met-primary-btn,
    .met-secondary-btn,
    .met-slot-week-nav__btn,
    .met-slot-day__toggle,
    .met-submit-btn {
        width: 100%;
        justify-content: center;
    }
}


@media (max-width: 460px) {
    .met-mobile-summary__item {
        flex-basis: 100%;
    }
}


/* v2.9.6 patient design refinements */
.met-patient-hero{display:none}
.met-booking-layout{align-items:start}
.met-form-header--patient{padding:0 0 12px;border-bottom:1px solid rgba(11,58,91,.08);margin-bottom:20px}
.met-form-title--compact{font-size:40px;line-height:1.08;letter-spacing:-.03em}
.met-form-subtitle,.met-booking-flow__copy,.met-step-card__copy,.met-choice-card__meta,.met-choice-card__copy{max-width:72ch}
.met-stepper{background:#fff;border:1px solid rgba(15,52,74,.12);border-radius:20px;padding:10px 12px;box-shadow:0 14px 35px rgba(15,52,74,.08);gap:10px}
.met-stepper__item{border-radius:16px;padding:14px 16px;min-height:78px}
.met-step-card{border-radius:28px;border:1px solid rgba(11,58,91,.12);box-shadow:0 22px 50px rgba(11,58,91,.08)}
.met-choice-grid{gap:22px}
.met-choice-card{border-radius:26px;border:1px solid rgba(11,58,91,.16);box-shadow:0 12px 28px rgba(11,58,91,.08);overflow:hidden}
.met-choice-card__media{aspect-ratio:16/8;background:#edf3f6}
.met-choice-card__media img{width:100%;height:100%;object-fit:cover}
.met-choice-card__body{padding:22px}
.met-choice-card__eyebrow{display:inline-flex;align-self:flex-start;padding:6px 14px;border-radius:999px;background:linear-gradient(90deg,#a86b45,#e2b08d);color:#fff;letter-spacing:.08em}
.met-choice-card__title{font-size:34px;line-height:1.05;letter-spacing:-.03em}
.met-choice-card--type .met-choice-card__title,.met-choice-card--slot .met-choice-card__title{font-size:22px}
.met-choice-card:hover,.met-choice-card.is-selected{transform:translateY(-2px)}
.met-booking-summary{position:sticky;top:24px;border-radius:28px;border:1px solid rgba(11,58,91,.12);box-shadow:0 20px 48px rgba(11,58,91,.08)}
.met-summary-item{border-radius:18px;padding:16px 18px;background:#f8fbfc}
.met-summary-status{border-radius:18px;background:linear-gradient(135deg,#b06c46,#d79c76);color:#fff;box-shadow:none}
.met-summary-edit,.met-primary-btn,.met-submit-btn,.met-secondary-btn{border-radius:999px}
.met-input-group input,.met-input-group select,.met-input-group textarea{min-height:60px;border-radius:18px}
.met-patient-privacy-row{gap:16px}
@media (max-width: 980px){
  .met-booking-summary{position:relative;top:auto}
  .met-form-title--compact{font-size:32px}
  .met-choice-card__title{font-size:28px}
}


/* v2.9.7 granular ui controls */
.met-step-visual{margin:18px 0 16px;border-radius:18px;overflow:hidden;border:1px solid rgba(15,23,42,.08);background:#f8fafc;box-shadow:0 14px 34px rgba(15,23,42,.06)}
.met-step-visual img{display:block;width:100%;max-height:280px;object-fit:cover}
.met-step-card__helper{margin:0 0 18px;padding:12px 14px;border-radius:14px;background:rgba(15,23,42,.04);color:#475569;font-size:14px;line-height:1.55}
.met-choice-card__cta{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;padding:8px 12px;border-radius:999px;background:#eef4ff;color:#0f172a;font-size:12px;font-weight:700;line-height:1.2}
.met-input-help{margin-top:8px;color:#64748b;font-size:13px;line-height:1.5}
.met-form-intro{margin:0 0 18px;padding:16px 18px;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(2,132,199,.12)}
.met-form-intro__title{font-size:15px;font-weight:700;color:#0f172a;margin:0 0 4px}
.met-form-intro__copy{font-size:14px;line-height:1.6;color:#475569}


.met-booking-flow__head {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.met-booking-flow__headcopy {
    min-width: 0;
}

.met-flow-back {
    appearance: none;
    border: 1px solid var(--met-border);
    background: #fff;
    color: var(--met-primary);
    border-radius: 999px;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    box-shadow: var(--met-shadow);
}

.met-flow-back:hover {
    border-color: #a8c7e0;
    transform: translateY(-1px);
}

.met-step-card__meta,
.met-step-card__title,
.met-step-card__copy {
    max-width: 760px;
}

.met-step-visual {
    margin: 0 0 18px;
    border: 1px solid var(--met-border-light);
    border-radius: 18px;
    background: linear-gradient(180deg, #f8fbfe 0%, #ffffff 100%);
    padding: 18px;
}

.met-step-visual img {
    display: block;
    width: 100%;
    max-height: 220px;
    object-fit: contain;
}

@media (max-width: 760px) {
    .met-booking-flow__head {
        flex-direction: column;
    }

    .met-flow-back {
        width: 100%;
        justify-content: center;
    }
}


/* v2 premium multi-step redesign */
:root{--met-premium-bg:#edf4f3;--met-premium-line:#3a6673;--met-premium-copper-1:#9d6a45;--met-premium-copper-2:#ddb08f;--met-premium-teal:#1f5967;--met-premium-teal-dark:#184a55;--met-premium-text:#18252f;--met-premium-muted:#4f5d66}
body,.met-patient-portal{background:linear-gradient(180deg,#2d8089 0,#edf4f3 180px,#edf4f3 100%)}
.met-patient-shell{max-width:1540px;padding:12px 16px 32px}
.met-patient-hero{display:none}
.met-booking-layout{grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
.met-stepper{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:16px 18px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.65);box-shadow:0 10px 24px rgba(16,53,74,.08);border-radius:26px;position:relative;overflow:hidden}
.met-stepper__item{position:relative;z-index:1;background:transparent;border:none;border-radius:18px;gap:10px;padding:10px 10px 8px;color:#42545f}
.met-stepper__item:after{content:'';position:absolute;top:26px;left:calc(50% + 26px);width:calc(100% - 52px);height:2px;background:#c8d5db}
.met-stepper__item:last-child:after{display:none}
.met-stepper__item.is-active{background:#fff;border:1px solid rgba(31,89,103,.16);box-shadow:0 10px 22px rgba(16,53,74,.12);transform:none}
.met-stepper__item.is-done{background:transparent;border:none}
.met-stepper__index{width:42px;height:42px;border-radius:14px;background:#eef3f5;color:#46606f;font-size:15px;font-weight:800}
.met-stepper__item.is-active .met-stepper__index,.met-stepper__item.is-done .met-stepper__index{background:#3c86a7;color:#fff}
.met-stepper__label{font-size:15px;font-weight:700;line-height:1.15}
.met-booking-flow{border-radius:26px;border:1px solid rgba(58,102,115,.16);box-shadow:0 18px 40px rgba(16,53,74,.08);padding:26px;background:rgba(255,255,255,.98)}
.met-booking-flow__head{display:flex;align-items:flex-start;gap:18px;padding-bottom:18px;margin-bottom:22px}
.met-flow-back{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:16px;border:1px solid rgba(157,106,69,.55);background:#fff;color:#523421;font-weight:700;box-shadow:0 6px 14px rgba(157,106,69,.12)}
.met-booking-flow__headcopy{min-width:0}
#met-booking-flow-step-label.met-badge--soft{background:transparent;color:#2d3f49;padding:0;margin:0 0 8px;font-size:14px;letter-spacing:.08em}
.met-booking-flow__title{font-size:46px;line-height:1.02;letter-spacing:-.04em;color:var(--met-premium-text);margin:0 0 8px}
.met-booking-flow__copy{font-size:17px;line-height:1.5;color:var(--met-premium-muted);margin:0;max-width:860px}
.met-step-card__meta,.met-step-card__title,.met-step-card__copy,.met-step-card__helper{display:none}
.met-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.met-choice-card{position:relative;min-height:340px;background:#eaf3f3;border:2px solid var(--met-premium-line);border-radius:24px;box-shadow:none;overflow:hidden;padding:0}
.met-choice-card:hover,.met-choice-card.is-selected{transform:translateY(-2px);box-shadow:0 18px 28px rgba(25,61,78,.12)}
.met-choice-card.is-selected{border-color:#174654;background:#f0f7f7}
.met-choice-card__media{position:absolute;top:66px;right:18px;width:96px;height:96px;padding:10px;background:transparent;border:none;z-index:1}
.met-choice-card__media img{width:100%;height:100%;object-fit:contain;filter:contrast(.95) saturate(.85)}
.met-choice-card__body{display:flex;flex-direction:column;height:100%;padding:0 18px 18px;gap:0;align-items:flex-start}
.met-choice-card__eyebrow{display:block;width:calc(100% + 36px);margin:0 -18px 16px;padding:12px 18px;border-radius:22px 22px 0 0;background:linear-gradient(90deg,var(--met-premium-copper-1),var(--met-premium-copper-2));color:#fff;font-size:17px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.met-choice-card__title{display:block;max-width:72%;font-size:26px;line-height:1.02;letter-spacing:-.035em;color:#141f26;margin:0 0 8px;font-weight:800}
.met-choice-card__meta{display:block;max-width:72%;font-size:13px;line-height:1.45;color:#1f2e38;margin:0 0 8px;font-weight:700}
.met-choice-card__copy{display:block;max-width:72%;font-size:13px;line-height:1.45;color:#344955;margin:0 0 6px}
.met-choice-card__actions{margin-top:auto;padding-top:20px}
.met-choice-card__cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;background:#fff;border:2px solid rgba(157,106,69,.65);box-shadow:0 8px 14px rgba(157,106,69,.14);font-size:14px;font-weight:700;color:#1e2730}
.met-choice-card__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:18px;font-size:13px;color:#243742;font-weight:700}
.met-choice-card__count,.met-choice-card__duration{display:inline-flex;align-items:center;gap:6px}
.met-choice-card__duration{margin-left:auto;white-space:nowrap}
.met-choice-card--type{min-height:310px;background:#fff}
.met-choice-card--type .met-choice-card__media{top:18px;right:18px;width:72px;height:72px}
.met-choice-card--type .met-choice-card__eyebrow{font-size:14px}
.met-choice-card--type .met-choice-card__title{font-size:24px;max-width:76%;margin-top:4px}
.met-choice-card--type .met-choice-card__meta,.met-choice-card--type .met-choice-card__copy{max-width:100%}
.met-booking-summary{border-radius:24px;border:1px solid rgba(58,102,115,.16);box-shadow:0 18px 34px rgba(16,53,74,.08);padding:22px;background:rgba(255,255,255,.96)}
.met-booking-summary__badge{background:#eef7f7;color:#4d6d77;font-size:13px;padding:7px 14px}
.met-booking-summary__title{font-size:24px;line-height:1.05;color:#16232d;margin:0 0 10px}
.met-booking-summary__copy{font-size:14px;line-height:1.5;color:#334652}
.met-summary-list{gap:10px;margin:18px 0}
.met-summary-item{background:#f3f8f7;border:1px solid #e2eceb;border-radius:16px;padding:14px 16px}
.met-summary-item dt{font-size:12px;color:#556874}
.met-summary-item dd{font-size:15px;color:#15222d;line-height:1.35}
.met-summary-status{background:linear-gradient(135deg,#b27449,#c89068);color:#fff;border-radius:18px;padding:16px 18px;font-weight:700}
.met-summary-trust{display:grid;gap:6px;margin-top:14px;font-size:14px;color:#334652}
.met-summary-trust__item{padding:0}
.met-summary-actions{margin-top:18px;gap:10px}
.met-summary-edit{border:none;background:linear-gradient(180deg,var(--met-premium-teal),var(--met-premium-teal-dark));color:#fff;border-radius:999px;box-shadow:0 10px 18px rgba(18,70,82,.22);padding:0 18px}
.met-summary-edit:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.met-form-footer--patient{margin-top:18px;padding-top:0}
.met-submit-btn{min-height:54px;border-radius:999px;padding:0 24px}
@media (max-width:1200px){.met-booking-layout{grid-template-columns:minmax(0,1fr) 320px}.met-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.met-booking-flow__title{font-size:38px}}
@media (max-width:860px){.met-booking-layout{grid-template-columns:1fr}.met-booking-summary{position:static;order:2}.met-choice-grid{grid-template-columns:1fr}.met-stepper{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.met-stepper__item:after{display:none}.met-booking-flow__title{font-size:32px}.met-choice-card__title,.met-choice-card__meta,.met-choice-card__copy{max-width:100%}.met-choice-card__media{opacity:.9}}

/* ===== scoped step 4 redesign only ===== */
#met-patient-form[data-current-step="4"] .met-booking-flow{
  border-radius:30px;
  padding:20px 20px 24px;
  background:linear-gradient(180deg,rgba(255,255,255,.985) 0%,rgba(246,248,250,.98) 100%);
}
#met-patient-form[data-current-step="4"] .met-step-card--step4{
  padding:0;
  border:none;
  box-shadow:none;
  background:transparent;
}
#met-patient-form[data-current-step="4"] .met-step-card--step4 .met-step-card__helper,
#met-patient-form[data-current-step="4"] .met-step-card--step4 .met-form-intro,
#met-patient-form[data-current-step="4"] .met-step-card--step4 .met-step-visual--step4{
  display:none;
}
#met-patient-form[data-current-step="4"] .met-step-card--step4 .met-step-card__meta{
  margin-bottom:6px;
  font-size:14px;
  letter-spacing:.08em;
}
#met-patient-form[data-current-step="4"] .met-step-card--step4 .met-step-card__title{
  margin-bottom:10px;
  font-size:52px;
  line-height:.96;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
#met-patient-form[data-current-step="4"] .met-step-card--step4 .met-step-card__copy{
  margin-bottom:22px;
  max-width:720px;
  font-size:15px;
  line-height:1.45;
  color:#314753;
}
#met-patient-form[data-current-step="4"] .met-step4-shell{
  display:grid;
  grid-template-columns:minmax(220px,260px) minmax(0,1fr);
  gap:22px;
  align-items:start;
}
#met-patient-form[data-current-step="4"] .met-step4-sidebar,
#met-patient-form[data-current-step="4"] .met-step4-section{
  border:1px solid rgba(61,102,118,.18);
  border-radius:20px;
  overflow:hidden;
  background:#dfeef3;
  box-shadow:0 14px 30px rgba(16,53,74,.08);
}
#met-patient-form[data-current-step="4"] .met-step4-sidebar__head,
#met-patient-form[data-current-step="4"] .met-step4-section__head{
  position:relative;
  min-height:44px;
  padding:10px 16px;
  display:flex;
  align-items:center;
  gap:12px;
  background:linear-gradient(180deg,#d0bea8 0%,#c7b29b 100%);
  border-bottom:1px solid rgba(88,69,49,.12);
}
#met-patient-form[data-current-step="4"] .met-step4-sidebar__eyebrow,
#met-patient-form[data-current-step="4"] .met-step4-section__title{
  margin:0;
  color:#1a242d;
  font-size:14px;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}
#met-patient-form[data-current-step="4"] .met-step4-sidebar__body{
  position:relative;
  padding:20px 18px 18px;
  min-height:420px;
}
#met-patient-form[data-current-step="4"] .met-step4-sidebar__title{
  margin:0 0 12px;
  font-size:34px;
  line-height:1.02;
  letter-spacing:-.03em;
  color:#15212a;
}
#met-patient-form[data-current-step="4"] .met-step4-sidebar__copy,
#met-patient-form[data-current-step="4"] .met-step4-sidebar__trust{
  margin:0;
  font-size:14px;
  line-height:1.55;
  color:#344955;
}
#met-patient-form[data-current-step="4"] .met-step4-sidebar__trust{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  font-size:13px;
}
#met-patient-form[data-current-step="4"] .met-step4-main{
  display:grid;
  gap:16px;
}
#met-patient-form[data-current-step="4"] .met-step4-section__body{
  padding:14px;
  display:grid;
  gap:12px;
}
#met-patient-form[data-current-step="4"] .met-step4-section__body--personal{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
#met-patient-form[data-current-step="4"] .met-step4-section__body--checks{
  display:block;
}
#met-patient-form[data-current-step="4"] .met-step4-icon{
  flex:0 0 24px;
  width:24px;
  height:24px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  opacity:.85;
}
#met-patient-form[data-current-step="4"] .met-step4-icon--microscope{position:absolute;top:20px;right:18px;width:44px;height:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%235b88a1' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 54h25'/%3E%3Cpath d='M17 58h31'/%3E%3Cpath d='M30 14l8 8'/%3E%3Cpath d='M24 20l12 12'/%3E%3Cpath d='M38 22l6-6 4 4-6 6'/%3E%3Cpath d='M20 46h16c6.6 0 12-5.4 12-12'/%3E%3Cpath d='M26 42c0-5 4-9 9-9h3'/%3E%3Cpath d='M26 42l-6 6'/%3E%3Cpath d='M22 48l6 6'/%3E%3Crect x='16' y='10' width='10' height='6' rx='2'/%3E%3C/svg%3E")}
#met-patient-form[data-current-step="4"] .met-step4-icon--user-hand{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%231e2c36' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='42' cy='18' r='8'/%3E%3Cpath d='M30 34c2-5 7-8 12-8s10 3 12 8'/%3E%3Cpath d='M8 40h14l7-7c1.5-1.5 4-1.5 5.5 0s1.5 4 0 5.5L29 44h10l6-4c2-1.3 4.6-.7 5.9 1.3 1.2 1.9.7 4.5-1.2 5.8L39 54H22L14 48H8'/%3E%3Cpath d='M8 36v16'/%3E%3C/svg%3E")}
#met-patient-form[data-current-step="4"] .met-step4-icon--pencil{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%231e2c36' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 52l10-2 24-24-8-8-24 24-2 10z'/%3E%3Cpath d='M34 14l8 8'/%3E%3Cpath d='M10 54h18'/%3E%3C/svg%3E")}
#met-patient-form[data-current-step="4"] .met-step4-icon--phone-pencil{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%231e2c36' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 18c2 10 12 20 22 22l5-5c1.4-1.4 3.7-1.4 5.1 0l2.1 2.1c1.5 1.5 1.4 4-.2 5.3l-3 2.5c-1.7 1.4-4.1 2-6.3 1.5C30 44.2 19.8 34 13.6 15.2c-.5-2.2.1-4.6 1.5-6.3l2.5-3c1.4-1.6 3.8-1.7 5.3-.2L25 7.8c1.4 1.4 1.4 3.7 0 5.1l-5 5.1z'/%3E%3Cpath d='M38 12l14 14'/%3E%3Cpath d='M44 10h10v10'/%3E%3C/svg%3E")}
#met-patient-form[data-current-step="4"] .met-input-group--step4{
  display:grid;
  gap:6px;
}
#met-patient-form[data-current-step="4"] .met-input-group--full{grid-column:1 / -1}
#met-patient-form[data-current-step="4"] .met-input-group--step4 label{
  font-size:14px;
  line-height:1.3;
  color:#101b22;
  text-transform:none;
  letter-spacing:0;
}
#met-patient-form[data-current-step="4"] .met-input-group--step4 input,
#met-patient-form[data-current-step="4"] .met-input-group--step4 select,
#met-patient-form[data-current-step="4"] .met-input-group--step4 textarea{
  width:100%;
  min-height:48px;
  border-radius:12px;
  border:1px solid rgba(62,95,111,.24);
  background:#fff;
  padding:10px 14px;
  font-size:16px;
  color:#13222c;
  box-shadow:inset 0 1px 2px rgba(15,33,45,.04);
}
#met-patient-form[data-current-step="4"] .met-input-group--step4 textarea{
  min-height:94px;
  resize:vertical;
}
#met-patient-form[data-current-step="4"] .met-input-group--step4 input:focus,
#met-patient-form[data-current-step="4"] .met-input-group--step4 select:focus,
#met-patient-form[data-current-step="4"] .met-input-group--step4 textarea:focus{
  outline:none;
  border-color:#2a7fb0;
  box-shadow:0 0 0 3px rgba(42,127,176,.12);
}
#met-patient-form[data-current-step="4"] .met-selected-slot-callout--step4{
  margin-top:16px;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid rgba(86,70,49,.14);
  background:rgba(255,255,255,.76);
}
#met-patient-form[data-current-step="4"] .met-selected-slot-callout--step4 .met-selected-slot-callout__label{
  color:#856042;
}
#met-patient-form[data-current-step="4"] .met-selected-slot-callout--step4 .met-selected-slot-callout__value{
  font-size:18px;
  font-weight:800;
  color:#13212a;
}
#met-patient-form[data-current-step="4"] .met-selected-slot-callout--step4 .met-selected-slot-callout__meta{
  color:#39505d;
}
#met-patient-form[data-current-step="4"] .met-patient-privacy-row--step4{display:grid;gap:10px}
#met-patient-form[data-current-step="4"] .met-check--step4{
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-height:auto;
  padding:2px 0;
  border:none;
  background:transparent;
  box-shadow:none;
}
#met-patient-form[data-current-step="4"] .met-check--step4 input{
  margin-top:3px;
  width:16px;
  height:16px;
  accent-color:#0e6a9d;
}
#met-patient-form[data-current-step="4"] .met-check--step4 .met-check__copy{
  font-size:14px;
  line-height:1.55;
  color:#1d2d37;
}
#met-patient-form[data-current-step="4"] .met-check--step4 a{color:#0e6a9d;text-decoration:underline}
#met-patient-form[data-current-step="4"] .met-step-actions--step4{
  margin-top:18px;
}
#met-patient-form[data-current-step="4"] .met-form-footer--patient{
  margin-top:18px;
  padding:0;
}
#met-patient-form[data-current-step="4"] .met-submit-btn{
  width:100%;
  justify-content:center;
  min-height:58px;
  font-size:18px;
  font-weight:800;
  border-radius:999px;
  background:linear-gradient(135deg,#0f5d8f,#126ea5);
  border-color:#0f5d8f;
  box-shadow:0 12px 24px rgba(15,93,143,.18);
}
#met-patient-form[data-current-step="4"] .met-trust-indicator{
  text-align:center;
  font-size:13px;
  color:#425867;
}
#met-patient-form[data-current-step="4"] .met-booking-summary{
  background:rgba(255,255,255,.9);
  border-radius:22px;
}
#met-patient-form[data-current-step="4"] .met-summary-list{
  gap:0;
  margin:18px 0;
  background:#eaf5fa;
  border:1px solid rgba(78,149,181,.14);
  border-radius:18px;
  overflow:hidden;
}
#met-patient-form[data-current-step="4"] .met-summary-item{
  position:relative;
  padding:14px 48px 14px 16px;
  background:transparent;
  border:none;
  border-bottom:1px solid rgba(78,149,181,.14);
  border-radius:0;
}
#met-patient-form[data-current-step="4"] .met-summary-item:last-child{border-bottom:none}
#met-patient-form[data-current-step="4"] .met-summary-item::after{
  content:"";
  position:absolute;
  top:50%;
  right:16px;
  width:20px;
  height:20px;
  transform:translateY(-50%);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  opacity:.9;
}
#met-patient-form[data-current-step="4"] .met-summary-item:nth-child(1)::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d779e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='16' cy='8' r='3'/%3E%3Cpath d='M5 18c0-3 3-5 6-5'/%3E%3Cpath d='M13 18c.9-2 2.7-3 5-3 1.1 0 2.2.2 3 .7'/%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3C/svg%3E")}
#met-patient-form[data-current-step="4"] .met-summary-item:nth-child(2)::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d779e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20l4-1 9-9-3-3-9 9-1 4z'/%3E%3Cpath d='M13 5l3 3'/%3E%3C/svg%3E")}
#met-patient-form[data-current-step="4"] .met-summary-item:nth-child(3)::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d779e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E")}
#met-patient-form[data-current-step="4"] .met-summary-item:nth-child(4)::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d779e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}
#met-patient-form[data-current-step="4"] .met-summary-status{
  background:linear-gradient(135deg,#0f5d8f,#126ea5);
  color:#fff;
}
#met-patient-form[data-current-step="4"] .met-summary-edit{
  background:none;
  border:none;
  box-shadow:none;
  color:#17364a;
  text-decoration:underline;
  padding:0;
  justify-content:flex-start;
  min-height:auto;
}
#met-patient-form[data-current-step="4"] .met-summary-trust{
  margin-top:12px;
}
@media (max-width: 1180px){
  #met-patient-form[data-current-step="4"] .met-step-card--step4 .met-step-card__title{font-size:44px}
  #met-patient-form[data-current-step="4"] .met-step4-shell{grid-template-columns:1fr}
  #met-patient-form[data-current-step="4"] .met-step4-sidebar__body{min-height:auto;padding-bottom:56px}
  #met-patient-form[data-current-step="4"] .met-step4-sidebar__trust{position:static;margin-top:14px}
}
@media (max-width: 860px){
  #met-patient-form[data-current-step="4"] .met-step-card--step4 .met-step-card__title{font-size:36px}
  #met-patient-form[data-current-step="4"] .met-step4-section__body--personal{grid-template-columns:1fr}
}
/* ===== scoped step 3 redesign only ===== */
#met-patient-form[data-current-step="3"] .met-booking-flow{
  border-radius:26px;
  padding:22px 22px 24px;
  background:linear-gradient(180deg,rgba(255,255,255,.985) 0%,rgba(246,248,251,.98) 100%);
}
#met-patient-form[data-current-step="3"] .met-step-card--slots{
  padding:0;
  border:none;
  box-shadow:none;
  background:transparent;
}
#met-patient-form[data-current-step="3"] .met-step-card--slots .met-step-card__meta,
#met-patient-form[data-current-step="3"] .met-step-card--slots .met-step-card__title,
#met-patient-form[data-current-step="3"] .met-step-card--slots .met-step-card__copy,
#met-patient-form[data-current-step="3"] .met-step-card--slots .met-step-card__helper{
  display:none;
}
#met-patient-form[data-current-step="3"] .met-booking-flow__head{
  align-items:flex-start;
  gap:18px;
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(21,51,71,.12);
}
#met-patient-form[data-current-step="3"] .met-flow-back{
  min-height:44px;
  padding:0 18px;
  border-radius:14px;
  border:1.5px solid rgba(16,49,77,.26);
  color:#1b2b3a;
  box-shadow:0 4px 12px rgba(15,43,68,.08);
}
#met-patient-form[data-current-step="3"] #met-booking-flow-step-label.met-badge--soft{
  font-size:14px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#203648;
  margin-bottom:8px;
}
#met-patient-form[data-current-step="3"] .met-booking-flow__title{
  font-size:18px;
  line-height:1.25;
  letter-spacing:0;
  margin:0 0 6px;
}
#met-patient-form[data-current-step="3"] .met-booking-flow__copy{
  font-size:14px;
  line-height:1.45;
  color:#475a67;
  max-width:none;
}
#met-patient-form[data-current-step="3"] .met-slot-toolbar{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:16px;
  padding:0;
  margin:0 0 18px;
  background:transparent;
  border:none;
  box-shadow:none;
}
#met-patient-form[data-current-step="3"] .met-slot-toolbar__group{
  gap:8px;
}
#met-patient-form[data-current-step="3"] .met-slot-toolbar__label{
  font-size:13px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:#233646;
}
#met-patient-form[data-current-step="3"] .met-slot-toolbar__select,
#met-patient-form[data-current-step="3"] .met-slot-toolbar__search{
  min-height:52px;
  border-radius:16px;
  border:1.5px solid rgba(20,54,80,.18);
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  padding:0 18px;
  color:#1d2d3c;
}
#met-patient-form[data-current-step="3"] .met-slot-toolbar__search{
  padding-right:48px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%234f6880' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 16px center;
  background-size:20px 20px;
}
#met-patient-form[data-current-step="3"] .met-slot-week-nav{
  grid-template-columns:minmax(170px,210px) minmax(0,1fr) minmax(170px,210px);
  align-items:center;
  gap:14px;
  margin:0 0 18px;
  padding:0;
  background:transparent;
  border:none;
}
#met-patient-form[data-current-step="3"] .met-slot-week-nav__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 18px;
  border:none;
  border-radius:999px;
  background:linear-gradient(180deg,#184e8a 0%,#0e376a 100%);
  color:#fff;
  font-size:14px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
  text-align:center;
  box-shadow:0 10px 18px rgba(12,48,92,.18);
}
#met-patient-form[data-current-step="3"] .met-slot-week-nav__btn:disabled{
  opacity:.45;
}
#met-patient-form[data-current-step="3"] .met-slot-week-nav__label{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(19,52,77,.1);
  font-size:14px;
  font-weight:800;
  color:#1f3040;
}
#met-patient-form[data-current-step="3"] .met-slot-highlight{
  margin:0 0 18px;
  padding:14px 16px 16px;
  border:2px solid rgba(18,49,74,.78);
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  box-shadow:none;
}
#met-patient-form[data-current-step="3"] .met-slot-highlight__label{
  display:block;
  margin:0 0 4px;
  font-size:13px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:#223747;
}
#met-patient-form[data-current-step="3"] .met-slot-highlight__button{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:14px;
  width:100%;
  padding:14px 16px;
  border:none;
  border-radius:16px;
  background:#fff;
  color:#162838;
  box-shadow:inset 0 0 0 1px rgba(20,54,80,.08);
  text-align:left;
}
#met-patient-form[data-current-step="3"] .met-slot-highlight__button > span:first-child{
  font-size:16px;
  font-weight:800;
}
#met-patient-form[data-current-step="3"] .met-slot-highlight__meta{
  font-size:15px;
  font-weight:800;
  color:#1a2f44;
  white-space:nowrap;
}
#met-patient-form[data-current-step="3"] .met-slot-highlight__button::after{
  content:'Buchen';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:96px;
  min-height:42px;
  padding:0 18px;
  border-radius:12px;
  background:linear-gradient(180deg,#184e8a 0%,#0e376a 100%);
  color:#fff;
  font-size:14px;
  font-weight:800;
  box-shadow:0 10px 18px rgba(12,48,92,.18);
}
#met-patient-form[data-current-step="3"] .met-slot-weeks{
  display:block;
}
#met-patient-form[data-current-step="3"] .met-slot-week{
  border-radius:22px;
  border:1px solid rgba(18,49,74,.12);
  background:#f2f4f8;
  padding:18px;
}
#met-patient-form[data-current-step="3"] .met-slot-week__head{
  margin-bottom:10px;
}
#met-patient-form[data-current-step="3"] .met-slot-week__title{
  font-size:16px;
  font-weight:800;
  color:#182b39;
}
#met-patient-form[data-current-step="3"] .met-slot-week__meta{
  font-size:13px;
  font-weight:700;
  color:#526574;
}
#met-patient-form[data-current-step="3"] .met-slot-day{
  padding:14px 0 0;
  border:none;
  background:transparent;
}
#met-patient-form[data-current-step="3"] .met-slot-day + .met-slot-day{
  margin-top:12px;
}
#met-patient-form[data-current-step="3"] .met-slot-day__head{
  margin-bottom:10px;
}
#met-patient-form[data-current-step="3"] .met-slot-day__title{
  font-size:14px;
  font-weight:800;
  color:#1b2c3c;
}
#met-patient-form[data-current-step="3"] .met-slot-day__date,
#met-patient-form[data-current-step="3"] .met-slot-day__count{
  font-size:13px;
  color:#526473;
}
#met-patient-form[data-current-step="3"] .met-slot-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
#met-patient-form[data-current-step="3"] .met-choice-card--slot{
  min-height:0;
  padding:12px 12px 14px;
  border:1px solid rgba(18,49,74,.12);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 18px rgba(18,49,74,.08);
}
#met-patient-form[data-current-step="3"] .met-choice-card--slot.is-selected,
#met-patient-form[data-current-step="3"] .met-choice-card--slot:hover{
  border-color:#173f69;
  box-shadow:0 14px 24px rgba(17,56,101,.16);
}
#met-patient-form[data-current-step="3"] .met-choice-card--slot .met-choice-card__title{
  max-width:none;
  margin:0 0 6px;
  font-size:18px;
  line-height:1.1;
  font-weight:900;
  color:#142635;
}
#met-patient-form[data-current-step="3"] .met-choice-card--slot .met-choice-card__meta{
  max-width:none;
  margin:0 0 10px;
  font-size:12px;
  line-height:1.35;
  font-weight:600;
  color:#4f6170;
}
#met-patient-form[data-current-step="3"] .met-choice-card--slot .met-choice-card__cta{
  width:100%;
  min-height:38px;
  border:none;
  border-radius:999px;
  background:linear-gradient(180deg,#184e8a 0%,#0e376a 100%);
  color:#fff;
  box-shadow:0 10px 18px rgba(12,48,92,.18);
  font-size:14px;
  font-weight:700;
}
#met-patient-form[data-current-step="3"] .met-step-actions{
  margin-top:16px;
}
#met-patient-form[data-current-step="3"] #met-go-to-details{
  display:none !important;
}
#met-patient-form[data-current-step="3"] .met-booking-summary{
  border-radius:24px;
  padding:18px 18px 20px;
  border:1px solid rgba(18,49,74,.12);
  box-shadow:0 18px 34px rgba(16,53,74,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(246,248,251,.97) 100%);
}
#met-patient-form[data-current-step="3"] .met-booking-summary__badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#f1f4f7;
  color:#516575;
  font-size:12px;
  font-weight:800;
  letter-spacing:.05em;
}
#met-patient-form[data-current-step="3"] .met-booking-summary__title{
  font-size:18px;
  line-height:1.2;
  margin:8px 0 6px;
}
#met-patient-form[data-current-step="3"] .met-booking-summary__copy{
  font-size:14px;
  line-height:1.45;
}
#met-patient-form[data-current-step="3"] .met-summary-list{
  gap:10px;
  margin:16px 0;
}
#met-patient-form[data-current-step="3"] .met-summary-item{
  padding:12px 14px;
  border-radius:14px;
  background:#f3f5f8;
  border:1px solid rgba(18,49,74,.08);
}
#met-patient-form[data-current-step="3"] .met-summary-item dt{
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#667887;
}
#met-patient-form[data-current-step="3"] .met-summary-item dd{
  font-size:14px;
  line-height:1.3;
  font-weight:700;
  color:#172939;
}
#met-patient-form[data-current-step="3"] .met-summary-status{
  padding:14px 16px;
  border-radius:16px;
  background:#eef2f6;
  color:#1f3040;
  font-weight:700;
}
#met-patient-form[data-current-step="3"] .met-summary-trust{
  margin-top:14px;
  padding:14px 16px;
  border:2px solid rgba(18,49,74,.78);
  border-radius:18px;
  background:#fff;
  gap:2px;
}
#met-patient-form[data-current-step="3"] .met-summary-trust__item{
  font-size:13px;
  line-height:1.45;
  color:#243848;
}
#met-patient-form[data-current-step="3"] .met-summary-actions{
  margin-top:16px;
}
#met-patient-form[data-current-step="3"] .met-summary-edit{
  min-height:42px;
  font-size:14px;
}
@media (max-width:1200px){
  #met-patient-form[data-current-step="3"] .met-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:860px){
  #met-patient-form[data-current-step="3"] .met-slot-toolbar{grid-template-columns:1fr}
  #met-patient-form[data-current-step="3"] .met-slot-week-nav{grid-template-columns:1fr}
  #met-patient-form[data-current-step="3"] .met-slot-highlight__button{grid-template-columns:1fr}
  #met-patient-form[data-current-step="3"] .met-slot-highlight__button::after{width:100%}
  #met-patient-form[data-current-step="3"] .met-slot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  #met-patient-form[data-current-step="3"] .met-slot-grid{grid-template-columns:1fr}
}

/* ===== Step 3 calendar redesign ===== */
#met-patient-form[data-current-step="3"] .met-slot-toolbar--calendar{
  grid-template-columns:minmax(220px,260px);
}
#met-patient-form[data-current-step="3"] .met-slot-toolbar__group--search{
  display:none !important;
}
#met-patient-form[data-current-step="3"] .met-slot-week-nav{
  grid-template-columns:54px minmax(0,1fr) 54px;
  align-items:center;
  gap:16px;
}
#met-patient-form[data-current-step="3"] .met-slot-week-nav__btn--icon{
  width:54px;
  min-width:54px;
  min-height:54px;
  padding:0;
  line-height:1;
  border-radius:50%;
}
#met-patient-form[data-current-step="3"] .met-slot-week-nav__btn--icon .met-slot-week-nav__icon{
  width:24px;
  height:24px;
}
#met-patient-form[data-current-step="3"] .met-slot-week-nav__label{
  min-height:48px;
  font-size:16px;
}
#met-patient-form[data-current-step="3"] .met-slot-highlight{
  border-width:1px;
  border-color:rgba(18,49,74,.12);
  background:#f7f9fc;
}
#met-patient-form[data-current-step="3"] .met-slot-highlight__button{
  grid-template-columns:minmax(0,1fr) auto;
}
#met-patient-form[data-current-step="3"] .met-slot-highlight__button::after{
  content:none;
}
#met-patient-form[data-current-step="3"] .met-slot-picker{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.9fr);
  gap:18px;
  align-items:start;
}
#met-patient-form[data-current-step="3"] .met-slot-calendar,
#met-patient-form[data-current-step="3"] .met-slot-times{
  border:1px solid rgba(18,49,74,.12);
  border-radius:24px;
  background:#f4f6fa;
  padding:18px;
}
#met-patient-form[data-current-step="3"] .met-slot-calendar__head{
  display:flex;
  justify-content:flex-end;
  margin-bottom:12px;
}
#met-patient-form[data-current-step="3"] .met-slot-calendar__legend{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:#5f7180;
  font-weight:700;
}
#met-patient-form[data-current-step="3"] .met-slot-calendar__legend-dot,
#met-patient-form[data-current-step="3"] .met-slot-calendar__marker{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#2d9bf0;
  display:inline-block;
}
#met-patient-form[data-current-step="3"] .met-slot-calendar__grid{
  display:grid;
  grid-template-columns:52px repeat(6,minmax(0,1fr));
  gap:10px;
}
#met-patient-form[data-current-step="3"] .met-slot-calendar__weekday,
#met-patient-form[data-current-step="3"] .met-slot-calendar__week{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  font-size:13px;
  font-weight:800;
  color:#66798a;
}
#met-patient-form[data-current-step="3"] .met-slot-calendar__day{
  position:relative;
  min-height:56px;
  border-radius:16px;
  border:1px solid rgba(18,49,74,.12);
  background:#fff;
  font-size:28px;
  font-weight:800;
  color:#203244;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.18s ease;
}
#met-patient-form[data-current-step="3"] .met-slot-calendar__day.is-outside{
  color:#b5c0cb;
  background:#f0f3f7;
}
#met-patient-form[data-current-step="3"] .met-slot-calendar__day:disabled{
  cursor:not-allowed;
  opacity:.75;
}
#met-patient-form[data-current-step="3"] .met-slot-calendar__day.is-available:not(:disabled):hover,
#met-patient-form[data-current-step="3"] .met-slot-calendar__day.is-selected{
  border-color:#305f99;
  box-shadow:0 0 0 2px rgba(48,95,153,.14);
}
#met-patient-form[data-current-step="3"] .met-slot-calendar__day-number{
  line-height:1;
  font-size:18px;
}
#met-patient-form[data-current-step="3"] .met-slot-calendar__marker{
  position:absolute;
  right:11px;
  bottom:10px;
}
#met-patient-form[data-current-step="3"] .met-slot-times{
  min-height:100%;
}
#met-patient-form[data-current-step="3"] .met-slot-times__head{
  margin-bottom:14px;
}
#met-patient-form[data-current-step="3"] .met-slot-times__title{
  margin:0;
  font-size:32px;
  line-height:1;
  color:#22364a;
}
#met-patient-form[data-current-step="3"] .met-slot-times__date{
  margin-top:6px;
  font-size:14px;
  font-weight:700;
  color:#66798a;
}
#met-patient-form[data-current-step="3"] .met-slot-times__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
#met-patient-form[data-current-step="3"] .met-slot-time{
  min-height:56px;
  border-radius:14px;
  border:1px solid rgba(18,49,74,.14);
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  font-weight:900;
  color:#21364a;
  transition:.18s ease;
}
#met-patient-form[data-current-step="3"] .met-slot-time:hover,
#met-patient-form[data-current-step="3"] .met-slot-time.is-selected{
  border-color:#2d6db2;
  background:linear-gradient(180deg,#5da8e8 0%,#3f85c7 100%);
  color:#fff;
  box-shadow:0 14px 24px rgba(35,97,156,.22);
}
#met-patient-form[data-current-step="3"] .met-slot-time__label{
  font-size:18px;
  line-height:1;
}
#met-patient-form[data-current-step="3"] .met-slot-time__suffix{
  font-size:12px;
  line-height:1;
  opacity:.9;
}
#met-patient-form[data-current-step="3"] .met-slot-times__empty{
  min-height:132px;
  border:1px dashed rgba(18,49,74,.16);
  border-radius:16px;
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:15px;
  line-height:1.5;
  color:#7a8a97;
  background:rgba(255,255,255,.55);
}
#met-patient-form[data-current-step="3"] .met-step-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
#met-patient-form[data-current-step="3"] #met-go-to-details{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  flex:1 1 auto;
  min-height:56px;
  padding:0 24px;
  border-radius:999px;
  background:linear-gradient(180deg,#5da8e8 0%,#3f85c7 100%);
  color:#fff;
  font-size:16px;
  line-height:1;
  text-align:center;
  box-shadow:0 14px 24px rgba(35,97,156,.22);
}
#met-patient-form[data-current-step="3"] #met-go-to-details:disabled{
  opacity:.55;
  box-shadow:none;
}
@media (max-width:1024px){
  #met-patient-form[data-current-step="3"] .met-slot-picker{grid-template-columns:1fr}
  #met-patient-form[data-current-step="3"] .met-slot-times__title{font-size:24px}
}
@media (max-width:680px){
  #met-patient-form[data-current-step="3"] .met-slot-week-nav{grid-template-columns:46px minmax(0,1fr) 46px;gap:10px}
  #met-patient-form[data-current-step="3"] .met-slot-week-nav__btn--icon{width:46px;min-width:46px;min-height:46px}
  #met-patient-form[data-current-step="3"] .met-slot-week-nav__btn--icon .met-slot-week-nav__icon{width:22px;height:22px}
  #met-patient-form[data-current-step="3"] .met-slot-calendar__grid{grid-template-columns:38px repeat(6,minmax(0,1fr));gap:8px}
  #met-patient-form[data-current-step="3"] .met-slot-calendar__day{min-height:48px;border-radius:14px}
  #met-patient-form[data-current-step="3"] .met-slot-calendar__day-number{font-size:16px}
  #met-patient-form[data-current-step="3"] .met-slot-times__grid{grid-template-columns:1fr 1fr}
}

/* ===== Step 3 compact booking controls ===== */
#met-patient-form[data-current-step="3"] .met-booking-flow__head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  margin:0 0 6px;
  padding:0;
  min-height:0;
  border-bottom:0;
}
#met-patient-form[data-current-step="3"] .met-flow-back{
  min-height:30px;
  padding:0 10px;
  border-radius:9px;
  box-shadow:none;
  font-size:12px;
  line-height:1;
}
#met-patient-form[data-current-step="3"] .met-booking-flow__headcopy{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 10px;
  min-width:0;
}
#met-patient-form[data-current-step="3"] #met-booking-flow-step-label,
#met-patient-form[data-current-step="3"] .met-booking-flow__title{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}
#met-patient-form[data-current-step="3"] .met-booking-flow__copy{
  display:none;
}
#met-patient-form[data-current-step="3"] .met-step-card--slots{
  display:grid;
  grid-template-columns:minmax(150px,220px) minmax(0,1fr);
  gap:6px 8px;
  align-items:center;
}
#met-patient-form[data-current-step="3"] .met-slot-toolbar{
  grid-column:1;
  grid-template-columns:minmax(150px,220px);
  gap:0;
  margin:0;
}
#met-patient-form[data-current-step="3"] .met-slot-toolbar__group{
  gap:0;
}
#met-patient-form[data-current-step="3"] .met-slot-toolbar__label{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}
#met-patient-form[data-current-step="3"] .met-slot-toolbar__select,
#met-patient-form[data-current-step="3"] .met-slot-toolbar__search{
  min-height:32px;
  height:32px;
  border-radius:11px;
  padding:0 36px 0 12px;
  font-size:13px;
}
#met-patient-form[data-current-step="3"] .met-slot-week-nav{
  grid-column:2;
  grid-template-columns:34px minmax(0,1fr) 34px;
  gap:8px;
  margin:0;
}
#met-patient-form[data-current-step="3"] .met-slot-week-nav__btn{
  font-size:0;
}
#met-patient-form[data-current-step="3"] .met-slot-week-nav__btn--icon{
  width:34px;
  min-width:34px;
  min-height:34px;
  height:34px;
  box-shadow:none;
}
#met-patient-form[data-current-step="3"] .met-slot-week-nav__btn--icon .met-slot-week-nav__icon{
  width:18px;
  height:18px;
}
#met-patient-form[data-current-step="3"] .met-slot-week-nav__label{
  min-height:34px;
  border-radius:12px;
  font-size:14px;
}
#met-patient-form[data-current-step="3"] .met-slot-highlight{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:8px;
  margin:0;
  padding:4px 8px;
  border-radius:12px;
}
#met-patient-form[data-current-step="3"] .met-slot-highlight__label{
  margin:0;
  font-size:11px;
  line-height:1;
  letter-spacing:.04em;
  white-space:nowrap;
}
#met-patient-form[data-current-step="3"] .met-slot-highlight__button{
  min-height:30px;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  padding:0 8px;
  border-radius:9px;
}
#met-patient-form[data-current-step="3"] .met-slot-highlight__button > span:first-child{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
}
#met-patient-form[data-current-step="3"] .met-slot-highlight__meta{
  font-size:12px;
}
#met-patient-form[data-current-step="3"] .met-slot-weeks,
#met-patient-form[data-current-step="3"] .met-step-actions{
  grid-column:1 / -1;
}

@media (max-width:680px){
  #met-patient-form[data-current-step="3"] .met-booking-flow__head{
    grid-template-columns:1fr;
    gap:8px;
  }
  #met-patient-form[data-current-step="3"] .met-flow-back{
    width:max-content;
  }
  #met-patient-form[data-current-step="3"] .met-step-card--slots{
    grid-template-columns:1fr;
  }
  #met-patient-form[data-current-step="3"] .met-slot-toolbar{
    grid-column:1;
    grid-template-columns:1fr;
  }
  #met-patient-form[data-current-step="3"] .met-slot-week-nav{
    grid-column:1;
    grid-template-columns:38px minmax(0,1fr) 38px;
    gap:6px;
  }
  #met-patient-form[data-current-step="3"] .met-slot-week-nav__btn--icon{
    width:38px;
    min-width:38px;
    min-height:38px;
    height:38px;
  }
  #met-patient-form[data-current-step="3"] .met-slot-week-nav__label{
    min-height:38px;
    font-size:14px;
  }
  #met-patient-form[data-current-step="3"] .met-slot-highlight{
    grid-column:1;
    grid-template-columns:1fr;
    gap:6px;
  }
  #met-patient-form[data-current-step="3"] .met-slot-highlight__button{
    grid-template-columns:1fr;
  }
}


/* ===== 2026-03-31 card layout + medical palette hard override ===== */
:root{
  --met-premium-bg:#eef5f7;
  --met-premium-line:#4e7f90;
  --met-premium-copper-1:#4d8aa3;
  --met-premium-copper-2:#8fc0cf;
  --met-premium-teal:#1f5967;
  --met-premium-teal-dark:#184a55;
  --met-premium-text:#112433;
  --met-premium-muted:#4d6270;
}

.met-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:18px;
}

.met-choice-card,
.met-choice-card--type{
  min-height:340px;
  background:linear-gradient(180deg,#f5fbfc 0%,#edf6f7 100%);
  border:2px solid rgba(78,127,144,.95);
}

.met-choice-card.is-selected,
.met-choice-card--type.is-selected{
  background:linear-gradient(180deg,#f9fdff 0%,#eef8fb 100%);
  border-color:#2f6072;
}

.met-choice-card__media{
  top:70px;
  right:18px;
  width:72px;
  height:72px;
  padding:0;
}

.met-choice-card__media img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:none;
}

.met-choice-card__body{
  padding:0 20px 20px;
  padding-right:110px;
  gap:0;
}

.met-choice-card__eyebrow{
  width:calc(100% + 100%);
  margin:0 -20px 16px;
  padding:12px 20px;
  border-radius:22px 22px 0 0;
  background:linear-gradient(90deg,#5e95aa 0%,#86b7c6 100%);
}

.met-choice-card__title,
.met-choice-card__meta,
.met-choice-card__copy{
  max-width:none;
  overflow-wrap:anywhere;
}

.met-choice-card__title{
  font-size:24px;
  line-height:1.08;
  margin:0 0 10px;
}

.met-choice-card__meta{
  font-size:13px;
  line-height:1.5;
  margin:0 0 8px;
}

.met-choice-card__copy{
  font-size:13px;
  line-height:1.5;
  margin:0 0 6px;
}

.met-choice-card__actions{
  margin-top:auto;
  padding-top:18px;
}

.met-choice-card__cta{
  border-color:rgba(94,149,170,.55);
  box-shadow:0 8px 14px rgba(43,94,116,.12);
}

.met-choice-card__footer{
  margin-top:16px;
  padding-top:6px;
  flex-wrap:wrap;
  row-gap:8px;
}

.met-choice-card__count,
.met-choice-card__duration{
  min-width:0;
}

.met-choice-card__duration{
  margin-left:auto;
}

.met-choice-card--type{
  min-height:320px;
}

.met-choice-card--type .met-choice-card__media{
  top:18px;
  width:64px;
  height:64px;
}

.met-choice-card--type .met-choice-card__body{
  padding-right:96px;
}

.met-choice-card--type .met-choice-card__eyebrow{
  font-size:14px;
}

.met-choice-card--type .met-choice-card__title{
  max-width:none;
  font-size:22px;
  margin-top:4px;
}

.met-choice-card--type .met-choice-card__meta,
.met-choice-card--type .met-choice-card__copy{
  max-width:none;
}

@media (min-width:768px) and (max-width:1199px){
  .met-booking-layout{grid-template-columns:1fr}
  .met-booking-summary{position:static;order:2;max-width:none}
  .met-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:18px}
  .met-choice-card,.met-choice-card--type{min-height:340px;border-radius:24px}
  .met-choice-card__media{top:72px;right:18px;width:64px;height:64px}
  .met-choice-card__body{padding:0 18px 18px;padding-right:96px}
  .met-choice-card__eyebrow{display:block;width:calc(100% + 100%);margin:0 -18px 16px;padding:12px 18px;border-radius:22px 22px 0 0;font-size:15px;line-height:1.2}
  .met-choice-card__title{font-size:26px;line-height:1.08;margin:0 0 10px}
  .met-choice-card__meta,.met-choice-card__copy{font-size:14px;line-height:1.55}
  .met-choice-card__footer{font-size:13px;gap:10px}
  .met-choice-card__cta{min-height:48px;padding:0 24px;font-size:15px}
  .met-choice-card--type .met-choice-card__body{padding-right:96px}
  .met-choice-card--type .met-choice-card__title{font-size:26px;max-width:none}
  .met-choice-card--type .met-choice-card__eyebrow{font-size:15px}
}

@media (max-width:767px){
  .met-booking-layout{grid-template-columns:1fr}
  .met-booking-summary{position:static;order:2}
  .met-choice-grid{grid-template-columns:1fr !important;gap:14px}
  .met-choice-card,.met-choice-card--type{min-height:300px;border-radius:22px}
  .met-choice-card__media{top:58px;right:16px;width:52px;height:52px}
  .met-choice-card__body{padding:0 16px 16px;padding-right:80px}
  .met-choice-card__eyebrow{width:calc(100% + 100%);margin:0 -16px 14px;padding:10px 16px;border-radius:20px 20px 0 0;font-size:14px}
  .met-choice-card__title{font-size:18px;line-height:1.12;margin:0 0 8px}
  .met-choice-card__meta,.met-choice-card__copy{font-size:12px;line-height:1.45}
  .met-choice-card__actions{padding-top:14px}
  .met-choice-card__cta{min-height:44px;padding:0 18px;font-size:13px}
  .met-choice-card__footer{font-size:12px;gap:8px}
  .met-choice-card__duration{margin-left:0}
  .met-choice-card--type .met-choice-card__body{padding-right:72px}
}


/* ===== 2026-03-31 type card header + iPad grid hard fix ===== */
.met-choice-grid--types{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  width:100%;
}

.met-choice-card--type .met-choice-card__eyebrow{
  display:block;
  width:calc(100% + 100%);
  max-width:none;
  min-height:44px;
  margin:0 -20px 18px;
  padding:12px 20px;
  border-radius:22px 22px 0 0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  background:linear-gradient(90deg,#5e95aa 0%,#86b7c6 100%);
}

@media (min-width:768px) and (max-width:1366px){
  .met-choice-grid,
  .met-choice-grid--types{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    width:100%;
  }
}

@media (min-width:1367px){
  .met-choice-grid,
  .met-choice-grid--types{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width:767px){
  .met-choice-grid,
  .met-choice-grid--types{
    grid-template-columns:1fr !important;
  }

  .met-choice-card--type .met-choice-card__eyebrow{
    width:calc(100% + 100%);
    margin:0 -16px 14px;
    padding:10px 16px;
  }
}
#met-patient-form[data-current-step="4"] .met-step4-sidebar__body{
  position:relative;
  padding:20px 18px 18px;
  min-height:auto;
  display:flex;
  flex-direction:column;
  gap:14px;
}

#met-patient-form[data-current-step="4"] .met-step4-sidebar__copy,
#met-patient-form[data-current-step="4"] .met-step4-sidebar__trust{
  margin:0;
  font-size:14px;
  line-height:1.55;
  color:#344955;
}

#met-patient-form[data-current-step="4"] .met-step4-sidebar__trust{
  position:static;
  left:auto;
  right:auto;
  bottom:auto;
  margin-top:2px;
  font-size:13px;
}

#met-patient-form[data-current-step="4"] .met-selected-slot-callout--step4{
  margin-top:4px;
  flex:0 0 auto;
}

#met-patient-form[data-current-step="4"] .met-turnstile-wrap{
  grid-column:1 / -1;
  margin:2px 0 0;
  padding:14px 0 0;
}

@media (max-width: 1180px){
  #met-patient-form[data-current-step="4"] .met-step-card--step4 .met-step-card__title{font-size:44px}
  #met-patient-form[data-current-step="4"] .met-step4-shell{grid-template-columns:1fr}
  #met-patient-form[data-current-step="4"] .met-step4-sidebar__body{
    min-height:auto;
    padding:20px 18px 18px;
  }
  #met-patient-form[data-current-step="4"] .met-step4-sidebar__trust{
    position:static;
    margin-top:2px;
  }
}
