.alt-booking {
    --alt-booking-navy: #31356f;
    --alt-booking-gold: #e4b54c;
    --alt-booking-ink: #252849;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 20px 55px rgba(28, 35, 69, 0.14);
    color: var(--alt-booking-ink);
    overflow: visible;
    position: relative;
    z-index: 20;
}

.alt-booking__summary {
    display: grid;
    gap: 5px;
    padding: 24px 28px;
    background: var(--alt-booking-navy);
    color: #fff;
    border-radius: 8px 8px 0 0;
}

.alt-booking__summary span {
    color: var(--alt-booking-gold);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.alt-booking__summary strong {
    color: #fff;
    font-size: 21px;
    line-height: 1.35;
}

.alt-booking__summary small {
    color: rgba(255, 255, 255, 0.82);
    font-size: 13px;
    line-height: 1.55;
}

.alt-booking__native {
    padding: 28px;
}

.alt-booking .ovabrw-product-fields,
.alt-booking .ovabrw-modern-deposit,
.alt-booking .ajax-show-total,
.alt-booking .ovabrw-show-total {
    margin-bottom: 20px;
}

.alt-booking .rental_item {
    margin-bottom: 18px;
}

.alt-booking .rental_item label,
.alt-booking .ovabrw-label-field {
    color: var(--alt-booking-ink);
    font-weight: 700;
}

.alt-booking input[type="text"],
.alt-booking input[type="number"],
.alt-booking select,
.alt-booking .select2-selection {
    border: 1px solid #dfe2ec !important;
    border-radius: 4px !important;
    min-height: 48px;
    width: 100%;
}

.alt-booking .alt-booking__fixed-field {
    display: none !important;
}

.alt-booking .ovabrw-modern-deposit .deposit-type .ovabrw-label-field input:checked ~ .checkmark {
    background: var(--alt-booking-navy) !important;
    color: #fff !important;
}

.alt-booking .ovabrw-modern-deposit .deposit-type .ovabrw-label-field .checkmark {
    color: var(--alt-booking-ink) !important;
}

.alt-booking button.submit {
    width: 100%;
    min-height: 52px;
    border: 0;
    border-radius: 4px;
    background: var(--alt-booking-gold) !important;
    color: #252849 !important;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.05em;
}

.alt-booking button.submit:hover,
.alt-booking button.submit:focus {
    background: #f1c762 !important;
}

.alt-booking__help,
.alt-booking__notice {
    margin: 0;
    padding: 0 28px 26px;
    color: #65687c;
    font-size: 13px;
    line-height: 1.55;
}

.alt-booking__help a,
.alt-booking__notice a {
    color: var(--alt-booking-navy);
    font-weight: 700;
    text-decoration: underline;
}

.postid-127 .elementor-element-rtavnro,
.postid-128 .elementor-element-rtavnro,
.postid-124 .elementor-element-55e75ec1,
.postid-271 .elementor-element-55e75ec1 {
    align-items: center;
    overflow: visible;
    position: relative;
    z-index: 20;
}

.postid-127 .elementor-element-rtavnro .elementor-container,
.postid-127 .elementor-element-rtavnro .elementor-column,
.postid-127 .elementor-element-rtavnro .elementor-widget-wrap,
.postid-128 .elementor-element-rtavnro .elementor-container,
.postid-128 .elementor-element-rtavnro .elementor-column,
.postid-128 .elementor-element-rtavnro .elementor-widget-wrap,
.postid-124 .elementor-element-55e75ec1,
.postid-271 .elementor-element-55e75ec1 {
    overflow: visible;
}

.postid-124 .elementor-element-55e75ec1,
.postid-271 .elementor-element-55e75ec1 {
    border: 0 !important;
    padding: 0 !important;
}

.postid-124 .elementor-element-55e75ec1 .alt-booking__summary strong,
.postid-271 .elementor-element-55e75ec1 .alt-booking__summary strong {
    font-size: 18px;
}

.postid-124 .elementor-element-55e75ec1 .alt-booking__summary,
.postid-124 .elementor-element-55e75ec1 .alt-booking__native,
.postid-271 .elementor-element-55e75ec1 .alt-booking__summary,
.postid-271 .elementor-element-55e75ec1 .alt-booking__native {
    padding-right: 20px;
    padding-left: 20px;
}

.postid-124 .elementor-element-55e75ec1 .ovabrw-product-fields,
.postid-271 .elementor-element-55e75ec1 .ovabrw-product-fields {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
}

.postid-124 .elementor-element-55e75ec1 .rental_item,
.postid-271 .elementor-element-55e75ec1 .rental_item {
    min-width: 0;
    width: 100% !important;
}

.postid-124 .elementor-element-55e75ec1 .deposit-type,
.postid-271 .elementor-element-55e75ec1 .deposit-type {
    display: grid !important;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) !important;
}

.postid-124 .elementor-element-55e75ec1 .deposit-type .ovabrw-label-field,
.postid-124 .elementor-element-55e75ec1 .deposit-type .checkmark,
.postid-271 .elementor-element-55e75ec1 .deposit-type .ovabrw-label-field,
.postid-271 .elementor-element-55e75ec1 .deposit-type .checkmark {
    box-sizing: border-box;
    width: 100% !important;
}

.postid-124 .elementor-element-55e75ec1 input,
.postid-124 .elementor-element-55e75ec1 .select2-selection__rendered,
.postid-271 .elementor-element-55e75ec1 input,
.postid-271 .elementor-element-55e75ec1 .select2-selection__rendered {
    font-size: 12px !important;
}

/* Woo Blocks treats BRW's 50% deposit as a sale price. It is an installment,
   not a discount, so the generated savings badge would be misleading. */
.woocommerce-cart .wc-block-components-sale-badge,
.woocommerce-checkout .wc-block-components-sale-badge {
    display: none !important;
}

@media (max-width: 767px) {
    .alt-booking__summary,
    .alt-booking__native {
        padding: 22px 20px;
    }

    .alt-booking__help,
    .alt-booking__notice {
        padding: 0 20px 22px;
    }
}
