@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=swap");:root{
    --booking-bg:#f5f7fb;
    --booking-surface:#ffffff;
    --booking-surface-2:#f8fafc;
    --booking-surface-3:#f3f7ff;
    --booking-text:#0f172a;
    --booking-muted:#64748b;
    --booking-line:#dbe3ee;
    --booking-line-strong:#cbd8ea;
    --booking-primary:#0f172a;
    --booking-primary-2:#1e293b;
    --booking-accent:#eef4ff;
    --booking-accent-strong:#dbeafe;
    --booking-accent-deep:var(--booking-accent-deep);
    --booking-line-theme:#93c5fd;
    --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(96,165,250,.10), transparent 26%),
        radial-gradient(circle at top right, rgba(191,219,254,.14), transparent 24%),
        linear-gradient(180deg,var(--booking-surface-3) 0%, #f4f7fb 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 !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
}.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(96,165,250,.16), 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(147,197,253,.38) 0%, rgba(191,219,254,.18) 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%, #eef4ff 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:#bfdbfe;
}.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(191,219,254,.14) 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(96,165,250,.24) 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:.96rem;
    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:.96rem;
    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:.96rem;
    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 #dbeafe;
    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(37,99,235,.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:.96rem;
    }.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(248,251,255,.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(59,130,246,.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(37,99,235,.22);
}.booking-wow-banner__dot{
    width:8px;
    height:8px;
    border-radius:999px;
    background:#60a5fa;
    box-shadow:0 0 0 6px rgba(96,165,250,.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, #8b5cf6) 24%, var(--booking-line-theme, #cbd5e1));
    background:linear-gradient(180deg, rgba(255,255,255,.82) 0%, color-mix(in srgb, var(--booking-accent-deep, #8b5cf6) 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(248,251,255,.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:#bfdbfe;
    background:linear-gradient(180deg, rgba(248,251,255,.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(37,99,235,.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 !important;}.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 !important;}.booking-submit__button--summary{
    min-height:50px;
}.booking-submit__button--summary{
    min-height:46px;
    padding:0 18px;
    font-size:.96rem;
}.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%, #f4f7fb) 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(214,228,255,.78);
    border-radius:18px;
    background:linear-gradient(180deg, rgba(248,251,255,.98) 0%, rgba(240,245,255,.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(226,236,250,.82) 0%, rgba(214,228,247,.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, #e2e8f0);border-radius:18px;background:var(--booking-surface-2, #f8fafc)}
.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-text-muted, #64748b);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, #e2e8f0);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, #cbd5e1)}
.booking-option-card.is-active{border-color:var(--booking-accent-deep, #8b5cf6);box-shadow:0 0 0 3px color-mix(in srgb, var(--booking-accent-deep, #8b5cf6) 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, #8b5cf6)}
.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-text-muted, #64748b)}
@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, #e2e8f0);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,#8b5cf6) 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,#8b5cf6) 38%,var(--booking-line,#e2e8f0));box-shadow:0 0 0 3px color-mix(in srgb,var(--booking-accent-deep,#8b5cf6) 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!important}
.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,#e2e8f0);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,#8b5cf6)}
.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,#8b5cf6);border-color:var(--booking-accent-deep,#8b5cf6)}
.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,#e2e8f0)}
.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,#e2e8f0);
  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,#8b5cf6) 24%,var(--booking-line,#e2e8f0));
  background:color-mix(in srgb,var(--booking-accent-deep,#8b5cf6) 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,#e2e8f0);
  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,#8b5cf6) 24%,var(--booking-line,#e2e8f0));
  background:color-mix(in srgb,var(--booking-accent-deep,#8b5cf6) 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,#e2e8f0) 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 !important;
}
#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:.96rem;
    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:.96rem;
    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,#e2e8f0);
    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!important;
    display:none!important;
}
.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!important;
    box-shadow:none!important;
}
.booking-submit__button:disabled:hover,
.booking-submit__button[aria-disabled="true"]:hover{
    transform:none!important;
    box-shadow:none!important;
    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!important;
    display:none!important;
}
#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!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px;
    width:auto!important;
    min-width:168px;
    max-width:100%;
    min-height:44px;
    padding:10px 16px!important;
    border:1px solid var(--booking-line-theme, #f9cfe0)!important;
    border-radius:14px!important;
    background:linear-gradient(180deg,#ffffff 0%, var(--booking-accent, #fdf2f8) 100%)!important;
    color:#334155!important;
    font-size:.9rem!important;
    font-weight:800!important;
    line-height:1.15!important;
    text-align:center!important;
    white-space:nowrap;
    box-shadow:0 6px 14px rgba(15,23,42,.04)!important;
}
.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)!important;
    background:linear-gradient(180deg,#ffffff 0%, var(--booking-accent, #fdf2f8) 100%)!important;
    color:#1e293b!important;
    box-shadow:0 10px 18px rgba(15,23,42,.07)!important;
}
.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!important;
}
.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:"✦"!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 22px;
    width:22px!important;
    height:22px!important;
    margin:0!important;
    border-radius:999px!important;
    background:color-mix(in srgb, var(--booking-accent-deep, #9f1239) 9%, transparent)!important;
    color:var(--booking-accent-deep, #9f1239)!important;
    font-size:.82rem!important;
    font-weight:800!important;
    line-height:1!important;
}
.booking-modal__actions .booking-button-secondary--back{
    color:#334155!important;
}
#booking-options-modal .booking-modal__actions--compact{
    align-items:center!important;
}
#booking-options-modal .booking-modal__actions--compact .booking-button-secondary--skip{
    order:2;
}
@media (max-width:767px){
    .booking-modal__actions{
        align-items:center!important;
    }
    .booking-modal__actions .booking-button-secondary,
    #booking-options-modal .booking-modal__actions--compact .booking-button-secondary--skip{
        width:auto!important;
        min-width:168px;
        flex:0 0 auto!important;
    }
    .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%!important;
        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!important;
    min-height:40px!important;
    padding:8px 13px!important;
    border-radius:13px!important;
    gap:7px!important;
    font-size:.84rem!important;
}
.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!important;
    width:20px!important;
    height:20px!important;
    font-size:.76rem!important;
}
#booking-options-modal .booking-modal__actions--compact{
    gap:10px!important;
}
@media (max-width:767px){
    .booking-modal__actions .booking-button-secondary,
    #booking-options-modal .booking-modal__actions--compact .booking-button-secondary--skip{
        min-width:142px!important;
        min-height:39px!important;
        padding:8px 12px!important;
        font-size:.83rem!important;
    }
}
@media (max-width:380px){
    .booking-modal__actions .booking-button-secondary,
    #booking-options-modal .booking-modal__actions--compact .booking-button-secondary--skip{
        width:auto!important;
        min-width:136px!important;
    }
}

/* 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;
    }
}
