/**
 * Party místnost — stejný dark design jako rezervace skákání (.hj-party-wizard)
 */

html:has(.hj-customer-dark.hj-party-wizard.bw-body--site) {
    background: #1b1d27 !important;
}

.hj-customer-dark.hj-party-wizard.bw-theme-classic.bw-body {
    background: #1b1d27 !important;
    color: #fff;
}

.hj-customer-dark.hj-party-wizard .bw-progress-bar.hj-wiz-topbar {
    display: none !important;
}

.hj-customer-dark.hj-party-wizard .bw-main.bw-shell {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 16px 100px;
}

.hj-customer-dark.hj-party-wizard .hj-wiz-page--party {
    background: transparent;
}

.hj-customer-dark.hj-party-wizard .hj-wiz-page__head {
    text-align: center;
    padding: 24px 16px 12px;
}

.hj-customer-dark.hj-party-wizard .hj-wiz-page__head h1 {
    color: #ff4da6 !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    font-size: clamp(22px, 4vw, 32px) !important;
    margin: 0 0 6px;
}

.hj-customer-dark.hj-party-wizard .hj-wiz-page__sub {
    color: #b9bbcb !important;
    font-size: 14px;
    margin: 0;
}

/* Stejný 2-sloupcový layout jako rezervace skákání (kroky + Shrnutí) — viz hopjump-customer-dark-wizard.css */
.hj-customer-dark.hj-party-wizard.bw-body--site .bw-phone {
    max-width: none !important;
    width: 100%;
}

@media (min-width: 960px) {
    .hj-customer-dark.hj-party-wizard.bw-theme-classic .bw-wizard-aside,
    .hj-customer-dark.hj-party-wizard.bw-theme-classic .hj-wiz-card--sum {
        display: block !important;
    }
}

.hj-customer-dark.hj-party-wizard .bw-phone,
.hj-customer-dark.hj-party-wizard .bw-phone-body {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.hj-customer-dark.hj-party-wizard .bw-spring {
    display: none !important;
}

.hj-customer-dark.hj-party-wizard .bw-party-banner {
    background: #3a3b0a !important;
    border: 1px solid rgba(225, 240, 33, 0.35) !important;
    border-radius: 14px !important;
    color: #e1f021 !important;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 14px;
}

.hj-customer-dark.hj-party-wizard .bw-intro,
.hj-customer-dark.hj-party-wizard .bw-hint,
.hj-customer-dark.hj-party-wizard .wp-html {
    color: #b9bbcb !important;
}

.hj-customer-dark.hj-party-wizard .bw-intro a,
.hj-customer-dark.hj-party-wizard .bw-hint a,
.hj-customer-dark.hj-party-wizard .hj-text-link {
    color: #ff4da6 !important;
}

/* Kroky */
.hj-customer-dark.hj-party-wizard .bw-phone-body .bw-step {
    background: #242632 !important;
    border: 1px solid #3a3d50 !important;
    border-radius: 18px !important;
    padding: 0 !important;
    margin: 0 0 10px !important;
    box-shadow: none !important;
    opacity: 1 !important;
    animation: none;
}

.hj-customer-dark.hj-party-wizard .bw-step.is-locked {
    pointer-events: none;
    padding: 14px 16px !important;
}

.hj-customer-dark.hj-party-wizard .bw-step.is-locked > :not(.bw-step__head) {
    display: none !important;
}

.hj-customer-dark.hj-party-wizard .bw-step__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 !important;
    padding: 14px 18px;
    background: #242632 !important;
}

.hj-customer-dark.hj-party-wizard .bw-step:not(.is-locked) .bw-step__head {
    border-bottom: 1px solid #3a3d50;
}

.hj-customer-dark.hj-party-wizard .bw-step:not(.is-locked) > :not(.bw-step__head) {
    padding: 16px 18px 18px;
}

.hj-customer-dark.hj-party-wizard .bw-step__title {
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 16px !important;
}

.hj-customer-dark.hj-party-wizard .bw-step__num {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: #1b1d27 !important;
    border: 1px solid #3a3d50 !important;
    color: #fff !important;
    font-weight: 800;
    font-size: 14px;
}

