.mphb-reserve-rooms-details .mphb-room-details+.mphb-room-details {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #f4f4f4;
}

h1.mphb-booking-details-title {
    font-size: 3rem;
    text-transform: uppercase;
    letter-spacing: -0.28px;
    margin-bottom: 3rem;
    font-weight: 700;
}

.mphb-room-type-title {
    margin-bottom: 15px;
}

.mphb-room-type-title .title-checkout-room {
    font-size: 2rem;
    font-weight: 600;
    color: #111;
}

.mphb-chooser label {
    font-size: .825em;
    font-weight: 600;
    letter-spacing: -0.12px;
    white-space: nowrap;
    padding: 0 8px 0 0;
}

.mphb_sc_checkout-form .button,
.mphb_sc_checkout-form button,
.mphb_sc_checkout-form input[type=button],
.mphb_sc_checkout-form input[type=reset],
.mphb_sc_checkout-form input[type=submit] {
    border: 1px solid transparent;
    border-radius: 2px;
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    font-size: .97em;
    font-weight: 500;
    letter-spacing: -0.18px;
    line-height: 2.4em;
    margin-right: 1em;
    margin-top: 0;
    max-width: 100%;
    min-height: 2.5em;
    padding: 0 1.2em;
    position: relative;
    text-align: center;
    text-decoration: none;
    text-rendering: optimizeLegibility;
    text-shadow: none;
    text-transform: none;
    transition: transform .3s, border .3s, background .3s, box-shadow .3s, opacity .3s, color .3s;
    vertical-align: middle;
}

.mphb_sc_checkout-form .button.primary {
    padding: .7em 1.2em;
}

.white-block {
    border-radius: 10px;
    background: #FFF;
    padding: 25px;
}

.flex-column {
    flex-direction: column;
}

.d-none {
    display: none !important;
}

.gap-10 {
    gap: 10px;
}

.gap-20 {
    gap: 20px;
}

.gap-30 {
    gap: 30px;
}

.col-p-b-0>.col {
    padding-bottom: 0;
}

.col-p-b-1>.col {
    padding-bottom: 1rem;
}

.col-p-b-2>.col {
    padding-bottom: 2rem;
}

input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    display: flex;
    align-content: center;
    justify-content: center;
    border-radius: 2px;
    border: 1px solid #A0A0A0;
    width: 20px;
    height: 20px;
    padding: 2px;
    margin: 0;
    margin-right: .5em;
    flex: 0 0 20px;
}

input[type="checkbox"]::before {
    content: "";
    flex: 1 0 0;
    align-self: stretch;
    border-radius: 2px;
    background: var(--fs-color-primary);
    transform: scale(0);
}

input[type="checkbox"]:checked::before {
    transform: scale(1);
}

.mphb-terms-and-conditions-accept {
    font-size: 0.875rem;
    margin-top: 1.2em;
    letter-spacing: -0.1px;
}

.mphb-terms-and-conditions-accept label {
    font-weight: 400;
}

.mphb-booking-details {
    margin-bottom: 20px;
}

.mphb-room-details-wrapper {
    gap: 20px;
}

.mphb-checkout-wrapper {
    gap: 40px;
}

