/* Aurelia Hotel Booking Book Now UX. Generated file; edit assets/src/css/hotel-booking-book-now.css. */
/*
 * #0122.6 - Aurelia Book Now UX.
 *
 * This layer styles Hotel Booking Free's public Book Now markup only. Room,
 * availability, price, service, coupon, payment, validation, nonce and submit
 * behavior remain entirely plugin-owned.
 */

.aurelia-site .hb-book-now {
    --aurelia-book-now-width: min(calc(100vw - (2 * var(--hb-theme-container-gutter))), var(--hb-theme-container-wide));
    --hb-book-accent: var(--hb-theme-color-champagne-dark);
    --hb-book-accent-dark: var(--hb-theme-color-primary-hover);
    --hb-book-border: var(--hb-theme-color-border);
    --hb-book-ink: var(--hb-theme-color-charcoal);
    --hb-book-muted: var(--hb-theme-color-text-muted);
    --hb-book-soft: var(--hb-theme-color-surface-alt);

    position: relative;
    width: var(--aurelia-book-now-width);
    max-width: none;
    margin: 0 calc((100% - var(--aurelia-book-now-width)) / 2) var(--hb-theme-spacing-section);
    color: var(--hb-theme-color-text);
    font-family: var(--hb-theme-typography-family-body);
    font-size: var(--hb-theme-typography-size-base);
    line-height: var(--hb-theme-typography-line-height-body);
}

.aurelia-site .hb-book-now *,
.aurelia-site .hb-book-now *::before,
.aurelia-site .hb-book-now *::after {
    box-sizing: border-box;
}

.aurelia-site .hb-book-now__breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: var(--hb-theme-spacing-sm);
    align-items: center;
    margin: 0 0 var(--hb-theme-spacing-xl);
    color: var(--hb-theme-color-text-muted);
    font-size: var(--hb-theme-typography-size-xs);
    font-weight: var(--hb-theme-typography-weight-medium);
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.aurelia-site .hb-book-now__breadcrumb a,
.aurelia-site .hb-book-now__link {
    color: inherit;
    font-weight: var(--hb-theme-typography-weight-semibold);
    text-decoration: none;
    text-decoration-color: var(--hb-theme-color-champagne);
    text-underline-offset: 0.25em;
}

.aurelia-site .hb-book-now__breadcrumb a:hover,
.aurelia-site .hb-book-now__breadcrumb a:focus-visible,
.aurelia-site .hb-book-now__link:hover,
.aurelia-site .hb-book-now__link:focus-visible {
    color: var(--hb-theme-color-primary);
    text-decoration: underline;
}

.aurelia-site .hb-book-now__breadcrumb span[aria-hidden] {
    color: var(--hb-theme-color-champagne);
    font-size: 1.1rem;
}

.aurelia-site .hb-book-now__header {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.7fr);
    gap: clamp(2rem, 8vw, 8rem);
    align-items: end;
    max-width: none;
    margin: 0 0 clamp(2.5rem, 5vw, 4.5rem);
    padding: 0 0 clamp(2rem, 4vw, 3.25rem);
    border-bottom: var(--hb-theme-border-width) solid var(--hb-theme-color-border);
}

.aurelia-site .hb-book-now__eyebrow {
    grid-column: 1 / -1;
    margin: 0 0 calc(-1 * clamp(1.5rem, 5vw, 4rem));
    color: var(--hb-theme-color-champagne-dark);
    font-size: var(--hb-theme-typography-size-xs);
    font-weight: var(--hb-theme-typography-weight-semibold);
    letter-spacing: var(--hb-theme-typography-tracking-label);
    text-transform: uppercase;
}

.aurelia-site .hb-book-now__header h1 {
    max-width: 10ch;
    margin: 0;
    color: var(--hb-theme-color-charcoal);
    font-family: var(--hb-theme-typography-family-heading);
    font-size: clamp(3.25rem, 7vw, 6.75rem);
    font-weight: var(--hb-theme-typography-weight-regular);
    letter-spacing: -0.045em;
    line-height: 0.9;
    text-wrap: balance;
}

.aurelia-site .hb-book-now__header p {
    max-width: 31rem;
    margin: 0 0 0.45rem;
    color: var(--hb-theme-color-text-muted);
    font-size: var(--hb-theme-typography-size-sm);
    line-height: 1.75;
}