.hj-customer-dark.hj-party-wizard .bw-step.is-complete .bw-step__num {
    background: #1b1d27 !important;
    border-color: #3a3d50 !important;
    color: #fff !important;
}

.hj-customer-dark.hj-party-wizard .bw-step__check {
    margin-left: auto;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #e1f021 !important;
    color: #1b1d27 !important;
    font-weight: 800;
}

.hj-customer-dark.hj-party-wizard .bw-step.is-locked .bw-step__title {
    color: #b9bbcb !important;
}

.hj-customer-dark.hj-party-wizard .bw-step.is-locked .bw-step__num {
    color: #b9bbcb !important;
}

/* Místnosti */
.hj-customer-dark.hj-party-wizard .bw-room-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.hj-customer-dark.hj-party-wizard.bw-body--site .bw-room__btn {
    background: #1b1d27 !important;
    border: 2px solid #3a3d50 !important;
    border-radius: 14px !important;
    color: #fff !important;
    padding: 14px 12px !important;
    text-align: left;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    outline: none !important;
    box-shadow: none !important;
}

.hj-customer-dark.hj-party-wizard.bw-body--site .bw-room__btn:not(.is-selected):hover,
.hj-customer-dark.hj-party-wizard.bw-body--site .bw-room__btn:not(.is-selected):focus-visible {
    border-color: #e1f021 !important;
    box-shadow: 0 0 0 1px #e1f021 !important;
    outline: none !important;
}

.hj-customer-dark.hj-party-wizard.bw-body--site .bw-room__btn.is-selected,
.hj-customer-dark.hj-party-wizard.bw-body--site .bw-room__btn.is-selected:hover,
.hj-customer-dark.hj-party-wizard.bw-body--site .bw-room__btn.is-selected:focus-visible {
    background: #242632 !important;
    border-color: #ff4da6 !important;
    box-shadow: 0 0 0 1px #ff4da6 !important;
    outline: none !important;
}

.hj-customer-dark.hj-party-wizard .bw-room__name {
    color: #fff !important;
    font-weight: 800;
    font-size: 15px;
}

.hj-customer-dark.hj-party-wizard .bw-room__desc {
    color: #b9bbcb !important;
    font-size: 12px;
    margin-top: 4px;
}

.hj-customer-dark.hj-party-wizard .bw-room__photo-wrap {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    max-height: 88px;
    overflow: hidden;
    border-radius: 8px;
    margin-bottom: 6px;
    background: #1b1d27 !important;
}

.hj-customer-dark.hj-party-wizard .bw-room-gallery__label {
    color: var(--site-muted);
}

.hj-customer-dark.hj-party-wizard .bw-room-gallery__main {
    border-color: var(--site-line);
    background: #242632;
}

.hj-customer-dark.hj-party-wizard .bw-room-gallery__main img {
    max-height: 200px;
}

.hj-customer-dark.hj-party-wizard .bw-room-gallery__thumb {
    border-color: rgba(255, 255, 255, 0.12);
}

.hj-customer-dark.hj-party-wizard .bw-room-gallery__thumb.is-active {
    border-color: var(--site-pink);
}

.hj-customer-dark.hj-party-wizard .bw-room__photo,
.hj-customer-dark.hj-party-wizard .bw-room__btn > img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: 100%;
    max-height: 88px !important;
    object-fit: cover !important;
    object-position: center;
    border-radius: 8px;
}

.hj-customer-dark.hj-party-wizard .wp-html img,
.hj-customer-dark.hj-party-wizard .bw-party-room-compare img,
.hj-customer-dark.hj-party-wizard .bw-intro img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 112px !important;
    object-fit: cover !important;
    object-position: center;
    border-radius: 8px;
    border: 1px solid #3a3d50;
    margin: 8px 0;
}

/* Datum — chipy + kalendář */
.hj-customer-dark.hj-party-wizard .hj-wiz-sec-label,
.hj-customer-dark.hj-party-wizard .hj-cal__title,
.hj-customer-dark.hj-party-wizard .bw-sec-label {
    color: #ff4da6 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 12px !important;
}

.hj-customer-dark.hj-party-wizard .bw-date-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.hj-customer-dark.hj-party-wizard .bw-date-chip {
    background: #1b1d27 !important;
    border: 1.5px solid #3a3d50 !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-size: 12px;
    font-weight: 600;
    padding: 8px 14px;
    cursor: pointer;
}