.mphb-checkout-main {

    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.mphb-checkout-sidebar {
    flex: 0 0 436px;
    position: sticky;
    top: 120px;
    width: 100%;
}

.mphb-billing-details--sidebar {
    background: #fff;
    border-radius: 10px;
    margin-bottom: 24px;
    padding: 20px;
}

.mphb-billing-details--sidebar .mphb-gateway-chooser-title {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.875rem;
    letter-spacing: -0.18px;
    text-transform: uppercase;
    margin-bottom: 1em;
}

.mphb-billing-details--sidebar .mphb-gateways-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mphb-billing-details--sidebar .mphb-gateway+.mphb-gateway {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #ececec;
}

.mphb-billing-details--sidebar .mphb-gateway-title {
    align-items: center;
    color: #132023;
    display: flex;
    font-size: 0.95rem;
    font-weight: 600;
    gap: 8px;
    margin-bottom: 4px;
    padding-left: 0;
}

.mphb-billing-details--sidebar .mphb-gateway-description {
    color: #6b7280;
    font-size: 0.85rem;
    line-height: 1.45;
}

element.style {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.875rem;
    letter-spacing: -0.18px;
    text-transform: uppercase;
    margin-bottom: 1em;
}

.mphb_cb_checkout_form .mphb-gateways-list>li,
.mphb_sc_checkout-form .mphb-gateways-list>li {
    margin-top: 1em;
    margin-left: 0;
}

.mphb-billing-details--sidebar .mphb-billing-fields {
    margin-top: 14px;
}

.mphb-billing-details--sidebar input[type="radio"] {
    accent-color: var(--fs-color-primary);
    width: 20px;
    height: 20px;
    margin: 0;
}

.mphb-billing-details--sidebar .mphb-gateway input[type="radio"] {
    flex: 0 0 20px;
    margin-right: 10px;
    position: relative;
    top: 2px;
}

.mphb-billing-details--sidebar .mphb-gateway {
    align-items: flex-start;
    display: grid;
    gap: 4px 10px;
    grid-template-columns: 20px minmax(0, 1fr);
}

.mphb-billing-details--sidebar .mphb-gateway .mphb-gateway-title,
.mphb-billing-details--sidebar .mphb-gateway .mphb-gateway-description {
    grid-column: 2;
}

.mphb-billing-details--sidebar .mphb-gateway input[type="radio"] {
    grid-column: 1;
    grid-row: 1 / span 2;
}

.mphb-room-details-thumbnail .wp-post-image {
    border-radius: 4px;
    max-width: 166px;
    aspect-ratio: 4 / 2.8;
    object-fit: cover;
}

.mphb-total-price {
    margin-bottom: 30px;
}

.mphb-total-price output {
    display: flex;
    flex-direction: column;
    color: #707070;
    font-size: 0.875rem;
}

.mphb-total-price-field {
    font-size: 1.75rem;
    font-weight: 600;
    color: #000;
}

.mphb_cb_checkout_form .mphb-price-breakdown .mphb-table-price-column,
.mphb_sc_checkout-form .mphb-price-breakdown .mphb-table-price-column {
    text-align: right;
}

table.mphb-price-breakdown {
    border-color: #ececec;
    border-spacing: 0;
    margin-bottom: .6em;
    width: 100%;
    background: #3564690a;
    border-radius: 10px;
    padding: 10px 10px;
}

.mphb-price-breakdown tr td:first-child {
    padding-left: 0;
}

.mphb-price-breakdown tr td:last-child {
    padding-right: 0;
}

.mphb-price-breakdown td {
    color: #404040;
}

.mphb-price-breakdown td,
th {
    border-bottom: 0;
    font-size: .85em;
    line-height: 1;
    padding: 0.6em 0.5em;
    text-align: left;
    text-transform: none;
}

.mphb-price-breakdown tr td:last-child {
    text-align: right;
}

.mphb-price-breakdown-dates td {
    font-weight: 600;
    color: #222;
}

.mphb-check-date {
    color: #707070;
    font-size: 0.875rem;
    font-weight: 500;
    margin-top: 25px;
    margin-bottom: 25px;
    line-height: normal;
}

.mphb-check-date>div+div {
    margin-top: 10px;
}

.mphb-check-date strong {
    color: #000;
    font-weight: 500;
}

a.mphb-price-breakdown-accommodation {
    font-weight: 500;
}


.mphb_sc_checkout-form h4 {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.875rem;
    letter-spacing: -0.18px;
    text-transform: uppercase;
    margin-bottom: 1em;
}

.mphb_sc_checkout-form label:not(.flex, .mphb-gateway-title) {
    color: #828282;
    display: block;
    font-size: .875rem;
    font-weight: 500;
    line-height: 24px;
    padding-left: 1.4em;
    margin-bottom: 5px;
    display: flex;
    align-items: center;
}

label.mphb-radio-fake {
    color: #000 !important;
    font-weight: 500 !important;
}

.mphb_sc_checkout-form input[type=text],
.mphb_sc_checkout-form input[type=email],
.mphb_sc_checkout-form input[type=password],
.mphb_sc_checkout-form input[type=number],
.mphb_sc_checkout-form textarea {
    box-shadow: none;
    font-size: .875rem;
    border-radius: 40px;
    background: #F2F2F2;
    border: 1px solid #F2F2F2;
    color: #000;
    display: flex;
    align-items: center;
    height: 50px;
    padding: 0 1.5em;
    outline: 0;
}

.mphb_sc_checkout-form input[type=text]:active,
.mphb_sc_checkout-form input[type=email]:active,
.mphb_sc_checkout-form input[type=password]:active,
.mphb_sc_checkout-form input[type=number]:active,
.mphb_sc_checkout-form textarea:active,
.mphb_sc_checkout-form input[type=text]:focus,
.mphb_sc_checkout-form input[type=email]:focus,
.mphb_sc_checkout-form input[type=password]:focus,
.mphb_sc_checkout-form input[type=number]:focus,
.mphb_sc_checkout-form textarea:focus,
.mphb_sc_checkout-form input[type=text]:hover,
.mphb_sc_checkout-form input[type=email]:hover,
.mphb_sc_checkout-form input[type=password]:hover,
.mphb_sc_checkout-form input[type=number]:hover,
.mphb_sc_checkout-form textarea:hover {
    border-color: #CFCFCF;
    background-color: #F2F2F2;
    color: #000;
    box-shadow: none;
}

.mphb_sc_checkout-form textarea {
    border-radius: 25px;
    height: 80px;
    padding: 12px 18px;
    resize: vertical;
    max-height: 220px;
    min-height: 65px;
}

.mphb_sc_checkout-form select {
    box-shadow: none;
    padding-right: 1.4em;
    border-radius: 40px;
    background-color: #f2f2f2;
    border-color: #f2f2f2;
    height: 40px;
    min-width: 5rem;
}

input[type=email]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=text]:focus,
select:focus,
textarea:focus {
    background-color: #F2F2F2;
    border-color: #F2F2F2;
    box-shadow: none;
    color: #000;
    opacity: 1 !important;
    outline: 0;
}

