/* /Components/Checkout.razor.rz.scp.css */
.vv-checkout[b-ju4jk3pw7c] {
    min-height: var(--hero-min-height);
}

.vv-checkout-card[b-ju4jk3pw7c] {
    display: grid;
    gap: 22px;
    min-height: var(--hero-min-height);
    padding: 32px 36px;
    border: 1px solid rgba(215, 208, 196, 0.95);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(251, 248, 243, 0.98));
    box-shadow: 0 18px 42px rgba(53, 43, 28, 0.08);
}

.vv-checkout-topbar[b-ju4jk3pw7c],
.vv-checkout-secure[b-ju4jk3pw7c],
.vv-checkout-back[b-ju4jk3pw7c] {
    display: flex;
    align-items: center;
}

.vv-checkout-topbar[b-ju4jk3pw7c] {
    justify-content: space-between;
    gap: 18px;
}

.vv-checkout-back[b-ju4jk3pw7c] {
    gap: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #1f2428;
    cursor: pointer;
    font: inherit;
    font-weight: 700;
}

.vv-checkout-secure[b-ju4jk3pw7c] {
    gap: 7px;
    color: var(--accent);
    font-size: 0.82rem;
    font-weight: 800;
}

.vv-checkout-hero[b-ju4jk3pw7c] {
    display: grid;
    gap: 7px;
    justify-items: center;
    text-align: center;
}

.vv-checkout-hero > span[b-ju4jk3pw7c] {
    color: var(--accent);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.vv-checkout-hero h2[b-ju4jk3pw7c] {
    margin: 0;
    font-family: var(--display-font);
    font-size: clamp(2.5rem, 4vw, 3.6rem);
    font-weight: 400;
}

.vv-checkout-hero p[b-ju4jk3pw7c] {
    margin: 0;
    color: var(--muted);
}

.vv-checkout-layout[b-ju4jk3pw7c] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.vv-checkout-sidebar[b-ju4jk3pw7c] {
    display: grid;
    gap: 18px;
    align-content: start;
}

.vv-checkout-section[b-ju4jk3pw7c] {
    display: grid;
    gap: 18px;
    padding: 20px;
    border: 1px solid rgba(215, 208, 196, 0.95);
    border-radius: 10px;
    background: #fff;
}

.vv-checkout-section-actions[b-ju4jk3pw7c] {
    align-content: start;
}

.vv-checkout-section-head[b-ju4jk3pw7c] {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.vv-checkout-section-head > span[b-ju4jk3pw7c] {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--accent);
    color: #fff;
    font-weight: 900;
}

.vv-checkout-section-head h3[b-ju4jk3pw7c] {
    margin: 2px 0 0;
    font-size: 1.15rem;
}

.vv-checkout-summary-headline[b-ju4jk3pw7c] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.vv-checkout-section-head p[b-ju4jk3pw7c] {
    margin: 6px 0 0;
    color: var(--muted);
    font-size: 0.88rem;
}

.vv-checkout-fields[b-ju4jk3pw7c] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.vv-checkout-fields label[b-ju4jk3pw7c] {
    display: grid;
    gap: 6px;
    color: #575148;
    font-size: 0.78rem;
    font-weight: 800;
}

.vv-checkout-fields label.wide[b-ju4jk3pw7c] {
    grid-column: 1 / -1;
}

.vv-checkout-fields > .wide[b-ju4jk3pw7c] {
    grid-column: 1 / -1;
}

.vv-checkout-fields input[b-ju4jk3pw7c] {
    min-width: 0;
    height: 44px;
    padding: 0 12px;
    border: 1px solid rgba(215, 208, 196, 0.95);
    border-radius: 9px;
    background: #fff;
    color: #1f2428;
    font: inherit;
}

.vv-checkout-fields input:focus[b-ju4jk3pw7c] {
    outline: 2px solid var(--accent-subtle);
    border-color: var(--accent);
}

.vv-checkout-fields textarea[b-ju4jk3pw7c] {
    min-width: 0;
    min-height: calc(1.5em * 3 + 24px);
    max-height: calc(1.5em * 3 + 24px);
    padding: 12px;
    border: 1px solid rgba(215, 208, 196, 0.95);
    border-radius: 9px;
    background: #fff;
    color: #1f2428;
    font: inherit;
    line-height: 1.5;
    overflow-y: auto;
    resize: none;
}

.vv-checkout-fields textarea:focus[b-ju4jk3pw7c] {
    outline: 2px solid var(--accent-subtle);
    border-color: var(--accent);
}

.vv-checkout-summary[b-ju4jk3pw7c] {
    display: grid;
    gap: 14px;
}

.vv-checkout-summary-shell[b-ju4jk3pw7c] {
    position: relative;
    min-height: 220px;
}

.vv-checkout-summary.is-loading[b-ju4jk3pw7c] {
    opacity: 0.3;
    filter: blur(1.5px);
}

.vv-checkout-summary p[b-ju4jk3pw7c] {
    margin: 0;
    color: #4d463d;
    font-size: 0.98rem;
    line-height: 1.7;
}

.vv-checkout-summary-overlay[b-ju4jk3pw7c] {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    pointer-events: none;
}

.vv-checkout-summary-overlay-card[b-ju4jk3pw7c] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border: 1px solid rgba(215, 208, 196, 0.95);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 12px 28px rgba(53, 43, 28, 0.12);
    color: var(--accent-text-strong);
    font-size: 0.9rem;
    font-weight: 800;
}

