/* lite-public-booking-ui-shared.css */html.is-booking-modal-open,
body.is-booking-modal-open{
    overflow:hidden;
}.booking-picker__trigger{
    width:100%;
    display:grid;
    gap:6px;
    padding:16px 18px;
    border:1px solid var(--booking-line);
    border-radius:20px;
    background:linear-gradient(180deg,#ffffff 0%, var(--booking-surface-3) 100%);
    text-align:left;
    cursor:pointer;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease,
        background .18s ease;
}.booking-picker__trigger:hover{
    border-color:var(--booking-line-theme);
    box-shadow:var(--booking-shadow-interactive);
    transform:translateY(-1px);
}.booking-picker__trigger.is-selected{
    border-color:var(--booking-line-theme);
    background:linear-gradient(180deg,var(--booking-surface-3) 0%, var(--booking-accent) 100%);
    box-shadow:0 14px 30px color-mix(in srgb, var(--booking-accent-deep) 10%, transparent);
}.booking-picker__trigger-label{
    font-size:.82rem;
    font-weight:700;
    color:var(--booking-muted);
    text-transform:uppercase;
    letter-spacing:.03em;
}.booking-picker__trigger strong{
    font-size:1rem;
    line-height:1.45;
    color:var(--booking-text);
}.booking-picker__trigger-meta{
    font-size:.92rem;
    color:var(--booking-muted);
    line-height:1.5;
}.booking-specialist-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}.booking-specialist-grid.is-disabled{
    opacity:.92;
}.booking-specialist-card,
.booking-service-card{
    width:100%;
    display:grid;
    gap:6px;
    padding:16px 18px;
    border:1px solid var(--booking-line);
    border-radius:20px;
    background:linear-gradient(180deg,#ffffff 0%, var(--booking-surface-3) 100%);
    text-align:left;
    cursor:pointer;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease,
        background .18s ease;
}.booking-specialist-card:hover,
.booking-service-card:hover{
    border-color:var(--booking-line-theme);
    box-shadow:var(--booking-shadow-interactive);
    transform:translateY(-1px);
}.booking-specialist-card.is-active,
.booking-service-card.is-active{
    border-color:var(--booking-line-theme);
    background:linear-gradient(180deg,var(--booking-surface-3) 0%, var(--booking-accent) 100%);
    box-shadow:0 14px 30px color-mix(in srgb, var(--booking-accent-deep) 10%, transparent);
}.booking-specialist-card__name,
.booking-service-card__name{
    font-size:1rem;
    font-weight:800;
    color:var(--booking-text);
    line-height:1.4;
}.booking-specialist-card__role,
.booking-service-card__meta{
    font-size:.92rem;
    color:var(--booking-muted);
    line-height:1.5;
}.booking-service-grid{
    display:grid;
    gap:12px;
}.booking-day-chip{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    width:100%;
    min-height:92px;
    padding:16px;
    border:1px solid var(--booking-line);
    border-radius:20px;
    background:linear-gradient(180deg,var(--booking-surface-3) 0%, #f8fafc 100%);
    color:var(--booking-text);
    font:inherit;
    text-align:left;
    cursor:pointer;
    transition:
        transform .16s ease,
        border-color .16s ease,
        background .16s ease,
        box-shadow .16s ease;
    box-sizing:border-box;
}.booking-day-chip::after{
    content:"";
    position:absolute;
    inset:auto 16px 0 16px;
    height:3px;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(217,111,134,.18), rgba(217,111,134,0));
    opacity:0;
    transition:opacity .16s ease;
}.booking-day-chip:hover{
    transform:translateY(-2px);
    border-color:var(--booking-line-theme);
    background:#fff;
    box-shadow:var(--booking-shadow-interactive);
}.booking-day-chip:hover::after{
    opacity:1;
}.booking-day-chip.is-active{
    border-color:var(--booking-line-theme);
    background:linear-gradient(180deg,var(--booking-accent) 0%, var(--booking-accent-strong) 100%);
    box-shadow:0 14px 30px color-mix(in srgb, var(--booking-accent-deep) 12%, transparent);
}.booking-day-chip.is-active::after{
    opacity:1;
    background:linear-gradient(90deg, rgba(217,111,134,.90), rgba(244,169,185,.42));
}.booking-day-chip__label{
    font-weight:800;
    line-height:1.38;
    font-size:.96rem;
}.booking-day-chip__meta{
    color:var(--booking-muted);
    font-size:.88rem;
    line-height:1.5;
}.booking-modal{
    position:fixed;
    inset:0;
    z-index:80;
    display:none;
}.booking-modal.is-open{
    display:block;
}.booking-modal__backdrop{
    position:absolute;
    inset:0;
    background:rgba(15,23,42,.52);
    backdrop-filter:blur(3px);
}.booking-modal__sheet{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    max-height:min(78dvh, 720px);
    overflow:auto;
    background:#fff;
    border-radius:24px 24px 0 0;
    box-shadow:0 -24px 60px rgba(15,23,42,.18);
    padding:18px 16px 22px;
}.booking-modal__sheet--service{
    max-height:min(84dvh, 820px);
}.booking-modal__sheet--slots,
.booking-modal__sheet--hours{
    max-height:min(78dvh, 720px);
}.booking-modal__sheet--success{
    max-height:min(88dvh, 760px);
    padding:22px 18px 20px;
}.booking-modal__header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}.booking-modal__eyebrow{
    display:inline-flex;
    align-items:center;
    padding:7px 12px;
    border-radius:999px;
    background:var(--booking-accent);
    color:var(--booking-accent-deep);
    font-weight:800;
    font-size:.82rem;
}.booking-modal__header h3{
    margin:10px 0 4px;
    font-size:1.15rem;
}.booking-modal__lead{
    margin:0;
    color:var(--booking-muted);
    line-height:1.55;
}.booking-modal__close{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border:none;
    border-radius:12px;
    background:#f1f5f9;
    color:var(--booking-text);
    font-size:1.8rem;
    line-height:1;
    cursor:pointer;
}.booking-slots-container{
    display:grid;
    gap:12px;
    min-height:70px;
}.booking-slot-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}.booking-slot-chip{
    position:relative;
    min-height:54px;
    padding:12px 14px;
    border:1px solid var(--booking-line);
    border-radius:16px;
    background:#fff;
    color:var(--booking-text);
    font:inherit;
    font-weight:800;
    cursor:pointer;
    transition:
        transform .16s ease,
        border-color .16s ease,
        background .16s ease,
        box-shadow .16s ease;
    box-sizing:border-box;
}.booking-slot-chip:hover{
    transform:translateY(-2px);
    border-color:var(--booking-line-theme);
    background:var(--booking-surface-3);
    box-shadow:var(--booking-shadow-interactive);
}.booking-slot-chip.is-active{
    border-color:var(--booking-line-theme);
    background:linear-gradient(180deg,var(--booking-accent) 0%, var(--booking-accent-strong) 100%);
    box-shadow:0 10px 24px color-mix(in srgb, var(--booking-accent-deep) 12%, transparent);
}@media (min-width: 900px){.booking-modal__sheet--service,
    .booking-modal__sheet--slots,
    .booking-modal__sheet--hours{
        left:50%;
        right:auto;
        bottom:24px;
        transform:translateX(-50%);
        width:min(720px, calc(100vw - 32px));
        border-radius:28px;
    }.booking-modal__sheet--success{
        top:50%;
        bottom:auto;
        left:50%;
        right:auto;
        transform:translate(-50%, -50%);
        width:min(560px, calc(100vw - 32px));
        border-radius:30px;
        box-shadow:0 28px 80px rgba(15,23,42,.20);
        padding:26px 24px 22px;
    }}@media (min-width: 760px){.booking-specialist-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }.booking-day-chip{
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
        min-height:78px;
        gap:14px;
    }.booking-day-chip__label{
        max-width:62%;
    }.booking-day-chip__meta{
        text-align:right;
        max-width:38%;
    }}@media (max-width: 720px){.booking-picker__trigger{
        padding:14px 16px;
    }.booking-specialist-grid,
    .booking-day-grid,
    .booking-slot-grid{
        grid-template-columns:1fr;
    }.booking-day-chip{
        min-height:84px;
        padding:14px;
    }.booking-slot-chip{
        min-height:52px;
    }.booking-service-card,
    .booking-specialist-card{
        padding:14px 16px;
    }.booking-modal__sheet--success{
        padding:20px 16px 18px;
    }}.booking-modal__sheet--specialist,
