/**
 * AmiHomeStay × MotoPress Hotel Booking compatibility styles v1.5.0.
 *
 * Important: selectors are intentionally limited to MotoPress components.
 * Theme/Elementor containers, headers, footers, sidebars and generic widgets
 * are not resized, hidden or reformatted here.
 */

.paritfalls-mphb-page,
.paritfalls-wc-checkout {
    --pf-mphb-text: #1e3954;
    --pf-mphb-muted: #687481;
    --pf-mphb-accent: #9a7a48;
    --pf-mphb-accent-dark: #765b34;
    --pf-mphb-surface: #ffffff;
    --pf-mphb-soft: #faf7f2;
    --pf-mphb-border: #e3ded6;
    --pf-mphb-available: #eaf7ee;
    --pf-mphb-available-text: #22683b;
    --pf-mphb-unavailable: #f6e9e9;
    --pf-mphb-unavailable-text: #9b3b3b;
    --pf-mphb-past: #f1f2f4;
    --pf-mphb-radius: 12px;
    --pf-mphb-shadow: 0 12px 34px rgba(30, 57, 84, 0.08);
}

/* Prevent legacy float rules from collapsing MotoPress blocks only. */
.paritfalls-mphb-page .mphb_sc_search-wrapper,
.paritfalls-mphb-page .mphb_sc_rooms-wrapper,
.paritfalls-mphb-page .mphb_sc_search_results-wrapper,
.paritfalls-mphb-page .mphb_sc_checkout-wrapper,
.paritfalls-mphb-page .mphb_sc_availability_calendar-wrapper,
.paritfalls-mphb-page .mphb_sc_booking_confirmation,
.paritfalls-mphb-page .mphb_sc_booking_cancellation,
.paritfalls-mphb-page .mphb-booking-form,
.paritfalls-mphb-page .mphb-reservation-form,
.paritfalls-mphb-page .mphb-account-content {
    float: none;
    clear: both;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

/* Search form. */
.paritfalls-mphb-page .mphb_sc_search-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    align-items: end;
    margin: 0 0 30px;
    padding: 24px;
    border: 1px solid var(--pf-mphb-border);
    border-radius: var(--pf-mphb-radius);
    background: var(--pf-mphb-soft);
    box-shadow: var(--pf-mphb-shadow);
}

.paritfalls-mphb-page .mphb_sc_search-form > p,
.paritfalls-mphb-page .mphb_sc_search-form > div {
    min-width: 0;
    margin-top: 0;
    margin-bottom: 0;
}

.paritfalls-mphb-page .mphb_sc_search-form .mphb-required-fields-tip {
    grid-column: 1 / -1;
}

/* Form labels and controls: MotoPress forms only. */
.paritfalls-mphb-page .mphb_sc_search-form label,
.paritfalls-mphb-page .mphb-booking-form label,
.paritfalls-mphb-page .mphb_sc_checkout-form label,
.paritfalls-mphb-page .mphb-account-content label {
    display: block;
    margin: 0 0 7px;
    color: var(--pf-mphb-text);
    font-size: 0.92rem;
    font-weight: 600;
}

.paritfalls-mphb-page .mphb_sc_search-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.paritfalls-mphb-page .mphb_sc_search-form select,
.paritfalls-mphb-page .mphb-booking-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.paritfalls-mphb-page .mphb-booking-form select,
.paritfalls-mphb-page .mphb_sc_checkout-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.paritfalls-mphb-page .mphb_sc_checkout-form select,
.paritfalls-mphb-page .mphb_sc_checkout-form textarea,
.paritfalls-mphb-page .mphb-account-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.paritfalls-mphb-page .mphb-account-content select {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 48px;
    margin: 0;
    padding: 10px 13px;
    border: 1px solid var(--pf-mphb-border);
    border-radius: 8px;
    outline: 0;
    background: var(--pf-mphb-surface);
    color: var(--pf-mphb-text);
    font: inherit;
    line-height: 1.35;
    box-shadow: none;
}

.paritfalls-mphb-page .mphb_sc_checkout-form textarea {
    min-height: 120px;
    resize: vertical;
}

.paritfalls-mphb-page .mphb_sc_search-form input:focus,
.paritfalls-mphb-page .mphb_sc_search-form select:focus,
.paritfalls-mphb-page .mphb-booking-form input:focus,
.paritfalls-mphb-page .mphb-booking-form select:focus,
.paritfalls-mphb-page .mphb_sc_checkout-form input:focus,
.paritfalls-mphb-page .mphb_sc_checkout-form select:focus,
.paritfalls-mphb-page .mphb_sc_checkout-form textarea:focus,
.paritfalls-mphb-page .mphb-account-content input:focus,
.paritfalls-mphb-page .mphb-account-content select:focus {
    border-color: var(--pf-mphb-accent);
    box-shadow: 0 0 0 3px rgba(154, 122, 72, 0.14);
}

/* MotoPress action buttons only; no generic theme/Elementor buttons. */
.paritfalls-mphb-page .mphb_sc_search-submit-button-wrapper input[type="submit"],
.paritfalls-mphb-page .mphb-search-submit-button-wrapper input[type="submit"],
.paritfalls-mphb-page .mphb-booking-form input[type="submit"],
.paritfalls-mphb-page .mphb-booking-form .button,
.paritfalls-mphb-page .mphb_sc_checkout-form input[type="submit"],
.paritfalls-mphb-page .mphb_sc_checkout-form .button,
.paritfalls-mphb-page .mphb-reserve-btn,
.paritfalls-mphb-page .mphb-confirm-reservation,
.paritfalls-mphb-page a.mphb-button,
.paritfalls-mphb-page .mphb-account-content input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 11px 21px;
    border: 1px solid var(--pf-mphb-accent);
    border-radius: 8px;
    background: var(--pf-mphb-accent);
    color: #fff;
    font: inherit;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    box-shadow: none;
}