.vv-checkout-divider[b-ju4jk3pw7c] {
    height: 1px;
    background: rgba(215, 208, 196, 0.95);
}

.vv-checkout-primary[b-ju4jk3pw7c] {
    width: 100%;
    min-height: 48px;
    border: 0;
    border-radius: 9px;
    background: var(--accent);
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
}

.vv-checkout-primary:disabled[b-ju4jk3pw7c] {
    cursor: default;
    opacity: 0.58;
}

.vv-checkout-legal[b-ju4jk3pw7c] {
    display: grid;
    gap: 12px;
    margin-top: auto;
    padding-top: 8px;
    justify-items: center;
    text-align: center;
}

.vv-checkout-legal-ack[b-ju4jk3pw7c] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    max-width: 32rem;
    color: #4d463d;
    font-size: 0.86rem;
    font-weight: 700;
}

.vv-checkout-legal-ack input[b-ju4jk3pw7c] {
    width: 16px;
    height: 16px;
    accent-color: var(--accent);
}

.vv-checkout-legal-links[b-ju4jk3pw7c] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px 20px;
}

.vv-checkout-legal-link[b-ju4jk3pw7c] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--accent);
    font-size: 0.86rem;
    font-weight: 800;
    text-decoration: none;
}

.vv-checkout-legal-link:hover[b-ju4jk3pw7c] {
    text-decoration: underline;
}

.vv-checkout-legal-link .mud-icon-root[b-ju4jk3pw7c] {
    font-size: 1rem;
}

.vv-checkout-message[b-ju4jk3pw7c] {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 13px 15px;
    border-radius: 9px;
    font-size: 0.88rem;
    font-weight: 700;
}

.vv-checkout-cursor-spinner[b-ju4jk3pw7c] {
    position: relative;
    width: 18px;
    height: 22px;
    transform: rotate(-8deg);
    animation: vv-checkout-cursor-bob-b-ju4jk3pw7c 0.85s ease-in-out infinite;
}

.vv-checkout-cursor-spinner[b-ju4jk3pw7c]::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, var(--accent-gradient-top) 0%, var(--accent) 100%);
    clip-path: polygon(8% 0, 76% 54%, 49% 58%, 64% 100%, 41% 100%, 30% 63%, 8% 77%);
    border-radius: 2px;
}

.vv-checkout-cursor-spinner[b-ju4jk3pw7c]::after {
    content: "";
    position: absolute;
    left: 2px;
    bottom: -3px;
    width: 14px;
    height: 4px;
    border-radius: 999px;
    background: rgba(53, 43, 28, 0.12);
    filter: blur(1px);
}

.vv-checkout-message.error[b-ju4jk3pw7c] {
    background: #fff1f2;
    color: #8d3350;
}

.vv-checkout-message.success[b-ju4jk3pw7c] {
    background: var(--accent-panel);
    color: var(--accent-text-strong);
}

@keyframes vv-checkout-cursor-bob-b-ju4jk3pw7c {
    0%, 100% {
        transform: rotate(-8deg) translateY(0);
    }

    50% {
        transform: rotate(-4deg) translateY(-2px);
    }
}

@media (max-width: 1080px) {
    .vv-checkout-layout[b-ju4jk3pw7c] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .vv-checkout-card[b-ju4jk3pw7c] {
        padding: 24px;
    }
}

@media (max-width: 520px) {
    .vv-checkout-fields[b-ju4jk3pw7c] {
        grid-template-columns: 1fr;
    }

    .vv-checkout-fields label.wide[b-ju4jk3pw7c],
    .vv-checkout-fields > .wide[b-ju4jk3pw7c] {
        grid-column: auto;
    }
}
/* /Components/CheckoutPaymentResult.razor.rz.scp.css */
.vv-payment-result-shell[b-dt4dw57l80] {
    display: grid;
    gap: 16px;
}

.vv-payment-result-shell.is-prominent[b-dt4dw57l80] {
    margin-top: 6px;
}

.vv-payment-result-stack[b-dt4dw57l80] {
    display: grid;
    gap: 14px;
}

.vv-payment-result-card[b-dt4dw57l80] {
    display: grid;
    gap: 16px;
    justify-items: center;
    padding: 24px 22px;
    border: 1px solid rgba(215, 208, 196, 0.95);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(251, 253, 251, 1), rgba(244, 249, 245, 1));
    box-shadow: 0 16px 30px rgba(53, 43, 28, 0.08);
    text-align: center;
}

.vv-payment-result-icon[b-dt4dw57l80],
.vv-payment-result-result-icon[b-dt4dw57l80] {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    font-size: 1.6rem;
    font-weight: 900;
}

.vv-payment-result-icon.success[b-dt4dw57l80],
.vv-payment-result-result-icon.success[b-dt4dw57l80] {
    background: var(--accent-muted);
    color: var(--accent);
}