.hj-customer-dark.hj-party-wizard .bw-date-chip:not(.is-selected):hover,
.hj-customer-dark.hj-party-wizard .bw-date-chip:not(.is-selected):focus-visible {
    border-color: #e1f021 !important;
    outline: none;
}

.hj-customer-dark.hj-party-wizard .bw-date-chip.is-selected {
    border-color: #ff4da6 !important;
    background: #242632 !important;
}

.hj-customer-dark.hj-party-wizard .bw-cal-toggle {
    display: none !important;
}

.hj-customer-dark.hj-party-wizard .bw-cal.is-hidden {
    display: block !important;
}

.hj-customer-dark.hj-party-wizard .bw-schedule-layout--party {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    align-items: start;
}

@media (min-width: 960px) {
    .hj-customer-dark.hj-party-wizard .bw-schedule-layout--party {
        grid-template-columns: minmax(200px, 280px) minmax(0, 1fr);
        gap: 20px;
    }

    .hj-customer-dark.hj-party-wizard .bw-schedule-layout__slots {
        max-height: min(480px, calc(100vh - 300px));
        overflow-y: auto;
        overflow-x: hidden;
        padding-right: 4px;
        scrollbar-gutter: stable;
        scrollbar-width: thin;
        scrollbar-color: #3a3d50 transparent;
    }

    .hj-customer-dark.hj-party-wizard .bw-schedule-layout__slots::-webkit-scrollbar {
        width: 6px;
    }

    .hj-customer-dark.hj-party-wizard .bw-schedule-layout__slots::-webkit-scrollbar-thumb {
        background: #3a3d50;
        border-radius: 99px;
    }
}

.hj-customer-dark.hj-party-wizard .bw-schedule-layout__cal .bw-legend {
    display: none;
}

.hj-customer-dark.hj-party-wizard .bw-schedule-layout__slots .bw-slots-legend {
    margin-bottom: 10px;
}

/* Termíny — stejná mřížka a karty jako rezervace skákání */
.hj-customer-dark.hj-party-wizard .bw-slots--list {
    overflow: visible;
    max-height: none;
}

.hj-customer-dark.hj-party-wizard .bw-slot-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

@media (min-width: 480px) {
    .hj-customer-dark.hj-party-wizard .bw-slot-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.hj-customer-dark.hj-party-wizard .bw-slot-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-height: 72px;
    padding: 10px 10px 8px;
    border: 2px solid #3a3d50 !important;
    border-radius: 14px !important;
    background: #1b1d27 !important;
    position: relative;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.hj-customer-dark.hj-party-wizard .bw-slot-item:not(.is-disabled):not(.is-selected):hover,
.hj-customer-dark.hj-party-wizard .bw-slot-item:not(.is-disabled):not(.is-selected):focus-visible {
    border-color: #e1f021 !important;
    box-shadow: 0 0 0 1px #e1f021;
    outline: none;
    background: #1b1d27 !important;
}

.hj-customer-dark.hj-party-wizard .bw-slot-item__time {
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    line-height: 1.25;
}

.hj-customer-dark.hj-party-wizard .bw-slot-item__cap {
    font-size: 10px;
    font-weight: 600;
    color: #b9bbcb;
    margin-top: 0;
}

.hj-customer-dark.hj-party-wizard .bw-slot-item.is-selected {
    border-color: #ff4da6 !important;
    background: #242632 !important;
    box-shadow: 0 0 0 1px #ff4da6;
}

.hj-customer-dark.hj-party-wizard .bw-slot-item.is-selected::after {
    content: "✓";
    position: absolute;
    top: 6px;
    right: 8px;
    font-size: 11px;
    font-weight: 800;
    color: #ff3cb4;
}

.hj-customer-dark.hj-party-wizard .bw-slot-item.is-disabled {
    opacity: 0.4;
    background: #15171f !important;
}

/* Kalendář — přebít booking-wizard-sky + hopjump-site (.bw-theme-classic .hj-cal-host) */
.hj-customer-dark.hj-party-wizard.bw-theme-classic #party-calendar,
.hj-customer-dark.hj-party-wizard.bw-theme-classic #party-calendar.hj-cal-host,
.hj-customer-dark.hj-party-wizard.bw-theme-classic #party-calendar.trampoliny__calendar {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px !important;
    border: 1px solid #3a3d50 !important;
    border-radius: 16px !important;
    background: #1b1d27 !important;
}