.aurelia-site .hb-book-now__notice {
    margin: 0 0 var(--hb-theme-spacing-xl);
    padding: var(--hb-theme-spacing-lg) var(--hb-theme-spacing-xl);
    border: 0;
    border-left: 0.25rem solid var(--hb-theme-color-success);
    border-radius: 0;
    background: color-mix(in srgb, var(--hb-theme-color-success) 8%, var(--hb-theme-color-surface));
    box-shadow: none;
}

.aurelia-site .hb-book-now__notice--error {
    border-color: var(--hb-theme-color-error);
    background: color-mix(in srgb, var(--hb-theme-color-error) 8%, var(--hb-theme-color-surface));
    color: var(--hb-theme-color-error);
}

.aurelia-site .hb-book-now__unavailable-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--hb-theme-spacing-md);
    align-items: center;
}

.aurelia-site .hb-book-now__layout {
    display: grid;
    grid-template-columns: minmax(19rem, 0.78fr) minmax(0, 1.35fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: start;
}

.aurelia-site .hb-book-now__summary,
.aurelia-site .hb-book-now__form-card {
    overflow: hidden;
    border: var(--hb-theme-border-width) solid var(--hb-theme-color-border);
    border-radius: var(--hb-theme-radius-md);
    box-shadow: 0 1.5rem 4rem rgb(40 35 28 / 0.08);
}

.aurelia-site .hb-book-now__summary {
    position: sticky;
    top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--hb-theme-spacing-lg));
    background: var(--hb-theme-color-charcoal);
    color: var(--hb-theme-color-ivory);
}

.aurelia-site .hb-book-now__room-image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: var(--hb-theme-color-surface-alt);
}

.aurelia-site .hb-book-now__summary-body {
    padding: clamp(1.5rem, 3vw, 2.5rem);
}

.aurelia-site .hb-book-now__room-type {
    display: block;
    margin-bottom: var(--hb-theme-spacing-sm);
    color: var(--hb-theme-color-champagne);
    font-size: var(--hb-theme-typography-size-xs);
    font-weight: var(--hb-theme-typography-weight-semibold);
    letter-spacing: var(--hb-theme-typography-tracking-label);
    text-transform: uppercase;
}

.aurelia-site .hb-book-now__summary h2 {
    margin: 0 0 var(--hb-theme-spacing-xl);
    color: var(--hb-theme-color-ivory);
    font-family: var(--hb-theme-typography-family-heading);
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: var(--hb-theme-typography-weight-regular);
    letter-spacing: -0.035em;
    line-height: 0.98;
}

.aurelia-site .hb-book-now__stay-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 0 0 var(--hb-theme-spacing-xl);
    border-top: 1px solid color-mix(in srgb, var(--hb-theme-color-ivory) 24%, transparent);
    border-left: 1px solid color-mix(in srgb, var(--hb-theme-color-ivory) 24%, transparent);
}

.aurelia-site .hb-book-now__stay-facts > div {
    min-width: 0;
    padding: var(--hb-theme-spacing-md);
    border: 0;
    border-right: 1px solid color-mix(in srgb, var(--hb-theme-color-ivory) 24%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--hb-theme-color-ivory) 24%, transparent);
    border-radius: 0;
    background: transparent;
}

.aurelia-site .hb-book-now__stay-facts dt {
    color: color-mix(in srgb, var(--hb-theme-color-ivory) 66%, transparent);
    font-size: var(--hb-theme-typography-size-xs);
    font-weight: var(--hb-theme-typography-weight-medium);
    letter-spacing: 0;
    text-transform: none;
}

.aurelia-site .hb-book-now__stay-facts dd {
    overflow-wrap: anywhere;
    margin: var(--hb-theme-spacing-xxs) 0 0;
    color: var(--hb-theme-color-ivory);
    font-size: var(--hb-theme-typography-size-sm);
    font-weight: var(--hb-theme-typography-weight-semibold);
    line-height: 1.35;
}

.aurelia-site .hb-book-now__price-breakdown {
    display: grid;
    gap: var(--hb-theme-spacing-sm);
    padding: var(--hb-theme-spacing-lg) 0 0;
    border-top: 1px solid color-mix(in srgb, var(--hb-theme-color-ivory) 24%, transparent);
}