.vv-payment-result-result-icon.error[b-dt4dw57l80] {
    background: rgba(141, 51, 80, 0.12);
    color: #8d3350;
}

.vv-payment-result-paid[b-dt4dw57l80] {
    color: var(--accent);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.vv-payment-result-amount[b-dt4dw57l80] {
    color: #1f2428;
    font-family: var(--display-font);
    font-size: clamp(2rem, 5vw, 2.8rem);
    line-height: 1;
}

.vv-payment-result-details[b-dt4dw57l80] {
    display: grid;
    gap: 10px;
    width: 100%;
    max-width: 24rem;
}

.vv-payment-result-row[b-dt4dw57l80] {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding-top: 10px;
    border-top: 1px solid rgba(215, 208, 196, 0.95);
    text-align: left;
}

.vv-payment-result-label[b-dt4dw57l80] {
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 800;
}

.vv-payment-result-value[b-dt4dw57l80] {
    color: #1f2428;
    font-size: 0.88rem;
    font-weight: 800;
    text-align: right;
}

.vv-payment-result-title[b-dt4dw57l80] {
    margin: 0;
    color: #1f2428;
    font-size: 1.2rem;
    text-align: center;
}

.vv-payment-result-message[b-dt4dw57l80] {
    margin: 0;
    color: #4d463d;
    font-size: 0.94rem;
    line-height: 1.6;
    text-align: center;
}

.vv-payment-result-result-icon-glyph[b-dt4dw57l80] {
    line-height: 1;
}
/* /Components/CountrySelector.razor.rz.scp.css */
.vv-country-field[b-9b5ke8rvuo] {
    position: relative;
    display: grid;
    gap: 6px;
    color: #575148;
    font-size: 0.78rem;
    font-weight: 800;
}

.vv-country-field > label[b-9b5ke8rvuo] {
    color: inherit;
    font: inherit;
}

.vv-country-combobox[b-9b5ke8rvuo] {
    position: relative;
}

.vv-country-combobox input[b-9b5ke8rvuo] {
    width: 100%;
    min-width: 0;
    height: 44px;
    padding: 0 38px 0 12px;
    border: 1px solid rgba(215, 208, 196, 0.95);
    border-radius: 9px;
    background: #fff;
    color: #1f2428;
    font: inherit;
    font-weight: 400;
}

.vv-country-combobox:has(.vv-country-selected-code) input[b-9b5ke8rvuo] {
    padding-left: 52px;
}

.vv-country-combobox input:focus[b-9b5ke8rvuo] {
    outline: 2px solid var(--accent-subtle);
    border-color: var(--accent);
}

.vv-country-selected-code[b-9b5ke8rvuo] {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 12px;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    min-width: 28px;
    height: 22px;
    padding: 0 5px;
    border-radius: 5px;
    background: var(--accent-panel);
    color: var(--accent-text-strong);
    font-size: 0.68rem;
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
}

.vv-country-expand-button[b-9b5ke8rvuo] {
    position: absolute;
    z-index: 2;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: #81796f;
    cursor: pointer;
}

.vv-country-expand-button:hover[b-9b5ke8rvuo],
.vv-country-expand-button:focus-visible[b-9b5ke8rvuo] {
    background: var(--accent-panel);
    color: var(--accent-text-strong);
    outline: none;
}

.vv-country-results[b-9b5ke8rvuo] {
    position: absolute;
    z-index: 20;
    top: calc(100% + 6px);
    right: 0;
    left: 0;
    max-height: 286px;
    overflow-y: auto;
    padding: 6px;
    border: 1px solid rgba(215, 208, 196, 0.98);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 18px 36px rgba(53, 43, 28, 0.16);
}

.vv-country-results button[b-9b5ke8rvuo] {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    width: 100%;
    padding: 9px 10px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #1f2428;
    cursor: pointer;
    font: inherit;
    font-size: 0.86rem;
    font-weight: 600;
    text-align: left;
}

.vv-country-results button:hover[b-9b5ke8rvuo],
.vv-country-results button[aria-selected="true"][b-9b5ke8rvuo] {
    background: var(--accent-surface);
}

.vv-country-code[b-9b5ke8rvuo] {
    display: grid;
    place-items: center;
    min-width: 30px;
    height: 23px;
    border-radius: 5px;
    background: var(--accent-panel);
    color: var(--accent-text-strong);
    font-size: 0.66rem;
    font-weight: 900;
}

.vv-country-empty[b-9b5ke8rvuo] {
    padding: 12px;
    color: #81796f;
    font-size: 0.82rem;
    font-weight: 600;
    text-align: center;
}
/* /Components/JsonDebugDialog.razor.rz.scp.css */
.json-debug-backdrop[b-tbow799i3q] {
    position: fixed;
    inset: 0;
    z-index: 1400;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(36, 36, 36, 0.45);
    backdrop-filter: blur(2px);
}

.json-debug-dialog[b-tbow799i3q] {
    display: grid;
    gap: 16px;
    width: min(960px, 100%);
    max-height: min(88vh, 960px);
    padding: 18px 22px;
    overflow: hidden;
    border: 1px solid rgba(223, 215, 218, 0.95);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 38px rgba(36, 36, 36, 0.28);
}

.json-debug-head[b-tbow799i3q] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.json-debug-actions[b-tbow799i3q] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.json-debug-title[b-tbow799i3q] {
    color: #3b3135;
    font-size: 1rem;
    font-weight: 700;
}

.json-debug-copy[b-tbow799i3q],
.json-debug-close[b-tbow799i3q] {
    padding: 0.5rem 0.85rem;
    border: 1px solid rgba(192, 74, 110, 0.24);
    border-radius: 999px;
    background: rgba(192, 74, 110, 0.08);
    color: #8d3350;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
}

.json-debug-copy[b-tbow799i3q] {
    background: rgba(85, 122, 99, 0.1);
    border-color: rgba(85, 122, 99, 0.24);
    color: #44614f;
}

.json-debug-content[b-tbow799i3q] {
    padding: 16px;
    overflow-x: auto;
    overflow-y: auto;
    border-radius: 10px;
    background: #1e1e1e;
    border: 1px solid #343434;
    color: #d4d4d4;
    font-size: 0.84rem;
    line-height: 1.5;
    white-space: pre;
    max-height: min(68vh, 720px);
}

.json-debug-content[b-tbow799i3q],
.json-debug-fallback[b-tbow799i3q] {
    font-family: Consolas, "Courier New", monospace;
}

.json-debug-fallback[b-tbow799i3q] {
    margin: 0;
    white-space: pre;
    color: #d4d4d4;
}

.json-debug-empty[b-tbow799i3q] {
    padding: 1rem;
    border-radius: 10px;
    background: rgba(255, 241, 242, 0.85);
    border: 1px solid rgba(192, 74, 110, 0.18);
    color: #8d3350;
}

@media (max-width: 760px) {
    .json-debug-backdrop[b-tbow799i3q] {
        padding: 12px;
    }

    .json-debug-head[b-tbow799i3q] {
        flex-direction: column;
    }
}
/* /Components/JsonDebugNode.razor.rz.scp.css */
.json-node[b-jju0t2jjt1] {
    padding-left: calc(var(--json-depth) * 0.5rem);
}

.json-node-row[b-jju0t2jjt1] {
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 0.15rem;
    line-height: 1.55;
    min-width: 0;
}

.json-node-inline[b-jju0t2jjt1] {
    display: flex;
    align-items: baseline;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    min-width: 0;
    gap: 0.15rem;
    white-space: nowrap;
}

.json-node-container-row[b-jju0t2jjt1],
.json-node-closing-row[b-jju0t2jjt1] {
    color: #d4d4d4;
}

.json-node-toggle[b-jju0t2jjt1] {
    width: 1.1rem;
    min-width: 1.1rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #d4d4d4;
    cursor: pointer;
    font: inherit;
    line-height: 1.2;
}

.json-node-toggle:hover[b-jju0t2jjt1] {
    color: #ffffff;
}

.json-node-leaf-spacer[b-jju0t2jjt1],
.json-node-closing-spacer[b-jju0t2jjt1] {
    width: 1.1rem;
    min-width: 1.1rem;
}

.json-node-punctuation[b-jju0t2jjt1] {
    color: #d4d4d4;
}

.json-node-meta[b-jju0t2jjt1] {
    color: #808080;
    font-size: 0.8rem;
}

.json-key[b-jju0t2jjt1] {
    color: #4fc1ff;
    flex: 0 0 auto;
    white-space: nowrap;
}

.json-value[b-jju0t2jjt1] {
    flex: 0 0 auto;
    white-space: nowrap;
}

.json-string[b-jju0t2jjt1] {
    color: #ce9178;
}

.json-number[b-jju0t2jjt1] {
    color: #b5cea8;
}

.json-boolean[b-jju0t2jjt1] {
    color: #569cd6;
    font-weight: 600;
}

.json-null[b-jju0t2jjt1] {
    color: #569cd6;
    font-style: normal;
}
/* /Components/Legacy.razor.rz.scp.css */
.vv-legacy-room-rail[b-scw0t24fn8] {
    justify-content: safe center;
}

.vv-legacy-room-details[b-scw0t24fn8] {
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 7px;
    overflow: hidden;
}

.vv-legacy-room-summary[b-scw0t24fn8] {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.vv-legacy-first-rate[b-scw0t24fn8] {
    overflow: hidden;
    color: var(--accent);
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vv-legacy-empty[b-scw0t24fn8] {
    display: grid;
    justify-items: center;
    gap: 7px;
    margin-top: 24px;
    padding: 38px 20px;
    border: 1px dashed #dcd5ca;
    border-radius: 10px;
    color: #756d62;
    text-align: center;
}

.vv-legacy-empty strong[b-scw0t24fn8] {
    color: #2f2a25;
}
/* /Components/SearchBox.razor.rz.scp.css */
.vv-search-shell[b-eybwzapzj3] {
    position: relative;
    display: grid;
}

.vv-search-trigger[b-eybwzapzj3] {
    width: 100%;
    border: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
}

.vv-search-trigger:disabled[b-eybwzapzj3] {
    opacity: 1;
    cursor: default;
}

.vv-search-trigger.active[b-eybwzapzj3] {
    color: inherit;
}

.vv-search-trigger.active .vv-search-icon[b-eybwzapzj3] {
    color: #8a8479;
}

.vv-search-trigger.active small[b-eybwzapzj3] {
    color: #8f8a80;
}

.vv-search-trigger.active strong[b-eybwzapzj3] {
    color: #2e2d29;
}

.vv-search-popover[b-eybwzapzj3] {
    position: absolute;
    top: calc(100% + 14px);
    left: 50%;
    z-index: 30;
    width: min(92vw, 530px);
    padding: 18px;
    border: 1px solid rgba(214, 208, 199, 0.72);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 248, 244, 0.96));
    box-shadow: 0 18px 44px rgba(29, 27, 23, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(20px);
    transform: translateX(-50%);
}

.vv-search-calendar-popover[b-eybwzapzj3] {
    width: min(92vw, 320px);
    padding: 10px;
}

.vv-search-guests-popover[b-eybwzapzj3] {
    width: min(92vw, 360px);
}

.vv-search-promo-popover[b-eybwzapzj3] {
    width: min(92vw, 360px);
}

.vv-search-calendar-popover[b-eybwzapzj3],
.vv-search-guests-popover[b-eybwzapzj3],
.vv-search-promo-popover[b-eybwzapzj3],
.vv-calendar-picker[b-eybwzapzj3],
.vv-calendar-picker header[b-eybwzapzj3],
.vv-calendar-legend[b-eybwzapzj3],
.vv-calendar-weekdays[b-eybwzapzj3],
.vv-calendar-grid[b-eybwzapzj3],
.vv-calendar-actions[b-eybwzapzj3],
.vv-guest-stepper[b-eybwzapzj3],
.vv-promo-shell[b-eybwzapzj3],
.vv-promo-actions[b-eybwzapzj3] {
    display: grid;
}

.vv-calendar-picker[b-eybwzapzj3],
.vv-search-guests-popover[b-eybwzapzj3],
.vv-search-promo-popover[b-eybwzapzj3] {
    gap: 6px;
}

.vv-calendar-picker header[b-eybwzapzj3] {
    grid-template-columns: 36px minmax(170px, 220px) 36px;
    justify-content: center;
    justify-items: center;
    gap: 14px;
    align-items: center;
    margin-bottom: 4px;
    width: 100%;
}

.vv-calendar-picker header button[b-eybwzapzj3] {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(214, 208, 199, 0.72);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.84);
    color: var(--ink);
    cursor: pointer;
}

.vv-calendar-picker header .material-symbols-outlined[b-eybwzapzj3] {
    font-size: 20px;
    line-height: 1;
}

.vv-calendar-title-button[b-eybwzapzj3] {
    width: min(100%, 220px);
    min-width: 170px;
    max-width: 220px;
    height: 32px;
    padding: 0 14px;
    border: 1px solid rgba(214, 208, 199, 0.72);
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.84);
    justify-self: center;
    color: var(--ink);
    cursor: pointer;
    font-size: 0.78rem;
    font-weight: 760;
    letter-spacing: 0.02em;
    text-align: center;
}