.booking-modal__sheet--summary,
.booking-modal__sheet--form,
.booking-modal__sheet--hours{
    max-height:min(84dvh, 820px);
}.booking-modal__section{
    display:grid;
    gap:12px;
}.booking-modal__section + .booking-modal__section{
    margin-top:18px;
}.booking-modal__section-head{
    display:grid;
    gap:4px;
}.booking-modal__section-head h4{
    margin:0;
    font-size:1rem;
}.booking-modal__section-head p{
    margin:0;
    color:var(--booking-muted);
    line-height:1.5;
}.booking-modal__actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:18px;
}.booking-modal__actions > *{
    flex:1 1 220px;
}.booking-modal__actions--form{
    margin-top:20px;
}.booking-button-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:14px 18px;
    border:1px solid var(--booking-line);
    border-radius:16px;
    background:#fff;
    color:var(--booking-text);
    font:inherit;
    font-weight:700;
    cursor:pointer;
    transition:border-color .16s ease, background .16s ease, transform .16s ease, box-shadow .16s ease;
}.booking-button-secondary:hover{
    transform:translateY(-1px);
    border-color:var(--booking-line-theme);
    background:var(--booking-surface-3);
    box-shadow:var(--booking-shadow-interactive);
}@media (max-width: 767px){.booking-modal__actions{
        flex-direction:column;
    }.booking-modal__actions > *{
        flex:1 1 auto;
        width:100%;
    }}.booking-modal__sheet--summary,