.hj-customer-dark.hj-party-wizard.bw-theme-classic #party-calendar.hj-cal-host .ui-datepicker-calendar,
.hj-customer-dark.hj-party-wizard.bw-theme-classic #party-calendar.trampoliny__calendar .ui-datepicker-calendar {
    background: transparent !important;
    padding: 0 !important;
}

.hj-customer-dark.hj-party-wizard #party-calendar .ui-datepicker-header,
.hj-customer-dark.hj-party-wizard.bw-theme-classic #party-calendar.hj-cal-host .ui-datepicker-header,
.hj-customer-dark.hj-party-wizard.bw-theme-classic #party-calendar.trampoliny__calendar .ui-datepicker-header {
    background: transparent !important;
    padding: 4px 36px 8px !important;
    margin-bottom: 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
}

.hj-customer-dark.hj-party-wizard #party-calendar .ui-datepicker-header::after,
.hj-customer-dark.hj-party-wizard.bw-theme-classic #party-calendar.hj-cal-host .ui-datepicker-header::after,
.hj-customer-dark.hj-party-wizard.bw-theme-classic #party-calendar.trampoliny__calendar .ui-datepicker-header::after {
    display: none !important;
}

.hj-customer-dark.hj-party-wizard #party-calendar .ui-datepicker-title {
    color: #ff4da6 !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    font-size: 15px !important;
}

.hj-customer-dark.hj-party-wizard #party-calendar .ui-datepicker-month,
.hj-customer-dark.hj-party-wizard #party-calendar .ui-datepicker-year {
    display: inline !important;
    color: inherit !important;
}

.hj-customer-dark.hj-party-wizard #party-calendar .ui-datepicker-prev,
.hj-customer-dark.hj-party-wizard #party-calendar .ui-datepicker-next {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    background: #242632 !important;
    border: 1px solid #3a3d50 !important;
    color: #fff !important;
}

.hj-customer-dark.hj-party-wizard #party-calendar .ui-datepicker-calendar {
    background: transparent !important;
    padding: 0 !important;
}

.hj-customer-dark.hj-party-wizard #party-calendar .ui-datepicker th span {
    color: #8a8da1 !important;
    font-size: 11px;
    text-transform: lowercase;
}

.hj-customer-dark.hj-party-wizard #party-calendar .ui-datepicker td a,
.hj-customer-dark.hj-party-wizard #party-calendar .ui-datepicker td span {
    width: 40px !important;
    height: 40px !important;
    line-height: 40px !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    color: #fff !important;
    border: 2px solid transparent !important;
    background: transparent !important;
}

.hj-customer-dark.hj-party-wizard #party-calendar .ui-datepicker-unselectable .ui-state-default {
    color: #4a4e62 !important;
    text-decoration: line-through;
}

.hj-customer-dark.hj-party-wizard #party-calendar .ui-datepicker-calendar .ui-state-active,
.hj-customer-dark.hj-party-wizard.bw-theme-classic #party-calendar.hj-cal-host .ui-state-active,
.hj-customer-dark.hj-party-wizard.bw-theme-classic #party-calendar.hj-cal-host .ui-state-highlight,
.hj-customer-dark.hj-party-wizard.bw-theme-classic #party-calendar.trampoliny__calendar .ui-state-active,
.hj-customer-dark.hj-party-wizard.bw-theme-classic #party-calendar.trampoliny__calendar .ui-state-highlight {
    background: #ff4da6 !important;
    border-color: #ff4da6 !important;
    color: #1b1d27 !important;
}

.hj-customer-dark.hj-party-wizard.bw-theme-classic #party-calendar.hj-cal-host .ui-datepicker-today .ui-state-default:not(.ui-state-active),
.hj-customer-dark.hj-party-wizard.bw-theme-classic #party-calendar.trampoliny__calendar .ui-datepicker-today .ui-state-default:not(.ui-state-active) {
    background: rgba(255, 77, 166, 0.15) !important;
    color: #ff4da6 !important;
}