.paritfalls-mphb-page .mphb_sc_search-submit-button-wrapper input[type="submit"]:hover,
.paritfalls-mphb-page .mphb-search-submit-button-wrapper input[type="submit"]:hover,
.paritfalls-mphb-page .mphb-booking-form input[type="submit"]:hover,
.paritfalls-mphb-page .mphb-booking-form .button:hover,
.paritfalls-mphb-page .mphb_sc_checkout-form input[type="submit"]:hover,
.paritfalls-mphb-page .mphb_sc_checkout-form .button:hover,
.paritfalls-mphb-page .mphb-reserve-btn:hover,
.paritfalls-mphb-page .mphb-confirm-reservation:hover,
.paritfalls-mphb-page a.mphb-button:hover,
.paritfalls-mphb-page .mphb-account-content input[type="submit"]:hover {
    border-color: var(--pf-mphb-accent-dark);
    background: var(--pf-mphb-accent-dark);
    color: #fff;
}

.paritfalls-mphb-page .mphb_sc_search-submit-button-wrapper input[type="submit"],
.paritfalls-mphb-page .mphb-search-submit-button-wrapper input[type="submit"] {
    width: 100%;
}

/* Search results and room cards. */
.paritfalls-mphb-page .mphb_sc_rooms-wrapper .mphb-room-type,
.paritfalls-mphb-page .mphb_sc_search_results-wrapper .mphb-room-type,
.paritfalls-mphb-page .mphb-search-recommendations-wrapper .mphb-room-type {
    overflow: hidden;
    margin: 0 0 26px;
    padding: 24px;
    border: 1px solid var(--pf-mphb-border);
    border-radius: var(--pf-mphb-radius);
    background: var(--pf-mphb-surface);
    box-shadow: var(--pf-mphb-shadow);
}

.paritfalls-mphb-page .mphb-room-type-images img,
.paritfalls-mphb-page .mphb-room-type-gallery img,
.paritfalls-mphb-page .mphb-loop-room-thumbnail img,
.paritfalls-mphb-page .mphb-room-type-featured-image img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
}

.paritfalls-mphb-page .mphb-room-type-title,
.paritfalls-mphb-page .mphb-room-type-title a {
    color: var(--pf-mphb-text);
}

.paritfalls-mphb-page .mphb-room-type-title {
    margin-top: 0;
    margin-bottom: 13px;
    font-size: clamp(1.55rem, 3vw, 2.15rem);
    line-height: 1.25;
}

.paritfalls-mphb-page .mphb-loop-room-type-attributes,
.paritfalls-mphb-page .mphb-single-room-type-attributes,
.paritfalls-mphb-page .mphb-room-type-facilities {
    margin: 16px 0;
    padding: 16px 18px;
    border-radius: 9px;
    background: var(--pf-mphb-soft);
    color: var(--pf-mphb-text);
}

.paritfalls-mphb-page .mphb-regular-price,
.paritfalls-mphb-page .mphb-price,
.paritfalls-mphb-page .mphb-room-type-price {
    color: var(--pf-mphb-text);
    font-weight: 700;
}

/* Booking and checkout panels. */
.paritfalls-mphb-page .mphb-booking-form,
.paritfalls-mphb-page .mphb-reservation-form,
.paritfalls-mphb-page .mphb_sc_checkout-form,
.paritfalls-mphb-page .mphb-account-content {
    margin-top: 24px;
    padding: 24px;
    border: 1px solid var(--pf-mphb-border);
    border-radius: var(--pf-mphb-radius);
    background: var(--pf-mphb-surface);
    box-shadow: var(--pf-mphb-shadow);
}

.paritfalls-mphb-page .mphb-booking-form > p,
.paritfalls-mphb-page .mphb-reservation-form > p,
.paritfalls-mphb-page .mphb_sc_checkout-form > p,
.paritfalls-mphb-page .mphb_sc_checkout-form .mphb-customer-details > p,
.paritfalls-mphb-page .mphb_sc_checkout-form .mphb-billing-fields > p {
    margin-top: 0;
    margin-bottom: 17px;
}

.paritfalls-mphb-page .mphb_sc_checkout-form fieldset {
    min-width: 0;
    margin: 0 0 22px;
    padding: 20px;
    border: 1px solid var(--pf-mphb-border);
    border-radius: 10px;
}

.paritfalls-mphb-page .mphb_sc_checkout-form legend {
    width: auto;
    padding: 0 7px;
    color: var(--pf-mphb-text);
    font-weight: 700;
}

/* MotoPress notices. */
.paritfalls-mphb-page .mphb-errors-wrapper,
.paritfalls-mphb-page .mphb-error,
.paritfalls-mphb-page .mphb-message,
.paritfalls-mphb-page .mphb-confirmation,
.paritfalls-mphb-page .mphb-not-found,
.paritfalls-mphb-page .mphb_sc_search_results-info {
    margin: 16px 0;
    padding: 13px 15px;
    border: 1px solid var(--pf-mphb-border);
    border-radius: 8px;
    background: var(--pf-mphb-soft);
    color: var(--pf-mphb-text);
}

.paritfalls-mphb-page .mphb-error,
.paritfalls-mphb-page .mphb-errors-wrapper {
    border-color: #e3bcbc;
    background: #fff5f5;
    color: #9b3535;
}

/* Tables: only actual MotoPress booking tables. */
.paritfalls-mphb-page .mphb-price-breakdown,
.paritfalls-mphb-page .mphb-reservation-details,
.paritfalls-mphb-page .mphb-booking-details,
.paritfalls-mphb-page .mphb_sc_checkout-form .mphb-room-details {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.paritfalls-mphb-page .mphb-price-breakdown table,
.paritfalls-mphb-page .mphb-reservation-details table,
.paritfalls-mphb-page .mphb-booking-details table,
.paritfalls-mphb-page .mphb_sc_checkout-form table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    background: var(--pf-mphb-surface);
}

.paritfalls-mphb-page .mphb-price-breakdown th,
.paritfalls-mphb-page .mphb-price-breakdown td,
.paritfalls-mphb-page .mphb-reservation-details th,
.paritfalls-mphb-page .mphb-reservation-details td,
.paritfalls-mphb-page .mphb-booking-details th,
.paritfalls-mphb-page .mphb-booking-details td,
.paritfalls-mphb-page .mphb_sc_checkout-form th,
.paritfalls-mphb-page .mphb_sc_checkout-form td {
    padding: 11px 13px;
    border: 1px solid var(--pf-mphb-border);
    color: var(--pf-mphb-text);
    text-align: left;
    vertical-align: top;
}