.aurelia-site .hb-book-now__price-breakdown > div {
    display: flex;
    gap: var(--hb-theme-spacing-lg);
    align-items: baseline;
    justify-content: space-between;
}

.aurelia-site .hb-book-now__price-breakdown > div:not(.hb-book-now__price-row) span {
    color: color-mix(in srgb, var(--hb-theme-color-ivory) 70%, transparent);
    font-size: var(--hb-theme-typography-size-sm);
    font-weight: var(--hb-theme-typography-weight-regular);
}

.aurelia-site .hb-book-now__price-breakdown > div:not(.hb-book-now__price-row) strong {
    color: var(--hb-theme-color-ivory);
    font-size: var(--hb-theme-typography-size-sm);
}

.aurelia-site .hb-book-now__price-breakdown .hb-book-now__price-row {
    margin-top: var(--hb-theme-spacing-sm);
    padding-top: var(--hb-theme-spacing-lg);
    border-top: 1px solid color-mix(in srgb, var(--hb-theme-color-ivory) 24%, transparent);
}

.aurelia-site .hb-book-now__price-row span {
    color: color-mix(in srgb, var(--hb-theme-color-ivory) 70%, transparent);
    font-size: var(--hb-theme-typography-size-sm);
    font-weight: var(--hb-theme-typography-weight-medium);
}

.aurelia-site .hb-book-now__price-row strong {
    color: var(--hb-theme-color-champagne-light);
    font-family: var(--hb-theme-typography-family-heading);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: var(--hb-theme-typography-weight-regular);
    letter-spacing: -0.035em;
}

.aurelia-site .hb-book-now__price-note {
    display: block;
    margin: var(--hb-theme-spacing-sm) 0 var(--hb-theme-spacing-lg);
    color: color-mix(in srgb, var(--hb-theme-color-ivory) 62%, transparent);
    font-size: var(--hb-theme-typography-size-xs);
    line-height: 1.5;
    text-align: right;
}

.aurelia-site .hb-book-now__summary .hb-book-now__link {
    display: inline-flex;
    min-height: var(--hb-theme-interaction-target-min);
    align-items: center;
    color: var(--hb-theme-color-champagne-light);
    font-size: var(--hb-theme-typography-size-xs);
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.aurelia-site .hb-book-now__form-card {
    padding: clamp(1.75rem, 4vw, 4rem);
    background: var(--hb-theme-color-surface);
}

.aurelia-site .hb-book-now__form-card form,
.aurelia-site .hb-book-now__form-section {
    display: grid;
    gap: var(--hb-theme-spacing-xl);
}

.aurelia-site .hb-book-now__form-section + .hb-book-now__form-section {
    margin-top: var(--hb-theme-spacing-sm);
    padding-top: clamp(2rem, 4vw, 3.5rem);
    border-top: var(--hb-theme-border-width) solid var(--hb-theme-color-border);
}

.aurelia-site .hb-book-now__section-heading {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: var(--hb-theme-spacing-md);
    align-items: start;
}

.aurelia-site .hb-book-now__section-heading > span {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border: 1px solid var(--hb-theme-color-champagne);
    border-radius: 0;
    background: transparent;
    color: var(--hb-theme-color-champagne-dark);
    font-family: var(--hb-theme-typography-family-heading);
    font-size: var(--hb-theme-typography-size-lg);
    font-weight: var(--hb-theme-typography-weight-regular);
}

.aurelia-site .hb-book-now__section-heading h2 {
    margin: 0 0 var(--hb-theme-spacing-xs);
    color: var(--hb-theme-color-charcoal);
    font-family: var(--hb-theme-typography-family-heading);
    font-size: clamp(1.75rem, 3vw, 2.4rem);
    font-weight: var(--hb-theme-typography-weight-regular);
    letter-spacing: -0.025em;
    line-height: 1;
}

.aurelia-site .hb-book-now__section-heading p {
    margin: 0;
    color: var(--hb-theme-color-text-muted);
    font-size: var(--hb-theme-typography-size-sm);
    line-height: 1.55;
}

.aurelia-site .hb-book-now__field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--hb-theme-spacing-lg);
}