.hj-customer-dark.hj-party-wizard #party-calendar .ui-datepicker-calendar a.ui-state-default:hover,
.hj-customer-dark.hj-party-wizard.bw-theme-classic #party-calendar.hj-cal-host .ui-datepicker-calendar a.ui-state-default:hover,
.hj-customer-dark.hj-party-wizard.bw-theme-classic #party-calendar.hj-cal-host .ui-datepicker-calendar .ui-state-hover,
.hj-customer-dark.hj-party-wizard.bw-theme-classic #party-calendar.trampoliny__calendar .ui-datepicker-calendar a.ui-state-default:hover,
.hj-customer-dark.hj-party-wizard.bw-theme-classic #party-calendar.trampoliny__calendar .ui-datepicker-calendar .ui-state-hover {
    border-color: #e1f021 !important;
    background: transparent !important;
    color: #fff !important;
}

.hj-customer-dark.hj-party-wizard .bw-slots__empty {
    color: #b9bbcb !important;
    grid-column: 1 / -1;
}

/* Počty, formuláře */
.hj-customer-dark.hj-party-wizard .bw-counter__title {
    color: #fff !important;
}

.hj-customer-dark.hj-party-wizard .bw-counter__desc {
    color: #b9bbcb !important;
}

.hj-customer-dark.hj-party-wizard .bw-counter {
    border-top-color: #3a3d50 !important;
}

.hj-customer-dark.hj-party-wizard .bw-stepper button {
    background: #242632 !important;
    border: 1.5px solid #3a3d50 !important;
    color: #fff !important;
}

.hj-customer-dark.hj-party-wizard .bw-stepper input {
    color: #ff4da6 !important;
    font-weight: 800;
}

.hj-customer-dark.hj-party-wizard .bw-field label {
    color: #e8e9f0 !important;
}

.hj-customer-dark.hj-party-wizard .bw-field input,
.hj-customer-dark.hj-party-wizard .bw-email-row input,
.hj-customer-dark.hj-party-wizard .bw-birth select {
    background: #1b1d27 !important;
    border: 1.5px solid #3a3d50 !important;
    color: #fff !important;
}

.hj-customer-dark.hj-party-wizard .bw-consent p {
    color: #b9bbcb !important;
}

.hj-customer-dark.hj-party-wizard .bw-order__line {
    color: #b9bbcb !important;
}

.hj-customer-dark.hj-party-wizard .bw-order__line span:last-child {
    color: #fff !important;
    font-weight: 700;
}

.hj-customer-dark.hj-party-wizard .cta-bar.bw-paybar {
    position: fixed !important;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 60;
    background: #242632 !important;
    border-top: 1px solid #3a3d50 !important;
    box-shadow: 0 -12px 30px -12px #000;
}

@media (max-width: 959px) {
    .hj-customer-dark.hj-party-wizard.bw-body.bw-body--site {
        padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
    }

    .hj-customer-dark.hj-party-wizard .bw-paybar__lbl-stack {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: unset !important;
        gap: 2px;
    }

    .hj-customer-dark.hj-party-wizard .bw-paybar__lbl-stack .bw-paybar__lbl-line {
        display: block;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 11px;
        line-height: 1.35;
    }

    .hj-customer-dark.hj-party-wizard .bw-paybar__sum {
        gap: 4px;
    }
}

.hj-customer-dark.hj-party-wizard .bw-paybar__lbl {
    color: #b9bbcb !important;
}

.hj-customer-dark.hj-party-wizard .bw-paybar__amt {
    color: #fff !important;
    font-weight: 800;
}

.hj-customer-dark.hj-party-wizard .bw-paybar__btn {
    background: #ff3cb4 !important;
    color: #2a0a1e !important;
    font-weight: 800 !important;
    border-radius: 999px !important;
}

.hj-customer-dark.hj-party-wizard .bw-paybar__btn:disabled {
    background: #5a2a49 !important;
    color: #a57b99 !important;
}

@media (min-width: 721px) {
    .hj-customer-dark.hj-party-wizard .bw-paybar__inner {
        max-width: 1160px;
        margin: 0 auto;
        padding-left: 24px;
        padding-right: 24px;
        box-sizing: border-box;
    }
}