/* -------------------------------------------------------------------------
 * Availability calendar and popup date picker.
 * ---------------------------------------------------------------------- */

/* Popup is appended near <body>, outside the page/Elementor container. */
.datepick-popup,
.mphb-datepick-popup,
.ui-datepicker,
.flatpickr-calendar {
    z-index: 999999 !important;
}

.paritfalls-mphb-page .mphb_sc_availability_calendar-wrapper,
.paritfalls-mphb-page .mphb-calendar,
.paritfalls-mphb-page .mphb-calendar .datepick,
.paritfalls-mphb-page .mphb-datepick.inlinePicker,
.paritfalls-mphb-page .mphb-datepick.inlinePicker .datepick {
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
}

.paritfalls-mphb-page .mphb_sc_availability_calendar-wrapper,
.paritfalls-mphb-page .mphb-calendar {
    margin: 18px 0 26px;
    padding: 18px;
    border: 1px solid var(--pf-mphb-border);
    border-radius: var(--pf-mphb-radius);
    background: var(--pf-mphb-surface);
    box-shadow: var(--pf-mphb-shadow);
}

.paritfalls-mphb-page .mphb-calendar .datepick,
.datepick-popup .datepick {
    overflow: hidden;
    border: 1px solid var(--pf-mphb-border);
    border-radius: 10px;
    background: var(--pf-mphb-surface);
    color: var(--pf-mphb-text);
    font-family: inherit;
    box-shadow: none;
}

.paritfalls-mphb-page .mphb-calendar .datepick-nav,
.datepick-popup .datepick-nav {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    min-height: 46px;
    padding: 0 7px;
    background: var(--pf-mphb-text);
    color: #fff;
}

.paritfalls-mphb-page .mphb-calendar .datepick-nav a,
.datepick-popup .datepick-nav a {
    display: flex;
    align-items: center;
    min-height: 40px;
    padding: 7px 10px;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
}

.paritfalls-mphb-page .mphb-calendar .datepick-cmd-prev,
.datepick-popup .datepick-cmd-prev {
    justify-self: start;
}

.paritfalls-mphb-page .mphb-calendar .datepick-cmd-next,
.datepick-popup .datepick-cmd-next {
    justify-self: end;
}

.paritfalls-mphb-page .mphb-calendar .datepick-cmd-today,
.datepick-popup .datepick-cmd-today {
    justify-self: center;
}

.paritfalls-mphb-page .mphb-calendar .datepick-month-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 14px;
    padding: 14px;
}

.paritfalls-mphb-page .mphb-calendar .datepick-month,
.datepick-popup .datepick-month {
    float: none;
    min-width: 0;
    border: 1px solid var(--pf-mphb-border);
    background: var(--pf-mphb-surface);
}

.paritfalls-mphb-page .mphb-calendar .datepick-month {
    width: auto !important;
    min-width: 0;
}

.paritfalls-mphb-page .mphb-calendar .datepick-month-header,
.datepick-popup .datepick-month-header {
    min-height: 43px;
    padding: 10px 8px;
    border-bottom: 1px solid var(--pf-mphb-border);
    background: var(--pf-mphb-soft);
    color: var(--pf-mphb-text);
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
}

.paritfalls-mphb-page .mphb-calendar .datepick-month-header select,
.datepick-popup .datepick-month-header select {
    width: auto;
    min-height: 34px;
    margin: 0 3px;
    padding: 4px 7px;
    border: 1px solid var(--pf-mphb-border);
    border-radius: 6px;
    background: #fff;
    color: var(--pf-mphb-text);
}

.paritfalls-mphb-page .mphb-calendar .datepick-month table,
.datepick-popup .datepick-month table {
    width: 100%;
    table-layout: fixed;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    background: #fff;
}

.paritfalls-mphb-page .mphb-calendar .datepick-month th,
.paritfalls-mphb-page .mphb-calendar .datepick-month td,
.datepick-popup .datepick-month th,
.datepick-popup .datepick-month td {
    width: 14.2857%;
    height: 43px;
    padding: 0;
    border: 1px solid var(--pf-mphb-border);
    color: var(--pf-mphb-text);
    text-align: center;
    vertical-align: middle;
}

.paritfalls-mphb-page .mphb-calendar .datepick-month th,
.datepick-popup .datepick-month th {
    height: 36px;
    background: #f3f5f7;
    font-size: 0.8rem;
    font-weight: 700;
}

.paritfalls-mphb-page .mphb-calendar .datepick-month td > a,
.paritfalls-mphb-page .mphb-calendar .datepick-month td > span,
.datepick-popup .datepick-month td > a,
.datepick-popup .datepick-month td > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 42px;
    padding: 4px;
    color: inherit;
    line-height: 1;
    text-decoration: none;
}

/* Available dates. */
.paritfalls-mphb-page .mphb-calendar .mphb-available-date,
.paritfalls-mphb-page .mphb-calendar td.mphb-available-date,
.datepick-popup .mphb-available-date {
    background: var(--pf-mphb-available);
    color: var(--pf-mphb-available-text);
}

/* Booked, blocked and otherwise unavailable dates. */
.paritfalls-mphb-page .mphb-calendar .mphb-booked-date,
.paritfalls-mphb-page .mphb-calendar .mphb-unavailable-date,
.paritfalls-mphb-page .mphb-calendar .mphb-not-stay-in-date,
.paritfalls-mphb-page .mphb-calendar .mphb-mark-as-unavailable,
.paritfalls-mphb-page .mphb-calendar .mphb-mark-as-unavailable--check-in,
.paritfalls-mphb-page .mphb-calendar .mphb-mark-as-unavailable--check-out,
.datepick-popup .mphb-booked-date,
.datepick-popup .mphb-unavailable-date,
.datepick-popup .mphb-not-stay-in-date,
.datepick-popup .mphb-mark-as-unavailable,
.datepick-popup .mphb-mark-as-unavailable--check-in,
.datepick-popup .mphb-mark-as-unavailable--check-out {
    background: var(--pf-mphb-unavailable);
    color: var(--pf-mphb-unavailable-text);
    cursor: not-allowed;
}