.aurelia-site .hb-book-now__field {
    display: grid;
    gap: var(--hb-theme-spacing-sm);
    min-width: 0;
}

.aurelia-site .hb-book-now__field--wide {
    grid-column: 1 / -1;
}

.aurelia-site .hb-book-now__field label,
.aurelia-site .hb-coupon > label,
.aurelia-site .hb-payment-methods legend {
    color: var(--hb-theme-color-charcoal);
    font-size: var(--hb-theme-typography-size-xs);
    font-weight: var(--hb-theme-typography-weight-semibold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.aurelia-site .hb-book-now__field small {
    color: var(--hb-theme-color-text-muted);
    font-size: var(--hb-theme-typography-size-xs);
}

.aurelia-site .hb-book-now__field input,
.aurelia-site .hb-book-now__field textarea,
.aurelia-site .hb-coupon__controls input {
    width: 100%;
    min-width: 0;
    min-height: var(--hb-theme-interaction-target-min);
    padding: 0.85rem 1rem;
    border: var(--hb-theme-border-strong-width) solid var(--hb-theme-color-border);
    border-radius: 0;
    background: var(--hb-theme-color-background);
    color: var(--hb-theme-color-charcoal);
    font: inherit;
    line-height: 1.35;
    transition: border-color var(--hb-theme-interaction-transition-fast), box-shadow var(--hb-theme-interaction-transition-fast), background-color var(--hb-theme-interaction-transition-fast);
}

.aurelia-site .hb-book-now__field textarea {
    min-height: 8rem;
    resize: vertical;
}

.aurelia-site .hb-book-now__field input:hover,
.aurelia-site .hb-book-now__field textarea:hover,
.aurelia-site .hb-coupon__controls input:hover {
    border-color: var(--hb-theme-color-champagne-dark);
}

.aurelia-site .hb-book-now__field input:focus,
.aurelia-site .hb-book-now__field textarea:focus,
.aurelia-site .hb-coupon__controls input:focus {
    border-color: var(--hb-theme-color-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--hb-theme-color-primary) 14%, transparent);
    outline: 0;
}

.aurelia-site .hb-book-now__field input[aria-invalid="true"],
.aurelia-site .hb-book-now__field textarea[aria-invalid="true"],
.aurelia-site .hb-book-now__field:has(.hb-book-now__field-error) input,
.aurelia-site .hb-book-now__field:has(.hb-book-now__field-error) textarea {
    border-color: var(--hb-theme-color-error);
    background: color-mix(in srgb, var(--hb-theme-color-error) 5%, var(--hb-theme-color-surface));
}

.aurelia-site .hb-book-now__field-error {
    padding-left: var(--hb-theme-spacing-sm);
    border-left: 0.18rem solid var(--hb-theme-color-error);
    color: var(--hb-theme-color-error);
    font-size: var(--hb-theme-typography-size-xs);
    line-height: 1.5;
}

.aurelia-site .hb-additional-services,
.aurelia-site .hb-payment-methods {
    min-width: 0;
}

.aurelia-site .hb-additional-services {
    margin: 0;
    padding: 0;
    border: 0;
}

.aurelia-site .hb-additional-services__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--hb-theme-spacing-md);
}

.aurelia-site .hb-additional-service {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: var(--hb-theme-spacing-md);
    align-items: start;
    min-width: 0;
    padding: var(--hb-theme-spacing-lg);
    border: var(--hb-theme-border-width) solid var(--hb-theme-color-border);
    border-radius: 0;
    background: var(--hb-theme-color-background);
    cursor: pointer;
    transition: border-color var(--hb-theme-interaction-transition-fast), background-color var(--hb-theme-interaction-transition-fast), transform var(--hb-theme-interaction-transition-fast);
}

.aurelia-site .hb-additional-service:hover {
    border-color: var(--hb-theme-color-champagne-dark);
    transform: translateY(-2px);
}

.aurelia-site .hb-additional-service:has(input:checked) {
    border-color: var(--hb-theme-color-primary);
    background: color-mix(in srgb, var(--hb-theme-color-champagne-light) 28%, var(--hb-theme-color-surface));
    box-shadow: inset 0.22rem 0 0 var(--hb-theme-color-primary);
}