.vv-month-jump-panel[b-eybwzapzj3] {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(214, 208, 199, 0.68);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.vv-month-jump-year[b-eybwzapzj3] {
    display: grid;
    grid-template-columns: 30px 1fr 30px;
    gap: 8px;
    align-items: center;
}

.vv-month-jump-year strong[b-eybwzapzj3] {
    text-align: center;
    font-size: 0.86rem;
}

.vv-month-jump-year button[b-eybwzapzj3] {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(214, 208, 199, 0.72);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.84);
    color: var(--ink);
    cursor: pointer;
}

.vv-month-jump-grid[b-eybwzapzj3] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
}

.vv-month-jump-grid button[b-eybwzapzj3] {
    min-height: 34px;
    border: 1px solid rgba(214, 208, 199, 0.68);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.84);
    color: var(--ink);
    cursor: pointer;
    font-size: 0.74rem;
    font-weight: 820;
    text-transform: capitalize;
}

.vv-month-jump-grid button.active[b-eybwzapzj3] {
    border-color: #d8d1c6;
    background: #eee8de;
    color: #3f3a33;
}

.vv-month-jump-grid button:disabled[b-eybwzapzj3] {
    border-color: transparent;
    background: #f0eee9;
    color: #aaa49a;
    cursor: not-allowed;
    opacity: 0.72;
}