.booking-modal__sheet--form,
.booking-modal__sheet--specialist,
.booking-modal__sheet--slots,
.booking-modal__sheet--hours{
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--booking-accent-strong) 16%, transparent), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, var(--booking-surface-3) 100%);
}.booking-modal__actions--compact > *{
    flex:1 1 180px;
}@media (min-width: 900px){.booking-modal__sheet--specialist,
    .booking-modal__sheet--summary,
    .booking-modal__sheet--form,
    .booking-modal__sheet--hours{
        left:50%;
        right:auto;
        bottom:24px;
        transform:translateX(-50%);
        width:min(760px, calc(100vw - 32px));
        border-radius:28px;
    }.booking-modal__sheet--form{
        width:min(820px, calc(100vw - 32px));
    }}.booking-button-danger{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:14px 18px;
    border:1px solid #fecaca;
    border-radius:16px;
    background:linear-gradient(180deg,#fff5f5 0%, #fef2f2 100%);
    color:#b91c1c;
    font:inherit;
    font-weight:800;
    cursor:pointer;
    transition:border-color .16s ease, background .16s ease, transform .16s ease, box-shadow .16s ease;
}.booking-button-danger:hover{
    transform:translateY(-1px);
    border-color:#fca5a5;
    background:linear-gradient(180deg,#fff1f2 0%, #fee2e2 100%);
    box-shadow:0 12px 24px rgba(185,28,28,.10);
}.booking-button-danger:active{
    transform:translateY(0);
}.booking-modal{
    display:block;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .22s ease, visibility .22s ease;
}.booking-modal.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}.booking-modal__backdrop{
    opacity:0;
    transition:opacity .24s ease;
}.booking-modal.is-open .booking-modal__backdrop{
    opacity:1;
}.booking-modal__sheet{
    --booking-modal-sheet-transform-hidden: translateY(26px) scale(.985);
    --booking-modal-sheet-transform-visible: translateY(0) scale(1);
    transform:var(--booking-modal-sheet-transform-hidden);
    opacity:0;
    transition:transform .24s ease, opacity .24s ease;
}.booking-modal.is-open .booking-modal__sheet{
    transform:var(--booking-modal-sheet-transform-visible);
    opacity:1;
}.booking-modal__header{
    position:relative;
}.booking-modal__header::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-8px;
    height:1px;
    background:linear-gradient(90deg, rgba(219,227,238,0) 0%, rgba(219,227,238,.95) 12%, rgba(219,227,238,.95) 88%, rgba(219,227,238,0) 100%);
}.booking-picker__trigger,
.booking-service-card,
.booking-specialist-card,
.booking-day-chip,
.booking-slot-chip,
.booking-button-secondary,
.booking-button-danger{
    will-change:transform;
}@media (min-width: 900px){.booking-modal__sheet--service,
    .booking-modal__sheet--slots,
    .booking-modal__sheet--hours,
    .booking-modal__sheet--specialist,
    .booking-modal__sheet--summary,
    .booking-modal__sheet--form{
        --booking-modal-sheet-transform-hidden: translateX(-50%) translateY(18px) scale(.985);
        --booking-modal-sheet-transform-visible: translateX(-50%) translateY(0) scale(1);
    }.booking-modal__sheet--success{
        --booking-modal-sheet-transform-hidden: translate(-50%, calc(-50% + 18px)) scale(.985);
        --booking-modal-sheet-transform-visible: translate(-50%, -50%) scale(1);
    }}.booking-picker__trigger{padding:18px 18px;}.booking-picker__trigger strong{font-size:1.08rem;}.booking-flow-actions .booking-button-danger{width:100%;}.booking-modal__eyebrow{display:none;}.booking-success__hero .booking-modal__eyebrow{display:inline-flex;}@media (max-width: 767px){.booking-picker__trigger{padding:16px;}}.booking-modal__actions{
    align-items:center;
}.booking-modal__actions > *{
    flex:0 0 auto;
}.booking-modal__actions .booking-submit__button{
    flex:1 1 240px;
}.booking-modal__actions .booking-button-secondary,
.booking-modal__actions .booking-button-danger{
    width:auto;
    min-width:fit-content;
}.booking-button-secondary{
    position:relative;
    min-height:46px;
    padding:11px 16px;
    border:1px solid var(--booking-line-theme);
    border-radius:14px;
    background:linear-gradient(180deg,#ffffff 0%, var(--booking-surface-3) 100%);
    color:#0f172a;
    font-weight:800;
    box-shadow:0 10px 22px rgba(15,23,42,.06);
}.booking-button-secondary:hover{
    border-color:var(--booking-line-theme);
    background:linear-gradient(180deg,#ffffff 0%, var(--booking-accent) 100%);
    box-shadow:0 14px 26px color-mix(in srgb, var(--booking-accent-deep) 12%, transparent);
}.booking-button-secondary--edit,
.booking-button-secondary--back{
    padding-left:14px;
    padding-right:14px;
}.booking-button-secondary--edit::before,
.booking-button-secondary--back::before{
    display:inline-block;
    margin-right:8px;
    font-size:.95rem;
    line-height:1;
}.booking-button-secondary--edit::before{
    content:"✦";
    color:var(--booking-accent-deep);
}.booking-button-secondary--back::before{
    content:"←";
    color:var(--booking-accent-deep);
    font-size:1rem;
}.booking-modal__actions--compact{
    justify-content:flex-start;
}.booking-modal__actions--compact > *{
    flex:0 0 auto;
}.booking-modal__actions .booking-button-secondary--edit{
    border-color:var(--booking-line-theme);
    background:linear-gradient(180deg,var(--booking-surface-3) 0%, var(--booking-accent) 100%);
}.booking-modal__actions .booking-button-secondary--edit:hover{
    background:linear-gradient(180deg,#ffffff 0%, var(--booking-accent) 100%);
}@media (min-width: 768px){.booking-modal__actions{
        justify-content:flex-start;
    }.booking-modal__actions--form{
        justify-content:space-between;
    }.booking-modal__actions--form .booking-submit__button{
        max-width:320px;
    }}@media (max-width: 767px){.booking-modal__actions{
        align-items:stretch;
    }.booking-modal__actions .booking-button-secondary,
    .booking-modal__actions .booking-button-danger,
    .booking-modal__actions .booking-submit__button{
        width:100%;
    }}.booking-modal__actions .booking-button-secondary{
    min-height:42px;
    padding:10px 14px;
    border:1px solid color-mix(in srgb, var(--booking-line-theme) 46%, #ffffff);
    border-radius:13px;
    background:linear-gradient(180deg, rgba(250,252,255,.98) 0%, rgba(244,247,252,.98) 100%);
    color:#334155;
    font-size:.9rem;
    font-weight:700;
    box-shadow:0 6px 14px rgba(15,23,42,.04);
}.booking-modal__actions .booking-button-secondary:hover{
    border-color:var(--booking-line-theme);
    background:linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(240,245,252,1) 100%);
    color:#1e293b;
    box-shadow:0 10px 18px rgba(15,23,42,.07);
}.booking-modal__actions .booking-button-secondary--edit,
.booking-modal__actions .booking-button-secondary--back{
    padding-left:12px;
    padding-right:14px;
}.booking-modal__actions .booking-button-secondary--edit::before,
.booking-modal__actions .booking-button-secondary--back::before{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:22px;
    height:22px;
    margin-right:8px;
    border-radius:999px;
    background:color-mix(in srgb, var(--booking-accent-deep) 8%, transparent);
    color:var(--booking-accent-deep);
    font-size:.82rem;
    font-weight:800;
    line-height:1;
}.booking-modal__actions .booking-button-secondary--edit::before{
    content:"✦";
}.booking-modal__actions .booking-button-secondary--back::before{
    content:"←";
}.booking-modal__actions .booking-button-secondary--edit{
    border-style:solid;
}.booking-modal__actions .booking-button-secondary--back{
    border-style:dashed;
    color:#475569;
}.booking-modal__actions .booking-button-secondary--back::before{
    background:rgba(71,85,105,.08);
    color:#475569;
}.booking-modal__actions .booking-button-secondary--back:hover{
    border-color:#cbd5e1;
    color:#334155;
}@media (min-width: 768px){.booking-modal__actions .booking-button-secondary{
        min-width:168px;
    }}@media (min-width: 768px){.booking-modal__actions #booking-open-contact-modal.booking-submit__button--summary{
        width:auto;
        min-width:240px;
        max-width:280px;
        margin-left:auto;
        flex:0 0 auto;
    }}.booking-modal__actions--summary{
    align-items:center;
}@media (min-width: 768px){.booking-modal__actions--summary #booking-open-contact-modal.booking-submit__button--summary{
        width:auto;
        min-width:220px;
        max-width:250px;
        margin-left:0;
        flex:0 0 auto;
    }.booking-modal__actions--summary .booking-button-danger{
        margin-left:auto;
    }}.booking-modal__actions .booking-submit__button{
    flex:0 0 auto;
}.booking-modal__actions--summary{
    gap:10px;
}.booking-modal__actions--summary > *{
    flex:0 0 auto;
}.booking-modal__actions--summary .booking-button-secondary--back{
    min-height:44px;
}.booking-modal__actions--summary #booking-open-contact-modal.booking-submit__button--summary{
    min-height:54px;
    padding:0 18px;
    font-size:.98rem;
    line-height:1.2;
    width:100%;
    max-width:none;
    flex:0 0 auto;
}.booking-modal__actions--summary .booking-button-danger{
    min-height:44px;
    padding:12px 16px;
    font-size:.94rem;
    box-shadow:none;
}@media (max-width: 767px){.booking-modal__actions--summary{
        flex-direction:column;
        align-items:stretch;
    }.booking-modal__actions--summary > *{
        width:100%;
        flex:0 0 auto;
    }.booking-modal__actions--summary [data-booking-back-to-hours]{
        order:1;
    }.booking-modal__actions--summary #booking-open-contact-modal{
        order:2;
    }.booking-modal__actions--summary [data-booking-clear-selection]{
        order:3;
    }}@media (min-width: 768px){.booking-modal__actions--summary{
        justify-content:flex-start;
    }.booking-modal__actions--summary #booking-open-contact-modal.booking-submit__button--summary{
        width:auto;
        min-width:210px;
        max-width:240px;
    }.booking-modal__actions--summary .booking-button-danger{
        width:auto;
        min-width:160px;
        margin-left:auto;
    }}.booking-modal__sheet--summary .booking-modal__header{
    margin-bottom:10px;
}.booking-modal__sheet--summary .booking-modal__lead{
    font-size:.94rem;
    line-height:1.5;
}.booking-modal__sheet--summary .booking-summary{
    gap:10px;
    padding:12px;
    margin-top:10px;
}.booking-modal__sheet--summary .booking-summary__item{
    padding:10px 10px 8px;
}.booking-modal__sheet--summary .booking-summary__item span{
    font-size:.76rem;
}.booking-modal__sheet--summary .booking-summary__item strong{
    font-size:.95rem;
    line-height:1.35;
}.booking-modal__sheet--summary .booking-summary__edit{
    min-height:28px;
    padding:0 9px;
    font-size:.74rem;
}.booking-modal__actions--summary{
    margin-top:14px;
}.booking-modal__actions--summary #booking-open-contact-modal.booking-submit__button--summary{
    min-height:50px;
}@media (max-width: 767px){.booking-modal__sheet--summary{
        padding:14px 14px 16px;
    }.booking-modal__sheet--summary .booking-summary{
        gap:8px;
        padding:10px;
    }.booking-modal__sheet--summary .booking-summary__item{
        padding:9px 9px 8px;
    }.booking-modal__sheet--summary .booking-summary__item-head{
        gap:8px;
    }.booking-modal__actions--summary{
        gap:8px;
    }.booking-modal__actions--summary #booking-open-contact-modal{
        order:1;
    }.booking-modal__actions--summary [data-booking-back-to-hours]{
        order:2;
    }.booking-modal__actions--summary [data-booking-clear-selection]{
        order:3;
    }}.booking-modal__sheet--form{
    padding-bottom:18px;
}.booking-modal__sheet--form .booking-modal__header{
    margin-bottom:8px;
}.booking-modal__sheet--form .booking-form-grid{
    gap:12px;
}.booking-modal__sheet--form .booking-field{
    gap:6px;
}.booking-modal__sheet--form .booking-field label{
    font-size:.88rem;
}.booking-modal__sheet--form .booking-field input,
.booking-modal__sheet--form .booking-field textarea{
    border-radius:14px;
}.booking-modal__sheet--form .booking-field input{
    min-height:48px;
    padding:0 14px;
}.booking-modal__sheet--form .booking-field textarea{
    min-height:108px;
    padding:12px 14px;
}.booking-modal__sheet--form .booking-consent{
    margin-top:14px;
    padding:12px 14px;
    border-radius:16px;
    font-size:.94rem;
    line-height:1.55;
}.booking-modal__sheet--form .booking-contact-summary-quick{
    margin-top:14px;
    padding:12px;
    border-radius:16px;
}.booking-modal__sheet--form .booking-contact-summary-quick__row{
    gap:8px;
}.booking-modal__sheet--form .booking-modal__actions--form{
    margin-top:16px;
    gap:10px;
}@media (min-width: 900px){.booking-modal__sheet--form{
        width:min(760px, calc(100vw - 32px));
    }}@media (max-width: 767px){.booking-modal__sheet--form{
        padding:14px 14px 16px;
    }.booking-modal__sheet--form .booking-form-grid{
        gap:10px;
    }.booking-modal__sheet--form .booking-field label{
        font-size:.86rem;
    }.booking-modal__sheet--form .booking-field input{
        min-height:46px;
        padding:0 13px;
    }.booking-modal__sheet--form .booking-field textarea{
        min-height:96px;
        padding:11px 13px;
    }.booking-modal__sheet--form .booking-consent{
        gap:10px;
        margin-top:12px;
        padding:11px 12px;
        font-size:.9rem;
    }.booking-modal__sheet--form .booking-contact-summary-quick{
        margin-top:12px;
        padding:10px;
    }}.booking-service-card,