.aurelia-site .hb-additional-service:focus-within,
.aurelia-site .hb-payment-method:focus-within {
    outline: var(--hb-theme-interaction-focus-width) solid var(--hb-theme-color-focus);
    outline-offset: var(--hb-theme-interaction-focus-offset);
}

.aurelia-site .hb-additional-service > input,
.aurelia-site .hb-payment-method > input {
    width: 1.1rem;
    height: 1.1rem;
    margin: 0.18rem 0 0;
    accent-color: var(--hb-theme-color-primary);
}

.aurelia-site .hb-additional-service__content,
.aurelia-site .hb-additional-service__heading,
.aurelia-site .hb-payment-method__content,
.aurelia-site .hb-payment-method__title {
    min-width: 0;
}

.aurelia-site .hb-additional-service__heading {
    display: flex;
    gap: var(--hb-theme-spacing-md);
    align-items: flex-start;
    justify-content: space-between;
}

.aurelia-site .hb-additional-service__heading strong,
.aurelia-site .hb-payment-method__title {
    color: var(--hb-theme-color-charcoal);
    font-weight: var(--hb-theme-typography-weight-semibold);
}

.aurelia-site .hb-additional-service__heading > span {
    flex: 0 0 auto;
    color: var(--hb-theme-color-primary);
    font-weight: var(--hb-theme-typography-weight-semibold);
    white-space: nowrap;
}

.aurelia-site .hb-additional-service__basis,
.aurelia-site .hb-additional-service__description,
.aurelia-site .hb-payment-method__description {
    color: var(--hb-theme-color-text-muted);
    font-size: var(--hb-theme-typography-size-xs);
    line-height: 1.55;
}

.aurelia-site .hb-book-now__button {
    display: inline-flex;
    min-height: var(--hb-theme-interaction-target-min);
    align-items: center;
    justify-content: center;
    padding: 0.8rem 1.35rem;
    border: var(--hb-theme-border-width) solid var(--hb-theme-color-primary);
    border-radius: 0;
    background: transparent;
    color: var(--hb-theme-color-primary);
    font: inherit;
    font-size: var(--hb-theme-typography-size-xs);
    font-weight: var(--hb-theme-typography-weight-semibold);
    letter-spacing: 0.09em;
    line-height: 1.2;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color var(--hb-theme-interaction-transition-fast), border-color var(--hb-theme-interaction-transition-fast), color var(--hb-theme-interaction-transition-fast), transform var(--hb-theme-interaction-transition-fast);
}

.aurelia-site .hb-book-now__button:hover,
.aurelia-site .hb-book-now__button:focus-visible {
    border-color: var(--hb-theme-color-primary-hover);
    background: var(--hb-theme-color-primary-hover);
    color: var(--hb-theme-color-primary-contrast);
}

.aurelia-site .hb-book-now__button:focus-visible {
    outline: var(--hb-theme-interaction-focus-width) solid var(--hb-theme-color-focus);
    outline-offset: var(--hb-theme-interaction-focus-offset);
}

.aurelia-site .hb-book-now__button--primary {
    border-color: var(--hb-theme-color-primary);
    background: var(--hb-theme-color-primary);
    color: var(--hb-theme-color-primary-contrast);
}

.aurelia-site .hb-book-now__button--primary:hover,
.aurelia-site .hb-book-now__button--primary:focus-visible {
    border-color: var(--hb-theme-color-primary-hover);
    background: var(--hb-theme-color-primary-hover);
    color: var(--hb-theme-color-primary-contrast);
}

.aurelia-site .hb-book-now__submit {
    width: 100%;
    min-height: 3.75rem;
    margin-top: var(--hb-theme-spacing-md);
    font-size: var(--hb-theme-typography-size-sm);
}

.aurelia-site .hb-book-now__submit:hover {
    transform: translateY(-2px);
}

.aurelia-site .hb-book-now__submit-note {
    max-width: 35rem;
    margin: calc(-1 * var(--hb-theme-spacing-sm)) auto 0;
    color: var(--hb-theme-color-text-muted);
    font-size: var(--hb-theme-typography-size-xs);
    line-height: 1.5;
    text-align: center;
}