.vv-calendar-legend[b-eybwzapzj3] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 6px;
    margin: 2px 0 1px;
    padding: 8px 10px;
    border: 1px solid rgba(214, 208, 199, 0.56);
    border-radius: 10px;
    background: rgba(251, 249, 245, 0.88);
}

.vv-calendar-legend span[b-eybwzapzj3] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--muted);
    font-size: 0.6rem;
    font-weight: 720;
}

.vv-calendar-legend i[b-eybwzapzj3] {
    width: 8px;
    height: 8px;
    border-radius: 2px;
}

.vv-legend-closed-stay[b-eybwzapzj3] {
    background: #d9d5ce;
}

.vv-legend-closed-arrival[b-eybwzapzj3] {
    background: #f0b6aa;
}

.vv-legend-closed-departure[b-eybwzapzj3] {
    background: #f2d18e;
}

.vv-legend-minlos[b-eybwzapzj3] {
    background: #edf4ff;
}

.vv-calendar-weekdays[b-eybwzapzj3],
.vv-calendar-grid[b-eybwzapzj3] {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 4px;
}

.vv-calendar-weekdays span[b-eybwzapzj3] {
    color: var(--muted);
    font-size: 0.58rem;
    font-weight: 820;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-align: center;
}

.vv-calendar-day[b-eybwzapzj3] {
    position: relative;
    display: grid;
    place-items: center;
    overflow: visible;
    min-width: 0;
    aspect-ratio: 1;
    padding: 0;
    border: 1px solid rgba(214, 208, 199, 0.3);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--ink);
    cursor: pointer;
    font-size: 0.72rem;
    font-weight: 760;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
    isolation: isolate;
}