.booking-specialist-card,
.booking-day-chip,
.booking-slot-chip{
    position:relative;
    overflow:hidden;
}.booking-service-card::before,
.booking-specialist-card::before,
.booking-day-chip::before,
.booking-slot-chip::before{
    content:"✓";
    position:absolute;
    top:12px;
    right:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    border-radius:999px;
    border:1px solid color-mix(in srgb, var(--booking-line-theme) 30%, var(--booking-line));
    background:rgba(255,255,255,.94);
    color:transparent;
    font-size:.82rem;
    font-weight:900;
    box-shadow:0 6px 14px rgba(15,23,42,.06);
    transform:scale(.88);
    opacity:.72;
    transition:transform .18s ease, opacity .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
    pointer-events:none;
}.booking-service-card::after,
.booking-specialist-card::after,
.booking-slot-chip::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    padding:1px;
    background:linear-gradient(135deg, color-mix(in srgb, var(--booking-accent-strong) 36%, transparent) 0%, rgba(255,255,255,0) 45%, color-mix(in srgb, var(--booking-accent-strong) 22%, transparent) 100%);
    -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;
            mask-composite:exclude;
    opacity:0;
    transition:opacity .18s ease;
    pointer-events:none;
}.booking-service-card:hover,
.booking-specialist-card:hover{
    transform:translateY(-2px);
    border-color:color-mix(in srgb, var(--booking-line-theme) 85%, var(--booking-line));
    box-shadow:0 14px 28px color-mix(in srgb, var(--booking-accent-deep) 10%, transparent);
}.booking-service-card:hover::before,
.booking-specialist-card:hover::before,
.booking-day-chip:hover::before,
.booking-slot-chip:hover::before{
    opacity:1;
    border-color:color-mix(in srgb, var(--booking-line-theme) 55%, var(--booking-line));
    transform:scale(1);
}.booking-service-card:hover::after,
.booking-specialist-card:hover::after,
.booking-slot-chip:hover::after{
    opacity:.7;
}.booking-service-card.is-active,
.booking-specialist-card.is-active{
    border-color:color-mix(in srgb, var(--booking-line-theme) 95%, var(--booking-line));
    background:linear-gradient(180deg, color-mix(in srgb, #ffffff 78%, var(--booking-accent)) 0%, color-mix(in srgb, var(--booking-accent) 58%, #ffffff) 100%);
    box-shadow:0 18px 34px color-mix(in srgb, var(--booking-accent-deep) 14%, transparent);
}.booking-service-card.is-active::before,
.booking-specialist-card.is-active::before,
.booking-day-chip.is-active::before,
.booking-slot-chip.is-active::before{
    color:#ffffff;
    background:linear-gradient(180deg, var(--booking-accent-strong) 0%, var(--booking-accent-deep) 100%);
    border-color:transparent;
    opacity:1;
    transform:scale(1);
}.booking-service-card.is-active::after,
.booking-specialist-card.is-active::after,
.booking-slot-chip.is-active::after{
    opacity:1;
}.booking-service-card__name,
.booking-specialist-card__name{
    padding-right:34px;
}.booking-service-card__meta,
.booking-specialist-card__role{
    transition:color .18s ease;
}.booking-service-card.is-active .booking-service-card__meta,
.booking-specialist-card.is-active .booking-specialist-card__role{
    color:color-mix(in srgb, var(--booking-text) 72%, var(--booking-muted));
}.booking-day-chip{
    min-height:88px;
    padding:14px 16px;
}.booking-day-chip::before{
    top:10px;
    right:10px;
    width:22px;
    height:22px;
    font-size:.78rem;
}.booking-day-chip:hover{
    transform:translateY(-2px);
    border-color:color-mix(in srgb, var(--booking-line-theme) 85%, var(--booking-line));
    box-shadow:0 14px 28px color-mix(in srgb, var(--booking-accent-deep) 8%, transparent);
}.booking-day-chip.is-active{
    background:linear-gradient(180deg, color-mix(in srgb, #ffffff 82%, var(--booking-accent)) 0%, color-mix(in srgb, var(--booking-accent) 52%, #ffffff) 100%);
    border-color:color-mix(in srgb, var(--booking-line-theme) 95%, var(--booking-line));
    box-shadow:0 16px 30px color-mix(in srgb, var(--booking-accent-deep) 14%, transparent);
}.booking-day-chip__label,
.booking-day-chip__meta{
    padding-right:30px;
}.booking-slot-chip{
    min-height:52px;
    padding:12px 16px;
    font-size:.98rem;
    letter-spacing:.01em;
}.booking-slot-chip::before{
    top:50%;
    right:12px;
    width:20px;
    height:20px;
    transform:translateY(-50%) scale(.88);
    font-size:.72rem;
}.booking-slot-chip:hover::before,
.booking-slot-chip.is-active::before{
    transform:translateY(-50%) scale(1);
}.booking-slot-chip:hover{
    transform:translateY(-1px);
    border-color:color-mix(in srgb, var(--booking-line-theme) 85%, var(--booking-line));
    background:linear-gradient(180deg, #ffffff 0%, color-mix(in srgb, var(--booking-surface-3) 80%, #ffffff) 100%);
    box-shadow:0 12px 22px color-mix(in srgb, var(--booking-accent-deep) 7%, transparent);
}.booking-slot-chip.is-active{
    border-color:color-mix(in srgb, var(--booking-line-theme) 95%, var(--booking-line));
    background:linear-gradient(180deg, color-mix(in srgb, #ffffff 74%, var(--booking-accent)) 0%, color-mix(in srgb, var(--booking-accent) 64%, #ffffff) 100%);
    color:var(--booking-text);
    box-shadow:0 14px 24px color-mix(in srgb, var(--booking-accent-deep) 14%, transparent);
}.booking-slot-chip{
    padding-right:40px;
}@media (max-width: 767px){.booking-service-card,
    .booking-specialist-card{
        padding:15px 16px;
    }.booking-service-card::before,
    .booking-specialist-card::before,
    .booking-day-chip::before{
        width:22px;
        height:22px;
        top:10px;
        right:10px;
    }.booking-slot-chip{
        min-height:50px;
        font-size:.94rem;
    }}.booking-modal__sheet--summary{
    background:
        radial-gradient(circle at top right, rgba(191,219,254,.14), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #fffaf8 100%);
}.booking-modal__sheet--summary .booking-modal__header,
.booking-modal__sheet--form .booking-modal__header{
    margin-bottom:10px;
}.booking-modal__sheet--summary .booking-modal__lead{
    font-size:.93rem;
    line-height:1.52;
}.booking-modal__sheet--summary .booking-summary{
    gap:10px;
    padding:10px;
    border-radius:18px;
    background:linear-gradient(180deg, rgba(248,251,255,.96) 0%, rgba(239,245,255,.82) 100%);
    border:1px solid rgba(214,228,255,.75);
}.booking-modal__sheet--summary .booking-summary__item{
    padding:11px 12px 10px;
    border-radius:16px;
    border:1px solid rgba(214,228,255,.82);
    background:rgba(255,255,255,.84);
}.booking-modal__sheet--summary .booking-summary__item span{
    font-size:.76rem;
    letter-spacing:.04em;
}.booking-modal__sheet--summary .booking-summary__item strong{
    font-size:.94rem;
    line-height:1.38;
}.booking-modal__sheet--summary .booking-summary__edit{
    min-height:28px;
    padding:0 9px;
}.booking-modal__actions--summary{
    margin-top:14px;
    gap:10px;
}.booking-modal__sheet--form{
    background:
        radial-gradient(circle at top right, rgba(191,219,254,.12), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #fffaf8 100%);
}.booking-modal__sheet--form .booking-contact-summary-quick{
    display:grid;
    gap:10px;
    margin-top:12px;
    padding:12px;
    border:1px solid rgba(214,228,255,.85);
    border-radius:18px;
    background:linear-gradient(180deg, rgba(248,251,255,.98) 0%, rgba(239,245,255,.98) 100%);
    box-shadow:0 12px 24px rgba(15,23,42,.04);
}.booking-modal__sheet--form .booking-contact-summary-quick__row{
    grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr) auto;
    padding:10px 12px;
    border:1px solid rgba(214,228,255,.75);
    border-radius:16px;
    background:rgba(255,255,255,.86);
}.booking-modal__sheet--form .booking-contact-summary-quick__row span{
    font-size:.74rem;
    letter-spacing:.04em;
}.booking-modal__sheet--form .booking-contact-summary-quick__row strong{
    font-size:.93rem;
    line-height:1.38;
}.booking-modal__sheet--form .booking-form-grid{
    margin-top:2px;
}.booking-modal__sheet--form .booking-modal__actions--form{
    margin-top:16px;
    gap:10px;
}@media (min-width: 560px){.booking-modal__sheet--summary .booking-summary{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }}@media (min-width: 900px){.booking-modal__sheet--summary{
        width:min(700px, calc(100vw - 32px));
    }.booking-modal__sheet--form{
        width:min(760px, calc(100vw - 32px));
    }}@media (max-width: 767px){.booking-modal__sheet--summary .booking-summary{
        gap:8px;
        padding:8px;
    }.booking-modal__sheet--summary .booking-summary__item{
        padding:10px 10px 9px;
    }.booking-modal__sheet--form .booking-contact-summary-quick{
        gap:8px;
        padding:10px;
    }.booking-modal__sheet--form .booking-contact-summary-quick__row{
        grid-template-columns:1fr;
        gap:6px;
        padding:9px 10px;
    }}.booking-modal__sheet--service,
.booking-modal__sheet--slots,
.booking-modal__sheet--hours,
.booking-modal__sheet--specialist,
.booking-modal__sheet--summary,
.booking-modal__sheet--form{
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--booking-accent) 24%, transparent) 0%, transparent 28%),
        linear-gradient(180deg, color-mix(in srgb, #ffffff 97%, var(--booking-accent)) 0%, color-mix(in srgb, #fffaf8 94%, var(--booking-surface-3)) 100%);
}.booking-picker__trigger,
.booking-service-card,
.booking-specialist-card,
.booking-day-chip,
.booking-slot-chip,
.booking-submit__button,
.booking-button-secondary,
.booking-button-danger,
.booking-company__social-link{
    transition:
        transform .18s ease,
        box-shadow .22s ease,
        border-color .18s ease,
        background .22s ease,
        opacity .18s ease,
        color .18s ease;
}.booking-picker__trigger:active,
.booking-service-card:active,
.booking-specialist-card:active,
.booking-day-chip:active,
.booking-slot-chip:active,
.booking-submit__button:active,
.booking-button-secondary:active,
.booking-button-danger:active,
.booking-company__social-link:active{
    transform:translateY(1px) scale(.992);
}.booking-modal__sheet{
    will-change:transform, opacity;
}.booking-modal.is-open .booking-modal__backdrop{
    backdrop-filter:blur(3px);
}.booking-specialist-grid.is-loading,
.booking-dates-container.is-loading,
.booking-mobile-slots-container.is-loading{
    pointer-events:none;
}.booking-service-card:hover,
.booking-specialist-card:hover,
.booking-day-chip:hover,
.booking-slot-chip:hover{
    z-index:1;
}.booking-service-card.is-active,
.booking-specialist-card.is-active,
.booking-day-chip.is-active,
.booking-slot-chip.is-active{
    animation:bookingCardSelected .26s ease;
}.booking-card,
.booking-modal__sheet,
.booking-hero__panel,
.booking-footer{
    box-shadow:0 20px 48px rgba(15,23,42,.06);
}.booking-card__head,
.booking-modal__header{
    gap:8px;
}.booking-modal__title{
    letter-spacing:-.02em;
}.booking-modal__lead,
.booking-card__head p,
.booking-company__description{
    text-wrap:balance;
}.booking-flow-overview__item,
.booking-summary__item,
.booking-modal__sheet--form .booking-contact-summary-quick__row{
    box-shadow:0 8px 18px rgba(15,23,42,.035);
}.booking-picker__trigger strong,
.booking-summary__item strong,
.booking-flow-overview__item strong{
    letter-spacing:-.01em;
}.booking-modal__actions{
    padding-top:2px;
}.booking-submit__button,
.booking-button-secondary,
.booking-button-danger,
.booking-summary__edit,
.booking-flow-edit,
.booking-company__social-link,
.booking-service-card,
.booking-specialist-card,
.booking-day-chip,
.booking-slot-chip,
.booking-picker__trigger,
.booking-field input,
.booking-field textarea,
.booking-consent__control input{
    outline:none;
}.booking-submit__button:focus-visible,
.booking-button-secondary:focus-visible,
.booking-button-danger:focus-visible,
.booking-summary__edit:focus-visible,
.booking-flow-edit:focus-visible,
.booking-company__social-link:focus-visible,
.booking-service-card:focus-visible,
.booking-specialist-card:focus-visible,
.booking-day-chip:focus-visible,
.booking-slot-chip:focus-visible,
.booking-picker__trigger:focus-visible,
.booking-field input:focus-visible,
.booking-field textarea:focus-visible,
.booking-consent__control input:focus-visible{
    box-shadow:0 0 0 4px color-mix(in srgb, var(--booking-accent-strong) 55%, transparent), 0 12px 22px rgba(15,23,42,.08);
    border-color:color-mix(in srgb, var(--booking-line-theme) 90%, var(--booking-line));
}.booking-modal__close{
    transition:transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}.booking-modal__close:hover{
    transform:rotate(90deg);
}.booking-modal__sheet--success .booking-success__summary{
    box-shadow:0 10px 22px rgba(15,23,42,.05);
}.booking-modal__sheet--success .booking-success__actions{
    margin-top:4px;
}@media (min-width: 768px){.booking-modal__header{
        margin-bottom:12px;
    }}@media (max-width: 767px){.booking-modal__sheet{
        border-top-left-radius:24px;
        border-top-right-radius:24px;
    }}.booking-modal.is-open.is-switching-in,
.booking-modal.is-open.is-switching-out{
    visibility:visible;
    pointer-events:none;
}.booking-modal.is-open.is-switching-in{
    z-index:42;
}.booking-modal.is-open.is-switching-out{
    z-index:41;
}.booking-modal.is-open.is-switching-out .booking-modal__backdrop{
    opacity:0;
    transition:opacity .18s ease;
}.booking-modal.is-open.is-switching-in .booking-modal__backdrop{
    opacity:1;
}.booking-modal.is-open.is-switching-in .booking-modal__sheet,
.booking-modal.is-open.is-switching-out .booking-modal__sheet{
    transition:transform .22s cubic-bezier(.22,1,.36,1), opacity .22s cubic-bezier(.22,1,.36,1);
}.booking-modal[data-modal-motion="forward"].is-open.is-switching-in .booking-modal__sheet{
    animation:bookingModalSwitchInForward .22s cubic-bezier(.22,1,.36,1);
}.booking-modal[data-modal-motion="backward"].is-open.is-switching-in .booking-modal__sheet{
    animation:bookingModalSwitchInBackward .22s cubic-bezier(.22,1,.36,1);
}.booking-modal[data-modal-motion="forward"].is-open.is-switching-out .booking-modal__sheet{
    transform:translateX(-18px) scale(.985);
    opacity:0;
}.booking-modal[data-modal-motion="backward"].is-open.is-switching-out .booking-modal__sheet{
    transform:translateX(18px) scale(.985);
    opacity:0;
}.booking-modal.is-open.is-switching-out .booking-modal__backdrop{
    opacity:.35;
    transition:opacity .30s ease;
}.booking-modal.is-open.is-switching-in .booking-modal__backdrop{
    opacity:1;
    transition:opacity .30s ease;
}.booking-modal.is-open.is-switching-in .booking-modal__sheet,
.booking-modal.is-open.is-switching-out .booking-modal__sheet{
    transition:transform .30s cubic-bezier(.22,1,.36,1), opacity .30s cubic-bezier(.22,1,.36,1), filter .30s ease;
}.booking-modal[data-modal-motion="forward"].is-open.is-switching-in .booking-modal__sheet{
    animation:bookingModalSwitchInForwardStrong .30s cubic-bezier(.22,1,.36,1);
}.booking-modal[data-modal-motion="backward"].is-open.is-switching-in .booking-modal__sheet{
    animation:bookingModalSwitchInBackwardStrong .30s cubic-bezier(.22,1,.36,1);
}.booking-modal[data-modal-motion="forward"].is-open.is-switching-out .booking-modal__sheet{
    transform:translateX(-34px) scale(.978);
    opacity:0;
    filter:blur(1px);
}.booking-modal[data-modal-motion="backward"].is-open.is-switching-out .booking-modal__sheet{
    transform:translateX(34px) scale(.978);
    opacity:0;
    filter:blur(1px);
}