body.booking-page {
    --booking-blue: #3b82f6;
    --booking-blue-light: #93c5fd;
    --booking-green: #22c55e;
    --booking-line: rgba(203, 213, 225, .18);
    --booking-surface: rgba(255, 255, 255, .06);
}

body.booking-page .t-hero {
    position: relative;
    display: grid;
    place-items: center;
    min-height: min(620px, 82vh);
    padding: 145px 24px 105px !important;
    overflow: hidden;
    border-bottom: 1px solid rgba(96, 165, 250, .22) !important;
    background: #0b1220;
}
body.booking-page .t-hero::before,
body.booking-page .t-hero::after {
    position: absolute;
    inset: 0;
    display: block !important;
    pointer-events: none;
    content: "";
}
body.booking-page .t-hero::before {
    width: auto !important;
    height: auto !important;
    background: url("/assets/img/booking-hero-premium.jpg?wm=20260722-2") center 48% / cover no-repeat !important;
    filter: saturate(.7) contrast(1.04) brightness(.42);
    transform: none !important;
}
body.booking-page .t-hero::after {
    background:
        linear-gradient(90deg, rgba(11, 18, 32, .92), rgba(11, 18, 32, .78), rgba(11, 18, 32, .92)),
        linear-gradient(0deg, rgba(11, 18, 32, .96), transparent 48%, rgba(11, 18, 32, .5));
}
body.booking-page .t-hero > * { position: relative; z-index: 1; }
body.booking-page .t-hero-badge {
    margin-bottom: 20px;
    padding: 8px 12px;
    border: 1px solid rgba(147, 197, 253, .35) !important;
    border-radius: 999px !important;
    background: rgba(15, 23, 42, .68) !important;
    color: #dbeafe !important;
    font-size: .69rem !important;
    font-weight: 900;
    backdrop-filter: blur(12px);
}
body.booking-page .t-hero h1 {
    max-width: 920px;
    margin: 0 auto 18px !important;
    color: #fff;
    font-size: clamp(2.8rem, 6vw, 5.15rem) !important;
    line-height: 1.03 !important;
    text-wrap: balance;
    text-shadow: 0 12px 38px rgba(2, 6, 23, .48);
}
body.booking-page .t-hero h1 span { color: #9dcbff !important; }
body.booking-page .t-hero p {
    max-width: 690px;
    margin: 0 auto 29px;
    color: #dce7f3 !important;
    font-size: clamp(.94rem, 1.5vw, 1.06rem);
    line-height: 1.7;
}
body.booking-page .t-hero-pills { gap: 10px 22px !important; }
body.booking-page .t-hero-pill {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #d9e6f5 !important;
    font-size: .74rem !important;
    font-weight: 800;
}
body.booking-page .t-hero-pill i { color: #86efac !important; }

body.booking-page .t-stepper-wrap {
    position: relative;
    z-index: 4;
    width: min(100% - 40px, 1100px) !important;
    margin: -48px auto 62px !important;
    padding: 0 !important;
}
body.booking-page .t-stepper {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
}
body.booking-page .t-stepper::before { display: none !important; }
body.booking-page .t-step {
    min-height: 104px;
    padding: 14px 10px 12px;
    border: 1px solid var(--booking-line);
    border-radius: 8px !important;
    background: rgba(15, 23, 42, .92);
    box-shadow: 0 14px 34px rgba(2, 6, 23, .26), inset 0 1px 0 rgba(255, 255, 255, .07);
    backdrop-filter: blur(16px);
}
body.booking-page .t-step-circle {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(96, 165, 250, .35) !important;
    border-radius: 8px !important;
    background: rgba(59, 130, 246, .11) !important;
    color: #8fc2fb !important;
    box-shadow: none !important;
}
body.booking-page .t-step-label { color: #8997a9 !important; font-size: .66rem; }
body.booking-page .t-step.active {
    border-color: rgba(34, 197, 94, .42);
    background: rgba(34, 197, 94, .075);
}
body.booking-page .t-step.active .t-step-circle {
    border-color: rgba(34, 197, 94, .58) !important;
    background: rgba(34, 197, 94, .15) !important;
    color: #86efac !important;
}
body.booking-page .t-step.active .t-step-label { color: #86efac !important; }

body.booking-page .t-cal-wrap {
    width: min(100% - 40px, 1180px) !important;
    margin-bottom: 54px !important;
    padding: 0 !important;
}
body.booking-page .t-cal-header { margin-bottom: 19px; }
body.booking-page .t-cal-header-text { text-align: left !important; }
body.booking-page .t-cal-header-text h2 {
    margin-bottom: 6px;
    font-size: clamp(1.35rem, 2.5vw, 1.75rem);
}
body.booking-page .t-cal-header-text p { color: #aebdce; }
body.booking-page .t-cal-nav {
    padding: 7px;
    border: 1px solid var(--booking-line);
    border-radius: 8px;
    background: var(--booking-surface);
}
body.booking-page .t-cal-btn {
    width: 38px;
    height: 38px;
    border-radius: 7px !important;
}
body.booking-page .t-cal-card {
    padding: 25px 22px !important;
    border: 1px solid var(--booking-line) !important;
    border-radius: 8px !important;
    background: var(--booking-surface) !important;
    box-shadow: 0 16px 36px rgba(2, 6, 23, .18), inset 0 1px 0 rgba(255, 255, 255, .07) !important;
}
body.booking-page .t-cal-card:hover,
body.booking-page .t-form-card:hover { transform: none !important; }
body.booking-page .pg-cell {
    border-color: rgba(203, 213, 225, .11);
    border-radius: 7px;
    background: rgba(11, 18, 32, .78);
}
body.booking-page .pg-slot.s-free {
    border-color: rgba(34, 197, 94, .36);
    background: rgba(34, 197, 94, .11);
    color: #86efac;
}

body.booking-page .t-body {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 310px !important;
    justify-content: stretch !important;
    align-items: start;
    gap: 20px !important;
    width: min(100% - 40px, 1180px) !important;
    max-width: 1180px !important;
    padding: 0 0 82px !important;
}
body.booking-page .t-form-card {
    width: 100% !important;
    padding: 0 !important;
    border: 1px solid var(--booking-line) !important;
    background: var(--booking-surface) !important;
}
body.booking-page .t-form-inner { padding: clamp(24px, 4vw, 38px) !important; }
body.booking-page .t-form-inner form,
body.booking-page .t-grid { max-width: none !important; }
body.booking-page .t-section-title {
    margin: 34px 0 20px;
    padding-bottom: 13px;
    border-bottom-color: rgba(203, 213, 225, .14);
    color: #dbeafe;
    font-size: .76rem;
}
body.booking-page .t-section-title i {
    border-color: rgba(34, 197, 94, .3);
    border-radius: 7px;
    background: rgba(34, 197, 94, .1);
    color: #86efac;
}
body.booking-page .t-label { color: #b7c5d5; }
body.booking-page .t-input {
    min-height: 48px;
    border-color: rgba(203, 213, 225, .17);
    border-radius: 7px;
    background-color: rgba(11, 18, 32, .82);
}
body.booking-page .t-input:focus {
    border-color: rgba(96, 165, 250, .75);
    background-color: #0b1220;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, .11);
}
body.booking-page .t-input[readonly] {
    border-color: rgba(34, 197, 94, .3);
    background: rgba(34, 197, 94, .07);
    color: #86efac;
}
body.booking-page .t-upload-zone {
    border: 1px dashed rgba(96, 165, 250, .35);
    border-radius: 7px;
    background: rgba(59, 130, 246, .045);
}
body.booking-page .t-checkbox {
    padding: 13px 14px;
    border: 1px solid rgba(203, 213, 225, .14);
    border-radius: 7px;
    background: rgba(11, 18, 32, .52);
}
body.booking-page .t-btn-submit {
    min-height: 52px;
    border: 1px solid rgba(147, 197, 253, .5);
    border-radius: 12px;
    background: linear-gradient(118deg, #2563eb, #22b8e6, #22c55e);
    background-size: 180% 180%;
    color: #fff;
    box-shadow: 0 12px 30px rgba(37, 99, 235, .22), 0 0 20px rgba(34, 197, 94, .1);
    transition: transform .3s ease, box-shadow .3s ease !important;
}
body.booking-page .t-btn-submit:hover {
    opacity: 1;
    box-shadow: 0 16px 34px rgba(37, 99, 235, .3), 0 0 25px rgba(34, 197, 94, .15);
    transform: translateY(-2px);
}
body.booking-page .t-btn-wa {
    min-height: 48px;
    border: 1px solid rgba(34, 197, 94, .32);
    border-radius: 10px;
    background: rgba(34, 197, 94, .09);
    color: #a7f3d0;
}

body.booking-page .t-sidebar {
    position: sticky !important;
    top: 108px;
    width: 100% !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none;
}
body.booking-page .t-sidebar::before { display: none !important; }
body.booking-page .t-sidebar-card {
    padding: 25px 22px;
    border: 1px solid var(--booking-line);
    border-radius: 8px;
    background: var(--booking-surface);
    box-shadow: 0 16px 36px rgba(2, 6, 23, .18), inset 0 1px 0 rgba(255, 255, 255, .07);
}
body.booking-page .t-sidebar-card h3 { color: #fff; line-height: 1.35; }
body.booking-page .t-trust-ico {
    border-radius: 7px !important;
    background: rgba(59, 130, 246, .1) !important;
    color: #9dcbff !important;
}
body.booking-page .t-contact-link { border-radius: 7px; }

@media (max-width: 980px) {
    body.booking-page .t-body { grid-template-columns: 1fr !important; }
    body.booking-page .t-sidebar { position: static !important; order: initial !important; }
}

@media (max-width: 760px) {
    body.booking-page .t-hero { min-height: 690px; padding: 125px 20px 115px !important; }
    body.booking-page .t-hero h1 { font-size: clamp(2.5rem, 12vw, 3.7rem) !important; }
    body.booking-page .t-hero-pills { display: grid !important; gap: 10px !important; }
    body.booking-page .t-stepper-wrap { width: calc(100% - 28px) !important; margin-top: -62px !important; }
    body.booking-page .t-stepper { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    body.booking-page .t-step { min-height: 88px; }
    body.booking-page .t-cal-wrap,
    body.booking-page .t-body { width: calc(100% - 28px) !important; }
    body.booking-page .t-cal-header { align-items: stretch; }
    body.booking-page .t-cal-nav { justify-content: space-between; width: 100%; }
}

@media (max-width: 600px) {
    body.booking-page .t-cal-card { padding: 17px 11px !important; }
    body.booking-page .t-form-inner { padding: 22px 17px !important; }
    body.booking-page .t-grid { gap: 14px; }
    body.booking-page .t-sidebar-card { padding: 22px 18px; }
}