.vv-day-number[b-eybwzapzj3],
.vv-day-meta[b-eybwzapzj3] {
    position: relative;
    z-index: 2;
}

.vv-calendar-day small[b-eybwzapzj3] {
    position: absolute;
    right: 2px;
    bottom: 2px;
    color: #8a8479;
    font-size: 0.46rem;
    line-height: 1;
}

.vv-calendar-day.outside[b-eybwzapzj3] {
    opacity: 0.28;
}

.vv-calendar-day.outside.selected[b-eybwzapzj3],
.vv-calendar-day.outside.preview[b-eybwzapzj3] {
    opacity: 1;
}

.vv-calendar-day.past[b-eybwzapzj3] {
    background: #f0eee9;
    border-color: transparent;
    color: #aaa49a;
    text-decoration: line-through;
}

.vv-calendar-day.blocked:not(.selected):not(.preview)[b-eybwzapzj3] {
    background: #f0eee9;
    border-color: transparent;
    color: #aaa49a;
    opacity: 0.6;
    box-shadow: none;
}

.vv-calendar-day.today[b-eybwzapzj3] {
    border-color: #cfc7bb;
    box-shadow: inset 0 0 0 1px rgba(132, 121, 104, 0.14);
}

.vv-calendar-day[b-eybwzapzj3]::before,
.vv-calendar-day[b-eybwzapzj3]::after {
    content: "";
    position: absolute;
    opacity: 0;
    pointer-events: none;
    transition: opacity 120ms ease, background 120ms ease, transform 120ms ease;
}

.vv-calendar-day.selected[b-eybwzapzj3],
.vv-calendar-day.preview[b-eybwzapzj3] {
    text-decoration: none;
}

.vv-calendar-day.selected[b-eybwzapzj3]::before,
.vv-calendar-day.preview[b-eybwzapzj3]::before {
    top: 6px;
    bottom: 6px;
    left: -4px;
    right: -4px;
    border-radius: 0;
    z-index: 0;
}

.vv-calendar-day.selected[b-eybwzapzj3]::after,
.vv-calendar-day.preview[b-eybwzapzj3]::after {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 999px;
    z-index: 1;
}

.vv-calendar-day.selected[b-eybwzapzj3] {
    border-color: transparent;
    color: #fff;
    box-shadow: none;
}

.vv-calendar-day.selected[b-eybwzapzj3]::before {
    opacity: 1;
    background: var(--accent);
}

.vv-calendar-day.selected.arrival[b-eybwzapzj3]::before {
    left: 50%;
}

.vv-calendar-day.selected.arrival[b-eybwzapzj3]::after,
.vv-calendar-day.selected.departure[b-eybwzapzj3]::after {
    opacity: 1;
    background: var(--accent);
    box-shadow: none;
}

.vv-calendar-day.selected.departure[b-eybwzapzj3]::before {
    right: 50%;
}

.vv-calendar-day.selected small[b-eybwzapzj3] {
    color: rgba(255, 255, 255, 0.8);
}

.vv-calendar-day.preview[b-eybwzapzj3] {
    border-color: var(--accent-subtle);
    color: var(--accent);
}

.vv-calendar-day.preview[b-eybwzapzj3]::before {
    opacity: 1;
    background: var(--accent-emphasis);
}

.vv-calendar-day.preview.preview-end[b-eybwzapzj3]::before {
    right: 50%;
    background: var(--accent);
}

.vv-calendar-day.preview.preview-end[b-eybwzapzj3]::after {
    opacity: 1;
    background: var(--accent);
    box-shadow: none;
}

.vv-calendar-day.preview.preview-end[b-eybwzapzj3] {
    color: #fff;
}

.vv-calendar-day.preview.preview-end small[b-eybwzapzj3] {
    color: rgba(255, 255, 255, 0.8);
}

.vv-calendar-day.preview small[b-eybwzapzj3] {
    color: var(--accent-text-strong);
}

.vv-calendar-day.closed-stay:not(.selected)[b-eybwzapzj3] {
    color: var(--ink);
}