/* Past and dates outside the current month. */
.paritfalls-mphb-page .mphb-calendar .mphb-past-date,
.paritfalls-mphb-page .mphb-calendar .datepick-other-month,
.datepick-popup .mphb-past-date,
.datepick-popup .datepick-other-month {
    background: var(--pf-mphb-past);
    color: #9aa1a9;
}

/* Selected/check-in/check-out dates. */
.paritfalls-mphb-page .mphb-calendar .datepick-selected,
.paritfalls-mphb-page .mphb-calendar .mphb-date-check-in,
.paritfalls-mphb-page .mphb-calendar .mphb-date-check-out,
.datepick-popup .datepick-selected,
.datepick-popup .mphb-date-check-in,
.datepick-popup .mphb-date-check-out {
    background: var(--pf-mphb-accent) !important;
    color: #fff !important;
}

.paritfalls-mphb-page .mphb-calendar .datepick-highlight,
.paritfalls-mphb-page .mphb-calendar td > a:hover,
.datepick-popup .datepick-highlight,
.datepick-popup td > a:hover {
    outline: 2px solid var(--pf-mphb-accent);
    outline-offset: -2px;
}

.paritfalls-mphb-page .mphb-calendar-legend,
.paritfalls-mphb-page .mphb-calendar-legend ul,
.paritfalls-mphb-page .mphb-calendar-legend-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
}

.paritfalls-mphb-page .mphb-calendar-legend li,
.paritfalls-mphb-page .mphb-calendar-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: var(--pf-mphb-muted);
    font-size: 0.88rem;
}

.paritfalls-mphb-page .mphb-calendar-legend .mphb-calendar-legend-marker,
.paritfalls-mphb-page .mphb-calendar-legend span[class*="legend"]::before {
    width: 15px;
    height: 15px;
    border: 1px solid var(--pf-mphb-border);
    border-radius: 3px;
}

/* Tablet. */
@media (max-width: 991px) {
    .paritfalls-mphb-page .mphb_sc_search-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .paritfalls-mphb-page .mphb_sc_search-form .mphb_sc_search-submit-button-wrapper,
    .paritfalls-mphb-page .mphb_sc_search-form .mphb-search-submit-button-wrapper {
        grid-column: span 2;
    }
}

/* Phone. */
@media (max-width: 767px) {
    .paritfalls-mphb-page .mphb_sc_search-form {
        display: block;
        padding: 18px;
    }

    .paritfalls-mphb-page .mphb_sc_search-form > p,
    .paritfalls-mphb-page .mphb_sc_search-form > div {
        margin-bottom: 15px;
    }

    .paritfalls-mphb-page .mphb_sc_search-form > :last-child {
        margin-bottom: 0;
    }

    .paritfalls-mphb-page .mphb_sc_rooms-wrapper .mphb-room-type,
    .paritfalls-mphb-page .mphb_sc_search_results-wrapper .mphb-room-type,
    .paritfalls-mphb-page .mphb-search-recommendations-wrapper .mphb-room-type,
    .paritfalls-mphb-page .mphb-booking-form,
    .paritfalls-mphb-page .mphb-reservation-form,
    .paritfalls-mphb-page .mphb_sc_checkout-form,
    .paritfalls-mphb-page .mphb-account-content {
        padding: 18px;
    }

    .paritfalls-mphb-page .mphb-calendar,
    .paritfalls-mphb-page .mphb_sc_availability_calendar-wrapper {
        padding: 10px;
    }

    .paritfalls-mphb-page .mphb-calendar .datepick-month-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        padding: 10px;
    }

    .paritfalls-mphb-page .mphb-calendar .datepick-month {
        width: 100% !important;
        margin: 0 0 12px;
    }

    .paritfalls-mphb-page .mphb-calendar .datepick-month:last-child {
        margin-bottom: 0;
    }

    .paritfalls-mphb-page .mphb-calendar .datepick-month th,
    .paritfalls-mphb-page .mphb-calendar .datepick-month td,
    .datepick-popup .datepick-month th,
    .datepick-popup .datepick-month td {
        height: 39px;
        font-size: 0.8rem;
    }

    .paritfalls-mphb-page .mphb-calendar .datepick-month td > a,
    .paritfalls-mphb-page .mphb-calendar .datepick-month td > span,
    .datepick-popup .datepick-month td > a,
    .datepick-popup .datepick-month td > span {
        min-height: 38px;
    }

    .datepick-popup {
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-width: calc(100vw - 24px) !important;
    }

    .datepick-popup .datepick,
    .datepick-popup .datepick-month {
        width: 100% !important;
        max-width: 100%;
    }
}

/* -------------------------------------------------------------------------
 * v1.3.0 — Reservation action buttons.
 * ---------------------------------------------------------------------- */