.aurelia-site .hb-coupon {
    display: grid;
    gap: var(--hb-theme-spacing-md);
    padding: var(--hb-theme-spacing-xl);
    border: var(--hb-theme-border-width) solid var(--hb-theme-color-border);
    border-radius: 0;
    background: var(--hb-theme-color-background);
}

.aurelia-site .hb-coupon__controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--hb-theme-spacing-sm);
}

.aurelia-site .hb-coupon__controls input {
    text-transform: uppercase;
}

.aurelia-site .hb-coupon__button {
    min-width: 6.5rem;
}

.aurelia-site .hb-coupon__button--remove {
    border-color: var(--hb-theme-color-error);
    color: var(--hb-theme-color-error);
}

.aurelia-site .hb-coupon__button[hidden],
.aurelia-site .hb-coupon__summary[hidden] {
    display: none !important;
}

.aurelia-site .hb-coupon__message {
    min-height: 1.25em;
    font-size: var(--hb-theme-typography-size-xs);
    line-height: 1.5;
}

.aurelia-site .hb-coupon__message.is-success {
    color: var(--hb-theme-color-success);
}

.aurelia-site .hb-coupon__message.is-error {
    color: var(--hb-theme-color-error);
}

.aurelia-site .hb-coupon__scope-note {
    color: var(--hb-theme-color-text-muted);
    font-size: var(--hb-theme-typography-size-xs);
    line-height: 1.5;
}

.aurelia-site .hb-coupon__summary {
    display: grid;
    gap: var(--hb-theme-spacing-sm);
    padding-top: var(--hb-theme-spacing-md);
    border-top: var(--hb-theme-border-width) solid var(--hb-theme-color-border);
}

.aurelia-site .hb-coupon__summary > div {
    display: flex;
    gap: var(--hb-theme-spacing-md);
    justify-content: space-between;
}

.aurelia-site .hb-coupon__total {
    padding-top: var(--hb-theme-spacing-sm);
    border-top: var(--hb-theme-border-width) solid var(--hb-theme-color-border);
    color: var(--hb-theme-color-primary);
}

.aurelia-site .hb-payment-methods {
    display: grid;
    gap: var(--hb-theme-spacing-md);
    margin: 0;
    padding: var(--hb-theme-spacing-xl) 0 0;
    border: 0;
}

.aurelia-site .hb-payment-methods__intro {
    margin: 0;
    color: var(--hb-theme-color-text-muted);
    font-size: var(--hb-theme-typography-size-sm);
}

.aurelia-site .hb-payment-methods__list {
    display: grid;
    gap: var(--hb-theme-spacing-md);
}

.aurelia-site .hb-payment-method {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: var(--hb-theme-spacing-md);
    align-items: start;
    padding: var(--hb-theme-spacing-lg);
    border: var(--hb-theme-border-width) solid var(--hb-theme-color-border);
    border-radius: 0;
    background: var(--hb-theme-color-background);
    cursor: pointer;
    transition: border-color var(--hb-theme-interaction-transition-fast), background-color var(--hb-theme-interaction-transition-fast);
}

.aurelia-site .hb-payment-method:hover {
    border-color: var(--hb-theme-color-champagne-dark);
}

.aurelia-site .hb-payment-method:has(input:checked) {
    border-color: var(--hb-theme-color-primary);
    background: color-mix(in srgb, var(--hb-theme-color-champagne-light) 28%, var(--hb-theme-color-surface));
    box-shadow: inset 0.22rem 0 0 var(--hb-theme-color-primary);
}

.aurelia-site .hb-payment-method__content,
.aurelia-site .hb-payment-method__title {
    display: grid;
    gap: var(--hb-theme-spacing-xs);
}

.aurelia-site .hb-payment-method__test-mode {
    width: fit-content;
    padding: 0.2rem 0.45rem;
    border: 1px solid var(--hb-theme-color-champagne-dark);
    border-radius: 0;
    background: color-mix(in srgb, var(--hb-theme-color-champagne) 18%, var(--hb-theme-color-surface));
    color: var(--hb-theme-color-charcoal);
    font-size: 0.68rem;
}

@media (max-width: 1100px) {
    .aurelia-site .hb-book-now__header {
        grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.75fr);
        gap: clamp(2rem, 6vw, 4rem);
    }

    .aurelia-site .hb-book-now__layout {
        grid-template-columns: minmax(17rem, 0.72fr) minmax(0, 1.28fr);
        gap: clamp(1.5rem, 3vw, 2.5rem);
    }
}