.mphb-customer-communication-method {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
}

@media (max-width: 600px) {
    .mphb-customer-communication-method {
        flex-direction: column;
    }
}

.mphb-customer-communication-method {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 10px;
}

@media (max-width: 600px) {
    .mphb-customer-communication-method {
        flex-direction: column;
    }
}

.mphb-radio-fake {
    display: flex;
    align-items: center;
    gap: 0.5em;
    font-size: 16px;
    cursor: pointer;
}

.mphb-radio-fake input[type="radio"] {
    accent-color: var(--fs-color-primary);
    width: 20px;
    height: 20px;
    margin: 0;
}



a.mphb-terms-and-conditions-link {
    text-decoration: underline;
}

.mphb-chooser label {
    margin-bottom: 0;
}

.mphb-communication-label {
    padding-left: 0 !important;
}

label.mphb-radio-fake {
    padding-left: 0 !important;
    padding-right: 1em !important;
}

@media only screen and (max-width: 550px) {
    h1.mphb-booking-details-title {
        font-size: 2rem;
        margin-bottom: 2rem;
    }

    .mphb-room-details-wrapper {
        flex-direction: column;
        align-items: flex-start;
    }

    .mphb-checkout-wrapper {
        gap: 30px;
        flex-direction: column;
    }

    .mphb-billing-details--sidebar {
        margin-bottom: 16px;
    }

    .mphb-room-details-thumbnail {
        width: 100%;
        margin-bottom: 5px;
    }

    .mphb-room-details-thumbnail .wp-post-image {
        max-width: 100%;
        width: 100%;
        aspect-ratio: 2 / 1;
        object-fit: cover;
    }

    .mphb-room-type-title+div.flex {
        display: block;
    }

    .mphb-room-type-title+div.flex .mphb-adults-chooser {
        margin-bottom: 10px;
    }
}