.vv-calendar-day.closed-stay:not(.selected) .vv-day-number[b-eybwzapzj3] {
    position: relative;
    text-decoration: none;
    color: transparent;
}

.vv-calendar-day.closed-stay:not(.selected) .vv-day-number[b-eybwzapzj3]::before,
.vv-calendar-day.closed-stay:not(.selected) .vv-day-number[b-eybwzapzj3]::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.15em;
    height: 2px;
    border-radius: 999px;
    background: #c4574d;
    transform-origin: center;
    pointer-events: none;
}

.vv-calendar-day.closed-stay:not(.selected) .vv-day-number[b-eybwzapzj3]::before {
    transform: translate(-50%, -50%) rotate(42deg);
}

.vv-calendar-day.closed-stay:not(.selected) .vv-day-number[b-eybwzapzj3]::after {
    transform: translate(-50%, -50%) rotate(-42deg);
}

.vv-calendar-day.closed-arrival:not(.selected)[b-eybwzapzj3] {
    background: #fff1ee;
    border-color: #f0b6aa;
}

.vv-calendar-day.closed-departure:not(.selected)[b-eybwzapzj3] {
    background: #fff8e9;
    border-color: #f2d18e;
}

.vv-calendar-day.minlos:not(.selected)[b-eybwzapzj3] {
    background: #f7faff;
    border-color: #d9e5f7;
}

.vv-calendar-day.past.closed-arrival[b-eybwzapzj3],
.vv-calendar-day.past.closed-departure[b-eybwzapzj3],
.vv-calendar-day.past.minlos[b-eybwzapzj3] {
    background: #f0eee9;
    border-color: transparent;
}

.vv-calendar-day:disabled[b-eybwzapzj3] {
    cursor: not-allowed;
}

.vv-calendar-actions button[b-eybwzapzj3] {
    min-height: 32px;
    padding: 0 12px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--accent-gradient-top) 0%, var(--accent-gradient-bottom) 100%);
    color: #fffdf9;
    cursor: pointer;
    font-size: 0.66rem;
    font-weight: 820;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 14px 28px var(--accent-shadow);
}

.vv-guest-stepper[b-eybwzapzj3] {
    gap: 0;
    padding: 4px 0;
}

.vv-guest-row[b-eybwzapzj3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 44px;
}

.vv-guest-row span[b-eybwzapzj3] {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
}

.vv-guest-row strong[b-eybwzapzj3] {
    font-size: 0.9rem;
}

.vv-guest-row small[b-eybwzapzj3] {
    color: var(--muted);
    font-size: 0.74rem;
}

.vv-stepper-controls[b-eybwzapzj3] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.vv-stepper-controls button[b-eybwzapzj3] {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: #fff;
    color: var(--muted);
    cursor: pointer;
}

.vv-stepper-controls button:disabled[b-eybwzapzj3] {
    opacity: 0.42;
    cursor: not-allowed;
}

.vv-promo-shell[b-eybwzapzj3] {
    gap: 10px;
}

.vv-promo-label[b-eybwzapzj3] {
    color: var(--ink);
    font-size: 0.74rem;
    font-weight: 760;
}

.vv-promo-input[b-eybwzapzj3] {
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid rgba(214, 208, 199, 0.78);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.94);
    color: var(--ink);
    font-size: 0.86rem;
    font-weight: 640;
    outline: none;
}

.vv-promo-input:focus[b-eybwzapzj3] {
    border-color: var(--accent-border-strong);
    box-shadow: 0 0 0 3px var(--accent-subtle);
}

.vv-promo-actions[b-eybwzapzj3] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.vv-promo-actions button[b-eybwzapzj3] {
    min-height: 34px;
    padding: 0 12px;
    border-radius: 10px;
    font-size: 0.66rem;
    font-weight: 820;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
}

.vv-promo-clear[b-eybwzapzj3] {
    border: 1px solid rgba(214, 208, 199, 0.78);
    background: rgba(255, 255, 255, 0.88);
    color: var(--muted);
}

.vv-promo-apply[b-eybwzapzj3] {
    border: 0;
    background: linear-gradient(180deg, var(--accent-gradient-top) 0%, var(--accent-gradient-bottom) 100%);
    color: #fffdf9;
    box-shadow: 0 14px 28px var(--accent-shadow);
}

@media (max-width: 1080px) {
    .vv-search-shell[b-eybwzapzj3] {
        width: 100%;
    }

    .vv-search-popover[b-eybwzapzj3] {
        width: min(100%, 530px);
    }
}

@media (max-width: 760px) {
    .vv-search-popover[b-eybwzapzj3] {
        width: 100%;
    }

    .vv-calendar-picker header[b-eybwzapzj3] {
        grid-template-columns: 40px minmax(0, 1fr) 40px;
        gap: 12px;
    }

    .vv-calendar-legend[b-eybwzapzj3] {
        grid-template-columns: 1fr;
    }
}
/* /Components/SmartPayPaymentMethodSelector.razor.rz.scp.css */
.vv-smartpay-selector[b-uonob1oos9] {
    display: grid;
    gap: 14px;
    padding: 14px 16px 16px;
    border: 1px solid #ddd8d0;
    border-radius: 10px;
    background: #fff;
}