.paritfalls-mphb-page .mphb-reserve-room-section,
.paritfalls-mphb-page .mphb-reservation-form .mphb-reserve-room-section,
.paritfalls-mphb-page .mphb-reservation-form .mphb-reserve-buttons,
.paritfalls-mphb-page .mphb-reservation-form .mphb-reservation-buttons,
.paritfalls-mphb-page .mphb-booking-form .mphb-reserve-room-section {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.paritfalls-mphb-page button.mphb-book-button,
.paritfalls-mphb-page input.mphb-book-button,
.paritfalls-mphb-page a.mphb-book-button,
.paritfalls-mphb-page .mphb-book-button,
.paritfalls-mphb-page button.mphb-confirm-reservation,
.paritfalls-mphb-page input.mphb-confirm-reservation,
.paritfalls-mphb-page a.mphb-confirm-reservation,
.paritfalls-mphb-page .mphb-confirm-reservation,
.paritfalls-mphb-page .mphb-reserve-room-section button,
.paritfalls-mphb-page .mphb-reserve-room-section input[type="submit"],
.paritfalls-mphb-page .mphb-reserve-room-section .button {
    appearance: none;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 126px;
    min-height: 52px;
    margin: 0 !important;
    padding: 13px 22px !important;
    border: 2px solid var(--pf-mphb-accent) !important;
    border-radius: 10px !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    text-align: center;
    text-decoration: none !important;
    text-transform: none !important;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

/* Secondary Book button. */
.paritfalls-mphb-page button.mphb-book-button,
.paritfalls-mphb-page input.mphb-book-button,
.paritfalls-mphb-page a.mphb-book-button,
.paritfalls-mphb-page .mphb-book-button {
    border-color: var(--pf-mphb-accent) !important;
    background: #fff !important;
    color: var(--pf-mphb-accent-dark) !important;
    box-shadow: none !important;
}

.paritfalls-mphb-page button.mphb-book-button:hover,
.paritfalls-mphb-page input.mphb-book-button:hover,
.paritfalls-mphb-page a.mphb-book-button:hover,
.paritfalls-mphb-page .mphb-book-button:hover,
.paritfalls-mphb-page button.mphb-book-button:focus,
.paritfalls-mphb-page input.mphb-book-button:focus,
.paritfalls-mphb-page a.mphb-book-button:focus,
.paritfalls-mphb-page .mphb-book-button:focus {
    border-color: var(--pf-mphb-accent-dark) !important;
    background: var(--pf-mphb-soft) !important;
    color: var(--pf-mphb-accent-dark) !important;
    box-shadow: 0 0 0 3px rgba(154, 122, 72, .15) !important;
}

/* Primary Confirm Reservation button. */
.paritfalls-mphb-page button.mphb-confirm-reservation,
.paritfalls-mphb-page input.mphb-confirm-reservation,
.paritfalls-mphb-page a.mphb-confirm-reservation,
.paritfalls-mphb-page .mphb-confirm-reservation {
    min-width: 220px;
    border-color: var(--pf-mphb-accent) !important;
    background: var(--pf-mphb-accent) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(118, 91, 52, .18) !important;
}

.paritfalls-mphb-page button.mphb-confirm-reservation:hover,
.paritfalls-mphb-page input.mphb-confirm-reservation:hover,
.paritfalls-mphb-page a.mphb-confirm-reservation:hover,
.paritfalls-mphb-page .mphb-confirm-reservation:hover,
.paritfalls-mphb-page button.mphb-confirm-reservation:focus,
.paritfalls-mphb-page input.mphb-confirm-reservation:focus,
.paritfalls-mphb-page a.mphb-confirm-reservation:focus,
.paritfalls-mphb-page .mphb-confirm-reservation:focus {
    border-color: var(--pf-mphb-accent-dark) !important;
    background: var(--pf-mphb-accent-dark) !important;
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(118, 91, 52, .24) !important;
}

.paritfalls-mphb-page .mphb-book-button:focus-visible,
.paritfalls-mphb-page .mphb-confirm-reservation:focus-visible {
    outline: 3px solid rgba(30, 57, 84, .25) !important;
    outline-offset: 2px;
}

/* -------------------------------------------------------------------------
 * v1.3.0 — Popup date picker repair.
 * Two generated months are kept side-by-side on desktop. This overrides the
 * old float/50% combination that produced a tall calendar and an empty panel.
 * ---------------------------------------------------------------------- */
.datepick-popup.pf-mphb-calendar-popup {
    box-sizing: border-box !important;
    width: min(720px, calc(100vw - 32px)) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 32px) !important;
}

.datepick-popup.pf-mphb-calendar-popup .datepick {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    border: 1px solid var(--pf-mphb-border, #e3ded6) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 20px 55px rgba(16, 35, 53, .24) !important;
}

.datepick-popup.pf-mphb-calendar-popup .datepick-month-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
}

.datepick-popup.pf-mphb-calendar-popup.pf-mphb-calendar-popup--single .datepick-month-row {
    grid-template-columns: minmax(0, 1fr) !important;
}

.datepick-popup.pf-mphb-calendar-popup .datepick-month {
    float: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    border: 0 !important;
    border-right: 1px solid var(--pf-mphb-border, #e3ded6) !important;
    background: #fff !important;
}

.datepick-popup.pf-mphb-calendar-popup .datepick-month:last-child {
    border-right: 0 !important;
}

.datepick-popup.pf-mphb-calendar-popup .datepick-nav {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 52px !important;
    padding: 4px 8px !important;
    border: 0 !important;
    background: var(--pf-mphb-text, #1e3954) !important;
}

.datepick-popup.pf-mphb-calendar-popup .datepick-nav a {
    min-height: 42px !important;
    padding: 10px 12px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: transparent !important;
    color: #fff !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

.datepick-popup.pf-mphb-calendar-popup .datepick-nav a:hover,
.datepick-popup.pf-mphb-calendar-popup .datepick-nav a:focus {
    background: rgba(255, 255, 255, .12) !important;
}

.datepick-popup.pf-mphb-calendar-popup .datepick-month-header {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-height: 54px !important;
    padding: 9px 10px !important;
    border-bottom: 1px solid var(--pf-mphb-border, #e3ded6) !important;
    background: var(--pf-mphb-soft, #faf7f2) !important;
    color: var(--pf-mphb-text, #1e3954) !important;
    font-weight: 700 !important;
    white-space: nowrap;
}

.datepick-popup.pf-mphb-calendar-popup .datepick-month-header select {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 6px 30px 6px 10px !important;
    border: 1px solid var(--pf-mphb-border, #e3ded6) !important;
    border-radius: 7px !important;
    background-color: #fff !important;
    color: var(--pf-mphb-text, #1e3954) !important;
    font: inherit !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

.datepick-popup.pf-mphb-calendar-popup .datepick-month-header select:first-of-type {
    min-width: 130px !important;
}

.datepick-popup.pf-mphb-calendar-popup .datepick-month-header select:last-of-type {
    min-width: 88px !important;
}

.datepick-popup.pf-mphb-calendar-popup .datepick-month table {
    width: 100% !important;
    table-layout: fixed !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse !important;
}

.datepick-popup.pf-mphb-calendar-popup .datepick-month th,
.datepick-popup.pf-mphb-calendar-popup .datepick-month td {
    box-sizing: border-box !important;
    width: 14.2857% !important;
    height: 44px !important;
    padding: 0 !important;
    border: 1px solid var(--pf-mphb-border, #e3ded6) !important;
    text-align: center !important;
    vertical-align: middle !important;
}

.datepick-popup.pf-mphb-calendar-popup .datepick-month th {
    height: 38px !important;
    background: #f4f6f8 !important;
    color: var(--pf-mphb-text, #1e3954) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.datepick-popup.pf-mphb-calendar-popup .datepick-month td > a,
.datepick-popup.pf-mphb-calendar-popup .datepick-month td > span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 43px !important;
    padding: 4px !important;
    border: 0 !important;
    color: inherit !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

.datepick-popup.pf-mphb-calendar-popup .datepick-ctrl {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 4px 7px !important;
    border-top: 1px solid var(--pf-mphb-border, #e3ded6) !important;
    background: var(--pf-mphb-soft, #faf7f2) !important;
}

.datepick-popup.pf-mphb-calendar-popup .datepick-ctrl a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 36px !important;
    padding: 7px 10px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: transparent !important;
    color: var(--pf-mphb-text, #1e3954) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

.datepick-popup.pf-mphb-calendar-popup .datepick-ctrl a:hover,
.datepick-popup.pf-mphb-calendar-popup .datepick-ctrl a:focus {
    background: rgba(154, 122, 72, .12) !important;
    color: var(--pf-mphb-accent-dark, #765b34) !important;
}

/* Inline availability calendar: preserve two balanced columns and readable
 * month/year controls instead of inheriting narrow legacy theme widths. */
.paritfalls-mphb-page .mphb-calendar .datepick-month-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.paritfalls-mphb-page .mphb-calendar .datepick-month-header select:first-of-type {
    min-width: 122px;
}

.paritfalls-mphb-page .mphb-calendar .datepick-month-header select:last-of-type {
    min-width: 84px;
}

@media (max-width: 767px) {
    .paritfalls-mphb-page .mphb-reserve-room-section,
    .paritfalls-mphb-page .mphb-reservation-form .mphb-reserve-buttons,
    .paritfalls-mphb-page .mphb-reservation-form .mphb-reservation-buttons {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }

    .paritfalls-mphb-page .mphb-book-button,
    .paritfalls-mphb-page .mphb-confirm-reservation,
    .paritfalls-mphb-page .mphb-reserve-room-section button,
    .paritfalls-mphb-page .mphb-reserve-room-section input[type="submit"],
    .paritfalls-mphb-page .mphb-reserve-room-section .button {
        width: 100% !important;
        min-width: 0 !important;
    }

    .datepick-popup.pf-mphb-calendar-popup {
        left: 12px !important;
        right: auto !important;
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
    }

    .datepick-popup.pf-mphb-calendar-popup .datepick-month-row {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .datepick-popup.pf-mphb-calendar-popup .datepick-month {
        border-right: 0 !important;
        border-bottom: 1px solid var(--pf-mphb-border, #e3ded6) !important;
    }

    .datepick-popup.pf-mphb-calendar-popup .datepick-month:last-child {
        border-bottom: 0 !important;
    }

    .datepick-popup.pf-mphb-calendar-popup .datepick-month th,
    .datepick-popup.pf-mphb-calendar-popup .datepick-month td {
        height: 40px !important;
        font-size: 12px !important;
    }

    .datepick-popup.pf-mphb-calendar-popup .datepick-month td > a,
    .datepick-popup.pf-mphb-calendar-popup .datepick-month td > span {
        min-height: 39px !important;
    }
}


/* -------------------------------------------------------------------------
 * v1.4.0 — WooCommerce checkout used by MotoPress WooCommerce Payments.
 * The AmiHomeStay theme has legacy inline/fixed-width form rules. These
 * selectors are limited to the checkout body class added by this plugin.
 * ---------------------------------------------------------------------- */
body.paritfalls-wc-checkout .woocommerce form.checkout.woocommerce-checkout {
    width: 100%;
    max-width: none;
    margin: 0;
}

body.paritfalls-wc-checkout .woocommerce .woocommerce-info,
body.paritfalls-wc-checkout .woocommerce .woocommerce-message,
body.paritfalls-wc-checkout .woocommerce .woocommerce-error {
    position: relative;
    width: 100%;
    margin: 0 0 24px !important;
    padding: 16px 18px 16px 50px !important;
    border: 1px solid var(--pf-mphb-border) !important;
    border-top: 3px solid var(--pf-mphb-accent) !important;
    border-radius: 10px;
    background: var(--pf-mphb-soft) !important;
    color: var(--pf-mphb-text) !important;
    box-shadow: none;
}

body.paritfalls-wc-checkout .woocommerce .woocommerce-error {
    border-color: #e4bcbc !important;
    border-top-color: #a63d3d !important;
    background: #fff5f5 !important;
    color: #8d3030 !important;
}

body.paritfalls-wc-checkout .woocommerce .woocommerce-info a,
body.paritfalls-wc-checkout .woocommerce .woocommerce-message a,
body.paritfalls-wc-checkout .woocommerce .woocommerce-error a {
    color: var(--pf-mphb-accent-dark);
    font-weight: 700;
}

body.paritfalls-wc-checkout .woocommerce form.checkout_coupon,
body.paritfalls-wc-checkout .woocommerce form.login,
body.paritfalls-wc-checkout .woocommerce form.woocommerce-form-login {
    width: 100%;
    margin: -10px 0 28px !important;
    padding: 22px !important;
    border: 1px solid var(--pf-mphb-border) !important;
    border-radius: var(--pf-mphb-radius);
    background: var(--pf-mphb-surface);
    box-shadow: var(--pf-mphb-shadow);
}

/* Customer details: billing card + additional-information card. */
body.paritfalls-wc-checkout .woocommerce-checkout #customer_details {
    display: grid !important;
    grid-template-columns: minmax(0, 1.65fr) minmax(320px, .85fr);
    gap: clamp(22px, 3vw, 38px);
    align-items: start;
    width: 100%;
    margin: 0 0 34px;
}

body.paritfalls-wc-checkout .woocommerce-checkout #customer_details::before,
body.paritfalls-wc-checkout .woocommerce-checkout #customer_details::after {
    display: none !important;
    content: none !important;
}

body.paritfalls-wc-checkout .woocommerce-checkout #customer_details > .col-1,
body.paritfalls-wc-checkout .woocommerce-checkout #customer_details > .col-2 {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}

body.paritfalls-wc-checkout .woocommerce-billing-fields,
body.paritfalls-wc-checkout .woocommerce-shipping-fields,
body.paritfalls-wc-checkout .woocommerce-additional-fields {
    width: 100%;
    margin: 0;
    padding: clamp(22px, 2.5vw, 32px);
    border: 1px solid var(--pf-mphb-border);
    border-radius: var(--pf-mphb-radius);
    background: var(--pf-mphb-surface);
    box-shadow: var(--pf-mphb-shadow);
}

body.paritfalls-wc-checkout .woocommerce-billing-fields > h3,
body.paritfalls-wc-checkout .woocommerce-shipping-fields > h3,
body.paritfalls-wc-checkout .woocommerce-additional-fields > h3,
body.paritfalls-wc-checkout #order_review_heading {
    margin: 0 0 24px !important;
    color: var(--pf-mphb-text);
    font-size: clamp(1.65rem, 2.6vw, 2.25rem);
    font-weight: 700;
    line-height: 1.2;
}

body.paritfalls-wc-checkout .woocommerce-billing-fields__field-wrapper,
body.paritfalls-wc-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 16px;
    width: 100%;
}

body.paritfalls-wc-checkout .woocommerce-additional-fields__field-wrapper {
    display: block;
    width: 100%;
}

body.paritfalls-wc-checkout .woocommerce form .form-row {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}

body.paritfalls-wc-checkout .woocommerce form .form-row.form-row-wide,
body.paritfalls-wc-checkout .woocommerce form .form-row.address-field,
body.paritfalls-wc-checkout .woocommerce form .form-row.notes {
    grid-column: 1 / -1;
}

body.paritfalls-wc-checkout .woocommerce form .form-row label:not(.woocommerce-form__label-for-checkbox) {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 8px !important;
    color: var(--pf-mphb-text);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

body.paritfalls-wc-checkout .woocommerce form .form-row .required {
    color: #b13535;
    text-decoration: none;
}

body.paritfalls-wc-checkout .woocommerce form .form-row .woocommerce-input-wrapper {
    display: block;
    width: 100%;
    min-width: 0;
}

body.paritfalls-wc-checkout .woocommerce form .form-row input.input-text,
body.paritfalls-wc-checkout .woocommerce form .form-row input[type="text"],
body.paritfalls-wc-checkout .woocommerce form .form-row input[type="email"],
body.paritfalls-wc-checkout .woocommerce form .form-row input[type="tel"],
body.paritfalls-wc-checkout .woocommerce form .form-row input[type="password"],
body.paritfalls-wc-checkout .woocommerce form .form-row select,
body.paritfalls-wc-checkout .woocommerce form .form-row textarea,
body.paritfalls-wc-checkout .woocommerce form.checkout_coupon input.input-text,
body.paritfalls-wc-checkout .woocommerce form.login input.input-text {
    box-sizing: border-box !important;
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 50px;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid var(--pf-mphb-border) !important;
    border-radius: 8px !important;
    outline: 0;
    background: var(--pf-mphb-surface) !important;
    color: var(--pf-mphb-text) !important;
    font: inherit !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    box-shadow: none !important;
}

body.paritfalls-wc-checkout .woocommerce form .form-row textarea {
    min-height: 160px;
    resize: vertical;
}

body.paritfalls-wc-checkout .woocommerce form .form-row input:focus,
body.paritfalls-wc-checkout .woocommerce form .form-row select:focus,
body.paritfalls-wc-checkout .woocommerce form .form-row textarea:focus,
body.paritfalls-wc-checkout .woocommerce form.checkout_coupon input.input-text:focus,
body.paritfalls-wc-checkout .woocommerce form.login input.input-text:focus {
    border-color: var(--pf-mphb-accent) !important;
    box-shadow: 0 0 0 3px rgba(154, 122, 72, .14) !important;
}

/* Select2 country/state controls. */
body.paritfalls-wc-checkout .woocommerce .select2-container {
    display: block;
    width: 100% !important;
    max-width: 100%;
}

body.paritfalls-wc-checkout .woocommerce .select2-container .select2-selection--single {
    height: 50px !important;
    border: 1px solid var(--pf-mphb-border) !important;
    border-radius: 8px !important;
    background: var(--pf-mphb-surface) !important;
}

body.paritfalls-wc-checkout .woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
    padding-right: 42px !important;
    padding-left: 14px !important;
    color: var(--pf-mphb-text) !important;
    font-size: 16px;
    line-height: 48px !important;
}

body.paritfalls-wc-checkout .woocommerce .select2-container .select2-selection--single .select2-selection__arrow {
    top: 0 !important;
    right: 10px !important;
    width: 28px !important;
    height: 48px !important;
}

body.paritfalls-wc-checkout .select2-container--open .select2-dropdown {
    z-index: 999999;
    border-color: var(--pf-mphb-accent);
}

body.paritfalls-wc-checkout .woocommerce form .form-row.woocommerce-invalid input.input-text,
body.paritfalls-wc-checkout .woocommerce form .form-row.woocommerce-invalid select,
body.paritfalls-wc-checkout .woocommerce form .form-row.woocommerce-invalid .select2-selection {
    border-color: #b33f3f !important;
}

body.paritfalls-wc-checkout .woocommerce form .form-row.woocommerce-validated input.input-text,
body.paritfalls-wc-checkout .woocommerce form .form-row.woocommerce-validated select,
body.paritfalls-wc-checkout .woocommerce form .form-row.woocommerce-validated .select2-selection {
    border-color: #4c8a5b !important;
}

/* Order review and payment. */
body.paritfalls-wc-checkout #order_review_heading {
    width: 100%;
    margin-top: 8px !important;
}

body.paritfalls-wc-checkout .woocommerce-checkout #order_review {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr);
    gap: clamp(22px, 3vw, 38px);
    align-items: start;
    width: 100%;
    float: none !important;
}

body.paritfalls-wc-checkout .woocommerce-checkout #order_review > * {
    min-width: 0;
}

body.paritfalls-wc-checkout .woocommerce-checkout-review-order-table,
body.paritfalls-wc-checkout #payment {
    width: 100% !important;
    margin: 0 !important;
    border: 1px solid var(--pf-mphb-border) !important;
    border-radius: var(--pf-mphb-radius) !important;
    background: var(--pf-mphb-surface) !important;
    box-shadow: var(--pf-mphb-shadow);
}

body.paritfalls-wc-checkout .woocommerce-checkout-review-order-table {
    overflow: hidden;
    border-collapse: separate !important;
    border-spacing: 0;
}

body.paritfalls-wc-checkout .woocommerce-checkout-review-order-table th,
body.paritfalls-wc-checkout .woocommerce-checkout-review-order-table td {
    padding: 15px 18px !important;
    border-width: 0 0 1px !important;
    border-style: solid !important;
    border-color: var(--pf-mphb-border) !important;
    background: transparent;
    color: var(--pf-mphb-text);
    text-align: left;
    vertical-align: top;
}

body.paritfalls-wc-checkout .woocommerce-checkout-review-order-table tr:last-child th,
body.paritfalls-wc-checkout .woocommerce-checkout-review-order-table tr:last-child td {
    border-bottom: 0 !important;
}

body.paritfalls-wc-checkout .woocommerce-checkout-review-order-table .order-total th,
body.paritfalls-wc-checkout .woocommerce-checkout-review-order-table .order-total td {
    font-size: 1.12rem;
    font-weight: 800;
}

body.paritfalls-wc-checkout #payment {
    padding: 22px !important;
}

body.paritfalls-wc-checkout #payment ul.payment_methods {
    margin: 0 0 20px !important;
    padding: 0 0 18px !important;
    border-bottom: 1px solid var(--pf-mphb-border) !important;
}

body.paritfalls-wc-checkout #payment ul.payment_methods li {
    margin: 0 0 12px;
}

body.paritfalls-wc-checkout #payment .payment_box {
    margin: 12px 0 !important;
    padding: 15px !important;
    border-radius: 8px;
    background: var(--pf-mphb-soft) !important;
    color: var(--pf-mphb-text) !important;
}

body.paritfalls-wc-checkout #payment .place-order {
    margin: 0 !important;
    padding: 0 !important;
}

body.paritfalls-wc-checkout #payment #place_order,
body.paritfalls-wc-checkout .woocommerce button.button,
body.paritfalls-wc-checkout .woocommerce input.button,
body.paritfalls-wc-checkout .woocommerce a.button {
    appearance: none;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 13px 24px !important;
    border: 2px solid var(--pf-mphb-accent) !important;
    border-radius: 10px !important;
    background: var(--pf-mphb-accent) !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
    text-transform: none !important;
    box-shadow: none !important;
    cursor: pointer;
}

body.paritfalls-wc-checkout #payment #place_order {
    width: 100%;
    margin-top: 16px !important;
}

body.paritfalls-wc-checkout #payment #place_order:hover,
body.paritfalls-wc-checkout .woocommerce button.button:hover,
body.paritfalls-wc-checkout .woocommerce input.button:hover,
body.paritfalls-wc-checkout .woocommerce a.button:hover {
    border-color: var(--pf-mphb-accent-dark) !important;
    background: var(--pf-mphb-accent-dark) !important;
    color: #fff !important;
}

body.paritfalls-wc-checkout .woocommerce-privacy-policy-text,
body.paritfalls-wc-checkout .woocommerce-terms-and-conditions-wrapper {
    color: var(--pf-mphb-muted);
    font-size: .92rem;
    line-height: 1.6;
}

/* Basic support when WooCommerce Checkout Blocks is enabled later. */
body.paritfalls-wc-checkout .wc-block-checkout {
    width: 100%;
    max-width: 1500px;
    margin-right: auto;
    margin-left: auto;
}

body.paritfalls-wc-checkout .wc-block-components-text-input input,
body.paritfalls-wc-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.paritfalls-wc-checkout .wc-block-components-textarea {
    border-color: var(--pf-mphb-border) !important;
    border-radius: 8px !important;
}

@media (max-width: 1024px) {
    body.paritfalls-wc-checkout .woocommerce-checkout #customer_details,
    body.paritfalls-wc-checkout .woocommerce-checkout #order_review {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 767px) {
    body.paritfalls-wc-checkout .woocommerce-billing-fields,
    body.paritfalls-wc-checkout .woocommerce-shipping-fields,
    body.paritfalls-wc-checkout .woocommerce-additional-fields,
    body.paritfalls-wc-checkout #payment {
        padding: 18px !important;
    }

    body.paritfalls-wc-checkout .woocommerce-billing-fields__field-wrapper,
    body.paritfalls-wc-checkout .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: minmax(0, 1fr);
    }

    body.paritfalls-wc-checkout .woocommerce form .form-row.form-row-first,
    body.paritfalls-wc-checkout .woocommerce form .form-row.form-row-last,
    body.paritfalls-wc-checkout .woocommerce form .form-row.form-row-wide,
    body.paritfalls-wc-checkout .woocommerce form .form-row.address-field,
    body.paritfalls-wc-checkout .woocommerce form .form-row.notes {
        grid-column: 1;
    }

    body.paritfalls-wc-checkout .woocommerce-checkout-review-order-table {
        display: table;
        width: 100%;
        table-layout: fixed;
    }

    body.paritfalls-wc-checkout .woocommerce-checkout-review-order-table th,
    body.paritfalls-wc-checkout .woocommerce-checkout-review-order-table td {
        overflow-wrap: anywhere;
        padding: 13px 12px !important;
    }

    body.paritfalls-wc-checkout .woocommerce form.checkout_coupon,
    body.paritfalls-wc-checkout .woocommerce form.login,
    body.paritfalls-wc-checkout .woocommerce form.woocommerce-form-login {
        padding: 18px !important;
    }

    body.paritfalls-wc-checkout .woocommerce form.checkout_coupon .form-row,
    body.paritfalls-wc-checkout .woocommerce form.login .form-row {
        width: 100% !important;
        margin-bottom: 12px !important;
    }

    body.paritfalls-wc-checkout .woocommerce form.checkout_coupon button,
    body.paritfalls-wc-checkout .woocommerce form.login button,
    body.paritfalls-wc-checkout .woocommerce form.checkout_coupon input.button,
    body.paritfalls-wc-checkout .woocommerce form.login input.button {
        width: 100%;
    }
}
