@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700&family=Marcellus&family=Mulish:wght@400;500;600;700&family=Nunito+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&family=Prata&family=Raleway:wght@400;500;600;700&family=Source+Sans+3:wght@400;500;600;700&display=optional");:root{
    --booking-bg:#fff8f6;
    --booking-surface:#ffffff;
    --booking-surface-2:#fffaf8;
    --booking-surface-3:#fff4f1;
    --booking-text:#2d2025;
    --booking-muted:#7d6f73;
    --booking-line:#ead9d8;
    --booking-line-strong:#ddc6c8;
    --booking-primary:#2d2025;
    --booking-primary-2:#6f4852;
    --booking-accent:#fff1f2;
    --booking-accent-strong:#ffd8df;
    --booking-accent-deep:#d96f86;
    --booking-line-theme:#f4a9b9;
    --booking-success:#166534;
    --booking-success-bg:#ecfdf3;
    --booking-error:#b91c1c;
    --booking-error-bg:#fef2f2;
    --booking-shadow:0 28px 80px rgba(15,23,42,.10);
    --booking-shadow-soft:0 14px 34px rgba(15,23,42,.06);
    --booking-shadow-card:0 18px 40px rgba(15,23,42,.05);
    --booking-shadow-interactive:0 16px 32px rgba(15,23,42,.07);
    --booking-radius-2xl:32px;
    --booking-radius-xl:24px;
    --booking-radius-lg:18px;
    --booking-radius-md:14px;
    --booking-logo-scale:1;
    --booking-font-heading:"Playfair Display", Georgia, serif;
    --booking-font-body:"Manrope", Inter, Arial, sans-serif;
    --booking-pattern-opacity:0;
    --booking-pattern-image:none;
    --booking-pattern-size:auto;
    --booking-pattern-position:center top;
}.public-booking-shell{
    background:
        radial-gradient(circle at top left, rgba(217,111,134,.10), transparent 26%),
        radial-gradient(circle at top right, rgba(255,216,223,.16), transparent 24%),
        linear-gradient(180deg,var(--booking-surface-3) 0%, #fff8f6 100%);
}.public-booking-layout{
    position:relative;
    isolation:isolate;
}.public-booking-layout::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:0;
    opacity:var(--booking-pattern-opacity, 0);
    background-image:var(--booking-pattern-image, none);
    background-size:var(--booking-pattern-size, auto);
    background-position:var(--booking-pattern-position, center top);
    background-repeat:repeat;
}.public-booking-layout__main{
    position:relative;
    z-index:1;
    min-height:100dvh;
}.public-booking-font-heading-playfair{
    --booking-font-heading:"Playfair Display", Georgia, serif;
}.public-booking-font-heading-cormorant{
    --booking-font-heading:"Cormorant Garamond", Georgia, serif;
}.public-booking-font-heading-prata{
    --booking-font-heading:"Prata", Georgia, serif;
}.public-booking-font-heading-dm-serif{
    --booking-font-heading:"DM Serif Display", Georgia, serif;
}.public-booking-font-heading-marcellus{
    --booking-font-heading:"Marcellus", Georgia, serif;
}.public-booking-font-body-manrope{
    --booking-font-body:"Manrope", Inter, Arial, sans-serif;
}.public-booking-font-body-nunito{
    --booking-font-body:"Nunito Sans", Inter, Arial, sans-serif;
}.public-booking-font-body-mulish{
    --booking-font-body:"Mulish", Inter, Arial, sans-serif;
}.public-booking-font-body-raleway{
    --booking-font-body:"Raleway", Inter, Arial, sans-serif;
}.public-booking-font-body-source{
    --booking-font-body:"Source Sans 3", Inter, Arial, sans-serif;
}.public-booking-shell--pattern-none{
    --booking-pattern-opacity:0;
}.public-booking-shell--pattern-soft-waves{
    --booking-pattern-opacity:.44;
    --booking-pattern-size:152px 92px;
    --booking-pattern-image:
        radial-gradient(72px 26px at 0 0, color-mix(in srgb, var(--booking-accent-strong) 28%, transparent) 0 46%, transparent 47%),
        radial-gradient(72px 26px at 76px 46px, color-mix(in srgb, var(--booking-line-theme) 22%, transparent) 0 46%, transparent 47%);
}.public-booking-shell--pattern-silk{
    --booking-pattern-opacity:.30;
    --booking-pattern-size:220px 220px;
    --booking-pattern-image:
        linear-gradient(125deg, transparent 0 34%, color-mix(in srgb, var(--booking-accent-strong) 20%, transparent) 35% 37%, transparent 38% 56%, color-mix(in srgb, var(--booking-line-theme) 18%, transparent) 57% 59%, transparent 60%),
        linear-gradient(35deg, transparent 0 48%, color-mix(in srgb, var(--booking-accent) 34%, transparent) 49% 51%, transparent 52%);
}.public-booking-shell--pattern-petals{
    --booking-pattern-opacity:.32;
    --booking-pattern-size:88px 64px;
    --booking-pattern-image:
        radial-gradient(16px 11px at 18px 20px, color-mix(in srgb, var(--booking-accent-strong) 26%, transparent) 0 60%, transparent 61%),
        radial-gradient(16px 11px at 48px 20px, color-mix(in srgb, var(--booking-line-theme) 22%, transparent) 0 60%, transparent 61%),
        radial-gradient(16px 11px at 33px 40px, color-mix(in srgb, var(--booking-accent) 32%, transparent) 0 60%, transparent 61%);
}.public-booking-shell--pattern-fine-grid{
    --booking-pattern-opacity:.24;
    --booking-pattern-size:24px 24px;
    --booking-pattern-image:
        linear-gradient(color-mix(in srgb, var(--booking-line-theme) 18%, transparent) 1px, transparent 1px),
        linear-gradient(90deg, color-mix(in srgb, var(--booking-line-theme) 18%, transparent) 1px, transparent 1px);
}.public-booking-shell--pattern-premium-dots{
    --booking-pattern-opacity:.28;
    --booking-pattern-size:18px 18px;
    --booking-pattern-image:
        radial-gradient(circle, color-mix(in srgb, var(--booking-line-theme) 24%, transparent) 0 1.7px, transparent 1.8px);
}.booking-page{
    position:relative;
    z-index:1;
    width:min(100%, 1160px);
    margin:0 auto;
    padding:18px 12px 24px;
    color:var(--booking-text);
    font-family:var(--booking-font-body);
    box-sizing:border-box;
}.booking-page input,
.booking-page select,
.booking-page textarea,
.booking-page button{
    font-family:var(--booking-font-body);
}.booking-page h1,
.booking-page h2,
.booking-page h3,
.booking-page h4,
.booking-page .booking-company__name{
    letter-spacing:.01em;
    font-family:var(--booking-font-heading);
}.booking-native-select{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}.booking-hero{
    margin-bottom:22px;
}.booking-hero__panel{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:24px 22px 26px;
    border:1px solid rgba(219,227,238,.85);
    border-radius:32px;
    background:
        radial-gradient(circle at 100% 0%, rgba(217,111,134,.12), transparent 30%),
        radial-gradient(circle at 0% 100%, rgba(219,234,254,.20), transparent 28%),
        linear-gradient(180deg,rgba(255,255,255,.97) 0%, rgba(248,251,255,.96) 100%);
    box-shadow:var(--booking-shadow);
    backdrop-filter:blur(10px);
}.booking-hero__panel::before,
.booking-hero__panel::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:0;
}.booking-hero__panel::before{
    background:linear-gradient(135deg, rgba(255,255,255,.38), transparent 36%);
    opacity:.95;
}.booking-hero__panel::after{
    background:transparent;
}.booking-hero__panel--with-background{
    background-image:var(--booking-hero-bg-image);
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    background-color:#0f172a;
    border-color:rgba(255,255,255,.12);
    backdrop-filter:none;
}.booking-hero__panel--with-background::before{
    background:
        linear-gradient(
            180deg,
            rgba(15,23,42,calc(var(--booking-hero-overlay-opacity, .45) + .04)) 0%,
            rgba(15,23,42,calc(var(--booking-hero-overlay-opacity, .45) * .92)) 42%,
            rgba(15,23,42,calc(var(--booking-hero-overlay-opacity, .45) + .02)) 100%
        );
    opacity:1;
}.booking-hero__panel--with-background::after{
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.10), transparent 24%),
        radial-gradient(circle at bottom left, rgba(255,255,255,.05), transparent 20%),
        linear-gradient(135deg, rgba(255,255,255,.03), transparent 40%);
    opacity:.65;
}.booking-hero__panel--with-background.booking-hero__panel--overlay-dark::before{
    background:
        linear-gradient(
            180deg,
            rgba(15,23,42,calc(var(--booking-hero-overlay-opacity, .45) + .04)) 0%,
            rgba(15,23,42,calc(var(--booking-hero-overlay-opacity, .45) * .92)) 42%,
            rgba(15,23,42,calc(var(--booking-hero-overlay-opacity, .45) + .02)) 100%
        );
}.booking-hero__panel--with-background.booking-hero__panel--overlay-light::before{
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,calc(var(--booking-hero-overlay-opacity, .45) + .03)) 0%,
            rgba(255,255,255,calc(var(--booking-hero-overlay-opacity, .45) * .9)) 42%,
            rgba(255,255,255,calc(var(--booking-hero-overlay-opacity, .45) + .01)) 100%
        );
}.booking-hero__panel--with-background.booking-hero__panel--overlay-none::before{
    background:transparent;
}.booking-hero__topbar{
    position:relative;
    z-index:1;
    display:flex;
    justify-content:center;
    margin-bottom:22px;
}.booking-company__socials-inline{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    flex-wrap:nowrap;
    max-width:100%;
}.booking-company__socials-label{
    font-size:.9rem;
    font-weight:700;
    color:var(--booking-muted);
    line-height:1.4;
    white-space:nowrap;
    flex:0 0 auto;
}.booking-company__socials{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    flex-wrap:nowrap;
}.booking-company__social-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:999px;
    background:rgba(255,255,255,.84);
    border:1px solid rgba(15,23,42,.07);
    color:var(--booking-text);
    box-shadow:0 10px 20px rgba(15,23,42,.05);
    text-decoration:none;
    backdrop-filter:blur(10px);
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease,
        color .18s ease;
}.booking-company__social-link:hover{
    transform:translateY(-2px);
    border-color:var(--booking-line-theme);
    box-shadow:0 14px 28px rgba(15,23,42,.08);
    background:rgba(255,255,255,.98);
    color:var(--booking-accent-deep);
}.booking-company__social-link svg{
    width:18px;
    height:18px;
    display:block;
    fill:currentColor;
}.booking-hero__grid{
    position:relative;
    z-index:1;
    display:grid;
    gap:22px;
}.booking-hero__content{
    display:grid;
    align-content:center;
    justify-items:start;
    gap:14px;
}.booking-hero__kicker{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    min-height:34px;
    padding:0 14px;
    border-radius:999px;
    background:rgba(255,255,255,.78);
    border:1px solid rgba(15,23,42,.07);
    box-shadow:0 10px 20px rgba(15,23,42,.05);
    color:var(--booking-accent-deep);
    font-size:.84rem;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
}.booking-company__name{
    margin:0;
    font-size:clamp(2rem,5vw,3.6rem);
    line-height:.98;
    letter-spacing:-.05em;
    color:var(--booking-text);
    font-weight:900;
    text-wrap:balance;
}.booking-company__description{
    margin:0;
    max-width:60ch;
    color:var(--booking-muted);
    font-size:1rem;
    line-height:1.7;
}.booking-hero__brand-stage{
    position:relative;
    min-height:260px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:14px;
    border-radius:28px;
    background:linear-gradient(180deg, rgba(255,255,255,.50) 0%, rgba(255,255,255,.18) 100%);
    border:1px solid rgba(255,255,255,.55);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
    padding:18px;
    box-sizing:border-box;
}.booking-hero__brand-glow{
    position:absolute;
    inset:10% 14%;
    border-radius:999px;
    background:
        radial-gradient(circle, rgba(217,111,134,.24) 0%, rgba(255,216,223,.20) 38%, rgba(255,255,255,0) 72%);
    filter:blur(6px);
    pointer-events:none;
}.booking-company__logo{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:180px;
    padding:10px;
}.booking-company__logo img{
    display:block;
    width:auto;
    max-width:min(92%, calc(420px * var(--booking-logo-scale, 1)));
    max-height:min(260px, calc(170px * var(--booking-logo-scale, 1)));
    height:auto;
    object-fit:contain;
    filter:drop-shadow(0 20px 28px rgba(15,23,42,.12));
}.booking-hero__steps{
    position:relative;
    z-index:1;
    display:grid;
    gap:8px;
    width:100%;
    max-width:560px;
    text-align:center;
}.booking-hero__steps-label{
    color:var(--booking-muted);
    font-size:.88rem;
    font-weight:700;
    letter-spacing:.01em;
}.booking-hero__steps-line{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px 10px;
    color:var(--booking-text);
    font-size:.95rem;
    font-weight:700;
    line-height:1.5;
}.booking-hero__steps-arrow{
    color:var(--booking-accent-deep);
    font-weight:900;
}.booking-hero__brand-placeholder{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:center;
    width:140px;
    height:140px;
    border-radius:32px;
    background:linear-gradient(180deg,#ffffff 0%, #fff1f2 100%);
    border:1px solid rgba(15,23,42,.06);
    box-shadow:0 18px 32px rgba(15,23,42,.08);
}.booking-hero__brand-placeholder span{
    font-size:3rem;
    font-weight:900;
    color:var(--booking-primary);
    line-height:1;
}.booking-hero__panel--with-background.booking-hero__panel--theme-light .booking-company__socials-label,
.booking-hero__panel--with-background.booking-hero__panel--theme-light .booking-hero__steps-label,
.booking-hero__panel--with-background.booking-hero__panel--theme-light .booking-company__description{
    color:rgba(255,255,255,.86);
}.booking-hero__panel--with-background.booking-hero__panel--theme-light .booking-company__name,
.booking-hero__panel--with-background.booking-hero__panel--theme-light .booking-hero__steps-line{
    color:#ffffff;
    text-shadow:0 2px 10px rgba(15,23,42,.22);
}.booking-hero__panel--with-background.booking-hero__panel--theme-light .booking-hero__steps-arrow{
    color:#ffd8df;
}.booking-hero__panel--with-background.booking-hero__panel--theme-light .booking-hero__kicker{
    background:rgba(255,255,255,.14);
    border-color:rgba(255,255,255,.22);
    box-shadow:0 10px 24px rgba(15,23,42,.18);
    color:#ffffff;
}.booking-hero__panel--with-background.booking-hero__panel--theme-light .booking-company__social-link{
    background:rgba(255,255,255,.14);
    border-color:rgba(255,255,255,.20);
    color:#ffffff;
    box-shadow:0 12px 26px rgba(15,23,42,.18);
}.booking-hero__panel--with-background.booking-hero__panel--theme-light .booking-company__social-link:hover{
    background:rgba(255,255,255,.22);
    border-color:rgba(255,255,255,.30);
    color:#ffffff;
}.booking-hero__panel--with-background.booking-hero__panel--theme-light .booking-hero__brand-stage{
    background:linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.05) 100%);
    border:1px solid rgba(255,255,255,.14);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.16),
        0 18px 40px rgba(15,23,42,.16);
    backdrop-filter:blur(8px);
}.booking-hero__panel--with-background.booking-hero__panel--theme-light .booking-hero__brand-glow{
    background:
        radial-gradient(circle, rgba(255,255,255,.16) 0%, rgba(255,216,223,.16) 34%, rgba(255,255,255,0) 72%);
}.booking-hero__panel--with-background.booking-hero__panel--theme-light .booking-hero__brand-placeholder{
    background:linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.10) 100%);
    border-color:rgba(255,255,255,.18);
    box-shadow:0 18px 32px rgba(15,23,42,.18);
}.booking-hero__panel--with-background.booking-hero__panel--theme-light .booking-hero__brand-placeholder span{
    color:#ffffff;
}.booking-hero__panel--with-background.booking-hero__panel--theme-dark .booking-company__socials-label,
.booking-hero__panel--with-background.booking-hero__panel--theme-dark .booking-hero__steps-label,
.booking-hero__panel--with-background.booking-hero__panel--theme-dark .booking-company__description{
    color:rgba(15,23,42,.82);
}.booking-hero__panel--with-background.booking-hero__panel--theme-dark .booking-company__name,
.booking-hero__panel--with-background.booking-hero__panel--theme-dark .booking-hero__steps-line{
    color:#0f172a;
    text-shadow:none;
}.booking-hero__panel--with-background.booking-hero__panel--theme-dark .booking-hero__steps-arrow{
    color:var(--booking-accent-deep);
}.booking-hero__panel--with-background.booking-hero__panel--theme-dark .booking-hero__kicker{
    background:rgba(255,255,255,.78);
    border-color:rgba(15,23,42,.08);
    box-shadow:0 10px 24px rgba(15,23,42,.08);
    color:var(--booking-accent-deep);
}.booking-hero__panel--with-background.booking-hero__panel--theme-dark .booking-company__social-link{
    background:rgba(255,255,255,.84);
    border-color:rgba(15,23,42,.08);
    color:#0f172a;
    box-shadow:0 12px 26px rgba(15,23,42,.08);
}.booking-hero__panel--with-background.booking-hero__panel--theme-dark .booking-company__social-link:hover{
    background:rgba(255,255,255,.98);
    border-color:var(--booking-line-theme);
    color:var(--booking-accent-deep);
}.booking-hero__panel--with-background.booking-hero__panel--theme-dark .booking-hero__brand-stage{
    background:linear-gradient(180deg, rgba(255,255,255,.30) 0%, rgba(255,255,255,.14) 100%);
    border:1px solid rgba(255,255,255,.22);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.30),
        0 18px 40px rgba(15,23,42,.10);
    backdrop-filter:blur(8px);
}.booking-hero__panel--with-background.booking-hero__panel--theme-dark .booking-hero__brand-glow{
    background:
        radial-gradient(circle, rgba(217,111,134,.18) 0%, color-mix(in srgb, var(--booking-accent-strong) 16%, transparent) 36%, rgba(255,255,255,0) 72%);
}.booking-alert{
    display:grid;
    gap:6px;
    margin:0 0 16px;
    padding:16px 18px;
    border-radius:18px;
    border:1px solid var(--booking-line);
    box-shadow:0 10px 25px rgba(15,23,42,.04);
}.booking-alert strong{
    font-size:.98rem;
}.booking-alert span{
    color:inherit;
    line-height:1.65;
}.booking-alert--success{
    background:var(--booking-success-bg);
    border-color:#bbf7d0;
    color:var(--booking-success);
}.booking-alert--error{
    background:var(--booking-error-bg);
    border-color:#fecaca;
    color:var(--booking-error);
}.booking-alert--inline{
    margin-bottom:18px;
}.booking-shell{
    display:grid;
    gap:20px;
}.booking-shell__desktop-top{
    display:grid;
    gap:20px;
}.booking-shell__desktop-main,
.booking-shell__desktop-aside{
    display:grid;
    gap:20px;
    min-width:0;
    align-content:start;
}.booking-card{
    position:relative;
    overflow:hidden;
    background:linear-gradient(180deg,#ffffff 0%, #fcfdff 100%);
    border:1px solid var(--booking-line);
    border-radius:var(--booking-radius-xl);
    box-shadow:var(--booking-shadow-card);
    padding:22px;
    box-sizing:border-box;
}.booking-card::before{
    content:"";
    position:absolute;
    inset:0 auto auto 0;
    width:100%;
    height:1px;
    background:linear-gradient(90deg, rgba(147,197,253,.45) 0%, rgba(255,255,255,0) 55%);
    pointer-events:none;
}.booking-card__head{
    margin-bottom:20px;
    padding-bottom:16px;
    border-bottom:1px solid rgba(219,227,238,.82);
}.booking-card__step{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 12px;
    margin-bottom:12px;
    border-radius:999px;
    background:linear-gradient(180deg,#edf3ff 0%, #e3edff 100%);
    color:var(--booking-accent-deep);
    font-size:.8rem;
    font-weight:800;
    letter-spacing:.02em;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.7),
        0 6px 14px color-mix(in srgb, var(--booking-accent-deep) 8%, transparent);
}.booking-card__head h2{
    margin:0 0 8px;
    font-size:1.22rem;
    line-height:1.24;
    letter-spacing:-.02em;
}.booking-card__head p{
    margin:0;
    color:var(--booking-muted);
    line-height:1.72;
}.booking-selection-stack{
    display:grid;
    gap:18px;
}.booking-picker{
    display:grid;
    gap:10px;
}.booking-picker__label{
    font-size:.94rem;
    font-weight:800;
    color:var(--booking-text);
}.booking-field{
    display:flex;
    flex-direction:column;
    gap:8px;
}.booking-field--wide{
    grid-column:1 / -1;
}.booking-field label{
    font-size:.94rem;
    font-weight:800;
    color:var(--booking-text);
}.booking-field__help{
    margin:0;
    color:var(--booking-muted);
    line-height:1.65;
    font-size:.92rem;
}.booking-form-grid{
    display:grid;
    gap:16px;
}.booking-field input,
.booking-field textarea{
    width:100%;
    border:1px solid var(--booking-line);
    border-radius:16px;
    background:#fff;
    color:var(--booking-text);
    font:inherit;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease,
        transform .18s ease;
    box-sizing:border-box;
}.booking-field input{
    min-height:56px;
    padding:0 16px;
}.booking-field textarea{
    min-height:132px;
    padding:14px 16px;
    resize:vertical;
}.booking-field input:hover,
.booking-field textarea:hover{
    border-color:#c9d8ee;
    box-shadow:0 8px 18px rgba(15,23,42,.03);
}.booking-field input:focus,
.booking-field textarea:focus{
    border-color:var(--booking-line-theme);
    box-shadow:0 0 0 4px rgba(147,197,253,.18);
    outline:none;
}.booking-dates-container{
    display:grid;
    gap:14px;
    min-height:84px;
}.booking-day-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}.booking-summary{
    display:none;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:18px;
    padding:16px;
    border:1px solid #d6e4ff;
    border-radius:20px;
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--booking-accent-strong) 24%, transparent), transparent 36%),
        linear-gradient(180deg,var(--booking-surface-3) 0%, #edf5ff 100%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}.booking-summary.is-visible{
    display:grid;
}.booking-summary__item{
    display:grid;
    gap:4px;
    padding:8px 4px;
    border-radius:14px;
}.booking-summary__item span{
    color:var(--booking-muted);
    font-size:.82rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.03em;
}.booking-summary__item strong{
    font-size:.98rem;
    line-height:1.45;
}.booking-consent{
    display:flex;
    gap:12px;
    margin-top:18px;
    color:var(--booking-text);
    line-height:1.65;
    align-items:flex-start;
    padding:14px 16px;
    border:1px solid rgba(219,227,238,.9);
    border-radius:18px;
    background:linear-gradient(180deg,#ffffff 0%, var(--booking-surface-3) 100%);
}.booking-consent input{
    margin-top:4px;
    flex:0 0 auto;
}.booking-submit{
    margin-top:22px;
}.booking-submit__button{
    width:100%;
    min-height:58px;
    border:none;
    border-radius:18px;
    background:linear-gradient(180deg,var(--booking-primary) 0%, var(--booking-primary-2) 100%);
    color:#fff;
    font:inherit;
    font-weight:800;
    letter-spacing:.01em;
    cursor:pointer;
    box-shadow:0 18px 38px rgba(17,24,39,.18);
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        filter .18s ease;
}.booking-submit__button:hover{
    transform:translateY(-2px);
    box-shadow:0 22px 42px rgba(17,24,39,.22);
    filter:brightness(1.03);
}.booking-submit__button:active{
    transform:translateY(-1px);
}.booking-inline-status{
    padding:16px 18px;
    border-radius:18px;
    border:1px solid var(--booking-line);
    background:var(--booking-surface-2);
    color:var(--booking-muted);
    line-height:1.65;
}.booking-inline-status--error{
    background:var(--booking-error-bg);
    border-color:#fecaca;
    color:var(--booking-error);
}.booking-inline-status--muted{
    background:var(--booking-surface-2);
    border-color:var(--booking-line);
    color:var(--booking-muted);
}.booking-footer{
    margin-top:20px;
    margin-bottom:10px;
    padding:20px 4px 0;
}.booking-footer__grid{
    display:grid;
    gap:14px;
    justify-items:center;
    padding:24px 22px;
    border:1px solid var(--booking-line);
    border-radius:24px;
    background:linear-gradient(180deg,#ffffff 0%, var(--booking-surface-3) 100%);
    box-shadow:var(--booking-shadow-card);
    text-align:center;
}.booking-footer__name{
    display:block;
    margin:0;
    font-size:1.12rem;
    font-weight:900;
    color:var(--booking-text);
    letter-spacing:-.01em;
    line-height:1.4;
}.booking-footer__company-block{
    display:grid;
    gap:4px;
    justify-items:center;
}.booking-footer__line{
    display:block;
    margin:0;
    color:var(--booking-muted);
    font-size:.9rem;
    line-height:1.7;
    word-break:break-word;
}.booking-footer__line--static{
    pointer-events:none;
    user-select:text;
}.booking-footer__contact-row{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px 24px;
}.booking-footer__link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--booking-text);
    text-decoration:none;
    font-size:.9rem;
    line-height:1.7;
    font-weight:700;
    word-break:break-word;
    transition:color .18s ease;
}.booking-footer__link:hover{
    color:var(--booking-accent-deep);
}.booking-footer__phone-text{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--booking-text);
    font-size:.9rem;
    line-height:1.7;
    font-weight:700;
}.booking-success{
    display:grid;
    gap:18px;
}.booking-success__hero{
    display:grid;
    gap:12px;
    justify-items:start;
}.booking-success__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:64px;
    height:64px;
    border-radius:20px;
    background:linear-gradient(180deg,#ecfdf3 0%, #dff7e8 100%);
    border:1px solid #bbf7d0;
    color:var(--booking-success);
    box-shadow:0 12px 26px rgba(22,101,52,.10);
    font-size:1.9rem;
    font-weight:900;
    line-height:1;
}.booking-success__title{
    margin:0;
    font-size:1.5rem;
    line-height:1.18;
    letter-spacing:-.03em;
    color:var(--booking-text);
    font-weight:900;
}.booking-success__lead{
    margin:0;
    color:var(--booking-muted);
    line-height:1.7;
    font-size:.98rem;
}.booking-success__summary{
    display:grid;
    gap:12px;
    padding:16px;
    border:1px solid #ffd8df;
    border-radius:22px;
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--booking-accent-strong) 22%, transparent), transparent 34%),
        linear-gradient(180deg,var(--booking-surface-3) 0%, var(--booking-accent) 100%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}.booking-success__summary-item{
    display:grid;
    gap:4px;
    padding:4px 0;
}.booking-success__summary-label{
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:var(--booking-muted);
}.booking-success__summary-value{
    font-size:1rem;
    font-weight:800;
    line-height:1.5;
    color:var(--booking-text);
    word-break:break-word;
}.booking-success__note{
    margin:0;
    padding:14px 16px;
    border-radius:18px;
    border:1px solid rgba(217,111,134,.10);
    background:linear-gradient(180deg,#ffffff 0%, var(--booking-surface-3) 100%);
    color:var(--booking-muted);
    line-height:1.7;
    font-size:.95rem;
}.booking-success__actions{
    display:grid;
    gap:10px;
}.booking-success__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:54px;
    width:100%;
    padding:0 18px;
    border:none;
    border-radius:18px;
    background:linear-gradient(180deg,var(--booking-primary) 0%, var(--booking-primary-2) 100%);
    color:#fff;
    text-decoration:none;
    font:inherit;
    font-weight:800;
    letter-spacing:.01em;
    cursor:pointer;
    box-shadow:0 18px 38px rgba(17,24,39,.18);
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        filter .18s ease;
}.booking-success__button:hover{
    transform:translateY(-2px);
    box-shadow:0 22px 42px rgba(17,24,39,.22);
    filter:brightness(1.03);
}.booking-success__button--secondary{
    background:linear-gradient(180deg,#ffffff 0%, #f8fafc 100%);
    color:var(--booking-text);
    border:1px solid var(--booking-line);
    box-shadow:0 12px 26px rgba(15,23,42,.06);
}@media (min-width: 900px){.booking-hero__grid{
        grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
        align-items:center;
        gap:30px;
    }.booking-hero__brand-stage{
        min-height:380px;
        padding:22px;
    }.booking-company__logo{
        min-height:250px;
    }.booking-company__logo img{
        max-width:min(88%, calc(420px * var(--booking-logo-scale, 1)));
        max-height:min(260px, calc(190px * var(--booking-logo-scale, 1)));
    }.booking-hero__steps{
        margin-top:4px;
    }.booking-success__summary{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }.booking-success__actions{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }}@media (min-width: 760px){.booking-page{
        padding:24px 18px 24px;
    }.booking-hero__panel{
        padding:30px 30px 34px;
    }.booking-card{
        padding:22px;
    }.booking-hero__content{
        justify-items:start;
    }.booking-form-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }.booking-day-grid{
        grid-template-columns:1fr;
    }}@media (max-width: 899px){.booking-hero__brand-stage{
        min-height:260px;
        padding:18px;
    }.booking-company__logo{
        min-height:168px;
    }.booking-company__logo img{
        max-width:min(98%, calc(440px * var(--booking-logo-scale, 1)));
        max-height:min(260px, calc(190px * var(--booking-logo-scale, 1)));
    }}@media (max-width: 720px){.booking-page{
        padding:14px 12px 20px;
    }.booking-hero__panel{
        padding:16px;
        border-radius:24px;
    }.booking-hero__topbar{
        margin-bottom:16px;
    }.booking-hero__grid{
        gap:14px;
    }.booking-hero__content{
        justify-items:center;
        text-align:center;
        gap:12px;
    }.booking-hero__kicker{
        width:auto;
        margin:0 auto;
    }.booking-company__name{
        font-size:clamp(1.7rem,8vw,2.35rem);
        max-width:100%;
    }.booking-company__description{
        max-width:100%;
        font-size:.9rem;
    }.booking-company__socials-inline{
        gap:10px;
    }.booking-company__socials{
        gap:8px;
    }.booking-hero__brand-stage{
        min-height:240px;
        padding:16px 12px;
        border-radius:22px;
        gap:10px;
    }.booking-hero__brand-glow{
        inset:14% 10%;
    }.booking-company__logo{
        min-height:144px;
        padding:6px;
    }.booking-company__logo img{
        max-width:min(98%, calc(340px * var(--booking-logo-scale, 1)));
        max-height:min(220px, calc(170px * var(--booking-logo-scale, 1)));
    }.booking-hero__steps{
        gap:6px;
        max-width:100%;
    }.booking-hero__steps-label{
        font-size:.82rem;
    }.booking-hero__steps-line{
        flex-direction:column;
        gap:4px;
        font-size:.92rem;
    }.booking-hero__steps-arrow{
        display:none;
    }.booking-card{
        width:100%;
        margin:0;
        padding:16px;
        border-radius:22px;
    }.booking-card__head{
        margin-bottom:18px;
        padding-bottom:14px;
    }.booking-card__head h2{
        font-size:1.1rem;
    }.booking-selection-stack{
        gap:16px;
    }.booking-summary{
        grid-template-columns:1fr;
    }.booking-consent{
        padding:14px;
    }.booking-footer{
        margin-top:16px;
    }.booking-footer__grid{
        padding:18px 16px;
        border-radius:20px;
        gap:10px;
    }.booking-footer__name{
        font-size:1rem;
    }.booking-footer__line,
    .booking-footer__link,
    .booking-footer__phone-text{
        font-size:.93rem;
    }.booking-footer__contact-row{
        flex-direction:column;
        gap:6px;
    }.booking-success{
        gap:16px;
    }.booking-success__icon{
        width:58px;
        height:58px;
        border-radius:18px;
        font-size:1.7rem;
    }.booking-success__title{
        font-size:1.28rem;
    }.booking-success__summary{
        padding:14px;
        gap:10px;
    }.booking-success__button{
        min-height:52px;
    }}@media (min-width: 1100px){.booking-page{
        width:min(100%, 1320px);
    }.booking-shell{
        display:grid;
        gap:24px;
    }.booking-shell__desktop-top{
        display:grid;
        grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
        gap:24px;
        align-items:start;
    }.booking-shell__desktop-main,
    .booking-shell__desktop-aside{
        min-width:0;
        display:block;
    }.booking-card--selectors,
    .booking-card--dates,
    .booking-card--form{
        width:100%;
    }.booking-card--dates{
        position:sticky;
        top:18px;
        max-height:calc(100dvh - 36px);
        overflow:hidden;
        display:flex;
        flex-direction:column;
    }.booking-card--dates .booking-card__head,
    .booking-card--dates .booking-summary{
        flex:0 0 auto;
    }.booking-card--dates .booking-dates-container{
        flex:1 1 auto;
        min-height:0;
        overflow-y:auto;
        overflow-x:hidden;
        padding-right:6px;
        scrollbar-gutter:stable;
        overscroll-behavior:contain;
    }.booking-card--dates .booking-day-grid{
        grid-template-columns:1fr;
    }.booking-card--form{
        margin-top:0;
    }}.booking-shell--modal-flow{
    display:grid;
    gap:18px;
}.booking-card--flow-entry{
    max-width:780px;
    margin:0 auto;
    width:100%;
}.booking-card__head--compact{
    margin-bottom:16px;
}.booking-selection-stack--entry{
    gap:16px;
}.booking-flow-overview{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}.booking-flow-overview__item{
    display:grid;
    gap:4px;
    padding:14px 16px;
    border:1px solid var(--booking-line);
    border-radius:18px;
    background:#fff;
}.booking-flow-overview__item span{
    font-size:.8rem;
    font-weight:700;
    color:var(--booking-muted);
    letter-spacing:.02em;
    text-transform:uppercase;
}.booking-flow-overview__item strong{
    font-size:.98rem;
    line-height:1.4;
    color:var(--booking-text);
}.booking-flow-actions{
    display:flex;
}.booking-submit__button--flow{
    width:100%;
    justify-content:center;
}@media (max-width: 767px){.booking-flow-overview{
        grid-template-columns:1fr;
    }}.booking-card--flow-entry{
    position:relative;
    overflow:hidden;
    border-color:rgba(191,219,254,.78);
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--booking-accent-strong) 26%, transparent), transparent 30%),
        radial-gradient(circle at bottom left, color-mix(in srgb, var(--booking-accent-strong) 22%, transparent), transparent 30%),
        linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,250,248,.98) 100%);
}.booking-card--flow-entry::before,
.booking-card--flow-entry::after{
    content:"";
    position:absolute;
    pointer-events:none;
}.booking-card--flow-entry::before{
    inset:-1px;
    border-radius:inherit;
    padding:1px;
    background:linear-gradient(135deg, rgba(255,255,255,.9) 0%, rgba(191,219,254,.85) 50%, rgba(255,255,255,.82) 100%);
    -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;
            mask-composite:exclude;
    opacity:.85;
}.booking-card--flow-entry::after{
    width:220px;
    height:220px;
    right:-70px;
    top:-90px;
    border-radius:999px;
    background:radial-gradient(circle, rgba(147,197,253,.34) 0%, rgba(147,197,253,0) 72%);
    filter:blur(6px);
}.booking-wow-banner{
    position:relative;
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    padding:12px 14px;
    border:1px solid var(--booking-line-theme);
    border-radius:18px;
    background:linear-gradient(180deg, rgba(239,246,255,.92) 0%, rgba(255,255,255,.98) 100%);
    box-shadow:0 12px 26px rgba(217,111,134,.08);
}.booking-wow-banner__pill{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 12px;
    border-radius:999px;
    background:linear-gradient(180deg, var(--booking-accent-deep) 0%, var(--booking-accent-deep) 100%);
    color:#fff;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    box-shadow:0 10px 24px rgba(217,111,134,.22);
}.booking-wow-banner__dot{
    width:8px;
    height:8px;
    border-radius:999px;
    background:#60a5fa;
    box-shadow:0 0 0 6px rgba(217,111,134,.12);
}.booking-wow-banner__text{
    color:#1e293b;
    font-weight:700;
    line-height:1.5;
}.booking-flow-overview__item{
    position:relative;
    overflow:hidden;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}.booking-flow-overview__item::before{
    content:"";
    position:absolute;
    inset:auto -28px -30px auto;
    width:86px;
    height:86px;
    border-radius:999px;
    background:radial-gradient(circle, color-mix(in srgb, var(--booking-accent-strong) 28%, transparent) 0%, rgba(191,219,254,0) 70%);
    pointer-events:none;
}.booking-flow-overview__item:hover{
    transform:translateY(-2px);
    border-color:var(--booking-line-theme);
    box-shadow:0 16px 30px rgba(15,23,42,.06);
}.booking-flow-overview__item-top,
.booking-summary__item-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}.booking-flow-edit,
.booking-summary__edit{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:0 10px;
    border:1px solid var(--booking-line-theme);
    border-radius:999px;
    background:rgba(255,255,255,.92);
    color:var(--booking-accent-deep);
    font:inherit;
    font-size:.78rem;
    font-weight:800;
    line-height:1;
    cursor:pointer;
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}.booking-flow-edit:hover,
.booking-summary__edit:hover{
    transform:translateY(-1px);
    border-color:var(--booking-line-theme);
    background:var(--booking-accent);
    box-shadow:0 10px 18px color-mix(in srgb, var(--booking-accent-deep) 10%, transparent);
}.booking-summary{
    position:relative;
    overflow:hidden;
}.booking-summary::before{
    content:"";
    position:absolute;
    inset:-40px auto auto -30px;
    width:140px;
    height:140px;
    border-radius:999px;
    background:radial-gradient(circle, color-mix(in srgb, var(--booking-accent-strong) 22%, transparent) 0%, rgba(191,219,254,0) 72%);
    pointer-events:none;
}.booking-summary__item{
    position:relative;
    padding:12px 12px 10px;
    border:1px solid color-mix(in srgb, var(--booking-line-theme) 38%, #ffffff);
    background:rgba(255,255,255,.72);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.booking-summary__item--price{
    border-color:color-mix(in srgb, var(--booking-accent-deep, #d96f86) 24%, var(--booking-line-theme, #ead9d8));
    background:linear-gradient(180deg, rgba(255,255,255,.82) 0%, color-mix(in srgb, var(--booking-accent-deep, #d96f86) 5%, #fff) 100%);
}
.booking-summary__item--price strong{
    color:var(--booking-primary, #0f172a);
    font-weight:900;
}
.booking-contact-summary-quick{
    display:grid;
    gap:10px;
    margin-top:16px;
    padding:14px;
    border:1px solid color-mix(in srgb, var(--booking-line-theme) 44%, #ffffff);
    border-radius:18px;
    background:linear-gradient(180deg, rgba(255,250,248,.98) 0%, rgba(238,245,255,.98) 100%);
}.booking-contact-summary-quick__row{
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr) auto;
    align-items:center;
    gap:10px;
}.booking-contact-summary-quick__row span{
    color:var(--booking-muted);
    font-size:.84rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.03em;
}.booking-contact-summary-quick__row strong{
    line-height:1.45;
    color:var(--booking-text);
}.booking-submit__button{
    position:relative;
    overflow:hidden;
}.booking-submit__button::after{
    content:"";
    position:absolute;
    inset:0 auto 0 -35%;
    width:34%;
    background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.22) 52%, rgba(255,255,255,0) 100%);
    transform:skewX(-18deg);
    pointer-events:none;
    transition:transform .45s ease;
}.booking-submit__button:hover::after{
    transform:translateX(360%) skewX(-18deg);
}@media (max-width: 767px){.booking-wow-banner{
        padding:12px;
        border-radius:16px;
    }.booking-flow-overview__item,
    .booking-summary__item{
        padding:12px;
    }.booking-contact-summary-quick__row{
        grid-template-columns:1fr;
        align-items:start;
    }.booking-flow-edit,
    .booking-summary__edit{
        min-height:32px;
        padding:0 12px;
    }}.booking-flow-actions{
    gap:12px;
    flex-wrap:wrap;
}.booking-flow-actions > *{
    flex:1 1 220px;
}@media (max-width: 767px){.booking-flow-actions > *{
        flex:1 1 auto;
        width:100%;
    }}.booking-flow-progress{
    display:grid;
    grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);
    align-items:center;
    gap:0;
}.booking-flow-progress__step{
    position:relative;
    display:grid;
    justify-items:center;
    gap:8px;
    padding:12px 8px;
    border:1px solid rgba(219,227,238,.92);
    border-radius:18px;
    background:rgba(255,255,255,.82);
    box-shadow:0 10px 24px rgba(15,23,42,.04);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}.booking-flow-progress__step.is-current{
    border-color:var(--booking-line-theme);
    background:linear-gradient(180deg, rgba(239,246,255,.98) 0%, rgba(255,255,255,.96) 100%);
    box-shadow:0 14px 30px color-mix(in srgb, var(--booking-accent-deep) 10%, transparent);
}.booking-flow-progress__step.is-complete{
    border-color:#ffd8df;
    background:linear-gradient(180deg, rgba(255,250,248,.98) 0%, rgba(240,249,255,.98) 100%);
}.booking-flow-progress__index{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:999px;
    background:var(--booking-accent);
    color:var(--booking-accent-deep);
    font-size:.88rem;
    font-weight:900;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}.booking-flow-progress__step.is-current .booking-flow-progress__index,
.booking-flow-progress__step.is-complete .booking-flow-progress__index{
    background:linear-gradient(180deg, var(--booking-accent-deep) 0%, var(--booking-accent-deep) 100%);
    color:#fff;
    box-shadow:0 10px 20px rgba(217,111,134,.20);
}.booking-flow-progress__label{
    font-size:.8rem;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
    color:var(--booking-text);
    text-align:center;
}.booking-flow-progress__line{
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(191,219,254,.2) 0%, var(--booking-line-theme) 100%);
}.booking-wow-banner{
    overflow:hidden;
}.booking-wow-banner::after{
    content:"";
    position:absolute;
    inset:0 auto 0 -22%;
    width:22%;
    background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.30) 50%, rgba(255,255,255,0) 100%);
    transform:skewX(-18deg);
    pointer-events:none;
    animation:bookingWowShine 5.6s ease-in-out infinite;
}@keyframes bookingWowShine{0%, 100% { transform:translateX(0) skewX(-18deg); opacity:0; }8% { opacity:.0; }18% { opacity:1; }32% { transform:translateX(560%) skewX(-18deg); opacity:0; }}@media (max-width: 767px){.booking-flow-progress{
        grid-template-columns:1fr;
        gap:10px;
    }.booking-flow-progress__line{
        display:none;
    }.booking-flow-progress__step{
        grid-template-columns:34px 1fr;
        justify-items:start;
        align-items:center;
        gap:10px;
        padding:10px 12px;
    }.booking-flow-progress__label{
        text-align:left;
    }}.booking-hero__kicker,
.booking-hero__steps,
.booking-flow-progress,
.booking-card__step{display:none;}.booking-card--flow-entry{max-width:640px; margin:0 auto; padding:18px;}.booking-selection-stack--entry{gap:12px;}.booking-picker__label{font-size:.82rem; margin-bottom:8px;}.booking-flow-actions{display:grid; grid-template-columns:minmax(0,1fr); gap:10px;}.booking-flow-overview{margin-top:2px;}.booking-flow-overview__item{padding:12px 14px;}.booking-flow-overview__item strong{font-size:.94rem;}.booking-flow-edit,.booking-summary__edit{font-size:.74rem;}@media (max-width: 767px){.booking-card--flow-entry{padding:14px;}}[data-booking-clear-selection][hidden], .booking-flow-overview[hidden]{display:none;}.booking-submit__button--summary{
    min-height:46px;
    padding:0 18px;
    font-size:.9rem;
}.public-booking-shell{
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--booking-accent-strong) 52%, transparent) 0%, transparent 28%),
        radial-gradient(circle at top right, color-mix(in srgb, var(--booking-accent) 58%, transparent) 0%, transparent 24%),
        radial-gradient(circle at bottom center, color-mix(in srgb, var(--booking-accent-strong) 36%, transparent) 0%, transparent 30%),
        linear-gradient(180deg, color-mix(in srgb, var(--booking-surface-3) 84%, #ffffff) 0%, color-mix(in srgb, var(--booking-accent) 18%, #fff8f6) 100%);
}.booking-hero__panel{
    border-color:color-mix(in srgb, var(--booking-line-theme) 26%, rgba(219,227,238,.85));
    background:
        radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--booking-accent-strong) 42%, transparent) 0%, transparent 30%),
        radial-gradient(circle at 0% 100%, color-mix(in srgb, var(--booking-accent) 38%, transparent) 0%, transparent 28%),
        linear-gradient(180deg, color-mix(in srgb, #ffffff 95%, var(--booking-accent)) 0%, color-mix(in srgb, #f8fbff 82%, var(--booking-accent)) 100%);
}.booking-hero__brand-stage{
    background:linear-gradient(180deg, color-mix(in srgb, #ffffff 62%, var(--booking-accent)) 0%, color-mix(in srgb, #ffffff 80%, var(--booking-accent-strong)) 100%);
    border-color:color-mix(in srgb, #ffffff 62%, var(--booking-line-theme));
}.booking-hero__brand-glow{
    background:
        radial-gradient(circle, color-mix(in srgb, var(--booking-accent-strong) 72%, transparent) 0%, color-mix(in srgb, var(--booking-accent) 34%, transparent) 38%, rgba(255,255,255,0) 72%);
}.booking-card{
    border-color:color-mix(in srgb, var(--booking-line-theme) 18%, var(--booking-line));
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--booking-accent) 18%, transparent) 0%, transparent 26%),
        linear-gradient(180deg, color-mix(in srgb, #ffffff 96%, var(--booking-accent)) 0%, color-mix(in srgb, #ffffff 92%, var(--booking-surface-3)) 100%);
}.booking-footer{
    background:color-mix(in srgb, #ffffff 84%, var(--booking-accent));
    border-color:color-mix(in srgb, var(--booking-line-theme) 16%, var(--booking-line));
}@media (max-width: 480px){.booking-hero__brand-stage{
        min-height:250px;
        padding:16px 10px;
    }.booking-company__logo{
        min-height:150px;
    }.booking-company__logo img{
        max-width:min(100%, calc(320px * var(--booking-logo-scale, 1)));
        max-height:min(230px, calc(180px * var(--booking-logo-scale, 1)));
    }}/* Priority 3: micro-interactions + loading states */.booking-inline-loading{
    display:grid;
    gap:12px;
    padding:14px;
    border:1px solid rgba(244,169,185,.34);
    border-radius:18px;
    background:linear-gradient(180deg, rgba(255,250,248,.98) 0%, rgba(255,244,241,.95) 100%);
}.booking-inline-loading__row{
    display:grid;
    gap:10px;
}.booking-inline-loading--specialists .booking-inline-loading__row{
    grid-template-columns:1fr;
}.booking-inline-loading--dates .booking-inline-loading__row{
    grid-template-columns:repeat(2, minmax(0,1fr));
}.booking-inline-loading--slots .booking-inline-loading__row{
    grid-template-columns:repeat(2, minmax(0,1fr));
}.booking-inline-loading__item{
    position:relative;
    display:block;
    min-height:54px;
    border-radius:16px;
    overflow:hidden;
    background:linear-gradient(180deg, rgba(255,238,241,.82) 0%, rgba(255,229,235,.92) 100%);
}.booking-inline-loading--dates .booking-inline-loading__item{
    min-height:82px;
}.booking-inline-loading__item.is-wide{
    min-width:100%;
}.booking-inline-loading__item::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.58) 50%, rgba(255,255,255,0) 100%);
    transform:translateX(-100%);
    animation:bookingShimmer 1.15s ease-in-out infinite;
}.booking-inline-loading__label{
    color:var(--booking-muted);
    font-size:.9rem;
    font-weight:700;
    line-height:1.5;
}.is-ui-pulsed{
    animation:bookingUiPulse .34s ease;
}/* Priority 4: hero / top section polish */.booking-hero{
    margin-bottom:24px;
}.booking-hero__panel{
    position:relative;
    overflow:hidden;
}.booking-hero__panel::after{
    background:
        radial-gradient(circle at top center, color-mix(in srgb, var(--booking-accent-strong) 44%, transparent) 0%, transparent 24%),
        linear-gradient(135deg, rgba(255,255,255,.18), transparent 44%);
    opacity:1;
}.booking-hero__grid{
    gap:26px;
}.booking-hero__content{
    gap:16px;
}.booking-company__name{
    position:relative;
    max-width:10ch;
    text-shadow:0 14px 30px rgba(15,23,42,.08);
}.booking-company__name::after{
    content:"";
    display:block;
    width:78px;
    height:4px;
    margin-top:14px;
    border-radius:999px;
    background:linear-gradient(90deg, var(--booking-accent-deep) 0%, color-mix(in srgb, var(--booking-accent-strong) 82%, #ffffff) 100%);
    box-shadow:0 10px 20px color-mix(in srgb, var(--booking-accent-deep) 16%, transparent);
}.booking-company__description{
    max-width:58ch;
    font-size:1.02rem;
    line-height:1.75;
}.booking-company__socials-inline{
    padding:8px 12px;
    border:1px solid color-mix(in srgb, var(--booking-line-theme) 18%, rgba(219,227,238,.85));
    border-radius:999px;
    background:rgba(255,255,255,.62);
    backdrop-filter:blur(10px);
    box-shadow:0 12px 26px rgba(15,23,42,.05);
}.booking-company__social-link{
    border-color:color-mix(in srgb, var(--booking-line-theme) 18%, rgba(219,227,238,.92));
    background:rgba(255,255,255,.92);
}.booking-company__social-link:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 24px rgba(15,23,42,.08);
}.booking-hero__brand-stage{
    overflow:hidden;
    min-height:280px;
    border-color:color-mix(in srgb, #ffffff 60%, var(--booking-line-theme));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.58),
        0 24px 48px rgba(15,23,42,.08);
}.booking-hero__brand-stage::before{
    content:"";
    position:absolute;
    inset:18px;
    border-radius:24px;
    border:1px dashed color-mix(in srgb, var(--booking-line-theme) 28%, transparent);
    pointer-events:none;
}.booking-company__logo img{
    transform-origin:center;
    transition:transform .24s ease, filter .24s ease;
}.booking-hero__panel:hover .booking-company__logo img{
    transform:translateY(-1px) scale(1.01);
    filter:drop-shadow(0 26px 34px rgba(15,23,42,.14));
}.booking-hero__brand-glow{
    filter:blur(10px);
    opacity:.95;
}@media (max-width: 767px){.booking-inline-loading{
        padding:12px;
        border-radius:16px;
    }.booking-inline-loading--dates .booking-inline-loading__row,
    .booking-inline-loading--slots .booking-inline-loading__row{
        grid-template-columns:1fr 1fr;
    }.booking-inline-loading__item{
        min-height:50px;
    }.booking-inline-loading--dates .booking-inline-loading__item{
        min-height:74px;
    }.booking-hero__grid{
        gap:18px;
    }.booking-company__name{
        max-width:none;
    }.booking-company__name::after{
        width:64px;
        margin-top:12px;
    }.booking-company__description{
        font-size:.97rem;
        line-height:1.68;
    }.booking-company__socials-inline{
        width:100%;
        justify-content:center;
        padding:8px 10px;
    }.booking-hero__brand-stage{
        min-height:240px;
    }}@keyframes bookingShimmer{100%{ transform:translateX(100%); }}@keyframes bookingUiPulse{0%{ opacity:.72; transform:translateY(2px); }100%{ opacity:1; transform:none; }}@keyframes bookingCardSelected{0%{ transform:scale(.986); }100%{ transform:scale(1); }}/* Final global polish */.booking-page{
    padding:18px 12px 28px;
}.booking-card{
    border-radius:26px;
}.booking-flow-overview{
    gap:10px;
}.booking-field input,
.booking-field textarea{
    transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}.booking-field input:hover,
.booking-field textarea:hover{
    border-color:color-mix(in srgb, var(--booking-line-theme) 58%, var(--booking-line));
}.booking-field input:focus,
.booking-field textarea:focus{
    background:#ffffff;
}.booking-inline-status,
.booking-inline-loading{
    border-radius:18px;
}.booking-inline-status{
    padding:15px 16px;
}.booking-footer{
    margin-top:14px;
    border-radius:18px;
    backdrop-filter:blur(8px);
}.booking-footer__inner{
    min-height:54px;
}.booking-footer__copy{
    line-height:1.55;
}@media (min-width: 768px){.booking-page{
        padding:20px 16px 32px;
    }.booking-flow-overview{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }}@media (max-width: 767px){.booking-page{
        padding:16px 10px 24px;
    }.booking-card{
        border-radius:22px;
    }.booking-flow-overview,
    .booking-summary{
        gap:8px;
    }.booking-inline-status,
    .booking-inline-loading{
        border-radius:16px;
    }.booking-footer{
        border-radius:16px;
    }}/* Smooth step-to-step modal transitions */@keyframes bookingModalSwitchInForward{0%{ transform:translateX(22px) scale(.988); opacity:0; }100%{ transform:translateY(0) scale(1); opacity:1; }}@keyframes bookingModalSwitchInBackward{0%{ transform:translateX(-22px) scale(.988); opacity:0; }100%{ transform:translateY(0) scale(1); opacity:1; }}@keyframes bookingModalSwitchInForwardStrong{0%{ transform:translateX(44px) scale(.978); opacity:0; filter:blur(1px); }100%{ transform:translateY(0) scale(1); opacity:1; filter:none; }}@keyframes bookingModalSwitchInBackwardStrong{0%{ transform:translateX(-44px) scale(.978); opacity:0; filter:blur(1px); }100%{ transform:translateY(0) scale(1); opacity:1; filter:none; }}.booking-hero__brand-stage{
  min-height: calc(260px + (max(0px, (var(--booking-logo-scale, 1) - 1)) * 120px));
}.booking-company__logo{
  min-height: calc(180px + (max(0px, (var(--booking-logo-scale, 1) - 1)) * 120px));
}.booking-company__logo img{
  max-width: min(96%, calc(420px * var(--booking-logo-scale, 1)));
  max-height: calc(180px * var(--booking-logo-scale, 1));
}@media (min-width: 900px){.booking-hero__brand-stage{
    min-height: calc(320px + (max(0px, (var(--booking-logo-scale, 1) - 1)) * 140px));
  }.booking-company__logo{
    min-height: calc(220px + (max(0px, (var(--booking-logo-scale, 1) - 1)) * 140px));
  }.booking-company__logo img{
    max-height: calc(210px * var(--booking-logo-scale, 1));
  }}@media (max-width: 720px){.booking-hero__brand-stage{
    min-height: calc(220px + (max(0px, (var(--booking-logo-scale, 1) - 1)) * 100px));
  }.booking-company__logo{
    min-height: calc(150px + (max(0px, (var(--booking-logo-scale, 1) - 1)) * 90px));
  }.booking-company__logo img{
    max-height: calc(150px * var(--booking-logo-scale, 1));
  }}.booking-options-panel{margin-top:12px;padding:14px 14px 12px;border:1px solid var(--booking-line, #ead9d8);border-radius:18px;background:var(--booking-surface-2, #fffaf8)}
.booking-options-panel.is-hidden{display:none}
.booking-options-panel__header{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.booking-options-panel__summary{color:var(--booking-muted, #7d6f73);line-height:1.45}
.booking-options-grid{display:grid;gap:10px}
.booking-option-card{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--booking-line, #ead9d8);border-radius:16px;background:#fff;cursor:pointer;transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease}
.booking-option-card:hover{transform:translateY(-1px);border-color:var(--booking-line-theme, #ead9d8)}
.booking-option-card.is-active{border-color:var(--booking-accent-deep, #d96f86);box-shadow:0 0 0 3px color-mix(in srgb, var(--booking-accent-deep, #d96f86) 12%, transparent)}
.booking-option-card input{position:absolute;opacity:0;pointer-events:none}
.booking-option-card__kind{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--booking-accent-deep, #d96f86)}
.booking-option-card__name{font-size:14px;line-height:1.4;color:var(--booking-primary, #0f172a)}
.booking-option-card__meta,.booking-option-card__description{font-size:13px;line-height:1.45;color:var(--booking-muted, #7d6f73)}
@media (min-width: 768px){.booking-options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Step 1C: czytelny wybór dodatków i efektów w publicznej rezerwacji */
.booking-option-choice-grid{display:grid;gap:10px;margin-top:10px}
.booking-option-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid var(--booking-line, #ead9d8);border-radius:18px;background:linear-gradient(135deg,#fff 0%,var(--booking-surface-2,#f8fafc) 100%);box-shadow:0 12px 28px rgba(15,23,42,.05)}
.booking-option-choice--effect{background:linear-gradient(135deg,#fff 0%,color-mix(in srgb,var(--booking-accent,#f9a8d4) 8%,#fff) 100%)}
.booking-option-choice--addon{background:linear-gradient(135deg,#fff 0%,color-mix(in srgb,var(--booking-accent-deep,#d96f86) 6%,#fff) 100%)}
.booking-option-choice.is-empty{opacity:.72;box-shadow:none}
.booking-option-choice.has-selection{border-color:color-mix(in srgb,var(--booking-accent-deep,#d96f86) 38%,var(--booking-line,#ead9d8));box-shadow:0 0 0 3px color-mix(in srgb,var(--booking-accent-deep,#d96f86) 9%,transparent),0 14px 30px rgba(15,23,42,.06)}
.booking-option-choice__body{display:grid;gap:3px;min-width:0}
.booking-option-choice__eyebrow{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--booking-text-muted,#64748b)}
.booking-option-choice__title{font-size:15px;line-height:1.25;color:var(--booking-primary,#0f172a)}
.booking-option-choice__summary{font-size:12px;line-height:1.4;color:var(--booking-text-muted,#64748b);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.booking-option-choice__button{flex:0 0 auto;border:0;border-radius:999px;padding:9px 12px;background:var(--booking-primary,#0f172a);color:#fff;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 10px 22px rgba(15,23,42,.16);transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}
.booking-option-choice__button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(15,23,42,.2)}
.booking-option-choice__button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}
.booking-option-picker{position:absolute;inset:0;z-index:6;display:grid;place-items:end stretch;padding:10px;border-radius:inherit;overflow:hidden}
.booking-option-picker[hidden]{display:none}
.booking-option-picker__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.28);backdrop-filter:blur(5px)}
.booking-option-picker__sheet{position:relative;z-index:1;display:flex;flex-direction:column;max-height:min(76vh,640px);padding:16px;border:1px solid var(--booking-line,#ead9d8);border-radius:22px;background:var(--booking-surface,#fff);box-shadow:0 24px 60px rgba(15,23,42,.22);transform:translateY(12px);opacity:0;transition:transform .18s ease,opacity .18s ease}
.booking-option-picker.is-open .booking-option-picker__sheet{transform:translateY(0);opacity:1}
.booking-option-picker__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.booking-option-picker__header h4{margin:2px 0 3px;font-size:17px;line-height:1.25;color:var(--booking-primary,#0f172a)}
.booking-option-picker__header p{margin:0;font-size:13px;line-height:1.45;color:var(--booking-text-muted,#64748b)}
.booking-option-picker__eyebrow{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--booking-accent-deep,#d96f86)}
.booking-options-grid--picker{overflow:auto;padding-right:2px;overscroll-behavior:contain}
.booking-option-card{position:relative;grid-template-columns:18px minmax(0,1fr);align-items:start;column-gap:10px}
.booking-option-card__check{grid-row:1 / span 4;width:18px;height:18px;margin-top:2px;border-radius:7px;border:1px solid var(--booking-line-strong,#cbd5e1);background:#fff;box-shadow:inset 0 0 0 2px #fff;transition:background .16s ease,border-color .16s ease}
.booking-option-card.is-active .booking-option-card__check{background:var(--booking-accent-deep,#d96f86);border-color:var(--booking-accent-deep,#d96f86)}
.booking-option-card.is-active .booking-option-card__check::after{content:"";display:block;width:8px;height:5px;margin:4px auto 0;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.booking-option-card__kind,.booking-option-card__name,.booking-option-card__meta,.booking-option-card__description{grid-column:2}
.booking-option-card--effect .booking-option-card__kind{color:color-mix(in srgb,var(--booking-accent,#f9a8d4) 74%,#9f1239)}
.booking-option-picker__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--booking-line,#ead9d8)}
.booking-option-picker__footer small{min-width:0;font-size:12px;line-height:1.35;color:var(--booking-text-muted,#64748b);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
@media (max-width:520px){.booking-option-choice{align-items:stretch;flex-direction:column}.booking-option-choice__button{width:100%;padding:10px 12px}.booking-option-picker{padding:8px}.booking-option-picker__sheet{max-height:78vh;padding:14px;border-radius:20px}.booking-option-picker__footer{align-items:stretch;flex-direction:column}.booking-option-picker__footer .booking-submit__button{width:100%}}
@media (min-width:768px){.booking-option-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-option-picker{place-items:center}.booking-option-picker__sheet{width:min(680px,100%)}}

/* Selected additions/effects summary - calm compact layout */
.booking-options-panel{
  margin-top:6px;
  padding:13px 14px 12px;
}
.booking-options-panel__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}
.booking-options-panel__summary{
  display:flex;
  justify-content:flex-end;
  min-width:0;
  color:var(--booking-text-muted,#64748b);
  line-height:1.35;
}
.booking-option-choice-grid{
  margin-top:0;
}
.booking-option-choice{
  align-items:flex-start;
  padding:14px;
}
.booking-option-choice__body{
  display:grid;
  gap:4px;
  min-width:0;
  flex:1 1 auto;
}
.booking-option-choice__summary{
  display:block;
  overflow:visible;
  text-overflow:clip;
  -webkit-line-clamp:unset;
  -webkit-box-orient:initial;
}
.booking-option-choice__button{
  margin-top:16px;
}
.booking-selected-options-host,
.booking-flow-overview__item strong.booking-selected-options-host,
.booking-summary__item strong.booking-selected-options-host{
  display:block;
  min-width:0;
}
.booking-selected-options{
  display:block;
  min-width:0;
  max-width:100%;
}
.booking-selected-options--empty{
  display:inline-flex;
  width:auto;
  color:var(--booking-text-muted,#64748b);
  font-size:12px;
  font-weight:650;
  line-height:1.35;
}
.booking-selected-options__head{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:6px;
  min-width:0;
}
.booking-options-panel__summary .booking-selected-options__head{
  justify-content:flex-end;
}
.booking-selected-options__count,
.booking-selected-options__metric{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid var(--booking-line,#ead9d8);
  background:rgba(255,255,255,.82);
  color:var(--booking-text-muted,#64748b);
  font-size:11px;
  font-weight:760;
  line-height:1.2;
  white-space:nowrap;
}
.booking-selected-options__count{
  border-color:color-mix(in srgb,var(--booking-accent-deep,#d96f86) 24%,var(--booking-line,#ead9d8));
  background:color-mix(in srgb,var(--booking-accent-deep,#d96f86) 5%,#fff);
  color:var(--booking-primary,#0f172a);
  font-weight:850;
}
.booking-option-selection{
  display:grid;
  gap:8px;
  min-width:0;
  margin-top:4px;
}
.booking-option-selection--empty{
  display:block;
  color:var(--booking-text-muted,#64748b);
  font-size:12px;
  font-weight:650;
  line-height:1.35;
}
.booking-option-selection__metrics{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  min-width:0;
}
.booking-option-selection__count,
.booking-option-selection__metric{
  display:inline-flex;
  align-items:center;
  min-height:21px;
  padding:3px 7px;
  border-radius:999px;
  border:1px solid var(--booking-line,#ead9d8);
  background:rgba(255,255,255,.84);
  color:var(--booking-text-muted,#64748b);
  font-size:11px;
  font-weight:760;
  line-height:1.2;
  white-space:nowrap;
}
.booking-option-selection__count{
  border-color:color-mix(in srgb,var(--booking-accent-deep,#d96f86) 24%,var(--booking-line,#ead9d8));
  background:color-mix(in srgb,var(--booking-accent-deep,#d96f86) 5%,#fff);
  color:var(--booking-primary,#0f172a);
  font-weight:850;
}
.booking-option-selection__list{
  display:grid;
  gap:5px;
  min-width:0;
}
.booking-option-selection__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  padding:5px 0 0;
  border-top:1px solid color-mix(in srgb,var(--booking-line,#ead9d8) 70%,transparent);
}
.booking-option-selection__name{
  min-width:0;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
  color:var(--booking-primary,#0f172a);
  font-size:12px;
  font-weight:760;
  line-height:1.3;
}
.booking-option-selection__meta{
  flex:0 0 auto;
  color:var(--booking-text-muted,#64748b);
  font-size:11px;
  font-weight:760;
  line-height:1.25;
  white-space:nowrap;
}
.booking-option-selection__more{
  display:block;
  padding-top:2px;
  color:var(--booking-text-muted,#64748b);
  font-size:11px;
  font-weight:700;
  line-height:1.3;
}
.booking-option-picker__footer small{
  display:block;
  min-width:0;
  overflow:visible;
  text-overflow:clip;
  -webkit-line-clamp:unset;
  -webkit-box-orient:initial;
}
.booking-option-picker__footer small .booking-selected-options{
  display:block;
}
.booking-option-picker__footer small .booking-selected-options__head{
  justify-content:flex-start;
}
.booking-flow-overview__item .booking-selected-options,
.booking-summary__item .booking-selected-options{
  display:block;
}
@media (max-width:520px){
  .booking-options-panel{
    padding:12px;
  }
  .booking-options-panel__header{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }
  .booking-options-panel__summary,
  .booking-options-panel__summary .booking-selected-options__head{
    justify-content:flex-start;
  }
  .booking-option-choice{
    align-items:stretch;
    flex-direction:column;
  }
  .booking-option-choice__button{
    width:100%;
    margin-top:6px;
    padding:10px 12px;
  }
  .booking-option-selection__row{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
  .booking-option-selection__meta{
    white-space:normal;
  }
}

/* Step 1D: spokojniejsze podsumowanie dodatków i efektów */
#booking-options-modal .booking-modal__header{
  margin-bottom:10px;
}
#booking-options-modal .booking-modal__header h3{
  margin-bottom:0;
}
#booking-options-modal .booking-modal__lead{
  display:none;
}
#booking-options-modal .booking-options-total{
  display:none;
}
#booking-options-modal .booking-options-panel{
  margin-top:0;
  padding:12px;
}
#booking-options-modal .booking-options-panel__header--summary-only{
  align-items:flex-start;
  justify-content:flex-start;
  margin:0 0 12px;
}
#booking-options-modal .booking-options-panel__header--summary-only .booking-options-panel__summary,
#booking-options-modal .booking-options-panel__header--summary-only .booking-selected-options__head{
  justify-content:flex-start;
}
#booking-options-modal .booking-option-choice-grid{
  gap:12px;
}
#booking-options-modal .booking-option-choice{
  min-height:126px;
  align-items:flex-start;
  padding:14px;
}
#booking-options-modal .booking-option-choice__body{
  gap:5px;
}
#booking-options-modal .booking-option-choice__button{
  margin-top:28px;
}
#booking-options-modal .booking-option-selection{
  gap:7px;
  margin-top:2px;
}
#booking-options-modal .booking-option-selection__metrics{
  gap:5px;
}
#booking-options-modal .booking-option-selection__count,
#booking-options-modal .booking-option-selection__metric,
#booking-options-modal .booking-selected-options__count,
#booking-options-modal .booking-selected-options__metric{
  min-height:20px;
  padding:3px 7px;
  font-size:10.5px;
}
#booking-options-modal .booking-option-selection__list{
  gap:4px;
  margin-top:1px;
}
#booking-options-modal .booking-option-selection__row{
  padding-top:4px;
}
#booking-options-modal .booking-option-selection__name{
  font-size:12px;
}
#booking-options-modal .booking-option-selection__meta{
  font-size:10.5px;
}
#booking-options-modal .booking-option-selection__more{
  padding-top:1px;
  font-size:10.5px;
}
@media (max-width:520px){
  #booking-options-modal .booking-option-choice{
    min-height:0;
  }
  #booking-options-modal .booking-option-choice__button{
    margin-top:6px;
  }
}


/* Step 1E: pełniejsze nazwy opcji i kwota usługi w podsumowaniu */
#booking-options-modal .booking-option-selection__row{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:2px;
  align-items:start;
  justify-content:start;
}
#booking-options-modal .booking-option-selection__name{
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.32;
}
#booking-options-modal .booking-option-selection__meta{
  white-space:normal;
  justify-self:start;
  color:var(--booking-text-muted,#64748b);
}
#booking-options-modal .booking-option-choice{
  min-height:142px;
}
#booking-options-modal .booking-option-selection__list{
  max-height:112px;
  overflow:auto;
  padding-right:2px;
}
@media (max-width:520px){
  #booking-options-modal .booking-option-selection__list{
    max-height:none;
    overflow:visible;
  }
  #booking-options-modal .booking-option-choice{
    min-height:0;
  }
}

/* Public salon rules shown before booking submission */
.booking-salon-rules{
    display:grid;
    gap:12px;
    margin-top:16px;
    padding:15px 16px;
    border:1px solid rgba(219,227,238,.95);
    border-radius:18px;
    background:linear-gradient(180deg,#ffffff 0%, var(--booking-surface-3) 100%);
    color:var(--booking-text);
}
.booking-salon-rules__head{
    display:flex;
    align-items:flex-start;
    gap:12px;
}
.booking-salon-rules__head > span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 26px;
    width:26px;
    height:26px;
    border-radius:999px;
    background:var(--booking-surface-2);
    border:1px solid var(--booking-line);
    color:var(--booking-muted);
    font-weight:900;
    font-size:.86rem;
}
.booking-salon-rules h4{
    margin:0 0 3px;
    color:var(--booking-text);
    font-size:.9rem;
    line-height:1.3;
}
.booking-salon-rules p{
    margin:0;
    color:var(--booking-muted);
    font-size:.86rem;
    line-height:1.55;
}
.booking-salon-rules__text{
    color:var(--booking-text);
    font-size:.94rem;
    line-height:1.72;
    word-break:break-word;
}
@media (max-width: 767px){
    .booking-salon-rules{
        padding:13px 14px;
        border-radius:16px;
    }
    .booking-salon-rules__head{
        gap:10px;
    }
    .booking-salon-rules__text{
        font-size:.9rem;
    }
}

/* Client priority availability check */
.booking-priority-check{
    display:grid;
    gap:12px;
    margin:0 0 14px;
    padding:14px;
    border:1px solid rgba(203,213,225,.95);
    border-radius:18px;
    background:linear-gradient(180deg,#fff 0%,rgba(248,250,252,.96) 100%);
    box-shadow:0 14px 34px rgba(15,23,42,.07);
}
.booking-priority-check__intro{
    display:grid;
    gap:3px;
}
.booking-priority-check__intro > span{
    color:var(--booking-accent,#be185d);
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.booking-priority-check__intro strong{
    color:var(--booking-text,#111827);
    font-size:.9rem;
    line-height:1.28;
}
.booking-priority-check__intro p{
    margin:0;
    color:var(--booking-muted,#64748b);
    font-size:.86rem;
    line-height:1.45;
}
.booking-priority-check__fields{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.booking-priority-check__fields label{
    display:grid;
    gap:5px;
    margin:0;
    color:var(--booking-muted,#64748b);
    font-size:.78rem;
    font-weight:800;
}
.booking-priority-check__fields input{
    width:100%;
    min-width:0;
    min-height:42px;
    border:1px solid var(--booking-line,#ead9d8);
    border-radius:14px;
    background:#fff;
    color:var(--booking-text,#111827);
    font:inherit;
    font-size:.92rem;
    padding:9px 11px;
    outline:none;
}
.booking-priority-check__fields input:focus{
    border-color:rgba(190,24,93,.55);
    box-shadow:0 0 0 3px rgba(190,24,93,.12);
}
.booking-priority-check__status{
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    width:max-content;
    max-width:100%;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(190,24,93,.08);
    color:var(--booking-accent,#be185d);
    font-size:.78rem;
    font-weight:900;
}
@media (max-width: 640px){
    .booking-priority-check{
        padding:12px;
        border-radius:16px;
    }
    .booking-priority-check__fields{
        grid-template-columns:1fr;
    }
}

/* Public priority decision copy */
.booking-priority-check__status{
    display:grid;
    gap:3px;
    width:100%;
    max-width:100%;
    padding:10px 12px;
    border:1px solid rgba(203,213,225,.85);
    border-radius:16px;
    background:#fff;
    color:var(--booking-text,#111827);
    font-size:.86rem;
    line-height:1.35;
    box-shadow:0 10px 22px rgba(15,23,42,.045);
}
.booking-priority-check__status strong{
    color:var(--booking-text,#111827);
    font-size:.9rem;
    font-weight:900;
}
.booking-priority-check__status span{
    color:var(--booking-muted,#64748b);
    font-size:.84rem;
    font-weight:650;
}
.booking-priority-check__status--success{
    border-color:rgba(16,185,129,.34);
    background:linear-gradient(180deg,rgba(236,253,245,.98) 0%,#fff 100%);
}
.booking-priority-check__status--success strong{
    color:#047857;
}
.booking-priority-check__status--neutral{
    border-color:rgba(203,213,225,.95);
    background:linear-gradient(180deg,#fff 0%,rgba(248,250,252,.96) 100%);
}
.booking-success__note--attention{
    border-color:rgba(245,158,11,.32);
    background:linear-gradient(180deg,rgba(255,251,235,.98) 0%,#fff 100%);
    color:#92400e;
}
@media (max-width: 640px){
    .booking-priority-check__status{
        padding:9px 10px;
        border-radius:14px;
    }
}

/* Etap 5C UX fixes: neutral contact step, centered skip and guarded submit */
#booking-options-modal .booking-modal__actions--compact{
    justify-content:center;
}
#booking-options-modal .booking-modal__actions--compact > *{
    flex:0 1 220px;
}
.booking-button-secondary--skip{
    justify-content:center;
    text-align:center;
}
.booking-button-secondary--skip::before{
    content:none;
    display:none;
}
.booking-modal__sheet--contact-step .booking-modal__lead{
    max-width:42rem;
}
.booking-form-grid--contact-step{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.booking-contact-hint{
    margin-top:12px;
    padding:11px 13px;
    border:1px solid rgba(219,227,238,.9);
    border-radius:16px;
    background:linear-gradient(180deg,#fff 0%,var(--booking-surface-3,#f8fafc) 100%);
    color:var(--booking-muted,#64748b);
    font-size:.9rem;
    line-height:1.55;
    text-align:center;
}
.booking-modal__actions--contact-step{
    align-items:center;
    justify-content:space-between;
}
.booking-form-grid--summary-extra{
    margin-top:14px;
}
.booking-salon-rules--center{
    max-width:760px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}
.booking-salon-rules--center .booking-salon-rules__head{
    justify-content:center;
    align-items:center;
    text-align:center;
}
.booking-salon-rules--center .booking-salon-rules__head > div{
    min-width:0;
}
.booking-salon-rules--center .booking-salon-rules__text{
    text-align:center;
}
.booking-submit__button:disabled,
.booking-submit__button[aria-disabled="true"]{
    cursor:not-allowed;
    opacity:.56;
    filter:grayscale(.18);
    transform:none;
    box-shadow:none;
}
.booking-submit__button:disabled:hover,
.booking-submit__button[aria-disabled="true"]:hover{
    transform:none;
    box-shadow:none;
    filter:grayscale(.18);
}
@media (max-width:767px){
    #booking-options-modal .booking-modal__actions--compact > *,
    .booking-modal__actions--contact-step > *{
        flex:1 1 100%;
        width:100%;
    }
    .booking-form-grid--contact-step{
        grid-template-columns:1fr;
    }
    .booking-contact-hint{
        font-size:.86rem;
    }
    .booking-salon-rules--center .booking-salon-rules__head{
        flex-direction:column;
        gap:8px;
    }
}

/* Etap 5D: spójne akcje w kroku dodatków/efektów */
#booking-options-modal .booking-modal__actions--compact{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
}
#booking-options-modal .booking-modal__actions--compact > *{
    flex:0 0 auto;
}
#booking-options-modal .booking-modal__actions--compact .booking-submit__button{
    order:1;
    width:min(100%,240px);
    min-height:46px;
    padding:0 18px;
    border-radius:14px;
    font-size:.94rem;
    line-height:1.2;
    box-shadow:0 12px 26px rgba(17,24,39,.16);
}
#booking-options-modal .booking-modal__actions--compact .booking-button-secondary--skip{
    order:2;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    min-width:168px;
    min-height:42px;
    padding:10px 14px;
    border:1px solid var(--booking-line-theme, #dbe3ee);
    border-radius:13px;
    background:linear-gradient(180deg,var(--booking-surface-3, #f8fafc) 0%, var(--booking-accent, #fdf2f8) 100%);
    color:#334155;
    font-size:.9rem;
    font-weight:800;
    text-align:center;
    box-shadow:0 6px 14px rgba(15,23,42,.04);
}
#booking-options-modal .booking-modal__actions--compact .booking-button-secondary--skip::before{
    content:none;
    display:none;
}
#booking-options-modal .booking-modal__actions--compact .booking-button-secondary--skip:hover{
    border-color:var(--booking-line-theme, #dbe3ee);
    background:linear-gradient(180deg,#ffffff 0%, var(--booking-accent, #fdf2f8) 100%);
    color:#1e293b;
    box-shadow:0 10px 18px rgba(15,23,42,.07);
}
@media (max-width:767px){
    #booking-options-modal .booking-modal__actions--compact .booking-submit__button,
    #booking-options-modal .booking-modal__actions--compact .booking-button-secondary--skip{
        width:100%;
        min-width:0;
    }
}

/* Etap 5E: jednolity styl przycisków pomocniczych w publicznej rezerwacji */
.booking-modal__actions .booking-button-secondary,
#booking-options-modal .booking-modal__actions--compact .booking-button-secondary--skip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:auto;
    min-width:168px;
    max-width:100%;
    min-height:44px;
    padding:10px 16px;
    border:1px solid var(--booking-line-theme, #f9cfe0);
    border-radius:14px;
    background:linear-gradient(180deg,#ffffff 0%, var(--booking-accent, #fdf2f8) 100%);
    color:#334155;
    font-size:.9rem;
    font-weight:800;
    line-height:1.15;
    text-align:center;
    white-space:nowrap;
    box-shadow:0 6px 14px rgba(15,23,42,.04);
}
.booking-modal__actions .booking-button-secondary:hover,
#booking-options-modal .booking-modal__actions--compact .booking-button-secondary--skip:hover{
    border-color:var(--booking-line-theme, #f9cfe0);
    background:linear-gradient(180deg,#ffffff 0%, var(--booking-accent, #fdf2f8) 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,
.booking-modal__actions .booking-button-secondary--skip,
#booking-options-modal .booking-modal__actions--compact .booking-button-secondary--skip{
    border-style:solid;
}
.booking-modal__actions .booking-button-secondary--edit::before,
.booking-modal__actions .booking-button-secondary--back::before,
.booking-modal__actions .booking-button-secondary--skip::before,
#booking-options-modal .booking-modal__actions--compact .booking-button-secondary--skip::before{
    content:"✦";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 22px;
    width:22px;
    height:22px;
    margin:0;
    border-radius:999px;
    background:color-mix(in srgb, var(--booking-accent-deep, #9f1239) 9%, transparent);
    color:var(--booking-accent-deep, #9f1239);
    font-size:.82rem;
    font-weight:800;
    line-height:1;
}
.booking-modal__actions .booking-button-secondary--back{
    color:#334155;
}
#booking-options-modal .booking-modal__actions--compact{
    align-items:center;
}
#booking-options-modal .booking-modal__actions--compact .booking-button-secondary--skip{
    order:2;
}
@media (max-width:767px){
    .booking-modal__actions{
        align-items:center;
    }
    .booking-modal__actions .booking-button-secondary,
    #booking-options-modal .booking-modal__actions--compact .booking-button-secondary--skip{
        width:auto;
        min-width:168px;
        flex:0 0 auto;
    }
    .booking-modal__actions--contact-step .booking-submit__button,
    #booking-options-modal .booking-modal__actions--compact .booking-submit__button{
        width:100%;
    }
}
@media (max-width:380px){
    .booking-modal__actions .booking-button-secondary,
    #booking-options-modal .booking-modal__actions--compact .booking-button-secondary--skip{
        width:100%;
        min-width:0;
        white-space:normal;
    }
}

/* Etap 5F: dopracowanie zaznaczonych dodatków i mniejsze przyciski pomocnicze */
.booking-options-grid--picker{
    padding:4px 4px 6px;
    scrollbar-gutter:stable;
}
.booking-option-card{
    overflow:visible;
    background-clip:padding-box;
}
.booking-option-card.is-active{
    border-width:2px;
    border-color:var(--booking-accent-deep,#9f1239);
    box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--booking-accent-deep,#9f1239) 28%,transparent),0 10px 24px rgba(159,18,57,.08);
}
.booking-option-card.is-active:hover{
    transform:none;
}
.booking-option-picker__sheet{
    overflow:hidden;
}
.booking-modal__actions .booking-button-secondary,
#booking-options-modal .booking-modal__actions--compact .booking-button-secondary--skip{
    min-width:148px;
    min-height:40px;
    padding:8px 13px;
    border-radius:13px;
    gap:7px;
    font-size:.84rem;
}
.booking-modal__actions .booking-button-secondary--edit::before,
.booking-modal__actions .booking-button-secondary--back::before,
.booking-modal__actions .booking-button-secondary--skip::before,
#booking-options-modal .booking-modal__actions--compact .booking-button-secondary--skip::before{
    flex-basis:20px;
    width:20px;
    height:20px;
    font-size:.76rem;
}
#booking-options-modal .booking-modal__actions--compact{
    gap:10px;
}
@media (max-width:767px){
    .booking-modal__actions .booking-button-secondary,
    #booking-options-modal .booking-modal__actions--compact .booking-button-secondary--skip{
        min-width:142px;
        min-height:39px;
        padding:8px 12px;
        font-size:.83rem;
    }
}
@media (max-width:380px){
    .booking-modal__actions .booking-button-secondary,
    #booking-options-modal .booking-modal__actions--compact .booking-button-secondary--skip{
        width:auto;
        min-width:136px;
    }
}

/* Etap 5G: mobile ordering for contact-step actions.
   On small screens the primary action stays above the secondary back/edit action. */
@media (max-width:767px){
    .booking-modal__actions--contact-step #booking-contact-continue{
        order:1;
    }
    .booking-modal__actions--contact-step .booking-button-secondary--back{
        order:2;
    }
}

/* Etap 3 Beauty: informacje usługi przed rezerwacją */
.booking-service-card__badge{
    display:inline-flex;
    align-items:center;
    width:max-content;
    margin-top:8px;
    padding:4px 9px;
    border-radius:999px;
    background:rgba(159,18,57,.08);
    color:var(--booking-accent-deep,#9f1239);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.01em;
}

.booking-service-preparation{
    display:grid;
    gap:14px;
    margin:14px 0;
    padding:16px;
    border:1px solid rgba(159,18,57,.16);
    border-radius:22px;
    background:linear-gradient(180deg,rgba(255,247,250,.92),rgba(255,255,255,.96));
    box-shadow:0 16px 40px rgba(15,23,42,.06);
}

.booking-service-preparation[hidden]{
    display:none;
}

.booking-service-preparation__head{
    display:flex;
    align-items:flex-start;
    gap:12px;
}

.booking-service-preparation__head>span{
    display:inline-grid;
    place-items:center;
    flex:0 0 28px;
    width:28px;
    height:28px;
    border-radius:999px;
    background:var(--booking-accent-deep,#9f1239);
    color:#fff;
    font-weight:900;
    font-size:.9rem;
}

.booking-service-preparation__head h4{
    margin:0;
    color:#1f2937;
    font-size:1rem;
    letter-spacing:-.01em;
}

.booking-service-preparation__head p{
    margin:3px 0 0;
    color:#64748b;
    font-size:.86rem;
    line-height:1.45;
}

.booking-service-preparation__panels{
    display:grid;
    gap:10px;
}

.booking-service-preparation__panel{
    display:grid;
    gap:10px;
}

.booking-service-preparation__panel[hidden]{
    display:none;
}

.booking-service-preparation__block{
    padding:12px 13px;
    border:1px solid rgba(148,163,184,.22);
    border-radius:16px;
    background:rgba(255,255,255,.88);
}

.booking-service-preparation__block--warning{
    border-color:rgba(245,158,11,.34);
    background:rgba(255,251,235,.86);
}

.booking-service-preparation__block strong{
    display:block;
    margin-bottom:5px;
    color:#334155;
    font-size:.84rem;
}

.booking-service-preparation__block p{
    margin:0;
    color:#475569;
    font-size:.86rem;
    line-height:1.55;
}

.booking-consent--service-preparation{
    border-color:rgba(159,18,57,.16);
    background:rgba(255,255,255,.9);
}

.booking-consent--service-preparation[hidden]{
    display:none;
}

.booking-consent--marketing{
    border-color:rgba(190,24,93,.14);
    background:linear-gradient(180deg,#fff 0%,#fff7fb 100%);
}

.booking-consent--marketing span{
    display:grid;
    gap:4px;
}

.booking-consent--marketing strong{
    font-size:.94rem;
    line-height:1.35;
}

.booking-consent--marketing small{
    color:var(--booking-muted);
    font-size:.8rem;
    line-height:1.45;
}

@media (max-width:767px){
    .booking-service-preparation{
        padding:14px;
        border-radius:18px;
    }

    .booking-service-preparation__head{
        gap:10px;
    }

    .booking-service-preparation__head h4{
        font-size:.9rem;
    }
}

/* Etap 4 — publiczna ankieta pierwszej wizyty */
.booking-intake-form {
    display: grid;
    gap: 14px;
    padding: 10px;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,247,250,.9));
    border: 1px solid rgba(190, 118, 135, .18);
    box-shadow: 0 16px 44px rgba(40, 30, 36, .07);
}

.booking-intake-form[hidden],
.booking-intake-form__panel[hidden] {
    display: none;
}

.booking-intake-form__head {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.booking-intake-form__head > span {
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: rgba(190, 118, 135, .13);
    color: #8b4a5c;
    font-weight: 900;
}

.booking-intake-form__head h4,
.booking-intake-form__head p,
.booking-intake-form__intro p,
.booking-intake-form__note {
    margin: 0;
}

.booking-intake-form__head h4 {
    font-size: 1rem;
}

.booking-intake-form__head p,
.booking-intake-form__intro p,
.booking-intake-form__note,
.booking-intake-question small {
    color: rgba(45, 36, 42, .66);
    line-height: 1.45;
    font-size: .72rem;
}

.booking-intake-form__panel,
.booking-intake-form__panels {
    display: grid;
    gap: 12px;
}

.booking-intake-form__intro {
    display: grid;
    gap: 4px;
}

.booking-intake-question {
    display: grid;
    gap: 7px;
    padding: 12px;
    border-radius: 18px;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(35, 31, 36, .08);
}

.booking-intake-question label {
    font-weight: 800;
    color: rgba(35, 31, 36, .9);
}

.booking-intake-question label span {
    color: #a9445b;
}

.booking-intake-question input,
.booking-intake-question textarea,
.booking-intake-question select {
    width: 100%;
    border: 1px solid rgba(35, 31, 36, .14);
    border-radius: 14px;
    padding: 11px 12px;
    background: rgba(255,255,255,.96);
    color: #241f24;
    font: inherit;
}

/* Public booking waiting list: consolidated UX */
.booking-slot-chip small {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.68rem;
    font-weight: 650;
    opacity: 0.72;
}

.booking-waiting-list-cta {
    margin-top: 18px;
    padding: 10px;
    border: 1px solid color-mix(in srgb, var(--booking-line-theme, #ead9d8) 24%, rgba(15, 23, 42, .10));
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--booking-accent, #fff1f2) 62%, transparent) 0%, transparent 42%),
        linear-gradient(135deg, rgba(255, 255, 255, .96), color-mix(in srgb, var(--booking-surface-2, #fffaf8) 84%, #fff));
    box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
    display: grid;
    gap: 12px;
}

.booking-waiting-list-cta__eyebrow {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 6px;
    padding: 4px 9px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--booking-accent, #fff1f2) 72%, #ffffff);
    color: color-mix(in srgb, var(--booking-primary, #0f172a) 76%, var(--booking-accent-deep, #d96f86));
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.booking-waiting-list-cta h3 {
    margin: 0;
    font-size: clamp(1.02rem, 2.5vw, 1.24rem);
    color: var(--booking-primary, #0f172a);
}

.booking-waiting-list-cta p {
    margin: 5px 0 0;
    color: rgba(15, 23, 42, .66);
    line-height: 1.55;
}

.booking-button-secondary--waiting {
    width: fit-content;
    justify-self: start;
}

.booking-alert--success {
    border-color: rgba(16, 185, 129, .24);
    background: rgba(236, 253, 245, .92);
    color: #065f46;
}

.booking-public--proposal {
    width: min(880px, calc(100% - 32px));
    margin: clamp(18px, 5vw, 52px) auto clamp(34px, 6vw, 72px);
    color: var(--booking-text, #0f172a);
}

.booking-proposal-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--booking-accent-strong, #f9d5e6) 56%, transparent) 0 220px, transparent 360px),
        radial-gradient(circle at 0% 100%, color-mix(in srgb, var(--booking-accent, #fff1f7) 68%, transparent) 0 210px, transparent 360px),
        linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(255, 251, 253, .96) 100%);
    border: 1px solid color-mix(in srgb, var(--booking-line, #ead5df) 76%, #ffffff);
    border-radius: clamp(24px, 4vw, 36px);
    box-shadow: 0 30px 90px rgba(96, 42, 68, .13), 0 10px 30px rgba(15, 23, 42, .05);
    padding: clamp(20px, 4.5vw, 44px);
}

.booking-proposal-card::before {
    content: "";
    position: absolute;
    inset: 16px;
    z-index: -1;
    border-radius: inherit;
    border: 1px solid rgba(255, 255, 255, .62);
    pointer-events: none;
}

.booking-proposal-close {
    position: absolute;
    top: clamp(14px, 3vw, 22px);
    right: clamp(14px, 3vw, 22px);
    z-index: 2;
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--booking-line, #ead5df) 72%, #ffffff);
    background: rgba(255, 255, 255, .84);
    color: color-mix(in srgb, var(--booking-text, #111827) 76%, var(--booking-accent-deep, #c45c88));
    font-size: 1.55rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(96, 42, 68, .08);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.booking-proposal-close:hover,
.booking-proposal-close:focus-visible {
    transform: translateY(-1px);
    background: #ffffff;
    box-shadow: 0 16px 34px rgba(96, 42, 68, .13);
    outline: none;
}

.booking-proposal-hero {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: clamp(14px, 3vw, 22px);
    align-items: start;
    margin-bottom: 18px;
}

.booking-proposal-hero__badge {
    display: grid;
    place-items: center;
    width: clamp(46px, 7vw, 62px);
    height: clamp(46px, 7vw, 62px);
    border-radius: 22px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--booking-accent-deep, #c45c88) 14%, #ffffff), #ffffff 72%);
    border: 1px solid color-mix(in srgb, var(--booking-accent-deep, #c45c88) 18%, #ffffff);
    color: var(--booking-accent-deep, #c45c88);
    font-size: clamp(1.25rem, 3vw, 1.8rem);
    font-weight: 900;
    box-shadow: 0 16px 34px color-mix(in srgb, var(--booking-accent-deep, #c45c88) 13%, transparent);
}


.booking-proposal-hero__badge--close {
    cursor: pointer;
    text-decoration: none;
    line-height: 1;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

.booking-proposal-hero__badge--close:hover,
.booking-proposal-hero__badge--close:focus-visible {
    transform: translateY(-1px);
    background: #ffffff;
    border-color: color-mix(in srgb, var(--booking-accent-deep, #c45c88) 34%, #ffffff);
    box-shadow: 0 20px 42px color-mix(in srgb, var(--booking-accent-deep, #c45c88) 18%, transparent);
    outline: none;
}

.booking-proposal-close {
    display: none;
}

.booking-proposal-card__eyebrow {
    color: color-mix(in srgb, var(--booking-accent-deep, #9f426c) 72%, #475569);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.booking-proposal-card h1 {
    margin: 0 0 10px;
    color: var(--booking-text, #111827);
    font-family: var(--booking-font-heading, Georgia, serif);
    font-size: clamp(1.95rem, 5vw, 3.15rem);
    line-height: 1.04;
    letter-spacing: -.02em;
}

.booking-proposal-card__lead,
.booking-proposal-card__hint {
    color: color-mix(in srgb, var(--booking-muted, #64748b) 86%, #111827);
    font-size: .96rem;
    line-height: 1.72;
    margin: 0;
}

.booking-proposal-card__hint {
    margin-top: 18px;
    padding: 13px 15px;
    border: 1px solid color-mix(in srgb, var(--booking-line, #ead5df) 70%, #ffffff);
    border-radius: 18px;
    background: rgba(255, 255, 255, .64);
}

.booking-alert--proposal {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 11px;
    margin: 16px 0;
    padding: 14px 16px;
    border-radius: 18px;
    border-width: 1px;
    font-weight: 750;
    line-height: 1.55;
}

.booking-alert--proposal span {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    font-size: .85rem;
    font-weight: 900;
}

.booking-alert--proposal p {
    margin: 0;
}

.booking-proposal-status {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 36px;
    margin: 4px 0 18px;
    padding: 8px 13px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    border: 1px solid color-mix(in srgb, var(--booking-line, #ead5df) 82%, #ffffff);
    color: #475569;
    font-size: .85rem;
    font-weight: 750;
}

.booking-proposal-status__dot {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: var(--booking-accent-deep, #c45c88);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--booking-accent-deep, #c45c88) 14%, transparent);
}

.booking-proposal-status--accepted .booking-proposal-status__dot {
    background: #16a34a;
    box-shadow: 0 0 0 4px rgba(22, 163, 74, .13);
}

.booking-proposal-status--rejected .booking-proposal-status__dot,
.booking-proposal-status--cancelled .booking-proposal-status__dot {
    background: #be123c;
    box-shadow: 0 0 0 4px rgba(190, 18, 60, .12);
}

.booking-proposal-status--expired .booking-proposal-status__dot {
    background: #d97706;
    box-shadow: 0 0 0 4px rgba(217, 119, 6, .13);
}

.booking-proposal-date-card {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 12px;
    margin: 18px 0;
}

.booking-proposal-date-card > div {
    position: relative;
    overflow: hidden;
    min-height: 96px;
    padding: 18px;
    border-radius: 24px;
    border: 1px solid color-mix(in srgb, var(--booking-accent-deep, #c45c88) 16%, #ffffff);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--booking-accent, #fff1f7) 84%, #ffffff) 0%, rgba(255,255,255,.88) 100%);
    box-shadow: 0 16px 36px rgba(96, 42, 68, .07);
}

.booking-proposal-date-card span {
    display: block;
    color: color-mix(in srgb, var(--booking-muted, #64748b) 88%, #111827);
    font-size: .77rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.booking-proposal-date-card strong {
    display: block;
    margin-top: 8px;
    color: var(--booking-text, #111827);
    font-size: clamp(1.45rem, 4vw, 2.15rem);
    line-height: 1.05;
    letter-spacing: -.03em;
}

.booking-proposal-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0 22px;
}

.booking-proposal-summary > div {
    min-width: 0;
    padding: 14px 15px;
    border: 1px solid color-mix(in srgb, var(--booking-line, #ead5df) 74%, #ffffff);
    border-radius: 18px;
    background: rgba(255, 255, 255, .70);
    box-shadow: 0 10px 24px rgba(96, 42, 68, .035);
}

.booking-proposal-summary__wide {
    grid-column: 1 / -1;
}

.booking-proposal-summary dt {
    color: color-mix(in srgb, var(--booking-muted, #64748b) 88%, #111827);
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.booking-proposal-summary dd {
    margin: 6px 0 0;
    color: var(--booking-text, #111827);
    font-size: .95rem;
    font-weight: 850;
    line-height: 1.45;
    text-align: left;
    overflow-wrap: anywhere;
}

.booking-proposal-actions {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: 14px;
    align-items: stretch;
    justify-content: stretch;
    margin-top: 24px;
}

.booking-proposal-actions form {
    min-width: 0;
    margin: 0;
}

.booking-proposal-actions--single {
    display: flex;
    justify-content: flex-start;
}

.booking-proposal-decision {
    height: 100%;
    padding: 17px;
    border-radius: 24px;
    border: 1px solid color-mix(in srgb, var(--booking-line, #ead5df) 72%, #ffffff);
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 14px 34px rgba(96, 42, 68, .055);
}

.booking-proposal-decision h2,
.booking-proposal-result h2,
.booking-proposal-reject-box__intro h2 {
    margin: 0;
    color: var(--booking-text, #111827);
    font-family: var(--booking-font-body, Inter, Arial, sans-serif);
    font-size: 1rem;
    line-height: 1.25;
    letter-spacing: -.01em;
}

.booking-proposal-decision p,
.booking-proposal-result p,
.booking-proposal-reject-box__intro p {
    margin: 7px 0 0;
    color: color-mix(in srgb, var(--booking-muted, #64748b) 88%, #111827);
    font-size: .72rem;
    line-height: 1.58;
}

.booking-proposal-decision--accept {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16px;
    background:
        radial-gradient(circle at top right, rgba(22, 163, 74, .10), transparent 42%),
        rgba(255, 255, 255, .82);
}

.booking-proposal-decision--reject {
    display: grid;
    gap: 14px;
}

.booking-proposal-reject-box {
    display: grid;
    gap: 10px;
}

.booking-proposal-reject-box label {
    color: color-mix(in srgb, var(--booking-text, #111827) 74%, var(--booking-muted, #64748b));
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.booking-proposal-reject-box select,
.booking-proposal-reject-box textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid color-mix(in srgb, var(--booking-line, #ead5df) 84%, #ffffff);
    border-radius: 16px;
    background: rgba(255, 255, 255, .92);
    color: var(--booking-text, #111827);
    font: inherit;
    font-size: .95rem;
    outline: none;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.booking-proposal-reject-box select {
    min-height: 48px;
    padding: 0 44px 0 14px;
    appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, color-mix(in srgb, var(--booking-accent-deep, #c45c88) 75%, #111827) 50%),
        linear-gradient(135deg, color-mix(in srgb, var(--booking-accent-deep, #c45c88) 75%, #111827) 50%, transparent 50%);
    background-position: calc(100% - 20px) 21px, calc(100% - 14px) 21px;
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.booking-proposal-reject-box textarea {
    min-height: 96px;
    resize: vertical;
    padding: 13px 14px;
    line-height: 1.55;
}

.booking-proposal-reject-box select:focus,
.booking-proposal-reject-box textarea:focus {
    border-color: color-mix(in srgb, var(--booking-accent-deep, #c45c88) 46%, #ffffff);
    background: #ffffff;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--booking-accent-deep, #c45c88) 12%, transparent);
}

.booking-proposal-actions .booking-button,
.booking-proposal-actions button.booking-button,
.booking-proposal-actions a.booking-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    padding: 13px 18px;
    border-radius: 16px;
    border: 1px solid transparent;
    font: inherit;
    font-weight: 900;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, background .18s ease;
}

.booking-proposal-actions .booking-button:hover {
    transform: translateY(-1px);
}

.booking-button--proposal-accept,
.booking-button--proposal-home {
    color: #ffffff;
    background: linear-gradient(135deg, var(--booking-primary, #111827) 0%, color-mix(in srgb, var(--booking-accent-deep, #c45c88) 56%, #111827) 100%);
    box-shadow: 0 18px 36px color-mix(in srgb, var(--booking-accent-deep, #c45c88) 25%, transparent);
}

.booking-button--proposal-reject,
.booking-button--ghost {
    background: rgba(255, 255, 255, .92);
    color: color-mix(in srgb, var(--booking-text, #111827) 88%, #be123c);
    border-color: color-mix(in srgb, #be123c 18%, #ffffff);
    box-shadow: 0 12px 26px rgba(190, 18, 60, .06);
}

.booking-proposal-result {
    margin-top: 22px;
    padding: 18px;
    border-radius: 22px;
    border: 1px solid color-mix(in srgb, var(--booking-line, #ead5df) 76%, #ffffff);
    background: rgba(255, 255, 255, .74);
}

.booking-proposal-result--accepted {
    border-color: rgba(22, 163, 74, .20);
    background: linear-gradient(135deg, rgba(236, 253, 245, .88), rgba(255,255,255,.82));
}

.booking-proposal-result--rejected,
.booking-proposal-result--cancelled {
    border-color: rgba(190, 18, 60, .16);
    background: linear-gradient(135deg, rgba(255, 241, 242, .84), rgba(255,255,255,.82));
}

.booking-proposal-result--expired {
    border-color: rgba(217, 119, 6, .18);
    background: linear-gradient(135deg, rgba(255, 251, 235, .86), rgba(255,255,255,.82));
}

@media (max-width: 720px) {
    .booking-public--proposal {
        width: min(100% - 18px, 880px);
        margin-top: 12px;
    }

    .booking-proposal-card {
        padding: 18px;
        border-radius: 24px;
    }

    .booking-proposal-close {
        top: 12px;
        right: 12px;
        width: 38px;
        height: 38px;
        font-size: 1.35rem;
    }

    .booking-proposal-hero {
        grid-template-columns: 1fr;
    }

    .booking-proposal-hero__badge {
        width: 46px;
        height: 46px;
        border-radius: 18px;
    }

    .booking-proposal-date-card,
    .booking-proposal-summary,
    .booking-proposal-actions {
        grid-template-columns: 1fr;
    }

    .booking-proposal-date-card > div {
        min-height: auto;
        padding: 10px;
    }

    .booking-proposal-summary > div {
        padding: 13px 14px;
    }

    .booking-proposal-actions {
        gap: 12px;
    }

    .booking-proposal-actions--single,
    .booking-proposal-actions form,
    .booking-proposal-actions .booking-button {
        width: 100%;
    }
}

#booking-waiting-list-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    width: auto;
    max-width: 100%;
    min-height: 100dvh;
    padding: clamp(18px, 4vh, 38px) 18px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    overflow-x: hidden;
    overflow-y: hidden;
}

#booking-waiting-list-modal,
#booking-waiting-list-modal *,
#booking-waiting-list-modal *::before,
#booking-waiting-list-modal *::after {
    box-sizing: border-box;
}

#booking-waiting-list-modal[aria-hidden="false"] {
    display: flex;
}

#booking-waiting-list-modal[aria-hidden="true"] {
    display: none;
}

#booking-waiting-list-modal .booking-modal__backdrop {
    position: absolute;
    inset: 0;
}

#booking-waiting-list-modal .booking-modal__sheet--waiting-list {
    position: relative;
    inset: auto;
    width: min(760px, 100%);
    max-width: min(760px, calc(100vw - 36px));
    max-height: min(720px, calc(100dvh - 76px));
    min-height: 0;
    margin: 0 auto;
    padding: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 26px;
    border: 1px solid color-mix(in srgb, var(--booking-line-theme, #ead9d8) 28%, rgba(15, 23, 42, .08));
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 32px 90px rgba(15, 23, 42, .24);
    transform: none;
}

#booking-waiting-list-modal .booking-modal__header {
    flex: 0 0 auto;
    padding: 18px 18px 12px;
    border-bottom: 1px solid rgba(15, 23, 42, .06);
    background: linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, color-mix(in srgb, var(--booking-surface-2, #fffaf8) 72%, #fff) 100%);
}

#booking-waiting-list-modal .booking-waiting-list-form {
    flex: 1 1 auto;
    width: 100%;
    max-width: 100%;
    min-height: 0;
    display: grid;
    gap: 16px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 16px 18px 18px;
    scrollbar-gutter: stable;
}

#booking-waiting-list-modal .booking-waiting-list-form::-webkit-scrollbar {
    width: 8px;
}

#booking-waiting-list-modal .booking-waiting-list-form::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(100, 116, 139, .32);
}

#booking-waiting-list-modal .booking-modal__sheet--waiting-list,
#booking-waiting-list-modal .booking-waiting-list-form,
#booking-waiting-list-modal .booking-waiting-list-summary,
#booking-waiting-list-modal .booking-waiting-list-grid,
#booking-waiting-list-modal .booking-field--compact,
#booking-waiting-list-modal .booking-waiting-list-summary > div,
#booking-waiting-list-modal .booking-waiting-list-cta__check {
    min-width: 0;
    max-width: 100%;
}

#booking-waiting-list-modal .booking-waiting-list-cta__check[hidden],
#booking-waiting-list-modal .booking-waiting-list-cta__check.is-hidden {
    display: none;
}

.booking-waiting-list-preferred {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(15, 23, 42, .07);
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--booking-accent, #fff1f2) 46%, transparent) 0%, transparent 44%),
        linear-gradient(180deg, rgba(255, 255, 255, .96), color-mix(in srgb, var(--booking-surface-2, #fffaf8) 78%, #ffffff));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .82), 0 12px 34px rgba(15, 23, 42, .045);
}


.booking-waiting-list-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.booking-waiting-list-summary > div {
    padding: 12px 14px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 18px;
    background: color-mix(in srgb, var(--booking-surface-2, #fffaf8) 86%, #ffffff);
}

.booking-waiting-list-summary span,
.booking-field--compact > span {
    display: block;
    margin-bottom: 6px;
    color: rgba(15, 23, 42, .58);
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.booking-waiting-list-summary strong {
    display: block;
    color: #0f172a;
    font-size: .96rem;
    line-height: 1.35;
}

.booking-waiting-list-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.booking-waiting-list-grid--date-time {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .95fr) minmax(0, .95fr);
}

.booking-field--compact,
.booking-waiting-list-cta__check {
    position: relative;
}

.booking-field--compact input,
.booking-field--compact textarea,
.booking-field--compact select {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 46px;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 14px;
    background: rgba(255, 255, 255, .98);
    color: #0f172a;
    box-shadow: 0 1px 0 rgba(15, 23, 42, .02);
    font: inherit;
    font-weight: 800;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.booking-field--compact input,
.booking-field--compact select {
    padding: 0 13px;
}

.booking-field--compact select {
    padding-right: 36px;
    cursor: pointer;
    appearance: auto;
}

.booking-field--compact textarea {
    min-height: 92px;
    padding: 12px 13px;
    resize: vertical;
}

.booking-field--compact input:focus,
.booking-field--compact textarea:focus,
.booking-field--compact select:focus {
    outline: none;
    border-color: color-mix(in srgb, var(--booking-accent-deep, #d96f86) 48%, #ffffff);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--booking-accent-deep, #d96f86) 12%, transparent);
}

.booking-field--compact small,
.booking-field__hint {
    color: rgba(15, 23, 42, .50);
    font-size: .72rem;
    font-weight: 750;
    line-height: 1.35;
    text-transform: none;
    letter-spacing: 0;
}

.booking-field__hint {
    display: block;
    margin-top: 6px;
}

.booking-field--compact.is-invalid input,
.booking-field--compact.is-invalid select,
.booking-field--compact.is-invalid textarea,
.booking-waiting-list-cta__check.is-invalid {
    border-color: rgba(220, 38, 38, .50);
    background: rgba(254, 242, 242, .76);
    box-shadow: 0 0 0 4px rgba(220, 38, 38, .08);
}

.booking-field--compact.is-checking input,
.booking-field--compact.is-checking select,
.booking-field--compact.is-checking textarea {
    border-color: rgba(217, 111, 134, .42);
    background: rgba(239, 246, 255, .76);
    box-shadow: 0 0 0 4px rgba(217, 111, 134, .08);
}

.booking-field__bubble {
    display: block;
    width: 100%;
    margin-top: 8px;
    padding: 9px 11px;
    border: 1px solid rgba(220, 38, 38, .18);
    border-radius: 13px;
    background: #fff7f7;
    color: #991b1b;
    box-shadow: 0 12px 28px rgba(153, 27, 27, .10);
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -.01em;
}

.booking-field__bubble--info {
    border-color: rgba(217, 111, 134, .18);
    background: #eff6ff;
    color: var(--booking-accent-deep);
    box-shadow: 0 12px 28px rgba(217, 111, 134, .09);
}

.booking-waiting-toast {
    margin: 0 18px;
    padding: 10px 12px;
    border: 1px solid rgba(220, 38, 38, .18);
    border-radius: 16px;
    background: rgba(255, 247, 247, .98);
    color: #991b1b;
    box-shadow: 0 14px 34px rgba(153, 27, 27, .12);
    font-size: .82rem;
    font-weight: 850;
    line-height: 1.35;
    letter-spacing: -.01em;
}

.booking-waiting-toast[hidden] {
    display: none;
}

.booking-waiting-toast--info {
    border-color: rgba(217, 111, 134, .18);
    background: rgba(239, 246, 255, .98);
    color: var(--booking-accent-deep);
    box-shadow: 0 14px 34px rgba(217, 111, 134, .10);
}

.booking-waiting-list-cta__check {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 11px 12px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 16px;
    background: rgba(248, 250, 252, .9);
    color: rgba(15, 23, 42, .72);
    font-size: .72rem;
    line-height: 1.45;
}

.booking-waiting-list-cta__check input {
    margin-top: .2rem;
    flex: 0 0 auto;
}

.booking-inline-status[data-booking-waiting-list-error] {
    display: none;
}

#booking-waiting-list-modal .booking-modal__actions--waiting-list {
    flex: 0 0 auto;
    position: relative;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    padding: 14px 18px 18px;
    border-top: 1px solid rgba(15, 23, 42, .08);
    background: linear-gradient(180deg, rgba(255, 255, 255, .92) 0%, #ffffff 100%);
    box-shadow: 0 -18px 40px rgba(15, 23, 42, .06);
}

#booking-waiting-list-modal .booking-button-secondary--waiting-back,
#booking-waiting-list-modal .booking-button-primary--waiting-submit {
    min-height: 44px;
    min-width: 148px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 16px;
    border-radius: 16px;
    font-family: var(--booking-font-body, Manrope, Inter, Arial, sans-serif);
    font-size: .72rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.01em;
    white-space: nowrap;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, opacity .18s ease, filter .18s ease;
}

#booking-waiting-list-modal .booking-button-secondary--waiting-back {
    border: 1px solid color-mix(in srgb, var(--booking-accent-deep, #d96f86) 24%, #ffffff);
    background: linear-gradient(180deg, #ffffff 0%, color-mix(in srgb, var(--booking-accent, #fff1f2) 76%, #ffffff) 100%);
    color: color-mix(in srgb, var(--booking-primary, #0f172a) 82%, #475569);
    box-shadow: 0 10px 22px color-mix(in srgb, var(--booking-accent-deep, #d96f86) 8%, transparent);
}

#booking-waiting-list-modal .booking-button-primary--waiting-submit {
    border: 1px solid color-mix(in srgb, var(--booking-accent-deep, #d96f86) 50%, #ffffff);
    background: linear-gradient(135deg, var(--booking-primary, #0f172a) 0%, var(--booking-primary-2, #334155) 52%, var(--booking-accent-deep, #d96f86) 100%);
    color: #ffffff;
    box-shadow: 0 18px 38px color-mix(in srgb, var(--booking-accent-deep, #d96f86) 24%, transparent);
}

#booking-waiting-list-modal .booking-button-secondary--waiting-back:hover,
#booking-waiting-list-modal .booking-button-primary--waiting-submit:hover {
    transform: translateY(-1px);
}

#booking-waiting-list-modal .booking-button-secondary--waiting-back:focus-visible,
#booking-waiting-list-modal .booking-button-primary--waiting-submit:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--booking-accent-deep, #d96f86) 18%, transparent);
}

#booking-waiting-list-modal .booking-button-primary--waiting-submit:disabled,
#booking-waiting-list-modal .booking-button-primary--waiting-submit.is-disabled {
    opacity: .58;
    cursor: not-allowed;
    transform: none;
    filter: grayscale(.18);
    box-shadow: none;
}

@media (max-width: 720px) {
    .booking-button-secondary--waiting {
        width: 100%;
        justify-self: stretch;
    }

    .booking-public--proposal {
        width: min(100% - 20px, 760px);
        margin-top: 18px;
    }

    .booking-proposal-card {
        border-radius: 22px;
        padding: 22px;
    }

    .booking-proposal-summary > div {
        display: block;
    }

    .booking-proposal-summary dd {
        text-align: left;
        margin-top: 4px;
    }

    .booking-proposal-actions {
        align-items: stretch;
    }

    .booking-proposal-actions form,
    .booking-proposal-actions .booking-button {
        width: 100%;
    }

    #booking-waiting-list-modal {
        padding: 10px 8px;
        padding-top: max(10px, env(safe-area-inset-top));
        padding-right: max(8px, env(safe-area-inset-right));
        padding-bottom: max(10px, env(safe-area-inset-bottom));
        padding-left: max(8px, env(safe-area-inset-left));
    }

    #booking-waiting-list-modal .booking-modal__sheet--waiting-list {
        width: 100%;
        max-width: min(100%, calc(100vw - 16px));
        max-height: calc(100dvh - 20px);
        border-radius: 22px;
    }

    #booking-waiting-list-modal .booking-modal__header {
        padding: 16px 16px 11px;
    }

    #booking-waiting-list-modal .booking-waiting-list-form {
        padding: 12px;
        gap: 12px;
        scrollbar-gutter: auto;
    }

    .booking-waiting-list-summary,
    .booking-waiting-list-grid,
    .booking-waiting-list-grid--date-time {
        grid-template-columns: 1fr;
    }

    #booking-waiting-list-modal .booking-modal__actions--waiting-list {
        padding: 12px 16px 16px;
        flex-direction: column-reverse;
        align-items: stretch;
    }

    #booking-waiting-list-modal .booking-button-secondary--waiting-back,
    #booking-waiting-list-modal .booking-button-primary--waiting-submit {
        width: 100%;
        min-width: 0;
    }
}

@media (max-height: 680px) and (min-width: 721px) {
    #booking-waiting-list-modal {
        padding-top: 16px;
        padding-bottom: 16px;
    }

    #booking-waiting-list-modal .booking-modal__sheet--waiting-list {
        max-height: calc(100dvh - 32px);
    }
}

@media (max-width: 380px) {
    #booking-waiting-list-modal .booking-modal__header,
    #booking-waiting-list-modal .booking-modal__actions--waiting-list {
        padding-left: 12px;
        padding-right: 12px;
    }

    #booking-waiting-list-modal .booking-modal__sheet--waiting-list {
        border-radius: 18px;
    }
}

/* Waiting list modal controls: true centered values on iOS/Android */
#booking-waiting-list-modal .booking-field--preferred-date input[type="date"],
#booking-waiting-list-modal .booking-field--time-select select {
    min-height: 52px;
    border-radius: 17px;
    text-align: center;
    text-align-last: center;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: -.02em;
}

#booking-waiting-list-modal .booking-date-control {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

#booking-waiting-list-modal .booking-date-control__placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-inline: 42px;
    color: rgba(15, 23, 42, .88);
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: -.02em;
    line-height: 1;
    pointer-events: none;
    user-select: none;
}

#booking-waiting-list-modal .booking-date-control__placeholder[hidden] {
    display: none;
}

#booking-waiting-list-modal .booking-date-control.is-empty input[type="date"] {
    color: transparent;
}

#booking-waiting-list-modal .booking-date-control.is-empty input[type="date"]::-webkit-datetime-edit,
#booking-waiting-list-modal .booking-date-control.is-empty input[type="date"]::-webkit-datetime-edit-fields-wrapper,
#booking-waiting-list-modal .booking-date-control.is-empty input[type="date"]::-webkit-datetime-edit-text,
#booking-waiting-list-modal .booking-date-control.is-empty input[type="date"]::-webkit-datetime-edit-day-field,
#booking-waiting-list-modal .booking-date-control.is-empty input[type="date"]::-webkit-datetime-edit-month-field,
#booking-waiting-list-modal .booking-date-control.is-empty input[type="date"]::-webkit-datetime-edit-year-field {
    color: transparent;
}


#booking-waiting-list-modal .booking-field--preferred-date input[type="date"] {
    display: block;
    inline-size: 100%;
    max-inline-size: 100%;
    min-inline-size: 0;
    padding-inline: 42px;
    overflow: hidden;
    text-overflow: clip;
    -webkit-appearance: none;
    appearance: none;
}

#booking-waiting-list-modal .booking-field--preferred-date input[type="date"]::-webkit-date-and-time-value {
    display: block;
    width: 100%;
    min-inline-size: 0;
    margin: 0 auto;
    text-align: center;
}

#booking-waiting-list-modal .booking-field--preferred-date input[type="date"]::-webkit-calendar-picker-indicator {
    margin: 0;
    opacity: .52;
}

#booking-waiting-list-modal .booking-field--time-select select {
    padding-inline: 26px;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23111827' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px 16px;
}

#booking-waiting-list-modal .booking-field--time-select select option {
    text-align: center;
}

@media (max-width: 720px) {
    #booking-waiting-list-modal .booking-waiting-list-grid--date-time {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    #booking-waiting-list-modal .booking-field--preferred-date {
        grid-column: 1 / -1;
    }

    #booking-waiting-list-modal .booking-waiting-list-grid--date-time .booking-field--compact {
        overflow: hidden;
    }

    #booking-waiting-list-modal .booking-field--preferred-date input[type="date"],
    #booking-waiting-list-modal .booking-field--time-select select {
        min-height: 50px;
        font-size: 16px;
    }

    #booking-waiting-list-modal .booking-field--preferred-date input[type="date"],
    #booking-waiting-list-modal .booking-date-control__placeholder {
        padding-inline: 38px;
    }

    #booking-waiting-list-modal .booking-field--time-select select {
        padding-inline: 24px;
        background-position: right 11px center;
        background-size: 15px 15px;
    }

    #booking-waiting-list-modal .booking-waiting-list-form {
        max-inline-size: 100%;
        overflow-x: clip;
    }
}

@media (max-width: 360px) {
    #booking-waiting-list-modal .booking-waiting-list-grid--date-time {
        grid-template-columns: 1fr;
    }
}

/* Waiting list preference mode: concrete day vs any day */
#booking-waiting-list-modal .booking-waiting-date-mode {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 10px;
}

#booking-waiting-list-modal .booking-waiting-date-mode__option {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border: 1px solid rgba(139, 92, 246, .16);
    border-radius: 16px;
    background: rgba(255, 255, 255, .86);
    color: var(--booking-muted, #6b6573);
    font-size: .72rem;
    font-weight: 850;
    line-height: 1.1;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}

#booking-waiting-list-modal .booking-waiting-date-mode__option:hover {
    border-color: rgba(139, 92, 246, .28);
    background: rgba(250, 247, 255, .94);
    color: var(--booking-text, #111827);
}

#booking-waiting-list-modal .booking-waiting-date-mode__option.is-active {
    border-color: rgba(139, 92, 246, .34);
    background: linear-gradient(135deg, rgba(139, 92, 246, .14), rgba(236, 72, 153, .10));
    color: var(--booking-primary, #2d2025);
    box-shadow: 0 10px 24px rgba(139, 92, 246, .10);
}

#booking-waiting-list-modal .booking-waiting-date-mode__option input {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    opacity: 0;
    pointer-events: none;
}

#booking-waiting-list-modal .booking-field--preferred-date[hidden],
#booking-waiting-list-modal .booking-field--preferred-date.is-hidden {
    display: none;
}

#booking-waiting-list-modal .booking-waiting-list-grid--date-time:has(.booking-field--preferred-date[hidden]),
#booking-waiting-list-modal .booking-waiting-list-grid--date-time:has(.booking-field--preferred-date.is-hidden) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 620px) {
    #booking-waiting-list-modal .booking-waiting-date-mode {
        grid-template-columns: 1fr 1fr;
        gap: 7px;
    }

    #booking-waiting-list-modal .booking-waiting-date-mode__option {
        min-height: 42px;
        border-radius: 15px;
        font-size: .8rem;
        padding-inline: 8px;
    }
}

/* Public booking multi-service visit selector */
.booking-multi-services{
    margin-top:18px;
    padding:16px;
    border:1px solid var(--booking-line, rgba(148,163,184,.35));
    border-radius:22px;
    background:linear-gradient(180deg, rgba(255,255,255,.92), color-mix(in srgb, var(--booking-surface-3, #f8fafc) 72%, #fff));
}
.booking-multi-services.is-disabled{
    opacity:.64;
}
.booking-multi-services__head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:12px;
}
.booking-multi-services__head h4{
    margin:0;
    font-size:1rem;
    line-height:1.25;
    color:var(--booking-text, #0f172a);
}
.booking-multi-services__head p{
    margin:4px 0 0;
    max-width:620px;
    font-size:.9rem;
    line-height:1.45;
    color:var(--booking-muted, #64748b);
}
.booking-multi-services__summary{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:6px 10px;
    border-radius:999px;
    background:color-mix(in srgb, var(--booking-accent, #fff1f2) 86%, #fff);
    color:var(--booking-primary, #0f172a);
    font-size:.78rem;
    font-weight:800;
    white-space:nowrap;
}
.booking-multi-services__grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
}
.booking-multi-service-choice{
    position:relative;
    display:flex;
    align-items:flex-start;
    gap:10px;
    min-height:64px;
    padding:12px 14px;
    border:1px solid var(--booking-line, rgba(148,163,184,.35));
    border-radius:18px;
    background:rgba(255,255,255,.88);
    cursor:pointer;
    transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease, opacity .18s ease, background .18s ease;
}
.booking-multi-service-choice:hover{
    border-color:color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 86%, var(--booking-line, rgba(148,163,184,.35)));
    box-shadow:0 12px 24px color-mix(in srgb, var(--booking-accent-deep, #d96f86) 10%, transparent);
    transform:translateY(-1px);
}
.booking-multi-service-choice.is-active{
    border-color:color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 95%, var(--booking-line, rgba(148,163,184,.35)));
    background:linear-gradient(180deg, color-mix(in srgb, #fff 78%, var(--booking-accent, #fff1f2)), color-mix(in srgb, var(--booking-accent, #fff1f2) 70%, #fff));
    box-shadow:0 16px 30px color-mix(in srgb, var(--booking-accent-deep, #d96f86) 12%, transparent);
}
.booking-multi-service-choice.is-disabled{
    opacity:.48;
    cursor:not-allowed;
    transform:none;
    box-shadow:none;
}
.booking-multi-service-choice input{
    width:18px;
    height:18px;
    margin:2px 0 0;
    accent-color:var(--booking-accent-deep, #d96f86);
}
.booking-multi-service-choice strong{
    display:block;
    color:var(--booking-text, #0f172a);
    font-size:.92rem;
    line-height:1.35;
}
.booking-multi-service-choice small{
    display:block;
    margin-top:3px;
    color:var(--booking-muted, #64748b);
    font-size:.8rem;
    line-height:1.35;
}
.booking-modal__actions--service-step{
    margin-top:16px;
}
@media (max-width:767px){
    .booking-multi-services{
        padding:14px;
        border-radius:20px;
    }
    .booking-multi-services__head{
        display:grid;
        gap:10px;
    }
    .booking-multi-services__summary{
        justify-self:start;
    }
    .booking-multi-services__grid{
        grid-template-columns:1fr;
    }
}


/* Public booking: multi-service selection directly on service cards */
.booking-service-card.is-extra-active{
    border-color:color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 76%, var(--booking-line, rgba(148,163,184,.35)));
    background:linear-gradient(180deg, color-mix(in srgb, #fff 84%, var(--booking-accent, #fff1f2)), color-mix(in srgb, var(--booking-accent, #fff1f2) 48%, #fff));
    box-shadow:0 12px 24px color-mix(in srgb, var(--booking-accent-deep, #d96f86) 9%, transparent);
}
.booking-service-card.is-extra-active::before{
    content:"+";
    color:#fff;
    background:linear-gradient(180deg, var(--booking-accent-strong, #ffd8df) 0%, var(--booking-accent-deep, #d96f86) 100%);
    border-color:transparent;
    opacity:1;
    transform:scale(1);
}
.booking-service-card.is-active::before{
    content:"✓";
}
.booking-service-card.is-selected .booking-service-card__meta{
    color:color-mix(in srgb, var(--booking-text, #0f172a) 72%, var(--booking-muted, #64748b));
}

.booking-hero__client-account {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 12px;
}

.booking-hero__client-account a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  border-radius: 999px;
  padding: 0 14px;
  background: rgba(255, 255, 255, .78);
  color: #7a5148;
  box-shadow: inset 0 0 0 1px rgba(122, 81, 72, .14);
  font-size: .9rem;
  font-weight: 900;
  text-decoration: none;
}

/* Client account booking prefill */
.booking-contact-prefill{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 14px;
    padding:12px 14px;
    border:1px solid rgba(220, 120, 145, .22);
    border-radius:18px;
    background:linear-gradient(135deg, rgba(255, 247, 250, .96) 0%, rgba(255, 255, 255, .96) 100%);
    color:var(--booking-muted,#64748b);
    font-size:.91rem;
    line-height:1.5;
}
.booking-contact-prefill__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 26px;
    width:26px;
    height:26px;
    border-radius:999px;
    background:rgba(220, 72, 105, .12);
    color:var(--booking-accent-deep,#db2777);
    font-weight:900;
    box-shadow:0 8px 18px rgba(220, 72, 105, .12);
}
@media (max-width:640px){
    .booking-contact-prefill{
        align-items:flex-start;
        text-align:left;
    }
}


/* Public booking layout stability: prevent mobile/desktop width flash before JS finishes */
.public-booking-shell,
.public-booking-layout,
.public-booking-layout__main,
.booking-page,
.booking-shell{
    max-width:100%;
    box-sizing:border-box;
}
.public-booking-shell,
.public-booking-layout,
.public-booking-layout__main{
    overflow-x:clip;
}
.booking-card--flow-entry,
.booking-working-hours,
.booking-service-grid,
.booking-specialist-grid,
.booking-service-card,
.booking-specialist-card{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
}
.booking-card--flow-entry,
.booking-working-hours{
    width:100%;
}
.booking-service-card > *,
.booking-specialist-card > *,
.booking-working-hours > *,
.booking-working-hours__days{
    min-width:0;
    max-width:100%;
}
.booking-service-card__actions{
    min-width:0;
    max-width:100%;
    overflow:hidden;
}
.booking-service-card__primary-action,
.booking-service-card__extra-action{
    min-width:0;
    max-width:100%;
    white-space:normal;
    text-align:center;
}

/* Public booking cosmetics: discreet working hours, clearer service actions and single-specialist flow */
.booking-working-hours{
    max-width:640px;
    margin:0 auto 14px;
    padding:12px 14px;
    border:1px solid rgba(154, 118, 96, .16);
    border-radius:18px;
    background:linear-gradient(135deg, rgba(255,255,255,.78), rgba(255,248,245,.62));
    box-shadow:0 16px 34px rgba(122,81,72,.07);
    color:var(--booking-text,#251916);
}
.booking-working-hours__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
    font-size:.82rem;
    color:var(--booking-muted,#725e58);
}
.booking-working-hours__head strong{
    color:var(--booking-text,#251916);
    font-weight:900;
}
.booking-working-hours__days{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:7px;
}
.booking-working-hours__day{
    min-width:0;
    padding:8px 7px;
    border:1px solid rgba(154,118,96,.14);
    border-radius:13px;
    background:rgba(255,255,255,.72);
    text-align:center;
}
.booking-working-hours__day span,
.booking-working-hours__day strong{
    display:block;
}
.booking-working-hours__day span{
    margin-bottom:3px;
    color:var(--booking-muted,#725e58);
    font-size:.75rem;
    font-weight:800;
    letter-spacing:.02em;
}
.booking-working-hours__day strong{
    color:var(--booking-text,#251916);
    font-size:.78rem;
    line-height:1.25;
    font-weight:900;
}
.booking-working-hours__day.is-closed{
    opacity:.62;
    background:rgba(255,255,255,.46);
}
.booking-service-card__actions{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:10px;
}
.booking-service-card__primary-action,
.booking-service-card__extra-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:5px 10px;
    border-radius:999px;
    font-size:.78rem;
    font-weight:900;
    line-height:1;
    border:1px solid rgba(154,118,96,.16);
    background:rgba(255,255,255,.72);
    color:var(--booking-text,#251916);
}
.booking-service-card__extra-action{
    background:color-mix(in srgb, var(--booking-accent,#f6d6df) 38%, #fff);
    color:var(--booking-accent-deep,#a84661);
    border-color:color-mix(in srgb, var(--booking-accent-deep,#a84661) 20%, transparent);
}
[data-booking-specialist-overview][hidden],
[data-booking-specialist-summary][hidden],
[data-booking-specialist-action][hidden],
.booking-service-card__extra-action[hidden]{
    display:none;
}
@media (max-width:767px){
    .booking-working-hours{
        margin-left:0;
        margin-right:0;
        padding:11px 12px;
        border-radius:16px;
    }
    .booking-working-hours__head{
        align-items:flex-start;
        flex-direction:column;
        gap:2px;
    }
    .booking-working-hours__days{
        display:flex;
        gap:8px;
        overflow-x:auto;
        max-width:100%;
        min-width:0;
        padding-bottom:2px;
        scroll-snap-type:x proximity;
        overscroll-behavior-x:contain;
        -webkit-overflow-scrolling:touch;
    }
    .booking-working-hours__day{
        flex:0 0 86px;
        scroll-snap-align:start;
    }
    .booking-service-card__actions{
        gap:6px;
    }
    .booking-service-card__primary-action,
    .booking-service-card__extra-action{
        min-height:30px;
        padding:6px 10px;
        font-size:.76rem;
    }
}

/* Opcjonalne korzyści w podsumowaniu rezerwacji: kod/voucher i punkty. */
.booking-benefits {
    margin: 14px 0 16px;
    border: 1px solid rgba(45, 32, 37, 0.1);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 12px 30px rgba(45, 32, 37, 0.05);
}

.booking-benefits[open] {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(255, 248, 246, 0.76));
}

.booking-benefits__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 58px;
    padding: 12px 14px;
    color: var(--booking-primary, #2d2025);
    cursor: pointer;
    list-style: none;
}

.booking-benefits__summary::-webkit-details-marker {
    display: none;
}

.booking-benefits__summary span,
.booking-benefits__summary strong,
.booking-benefits__summary small {
    display: block;
}

.booking-benefits__summary strong {
    font-size: 0.94rem;
    letter-spacing: -0.01em;
}

.booking-benefits__summary small {
    margin-top: 3px;
    color: rgba(45, 32, 37, 0.58);
    font-size: 0.82rem;
    font-weight: 650;
    line-height: 1.35;
}

.booking-benefits__summary em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(45, 32, 37, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.8);
    color: var(--booking-accent-deep, #b7576f);
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    transition: transform 0.18s ease, background 0.18s ease;
}

.booking-benefits[open] .booking-benefits__summary em {
    transform: rotate(45deg);
    background: rgba(255, 255, 255, 0.94);
}

.booking-benefits__content {
    display: grid;
    gap: 12px;
    padding: 0 14px 14px;
}

.booking-marketing-code,
.booking-loyalty-redeem {
    border: 1px solid rgba(45, 32, 37, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.74);
}

.booking-marketing-code {
    padding: 12px;
}

.booking-marketing-code__label {
    display: block;
    margin-bottom: 8px;
    color: var(--booking-primary, #2d2025);
    font-size: 0.85rem;
    font-weight: 800;
}

.booking-marketing-code__controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.booking-marketing-code__controls input {
    width: 100%;
    min-height: 44px;
    border: 1px solid rgba(45, 32, 37, 0.12);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--booking-primary, #2d2025);
    font: inherit;
    font-weight: 750;
    letter-spacing: 0.06em;
    padding: 0 13px;
    text-transform: uppercase;
}

.booking-marketing-code__controls input:focus-visible {
    outline: 3px solid rgba(217, 111, 134, 0.22);
    outline-offset: 2px;
    border-color: rgba(217, 111, 134, 0.5);
}

.booking-marketing-code__message {
    margin: 6px 0 0;
    color: rgba(45, 32, 37, 0.66);
    font-size: 0.84rem;
    line-height: 1.42;
}

.booking-marketing-code__message[data-tone="success"] {
    color: #166534;
}

.booking-marketing-code__message[data-tone="error"] {
    color: #b42318;
}

.booking-marketing-code__message[data-tone="warning"] {
    color: #92400e;
}

@media (max-width: 640px) {
    .booking-benefits__summary {
        align-items: flex-start;
    }

    .booking-marketing-code__controls {
        grid-template-columns: 1fr;
    }

    .booking-marketing-code__controls .booking-button-secondary {
        width: 100%;
        justify-content: center;
    }
}

.booking-success__note--marketing {
    border-color: rgba(22, 101, 52, 0.18);
    background: rgba(240, 253, 244, 0.86);
    color: #14532d;
}

@media (max-width: 640px) {
    .booking-marketing-code {
        border-radius: 18px;
        padding: 14px;
    }

    .booking-marketing-code__controls {
        grid-template-columns: 1fr;
    }

    .booking-marketing-code__controls .booking-button-secondary {
        width: 100%;
        justify-content: center;
    }
}

/* Punkty lojalnościowe wewnątrz opcjonalnych korzyści. */
.booking-loyalty-redeem {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
}

.booking-loyalty-redeem__content strong,
.booking-loyalty-redeem__content span,
.booking-loyalty-redeem__content small {
    display: block;
}

.booking-loyalty-redeem__content strong {
    color: var(--booking-primary, #2d2025);
    font-size: 0.9rem;
    letter-spacing: -0.01em;
}

.booking-loyalty-redeem__content span {
    margin-top: 3px;
    color: rgba(45, 32, 37, 0.62);
    font-size: 0.82rem;
    line-height: 1.42;
}

.booking-loyalty-redeem__content small {
    margin-top: 6px;
    color: rgba(45, 32, 37, 0.62);
    font-size: 0.78rem;
    line-height: 1.36;
}

.booking-loyalty-redeem__content small[data-tone="success"] {
    color: #166534;
}

.booking-loyalty-redeem__content small[data-tone="warning"] {
    color: #92400e;
}

.booking-loyalty-redeem__content small[data-tone="error"] {
    color: #b42318;
}

.booking-loyalty-redeem__switch {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 13px;
    border: 1px solid rgba(45, 32, 37, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.86);
    color: var(--booking-primary, #2d2025);
    font-size: 0.82rem;
    font-weight: 780;
    cursor: pointer;
    user-select: none;
}

.booking-loyalty-redeem__switch input {
    width: 17px;
    height: 17px;
    accent-color: var(--booking-accent, #d96f86);
}

@media (max-width: 720px) {
    .booking-loyalty-redeem {
        grid-template-columns: minmax(0, 1fr);
    }

    .booking-loyalty-redeem__switch {
        justify-content: center;
        width: 100%;
    }
}
/* Wejście z kampanii lojalnościowej: dyskretny kontekst punktów bez automatycznego użycia nagrody. */
.booking-campaign-entry {
    margin: 10px 0 16px;
    padding: 14px 16px;
    border: 1px solid rgba(183, 87, 111, 0.18);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(255, 246, 249, 0.96), rgba(255, 255, 255, 0.78));
    box-shadow: 0 14px 32px rgba(96, 55, 67, 0.08);
    color: var(--booking-primary, #2d2025);
}

.booking-campaign-entry strong,
.booking-campaign-entry span {
    display: block;
}

.booking-campaign-entry strong {
    font-size: 0.96rem;
    letter-spacing: -0.01em;
}

.booking-campaign-entry span {
    margin-top: 5px;
    color: rgba(45, 32, 37, 0.68);
    font-size: 0.86rem;
    font-weight: 650;
    line-height: 1.45;
}

@media (max-width: 640px) {
    .booking-campaign-entry {
        margin: 8px 0 14px;
        padding: 12px 13px;
        border-radius: 16px;
    }
}

/* Workspace gateway for public booking routing — premium modal gateway, mobile first. */
.public-booking-shell--workspace-choice {
  min-height: 100dvh;
  background:
    radial-gradient(circle at 12% 6%, rgba(255, 211, 222, .52), transparent 31%),
    radial-gradient(circle at 92% 10%, rgba(217, 111, 134, .20), transparent 33%),
    radial-gradient(circle at 54% 108%, rgba(255, 255, 255, .92), transparent 48%),
    linear-gradient(180deg, var(--booking-surface-3, #fff4f1) 0%, var(--booking-bg, #fff8f6) 54%, #fff 100%);
}

.public-booking-shell--workspace-choice .public-booking-layout {
  min-height: 100dvh;
  padding: max(10px, env(safe-area-inset-top)) 0 max(22px, env(safe-area-inset-bottom));
}

.booking-workspace-modal-open {
  overflow: hidden;
}

.booking-workspace-gateway {
  width: min(100%, 1140px);
  margin: 0 auto;
  padding: 0 clamp(10px, 4vw, 34px) 24px;
  color: var(--booking-text, #2d2025);
  font-family: var(--booking-font-body, "Manrope", Inter, Arial, sans-serif);
}

.booking-workspace-gateway__shell {
  display: grid;
  gap: 14px;
}

.booking-workspace-gateway__hero {
  position: relative;
  display: grid;
  gap: clamp(18px, 5vw, 26px);
  min-height: min(680px, calc(100dvh - 32px));
  align-content: center;
  padding: clamp(22px, 7vw, 58px);
  border: 1px solid color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 30%, transparent);
  border-radius: clamp(28px, 7vw, 48px);
  background:
    linear-gradient(138deg, rgba(255,255,255,.94), rgba(255,248,246,.78) 58%, rgba(255,244,241,.90)),
    radial-gradient(circle at 85% 16%, color-mix(in srgb, var(--booking-accent-strong, #ffd8df) 52%, transparent), transparent 35%),
    radial-gradient(circle at 14% 90%, rgba(255,255,255,.86), transparent 36%);
  box-shadow: 0 28px 86px rgba(111, 72, 82, .14);
  overflow: hidden;
  isolation: isolate;
}

.booking-workspace-gateway__hero::before,
.booking-workspace-gateway__hero::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.booking-workspace-gateway__hero::before {
  width: min(78vw, 470px);
  height: min(78vw, 470px);
  right: max(-190px, -16vw);
  top: max(-190px, -16vw);
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 32%, transparent);
  box-shadow:
    inset 0 0 0 22px rgba(255,255,255,.20),
    0 0 0 1px rgba(255,255,255,.48);
}

.booking-workspace-gateway__hero::after {
  inset: 18px;
  border-radius: inherit;
  background:
    linear-gradient(115deg, transparent 0 30%, color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 28%, transparent) 30.15%, transparent 30.5% 100%),
    linear-gradient(150deg, transparent 0 70%, color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 22%, transparent) 70.15%, transparent 70.5% 100%);
  opacity: .62;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.72), rgba(0,0,0,.06));
}

.booking-workspace-gateway__content,
.booking-workspace-gateway__showcase {
  position: relative;
  z-index: 1;
}

.booking-workspace-gateway__content {
  display: grid;
  gap: 13px;
  max-width: 760px;
  margin-inline: auto;
  justify-items: center;
  text-align: center;
}

.booking-workspace-gateway__eyebrow,
.booking-workspace-modal__eyebrow {
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 26%, transparent);
  border-radius: 999px;
  background: rgba(255,255,255,.58);
  color: var(--booking-primary-2, #6f4852);
  font-size: .58rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
  box-shadow: 0 10px 24px rgba(111,72,82,.06);
}

.booking-workspace-gateway h1 {
  max-width: 840px;
  margin: 0;
  color: var(--booking-text, #2d2025);
  font-family: var(--booking-font-heading, "Playfair Display", Georgia, serif);
  font-size: clamp(2.18rem, 10vw, 4.8rem);
  font-weight: 880;
  letter-spacing: -.067em;
  line-height: .91;
}

.booking-workspace-gateway__content p {
  max-width: 650px;
  margin: 0 auto;
  color: color-mix(in srgb, var(--booking-text, #2d2025) 70%, #fff);
  font-size: clamp(1rem, 3.7vw, 1.15rem);
  font-weight: 680;
  line-height: 1.55;
}

.booking-workspace-gateway__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
}

.booking-workspace-gateway__cta,
.booking-workspace-gateway__account {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 950;
  letter-spacing: -.012em;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.booking-workspace-gateway__cta {
  position: relative;
  gap: 10px;
  padding: 14px 24px;
  border: 0;
  background: linear-gradient(135deg, var(--booking-primary, #2d2025), var(--booking-primary-2, #6f4852));
  color: #fff;
  box-shadow: 0 18px 44px color-mix(in srgb, var(--booking-primary, #2d2025) 20%, transparent);
  cursor: pointer;
  overflow: hidden;
}

.booking-workspace-gateway__cta::after {
  content: "";
  position: absolute;
  inset: -40% auto -40% -45%;
  width: 42%;
  transform: rotate(18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
  transition: left .55s ease;
}

.booking-workspace-gateway__cta:hover,
.booking-workspace-gateway__cta:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 23px 54px color-mix(in srgb, var(--booking-primary, #2d2025) 25%, transparent);
}

.booking-workspace-gateway__cta:hover::after,
.booking-workspace-gateway__cta:focus-visible::after {
  left: 106%;
}

.booking-workspace-gateway__cta svg,
.booking-workspace-modal__arrow svg {
  display: block;
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.booking-workspace-gateway__account {
  padding: 13px 18px;
  border: 1px solid rgba(111, 72, 82, .15);
  background: rgba(255,255,255,.74);
  color: var(--booking-primary-2, #6f4852);
  box-shadow: 0 12px 28px rgba(111, 72, 82, .08);
}

.booking-workspace-gateway__account:hover,
.booking-workspace-gateway__account:focus-visible {
  border-color: color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 46%, transparent);
  background: rgba(255,255,255,.94);
  transform: translateY(-1px);
}

.booking-workspace-gateway__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.booking-workspace-gateway__trust span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 18%, transparent);
  border-radius: 999px;
  background: rgba(255,255,255,.54);
  color: color-mix(in srgb, var(--booking-text, #2d2025) 62%, #fff);
  font-size: .75rem;
  font-weight: 850;
}

.booking-workspace-gateway__showcase {
  display: grid;
  gap: 12px;
  align-content: center;
  justify-items: stretch;
  width: min(100%, 360px);
  margin-inline: auto;
}

.booking-workspace-gateway__showcase-card {
  position: relative;
  display: grid;
  gap: 3px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 26%, transparent);
  border-radius: 28px;
  background: rgba(255,255,255,.68);
  box-shadow: 0 20px 50px rgba(111, 72, 82, .10);
  backdrop-filter: blur(18px);
}

.booking-workspace-gateway__showcase-card--main {
  min-height: 190px;
  overflow: hidden;
}

.booking-workspace-gateway__showcase-card--main::after {
  content: "";
  position: absolute;
  width: 138px;
  height: 96px;
  right: -54px;
  bottom: -62px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 24%, transparent);
}

.booking-workspace-gateway__showcase-card--float {
  width: min(86%, 260px);
  justify-self: end;
  transform: translateY(-8px);
  background: rgba(255,255,255,.82);
}

.booking-workspace-gateway__showcase-card span,
.booking-workspace-gateway__showcase-card small {
  position: relative;
  z-index: 1;
  color: var(--booking-muted, #7d6f73);
  font-size: .78rem;
  font-weight: 850;
  line-height: 1.35;
}

.booking-workspace-gateway__showcase-card strong {
  position: relative;
  z-index: 1;
  color: var(--booking-text, #2d2025);
  font-family: var(--booking-font-heading, "Playfair Display", Georgia, serif);
  font-size: clamp(1.45rem, 5vw, 2rem);
  font-weight: 850;
  letter-spacing: -.045em;
  line-height: 1;
}

.booking-workspace-gateway__logo-ribbon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 0;
  margin-top: 14px;
}

.booking-workspace-gateway__logo-preview {
  display: inline-grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-right: -10px;
  border-radius: 18px;
  overflow: hidden;
  background: transparent;
}

.booking-workspace-gateway__logo-preview img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.booking-workspace-gateway__logo-preview--empty {
  border: 1px dashed color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 34%, transparent);
}

.booking-workspace-gateway__steps {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
}

.booking-workspace-gateway__steps div {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
  padding: 13px 14px;
  border: 1px solid color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 18%, transparent);
  border-radius: 20px;
  background: rgba(255,255,255,.64);
  box-shadow: 0 12px 30px rgba(111,72,82,.05);
}

.booking-workspace-gateway__steps strong {
  color: var(--booking-primary-2, #6f4852);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .08em;
}

.booking-workspace-gateway__steps span {
  color: var(--booking-primary-2, #6f4852);
  font-size: .72rem;
  font-weight: 850;
  line-height: 1.35;
}

.booking-workspace-gateway__empty,
.booking-workspace-gateway__noscript {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px solid rgba(185, 28, 28, .18);
  border-radius: 24px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 18px 42px rgba(111,72,82,.09);
}

.booking-workspace-gateway__empty strong,
.booking-workspace-gateway__noscript strong {
  color: var(--booking-text, #2d2025);
  font-size: 1rem;
}

.booking-workspace-gateway__empty span,
.booking-workspace-gateway__noscript span {
  color: var(--booking-muted, #7d6f73);
  font-size: .9rem;
  font-weight: 650;
  line-height: 1.45;
}

.booking-workspace-gateway__noscript a {
  color: var(--booking-primary-2, #6f4852);
  font-weight: 900;
}

.booking-workspace-modal[hidden] {
  display: none;
}

.booking-workspace-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  align-items: end;
  padding: max(12px, env(safe-area-inset-top)) 10px max(12px, env(safe-area-inset-bottom));
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
}

.booking-workspace-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

.booking-workspace-modal__backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 4%, color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 24%, transparent), transparent 34%),
    radial-gradient(circle at 12% 84%, rgba(255, 255, 255, .18), transparent 30%),
    rgba(45, 32, 37, .58);
  backdrop-filter: blur(18px) saturate(1.08);
}

.booking-workspace-modal__panel {
  position: relative;
  z-index: 1;
  width: min(100%, 640px);
  max-height: min(84dvh, 680px);
  margin: 0 auto;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 25%, rgba(255,255,255,.74));
  border-radius: 28px 28px 22px 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.992) 0%, rgba(255,250,248,.982) 100%);
  box-shadow:
    0 34px 96px rgba(45, 32, 37, .30),
    inset 0 1px 0 rgba(255,255,255,.86);
  transform: translateY(26px) scale(.985);
  transition: transform .24s cubic-bezier(.2,.8,.2,1);
  isolation: isolate;
}

.booking-workspace-modal__panel::before,
.booking-workspace-modal__panel::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.booking-workspace-modal__panel::before {
  inset: 0 0 auto;
  height: 96px;
  background:
    radial-gradient(circle at 86% 10%, color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 24%, transparent), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.94), color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 10%, rgba(255,255,255,.86)));
  border-bottom: 1px solid color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 18%, transparent);
}

.booking-workspace-modal__panel::after {
  width: 148px;
  height: 148px;
  right: -82px;
  top: -68px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 28%, transparent);
  box-shadow: inset 0 0 0 18px rgba(255,255,255,.28);
}

.booking-workspace-modal.is-open .booking-workspace-modal__panel {
  transform: translateY(0) scale(1);
}

.booking-workspace-modal__handle {
  position: relative;
  z-index: 1;
  justify-self: center;
  width: 52px;
  height: 5px;
  margin-top: 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 52%, rgba(45,32,37,.14));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.58);
}

.booking-workspace-modal__header {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  padding: 12px 14px 12px;
}

.booking-workspace-modal__header h2 {
  max-width: 520px;
  margin: 6px 0 0;
  color: var(--booking-text, #2d2025);
  font-family: var(--booking-font-heading, "Playfair Display", Georgia, serif);
  font-size: clamp(1.34rem, 5.2vw, 1.72rem);
  font-weight: 900;
  letter-spacing: -.06em;
  line-height: .96;
}

.booking-workspace-modal__header p {
  max-width: 520px;
  margin: 6px 0 0;
  color: color-mix(in srgb, var(--booking-text, #2d2025) 62%, #ffffff);
  font-size: .82rem;
  font-weight: 690;
  line-height: 1.5;
}

.booking-workspace-modal__close {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 24%, rgba(111, 72, 82, .12));
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  color: var(--booking-primary, #2d2025);
  box-shadow:
    0 10px 24px rgba(111, 72, 82, .10),
    inset 0 1px 0 rgba(255,255,255,.82);
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}

.booking-workspace-modal__close:hover,
.booking-workspace-modal__close:focus-visible {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 45%, transparent);
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(111, 72, 82, .15);
}

.booking-workspace-modal__close span {
  font-size: 1.18rem;
  line-height: 1;
}

.booking-workspace-modal__list {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 8px;
  overflow-y: auto;
  padding: 8px 10px 12px;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.booking-workspace-modal__list::-webkit-scrollbar {
  width: 8px;
}

.booking-workspace-modal__list::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 42%, rgba(111, 72, 82, .16));
}

.booking-workspace-modal__choice {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-height: 64px;
  padding: 9px 10px;
  border: 1px solid color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 28%, rgba(219, 227, 238, .84));
  border-radius: 27px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(255,250,248,.92) 54%, color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 7%, #ffffff) 100%);
  box-shadow:
    0 16px 38px rgba(111, 72, 82, .085),
    inset 0 1px 0 rgba(255,255,255,.84);
  color: inherit;
  text-decoration: none;
  overflow: hidden;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.booking-workspace-modal__choice::before,
.booking-workspace-modal__choice::after {
  content: "";
  position: absolute;
  pointer-events: none;
  opacity: 1;
}

.booking-workspace-modal__choice::before {
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--booking-accent-deep, #d96f86), color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 58%, #ffffff));
  opacity: .55;
}

.booking-workspace-modal__choice::after {
  inset: 0;
  background:
    radial-gradient(circle at 94% 10%, color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 20%, transparent), transparent 28%),
    linear-gradient(105deg, transparent, color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 8%, transparent), transparent);
  opacity: .72;
  transition: opacity .18s ease;
}

.booking-workspace-modal__choice:hover,
.booking-workspace-modal__choice:focus-visible {
  border-color: color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 62%, rgba(219, 227, 238, .84));
  background:
    linear-gradient(135deg, #ffffff 0%, rgba(255,250,248,.98) 54%, color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 10%, #ffffff) 100%);
  box-shadow:
    0 23px 56px rgba(111, 72, 82, .16),
    0 0 0 4px color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 13%, transparent),
    inset 0 1px 0 rgba(255,255,255,.9);
  transform: translateY(-2px);
  outline: none;
}

.booking-workspace-modal__choice:hover::after,
.booking-workspace-modal__choice:focus-visible::after {
  opacity: 1;
}

.booking-workspace-modal__choice:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 52%, transparent);
  outline-offset: 3px;
}

.booking-workspace-modal__logo {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  overflow: hidden;
  border-radius: 12px;
  flex: 0 0 auto;
  background: transparent;
}

.booking-workspace-modal__logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 8px 16px rgba(111,72,82,.10));
}

.booking-workspace-modal__logo--empty {
  border: 1px dashed color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 38%, transparent);
}

.booking-workspace-modal__copy {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: grid;
  gap: 3px;
}

.booking-workspace-modal__copy strong {
  overflow: hidden;
  color: var(--booking-text, #2d2025);
  font-family: var(--booking-font-heading, "Playfair Display", Georgia, serif);
  font-size: clamp(.92rem, 3.3vw, 1.05rem);
  font-weight: 900;
  letter-spacing: -.045em;
  line-height: 1.02;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.booking-workspace-modal__copy span {
  width: max-content;
  max-width: 100%;
  min-height: 18px;
  display: inline-flex;
  align-items: center;
  padding: 0 7px;
  border: 1px solid color-mix(in srgb, var(--booking-line-theme, #f4a9b9) 25%, transparent);
  border-radius: 999px;
  background: rgba(255,255,255,.70);
  color: var(--booking-primary-2, #6f4852);
  font-size: .58rem;
  font-weight: 950;
  letter-spacing: .075em;
  text-transform: uppercase;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.booking-workspace-modal__copy em {
  overflow: hidden;
  color: color-mix(in srgb, var(--booking-text, #2d2025) 58%, #ffffff);
  font-size: .72rem;
  font-style: normal;
  font-weight: 690;
  line-height: 1.38;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.booking-workspace-modal__arrow {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 74px;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--booking-primary, #2d2025), var(--booking-primary-2, #6f4852));
  color: #ffffff;
  box-shadow: 0 13px 28px color-mix(in srgb, var(--booking-primary, #2d2025) 17%, transparent);
  font-size: .64rem;
  font-weight: 950;
  letter-spacing: -.01em;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.booking-workspace-modal__arrow span {
  line-height: 1;
}

.booking-workspace-modal__choice:hover .booking-workspace-modal__arrow,
.booking-workspace-modal__choice:focus-visible .booking-workspace-modal__arrow {
  transform: translateX(2px);
  box-shadow: 0 17px 34px color-mix(in srgb, var(--booking-primary, #2d2025) 22%, transparent);
}
@media (min-width: 760px) {
  .booking-workspace-gateway {
    padding-top: 12px;
  }

  .booking-workspace-gateway__hero {
    grid-template-columns: 1fr;
    align-items: center;
  }

  .booking-workspace-modal {
    align-items: center;
    padding-inline: 18px;
  }

  .booking-workspace-modal__panel {
    border-radius: 30px;
  }

  .booking-workspace-modal__header {
    padding: 13px 18px 14px;
  }

  .booking-workspace-modal__list {
    padding: 9px 12px 14px;
  }

  .booking-workspace-modal__choice {
    padding: 10px;
  }
}


@media (max-width: 420px) {
  .booking-workspace-gateway {
    padding-inline: 10px;
  }

  .booking-workspace-gateway__hero {
    padding: 22px 16px 18px;
    border-radius: 30px;
  }

  .booking-workspace-gateway h1 {
    font-size: clamp(2.08rem, 11.2vw, 2.85rem);
  }

  .booking-workspace-gateway__actions {
    display: grid;
  }

  .booking-workspace-gateway__cta,
  .booking-workspace-gateway__account {
    width: 100%;
  }

  .booking-workspace-gateway__content {
    max-width: 100%;
  }

  .booking-workspace-modal {
    padding-inline: 8px;
  }

  .booking-workspace-modal__panel {
    border-radius: 28px 28px 22px 22px;
  }

  .booking-workspace-modal__header {
    padding-inline: 16px;
  }

  .booking-workspace-modal__logo {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }

  .booking-workspace-modal__choice {
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 62px;
    padding: 9px;
  }

  .booking-workspace-modal__arrow {
    position: absolute;
    right: 9px;
    bottom: 9px;
    min-width: 30px;
    min-height: 30px;
    width: 30px;
    height: 30px;
    padding: 0;
    border-radius: 999px;
  }

  .booking-workspace-modal__arrow span {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .booking-workspace-gateway__cta,
  .booking-workspace-gateway__account,
  .booking-workspace-modal,
  .booking-workspace-modal__panel,
  .booking-workspace-modal__choice,
  .booking-workspace-modal__arrow {
    transition: none;
  }

  .booking-workspace-gateway__cta::after,
  .booking-workspace-modal__choice::after {
    display: none;
  }
}


/* Public booking: service photos + treatment details modal */
.booking-service-card{
    cursor:default;
}
.booking-service-card__pick{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    align-items:center;
    gap:12px;
    width:100%;
    padding:0;
    border:0;
    background:transparent;
    color:inherit;
    text-align:left;
    font:inherit;
    cursor:pointer;
}
.booking-service-card__pick:focus-visible,
.booking-service-card__details-action:focus-visible,
.booking-service-card__extra-action:focus-visible{
    outline:none;
    box-shadow:0 0 0 4px color-mix(in srgb, var(--booking-accent-strong,#f9c6d3) 50%, transparent);
}
.booking-service-card__thumb{
    display:flex;
    align-items:center;
    justify-content:center;
    width:72px;
    height:72px;
    overflow:hidden;
    border-radius:18px;
    border:1px solid color-mix(in srgb, var(--booking-line-theme,#f4a9b9) 34%, var(--booking-line,#e5e7eb));
    background:
        radial-gradient(circle at 28% 22%, rgba(255,255,255,.9), transparent 34%),
        linear-gradient(135deg, color-mix(in srgb, var(--booking-accent,#fce7ef) 72%, #fff), color-mix(in srgb, var(--booking-surface-3,#fff7f9) 90%, #fff));
    color:color-mix(in srgb, var(--booking-accent-deep,#a84661) 72%, var(--booking-text,#251916));
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
    box-shadow:0 12px 24px rgba(122,81,72,.08);
}
.booking-service-card__thumb img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.booking-service-card__body{
    display:grid;
    gap:4px;
    min-width:0;
}
.booking-service-card__actions{
    position:relative;
    z-index:2;
}
.booking-service-card__details-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    max-width:100%;
    padding:7px 12px;
    border-radius:999px;
    border:1px solid color-mix(in srgb, var(--booking-line-theme,#f4a9b9) 48%, var(--booking-line,#e5e7eb));
    background:rgba(255,255,255,.88);
    color:var(--booking-accent-deep,#a84661);
    font:inherit;
    font-size:.78rem;
    font-weight:950;
    line-height:1.16;
    text-align:center;
    cursor:pointer;
    white-space:normal;
    overflow-wrap:anywhere;
    transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.booking-service-card__details-action:hover{
    transform:translateY(-1px);
    background:color-mix(in srgb, var(--booking-accent,#fce7ef) 36%, #fff);
    border-color:color-mix(in srgb, var(--booking-accent-deep,#a84661) 22%, transparent);
    box-shadow:0 10px 18px color-mix(in srgb, var(--booking-accent-deep,#a84661) 10%, transparent);
}
.booking-service-details{
    max-height:min(88dvh, 840px);
}
.booking-service-details__panels{
    display:grid;
    gap:14px;
}
.booking-service-details__panel{
    display:grid;
    gap:16px;
}
.booking-service-details__panel[hidden]{
    display:none;
}
.booking-service-details__hero{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:220px;
    overflow:hidden;
    border-radius:24px;
    border:1px solid color-mix(in srgb, var(--booking-line-theme,#f4a9b9) 36%, var(--booking-line,#e5e7eb));
    background:
        radial-gradient(circle at 22% 12%, rgba(255,255,255,.84), transparent 34%),
        linear-gradient(135deg, color-mix(in srgb, var(--booking-accent,#fce7ef) 66%, #fff), color-mix(in srgb, var(--booking-surface-3,#fff7f9) 92%, #fff));
    color:color-mix(in srgb, var(--booking-accent-deep,#a84661) 72%, var(--booking-text,#251916));
    font-size:1rem;
    font-weight:950;
    letter-spacing:.06em;
    text-transform:uppercase;
    box-shadow:0 20px 42px rgba(122,81,72,.09);
}
.booking-service-details__hero img{
    display:block;
    width:100%;
    height:100%;
    min-height:220px;
    object-fit:cover;
}
.booking-service-details__content{
    display:grid;
    gap:14px;
}
.booking-service-details__media.is-empty{
    display:none;
}
.booking-service-details__title-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}
.booking-service-details__title-row h4{
    margin:0;
    color:var(--booking-text,#251916);
    font-size:1.16rem;
    line-height:1.25;
    letter-spacing:-.02em;
}
.booking-service-details__title-row p{
    margin:5px 0 0;
    color:var(--booking-muted,#725e58);
    font-weight:800;
    line-height:1.45;
}
.booking-service-details__title-row > span{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:6px 10px;
    border-radius:999px;
    background:color-mix(in srgb, var(--booking-accent,#fce7ef) 48%, #fff);
    color:var(--booking-accent-deep,#a84661);
    font-size:.74rem;
    font-weight:900;
}
.booking-service-details__block{
    display:grid;
    gap:8px;
    padding:13px 14px;
    border:1px solid rgba(154,118,96,.14);
    border-radius:18px;
    background:rgba(255,255,255,.72);
    color:var(--booking-text,#251916);
    box-shadow:0 12px 24px rgba(122,81,72,.045);
}
.booking-service-details__block strong{
    font-size:.86rem;
    color:var(--booking-text,#251916);
    letter-spacing:.01em;
}
.booking-service-details__block p{
    margin:0;
    color:var(--booking-muted,#725e58);
    line-height:1.58;
}
.booking-service-details__block b{
    color:var(--booking-text,#251916);
}
.booking-service-details__gallery{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.booking-service-details__gallery img{
    display:block;
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:16px;
    border:1px solid rgba(154,118,96,.16);
    background:#fff;
    box-shadow:0 10px 20px rgba(122,81,72,.07);
}
.booking-service-details__actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    padding-top:2px;
}
.booking-service-details__actions > *{
    flex:1 1 220px;
}
@media (min-width:900px){
    .booking-modal--service-details .booking-modal__sheet{
        width:min(760px, calc(100vw - 32px));
    }
}
@media (max-width:767px){
    .booking-service-card__pick{
        grid-template-columns:64px minmax(0,1fr);
        gap:10px;
    }
    .booking-service-card__thumb{
        width:64px;
        height:64px;
        border-radius:16px;
    }
    .booking-service-card__details-action{
        min-height:32px;
        padding:7px 10px;
        font-size:.75rem;
    }
    .booking-service-details__hero,
    .booking-service-details__hero img{
        min-height:184px;
    }
    .booking-service-details__title-row{
        flex-direction:column;
        align-items:flex-start;
        gap:8px;
    }
    .booking-service-details__gallery{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }
    .booking-service-details__actions{
        flex-direction:column;
    }
    .booking-service-details__actions > *{
        flex:1 1 auto;
        width:100%;
    }
}
@media (max-width:380px){
    .booking-service-card__pick{
        grid-template-columns:56px minmax(0,1fr);
    }
    .booking-service-card__thumb{
        width:56px;
        height:56px;
        border-radius:14px;
        font-size:.64rem;
    }
}

.booking-service-card__primary-action,
.booking-service-card__extra-action,
.booking-service-card__details-action{
    font-family:inherit;
    cursor:pointer;
}

/* Krok 2: lżejsze obrazki usług bez zmiany układu kafelków */
.booking-service-card__thumb,
.booking-service-details__hero,
.booking-service-details__gallery img{
    content-visibility:auto;
}
.booking-service-card__thumb img,
.booking-service-details__hero img,
.booking-service-details__gallery img{
    background:linear-gradient(135deg, rgba(255,255,255,.86), rgba(252,231,239,.42));
}
.booking-service-card__thumb:not(.has-image)::before,
.booking-service-details__hero:not(.has-image)::before{
    content:"";
    position:absolute;
    inset:12%;
    border-radius:inherit;
    background:radial-gradient(circle, rgba(255,255,255,.62), transparent 66%);
    pointer-events:none;
}
.booking-service-card__thumb,
.booking-service-details__hero{
    position:relative;
}
.booking-service-card__thumb > *,
.booking-service-details__hero > *{
    position:relative;
    z-index:1;
}

/* Krok 3: przeglądarka zdjęć zabiegu i lżejszy modal szczegółów */
.booking-service-details__media{
    display:grid;
    gap:10px;
}
.booking-service-details__hero{
    min-height:clamp(190px, 34vw, 320px);
    aspect-ratio:16/10;
}
.booking-service-details__hero:not(.has-image){
    flex-direction:column;
    gap:7px;
    text-align:center;
}
.booking-service-details__hero img{
    min-height:0;
    aspect-ratio:16/10;
}
.booking-service-details__placeholder-mark{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:8px 18px;
    border-radius:999px;
    border:1px solid rgba(168,70,97,.18);
    background:rgba(255,255,255,.76);
    box-shadow:0 10px 24px rgba(122,81,72,.07);
}
.booking-service-details__placeholder-text{
    color:var(--booking-muted,#725e58);
    font-size:.84rem;
    font-weight:850;
    letter-spacing:0;
    text-transform:none;
}
.booking-service-details__caption{
    margin:-2px 2px 0;
    color:var(--booking-muted,#725e58);
    font-size:.84rem;
    font-weight:850;
    line-height:1.45;
}
.booking-service-details__caption[hidden]{
    display:none;
}
.booking-service-details__thumbs{
    display:flex;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:2px 2px 6px;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
}
.booking-service-details__thumb-button{
    flex:0 0 62px;
    width:62px;
    height:62px;
    padding:0;
    overflow:hidden;
    border-radius:15px;
    border:2px solid transparent;
    background:rgba(255,255,255,.82);
    box-shadow:0 8px 18px rgba(122,81,72,.08);
    cursor:pointer;
    transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.booking-service-details__thumb-button img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.booking-service-details__thumb-button:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 22px rgba(122,81,72,.13);
}
.booking-service-details__thumb-button.is-active{
    border-color:color-mix(in srgb, var(--booking-accent-deep,#a84661) 58%, var(--booking-accent,#fce7ef));
    box-shadow:0 0 0 4px color-mix(in srgb, var(--booking-accent,#fce7ef) 42%, transparent), 0 12px 24px rgba(122,81,72,.12);
}
.booking-service-details__thumb-button:focus-visible{
    outline:none;
    border-color:var(--booking-accent-deep,#a84661);
    box-shadow:0 0 0 4px color-mix(in srgb, var(--booking-accent,#fce7ef) 54%, transparent), 0 12px 24px rgba(122,81,72,.12);
}
.booking-service-details__block:empty{
    display:none;
}
.booking-modal--service-details .booking-modal__sheet{
    display:flex;
    flex-direction:column;
}
.booking-service-details__panels{
    min-height:0;
}
.booking-service-details__panel:not([hidden]){
    min-height:0;
}
@media (min-width:900px){
    .booking-modal--service-details .booking-modal__sheet{
        width:min(780px, calc(100vw - 32px));
    }
}
@media (max-width:767px){
    .booking-modal--service-details .booking-modal__sheet{
        width:100vw;
        max-width:none;
        height:min(94dvh, 920px);
        max-height:94dvh;
        border-radius:26px 26px 0 0;
        margin:auto 0 0;
    }
    .booking-modal--service-details .booking-modal__header{
        flex:0 0 auto;
    }
    .booking-service-details__panels{
        overflow:auto;
        padding-bottom:4px;
        -webkit-overflow-scrolling:touch;
    }
    .booking-service-details__panel:not([hidden]){
        display:flex;
        flex-direction:column;
        gap:13px;
    }
    .booking-service-details__hero,
    .booking-service-details__hero img{
        min-height:178px;
        aspect-ratio:4/3;
    }
    .booking-service-details__thumb-button{
        flex-basis:58px;
        width:58px;
        height:58px;
        border-radius:14px;
    }
    .booking-service-details__content{
        gap:10px;
    }
    .booking-service-details__block{
        padding:12px;
        border-radius:16px;
    }
    .booking-service-details__actions{
        position:sticky;
        bottom:0;
        z-index:3;
        margin:2px -2px -2px;
        padding:10px 2px 2px;
        background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--booking-surface,#fff) 94%, transparent) 24%, var(--booking-surface,#fff) 100%);
    }
}
@media (prefers-reduced-motion: reduce){
    .booking-service-details__thumb-button{
        transition:none;
    }
}

/* FIX: modal „Więcej” — jeden liniowy scroll zamiast pływających/nested sekcji */
.booking-modal--service-details .booking-modal__sheet.booking-service-details{
    display:block;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
}
.booking-modal--service-details .booking-modal__header{
    position:static;
    top:auto;
    z-index:auto;
}
.booking-modal--service-details .booking-service-details__panels{
    overflow:visible;
    min-height:auto;
}
.booking-modal--service-details .booking-service-details__panel:not([hidden]){
    display:grid;
    min-height:auto;
    gap:16px;
}
.booking-modal--service-details .booking-service-details__actions{
    position:static;
    inset:auto;
    z-index:auto;
    margin:0;
    padding-top:4px;
    background:none;
}
@media (max-width:767px){
    .booking-modal--service-details .booking-modal__sheet.booking-service-details{
        width:100vw;
        max-width:none;
        height:auto;
        max-height:94dvh;
        display:block;
        padding-bottom:max(14px, env(safe-area-inset-bottom));
        scroll-padding-top:16px;
    }
    .booking-modal--service-details .booking-modal__header{
        flex:0 0 auto;
    }
    .booking-modal--service-details .booking-service-details__panels{
        overflow:visible;
        padding-bottom:0;
    }
    .booking-modal--service-details .booking-service-details__panel:not([hidden]){
        display:grid;
        gap:13px;
    }
    .booking-modal--service-details .booking-service-details__actions{
        position:static;
        margin:0;
        padding:4px 0 0;
        background:none;
    }
}

/* Krok No-show Payment 2: komunikat przedpłaty w publicznej rezerwacji */
.booking-no-show-payment{
  display:grid;
  gap:14px;
  margin:16px 0 0;
  padding:16px;
  border:1px solid rgba(190,118,135,.24);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,248,251,.96),rgba(255,255,255,.9));
  box-shadow:0 18px 42px rgba(190,118,135,.12);
  color:#334155;
}
.booking-no-show-payment[hidden]{
  display:none;
}
.booking-no-show-payment__head{
  display:grid;
  gap:4px;
}
.booking-no-show-payment__head span{
  color:#8b4a5c;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.booking-no-show-payment__head strong{
  color:#1f2937;
  font-size:1rem;
  line-height:1.25;
}
.booking-no-show-payment p{
  margin:0;
  color:#475569;
  font-size:.9rem;
  line-height:1.55;
  white-space:pre-line;
}
.booking-no-show-payment__amount{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid rgba(190,118,135,.18);
  border-radius:16px;
  background:rgba(255,255,255,.78);
}
.booking-no-show-payment__amount[hidden]{
  display:none;
}
.booking-no-show-payment__amount span{
  color:#64748b;
  font-size:.78rem;
  font-weight:900;
}
.booking-no-show-payment__amount strong{
  color:#8b4a5c;
  font-size:1rem;
  font-weight:950;
}
.booking-no-show-payment__methods{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.booking-no-show-payment__method{
  display:grid;
  gap:10px;
  min-width:0;
  padding:13px;
  border:1px solid rgba(148,163,184,.16);
  border-radius:18px;
  background:rgba(255,255,255,.82);
}
.booking-no-show-payment__method[hidden]{
  display:none;
}
.booking-no-show-payment__method > strong{
  color:#1f2937;
  font-size:.9rem;
  font-weight:950;
}
.booking-no-show-payment__method dl{
  display:grid;
  gap:8px;
  margin:0;
}
.booking-no-show-payment__method dl div{
  display:grid;
  gap:3px;
  min-width:0;
}
.booking-no-show-payment__method dl div[hidden],
.booking-no-show-payment__method p[hidden]{
  display:none;
}
.booking-no-show-payment__method dt{
  color:#94a3b8;
  font-size:.7rem;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.booking-no-show-payment__method dd{
  margin:0;
  color:#334155;
  font-size:.86rem;
  font-weight:850;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.booking-success__note--payment{
  display:grid;
  gap:7px;
}
.booking-success__note--payment span{
  display:block;
}

/* Wybór metody przedpłaty przed podsumowaniem */
.booking-modal__sheet--no-show-payment{
  max-height:min(84dvh,820px);
  overflow:auto;
  padding:22px 18px 20px;
  border:1px solid var(--booking-line,#ead9d8);
  background:
    radial-gradient(circle at top right, color-mix(in srgb,var(--booking-accent-strong,#f9a8d4) 16%, transparent), transparent 28%),
    linear-gradient(180deg,#ffffff 0%,var(--booking-surface-3,#f8fafc) 100%);
  color:var(--booking-text,#111827);
  box-shadow:var(--booking-shadow-card,0 24px 70px rgba(15,23,42,.18));
}
.booking-modal--no-show-payment .booking-modal__header{
  margin-bottom:12px;
}
.booking-modal--no-show-payment .booking-modal__eyebrow{
  color:var(--booking-accent-deep,#be185d);
}
.booking-modal--no-show-payment .booking-modal__lead{
  color:var(--booking-muted,#64748b);
}
.booking-payment-gate{
  display:grid;
  gap:12px;
}
.booking-payment-gate__amount{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 12px;
  border:1px solid color-mix(in srgb,var(--booking-line,#ead9d8) 86%,transparent);
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff 0%,var(--booking-surface-2,#f8fafc) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
@media (min-width:900px){
  .booking-modal__sheet--no-show-payment{
    left:50%;
    right:auto;
    bottom:24px;
    transform:translateX(-50%);
    width:min(760px,calc(100vw - 32px));
    border-radius:28px;
    --booking-modal-sheet-transform-hidden:translateX(-50%) translateY(18px) scale(.985);
    --booking-modal-sheet-transform-visible:translateX(-50%) translateY(0) scale(1);
  }
}
.booking-payment-gate__amount[hidden]{
  display:none;
}
.booking-payment-gate__amount span{
  color:var(--booking-muted,#64748b);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.booking-payment-gate__amount strong{
  color:var(--booking-text,#111827);
  font-size:1.08rem;
  font-weight:950;
}
.booking-payment-gate__methods{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.booking-payment-gate__method{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:9px;
  width:100%;
  min-width:0;
  padding:12px;
  border:1px solid color-mix(in srgb,var(--booking-line,#ead9d8) 88%,transparent);
  border-radius:17px;
  background:rgba(255,255,255,.92);
  color:var(--booking-text,#111827);
  text-align:left;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(15,23,42,.055);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease;
}
.booking-payment-gate__method[hidden]{
  display:none;
}
.booking-payment-gate__method:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--booking-accent-deep,#be185d) 34%,var(--booking-line,#ead9d8));
  box-shadow:0 16px 34px rgba(15,23,42,.075);
}
.booking-payment-gate__method.is-selected{
  border-color:color-mix(in srgb,var(--booking-accent-deep,#be185d) 56%,var(--booking-line,#ead9d8));
  background:
    radial-gradient(circle at top right, color-mix(in srgb,var(--booking-accent-strong,#f9a8d4) 16%,transparent), transparent 38%),
    linear-gradient(180deg,#fff 0%,var(--booking-surface-3,#f8fafc) 100%);
  box-shadow:0 18px 40px rgba(15,23,42,.095);
}
.booking-payment-gate__radio{
  width:18px;
  height:18px;
  margin-top:1px;
  border:2px solid color-mix(in srgb,var(--booking-muted,#64748b) 48%,transparent);
  border-radius:999px;
  background:#fff;
  box-shadow:inset 0 0 0 5px #fff;
}
.booking-payment-gate__method.is-selected .booking-payment-gate__radio{
  border-color:var(--booking-accent-deep,#be185d);
  background:var(--booking-accent-deep,#be185d);
}
.booking-payment-gate__method-body{
  display:grid;
  gap:4px;
  min-width:0;
}
.booking-payment-gate__method-body > strong{
  color:var(--booking-text,#111827);
  font-size:.9rem;
  font-weight:950;
}
.booking-payment-gate__method-body small{
  color:var(--booking-muted,#64748b);
  font-size:.76rem;
  line-height:1.35;
}
.booking-payment-gate__details{
  display:grid;
  gap:4px;
  margin-top:2px;
  color:var(--booking-muted,#64748b);
  font-size:.75rem;
  line-height:1.3;
}
.booking-payment-gate__details span,
.booking-payment-gate__details em{
  overflow-wrap:anywhere;
}
.booking-payment-gate__details span[hidden],
.booking-payment-gate__details em[hidden]{
  display:none;
}
.booking-payment-gate__details b{
  color:var(--booking-text,#111827);
  font-weight:900;
}
.booking-payment-gate__details em{
  color:var(--booking-muted,#64748b);
  font-style:normal;
}
[data-booking-no-show-payment-modal-bank-account],
[data-booking-no-show-payment-bank-account]{
  font-variant-numeric:tabular-nums;
  letter-spacing:.025em;
  word-spacing:.12em;
}
.booking-payment-gate__hint{
  margin:0;
  padding:10px 11px;
  border:1px solid color-mix(in srgb,var(--booking-line,#ead9d8) 84%,transparent);
  border-radius:15px;
  background:linear-gradient(180deg,#ffffff 0%,var(--booking-surface-2,#f8fafc) 100%);
  color:var(--booking-muted,#64748b);
  font-size:.8rem;
  font-weight:800;
  line-height:1.4;
}
.booking-payment-gate__actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding-top:0;
}
.booking-no-show-payment__selected{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 14px;
  border:1px solid rgba(148,163,184,.16);
  border-radius:15px;
  background:rgba(255,255,255,.78);
}
.booking-no-show-payment__selected[hidden]{
  display:none;
}
.booking-no-show-payment__selected span{
  color:#64748b;
  font-size:.78rem;
  font-weight:900;
}
.booking-no-show-payment__selected strong{
  color:#1f2937;
  font-size:.9rem;
  font-weight:950;
}
@media (max-width:720px){
  .booking-modal__sheet--no-show-payment{
    max-height:88dvh;
    border-radius:24px 24px 0 0;
    padding:18px 16px max(18px, env(safe-area-inset-bottom));
  }
  .booking-payment-gate__methods{
    grid-template-columns:1fr;
  }
  .booking-payment-gate__amount,
  .booking-payment-gate__actions,
  .booking-no-show-payment__selected{
    display:grid;
    gap:8px;
    align-items:start;
  }
  .booking-payment-gate__actions{
    grid-template-columns:1fr;
  }
}

@media (max-width:720px){
  .booking-no-show-payment{
    margin-top:14px;
    padding:14px;
    border-radius:20px;
  }
  .booking-no-show-payment__amount{
    display:grid;
    gap:5px;
    align-items:start;
  }
  .booking-no-show-payment__methods{
    grid-template-columns:1fr;
  }
}