@media (max-width: 900px) {
    .aurelia-site .hb-book-now__header {
        display: block;
    }

    .aurelia-site .hb-book-now__eyebrow {
        margin: 0 0 var(--hb-theme-spacing-sm);
    }

    .aurelia-site .hb-book-now__header p {
        margin-top: var(--hb-theme-spacing-lg);
    }

    .aurelia-site .hb-book-now__layout {
        grid-template-columns: 1fr;
    }

    .aurelia-site .hb-book-now__summary {
        position: static;
        display: grid;
        grid-template-columns: minmax(15rem, 0.8fr) minmax(0, 1fr);
    }

    .aurelia-site .hb-book-now__room-image {
        height: 100%;
        aspect-ratio: auto;
    }
}

@media (max-width: 782px) {
    .aurelia-site .hb-book-now {
        --aurelia-book-now-width: min(calc(100vw - (2 * var(--hb-theme-spacing-lg))), var(--hb-theme-container-wide));
        margin-bottom: var(--hb-theme-spacing-xxxl);
    }

    .aurelia-site .hb-book-now__breadcrumb {
        margin-bottom: var(--hb-theme-spacing-lg);
    }

    .aurelia-site .hb-book-now__header {
        margin-bottom: var(--hb-theme-spacing-xxl);
        padding-bottom: var(--hb-theme-spacing-xl);
    }

    .aurelia-site .hb-book-now__header h1 {
        font-size: clamp(3rem, 13vw, 5rem);
    }

    .aurelia-site .hb-book-now__summary {
        display: block;
    }

    .aurelia-site .hb-book-now__room-image {
        height: auto;
        aspect-ratio: 16 / 9;
    }
}

@media (max-width: 560px) {
    .aurelia-site .hb-book-now {
        --aurelia-book-now-width: calc(100vw - (2 * var(--hb-theme-spacing-md)));
    }

    .aurelia-site .hb-book-now__header h1 {
        font-size: clamp(2.7rem, 15vw, 4.2rem);
    }

    .aurelia-site .hb-book-now__summary-body,
    .aurelia-site .hb-book-now__form-card,
    .aurelia-site .hb-coupon {
        padding: var(--hb-theme-spacing-lg);
    }

    .aurelia-site .hb-book-now__field-grid,
    .aurelia-site .hb-additional-services__list,
    .aurelia-site .hb-coupon__controls {
        grid-template-columns: 1fr;
    }

    .aurelia-site .hb-book-now__field--wide {
        grid-column: auto;
    }

    .aurelia-site .hb-book-now__section-heading {
        grid-template-columns: 2.1rem minmax(0, 1fr);
        gap: var(--hb-theme-spacing-sm);
    }

    .aurelia-site .hb-book-now__section-heading > span {
        width: 2.1rem;
        height: 2.1rem;
        font-size: var(--hb-theme-typography-size-base);
    }

    .aurelia-site .hb-book-now__stay-facts {
        grid-template-columns: 1fr;
    }

    .aurelia-site .hb-coupon__button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .aurelia-site .hb-book-now *,
    .aurelia-site .hb-book-now *::before,
    .aurelia-site .hb-book-now *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }

    .aurelia-site .hb-additional-service:hover,
    .aurelia-site .hb-book-now__submit:hover {
        transform: none;
    }
}

@media print {
    .aurelia-site .hb-book-now {
        width: 100%;
        margin: 0;
    }

    .aurelia-site .hb-book-now__layout {
        display: block;
    }

    .aurelia-site .hb-book-now__summary {
        position: static;
        margin-bottom: 1.5rem;
        background: #fff;
        color: #000;
        box-shadow: none;
    }

    .aurelia-site .hb-book-now__summary h2,
    .aurelia-site .hb-book-now__stay-facts dd,
    .aurelia-site .hb-book-now__price-breakdown > div:not(.hb-book-now__price-row) strong,
    .aurelia-site .hb-book-now__price-row strong {
        color: #000;
    }

    .aurelia-site .hb-book-now__form-card {
        box-shadow: none;
    }

    .aurelia-site .hb-book-now__button {
        display: none;
    }
}