.vv-smartpay-selector-head[b-uonob1oos9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.vv-smartpay-powered[b-uonob1oos9] {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #7d7280;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.vv-smartpay-powered-logo[b-uonob1oos9] {
    width: auto;
    height: 18px;
    display: block;
    flex: 0 0 auto;
}

.vv-smartpay-go-back[b-uonob1oos9] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #6f676b;
    cursor: pointer;
    font: inherit;
    font-size: 0.84rem;
    font-weight: 500;
}

.vv-smartpay-go-back:hover[b-uonob1oos9],
.vv-smartpay-go-back:focus-visible[b-uonob1oos9] {
    color: #514b4e;
}

.vv-smartpay-go-back-icon[b-uonob1oos9] {
    width: 0.95rem;
    height: 0.95rem;
    stroke: var(--accent);
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
    flex: 0 0 auto;
}

.vv-smartpay-placeholder[b-uonob1oos9],
.vv-smartpay-host[b-uonob1oos9],
.vv-smartpay-message[b-uonob1oos9] {
    min-height: 120px;
    border-radius: 10px;
}

.vv-smartpay-placeholder[b-uonob1oos9],
.vv-smartpay-message[b-uonob1oos9] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    text-align: center;
    font-size: 0.95rem;
    line-height: 1.45;
}

.vv-smartpay-placeholder[b-uonob1oos9] {
    border: 1px dashed var(--accent-emphasis);
    background: rgba(255, 255, 255, 0.92);
    color: #776a70;
}

.vv-smartpay-message.error[b-uonob1oos9] {
    border: 1px solid rgba(141, 51, 80, 0.18);
    background: rgba(255, 241, 242, 0.88);
    color: #8d3350;
}

.vv-smartpay-methods[b-uonob1oos9] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.vv-smartpay-method[b-uonob1oos9] {
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 14px;
    width: 100%;
    min-height: 118px;
    padding: 16px 14px;
    border: 1px solid #ddd8d0;
    border-radius: 10px;
    background: linear-gradient(180deg, var(--accent-surface) 0%, var(--accent-panel) 100%);
    color: #1c1a18;
    cursor: pointer;
    font: inherit;
    text-align: center;
    transition: transform 150ms ease, box-shadow 150ms ease, border-color 150ms ease, background 150ms ease;
    box-shadow: inset 0 0 0 1px var(--accent-subtle);
}

.vv-smartpay-method:hover[b-uonob1oos9] {
    transform: translateY(-1px);
    border-color: #d1cbc2;
    box-shadow: 0 8px 20px rgba(17, 17, 17, 0.06);
}

.vv-smartpay-method.selected[b-uonob1oos9] {
    border-color: var(--accent-emphasis);
    background: linear-gradient(180deg, var(--accent-surface) 0%, var(--accent-panel) 100%);
    box-shadow:
        0 10px 22px rgba(17, 17, 17, 0.08),
        inset 0 0 0 1px var(--accent-subtle);
}

.vv-smartpay-method-mark[b-uonob1oos9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    min-width: 146px;
    padding: 0 14px;
    border-radius: 10px;
    background: #fff;
    box-shadow: inset 0 0 0 1px #e2ddd5;
}

.vv-smartpay-method-mark.card[b-uonob1oos9] {
}

.vv-smartpay-method-mark.ideal[b-uonob1oos9] {
}

.vv-smartpay-method-mark.paypal[b-uonob1oos9] {
}

.vv-smartpay-method-mark.bancontact[b-uonob1oos9] {
}

.vv-smartpay-method-copy[b-uonob1oos9] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

.vv-smartpay-method-copy strong[b-uonob1oos9] {
    font-size: 0.98rem;
    font-weight: 700;
    color: #141414;
}

.vv-smartpay-host[b-uonob1oos9] {
    padding: 16px;
    border: 1px dashed var(--accent-emphasis);
    background: rgba(255, 255, 255, 0.92);
}

.vv-smartpay-card-brands[b-uonob1oos9] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    align-items: center;
    width: 100%;
}

.vv-smartpay-card-brand-image[b-uonob1oos9] {
    width: 100%;
    max-width: 24px;
    height: 18px;
    object-fit: contain;
    justify-self: center;
}

.vv-smartpay-ideal-brand-image[b-uonob1oos9] {
    width: 100%;
    max-width: 96px;
    height: 30px;
    object-fit: contain;
    justify-self: center;
}

.vv-smartpay-payment-brand-image[b-uonob1oos9] {
    width: 100%;
    height: 32px;
    object-fit: contain;
    justify-self: center;
}

.vv-smartpay-payment-brand-image.paypal[b-uonob1oos9] {
    max-width: 104px;
}

.vv-smartpay-payment-brand-image.bancontact[b-uonob1oos9] {
    max-width: 116px;
}

@media (max-width: 960px) {
    .vv-smartpay-selector-head[b-uonob1oos9] {
        align-items: flex-start;
        gap: 12px;
    }

    .vv-smartpay-methods[b-uonob1oos9] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .vv-smartpay-selector-head[b-uonob1oos9] {
        display: grid;
        justify-items: start;
    }
}
