/*
Theme Name: Luviana Child — Bali Aesthetic
Theme URI: https://www.dpenarikbalivilla.com/
Template: luviana
Description: Custom child theme for D Penarik Bali Villa — warm tropical Bali-inspired aesthetic with refined typography, spacing, and imagery. Keeps parent theme updates safe.
Author: Mohd Naim Mohd Yusof
Author URI: https://www.dpenarikbalivilla.com/
Version: 1.8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: luviana-child
*/

/* =========================================================================
   BALI VILLA AESTHETIC — v1.0.1
   Palette: sand, teak, ocean teal, palm green, sunset coral
   ========================================================================= */

:root {
    --bali-sand:        #f4e9d8;
    --bali-sand-dark:   #e8d5b5;
    --bali-teak:        #8b6a3e;
    --bali-teak-dark:   #4a3520;
    --bali-ocean:       #2d6e7e;
    --bali-ocean-dark:  #1d5563;
    --bali-palm:        #3a6b4e;
    --bali-palm-dark:   #2e5540;
    --bali-coral:       #d97a5b;
    --bali-coral-dark:  #b85d3f;
    --bali-cream:       #faf6ef;
    --bali-charcoal:    #2a2520;
    --bali-soft:        #6b5d4a;

    --bali-shadow-sm: 0 2px 8px rgba(74, 55, 30, 0.08);
    --bali-shadow-md: 0 8px 24px rgba(74, 55, 30, 0.12);
    --bali-shadow-lg: 0 16px 48px rgba(74, 55, 30, 0.16);

    --bali-radius-sm: 4px;
    --bali-radius-md: 8px;
    --bali-radius-lg: 16px;
}

/* =========================================================================
   TYPOGRAPHY
   ========================================================================= */

body,
button,
input,
select,
textarea {
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    color: var(--bali-charcoal);
    line-height: 1.7;
    letter-spacing: -0.005em;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.site-title {
    font-family: 'Playfair Display', 'Georgia', serif;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.25;
}

h1, .entry-title { font-size: clamp(2rem, 4vw, 3rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); }
h3 { font-size: clamp(1.3rem, 2.4vw, 1.75rem); }

blockquote {
    border-left: 3px solid var(--bali-coral);
    background: var(--bali-cream);
    padding: 20px 28px;
    margin: 24px 0;
    font-style: italic;
    color: var(--bali-soft);
    border-radius: 0 var(--bali-radius-md) var(--bali-radius-md) 0;
}

/* =========================================================================
   LINKS (non-destructive — let theme own nav colors)
   ========================================================================= */

.entry-content a:not(.button):not(.wp-block-button__link),
.widget a {
    color: var(--bali-ocean);
    transition: color 0.2s ease;
}

.entry-content a:not(.button):not(.wp-block-button__link):hover,
.widget a:hover {
    color: var(--bali-coral);
}

/* =========================================================================
   BUTTONS — scoped to avoid overriding WhatsApp widgets, lightbox, nav arrows
   ========================================================================= */

.wp-block-button__link,
.entry-content input[type="submit"],
.entry-content .button,
.entry-content a.button,
.mphb_sc_search_form input[type="submit"],
.mphb-booking-form input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    background: var(--bali-palm) !important;
    color: #fff !important;
    border: none !important;
    padding: 12px 28px !important;
    border-radius: var(--bali-radius-md) !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase;
    font-size: 13px !important;
    cursor: pointer;
    transition: all 0.25s ease !important;
    box-shadow: var(--bali-shadow-sm) !important;
    text-decoration: none !important;
}

.wp-block-button__link:hover,
.entry-content input[type="submit"]:hover,
.entry-content .button:hover,
.entry-content a.button:hover,
.mphb_sc_search_form input[type="submit"]:hover,
.mphb-booking-form input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    background: var(--bali-palm-dark) !important;
    transform: translateY(-2px);
    box-shadow: var(--bali-shadow-md) !important;
}

.is-style-outline .wp-block-button__link {
    background: transparent !important;
    color: var(--bali-palm) !important;
    border: 2px solid var(--bali-palm) !important;
}

.is-style-outline .wp-block-button__link:hover {
    background: var(--bali-palm) !important;
    color: #fff !important;
}

/* =========================================================================
   HEADER / NAVIGATION — subtle enhancements only
   ========================================================================= */

.site-header {
    background: var(--bali-cream);
    box-shadow: 0 1px 0 rgba(139, 106, 62, 0.08);
}

.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
    color: var(--bali-coral) !important;
}

/* =========================================================================
   BODY BACKGROUND — prevent weird blue side panels
   ========================================================================= */

html, body {
    background: #fff !important;
}

/* =========================================================================
   CARDS / POSTS
   ========================================================================= */

.mphb-room-item,
.mphb-accommodation-item {
    background: #fff;
    border-radius: var(--bali-radius-lg);
    overflow: hidden;
    box-shadow: var(--bali-shadow-sm);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.mphb-room-item:hover,
.mphb-accommodation-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--bali-shadow-lg);
}

.mphb-room-item img,
.mphb-accommodation-item img {
    transition: transform 0.6s ease;
}

.mphb-room-item:hover img,
.mphb-accommodation-item:hover img {
    transform: scale(1.04);
}

/* =========================================================================
   FORMS
   ========================================================================= */

.entry-content input[type="text"],
.entry-content input[type="email"],
.entry-content input[type="tel"],
.entry-content input[type="password"],
.entry-content input[type="search"],
.entry-content input[type="number"],
.entry-content input[type="date"],
.entry-content textarea,
.entry-content select,
.mphb_sc_search_form input,
.mphb_sc_search_form select,
.mphb-booking-form input,
.mphb-booking-form select,
.woocommerce form .form-row input,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
    border: 1.5px solid rgba(139, 106, 62, 0.25) !important;
    border-radius: var(--bali-radius-md) !important;
    background: #fff !important;
    color: var(--bali-charcoal) !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

.entry-content input:focus,
.entry-content textarea:focus,
.entry-content select:focus,
.mphb_sc_search_form input:focus,
.mphb_sc_search_form select:focus,
.mphb-booking-form input:focus,
.mphb-booking-form select:focus,
.woocommerce form .form-row input:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
    border-color: var(--bali-ocean) !important;
    box-shadow: 0 0 0 3px rgba(45, 110, 126, 0.15) !important;
    outline: none !important;
}

/* =========================================================================
   FOOTER — FIXED: target .footer-widgets (not .site-footer)
   Parent theme sets .footer-widgets { background: #fff } — we override.
   ========================================================================= */

.site-footer .footer-widgets,
.site-footer .site-info-wrapper {
    background: var(--bali-teak-dark) !important;
    color: #f4e9d8 !important;
}

.site-footer .footer-widgets {
    padding: 56px 20px 32px !important;
}

/* All text in footer = readable sand on dark teak */
.site-footer .footer-widgets,
.site-footer .footer-widgets p,
.site-footer .footer-widgets li,
.site-footer .footer-widgets span,
.site-footer .footer-widgets div,
.site-footer .site-info,
.site-footer .site-info p,
.site-footer .site-info span,
.site-footer .footer-menu a,
.site-footer .footer-menu-container,
.site-footer .widget {
    color: #f4e9d8 !important;
    opacity: 1 !important;
}

/* Links in footer */
.site-footer .footer-widgets a,
.site-footer .site-info a,
.site-footer .footer-menu a {
    color: #f4e9d8 !important;
    opacity: 1 !important;
    text-decoration: none;
    transition: color 0.2s ease;
}

.site-footer .footer-widgets a:hover,
.site-footer .site-info a:hover,
.site-footer .footer-menu a:hover {
    color: var(--bali-coral) !important;
}

/* Footer headings */
.site-footer .footer-widgets h1,
.site-footer .footer-widgets h2,
.site-footer .footer-widgets h3,
.site-footer .footer-widgets h4,
.site-footer .footer-widgets h5,
.site-footer .footer-widgets h6,
.site-footer .footer-widgets .widget-title,
.site-footer .footer-widgets .wp-block-heading {
    color: #ffffff !important;
    margin-bottom: 16px !important;
    font-size: 1.15em !important;
    letter-spacing: 0.01em;
}

.site-footer .footer-widgets-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 32px;
    padding: 0 !important;
}

.site-footer .widget-area {
    padding: 0 !important;
}

.site-footer .footer-widgets ul {
    list-style: none;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}

.site-footer .footer-widgets li {
    padding: 3px 0 !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}

.site-footer .footer-widgets li a {
    display: inline !important;
    padding: 0 !important;
    line-height: 1.5 !important;
    word-break: normal !important;
    white-space: normal !important;
}

/* Emoji sits on same line as text */
.site-footer .footer-widgets li {
    padding: 3px 0 !important;
    margin: 0 !important;
    line-height: 1.6 !important;
    white-space: normal !important;
}

/* Footer paragraphs tight spacing */
.site-footer .footer-widgets p {
    margin: 0 0 6px !important;
    line-height: 1.5 !important;
}

/* Bottom copyright bar */
.site-footer .site-info-wrapper {
    border-top: 1px solid rgba(244, 233, 216, 0.15) !important;
    padding: 16px 20px !important;
}

.site-footer .site-info {
    font-size: 13px;
    opacity: 0.9 !important;
}

/* Override inline color:#555 in footer_text customizer value */
.site-footer .site-info *,
.site-footer .site-info div,
.site-footer .site-info small,
.site-footer .site-info strong,
.site-footer .site-info span,
.site-footer .site-info p {
    color: #f4e9d8 !important;
    font-family: 'Inter', system-ui, sans-serif !important;
}

.site-footer .site-info small {
    opacity: 0.7;
    font-size: 0.85em;
}

/* Footer menu (Tiktok / Instagram / Facebook etc.) */
.site-footer .footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

/* =========================================================================
   OVERRIDE INLINE STYLES in widget blocks
   Some footer widgets have inline `background-color:#fff` and `color:#333`
   Use high-specificity selectors + !important to override
   ========================================================================= */

.site-footer .footer-widgets .widget_block div[style*="background-color"],
.site-footer .footer-widgets .widget_block div[style*="background:"],
.site-footer .footer-widgets .widget_block > section > div,
.site-footer .footer-widgets section.widget_block > div,
.site-footer .footer-widgets section.widget_block > div > div {
    background: transparent !important;
    background-color: transparent !important;
    color: #f4e9d8 !important;
    max-width: none !important;
    padding: 0 !important;
}

/* Inline-styled headings (h4 etc.) in footer widgets — make them white */
.site-footer .footer-widgets .widget_block h1[style],
.site-footer .footer-widgets .widget_block h2[style],
.site-footer .footer-widgets .widget_block h3[style],
.site-footer .footer-widgets .widget_block h4[style],
.site-footer .footer-widgets .widget_block h5[style],
.site-footer .footer-widgets .widget_block h6[style] {
    color: #ffffff !important;
    margin-bottom: 12px !important;
}

/* Inline-styled paragraphs/lists/spans — force readable color */
.site-footer .footer-widgets .widget_block p[style],
.site-footer .footer-widgets .widget_block li[style],
.site-footer .footer-widgets .widget_block span[style],
.site-footer .footer-widgets .widget_block ul[style],
.site-footer .footer-widgets .widget_block a[style] {
    color: #f4e9d8 !important;
}

.site-footer .footer-widgets .widget_block a,
.site-footer .footer-widgets .widget_block a[style] {
    color: #f4e9d8 !important;
}

.site-footer .footer-widgets .widget_block a:hover {
    color: var(--bali-coral) !important;
}

/* Payment logo card — keep white background so logos readable */
.site-footer .footer-widgets img[alt*="payment" i],
.site-footer .footer-widgets img[alt*="billplz" i],
.site-footer .footer-widgets img[alt*="visa" i],
.site-footer .footer-widgets img[alt*="master" i] {
    background: #fff !important;
    padding: 8px 12px !important;
    border-radius: var(--bali-radius-md) !important;
    max-width: 220px;
}

/* Widget padding reset — widgets were centered with max-width: 720px causing narrow column */
.site-footer .footer-widgets .widget-area > section > div {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: inherit !important;
}

/* Make widget areas spaced evenly, not squished */
.site-footer .footer-widgets-wrapper .widget-area {
    min-width: 0;
}

/* =========================================================================
   WELCOME / HERO SECTION POLISH
   ========================================================================= */

.entry-title,
.page-title {
    color: var(--bali-teak-dark);
    text-align: center;
    margin: 32px 0 24px;
}

/* Star separator above "Welcome" heading — more tropical feel */
.wp-block-separator.is-style-dots {
    color: var(--bali-coral);
}

/* =========================================================================
   BOOKING / MPHB
   ========================================================================= */

.mphb-price,
.mphb-room-price,
.mphb-price-amount {
    color: var(--bali-coral-dark) !important;
    font-weight: 700;
    font-family: 'Playfair Display', serif;
}

/* =========================================================================
   MPHB / DATEPICK CALENDAR — Big, readable, tropical
   ========================================================================= */

.datepick,
.mphb-datepicker-wrapper .datepick {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 15px !important;
    border: 1px solid rgba(139, 106, 62, 0.2) !important;
    border-radius: var(--bali-radius-lg) !important;
    background: var(--bali-cream) !important;
    padding: 20px !important;
    box-shadow: var(--bali-shadow-sm) !important;
    max-width: 100%;
}

/* Today indicator */
.datepick .datepick-cmd-today,
.datepick-ctrl a {
    color: var(--bali-ocean) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* Month/Year header and nav */
.datepick .datepick-month-header,
.datepick .datepick-month-header select,
.datepick .datepick-month-header input {
    color: var(--bali-teak-dark) !important;
    font-family: "Playfair Display", Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    background: #fff !important;
    border: 1.5px solid rgba(139, 106, 62, 0.2) !important;
    border-radius: var(--bali-radius-sm) !important;
    padding: 6px 10px !important;
}

/* Day-of-week header (Mo Tu We ...) */
.datepick .datepick-days-header th,
.datepick .datepick-week th {
    color: var(--bali-palm-dark) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 10px 8px !important;
    background: transparent !important;
    border-bottom: 2px solid rgba(58, 107, 78, 0.18) !important;
}

/* Kill table spacing */
.datepick table,
.datepick .datepick-month table {
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    width: 100% !important;
}

.datepick tr {
    height: auto !important;
    line-height: 1 !important;
}

/* Day cells — compact but readable */
.datepick .datepick-days-cell,
.datepick td {
    padding: 0 !important;
    text-align: center !important;
    vertical-align: middle !important;
    font-size: 14px !important;
    color: var(--bali-charcoal) !important;
    border: none !important;
    min-width: 34px !important;
    width: 34px !important;
    height: 34px !important;
    line-height: 1 !important;
    transition: background 0.2s ease;
}

/* Day cell link (actual clickable) */
.datepick td a,
.datepick td span {
    display: inline-block !important;
    min-width: 28px !important;
    padding: 2px !important;
    margin: 0 !important;
    border-radius: var(--bali-radius-sm) !important;
    color: inherit !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    transition: all 0.15s ease !important;
}

.datepick td a:hover {
    background: var(--bali-sand) !important;
    color: var(--bali-teak-dark) !important;
    transform: scale(1.05);
}

/* Today highlight */
.datepick .datepick-today,
.datepick td.datepick-today a {
    background: var(--bali-ocean) !important;
    color: #fff !important;
    font-weight: 700 !important;
    border-radius: var(--bali-radius-sm) !important;
}

/* Selected range */
.datepick .datepick-selected,
.datepick td.datepick-selected a {
    background: var(--bali-palm) !important;
    color: #fff !important;
    font-weight: 700 !important;
}

/* Weekend — subtle coral tint */
.datepick .datepick-weekend:not(.datepick-selected):not(.datepick-disabled) {
    color: var(--bali-coral-dark) !important;
}

/* Other month days (grayed) */
.datepick .datepick-other-month,
.datepick td.datepick-other-month a {
    opacity: 0.3 !important;
    color: var(--bali-soft) !important;
}

/* Disabled / unselectable (raw datepick — not MPHB) */
.datepick td.datepick-unselectable:not(.mphb-calendar-cell) {
    color: #c9beac !important;
    cursor: not-allowed !important;
}

/* =========================================================================
   MPHB CALENDAR — override default green/gray with Bali palette
   ========================================================================= */

.mphb-calendar {
    /* Available = soft palm green tint */
    --mphb-available-date-bg: #e8f3ea !important;
    --mphb-available-date-color: #2e5540 !important;
    /* Not available / booked = diagonal lines on sand */
    --mphb-not-available-date-bg: #f0e6d3 !important;
    --mphb-not-available-date-color: #b8a37d !important;
    --mphb-booked-date-bg: #f0e6d3 !important;
    --mphb-booked-date-color: #b8a37d !important;
    --mphb-out-of-season-date-bg: #f0e6d3 !important;
    --mphb-out-of-season-date-color: #b8a37d !important;
    /* Selected (user clicked) */
    --mphb-selected-date-bg: #3a6b4e !important;
    --mphb-selected-date-color: #ffffff !important;
    --mphb-unselectable-date-color: #c9beac !important;
}

/* Unavailable / booked / out-of-season — diagonal hash overlay for clarity */
.mphb-calendar td .mphb-mark-as-unavailable,
.mphb-calendar td .mphb-mark-as-unavailable--check-in.mphb-mark-as-unavailable--check-out,
.mphb-calendar td .mphb-booked-date,
.mphb-calendar td .mphb-out-of-season-date,
.mphb-calendar td .mphb-out-of-season-date--check-in.mphb-out-of-season-date--check-out {
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 4px,
        rgba(139, 106, 62, 0.25) 4px,
        rgba(139, 106, 62, 0.25) 5px
    ) !important;
    background-color: #f0e6d3 !important;
    color: #b8a37d !important;
    text-decoration: line-through !important;
    cursor: not-allowed !important;
}

/* Available date — clean with soft green hint + readable price */
.mphb-calendar td .mphb-available-date {
    background-color: #fff !important;
    color: var(--bali-charcoal) !important;
    border-radius: var(--bali-radius-sm);
    transition: all 0.2s ease;
}

.mphb-calendar td .mphb-available-date:hover {
    background-color: #e8f3ea !important;
    transform: scale(1.05);
}

.mphb-calendar td .mphb-selectable-date--check-in,
.mphb-calendar td .mphb-selectable-date--check-out {
    cursor: pointer !important;
}

/* Past dates — very faded */
.mphb-calendar td .mphb-past-date {
    opacity: 0.25 !important;
    background-color: transparent !important;
    color: #b8a37d !important;
}

/* Selected range — palm green pill */
.mphb-calendar td .mphb-selected-date,
.mphb-calendar td .mphb-selected-date--check-in,
.mphb-calendar td .mphb-selected-date--check-out {
    background: var(--bali-palm) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border-radius: var(--bali-radius-sm);
}

/* Price label colors by date state */
.mphb-calendar td .mphb-available-date .mphb-date-cell__price {
    color: var(--bali-coral-dark) !important;
    font-weight: 700 !important;
}

.mphb-calendar td .mphb-mark-as-unavailable .mphb-date-cell__price,
.mphb-calendar td .mphb-booked-date .mphb-date-cell__price,
.mphb-calendar td .mphb-out-of-season-date .mphb-date-cell__price {
    color: #b8a37d !important;
    opacity: 0.6 !important;
    text-decoration: none !important;
}

.mphb-calendar td .mphb-selected-date .mphb-date-cell__price {
    color: #ffffff !important;
    opacity: 0.9 !important;
}

/* Today indicator — ocean teal ring (not full bg, so price still clear) */
.mphb-calendar td a.datepick-today,
.mphb-calendar td span.datepick-today {
    box-shadow: inset 0 0 0 2px var(--bali-ocean) !important;
    border-radius: var(--bali-radius-sm);
    font-weight: 700 !important;
}

/* =========================================================================
   PRICE LABELS inside calendar cells
   Tiny but bold + coral color = readable without bloating rows
   ========================================================================= */

.datepick .mphb-price,
.datepick .mphb_sc_price,
.datepick .mphb-datepicker-price,
.datepick td .price,
.datepick td small,
.datepick td .mphb-calendar-price,
.mphb-datepick-price {
    display: block !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    color: var(--bali-coral-dark) !important;
    margin: 0 !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
    font-family: 'Inter', sans-serif !important;
    opacity: 1 !important;
    line-height: 1 !important;
}

/* Selected / today price — invert to stay visible on dark background */
.datepick .datepick-selected .mphb-price,
.datepick .datepick-selected small,
.datepick .datepick-today .mphb-price,
.datepick .datepick-today small,
.datepick td.datepick-selected a small,
.datepick td.datepick-today a small {
    color: #fff !important;
    opacity: 0.95 !important;
}

/* Navigation arrows */
.datepick-cmd-prev,
.datepick-cmd-next {
    color: var(--bali-palm) !important;
    font-size: 20px !important;
    padding: 6px 10px !important;
    border-radius: var(--bali-radius-sm) !important;
    transition: background 0.2s ease !important;
}

.datepick-cmd-prev:hover,
.datepick-cmd-next:hover {
    background: var(--bali-sand) !important;
    color: var(--bali-palm-dark) !important;
}

/* Two-month side-by-side layout */
.datepick-multi .datepick-month {
    padding: 0 8px !important;
}

/* Mobile calendar */
@media (max-width: 768px) {
    .datepick {
        font-size: 13px !important;
        padding: 10px !important;
    }
    .datepick td {
        height: 36px !important;
        min-width: 34px !important;
    }
    .datepick td a {
        padding: 3px 2px !important;
    }
    .datepick td small,
    .datepick .mphb-price {
        font-size: 10px !important;
    }
    .datepick-multi .datepick-month {
        display: block !important;
        width: 100% !important;
        margin-bottom: 16px;
    }
}

/* =========================================================================
   MPHB BOOKING POPUP CALENDAR
   Popup needs more space than availability calendar so price/status stay visible
   ========================================================================= */

.mphb-datepick-popup .datepick,
.datepick-popup .datepick {
    min-width: 560px !important;
    padding: 14px !important;
}

.mphb-datepick-popup .datepick table,
.mphb-datepick-popup .datepick .datepick-month table {
    border-collapse: collapse !important;
    border-spacing: 0 !important;
}

.mphb-datepick-popup .datepick td,
.mphb-datepick-popup .datepick .datepick-days-cell {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    padding: 0 !important;
    vertical-align: middle !important;
}

.mphb-datepick-popup .datepick td a,
.mphb-datepick-popup .datepick td span {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    margin: 0 auto !important;
    padding: 4px 2px !important;
    line-height: 1 !important;
    overflow: visible !important;
}

/* IMPORTANT: show the small price text in booking popup */
.mphb-datepick-popup .datepick .mphb-date-cell__price,
.mphb-datepick-popup .datepick td small,
.mphb-datepick-popup .datepick .mphb-price,
.mphb-datepick-popup .datepick .mphb-calendar-price {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    margin-top: 2px !important;
    color: var(--bali-coral-dark) !important;
    white-space: nowrap !important;
}

/* Popup unavailable dates — very obvious */
.mphb-datepick-popup .datepick td .mphb-booked-date,
.mphb-datepick-popup .datepick td .mphb-mark-as-unavailable,
.mphb-datepick-popup .datepick td .mphb-mark-as-unavailable--check-in,
.mphb-datepick-popup .datepick td .mphb-mark-as-unavailable--check-out,
.mphb-datepick-popup .datepick td .mphb-out-of-season-date,
.mphb-datepick-popup .datepick td .mphb-out-of-season-date--check-in,
.mphb-datepick-popup .datepick td .mphb-out-of-season-date--check-out,
.mphb-datepick-popup .datepick td .mphb-earlier-min-date,
.mphb-datepick-popup .datepick td .mphb-later-max-date,
.mphb-datepick-popup .datepick td .mphb-unselectable-date--check-in,
.mphb-datepick-popup .datepick td .mphb-unselectable-date--check-out,
.mphb-datepick-popup .datepick td .datepick-disabled,
.mphb-datepick-popup .datepick td span:not(.mphb-available-date):not(.mphb-selected-date):not(.datepick-today) {
    background-color: #efe2ce !important;
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 4px,
        rgba(139,106,62,0.28) 4px,
        rgba(139,106,62,0.28) 6px
    ) !important;
    color: #a48d67 !important;
    opacity: 1 !important;
    box-shadow: inset 0 0 0 1px rgba(139,106,62,0.14) !important;
}

.mphb-datepick-popup .datepick td .mphb-booked-date .mphb-date-cell__price,
.mphb-datepick-popup .datepick td .mphb-mark-as-unavailable .mphb-date-cell__price,
.mphb-datepick-popup .datepick td .mphb-out-of-season-date .mphb-date-cell__price {
    color: #b8a37d !important;
    text-decoration: line-through !important;
    opacity: 0.9 !important;
}

/* Popup available dates — visible green tint so clearly different from blocked */
.mphb-datepick-popup .datepick td .mphb-available-date,
.mphb-datepick-popup .datepick td .mphb-check-in-date,
.mphb-datepick-popup .datepick td .mphb-selectable-date--check-in,
.mphb-datepick-popup .datepick td .mphb-selectable-date--check-out {
    background: #e8f3ea !important;
    color: var(--bali-charcoal) !important;
    box-shadow: inset 0 0 0 1px rgba(58,107,78,0.12) !important;
}

.mphb-datepick-popup .datepick td .mphb-available-date .mphb-date-cell__price,
.mphb-datepick-popup .datepick td .mphb-check-in-date .mphb-date-cell__price,
.mphb-datepick-popup .datepick td .mphb-selectable-date--check-in .mphb-date-cell__price,
.mphb-datepick-popup .datepick td .mphb-selectable-date--check-out .mphb-date-cell__price {
    color: var(--bali-palm-dark) !important;
}

/* Popup selected / hovered */
.mphb-datepick-popup .datepick td a.datepick-highlight,
.mphb-datepick-popup .datepick td a.datepick-selected,
.mphb-datepick-popup .datepick td .mphb-selected-date,
.mphb-datepick-popup .datepick td .mphb-selected-date--check-in,
.mphb-datepick-popup .datepick td .mphb-selected-date--check-out {
    background: var(--bali-palm) !important;
    color: #fff !important;
}

.mphb-datepick-popup .datepick td a.datepick-highlight .mphb-date-cell__price,
.mphb-datepick-popup .datepick td a.datepick-selected .mphb-date-cell__price,
.mphb-datepick-popup .datepick td .mphb-selected-date .mphb-date-cell__price {
    color: #fff !important;
}

/* Popup month header */
.mphb-datepick-popup .datepick-month-header {
    background: transparent !important;
}

/* Mobile popup */
@media (max-width: 768px) {
    .mphb-datepick-popup .datepick,
    .datepick-popup .datepick {
        min-width: auto !important;
        width: 100% !important;
    }
    .mphb-datepick-popup .datepick td,
    .mphb-datepick-popup .datepick .datepick-days-cell {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
    }
    .mphb-datepick-popup .datepick td a,
    .mphb-datepick-popup .datepick td span {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        padding: 2px !important;
    }
    .mphb-datepick-popup .datepick .mphb-date-cell__price {
        font-size: 9px !important;
    }
}

/* ui-datepicker (fallback for non-datepick version) */
.mphb-datepicker-wrapper .ui-datepicker {
    border-radius: var(--bali-radius-lg) !important;
    border-color: rgba(139, 106, 62, 0.2) !important;
    background: var(--bali-cream) !important;
    padding: 16px !important;
}

/* =========================================================================
   PAYMENT METHODS IMAGE ALIGNMENT
   ========================================================================= */

.site-footer img[alt*="payment" i],
.site-footer img[alt*="visa" i],
.site-footer img[alt*="billplz" i] {
    max-width: 100%;
    height: auto;
    background: #fff;
    padding: 6px;
    border-radius: var(--bali-radius-sm);
}

/* =========================================================================
   UTILITIES
   ========================================================================= */

html {
    scroll-behavior: smooth;
}

::selection {
    background: var(--bali-coral);
    color: #fff;
}

img {
    max-width: 100%;
    height: auto;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* =========================================================================
   MOBILE
   ========================================================================= */

@media (max-width: 768px) {
    .wp-block-button__link,
    .entry-content input[type="submit"],
    .entry-content .button,
    .woocommerce a.button {
        padding: 10px 22px !important;
        font-size: 12px !important;
    }

    .site-footer {
        padding: 40px 0 20px !important;
    }

    .site-footer .footer-widgets-wrapper {
        gap: 24px;
    }
}

/* =========================================================================
   FIX CONFLICTS — visitor tracker bar on top
   ========================================================================= */

body.vt-has-bottom-bar {
    padding-bottom: 42px;
}

/* =========================================================================
   FAQ PAGE — Bali aesthetic
   ========================================================================= */

#faq-bali {
    max-width: 1000px;
    margin: 40px auto;
    padding: 48px 32px;
    background: linear-gradient(135deg, var(--bali-cream) 0%, #f5ede0 100%);
    border-radius: var(--bali-radius-lg);
    box-shadow: var(--bali-shadow-md);
    position: relative;
    overflow: hidden;
    font-family: 'Inter', system-ui, sans-serif;
}

/* Decorative palm-shaped background elements */
#faq-bali::before {
    content: '🌴';
    position: absolute;
    top: -20px;
    right: -20px;
    font-size: 160px;
    opacity: 0.08;
    transform: rotate(15deg);
    pointer-events: none;
}

#faq-bali::after {
    content: '🏝️';
    position: absolute;
    bottom: -30px;
    left: -30px;
    font-size: 180px;
    opacity: 0.07;
    pointer-events: none;
}

/* Hero */
#faq-bali .faq-hero {
    text-align: center;
    margin-bottom: 40px;
    position: relative;
    z-index: 2;
}

#faq-bali .faq-badge {
    display: inline-block;
    background: linear-gradient(135deg, var(--bali-palm) 0%, var(--bali-ocean) 100%);
    color: #fff;
    padding: 12px 32px;
    border-radius: 50px;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.8rem;
    font-weight: 600;
    box-shadow: 0 4px 16px rgba(58, 107, 78, 0.25);
    letter-spacing: 0.01em;
}

#faq-bali .faq-tagline {
    margin-top: 16px;
    color: var(--bali-soft);
    font-size: 1rem;
    font-style: italic;
}

/* Grid layout */
#faq-bali .faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    position: relative;
    z-index: 2;
    margin-bottom: 32px;
}

#faq-bali .faq-full {
    position: relative;
    z-index: 2;
}

/* Category headings */
#faq-bali .faq-cat {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.3rem;
    font-weight: 600;
    padding-bottom: 12px;
    margin-bottom: 20px;
    border-bottom: 2px dashed;
}

#faq-bali .faq-cat-booking {
    color: var(--bali-palm) !important;
    border-color: rgba(58, 107, 78, 0.3);
}

#faq-bali .faq-cat-amenities {
    color: var(--bali-coral-dark) !important;
    border-color: rgba(184, 93, 63, 0.3);
}

#faq-bali .faq-cat-general {
    color: var(--bali-ocean) !important;
    border-color: rgba(45, 110, 126, 0.3);
}

/* FAQ items */
#faq-bali .faq-item {
    background: #fff;
    border-radius: var(--bali-radius-md);
    box-shadow: 0 2px 8px rgba(74, 55, 30, 0.06);
    margin-bottom: 14px;
    overflow: hidden;
    transition: box-shadow 0.3s ease, transform 0.2s ease;
    border-left: 4px solid;
}

#faq-bali .faq-item.faq-booking   { border-left-color: var(--bali-palm); }
#faq-bali .faq-item.faq-amenities { border-left-color: var(--bali-coral); }
#faq-bali .faq-item.faq-general   { border-left-color: var(--bali-ocean); }

#faq-bali .faq-item:hover {
    box-shadow: 0 6px 20px rgba(74, 55, 30, 0.12);
    transform: translateY(-2px);
}

#faq-bali .faq-item[open] {
    box-shadow: 0 8px 24px rgba(74, 55, 30, 0.1);
}

/* Summary (clickable) */
#faq-bali .faq-item summary {
    cursor: pointer;
    padding: 18px 48px 18px 20px;
    font-weight: 600;
    font-size: 0.98rem;
    color: var(--bali-teak-dark);
    list-style: none;
    position: relative;
    line-height: 1.5;
    transition: color 0.2s;
}

#faq-bali .faq-item summary::-webkit-details-marker {
    display: none;
}

#faq-bali .faq-item summary::after {
    content: '+';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    font-weight: 300;
    color: var(--bali-soft);
    transition: transform 0.3s ease, color 0.2s;
    line-height: 1;
}

#faq-bali .faq-item[open] summary::after {
    transform: translateY(-50%) rotate(45deg);
    color: var(--bali-coral);
}

#faq-bali .faq-item summary:hover {
    color: var(--bali-ocean);
}

/* Answer body */
#faq-bali .faq-body {
    padding: 0 20px 20px;
    color: var(--bali-charcoal);
    line-height: 1.65;
    font-size: 0.95rem;
    border-top: 1px solid rgba(139, 106, 62, 0.08);
    margin-top: -2px;
    padding-top: 14px;
}

#faq-bali .faq-body a {
    color: var(--bali-ocean);
    text-decoration: underline;
    text-decoration-color: rgba(45, 110, 126, 0.3);
    text-underline-offset: 3px;
}

#faq-bali .faq-body a:hover {
    color: var(--bali-coral);
}

#faq-bali .faq-body strong {
    color: var(--bali-teak-dark);
    font-weight: 700;
}

/* Amenity list */
#faq-bali .faq-amenity-list {
    list-style: none;
    padding: 0;
    margin: 10px 0 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 6px 16px;
}

#faq-bali .faq-amenity-list li {
    padding: 4px 0;
    font-size: 0.92rem;
    color: var(--bali-charcoal);
}

/* Footer note */
#faq-bali .faq-footer-note {
    margin-top: 32px;
    padding: 20px 24px;
    background: rgba(255, 255, 255, 0.6);
    border-radius: var(--bali-radius-md);
    text-align: center;
    position: relative;
    z-index: 2;
    border: 1px dashed rgba(139, 106, 62, 0.25);
}

#faq-bali .faq-footer-note p {
    margin: 0;
    color: var(--bali-soft);
    font-style: italic;
}

#faq-bali .faq-footer-note a {
    color: var(--bali-palm);
    font-weight: 600;
    text-decoration: none;
}

#faq-bali .faq-footer-note a:hover {
    color: var(--bali-coral);
}

/* Mobile */
@media (max-width: 768px) {
    #faq-bali {
        padding: 32px 20px;
        margin: 20px 12px;
    }
    #faq-bali .faq-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    #faq-bali .faq-badge {
        font-size: 1.4rem;
        padding: 10px 24px;
    }
    #faq-bali .faq-item summary {
        padding: 14px 44px 14px 16px;
        font-size: 0.93rem;
    }
    #faq-bali .faq-body {
        padding: 12px 16px 16px;
        font-size: 0.9rem;
    }
    #faq-bali .faq-amenity-list {
        grid-template-columns: 1fr 1fr;
    }
}

/* =========================================================================
   GUEST REVIEWS PAGE — premium Bali gallery styling
   Page ID: 1569 / slug: what-our-guests-say
   ========================================================================= */

.page-id-1569 .entry-content {
    max-width: 1180px;
    margin: 0 auto;
}

.page-id-1569 .wp-block-pullquote {
    margin: 28px auto 36px !important;
    padding: 28px 32px !important;
    background: linear-gradient(135deg, var(--bali-cream) 0%, #f5ede0 100%) !important;
    border: none !important;
    border-radius: var(--bali-radius-lg) !important;
    box-shadow: var(--bali-shadow-md) !important;
    position: relative;
    overflow: hidden;
}

.page-id-1569 .wp-block-pullquote::before {
    content: '❝';
    position: absolute;
    top: 8px;
    left: 20px;
    font-family: 'Playfair Display', serif;
    font-size: 64px;
    line-height: 1;
    color: rgba(139, 106, 62, 0.15);
}

.page-id-1569 .wp-block-pullquote blockquote {
    margin: 0 !important;
}

.page-id-1569 .wp-block-pullquote p {
    font-size: 1.08rem;
    line-height: 1.8;
    color: var(--bali-teak-dark) !important;
    margin-bottom: 10px !important;
}

.page-id-1569 .wp-block-pullquote cite {
    display: block;
    color: var(--bali-soft) !important;
    font-style: normal;
    font-size: 0.92rem;
}

.page-id-1569 h2.wp-block-heading {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 4vw, 2.8rem);
    color: var(--bali-teak-dark) !important;
    margin-bottom: 28px !important;
    text-align: center;
}

/* Premium stats strip */
.page-id-1569 .gr-premium-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin: 8px auto 34px;
    max-width: 980px;
}

.page-id-1569 .gr-premium-stat {
    background: linear-gradient(135deg, #fff 0%, #fdf9f3 100%);
    border: 1px solid rgba(139,106,62,0.08);
    border-radius: 18px;
    padding: 20px 18px;
    text-align: center;
    box-shadow: 0 8px 22px rgba(74,55,30,0.08);
}

.page-id-1569 .gr-premium-stat-number {
    display: block;
    font-family: 'Playfair Display', serif;
    font-size: 1.9rem;
    font-weight: 700;
    color: var(--bali-teak-dark);
    line-height: 1.1;
    margin-bottom: 8px;
}

.page-id-1569 .gr-premium-stat-label {
    display: block;
    color: var(--bali-soft);
    font-size: 0.92rem;
    line-height: 1.4;
}

/* Review grid wrapper */
.page-id-1569 .hrsc-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 26px !important;
    align-items: start;
    margin-top: 10px;
}

/* Review cards */
.page-id-1569 .hrsc-grid-item {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(74, 55, 30, 0.10);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    border: 1px solid rgba(139,106,62,0.08);
    position: relative;
}

/* Soft luxury shimmer */
.page-id-1569 .hrsc-grid-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: -120%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.38), transparent);
    transform: skewX(-20deg);
    transition: left 0.9s ease;
    pointer-events: none;
    z-index: 2;
}

.page-id-1569 .hrsc-grid-item:hover::before {
    left: 140%;
}

.page-id-1569 .hrsc-grid-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 40px rgba(74,55,30,0.16);
}

.page-id-1569 .hrsc-grid-item::after {
    content: '';
    position: absolute;
    inset: auto 0 0 0;
    height: 4px;
    background: linear-gradient(90deg, var(--bali-palm), var(--bali-ocean), var(--bali-coral));
    opacity: 0.9;
}

/* Review images */
.page-id-1569 .hrsc-grid-item a.glightbox {
    display: block;
    background: #fff;
    padding: 14px 14px 0;
}

.page-id-1569 .hrsc-grid-item img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border-radius: 12px;
    display: block;
    transition: transform 0.6s ease;
    background: #fafafa;
}

.page-id-1569 .hrsc-grid-item:hover img {
    transform: scale(1.03);
}

/* Meta section */
.page-id-1569 .hrsc-meta {
    padding: 16px 18px 20px;
    text-align: center;
    background: linear-gradient(180deg, #fff 0%, #fdf9f3 100%);
}

.page-id-1569 .hrsc-rating {
    color: #d4a017 !important;
    font-size: 1rem;
    letter-spacing: 0.18em;
    margin-bottom: 8px;
    text-shadow: 0 1px 0 rgba(255,255,255,0.5);
}

.page-id-1569 .hrsc-name {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    color: var(--bali-teak-dark) !important;
    font-size: 0.95rem;
    letter-spacing: 0.01em;
}

/* Add some breathing room below gallery */
.page-id-1569 .hrsc-grid::after {
    content: '';
    display: block;
    height: 10px;
}

/* CTA box */
.page-id-1569 .gr-cta-box {
    max-width: 900px;
    margin: 40px auto 10px;
    padding: 26px 28px;
    text-align: center;
    background: linear-gradient(135deg, var(--bali-teak-dark) 0%, #6c5030 100%);
    color: #fff;
    border-radius: 22px;
    box-shadow: 0 18px 40px rgba(74,55,30,0.18);
    position: relative;
    overflow: hidden;
}

/* Floating gold sparkles */
.page-id-1569 .gr-cta-box::after,
.page-id-1569 .wp-block-pullquote::after {
    content: '✦ ✧ ✦';
    position: absolute;
    color: rgba(255, 215, 120, 0.32);
    letter-spacing: 12px;
    font-size: 18px;
    animation: bali-float-sparkle 6s ease-in-out infinite;
    pointer-events: none;
}

.page-id-1569 .gr-cta-box::after {
    top: 18px;
    left: 24px;
}

.page-id-1569 .wp-block-pullquote::after {
    bottom: 16px;
    right: 22px;
}

@keyframes bali-float-sparkle {
    0%, 100% { transform: translateY(0); opacity: 0.24; }
    50% { transform: translateY(-6px); opacity: 0.48; }
}

.page-id-1569 .gr-cta-box::before {
    content: '🌴';
    position: absolute;
    right: 18px;
    top: 8px;
    font-size: 72px;
    opacity: 0.08;
}

.page-id-1569 .gr-cta-text {
    margin: 0 0 16px !important;
    color: #fff !important;
    font-size: 1.05rem;
    line-height: 1.7;
}

.page-id-1569 .gr-cta-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.page-id-1569 .gr-cta-button {
    display: inline-block;
    background: var(--bali-palm);
    color: #fff !important;
    padding: 12px 26px;
    border-radius: 999px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(0,0,0,0.12);
}

.page-id-1569 .gr-cta-button:hover {
    background: var(--bali-palm-dark);
    color: #fff !important;
    transform: translateY(-2px);
}

.page-id-1569 .gr-cta-link {
    color: #f4e9d8 !important;
    font-weight: 600;
    text-decoration: none;
}

.page-id-1569 .gr-cta-link:hover {
    color: #fff !important;
}

/* Mobile */
@media (max-width: 768px) {
    .page-id-1569 .wp-block-pullquote {
        padding: 22px 18px !important;
        margin: 20px 12px 28px !important;
    }
    .page-id-1569 .hrsc-grid {
        grid-template-columns: 1fr 1fr;
        gap: 16px !important;
    }
    .page-id-1569 .hrsc-grid-item a.glightbox {
        padding: 10px 10px 0;
    }
    .page-id-1569 .hrsc-meta {
        padding: 12px 10px 16px;
    }
    .page-id-1569 .hrsc-rating {
        font-size: 0.86rem;
        letter-spacing: 0.1em;
    }
    .page-id-1569 .hrsc-name {
        font-size: 0.86rem;
    }
}

@media (max-width: 560px) {
    .page-id-1569 .hrsc-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================================
   ROOM CARD — template override styling to match premium mockup closely
   ========================================================================= */

.mphb-room-type.dpbv-room-card {
    background: linear-gradient(135deg, #fffdf9 0%, #fcf7ee 100%);
    border: 1px solid rgba(220,206,181,0.55);
    border-radius: 30px;
    padding: 22px;
    box-shadow: 0 18px 40px rgba(74,55,30,0.08);
}

.mphb-room-type .dpbv-room-description-wrapper,
.mphb-room-type .dpbv-room-description-inner-wrapper {
    display: block;
}

.mphb-room-type .dpbv-room-details {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

.mphb-room-type .dpbv-room-topbar {
    display: block;
    margin-bottom: 18px;
}

.mphb-room-type .dpbv-room-title-col {
    min-width: 0;
}

.mphb-room-type .mphb-room-type-title.entry-title,
.mphb-room-type .mphb-room-type-title a {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 3vw, 2.85rem);
    color: #4e3a22 !important;
    margin-bottom: 18px !important;
    line-height: 1.08;
}

.mphb-room-type .mphb-room-type-details-title {
    display: inline-block;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: #9c8a67;
    margin-bottom: 14px;
    padding: 8px 14px;
    background: #f6efe3;
    border-radius: 999px;
    font-weight: 700;
}

/* Put the whole details list inside one soft Bali panel */
.mphb-room-type .mphb-loop-room-type-attributes {
    list-style: none;
    padding: 14px !important;
    margin: 0 auto 14px !important;
    display: grid;
    gap: 10px;
    background: linear-gradient(135deg, #fffaf3 0%, #f8f0e3 100%);
    border: 1px solid rgba(220,206,181,0.35);
    border-radius: 20px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
    max-width: 90%;
}

/* Booking info in top right like screenshot */
.mphb-room-type .dpbv-room-booking-details {
    background: linear-gradient(135deg, #f7efe2 0%, #f3e7d4 100%);
    border: 1px solid rgba(220,206,181,0.55);
    border-radius: 22px;
    padding: 18px 18px 18px;
    box-shadow: 0 10px 24px rgba(74,55,30,0.06);
    margin: 16px auto 0;
    max-width: 90%;
    overflow: hidden;
}

.mphb-room-type .dpbv-room-booking-details .mphb-regular-price {
    margin: 0 0 14px !important;
    color: #7a6a56 !important;
    font-size: 0.95rem;
    text-align: center;
}

.mphb-room-type .dpbv-room-booking-details .mphb-price {
    font-family: 'Playfair Display', serif;
    font-size: 1.8rem !important;
    font-weight: 700;
    color: #a1814f !important;
}

.mphb-room-type .dpbv-room-booking-details .mphb-price-period {
    color: #7a6a56 !important;
    font-size: 0.95rem;
}

.mphb-room-type .dpbv-room-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    align-items: stretch;
    margin-top: 2px;
}

.mphb-room-type .dpbv-room-actions .mphb-to-book-btn-wrapper,
.mphb-room-type .dpbv-room-actions .mphb-view-details-button-wrapper {
    margin: 0 !important;
}

.mphb-room-type .dpbv-room-actions br {
    display: none;
}

.mphb-room-type .dpbv-room-actions form,
.mphb-room-type .dpbv-room-actions p {
    margin: 0 !important;
}

.mphb-room-type .dpbv-room-actions .button {
    width: 100%;
    border-radius: 12px !important;
    font-size: 0.88rem !important;
    letter-spacing: 0.06em !important;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Only one visible Details badge */
.mphb-room-type .dpbv-room-title-col > .mphb-room-type-details-title {
    display: none !important;
}

/* Detail rows */
.mphb-room-type .mphb-loop-room-type-attributes li {
    background: rgba(255,255,255,0.68);
    border-radius: 14px;
    padding: 12px 14px;
    line-height: 1.55;
    color: var(--bali-charcoal);
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    border: 1px solid rgba(220,206,181,0.22);
    box-shadow: 0 3px 10px rgba(74,55,30,0.03);
}

.mphb-room-type .mphb-loop-room-type-attributes li::marker,
.mphb-room-type .mphb-loop-room-type-attributes li::before {
    display: none !important;
    content: none !important;
}

.mphb-room-type .mphb-loop-room-type-attributes .mphb-attribute-title {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    color: #5b4730;
    font-weight: 700;
    line-height: 1.25;
}

.mphb-room-type .mphb-loop-room-type-attributes .mphb-attribute-value {
    color: #4f463d;
    min-width: 0;
    padding-top: 1px;
}

/* Custom icons */
.mphb-room-type .mphb-room-type-adults-capacity .mphb-attribute-title::before,
.mphb-room-type .mphb-room-type-view .mphb-attribute-title::before,
.mphb-room-type .mphb-room-type-bed-type .mphb-attribute-title::before,
.mphb-room-type .mphb-room-type-facilities .mphb-attribute-title::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 3px 10px rgba(74,55,30,0.06);
    font-size: 12px;
    line-height: 1;
    flex: 0 0 24px;
}

.mphb-room-type .mphb-room-type-adults-capacity .mphb-attribute-title::before { content: '👤'; }
.mphb-room-type .mphb-room-type-view .mphb-attribute-title::before { content: '👁'; }
.mphb-room-type .mphb-room-type-bed-type .mphb-attribute-title::before { content: '🛏'; }
.mphb-room-type .mphb-room-type-facilities .mphb-attribute-title::before { content: '⭐'; }

/* Amenity pills */
.mphb-room-type .mphb-room-type-facilities .mphb-attribute-value {
    display: block;
    margin-top: 0;
    font-size: 0;
}

.mphb-room-type .mphb-room-type-facilities .mphb-attribute-value > span {
    display: inline-block;
    margin: 4px 8px 0 0;
}

.mphb-room-type .mphb-room-type-facilities .mphb-attribute-value > span > a {
    display: inline-block;
    padding: 7px 12px;
    background: #fff;
    border: 1px solid rgba(220,206,181,0.45);
    border-radius: 999px;
    color: #625548 !important;
    text-decoration: none;
    font-size: 0.94rem;
    line-height: 1.25;
    box-shadow: 0 2px 6px rgba(74,55,30,0.04);
    transition: all 0.2s ease;
}

.mphb-room-type .mphb-room-type-facilities .mphb-attribute-value > span > a:hover {
    background: #f8efe0;
    color: var(--bali-coral-dark) !important;
    transform: translateY(-1px);
}

@media (max-width: 980px) {
    .mphb-room-type .dpbv-room-topbar {
        display: block;
    }

    .mphb-room-type .dpbv-room-booking-details {
        max-width: 100%;
    }
}

/* Center availability calendar under the top card */
.mphb_sc_availability_calendar-wrapper {
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.mphb_sc_availability_calendar-wrapper .mphb-calendar {
    display: inline-block;
    text-align: left;
}

@media (max-width: 768px) {
    /* Global mobile safety */
    html, body {
        overflow-x: hidden;
    }

    .site img,
    .site iframe,
    .site video,
    .site table {
        max-width: 100%;
    }

    .site table {
        display: block;
        overflow-x: auto;
    }

    .site .wp-block-columns {
        gap: 18px;
    }

    .site .wp-block-column {
        min-width: 0;
    }

    .site .is-nowrap,
    .site .wp-block-group.is-nowrap {
        flex-wrap: wrap !important;
    }

    .site .wp-block-group,
    .site .wp-block-cover,
    .site .wp-block-media-text,
    .site .entry-content > .wp-block-group {
        max-width: 100%;
        box-sizing: border-box;
    }

    .mphb-room-type.dpbv-room-card {
        padding: 14px 14px 30px;
        border-radius: 22px;
    }

    .mphb-room-type .dpbv-room-booking-details,
    .mphb-room-type .dpbv-room-details {
        border-radius: 18px;
    }

    .mphb-room-type .dpbv-room-booking-details {
        padding: 14px 12px 28px;
        width: 100%;
        max-width: 100%;
        margin: 16px 0 0;
        box-sizing: border-box;
    }

    .mphb-room-type .dpbv-room-booking-details .mphb-regular-price,
    .mphb-room-type .dpbv-room-booking-details .dpbv-room-actions {
        width: 100%;
        box-sizing: border-box;
    }

    .mphb-room-type .dpbv-room-booking-details .mphb-regular-price {
        margin-bottom: 12px !important;
        text-align: center;
        font-size: 0.92rem;
    }

    .mphb-room-type .dpbv-room-booking-details .mphb-price {
        font-size: 1.7rem !important;
    }

    .mphb-room-type .dpbv-room-actions {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        max-width: 100%;
        margin: 2px auto 4px;
    }

    .mphb-room-type .dpbv-room-actions .button {
        min-height: 42px;
        font-size: 0.82rem !important;
        letter-spacing: 0.05em !important;
    }

    .mphb-room-type .mphb-loop-room-type-attributes {
        padding: 10px !important;
        border-radius: 16px;
        width: 100%;
        max-width: 100%;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box;
    }

    .mphb-room-type .mphb-loop-room-type-attributes li {
        padding: 12px;
        grid-template-columns: 92px minmax(0, 1fr);
        gap: 10px;
    }

    .mphb-room-type .mphb-loop-room-type-attributes .mphb-attribute-title {
        min-width: 0;
        display: inline-flex;
    }

    /* Amenities row should stack cleanly on mobile */
    .mphb-room-type .mphb-room-type-facilities {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        align-items: start;
    }

    .mphb-room-type .mphb-room-type-facilities .mphb-attribute-title {
        width: 100%;
        margin-bottom: 2px;
    }

    .mphb-room-type .mphb-room-type-facilities .mphb-attribute-value {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .mphb-room-type .mphb-room-type-facilities .mphb-attribute-value > span {
        display: block;
        margin: 0;
    }

    .mphb-room-type .mphb-room-type-facilities .mphb-attribute-value > span > a {
        max-width: 100%;
        white-space: normal;
        word-break: break-word;
        line-height: 1.35;
        padding: 8px 12px;
        font-size: 0.95rem;
    }

    .mphb_sc_availability_calendar-wrapper {
        max-width: 100%;
        width: 100%;
        text-align: center;
        overflow-x: hidden;
    }

    .mphb_sc_availability_calendar-wrapper .mphb-calendar {
        display: inline-block;
        margin: 0 auto;
        max-width: 100%;
    }

    /* Prevent horizontal overflow causing the whole page to look senget */
    .page-id-44,
    .page-id-44 .site,
    .page-id-44 .site-content,
    .page-id-44 .content-area,
    .page-id-44 .site-main,
    .page-id-44 .entry-content {
        overflow-x: hidden;
    }

    .page-id-44 .mySwiper,
    .page-id-44 .mphb-room-type.dpbv-room-card,
    .page-id-44 .mphb_sc_availability_calendar-wrapper {
        max-width: calc(100% - 24px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .page-id-44 .mySwiper {
        border-radius: 20px;
        overflow: hidden;
    }

    .page-id-44 .mySwiper .swiper-button-next,
    .page-id-44 .mySwiper .swiper-button-prev {
        width: 34px;
        height: 34px;
        margin-top: -17px;
    }

    .page-id-44 .mySwiper .swiper-button-next::after,
    .page-id-44 .mySwiper .swiper-button-prev::after {
        font-size: 14px;
    }

    .page-id-44 .entry-content > .wp-block-group.is-nowrap {
        display: block !important;
    }

    .page-id-44 .entry-content > .wp-block-group.is-nowrap > * {
        width: 100%;
        max-width: 100%;
    }

    /* FAQ page more phone-friendly */
    .page-id-2397 .wp-block-columns,
    .page-id-2397 .faq-grid {
        grid-template-columns: 1fr !important;
    }

    /* Guest reviews page more phone-friendly */
    .page-id-1569 .hrsc-grid {
        grid-template-columns: 1fr !important;
    }

    .page-id-1569 .gr-premium-stats,
    .page-id-1569 .gr-cta-actions {
        grid-template-columns: 1fr !important;
    }

    /* Footer widgets stack cleaner on phones */
    .site-footer .footer-widgets-wrapper,
    .site-footer .widget-area,
    .footer-widget-area,
    .footer-widgets,
    .site-footer .widget-area .container,
    .site-footer .widget-area .row {
        display: block !important;
        grid-template-columns: 1fr !important;
        flex-direction: column !important;
    }

    .site-footer .footer-widgets-wrapper > .widget-area,
    .site-footer .widget,
    .footer-widget-area .widget,
    .site-footer [class*="col-"],
    .footer-widget-area [class*="col-"] {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        margin-bottom: 18px;
        min-width: 0 !important;
    }

    /* Override inline min-widths inside custom footer blocks */
    .site-footer #block-13,
    .site-footer #block-13 > div,
    .site-footer #block-13 > div > div,
    .site-footer #block-12 > div,
    .site-footer #block-14 > div,
    .site-footer #block-15 > div {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        text-align: center;
        box-sizing: border-box;
    }

    .site-footer #block-13 p,
    .site-footer #block-13 h2,
    .site-footer #block-13 span,
    .site-footer #block-13 a {
        display: block !important;
        width: auto !important;
        max-width: calc(100% - 32px) !important;
        min-width: 0;
        margin-left: auto !important;
        margin-right: auto !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        box-sizing: border-box;
        text-align: center !important;
        position: static !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        text-indent: 0 !important;
    }

    .site-footer .footer-widgets-wrapper {
        overflow-x: hidden;
    }

    .site-footer .widget-area {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .site-footer #block-13 p {
        font-size: 13px !important;
        line-height: 1.6 !important;
        padding-left: 16px;
        padding-right: 16px;
        max-width: 250px !important;
    }

    .site-footer,
    .site-footer * {
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    .site-footer img {
        max-width: 100%;
        height: auto;
    }

    .site-footer .menu,
    .site-footer ul,
    .site-footer .footer-menu {
        padding-left: 0;
        text-align: center;
    }

    .site-footer .widget_nav_menu li,
    .site-footer li,
    .site-footer .footer-menu li {
        margin-bottom: 8px;
        display: block;
    }

    .site-footer .widget_media_image,
    .site-footer .wp-block-image,
    .site-footer .custom-logo-link,
    .site-footer .site-info,
    .site-footer .footer-menu-container {
        text-align: center;
    }

    .site-footer .widget_media_image img,
    .site-footer .wp-block-image img,
    .site-footer .custom-logo-link img {
        margin-left: auto;
        margin-right: auto;
    }

    .site-footer .wrapper {
        padding-left: 18px;
        padding-right: 18px;
    }

    /* Final hard override for homepage mobile room-card alignment */
    .page-id-44 .mphb-room-type.dpbv-room-card {
        padding-bottom: 36px !important;
    }

    .page-id-44 .mphb-room-type.dpbv-room-card .dpbv-room-details,
    .page-id-44 .mphb-room-type.dpbv-room-card .mphb-loop-room-type-attributes,
    .page-id-44 .mphb-room-type.dpbv-room-card .room-booking-details.dpbv-room-booking-details {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    .page-id-44 .mphb-room-type.dpbv-room-card .room-booking-details.dpbv-room-booking-details {
        margin-top: 18px !important;
        padding-bottom: 34px !important;
    }

    .page-id-44 .mphb-room-type.dpbv-room-card .room-booking-details.dpbv-room-booking-details .dpbv-room-actions {
        margin-bottom: 8px !important;
    }

    .page-id-44 .mphb-room-type.dpbv-room-card .mphb-to-book-btn-wrapper,
    .page-id-44 .mphb-room-type.dpbv-room-card .mphb-view-details-button-wrapper {
        margin: 0 !important;
        width: 100% !important;
    }

    .page-id-44 .mphb-room-type.dpbv-room-card .mphb-to-book-btn-wrapper br {
        display: none !important;
    }

    .page-id-44 .mphb-room-type.dpbv-room-card .dpbv-room-actions form,
    .page-id-44 .mphb-room-type.dpbv-room-card .dpbv-room-actions .button {
        width: 100% !important;
        margin: 0 !important;
    }

    .page-id-44 .mphb-room-type.dpbv-room-card .dpbv-room-booking-details .mphb-regular-price {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}



/* =========================================================================
   PREMIUM BALI CHECKOUT — Page 3292 / Complete Your Reservation
   ========================================================================= */
body.page-id-3292 {
    background:
        radial-gradient(circle at top left, rgba(244, 233, 216, 0.45), transparent 34%),
        radial-gradient(circle at top right, rgba(45, 110, 126, 0.08), transparent 28%),
        linear-gradient(180deg, #fcf8f2 0%, #fffdfa 26%, #ffffff 100%) !important;
}

body.page-id-3292 .site-content,
body.page-id-3292 .content-area,
body.page-id-3292 .site-main,
body.page-id-3292 .entry-content {
    background: transparent !important;
}

body.page-id-3292 .entry-content > .woocommerce {
    max-width: 1180px;
    margin: 36px auto 72px;
    padding: 40px clamp(20px, 4vw, 46px);
    background: rgba(255,255,255,0.82);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(139, 106, 62, 0.10);
    border-radius: 28px;
    box-shadow: 0 24px 80px rgba(74, 53, 32, 0.10);
    position: relative;
}

body.page-id-3292 .entry-content > .woocommerce::before {
    content: '✦ ✦ ✦';
    display: block;
    text-align: center;
    color: rgba(139, 106, 62, 0.45);
    letter-spacing: 10px;
    font-size: 16px;
    margin-bottom: 10px;
}

body.page-id-3292 .woocommerce-checkout h1,
body.page-id-3292 .woocommerce-checkout h3,
body.page-id-3292 .woocommerce-checkout .entry-title {
    color: var(--bali-teak-dark);
    letter-spacing: -0.02em;
}

body.page-id-3292 .woocommerce-checkout h1,
body.page-id-3292 .woocommerce-checkout .entry-title {
    text-align: center;
    margin-bottom: 10px;
}

body.page-id-3292 .woocommerce-form-coupon-toggle,
body.page-id-3292 .woocommerce-NoticeGroup,
body.page-id-3292 .woocommerce-info,
body.page-id-3292 .woocommerce-message {
    background: linear-gradient(135deg, rgba(244,233,216,0.58), rgba(255,255,255,0.96)) !important;
    border: 1px solid rgba(45,110,126,0.14) !important;
    border-radius: 18px !important;
    padding: 16px 18px !important;
    box-shadow: 0 10px 26px rgba(74,53,32,0.06);
}

body.page-id-3292 .woocommerce form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.85fr);
    gap: 34px;
    align-items: start;
    margin-top: 26px;
}

body.page-id-3292 .woocommerce-billing-fields,
body.page-id-3292 #order_review_heading,
body.page-id-3292 #order_review {
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(250,246,239,0.92));
    border: 1px solid rgba(139,106,62,0.12);
    border-radius: 24px;
    box-shadow: 0 18px 48px rgba(74,53,32,0.08);
}

body.page-id-3292 .woocommerce-billing-fields {
    padding: 28px;
}

body.page-id-3292 #order_review_heading {
    padding: 24px 28px 0;
    margin: 0 0 -4px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom: 0;
}

body.page-id-3292 #order_review {
    padding: 8px 28px 28px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

body.page-id-3292 .woocommerce-billing-fields > h3,
body.page-id-3292 #order_review_heading {
    font-size: clamp(1.45rem, 2vw, 2rem);
    margin-bottom: 20px;
}

body.page-id-3292 .woocommerce form .form-row {
    margin-bottom: 16px;
}

body.page-id-3292 .woocommerce form .form-row label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--bali-soft);
    margin-bottom: 8px;
}

body.page-id-3292 .woocommerce form .form-row input,
body.page-id-3292 .woocommerce form .form-row select,
body.page-id-3292 .woocommerce form .form-row textarea {
    min-height: 52px;
    padding: 14px 16px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,0.95) !important;
}

body.page-id-3292 .woocommerce table.shop_table {
    border: 0 !important;
    border-collapse: separate;
    border-spacing: 0 12px;
    background: transparent;
}

body.page-id-3292 .woocommerce table.shop_table th,
body.page-id-3292 .woocommerce table.shop_table td {
    background: #fff;
    border: 0 !important;
    padding: 16px 18px !important;
}

body.page-id-3292 .woocommerce table.shop_table thead th {
    background: transparent;
    color: var(--bali-soft);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 0 4px 6px !important;
}

body.page-id-3292 .woocommerce table.shop_table tbody tr td:first-child,
body.page-id-3292 .woocommerce table.shop_table tfoot tr th:first-child,
body.page-id-3292 .woocommerce table.shop_table tfoot tr td:first-child {
    border-top-left-radius: 16px;
    border-bottom-left-radius: 16px;
}

body.page-id-3292 .woocommerce table.shop_table tbody tr td:last-child,
body.page-id-3292 .woocommerce table.shop_table tfoot tr th:last-child,
body.page-id-3292 .woocommerce table.shop_table tfoot tr td:last-child {
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
}

body.page-id-3292 #payment {
    background: linear-gradient(180deg, rgba(244,233,216,0.42), rgba(255,255,255,0.98)) !important;
    border: 1px solid rgba(139,106,62,0.12);
    border-radius: 20px;
    overflow: hidden;
    margin-top: 18px;
}

body.page-id-3292 #payment div.payment_box {
    background: rgba(255,255,255,0.88) !important;
    border: 1px solid rgba(45,110,126,0.10);
    border-radius: 16px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.6);
}

body.page-id-3292 #payment ul.payment_methods {
    border-bottom: 1px solid rgba(139,106,62,0.10) !important;
    padding: 16px 18px 8px !important;
}

body.page-id-3292 #payment .place-order {
    padding: 20px 18px 10px !important;
}

body.page-id-3292 #place_order {
    width: 100%;
    min-height: 56px;
    border-radius: 999px !important;
    font-size: 14px !important;
    letter-spacing: 0.14em !important;
    background: linear-gradient(135deg, var(--bali-palm), var(--bali-ocean)) !important;
    box-shadow: 0 14px 30px rgba(45,110,126,0.22) !important;
}

body.page-id-3292 #place_order:hover {
    background: linear-gradient(135deg, var(--bali-palm-dark), var(--bali-ocean-dark)) !important;
}

body.page-id-3292 .woocommerce-privacy-policy-text,
body.page-id-3292 .woocommerce-terms-and-conditions-wrapper {
    color: var(--bali-soft);
    font-size: 14px;
}

body.page-id-3292 .select2-container--default .select2-selection--single,
body.page-id-3292 .select2-container--default .select2-selection--multiple {
    min-height: 52px;
    border-radius: 14px !important;
    border: 1.5px solid rgba(139,106,62,0.25) !important;
    background: rgba(255,255,255,0.95) !important;
}

body.page-id-3292 .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 50px;
    padding-left: 16px;
}

body.page-id-3292 .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 50px;
    right: 10px;
}

@media (max-width: 980px) {
    body.page-id-3292 .entry-content > .woocommerce {
        padding: 26px 14px 32px;
        margin-top: 18px;
        border-radius: 22px;
    }

    body.page-id-3292 .woocommerce form.checkout {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    body.page-id-3292 .woocommerce-billing-fields,
    body.page-id-3292 #order_review_heading,
    body.page-id-3292 #order_review {
        padding-left: 18px;
        padding-right: 18px;
    }
}

/* =========================================================================
   PREMIUM BALI CHECKOUT — mobile polish pass
   ========================================================================= */
body.page-id-3292 .woocommerce-checkout .col2-set,
body.page-id-3292 .woocommerce-checkout #order_review_heading,
body.page-id-3292 .woocommerce-checkout #order_review {
    position: relative;
}

body.page-id-3292 .woocommerce-billing-fields::before {
    content: 'Guest Details';
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--bali-teak);
    background: rgba(244,233,216,0.9);
    border: 1px solid rgba(139,106,62,0.14);
    border-radius: 999px;
    padding: 8px 12px;
    margin-bottom: 14px;
}

body.page-id-3292 .woocommerce-billing-fields > h3 {
    margin-top: 0;
}

body.page-id-3292 #customer_details,
body.page-id-3292 #order_review_heading,
body.page-id-3292 #order_review {
    scroll-margin-top: 100px;
}

body.page-id-3292 .woocommerce form .form-row input::placeholder,
body.page-id-3292 .woocommerce form .form-row textarea::placeholder {
    color: rgba(107,93,74,0.60);
}

body.page-id-3292 .woocommerce-checkout-review-order-table tfoot tr:last-child th,
body.page-id-3292 .woocommerce-checkout-review-order-table tfoot tr:last-child td {
    font-weight: 700;
    color: var(--bali-teak-dark);
}

body.page-id-3292 .woocommerce-checkout #payment .payment_method_billplz label {
    font-weight: 600;
    color: var(--bali-teak-dark);
}

@media (max-width: 980px) {
    body.page-id-3292 {
        background: linear-gradient(180deg, #fcf8f2 0%, #fffdfa 40%, #ffffff 100%) !important;
    }

    body.page-id-3292 .site-content {
        padding-top: 8px;
    }

    body.page-id-3292 .entry-content > .woocommerce::before {
        margin-bottom: 4px;
        letter-spacing: 8px;
    }

    body.page-id-3292 .entry-content > .woocommerce {
        max-width: 100%;
        margin: 8px 10px 28px;
        padding: 20px 10px 22px;
        background: transparent;
        backdrop-filter: none;
        border: 0;
        box-shadow: none;
    }

    body.page-id-3292 .woocommerce-form-coupon-toggle,
    body.page-id-3292 .woocommerce-NoticeGroup,
    body.page-id-3292 .woocommerce-info,
    body.page-id-3292 .woocommerce-message,
    body.page-id-3292 .woocommerce-billing-fields,
    body.page-id-3292 #order_review_heading,
    body.page-id-3292 #order_review {
        border-radius: 22px !important;
        box-shadow: 0 14px 36px rgba(74,53,32,0.09) !important;
    }

    body.page-id-3292 .woocommerce-billing-fields,
    body.page-id-3292 #order_review {
        padding: 20px 16px 22px !important;
    }

    body.page-id-3292 #order_review_heading {
        padding: 20px 16px 2px !important;
    }

    body.page-id-3292 .woocommerce-billing-fields > h3,
    body.page-id-3292 #order_review_heading {
        font-size: 1.9rem;
        line-height: 1.15;
    }

    body.page-id-3292 .woocommerce form .form-row {
        margin-bottom: 14px;
    }

    body.page-id-3292 .woocommerce form .form-row label {
        font-size: 11px;
        letter-spacing: 0.12em;
        margin-bottom: 6px;
    }

    body.page-id-3292 .woocommerce form .form-row input,
    body.page-id-3292 .woocommerce form .form-row select,
    body.page-id-3292 .woocommerce form .form-row textarea,
    body.page-id-3292 .select2-container--default .select2-selection--single {
        min-height: 54px;
        font-size: 17px !important;
        border-radius: 16px !important;
        box-shadow: 0 4px 16px rgba(74,53,32,0.04);
    }

    body.page-id-3292 .woocommerce-checkout .form-row-first,
    body.page-id-3292 .woocommerce-checkout .form-row-last {
        width: 100%;
        float: none;
    }

    body.page-id-3292 .woocommerce table.shop_table {
        border-spacing: 0 10px;
    }

    body.page-id-3292 .woocommerce table.shop_table th,
    body.page-id-3292 .woocommerce table.shop_table td {
        padding: 14px 14px !important;
        font-size: 14px;
    }

    body.page-id-3292 #payment {
        margin-top: 14px;
        border-radius: 18px;
    }

    body.page-id-3292 #payment ul.payment_methods {
        padding: 12px 12px 4px !important;
    }

    body.page-id-3292 #payment div.payment_box {
        margin: 10px 12px 0 !important;
    }

    body.page-id-3292 #payment .place-order {
        padding: 18px 12px 8px !important;
    }

    body.page-id-3292 #place_order {
        min-height: 58px;
        font-size: 13px !important;
        letter-spacing: 0.16em !important;
    }
}

/* =========================================================================
   PREMIUM BALI CHECKOUT — structure recovery pass
   ========================================================================= */
body.page-id-3292 .woocommerce-checkout #customer_details,
body.page-id-3292 .woocommerce-checkout .col2-set {
    width: 100%;
    max-width: none;
    margin: 0;
}

body.page-id-3292 .woocommerce-checkout .col2-set::after,
body.page-id-3292 .woocommerce-checkout form.checkout::after {
    content: '';
    display: block;
    clear: both;
}

body.page-id-3292 .woocommerce-checkout .col2-set .col-1,
body.page-id-3292 .woocommerce-checkout .col2-set .col-2 {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

body.page-id-3292 .woocommerce-checkout #customer_details {
    min-width: 0;
}

body.page-id-3292 .woocommerce-checkout .woocommerce-billing-fields,
body.page-id-3292 .woocommerce-checkout .woocommerce-additional-fields {
    width: 100%;
}

body.page-id-3292 .woocommerce-checkout #order_review_heading,
body.page-id-3292 .woocommerce-checkout #order_review {
    width: 100%;
    min-width: 0;
    margin-left: 0;
}

@media (min-width: 981px) {
    body.page-id-3292 .woocommerce form.checkout {
        grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr) !important;
        align-items: start;
    }

    body.page-id-3292 .woocommerce-checkout #customer_details {
        grid-column: 1;
        grid-row: 1 / span 2;
    }

    body.page-id-3292 .woocommerce-checkout #order_review_heading {
        grid-column: 2;
        grid-row: 1;
        align-self: end;
    }

    body.page-id-3292 .woocommerce-checkout #order_review {
        grid-column: 2;
        grid-row: 2;
        align-self: start;
        position: sticky;
        top: 24px;
    }
}

/* =========================================================================
   PREMIUM BALI CHECKOUT — desktop hard fix for Woo float/grid clash
   ========================================================================= */
@media (min-width: 981px) {
    body.page-id-3292 .woocommerce-checkout form.checkout {
        display: grid !important;
        grid-template-columns: minmax(0, 1.18fr) minmax(360px, 0.82fr) !important;
        gap: 34px !important;
        align-items: start !important;
    }

    body.page-id-3292 .woocommerce-checkout #customer_details,
    body.page-id-3292 .woocommerce-checkout .col2-set {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
    }

    body.page-id-3292 .woocommerce-checkout .col2-set .col-1,
    body.page-id-3292 .woocommerce-checkout .col2-set .col-2,
    body.page-id-3292 .woocommerce-checkout .woocommerce-billing-fields,
    body.page-id-3292 .woocommerce-checkout .woocommerce-additional-fields {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        clear: both !important;
    }

    body.page-id-3292 .woocommerce-checkout #order_review_heading {
        grid-column: 2 !important;
        grid-row: 1 !important;
        margin: 0 0 -4px !important;
        width: 100% !important;
        align-self: end !important;
    }

    body.page-id-3292 .woocommerce-checkout #order_review {
        grid-column: 2 !important;
        grid-row: 2 !important;
        width: 100% !important;
        margin: 0 !important;
        align-self: start !important;
    }
}

/* Calendar clarity labels for search availability popup */
.mphb-datepick-popup .datepick td a,
.mphb-datepick-popup .datepick td span,
.datepick-popup .datepick td a,
.datepick-popup .datepick td span {
    position: relative !important;
    padding-top: 14px !important;
}

.mphb-datepick-popup .datepick td a[data-status-label]::after,
.mphb-datepick-popup .datepick td span[data-status-label]::after,
.datepick-popup .datepick td a[data-status-label]::after,
.datepick-popup .datepick td span[data-status-label]::after {
    content: attr(data-status-label);
    position: absolute;
    top: 4px;
    left: 4px;
    right: 4px;
    font-size: 8px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-align: center;
    pointer-events: none;
    opacity: 0.95;
}

.mphb-datepick-popup .datepick td .mphb-status--available,
.datepick-popup .datepick td .mphb-status--available {
    background: linear-gradient(180deg, #f4fbf6 0%, #e3f2e8 100%) !important;
    color: #234734 !important;
    box-shadow: inset 0 0 0 2px rgba(46,85,64,0.18) !important;
}

.mphb-datepick-popup .datepick td .mphb-status--available[data-status-label]::after,
.datepick-popup .datepick td .mphb-status--available[data-status-label]::after {
    color: #2e5540 !important;
}

.mphb-datepick-popup .datepick td .mphb-status--booked,
.datepick-popup .datepick td .mphb-status--booked {
    background-color: #f5dfdf !important;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 4px, rgba(148,67,67,0.18) 4px, rgba(148,67,67,0.18) 7px) !important;
    color: #8a4646 !important;
    box-shadow: inset 0 0 0 2px rgba(148,67,67,0.18) !important;
}

.mphb-datepick-popup .datepick td .mphb-status--booked[data-status-label]::after,
.datepick-popup .datepick td .mphb-status--booked[data-status-label]::after {
    color: #8a4646 !important;
}

.mphb-datepick-popup .datepick td .mphb-status--unavailable,
.datepick-popup .datepick td .mphb-status--unavailable {
    background-color: #efe2ce !important;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 4px, rgba(139,106,62,0.28) 4px, rgba(139,106,62,0.28) 6px) !important;
    color: #8b6a3e !important;
    box-shadow: inset 0 0 0 2px rgba(139,106,62,0.18) !important;
}

.mphb-datepick-popup .datepick td .mphb-status--unavailable[data-status-label]::after,
.datepick-popup .datepick td .mphb-status--unavailable[data-status-label]::after {
    color: #8b6a3e !important;
}

.mphb-datepick-popup .datepick td .mphb-status--selected,
.datepick-popup .datepick td .mphb-status--selected {
    background: var(--bali-palm) !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,0.22) !important;
}

.mphb-datepick-popup .datepick td .mphb-status--selected[data-status-label]::after,
.datepick-popup .datepick td .mphb-status--selected[data-status-label]::after,
.mphb-datepick-popup .datepick td .mphb-status--selected .mphb-date-cell__price,
.datepick-popup .datepick td .mphb-status--selected .mphb-date-cell__price {
    color: #fff !important;
}

@media (max-width: 768px) {
    .mphb-datepick-popup .datepick td a,
    .mphb-datepick-popup .datepick td span,
    .datepick-popup .datepick td a,
    .datepick-popup .datepick td span {
        padding-top: 11px !important;
    }

    .mphb-datepick-popup .datepick td a[data-status-label]::after,
    .mphb-datepick-popup .datepick td span[data-status-label]::after,
    .datepick-popup .datepick td a[data-status-label]::after,
    .datepick-popup .datepick td span[data-status-label]::after {
        font-size: 7px;
        top: 3px;
        left: 2px;
        right: 2px;
    }
}

/* =========================================================
   SEARCH AVAILABILITY POPUP — safe visual cleanup
   ========================================================= */
.mphb-datepick-popup .datepick,
.datepick-popup .datepick {
    background: #fffdf9 !important;
    border: 1px solid #efe6d8 !important;
    border-radius: 24px !important;
    box-shadow: 0 18px 40px rgba(94, 72, 40, 0.10) !important;
    overflow: hidden !important;
}

.mphb-datepick-popup .datepick-nav,
.datepick-popup .datepick-nav {
    border-bottom: 1px solid #efe6d8 !important;
    background: #fffdfa !important;
}

.mphb-datepick-popup .datepick-month,
.datepick-popup .datepick-month {
    border: 1px solid #f1e7da !important;
    border-radius: 20px !important;
    background: #fffdfa !important;
    padding: 10px !important;
}

.mphb-datepick-popup .datepick-month-header,
.datepick-popup .datepick-month-header {
    background: transparent !important;
    border: 0 !important;
    color: #2f2b26 !important;
    font-family: "Playfair Display", serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
}

.mphb-datepick-popup .datepick td a,
.mphb-datepick-popup .datepick td span,
.datepick-popup .datepick td a,
.datepick-popup .datepick td span {
    border-radius: 999px !important;
    overflow: hidden !important;
}

/* hide tiny price/meta inside calendar cells so only day number remains */
.mphb-datepick-popup .datepick td .mphb-date-cell__price,
.mphb-datepick-popup .datepick td .mphb-calendar-price,
.mphb-datepick-popup .datepick td .mphb-price,
.mphb-datepick-popup .datepick td small,
.datepick-popup .datepick td .mphb-date-cell__price,
.datepick-popup .datepick td .mphb-calendar-price,
.datepick-popup .datepick td .mphb-price,
.datepick-popup .datepick td small {
    display: none !important;
}

/* available dates: clean white circles */
.mphb-datepick-popup .datepick td .mphb-available-date,
.mphb-datepick-popup .datepick td .mphb-check-in-date,
.mphb-datepick-popup .datepick td .mphb-selectable-date--check-in,
.mphb-datepick-popup .datepick td .mphb-selectable-date--check-out,
.datepick-popup .datepick td .mphb-available-date,
.datepick-popup .datepick td .mphb-check-in-date,
.datepick-popup .datepick td .mphb-selectable-date--check-in,
.datepick-popup .datepick td .mphb-selectable-date--check-out {
    background: #ffffff !important;
    border: 1px solid #eee8de !important;
    color: #22201d !important;
}

/* blocked / booked dates: soft striped circles */
.mphb-datepick-popup .datepick td .mphb-booked-date,
.mphb-datepick-popup .datepick td .mphb-mark-as-unavailable,
.mphb-datepick-popup .datepick td .mphb-mark-as-unavailable--check-in,
.mphb-datepick-popup .datepick td .mphb-mark-as-unavailable--check-out,
.mphb-datepick-popup .datepick td .mphb-out-of-season-date,
.mphb-datepick-popup .datepick td .mphb-out-of-season-date--check-in,
.mphb-datepick-popup .datepick td .mphb-out-of-season-date--check-out,
.datepick-popup .datepick td .mphb-booked-date,
.datepick-popup .datepick td .mphb-mark-as-unavailable,
.datepick-popup .datepick td .mphb-mark-as-unavailable--check-in,
.datepick-popup .datepick td .mphb-mark-as-unavailable--check-out,
.datepick-popup .datepick td .mphb-out-of-season-date,
.datepick-popup .datepick td .mphb-out-of-season-date--check-in,
.datepick-popup .datepick td .mphb-out-of-season-date--check-out {
    background-color: #fffaf3 !important;
    background-image: repeating-linear-gradient(45deg, rgba(222, 198, 164, 0.28) 0 4px, rgba(255,255,255,0) 4px 10px) !important;
    border: 1px solid #f0dfc9 !important;
    color: #c08f67 !important;
}

/* selected dates */
.mphb-datepick-popup .datepick td a.datepick-selected,
.mphb-datepick-popup .datepick td a.datepick-highlight,
.mphb-datepick-popup .datepick td .mphb-selected-date,
.mphb-datepick-popup .datepick td .mphb-selected-date--check-in,
.mphb-datepick-popup .datepick td .mphb-selected-date--check-out,
.datepick-popup .datepick td a.datepick-selected,
.datepick-popup .datepick td a.datepick-highlight,
.datepick-popup .datepick td .mphb-selected-date,
.datepick-popup .datepick td .mphb-selected-date--check-in,
.datepick-popup .datepick td .mphb-selected-date--check-out {
    background: #fffaf5 !important;
    border: 2px solid #e3a07c !important;
    color: #d18d63 !important;
}

/* Fix MotoPress/datepick split month-year header layout */
.mphb-datepick-popup .datepick-month-header,
.datepick-popup .datepick-month-header {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    white-space: nowrap !important;
    padding: 8px 10px 12px !important;
}

.mphb-datepick-popup .datepick-month-header select,
.mphb-datepick-popup .datepick-month-header span,
.mphb-datepick-popup .datepick-month-header .datepick-month-year,
.datepick-popup .datepick-month-header select,
.datepick-popup .datepick-month-header span,
.datepick-popup .datepick-month-header .datepick-month-year {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.mphb-datepick-popup .datepick-month-header select,
.datepick-popup .datepick-month-header select {
    appearance: none !important;
    -webkit-appearance: none !important;
    font: inherit !important;
    color: inherit !important;
}

/* Keep nav bar clean without empty boxed area */
.mphb-datepick-popup .datepick-nav,
.datepick-popup .datepick-nav {
    display: grid !important;
    grid-template-columns: 40px 1fr 40px !important;
    align-items: center !important;
    min-height: 56px !important;
    padding: 0 8px !important;
}

.mphb-datepick-popup .datepick-cmd,
.datepick-popup .datepick-cmd {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 999px !important;
    background: transparent !important;
}

.mphb-datepick-popup .datepick-cmd:hover,
.datepick-popup .datepick-cmd:hover {
    background: #f7f2ea !important;
}

/* =========================================================
   SEARCH AVAILABILITY POPUP — closer to final reference
   ========================================================= */

/* remove any embedded prices/meta completely */
.mphb-datepick-popup .datepick .mphb-date-cell__price,
.mphb-datepick-popup .datepick .mphb-calendar-price,
.mphb-datepick-popup .datepick .mphb-price,
.mphb-datepick-popup .datepick small,
.mphb-datepick-popup .datepick [class*="price"],
.datepick-popup .datepick .mphb-date-cell__price,
.datepick-popup .datepick .mphb-calendar-price,
.datepick-popup .datepick .mphb-price,
.datepick-popup .datepick small,
.datepick-popup .datepick [class*="price"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
    font-size: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mphb-datepick-popup .datepick,
.datepick-popup .datepick {
    background: #fffdf9 !important;
    border: 1px solid #efe6d8 !important;
    border-radius: 24px !important;
    box-shadow: 0 18px 40px rgba(94,72,40,0.10) !important;
}

.mphb-datepick-popup .datepick-month,
.datepick-popup .datepick-month {
    padding: 12px 12px 14px !important;
    border: 1px solid #f1e7da !important;
    border-radius: 20px !important;
    background: #fffdfa !important;
}

.mphb-datepick-popup .datepick-month table,
.datepick-popup .datepick-month table {
    border-collapse: separate !important;
    border-spacing: 7px 8px !important;
}

.mphb-datepick-popup .datepick td,
.datepick-popup .datepick td {
    background: transparent !important;
    border: 0 !important;
}

.mphb-datepick-popup .datepick td a,
.mphb-datepick-popup .datepick td span,
.datepick-popup .datepick td a,
.datepick-popup .datepick td span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

.mphb-datepick-popup .datepick td .mphb-available-date,
.mphb-datepick-popup .datepick td .mphb-check-in-date,
.mphb-datepick-popup .datepick td .mphb-selectable-date--check-in,
.mphb-datepick-popup .datepick td .mphb-selectable-date--check-out,
.datepick-popup .datepick td .mphb-available-date,
.datepick-popup .datepick td .mphb-check-in-date,
.datepick-popup .datepick td .mphb-selectable-date--check-in,
.datepick-popup .datepick td .mphb-selectable-date--check-out {
    background: #ffffff !important;
    border: 1px solid #eee8de !important;
    color: #25211d !important;
}

.mphb-datepick-popup .datepick td .mphb-booked-date,
.mphb-datepick-popup .datepick td .mphb-mark-as-unavailable,
.mphb-datepick-popup .datepick td .mphb-mark-as-unavailable--check-in,
.mphb-datepick-popup .datepick td .mphb-mark-as-unavailable--check-out,
.mphb-datepick-popup .datepick td .mphb-out-of-season-date,
.mphb-datepick-popup .datepick td .mphb-out-of-season-date--check-in,
.mphb-datepick-popup .datepick td .mphb-out-of-season-date--check-out,
.datepick-popup .datepick td .mphb-booked-date,
.datepick-popup .datepick td .mphb-mark-as-unavailable,
.datepick-popup .datepick td .mphb-mark-as-unavailable--check-in,
.datepick-popup .datepick td .mphb-mark-as-unavailable--check-out,
.datepick-popup .datepick td .mphb-out-of-season-date,
.datepick-popup .datepick td .mphb-out-of-season-date--check-in,
.datepick-popup .datepick td .mphb-out-of-season-date--check-out {
    background-color: #fffaf3 !important;
    background-image: repeating-linear-gradient(45deg, rgba(224, 201, 170, 0.55) 0 4px, rgba(255,255,255,0) 4px 10px) !important;
    border: 1px solid #eddcc7 !important;
    color: #c08f67 !important;
}

.mphb-datepick-popup .datepick td a.datepick-selected,
.mphb-datepick-popup .datepick td a.datepick-highlight,
.mphb-datepick-popup .datepick td .mphb-selected-date,
.mphb-datepick-popup .datepick td .mphb-selected-date--check-in,
.mphb-datepick-popup .datepick td .mphb-selected-date--check-out,
.datepick-popup .datepick td a.datepick-selected,
.datepick-popup .datepick td a.datepick-highlight,
.datepick-popup .datepick td .mphb-selected-date,
.datepick-popup .datepick td .mphb-selected-date--check-in,
.datepick-popup .datepick td .mphb-selected-date--check-out {
    background: #fffdfa !important;
    border: 2px solid #78a6ab !important;
    color: #2d4d52 !important;
}

.mphb-datepick-popup .datepick td .mphb-past-date,
.mphb-datepick-popup .datepick td .datepick-disabled,
.datepick-popup .datepick td .mphb-past-date,
.datepick-popup .datepick td .datepick-disabled {
    background: #fcfaf7 !important;
    border: 1px solid #f3ede5 !important;
    color: #d8cdc2 !important;
}

/* =========================================================
   SEARCH AVAILABILITY POPUP — final polish
   ========================================================= */

/* Month/year dropdowns: look like plain text, not boxed inputs */
.mphb-datepick-popup .datepick-month-header select,
.datepick-popup .datepick-month-header select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background: transparent !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    font-family: "Playfair Display", serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #2f2b26 !important;
    cursor: pointer !important;
    background-image: none !important;
}

.mphb-datepick-popup .datepick-month-header option,
.datepick-popup .datepick-month-header option {
    font-family: Inter, sans-serif !important;
}

/* Remove any wrapper box effect around split month/year controls */
.mphb-datepick-popup .datepick-month-header > *,
.datepick-popup .datepick-month-header > * {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Footer / action row */
.mphb-datepick-popup .datepick-ctrl,
.datepick-popup .datepick-ctrl {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 14px 0 0 !important;
    padding: 14px 18px !important;
    border-top: 1px solid #efe6d8 !important;
    background: #fffdfa !important;
}

.mphb-datepick-popup .datepick-cmd-close,
.mphb-datepick-popup .datepick-cmd-clear,
.datepick-popup .datepick-cmd-close,
.datepick-popup .datepick-cmd-clear {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 0 14px !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #5e7a82 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease !important;
}

.mphb-datepick-popup .datepick-cmd-close:hover,
.mphb-datepick-popup .datepick-cmd-clear:hover,
.datepick-popup .datepick-cmd-close:hover,
.datepick-popup .datepick-cmd-clear:hover {
    background: #f8f4ed !important;
    border-color: #eadfce !important;
    color: #38545c !important;
}

/* Month/year controls should visibly look clickable */
.mphb-datepick-popup .datepick-month-header select,
.datepick-popup .datepick-month-header select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background: #fff !important;
    border: 1px solid #e8dccb !important;
    border-radius: 10px !important;
    box-shadow: 0 1px 0 rgba(255,255,255,0.9), inset 0 1px 0 rgba(255,255,255,0.75) !important;
    padding: 8px 30px 8px 12px !important;
    margin: 0 !important;
    font-family: "Playfair Display", serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #2f2b26 !important;
    cursor: pointer !important;
    background-image: linear-gradient(45deg, transparent 50%, #8c7d68 50%), linear-gradient(135deg, #8c7d68 50%, transparent 50%);
    background-position: calc(100% - 18px) calc(50% - 1px), calc(100% - 12px) calc(50% - 1px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.mphb-datepick-popup .datepick-month-header select:hover,
.datepick-popup .datepick-month-header select:hover {
    border-color: #d9c8b2 !important;
    background-color: #fffdfa !important;
}

.mphb-datepick-popup .datepick-month-header select:focus,
.datepick-popup .datepick-month-header select:focus {
    outline: none !important;
    border-color: #caa783 !important;
    box-shadow: 0 0 0 3px rgba(227,160,124,0.18) !important;
}

/* Force visible clickable month/year boxes */
.mphb-datepick-popup .datepick .datepick-month-header,
.datepick-popup .datepick .datepick-month-header {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.mphb-datepick-popup .datepick .datepick-month-header select.datepick-month-year,
.mphb-datepick-popup .datepick .datepick-month-header select,
.datepick-popup .datepick .datepick-month-header select.datepick-month-year,
.datepick-popup .datepick .datepick-month-header select {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 88px !important;
    height: 40px !important;
    padding: 0 34px 0 14px !important;
    margin: 0 !important;
    border: 1px solid #e4d6c3 !important;
    border-radius: 10px !important;
    background: #fffdfa !important;
    box-shadow: 0 1px 2px rgba(94,72,40,0.06) !important;
    color: #2f2b26 !important;
    font-family: "Playfair Display", serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 38px !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: linear-gradient(45deg, transparent 50%, #8c7d68 50%), linear-gradient(135deg, #8c7d68 50%, transparent 50%) !important;
    background-position: calc(100% - 18px) calc(50% - 1px), calc(100% - 12px) calc(50% - 1px) !important;
    background-size: 6px 6px, 6px 6px !important;
    background-repeat: no-repeat !important;
}

.mphb-datepick-popup .datepick .datepick-month-header select:hover,
.datepick-popup .datepick .datepick-month-header select:hover {
    border-color: #d6c1a7 !important;
    background-color: #fff !important;
}

.mphb-datepick-popup .datepick .datepick-month-header select:focus,
.datepick-popup .datepick .datepick-month-header select:focus {
    outline: none !important;
    border-color: #caa783 !important;
    box-shadow: 0 0 0 3px rgba(227,160,124,0.16) !important;
}

/* =========================================================
   Availability calendar shortcode — mobile full width fix
   ========================================================= */
@media (max-width: 768px) {
    .mphb_sc_availability_calendar-wrapper {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        text-align: left !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .mphb_sc_availability_calendar-wrapper .mphb-calendar,
    .page-id-44 .mphb_sc_availability_calendar-wrapper .mphb-calendar {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    .mphb_sc_availability_calendar-wrapper .datepick,
    .mphb_sc_availability_calendar-wrapper .datepick-month-row,
    .mphb_sc_availability_calendar-wrapper .datepick-month,
    .page-id-44 .mphb_sc_availability_calendar-wrapper .datepick,
    .page-id-44 .mphb_sc_availability_calendar-wrapper .datepick-month-row,
    .page-id-44 .mphb_sc_availability_calendar-wrapper .datepick-month {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        float: none !important;
        box-sizing: border-box !important;
    }

    .mphb_sc_availability_calendar-wrapper .datepick-month {
        margin: 0 0 14px 0 !important;
    }

    .mphb_sc_availability_calendar-wrapper .datepick-month table {
        width: 100% !important;
        table-layout: fixed !important;
    }

    .mphb_sc_availability_calendar-wrapper .datepick-month thead,
    .mphb_sc_availability_calendar-wrapper .datepick-month tbody,
    .mphb_sc_availability_calendar-wrapper .datepick-month tr {
        width: 100% !important;
    }

    .mphb_sc_availability_calendar-wrapper .datepick-month th,
    .mphb_sc_availability_calendar-wrapper .datepick-month td {
        width: 14.285% !important;
        max-width: 14.285% !important;
        box-sizing: border-box !important;
    }
}

/* Fix mobile availability calendar broken by global .site table { display:block } rule */
@media (max-width: 768px) {
    .mphb_sc_availability_calendar-wrapper table,
    .mphb_sc_availability_calendar-wrapper .datepick table,
    .mphb_sc_availability_calendar-wrapper .datepick-month table,
    .page-id-44 .mphb_sc_availability_calendar-wrapper table,
    .page-id-44 .mphb_sc_availability_calendar-wrapper .datepick table,
    .page-id-44 .mphb_sc_availability_calendar-wrapper .datepick-month table {
        display: table !important;
        overflow: visible !important;
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
    }

    .mphb_sc_availability_calendar-wrapper thead,
    .mphb_sc_availability_calendar-wrapper tbody,
    .page-id-44 .mphb_sc_availability_calendar-wrapper thead,
    .page-id-44 .mphb_sc_availability_calendar-wrapper tbody {
        display: table-header-group !important;
        width: auto !important;
    }

    .mphb_sc_availability_calendar-wrapper tbody,
    .page-id-44 .mphb_sc_availability_calendar-wrapper tbody {
        display: table-row-group !important;
    }

    .mphb_sc_availability_calendar-wrapper tr,
    .page-id-44 .mphb_sc_availability_calendar-wrapper tr {
        display: table-row !important;
    }

    .mphb_sc_availability_calendar-wrapper th,
    .mphb_sc_availability_calendar-wrapper td,
    .page-id-44 .mphb_sc_availability_calendar-wrapper th,
    .page-id-44 .mphb_sc_availability_calendar-wrapper td {
        display: table-cell !important;
    }
}

/* Mobile: stack availability calendar months vertically instead of 2-up */
@media (max-width: 768px) {
    .mphb_sc_availability_calendar-wrapper .datepick-month-row,
    .page-id-44 .mphb_sc_availability_calendar-wrapper .datepick-month-row {
        display: block !important;
        clear: both !important;
    }

    .mphb_sc_availability_calendar-wrapper .datepick-month,
    .mphb_sc_availability_calendar-wrapper .mphb-datepicker-light-coral .datepick-month,
    .page-id-44 .mphb_sc_availability_calendar-wrapper .datepick-month,
    .page-id-44 .mphb_sc_availability_calendar-wrapper .mphb-datepicker-light-coral .datepick-month {
        float: none !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 14px 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        border-left-width: 1px !important;
        border-right-width: 1px !important;
        box-sizing: border-box !important;
    }

    .mphb_sc_availability_calendar-wrapper .datepick-month.last,
    .page-id-44 .mphb_sc_availability_calendar-wrapper .datepick-month.last {
        border-left-width: 1px !important;
        padding-left: 0 !important;
    }

    .mphb_sc_availability_calendar-wrapper .datepick-month.first,
    .page-id-44 .mphb_sc_availability_calendar-wrapper .datepick-month.first {
        border-right-width: 1px !important;
    }

    .mphb_sc_availability_calendar-wrapper .datepick-month.first table,
    .mphb_sc_availability_calendar-wrapper .datepick-month.last table,
    .page-id-44 .mphb_sc_availability_calendar-wrapper .datepick-month.first table,
    .page-id-44 .mphb_sc_availability_calendar-wrapper .datepick-month.last table {
        float: none !important;
    }
}

/* =========================================================
   Single accommodation page mobile calendar fix
   ========================================================= */
@media (max-width: 768px) {
    .single-mphb_room_type .entry-content,
    .single-mphb_room_type .entry-content > *,
    .single-mphb_room_type .mphb-room-type,
    .single-mphb_room_type .mphb-room-type .dpbv-room-details,
    .single-mphb_room_type .mphb-room-type .dpbv-room-description-wrapper,
    .single-mphb_room_type .mphb-room-type .dpbv-room-description-inner-wrapper,
    .single-mphb_room_type .mphb-room-type .mphb_sc_availability_calendar-wrapper {
        max-width: 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .mphb-calendar,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month-row,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        float: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper {
        padding-left: 0 !important;
        padding-right: 0 !important;
        text-align: left !important;
        overflow: hidden !important;
    }

    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month {
        margin-bottom: 14px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        border-left-width: 1px !important;
        border-right-width: 1px !important;
    }

    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month.first table,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month.last table {
        float: none !important;
    }

    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper table {
        display: table !important;
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        overflow: visible !important;
    }

    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper thead {
        display: table-header-group !important;
    }

    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper tbody {
        display: table-row-group !important;
    }

    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper tr {
        display: table-row !important;
    }

    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper th,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper td {
        display: table-cell !important;
        width: 14.285% !important;
        max-width: 14.285% !important;
    }
}

/* Extra-tight mobile tuning for very narrow screens */
@media (max-width: 380px) {
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .mphb-calendar,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month {
        padding: 6px !important;
        margin-bottom: 10px !important;
    }

    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month-header {
        padding: 6px 8px !important;
        margin-bottom: 6px !important;
    }

    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month th,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month td {
        font-size: 12px !important;
    }

    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month td > a,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month td > span {
        min-height: 34px !important;
        padding: 2px 0 !important;
    }

    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick .mphb-date-cell__price,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick td small,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick .mphb-price,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick .mphb-calendar-price {
        font-size: 9px !important;
    }
}

/* Stable single accommodation mobile/tablet calendar layout */
@media (min-width: 381px) and (max-width: 768px) {
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .mphb-calendar,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month,
    .single-mphb_room_type .mphb-calendar .mphb-datepicker-light-coral .datepick-month {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        float: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month table,
    .single-mphb_room_type .mphb-calendar .mphb-datepicker-light-coral .datepick-month table {
        display: table !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        float: none !important;
        margin: 0 !important;
    }

    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month thead,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month tbody,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month tr,
    .single-mphb_room_type .mphb_calendar .mphb-datepicker-light-coral .datepick-month thead,
    .single-mphb_room_type .mphb_calendar .mphb-datepicker-light-coral .datepick-month tbody,
    .single-mphb_room_type .mphb_calendar .mphb-datepicker-light-coral .datepick-month tr {
        display: table-header-group !important;
    }

    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month tbody,
    .single-mphb_room_type .mphb_calendar .mphb-datepicker-light-coral .datepick-month tbody {
        display: table-row-group !important;
    }

    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month tr,
    .single-mphb_room_type .mphb_calendar .mphb-datepicker-light-coral .datepick-month tr {
        display: table-row !important;
    }

    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month th,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month td,
    .single-mphb_room_type .mphb-calendar .mphb-datepicker-light-coral .datepick-month th,
    .single-mphb_room_type .mphb-calendar .mphb-datepicker-light-coral .datepick-month td {
        display: table-cell !important;
        width: 14.285% !important;
        max-width: 14.285% !important;
        min-width: 0 !important;
        vertical-align: top !important;
    }
}
/* Final single-room mobile availability fix: collapse hidden 2-column month container */
@media (max-width: 768px) {
    .single-mphb_room_type .mphb-calendar .mphb-datepicker-light-coral .datepick-month-row,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        clear: both !important;
    }

    .single-mphb_room_type .mphb-calendar .mphb-datepicker-light-coral .datepick-month,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        float: none !important;
        clear: both !important;
        margin: 0 !important;
    }

    .single-mphb_room_type .mphb-calendar .mphb-datepicker-light-coral .datepick-month.last,
    .single-mphb_room_type .mphb-calendar .mphb-datepicker-light-coral .datepick-month.first,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month.last,
    .single-mphb_room_type .mphb_sc_availability_calendar-wrapper .datepick-month.first {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        border-left-width: 1px !important;
        border-right-width: 1px !important;
    }
}

/* =========================================================================
   MY ACCOUNT (MotoPress) — production polish
   ========================================================================= */
body.page-id-53 .entry-content > .wp-block-separator {
    display: none;
}

body.page-id-53 .entry-content {
    max-width: 1120px;
    margin: 0 auto;
}

body.page-id-53 .mphb_sc_account {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    margin-top: 18px;
}

body.page-id-53 .mphb_sc_account .mphb-account-menu,
body.page-id-53 .mphb_sc_account .mphb-account-content,
body.page-id-53 .mphb_sc_account .mphb-login-form {
    background: #fffdf9;
    border: 1px solid #eadfcb;
    border-radius: 24px;
    box-shadow: 0 18px 48px rgba(36,24,12,.08);
}

body.page-id-53 .mphb_sc_account .mphb-account-menu {
    padding: 18px;
    position: sticky;
    top: 24px;
}

body.page-id-53 .mphb_sc_account .mphb-account-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}

body.page-id-53 .mphb_sc_account .mphb-account-menu li {
    margin: 0;
}

body.page-id-53 .mphb_sc_account .mphb-account-menu a {
    display: block;
    padding: 13px 16px;
    border-radius: 16px;
    border: 1px solid #e7dbc8;
    background: #f8f2e8;
    color: #3f3429;
    text-decoration: none;
    font-weight: 700;
    line-height: 1.35;
    transition: .2s ease;
}

body.page-id-53 .mphb_sc_account .mphb-account-menu a:hover {
    background: #6a8f7a;
    border-color: #6a8f7a;
    color: #fff;
    transform: translateY(-1px);
}

body.page-id-53 .mphb_sc_account .mphb-account-content {
    padding: 26px;
}

body.page-id-53 .mphb_sc_account .mphb-account-content > p:first-child {
    margin-top: 0;
}

body.page-id-53 .mphb_sc_account .mphb-data-incorrect,
body.page-id-53 .mphb_sc_account .mphb-data-success {
    margin: 0 0 16px;
    padding: 14px 16px;
    border-radius: 14px;
    font-weight: 600;
}

body.page-id-53 .mphb_sc_account .mphb-data-success {
    background: #ebf8f0;
    color: #19633d;
    border: 1px solid #bfe4cb;
}

body.page-id-53 .mphb_sc_account .mphb-data-incorrect {
    background: #fff1ef;
    color: #9e2f24;
    border: 1px solid #f0c3bd;
}

body.page-id-53 .mphb_sc_account .mphb-login-form {
    max-width: 520px;
    margin: 0 auto;
    padding: 24px;
}

body.page-id-53 .mphb_sc_account .mphb-login-form p:first-child {
    margin-top: 0;
}

body.page-id-53 .mphb_sc_account .login-username,
body.page-id-53 .mphb_sc_account .login-password,
body.page-id-53 .mphb_sc_account .login-remember {
    margin-bottom: 14px;
}

body.page-id-53 .mphb_sc_account label {
    display: block;
    margin-bottom: 7px;
    font-weight: 700;
    color: #33291f;
    font-size: 14px;
}

body.page-id-53 .mphb_sc_account input[type="text"],
body.page-id-53 .mphb_sc_account input[type="email"],
body.page-id-53 .mphb_sc_account input[type="password"],
body.page-id-53 .mphb_sc_account input[type="tel"],
body.page-id-53 .mphb_sc_account select {
    width: 100%;
    min-height: 50px;
    border: 1px solid #d8c9b0;
    border-radius: 14px;
    padding: 13px 15px;
    background: #fff;
    box-sizing: border-box;
}

body.page-id-53 .mphb_sc_account input[readonly] {
    background: #f6f1e8;
    color: #776958;
}

body.page-id-53 .mphb_sc_account input[type="text"]:focus,
body.page-id-53 .mphb_sc_account input[type="email"]:focus,
body.page-id-53 .mphb_sc_account input[type="password"]:focus,
body.page-id-53 .mphb_sc_account input[type="tel"]:focus,
body.page-id-53 .mphb_sc_account select:focus {
    outline: none;
    border-color: #9b7d57;
    box-shadow: 0 0 0 3px rgba(155,125,87,.14);
}

body.page-id-53 .mphb_sc_account .login-remember label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 0;
    font-weight: 600;
}

body.page-id-53 .mphb_sc_account .login-remember input {
    width: 18px;
    height: 18px;
}

body.page-id-53 .mphb_sc_account .lost_password,
body.page-id-53 .mphb_sc_account .mphb-login-form > a {
    display: inline-block;
    margin-top: 8px;
    font-weight: 600;
}

body.page-id-53 .mphb_sc_account .mphb-account-details-form {
    margin: 0;
}

body.page-id-53 .mphb_sc_account .mphb-account-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 18px;
}

body.page-id-53 .mphb_sc_account .mphb-account-details > p,
body.page-id-53 .mphb_sc_account .mphb-account-change-password > p {
    margin: 0;
}

body.page-id-53 .mphb_sc_account .mphb-account-change-password {
    margin-top: 20px;
    padding: 20px;
    background: #f8f2e8;
    border: 1px solid #eadfcb;
    border-radius: 18px;
}

body.page-id-53 .mphb_sc_account .mphb-account-change-password > p:first-child strong {
    display: block;
    font-size: 18px;
    color: #2f261d;
    margin-bottom: 2px;
}

body.page-id-53 .mphb_sc_account .mphb-account-details-form > p:last-child {
    margin: 20px 0 0;
}

body.page-id-53 .mphb_sc_account .mphb-account-bookings {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid #eadfcb;
    border-radius: 18px;
    background: #fff;
}

body.page-id-53 .mphb_sc_account .mphb-account-bookings th,
body.page-id-53 .mphb_sc_account .mphb-account-bookings td {
    padding: 14px 16px;
    border-bottom: 1px solid #f0e6d8;
    vertical-align: top;
}

body.page-id-53 .mphb_sc_account .mphb-account-bookings thead th {
    background: #f8f2e8;
    color: #4a3b2a;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

body.page-id-53 .mphb_sc_account .mphb-account-bookings tbody tr:last-child td {
    border-bottom: 0;
}

body.page-id-53 .mphb_sc_account .mphb-account-bookings .booking-status {
    display: inline-flex;
    margin-top: 6px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #eef5ef;
    color: #275742;
    font-size: 12px;
    font-weight: 700;
}

body.page-id-53 .mphb_sc_account .booking-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 10px 14px;
    border-radius: 12px;
    background: #6a8f7a;
    color: #fff !important;
    text-decoration: none;
    font-weight: 700;
}

body.page-id-53 .mphb_sc_account .booking-actions a:hover {
    background: #4b7563;
}

body.page-id-53 .mphb_sc_account .mphb-pagination {
    margin-top: 16px;
}

body.page-id-53 .mphb_sc_account .mphb-nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.page-id-53 .mphb_sc_account .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid #e7dbc8;
    background: #f8f2e8;
    color: #43372c;
    text-decoration: none;
    font-weight: 700;
}

body.page-id-53 .mphb_sc_account span.page-numbers,
body.page-id-53 .mphb_sc_account a.page-numbers:hover {
    background: #6a8f7a;
    border-color: #6a8f7a;
    color: #fff;
}

@media (max-width: 991px) {
    body.page-id-53 .mphb_sc_account {
        grid-template-columns: 1fr;
    }

    body.page-id-53 .mphb_sc_account .mphb-account-menu {
        position: static;
    }

    body.page-id-53 .mphb_sc_account .mphb-account-menu ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    body.page-id-53 .entry-content {
        padding-left: 0;
        padding-right: 0;
    }

    body.page-id-53 .mphb_sc_account {
        gap: 14px;
        margin-top: 12px;
    }

    body.page-id-53 .mphb_sc_account .mphb-account-content,
    body.page-id-53 .mphb_sc_account .mphb-account-menu,
    body.page-id-53 .mphb_sc_account .mphb-login-form {
        border-radius: 18px;
    }

    body.page-id-53 .mphb_sc_account .mphb-account-content,
    body.page-id-53 .mphb_sc_account .mphb-login-form {
        padding: 16px 14px;
    }

    body.page-id-53 .mphb_sc_account .mphb-account-menu {
        padding: 12px;
    }

    body.page-id-53 .mphb_sc_account .mphb-account-menu ul {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    body.page-id-53 .mphb_sc_account .mphb-account-details {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    body.page-id-53 .mphb_sc_account .mphb-account-change-password {
        padding: 16px 14px;
    }

    body.page-id-53 .mphb_sc_account .mphb-account-bookings {
        border: 0;
        background: transparent;
    }

    body.page-id-53 .mphb_sc_account .mphb-account-bookings tr {
        margin-bottom: 12px;
        padding: 12px;
        border: 1px solid #eadfcb;
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 10px 24px rgba(36,24,12,.06);
    }

    body.page-id-53 .mphb_sc_account .mphb-account-bookings td {
        padding: 8px 0;
        border-bottom: 0;
    }

    body.page-id-53 .mphb_sc_account .mphb-account-bookings td:before {
        color: #6a5c49;
    }

    body.page-id-53 .mphb_sc_account .booking-actions a,
    body.page-id-53 .mphb_sc_account input[type="submit"] {
        width: 100%;
    }
}

/* =========================================================================
   MY ACCOUNT logged-out state fix
   ========================================================================= */
body.page-id-53 .mphb_sc_account > .mphb-account-content:only-child {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
}

body.page-id-53 .mphb_sc_account > .mphb-account-content:only-child .mphb-login-form {
    max-width: 100%;
    margin: 0 auto;
}

body.page-id-53 .mphb_sc_account > .mphb-account-content:only-child .mphb-login-form form {
    max-width: 460px;
    margin: 0 auto 1.25em;
}

body.page-id-53 .mphb_sc_account > .mphb-account-content:only-child .mphb-login-form > a {
    display: inline-block;
    margin-top: 10px;
}

body.page-id-53 .mphb_sc_account .g-recaptcha {
    max-width: 100%;
    transform-origin: left top;
}

@media (max-width: 767px) {
    body.page-id-53 .mphb_sc_account > .mphb-account-content:only-child {
        max-width: 100%;
    }

    body.page-id-53 .mphb_sc_account > .mphb-account-content:only-child .mphb-login-form form {
        max-width: 100%;
    }

    body.page-id-53 .mphb_sc_account .g-recaptcha {
        transform: scale(.92);
    }
}

/* =========================================================================
   MY ACCOUNT account-details width refinement
   ========================================================================= */
body.page-id-53 .mphb_sc_account {
    grid-template-columns: 220px minmax(0, 1fr);
}

body.page-id-53 .mphb_sc_account .mphb-account-details {
    grid-template-columns: repeat(2, minmax(240px, 1fr));
}

body.page-id-53 .mphb_sc_account .mphb-customer-username,
body.page-id-53 .mphb_sc_account .mphb-customer-address1 {
    grid-column: 1 / -1;
}

@media (max-width: 1180px) {
    body.page-id-53 .mphb_sc_account {
        grid-template-columns: 1fr;
    }

    body.page-id-53 .mphb_sc_account .mphb-account-menu {
        position: static;
    }

    body.page-id-53 .mphb_sc_account .mphb-account-menu ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.page-id-53 .mphb_sc_account .mphb-account-details {
        grid-template-columns: 1fr;
    }

    body.page-id-53 .mphb_sc_account .mphb-customer-username,
    body.page-id-53 .mphb_sc_account .mphb-customer-address1 {
        grid-column: auto;
    }
}

/* =========================================================================
   MY ACCOUNT field width override for MotoPress account-details
   ========================================================================= */
body.page-id-53 .mphb_sc_account .mphb-account-details > * {
    float: none !important;
    width: auto !important;
    min-width: 0;
    padding: 0 !important;
}

body.page-id-53 .mphb_sc_account .mphb-customer-first-name,
body.page-id-53 .mphb_sc_account .mphb-customer-last-name,
body.page-id-53 .mphb_sc_account .mphb-customer-email,
body.page-id-53 .mphb_sc_account .mphb-customer-phone,
body.page-id-53 .mphb_sc_account .mphb-customer-country,
body.page-id-53 .mphb_sc_account .mphb-customer-state,
body.page-id-53 .mphb_sc_account .mphb-customer-city,
body.page-id-53 .mphb_sc_account .mphb-customer-zip {
    min-width: 240px;
}

body.page-id-53 .mphb_sc_account .mphb-account-details input,
body.page-id-53 .mphb_sc_account .mphb-account-details select {
    width: 100% !important;
}

@media (max-width: 1320px) {
    body.page-id-53 .mphb_sc_account .mphb-account-details {
        grid-template-columns: 1fr !important;
    }

    body.page-id-53 .mphb_sc_account .mphb-customer-username,
    body.page-id-53 .mphb_sc_account .mphb-customer-address1 {
        grid-column: auto;
    }
}

/* =========================================================================
   MY ACCOUNT email required mark tidy-up
   ========================================================================= */
body.page-id-53 .mphb_sc_account .mphb-customer-email label {
    display: inline-block;
    margin-right: 6px;
}

body.page-id-53 .mphb_sc_account .mphb-customer-email abbr {
    display: inline-block;
    vertical-align: baseline;
    margin: 0 0 0 2px;
    color: #9e2f24;
    text-decoration: none;
    border-bottom: 0;
    font-weight: 700;
    line-height: 1;
}

/* =========================================================================
   MY ACCOUNT guest view compacting
   ========================================================================= */
body.page-id-53 .site-main > .hentry > .entry-header-wrapper,
body.page-id-53 .site-main > .page > .entry-header-wrapper,
body.page-id-53 .site-main .entry-header-wrapper {
    padding-top: 28px !important;
    padding-bottom: 10px !important;
    margin-bottom: 4px !important;
}

body.page-id-53 .entry-header .entry-title,
body.page-id-53 .page-title .entry-title {
    font-size: clamp(2rem, 3vw, 2.6rem) !important;
    margin-bottom: 0 !important;
}

body.page-id-53 .mphb_sc_account > .mphb-account-content:only-child {
    max-width: 620px;
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

body.page-id-53 .mphb_sc_account > .mphb-account-content:only-child .mphb-login-form {
    max-width: 560px;
    padding: 18px 18px 16px;
}

body.page-id-53 .mphb_sc_account > .mphb-account-content:only-child .mphb-login-form form {
    margin-bottom: 10px;
}

body.page-id-53 .mphb_sc_account > .mphb-account-content:only-child .mphb-login-form .login-username,
body.page-id-53 .mphb_sc_account > .mphb-account-content:only-child .mphb-login-form .login-password,
body.page-id-53 .mphb_sc_account > .mphb-account-content:only-child .mphb-login-form .login-remember {
    margin-bottom: 10px;
}

@media (max-width: 767px) {
    body.page-id-53 .site-main > .hentry > .entry-header-wrapper,
    body.page-id-53 .site-main > .page > .entry-header-wrapper,
    body.page-id-53 .site-main .entry-header-wrapper {
        padding-top: 20px !important;
        padding-bottom: 6px !important;
    }

    body.page-id-53 .mphb_sc_account > .mphb-account-content:only-child .mphb-login-form {
        max-width: 100%;
        padding: 16px 14px 14px;
    }
}

/* OpenClaw: clearer MotoPress datepicker controls */
.datepick-popup .datepick-nav,
.datepick-popup .datepick-ctrl {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  gap: 10px;
  align-items: center;
  padding: 10px;
  background: #fffaf4;
  border-bottom: 1px solid #eee2d2;
}

.datepick-popup .datepick-ctrl {
  border-top: 1px solid #eee2d2;
  border-bottom: 0;
}

.datepick-popup .datepick-cmd,
.datepick-popup .datepick-nav a,
.datepick-popup .datepick-ctrl a {
  float: none;
  width: auto;
  min-width: 0;
  padding: 0;
}

.datepick-popup a.datepick-cmd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #e5d7c3;
  border-radius: 14px;
  background: #fff;
  color: #54675f;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(69, 52, 33, 0.05);
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}

.datepick-popup .datepick-cmd-current,
.datepick-popup .datepick-cmd-today {
  width: 100%;
}

.datepick-popup .datepick-cmd-current a,
.datepick-popup a.datepick-cmd.datepick-cmd-today {
  width: 100%;
  background: linear-gradient(135deg, #f8f1e5 0%, #fffdf9 100%);
  color: #496557;
}

.datepick-popup .datepick-cmd-prev a,
.datepick-popup .datepick-cmd-next a {
  font-size: 0;
  position: relative;
}

.datepick-popup .datepick-cmd-prev a:before,
.datepick-popup .datepick-cmd-next a:before {
  font-size: 20px;
  line-height: 1;
  font-weight: 700;
}

.datepick-popup .datepick-cmd-prev a:before {
  content: '‹';
}

.datepick-popup .datepick-cmd-next a:before {
  content: '›';
}

.datepick-popup a.datepick-cmd:hover,
.datepick-popup a.datepick-cmd:focus {
  background: #f6efe3;
  color: #395a4a;
  border-color: #d8c6ab;
  transform: translateY(-1px);
}

.datepick-popup .datepick-month {
  border-radius: 18px;
  overflow: hidden;
  border-color: #e8dccb;
  background: #fff;
}

.datepick-popup .datepick-month-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px;
  background: #fff;
  border-bottom: 1px solid #eee2d2;
}

.datepick-popup .datepick-month-header select {
  appearance: auto !important;
  -webkit-appearance: menulist !important;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid #dfd1be;
  border-radius: 12px;
  background: #fffdf9;
  color: #53473a;
  font-weight: 700;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}

.datepick-popup .datepick-month-header select:focus {
  outline: none;
  border-color: #c7aa7a;
  box-shadow: 0 0 0 3px rgba(199,170,122,.18);
}

@media (max-width: 640px) {
  .datepick-popup .datepick-nav,
  .datepick-popup .datepick-ctrl {
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    gap: 8px;
    padding: 8px;
  }

  .datepick-popup a.datepick-cmd {
    min-height: 42px;
    border-radius: 12px;
  }

  .datepick-popup .datepick-month-header {
    padding: 7px;
    gap: 6px;
  }

  .datepick-popup .datepick-month-header select {
    min-height: 40px;
    font-size: 16px;
  }
}

/* OpenClaw: stronger MotoPress datepicker control overrides */
.datepick-popup .datepick-nav a.datepick-cmd,
.datepick-popup .datepick-ctrl a.datepick-cmd,
.datepick-popup a.datepick-cmd.datepick-cmd-today,
.datepick-popup a.datepick-cmd.datepick-cmd-prev,
.datepick-popup a.datepick-cmd.datepick-cmd-next,
.datepick-popup a.datepick-cmd.datepick-cmd-current {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
  border: 1px solid #e5d7c3 !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #54675f !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(69, 52, 33, 0.05) !important;
}

.datepick-popup .datepick-nav {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) 48px !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 10px !important;
  background: #fffaf4 !important;
  border-bottom: 1px solid #eee2d2 !important;
}

.datepick-popup .datepick-ctrl {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 10px !important;
  background: #fffaf4 !important;
  border-top: 1px solid #eee2d2 !important;
  border-bottom: 0 !important;
}

.datepick-popup .datepick-cmd,
.datepick-popup .datepick-nav a,
.datepick-popup .datepick-ctrl a {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.datepick-popup a.datepick-cmd.datepick-cmd-prev,
.datepick-popup a.datepick-cmd.datepick-cmd-next {
  font-size: 0 !important;
}

.datepick-popup a.datepick-cmd.datepick-cmd-prev:before,
.datepick-popup a.datepick-cmd.datepick-cmd-next:before {
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
}

.datepick-popup a.datepick-cmd.datepick-cmd-prev:before {
  content: '‹' !important;
}

.datepick-popup a.datepick-cmd.datepick-cmd-next:before {
  content: '›' !important;
}

.datepick-popup a.datepick-cmd.datepick-cmd-today,
.datepick-popup a.datepick-cmd.datepick-cmd-current {
  width: 100% !important;
  background: linear-gradient(135deg, #f8f1e5 0%, #fffdf9 100%) !important;
  color: #496557 !important;
}

.datepick-popup a.datepick-cmd.datepick-cmd-today:hover,
.datepick-popup a.datepick-cmd.datepick-cmd-current:hover,
.datepick-popup a.datepick-cmd.datepick-cmd-prev:hover,
.datepick-popup a.datepick-cmd.datepick-cmd-next:hover {
  background: #f6efe3 !important;
  color: #395a4a !important;
  border-color: #d8c6ab !important;
  transform: translateY(-1px) !important;
}

.datepick-popup .datepick-month-header,
.datepick-popup .datepick-month-header select,
.datepick-popup .datepick-month-header input {
  background: #fff !important;
  color: #53473a !important;
}

.datepick-popup .datepick-month-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  padding: 8px !important;
  border-bottom: 1px solid #eee2d2 !important;
}

.datepick-popup .datepick-month-header select {
  appearance: auto !important;
  -webkit-appearance: menulist !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  min-height: 42px !important;
  padding: 9px 12px !important;
  border: 1px solid #dfd1be !important;
  border-radius: 12px !important;
  background: #fffdf9 !important;
  color: #53473a !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75) !important;
}

.datepick-popup .datepick-month-header select:focus {
  outline: none !important;
  border-color: #c7aa7a !important;
  box-shadow: 0 0 0 3px rgba(199,170,122,.18) !important;
}

.datepick-popup .datepick-month {
  border-radius: 18px !important;
  overflow: hidden !important;
  border: 1px solid #e8dccb !important;
  background: #fff !important;
}

@media (max-width: 640px) {
  .datepick-popup .datepick-nav {
    grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    gap: 8px !important;
    padding: 8px !important;
  }

  .datepick-popup .datepick-ctrl {
    padding: 8px !important;
  }

  .datepick-popup .datepick-nav a.datepick-cmd,
  .datepick-popup .datepick-ctrl a.datepick-cmd,
  .datepick-popup a.datepick-cmd.datepick-cmd-today,
  .datepick-popup a.datepick-cmd.datepick-cmd-prev,
  .datepick-popup a.datepick-cmd.datepick-cmd-next,
  .datepick-popup a.datepick-cmd.datepick-cmd-current {
    min-height: 42px !important;
    border-radius: 12px !important;
  }

  .datepick-popup .datepick-month-header {
    padding: 7px !important;
    gap: 6px !important;
  }

  .datepick-popup .datepick-month-header select {
    min-height: 40px !important;
    font-size: 16px !important;
  }
}

/* OpenClaw: datepicker controls v3 - more obvious buttons/dropdowns */
.datepick-popup {
  border-radius: 20px !important;
  overflow: hidden !important;
}

.datepick-popup .datepick-nav {
  background: linear-gradient(180deg, #fffdf9 0%, #f7efe3 100%) !important;
  border-bottom: 1px solid #eadfce !important;
}

.datepick-popup .datepick-ctrl {
  background: #fffaf4 !important;
  border-top: 1px solid #eadfce !important;
}

.datepick-popup a.datepick-cmd.datepick-cmd-prev,
.datepick-popup a.datepick-cmd.datepick-cmd-next {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #6c8f79 0%, #4f745f 100%) !important;
  border: 1px solid #4f745f !important;
  color: #ffffff !important;
  box-shadow: 0 10px 18px rgba(79, 116, 95, 0.22) !important;
}

.datepick-popup a.datepick-cmd.datepick-cmd-prev:before,
.datepick-popup a.datepick-cmd.datepick-cmd-next:before {
  color: #ffffff !important;
  font-size: 24px !important;
  font-weight: 800 !important;
}

.datepick-popup a.datepick-cmd.datepick-cmd-prev:hover,
.datepick-popup a.datepick-cmd.datepick-cmd-next:hover,
.datepick-popup a.datepick-cmd.datepick-cmd-prev:focus,
.datepick-popup a.datepick-cmd.datepick-cmd-next:focus {
  background: linear-gradient(135deg, #5b7e69 0%, #3f6250 100%) !important;
  border-color: #3f6250 !important;
  color: #ffffff !important;
}

.datepick-popup a.datepick-cmd.datepick-cmd-current,
.datepick-popup a.datepick-cmd.datepick-cmd-today {
  min-height: 46px !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  border: 1px solid #ded2c0 !important;
  color: #42594d !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
}

.datepick-popup a.datepick-cmd.datepick-cmd-today {
  background: linear-gradient(135deg, #f6efe4 0%, #fffdf9 100%) !important;
}

.datepick-popup .datepick-month-header {
  padding: 10px !important;
  background: linear-gradient(180deg, #fffdfa 0%, #f8f1e6 100%) !important;
}

.datepick-popup .datepick-month-header select {
  padding: 10px 38px 10px 12px !important;
  border: 1px solid #d8c8b1 !important;
  border-radius: 13px !important;
  background-color: #ffffff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20'%3E%3Cpath fill='%236b705c' d='M5.5 7.5 10 12l4.5-4.5 1.5 1.5-6 6-6-6z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 14px 14px !important;
  box-shadow: 0 2px 10px rgba(66, 47, 28, 0.05) !important;
}

.datepick-popup .datepick-month-header select:hover,
.datepick-popup .datepick-month-header select:focus {
  background-color: #fffdf9 !important;
  border-color: #c7aa7a !important;
}

.datepick-popup .datepick-month-header {
  gap: 10px !important;
}

.datepick-popup .datepick-month-header > :first-child {
  flex: 1.4 1 0 !important;
}

.datepick-popup .datepick-month-header > :last-child {
  flex: .9 1 0 !important;
}

.datepick-popup .datepick-month-header,
.datepick-popup .datepick-month-header * {
  font-size: 16px !important;
}

.datepick-popup .datepick-month-header span,
.datepick-popup .datepick-month-header div,
.datepick-popup .datepick-month-header .datepick-month-year {
  font-weight: 800 !important;
  color: #4f4437 !important;
}

@media (max-width: 640px) {
  .datepick-popup a.datepick-cmd.datepick-cmd-prev,
  .datepick-popup a.datepick-cmd.datepick-cmd-next {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
  }

  .datepick-popup a.datepick-cmd.datepick-cmd-current,
  .datepick-popup a.datepick-cmd.datepick-cmd-today {
    min-height: 44px !important;
    font-size: 15px !important;
  }

  .datepick-popup .datepick-month-header,
  .datepick-popup .datepick-month-header * {
    font-size: 15px !important;
  }
}

/* OpenClaw: mobile popup datepicker layout fix */
@media (max-width: 640px) {
  .mphb-datepick-popup .datepick,
  .datepick-popup .datepick {
    width: calc(100vw - 44px) !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 10px !important;
    box-sizing: border-box !important;
  }

  .mphb-datepick-popup .datepick-multi,
  .datepick-popup .datepick-multi,
  .mphb-datepick-popup .datepick-multi .datepick-month-row,
  .datepick-popup .datepick-multi .datepick-month-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    clear: both !important;
  }

  .mphb-datepick-popup .datepick-multi .datepick-month,
  .datepick-popup .datepick-multi .datepick-month,
  .mphb-datepick-popup .datepick-month,
  .datepick-popup .datepick-month {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 10px !important;
    box-sizing: border-box !important;
  }

  .mphb-datepick-popup .datepick-month.first,
  .mphb-datepick-popup .datepick-month.last,
  .datepick-popup .datepick-month.first,
  .datepick-popup .datepick-month.last {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .mphb-datepick-popup .datepick-month table,
  .datepick-popup .datepick-month table {
    display: table !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 4px 6px !important;
    margin: 0 !important;
    float: none !important;
  }

  .mphb-datepick-popup .datepick-month thead,
  .mphb-datepick-popup .datepick-month tbody,
  .mphb-datepick-popup .datepick-month tr,
  .datepick-popup .datepick-month thead,
  .datepick-popup .datepick-month tbody,
  .datepick-popup .datepick-month tr {
    display: table-header-group !important;
    width: auto !important;
  }

  .mphb-datepick-popup .datepick-month tbody,
  .datepick-popup .datepick-month tbody {
    display: table-row-group !important;
  }

  .mphb-datepick-popup .datepick-month tr,
  .datepick-popup .datepick-month tr {
    display: table-row !important;
  }

  .mphb-datepick-popup .datepick-month th,
  .mphb-datepick-popup .datepick-month td,
  .datepick-popup .datepick-month th,
  .datepick-popup .datepick-month td {
    display: table-cell !important;
    width: 14.285% !important;
    max-width: 14.285% !important;
    min-width: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    vertical-align: top !important;
  }

  .mphb-datepick-popup .datepick td a,
  .mphb-datepick-popup .datepick td span,
  .datepick-popup .datepick td a,
  .datepick-popup .datepick td span {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 14px !important;
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1 !important;
  }

  .mphb-datepick-popup .datepick .mphb-date-cell__price,
  .mphb-datepick-popup .datepick .mphb-calendar-price,
  .mphb-datepick-popup .datepick .mphb-price,
  .mphb-datepick-popup .datepick small,
  .datepick-popup .datepick .mphb-date-cell__price,
  .datepick-popup .datepick .mphb-calendar-price,
  .datepick-popup .datepick .mphb-price,
  .datepick-popup .datepick small {
    font-size: 11px !important;
    line-height: 1.05 !important;
  }

  .mphb-datepick-popup .datepick-month-header,
  .datepick-popup .datepick-month-header {
    margin-bottom: 8px !important;
  }
}

/* OpenClaw: room-page inline availability calendar mobile fix */
@media (max-width: 768px) {
  .single-mphb_room_type .mphb-calendar.inlinePicker,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-month-row,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-month {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick {
    padding: 0 !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-month {
    margin: 0 !important;
    padding: 10px !important;
    border-left-width: 0 !important;
    border-right-width: 0 !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-month table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 4px 6px !important;
    margin: 0 !important;
    float: none !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-month th,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-month td {
    width: 14.285% !important;
    max-width: 14.285% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    vertical-align: top !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick td a,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick td span {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    border-radius: 12px !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick .mphb-date-cell__price,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick .mphb-calendar-price,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick .mphb-price,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick small {
    font-size: 10px !important;
    line-height: 1.05 !important;
  }
}

/* OpenClaw: inline room availability calendar mobile tightening + controls */
@media (max-width: 768px) {
  .single-mphb_room_type .mphb-calendar.inlinePicker,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-month-row,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-month,
  .single-mphb_room_type .mphb-calendar.inlinePicker table,
  .single-mphb_room_type .mphb-calendar.inlinePicker thead,
  .single-mphb_room_type .mphb-calendar.inlinePicker tbody,
  .single-mphb_room_type .mphb-calendar.inlinePicker tr {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker table {
    display: table !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker thead {
    display: table-header-group !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker tbody {
    display: table-row-group !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker tr {
    display: table-row !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker th,
  .single-mphb_room_type .mphb-calendar.inlinePicker td {
    display: table-cell !important;
    width: 14.285714% !important;
    min-width: 0 !important;
    max-width: 14.285714% !important;
    padding: 0 !important;
    vertical-align: top !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-month {
    padding: 10px !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-month table {
    margin: 0 !important;
    float: none !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick td a,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick td span {
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    min-width: 0 !important;
    border-radius: 0 !important;
    margin: 0 !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick td .mphb-date-cell__price,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick td .mphb-calendar-price,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick td .mphb-price,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick td small {
    font-size: 11px !important;
    line-height: 1.05 !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-nav {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    background: linear-gradient(180deg, #fffdf9 0%, #f7efe3 100%) !important;
    border-bottom: 1px solid #eadfce !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-nav a.datepick-cmd {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    border-radius: 14px !important;
    text-decoration: none !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-nav a.datepick-cmd.datepick-cmd-prev,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-nav a.datepick-cmd.datepick-cmd-next {
    background: linear-gradient(135deg, #6c8f79 0%, #4f745f 100%) !important;
    border: 1px solid #4f745f !important;
    color: #fff !important;
    box-shadow: 0 10px 18px rgba(79, 116, 95, 0.22) !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-nav a.datepick-cmd.datepick-cmd-prev:before,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-nav a.datepick-cmd.datepick-cmd-next:before {
    color: #fff !important;
    font-size: 24px !important;
    font-weight: 800 !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-nav a.datepick-cmd.datepick-cmd-current,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-nav a.datepick-cmd.datepick-cmd-today {
    width: auto !important;
    min-width: 0 !important;
    justify-self: stretch !important;
    background: linear-gradient(135deg, #f6efe4 0%, #fffdf9 100%) !important;
    border: 1px solid #ded2c0 !important;
    color: #42594d !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 12px rgba(66, 47, 28, 0.08) !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-month-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 0 12px !important;
    margin-bottom: 8px !important;
    background: transparent !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-month-header select,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-month-header .datepick-month-year,
  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-month-header span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
    padding: 0 14px !important;
    border: 1px solid #e4d6c3 !important;
    border-radius: 12px !important;
    background: #fffdfa !important;
    box-shadow: 0 1px 2px rgba(94,72,40,0.06) !important;
    color: #2f2b26 !important;
    font-family: "Playfair Display", serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
  }

  .single-mphb_room_type .mphb-calendar.inlinePicker .datepick-month-header select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    width: 100% !important;
    padding-right: 36px !important;
    background-image: linear-gradient(45deg, transparent 50%, #8c7d68 50%), linear-gradient(135deg, #8c7d68 50%, transparent 50%) !important;
    background-position: calc(100% - 18px) calc(50% - 1px), calc(100% - 12px) calc(50% - 1px) !important;
    background-size: 6px 6px, 6px 6px !important;
    background-repeat: no-repeat !important;
  }
}

/* OpenClaw polish: Exciting Experiences Around page (page-id-791) */
.page-id-791 .site-main,
.page-id-791 .entry-content {
  overflow: hidden;
}

.page-id-791 .entry-content > *:not(.dpbv-experience-page) {
  max-width: 1180px;
}

.page-id-791 .dpbv-experience-page {
  --dpbv-primary: #0f766e;
  --dpbv-primary-dark: #0b4f4a;
  --dpbv-accent: #f59e0b;
  --dpbv-sand: #fff7ed;
  --dpbv-soft: #f0fdfa;
  --dpbv-text: #24313f;
  --dpbv-muted: #64748b;
  --dpbv-card: #ffffff;
  --dpbv-border: rgba(15, 118, 110, .14);
  --dpbv-shadow: 0 18px 45px rgba(15, 76, 92, .12);
  color: var(--dpbv-text);
  max-width: 1180px;
  margin: 0 auto 48px;
  padding: 0 18px;
}

.page-id-791 .dpbv-exp-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 34px;
  padding: clamp(36px, 7vw, 84px) clamp(22px, 6vw, 72px);
  color: #fff;
  background:
    linear-gradient(135deg, rgba(9, 68, 72, .92), rgba(15, 118, 110, .78)),
    radial-gradient(circle at 82% 18%, rgba(245, 158, 11, .46), transparent 34%),
    linear-gradient(135deg, #0f766e, #164e63);
  box-shadow: var(--dpbv-shadow);
}

.page-id-791 .dpbv-exp-hero::before,
.page-id-791 .dpbv-exp-hero::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  background: rgba(255, 255, 255, .12);
  z-index: -1;
}

.page-id-791 .dpbv-exp-hero::before {
  width: 220px;
  height: 220px;
  right: -70px;
  top: -60px;
}

.page-id-791 .dpbv-exp-hero::after {
  width: 150px;
  height: 150px;
  left: -45px;
  bottom: -55px;
}

.page-id-791 .dpbv-exp-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-bottom: 14px;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, .17);
  color: inherit;
}

.page-id-791 .dpbv-exp-hero h1 {
  max-width: 850px;
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(34px, 6vw, 66px);
  line-height: .98;
  letter-spacing: -0.045em;
}

.page-id-791 .dpbv-exp-hero p {
  max-width: 720px;
  margin: 0;
  color: rgba(255, 255, 255, .9);
  font-size: clamp(16px, 2vw, 21px);
  line-height: 1.65;
}

.page-id-791 .dpbv-exp-hero-actions,
.page-id-791 .dpbv-exp-cta .dpbv-exp-btn {
  margin-top: 26px;
}

.page-id-791 .dpbv-exp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 8px 8px 0 0;
  padding: 13px 22px;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none !important;
  line-height: 1;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.page-id-791 .dpbv-exp-btn:hover {
  transform: translateY(-2px);
}

.page-id-791 .dpbv-exp-btn-primary {
  color: #fff !important;
  background: linear-gradient(135deg, var(--dpbv-accent), #f97316);
  box-shadow: 0 12px 26px rgba(249, 115, 22, .28);
}

.page-id-791 .dpbv-exp-btn-secondary {
  color: #fff !important;
  background: rgba(255, 255, 255, .16);
  border: 1px solid rgba(255, 255, 255, .35);
}

.page-id-791 .dpbv-exp-btn-light {
  color: var(--dpbv-primary-dark) !important;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 76, 92, .16);
}

.page-id-791 .dpbv-exp-intro-card,
.page-id-791 .dpbv-exp-card,
.page-id-791 .dpbv-exp-cta {
  background: var(--dpbv-card);
  border: 1px solid var(--dpbv-border);
  box-shadow: var(--dpbv-shadow);
}

.page-id-791 .dpbv-exp-intro-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 26px;
  align-items: center;
  margin: 28px 0;
  padding: clamp(22px, 4vw, 36px);
  border-radius: 28px;
}

.page-id-791 .dpbv-exp-intro-card h2,
.page-id-791 .dpbv-exp-card h2,
.page-id-791 .dpbv-exp-redang h2,
.page-id-791 .dpbv-exp-cta h2 {
  margin: 0 0 10px;
  color: var(--dpbv-primary-dark);
  line-height: 1.15;
  letter-spacing: -0.025em;
}

.page-id-791 .dpbv-exp-intro-card p,
.page-id-791 .dpbv-exp-card p,
.page-id-791 .dpbv-exp-redang p,
.page-id-791 .dpbv-exp-cta p {
  margin: 0;
  color: var(--dpbv-muted);
  line-height: 1.75;
}

.page-id-791 .dpbv-exp-highlight,
.page-id-791 .dpbv-exp-distance-badge {
  display: grid;
  place-items: center;
  min-height: 150px;
  border-radius: 24px;
  text-align: center;
  background: linear-gradient(135deg, var(--dpbv-soft), var(--dpbv-sand));
}

.page-id-791 .dpbv-exp-highlight span,
.page-id-791 .dpbv-exp-distance-badge span {
  color: var(--dpbv-muted);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.page-id-791 .dpbv-exp-highlight strong,
.page-id-791 .dpbv-exp-distance-badge strong {
  color: var(--dpbv-primary);
  font-size: clamp(36px, 5vw, 52px);
  line-height: 1;
}

.page-id-791 .dpbv-exp-highlight small {
  color: var(--dpbv-text);
  font-weight: 700;
}

.page-id-791 .dpbv-exp-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.page-id-791 .dpbv-exp-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 26px;
  border-radius: 28px;
}

.page-id-791 .dpbv-exp-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 18px;
  border-radius: 20px;
  font-size: 28px;
  background: linear-gradient(135deg, var(--dpbv-soft), #fff);
  box-shadow: inset 0 0 0 1px var(--dpbv-border);
}

.page-id-791 .dpbv-exp-card ul {
  display: grid;
  gap: 10px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.page-id-791 .dpbv-exp-card li {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 13px 14px;
  border-radius: 16px;
  background: #f8fafc;
}

.page-id-791 .dpbv-exp-card li span {
  font-weight: 750;
  color: var(--dpbv-text);
}

.page-id-791 .dpbv-exp-card li strong {
  flex: 0 0 auto;
  padding: 6px 10px;
  border-radius: 999px;
  color: var(--dpbv-primary-dark);
  background: #ccfbf1;
  font-size: 13px;
}

.page-id-791 .dpbv-exp-redang {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 28px;
  align-items: center;
  margin-top: 24px;
  padding: clamp(26px, 5vw, 46px);
  border-radius: 32px;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(14, 116, 144, .94), rgba(15, 118, 110, .9)),
    radial-gradient(circle at 90% 10%, rgba(245, 158, 11, .38), transparent 36%);
  box-shadow: var(--dpbv-shadow);
}

.page-id-791 .dpbv-exp-redang h2,
.page-id-791 .dpbv-exp-redang p {
  color: #fff;
}

.page-id-791 .dpbv-exp-redang p {
  color: rgba(255, 255, 255, .9);
}

.page-id-791 .dpbv-exp-distance-badge {
  background: rgba(255, 255, 255, .16);
  border: 1px solid rgba(255, 255, 255, .28);
}

.page-id-791 .dpbv-exp-distance-badge span,
.page-id-791 .dpbv-exp-distance-badge strong {
  color: #fff;
}

.page-id-791 .dpbv-exp-cta {
  margin-top: 24px;
  padding: clamp(26px, 5vw, 44px);
  border-radius: 32px;
  text-align: center;
  background: linear-gradient(180deg, #fff, var(--dpbv-sand));
}

.page-id-791 .dpbv-exp-cta p {
  max-width: 720px;
  margin: 0 auto;
}

@media (max-width: 900px) {
  .page-id-791 .dpbv-exp-grid,
  .page-id-791 .dpbv-exp-intro-card,
  .page-id-791 .dpbv-exp-redang {
    grid-template-columns: 1fr;
  }

  .page-id-791 .dpbv-exp-highlight,
  .page-id-791 .dpbv-exp-distance-badge {
    min-height: 130px;
  }
}

@media (max-width: 600px) {
  .page-id-791 .dpbv-experience-page {
    padding: 0 12px;
    margin-bottom: 32px;
  }

  .page-id-791 .dpbv-exp-hero,
  .page-id-791 .dpbv-exp-redang,
  .page-id-791 .dpbv-exp-cta {
    border-radius: 24px;
  }

  .page-id-791 .dpbv-exp-hero {
    padding: 34px 20px;
  }

  .page-id-791 .dpbv-exp-btn {
    width: 100%;
    margin-right: 0;
  }

  .page-id-791 .dpbv-exp-card,
  .page-id-791 .dpbv-exp-intro-card {
    padding: 20px;
    border-radius: 22px;
  }

  .page-id-791 .dpbv-exp-card li {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
}

/* OpenClaw polish: Pulau Redang page (page-id-1405) */
.page-id-1405 .entry-content,
.page-id-1405 .site-main { overflow: hidden; }

.page-id-1405 .dpbv-redang-page {
  --redang-primary: #0e7490;
  --redang-deep: #083344;
  --redang-teal: #0f766e;
  --redang-aqua: #67e8f9;
  --redang-sand: #fff7ed;
  --redang-soft: #ecfeff;
  --redang-accent: #f59e0b;
  --redang-text: #20313f;
  --redang-muted: #64748b;
  --redang-border: rgba(14, 116, 144, .16);
  --redang-shadow: 0 20px 48px rgba(8, 51, 68, .14);
  max-width: 1180px;
  margin: 0 auto 48px;
  padding: 0 18px;
  color: var(--redang-text);
}

.page-id-1405 .dpbv-redang-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
  gap: 24px;
  align-items: stretch;
  min-height: 520px;
  padding: clamp(18px, 3vw, 28px);
  border-radius: 36px;
  background:
    radial-gradient(circle at 8% 12%, rgba(103, 232, 249, .28), transparent 30%),
    linear-gradient(135deg, #083344, #0e7490 58%, #0f766e);
  box-shadow: var(--redang-shadow);
  overflow: hidden;
}

.page-id-1405 .dpbv-redang-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(20px, 5vw, 54px);
  color: #fff;
}

.page-id-1405 .dpbv-redang-eyebrow {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 14px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.17);
  color: inherit;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.page-id-1405 .dpbv-redang-hero h1 {
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(38px, 6vw, 72px);
  line-height: .95;
  letter-spacing: -.055em;
}

.page-id-1405 .dpbv-redang-hero p {
  max-width: 680px;
  margin: 0;
  color: rgba(255,255,255,.9);
  font-size: clamp(16px, 2vw, 21px);
  line-height: 1.7;
}

.page-id-1405 .dpbv-redang-hero-media {
  min-height: 420px;
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(8,51,68,.05), rgba(8,51,68,.34)),
    url('https://www.dpenarikbalivilla.com/wp-content/uploads/2025/05/Redang_Turtle.png') center / cover no-repeat;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.22), 0 18px 40px rgba(8,51,68,.24);
}

.page-id-1405 .dpbv-redang-actions { margin-top: 24px; }

.page-id-1405 .dpbv-redang-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 8px 8px 0 0;
  padding: 13px 22px;
  border-radius: 999px;
  font-weight: 850;
  line-height: 1;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.page-id-1405 .dpbv-redang-btn:hover { transform: translateY(-2px); }

.page-id-1405 .dpbv-redang-btn-primary {
  color: #fff !important;
  background: linear-gradient(135deg, var(--redang-accent), #f97316);
  box-shadow: 0 12px 28px rgba(249, 115, 22, .28);
}

.page-id-1405 .dpbv-redang-btn-secondary {
  color: #fff !important;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.34);
}

.page-id-1405 .dpbv-redang-btn-light {
  color: var(--redang-deep) !important;
  background: #fff;
  box-shadow: 0 10px 24px rgba(8,51,68,.16);
}

.page-id-1405 .dpbv-redang-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: -36px auto 28px;
  max-width: 920px;
  position: relative;
  z-index: 2;
}

.page-id-1405 .dpbv-redang-stats div,
.page-id-1405 .dpbv-redang-intro,
.page-id-1405 .dpbv-redang-card,
.page-id-1405 .dpbv-redang-video-card,
.page-id-1405 .dpbv-redang-location,
.page-id-1405 .dpbv-redang-list-card,
.page-id-1405 .dpbv-redang-cta {
  background: #fff;
  border: 1px solid var(--redang-border);
  box-shadow: var(--redang-shadow);
}

.page-id-1405 .dpbv-redang-stats div {
  padding: 18px;
  border-radius: 22px;
  text-align: center;
}

.page-id-1405 .dpbv-redang-stats span {
  display: block;
  color: var(--redang-muted);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.page-id-1405 .dpbv-redang-stats strong {
  display: block;
  margin-top: 6px;
  color: var(--redang-primary);
  font-size: clamp(26px, 4vw, 42px);
  line-height: 1;
}

.page-id-1405 .dpbv-redang-intro,
.page-id-1405 .dpbv-redang-video-card,
.page-id-1405 .dpbv-redang-location,
.page-id-1405 .dpbv-redang-cta {
  margin-top: 24px;
  padding: clamp(24px, 5vw, 44px);
  border-radius: 32px;
}

.page-id-1405 .dpbv-redang-intro h2,
.page-id-1405 .dpbv-redang-card h2,
.page-id-1405 .dpbv-redang-video-copy h2,
.page-id-1405 .dpbv-redang-location h2,
.page-id-1405 .dpbv-redang-cta h2 {
  margin: 0 0 10px;
  color: var(--redang-deep);
  line-height: 1.15;
  letter-spacing: -.03em;
}

.page-id-1405 .dpbv-redang-intro p,
.page-id-1405 .dpbv-redang-card p,
.page-id-1405 .dpbv-redang-video-copy p,
.page-id-1405 .dpbv-redang-location p,
.page-id-1405 .dpbv-redang-cta p {
  margin: 0;
  color: var(--redang-muted);
  line-height: 1.75;
}

.page-id-1405 .dpbv-redang-video-card {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(280px, 1.15fr);
  gap: 24px;
  align-items: center;
  background: linear-gradient(180deg, #fff, var(--redang-soft));
}

.page-id-1405 .dpbv-redang-video-card .dpbv-redang-eyebrow,
.page-id-1405 .dpbv-redang-location .dpbv-redang-eyebrow,
.page-id-1405 .dpbv-redang-cta .dpbv-redang-eyebrow {
  color: var(--redang-primary);
  background: #cffafe;
}

.page-id-1405 .dpbv-redang-tiktok {
  display: flex;
  justify-content: center;
  overflow: hidden;
}

.page-id-1405 .dpbv-redang-tiktok .tiktok-embed {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 605px !important;
  margin: 0 auto !important;
  border-radius: 22px;
}

.page-id-1405 .dpbv-redang-grid,
.page-id-1405 .dpbv-redang-list-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 24px;
}

.page-id-1405 .dpbv-redang-card,
.page-id-1405 .dpbv-redang-list-card {
  padding: 26px;
  border-radius: 28px;
}

.page-id-1405 .dpbv-redang-card-accent {
  background: linear-gradient(180deg, #fff, var(--redang-sand));
}

.page-id-1405 .dpbv-redang-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 18px;
  border-radius: 20px;
  background: linear-gradient(135deg, var(--redang-soft), #fff);
  box-shadow: inset 0 0 0 1px var(--redang-border);
  font-size: 28px;
}

.page-id-1405 .dpbv-redang-card ul,
.page-id-1405 .dpbv-redang-list-card ul {
  display: grid;
  gap: 10px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.page-id-1405 .dpbv-redang-card li,
.page-id-1405 .dpbv-redang-list-card li {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 13px 14px;
  border-radius: 16px;
  background: #f8fafc;
}

.page-id-1405 .dpbv-redang-card li span,
.page-id-1405 .dpbv-redang-list-card li span {
  color: var(--redang-text);
  font-weight: 750;
}

.page-id-1405 .dpbv-redang-list-card small {
  display: block;
  margin-top: 2px;
  color: var(--redang-muted);
  font-size: 12px;
  font-weight: 650;
}

.page-id-1405 .dpbv-redang-card li strong,
.page-id-1405 .dpbv-redang-list-card li strong {
  flex: 0 0 auto;
  padding: 6px 10px;
  border-radius: 999px;
  color: var(--redang-deep);
  background: #cffafe;
  font-size: 13px;
}

.page-id-1405 .dpbv-redang-card .dpbv-redang-btn { margin-top: 22px; }

.page-id-1405 .dpbv-redang-location {
  background:
    radial-gradient(circle at 92% 12%, rgba(103,232,249,.24), transparent 30%),
    #fff;
}

.page-id-1405 .dpbv-redang-cta {
  text-align: center;
  color: #fff;
  background:
    radial-gradient(circle at 88% 8%, rgba(245,158,11,.34), transparent 32%),
    linear-gradient(135deg, #083344, #0e7490, #0f766e);
}

.page-id-1405 .dpbv-redang-cta h2,
.page-id-1405 .dpbv-redang-cta p { color: #fff; }
.page-id-1405 .dpbv-redang-cta p { max-width: 760px; margin: 0 auto; color: rgba(255,255,255,.9); }
.page-id-1405 .dpbv-redang-cta .dpbv-redang-eyebrow { color: #fff; background: rgba(255,255,255,.16); }

@media (max-width: 900px) {
  .page-id-1405 .dpbv-redang-hero,
  .page-id-1405 .dpbv-redang-video-card,
  .page-id-1405 .dpbv-redang-grid,
  .page-id-1405 .dpbv-redang-list-grid {
    grid-template-columns: 1fr;
  }

  .page-id-1405 .dpbv-redang-hero { min-height: auto; }
  .page-id-1405 .dpbv-redang-hero-media { min-height: 340px; }
}

@media (max-width: 600px) {
  .page-id-1405 .dpbv-redang-page {
    padding: 0 12px;
    margin-bottom: 32px;
  }

  .page-id-1405 .dpbv-redang-hero,
  .page-id-1405 .dpbv-redang-intro,
  .page-id-1405 .dpbv-redang-video-card,
  .page-id-1405 .dpbv-redang-location,
  .page-id-1405 .dpbv-redang-cta {
    border-radius: 24px;
  }

  .page-id-1405 .dpbv-redang-hero-copy,
  .page-id-1405 .dpbv-redang-card,
  .page-id-1405 .dpbv-redang-list-card {
    padding: 20px;
  }

  .page-id-1405 .dpbv-redang-hero-media { min-height: 270px; border-radius: 20px; }

  .page-id-1405 .dpbv-redang-stats {
    grid-template-columns: 1fr;
    margin-top: 14px;
  }

  .page-id-1405 .dpbv-redang-btn {
    width: 100%;
    margin-right: 0;
  }

  .page-id-1405 .dpbv-redang-card li,
  .page-id-1405 .dpbv-redang-list-card li {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

/* OpenClaw polish: global footer */
.luviana-child .site-footer {
  --footer-deep: #082f2f;
  --footer-deeper: #051f24;
  --footer-teal: #0f766e;
  --footer-gold: #f59e0b;
  --footer-soft: rgba(255, 255, 255, .78);
  --footer-muted: rgba(255, 255, 255, .62);
  --footer-line: rgba(255, 255, 255, .12);
  margin-top: 56px;
  color: #fff;
  background:
    radial-gradient(circle at 10% 8%, rgba(20, 184, 166, .24), transparent 30%),
    radial-gradient(circle at 88% 12%, rgba(245, 158, 11, .18), transparent 28%),
    linear-gradient(135deg, var(--footer-deeper), var(--footer-deep) 52%, #064e3b);
  overflow: hidden;
}

.luviana-child .site-footer .footer-widgets {
  padding: clamp(38px, 6vw, 72px) 0 34px;
  background: transparent;
}

.luviana-child .site-footer .wrapper {
  width: min(1180px, calc(100% - 32px));
}

.luviana-child .site-footer .footer-widgets-wrapper {
  display: grid;
  grid-template-columns: minmax(260px, 1.25fr) repeat(3, minmax(190px, .85fr));
  gap: 22px;
  align-items: stretch;
}

.luviana-child .site-footer .widget-area,
.luviana-child .site-footer .widget {
  min-width: 0;
}

.luviana-child .site-footer .widget_block > div,
.luviana-child .site-footer .dpbv-footer-brand,
.luviana-child .site-footer .dpbv-footer-links,
.luviana-child .site-footer .dpbv-footer-contact {
  height: 100%;
}

.luviana-child .site-footer .dpbv-footer-brand,
.luviana-child .site-footer .dpbv-footer-links,
.luviana-child .site-footer .dpbv-footer-contact {
  padding: 24px;
  border: 1px solid var(--footer-line);
  border-radius: 26px;
  background: rgba(255, 255, 255, .075);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
  backdrop-filter: blur(10px);
}

.luviana-child .site-footer .dpbv-footer-brand {
  background: linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.065));
}

.luviana-child .site-footer .dpbv-footer-logo-link {
  display: inline-flex;
  padding: 8px;
  border-radius: 22px;
  background: rgba(255,255,255,.12);
}

.luviana-child .site-footer .dpbv-footer-logo {
  display: block;
  width: 86px;
  height: 86px;
  object-fit: contain;
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(0,0,0,.22);
}

.luviana-child .site-footer h3,
.luviana-child .site-footer h4 {
  margin: 16px 0 12px;
  color: #fff;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.luviana-child .site-footer h3 {
  font-size: 24px;
}

.luviana-child .site-footer h4 {
  position: relative;
  padding-bottom: 12px;
  font-size: 17px;
  font-weight: 850;
}

.luviana-child .site-footer h4::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 46px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--footer-gold), #f97316);
}

.luviana-child .site-footer p {
  margin: 0 0 12px;
  color: var(--footer-soft);
  line-height: 1.72;
}

.luviana-child .site-footer a {
  color: #fff;
  text-decoration: none;
}

.luviana-child .site-footer a:hover {
  color: #fde68a;
}

.luviana-child .site-footer .dpbv-footer-payment {
  margin-top: 18px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, .88);
  color: #12313b;
}

.luviana-child .site-footer .dpbv-footer-payment span {
  display: block;
  margin-bottom: 8px;
  color: #334155;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.luviana-child .site-footer .dpbv-footer-payment img {
  display: block;
  width: min(100%, 260px);
  height: auto;
}

.luviana-child .site-footer ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.luviana-child .site-footer li {
  margin: 0;
  color: var(--footer-soft);
}

.luviana-child .site-footer .dpbv-footer-links a {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 9px 10px;
  border-radius: 14px;
  color: var(--footer-soft);
  background: rgba(255,255,255,.045);
  transition: background .2s ease, transform .2s ease, color .2s ease;
}

.luviana-child .site-footer .dpbv-footer-links a:hover {
  color: #fff;
  background: rgba(255,255,255,.12);
  transform: translateX(3px);
}

.luviana-child .site-footer .dpbv-footer-links a span,
.luviana-child .site-footer .dpbv-footer-contact p > span {
  flex: 0 0 auto;
  width: 22px;
  text-align: center;
}

.luviana-child .site-footer .dpbv-footer-contact p {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-bottom: 14px;
}

.luviana-child .site-footer .dpbv-footer-contact strong {
  color: #fff;
}

.luviana-child .site-footer .dpbv-footer-wa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 16px;
  border-radius: 999px;
  color: #fff !important;
  font-weight: 850;
  background: linear-gradient(135deg, #22c55e, #16a34a);
  box-shadow: 0 10px 22px rgba(34, 197, 94, .22);
}

.luviana-child .site-footer .site-info-wrapper {
  padding: 18px 0;
  border-top: 1px solid var(--footer-line);
  background: rgba(0, 0, 0, .18);
}

.luviana-child .site-footer .site-info-wrapper .wrapper {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
}

.luviana-child .site-footer .site-info {
  color: var(--footer-muted);
  font-size: 14px;
  line-height: 1.55;
}

.luviana-child .site-footer .site-info small {
  color: rgba(255,255,255,.52);
}

.luviana-child .site-footer .footer-menu-container,
.luviana-child .site-footer .footer-menu {
  margin: 0;
}

.luviana-child .site-footer .footer-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
  padding: 0;
}

.luviana-child .site-footer .footer-menu li {
  margin: 0;
}

.luviana-child .site-footer .footer-menu a {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  min-height: 38px;
  padding: 9px 12px;
  border: 1px solid var(--footer-line);
  border-radius: 999px;
  color: var(--footer-soft);
  background: rgba(255,255,255,.06);
  font-size: 13px;
  font-weight: 750;
}

.luviana-child .site-footer .footer-menu a:hover {
  color: #fff;
  background: rgba(255,255,255,.14);
}

.luviana-child .site-footer .social-icon-fixer__icon svg {
  display: block;
  width: 15px;
  height: 15px;
  fill: currentColor;
}

@media (max-width: 1050px) {
  .luviana-child .site-footer .footer-widgets-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .luviana-child .site-footer {
    margin-top: 38px;
  }

  .luviana-child .site-footer .wrapper {
    width: min(100% - 24px, 1180px);
  }

  .luviana-child .site-footer .footer-widgets-wrapper {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .luviana-child .site-footer .dpbv-footer-brand,
  .luviana-child .site-footer .dpbv-footer-links,
  .luviana-child .site-footer .dpbv-footer-contact {
    padding: 20px;
    border-radius: 22px;
  }

  .luviana-child .site-footer .dpbv-footer-brand {
    text-align: center;
  }

  .luviana-child .site-footer .dpbv-footer-logo-link {
    margin: 0 auto;
  }

  .luviana-child .site-footer .dpbv-footer-payment img {
    margin: 0 auto;
  }

  .luviana-child .site-footer h4::after {
    left: 0;
  }

  .luviana-child .site-footer .site-info-wrapper .wrapper {
    flex-direction: column;
    text-align: center;
  }

  .luviana-child .site-footer .footer-menu {
    justify-content: center;
  }

  .luviana-child .site-footer .footer-menu a {
    min-height: 36px;
    padding: 8px 11px;
  }
}

@media (max-width: 420px) {
  .luviana-child .site-footer .footer-menu {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  .luviana-child .site-footer .footer-menu a {
    justify-content: center;
    width: 100%;
  }
}

/* OpenClaw polish: Deco Service page (page-id-1669) */
.page-id-1669 .entry-content,
.page-id-1669 .site-main { overflow: hidden; }

.page-id-1669 .dpbv-deco-page {
  --deco-ink: #3a1726;
  --deco-deep: #7f1d1d;
  --deco-rose: #e11d48;
  --deco-blush: #fff1f2;
  --deco-cream: #fff7ed;
  --deco-gold: #f59e0b;
  --deco-green: #22c55e;
  --deco-text: #2f2630;
  --deco-muted: #766776;
  --deco-border: rgba(225, 29, 72, .15);
  --deco-shadow: 0 20px 48px rgba(126, 34, 58, .14);
  max-width: 1180px;
  margin: 0 auto 48px;
  padding: 0 18px;
  color: var(--deco-text);
}

.page-id-1669 .dpbv-deco-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
  gap: 24px;
  min-height: 540px;
  padding: clamp(18px, 3vw, 28px);
  border-radius: 36px;
  background:
    radial-gradient(circle at 12% 10%, rgba(251, 113, 133, .28), transparent 30%),
    radial-gradient(circle at 90% 14%, rgba(245, 158, 11, .24), transparent 28%),
    linear-gradient(135deg, #3a1726, #881337 55%, #9f1239);
  box-shadow: var(--deco-shadow);
  overflow: hidden;
}

.page-id-1669 .dpbv-deco-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(20px, 5vw, 54px);
  color: #fff;
}

.page-id-1669 .dpbv-deco-eyebrow {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 14px;
  padding: 8px 14px;
  border-radius: 999px;
  color: inherit;
  background: rgba(255,255,255,.17);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.page-id-1669 .dpbv-deco-hero h1 {
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(38px, 6vw, 72px);
  line-height: .95;
  letter-spacing: -.055em;
}

.page-id-1669 .dpbv-deco-hero p {
  max-width: 680px;
  margin: 0;
  color: rgba(255,255,255,.9);
  font-size: clamp(16px, 2vw, 21px);
  line-height: 1.7;
}

.page-id-1669 .dpbv-deco-hero-image {
  min-height: 430px;
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(58,23,38,.05), rgba(58,23,38,.36)),
    url('https://www.dpenarikbalivilla.com/deco/hero-honeymoon.png') center / cover no-repeat;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.24), 0 18px 40px rgba(58,23,38,.25);
}

.page-id-1669 .dpbv-deco-actions { margin-top: 24px; }

.page-id-1669 .dpbv-deco-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 8px 8px 0 0;
  padding: 13px 22px;
  border-radius: 999px;
  font-weight: 850;
  line-height: 1;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.page-id-1669 .dpbv-deco-btn:hover { transform: translateY(-2px); }

.page-id-1669 .dpbv-deco-btn-primary {
  color: #fff !important;
  background: linear-gradient(135deg, var(--deco-green), #16a34a);
  box-shadow: 0 12px 28px rgba(34, 197, 94, .24);
}

.page-id-1669 .dpbv-deco-btn-secondary {
  color: #fff !important;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.34);
}

.page-id-1669 .dpbv-deco-btn-light {
  color: var(--deco-ink) !important;
  background: #fff;
  box-shadow: 0 10px 24px rgba(58,23,38,.18);
}

.page-id-1669 .dpbv-deco-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 920px;
  margin: -36px auto 28px;
  position: relative;
  z-index: 2;
}

.page-id-1669 .dpbv-deco-stats div,
.page-id-1669 .dpbv-deco-intro,
.page-id-1669 .dpbv-deco-package-section,
.page-id-1669 .dpbv-deco-card,
.page-id-1669 .dpbv-deco-video-section,
.page-id-1669 .dpbv-deco-faq-section,
.page-id-1669 .dpbv-deco-cta {
  background: #fff;
  border: 1px solid var(--deco-border);
  box-shadow: var(--deco-shadow);
}

.page-id-1669 .dpbv-deco-stats div {
  padding: 18px;
  border-radius: 22px;
  text-align: center;
}

.page-id-1669 .dpbv-deco-stats span,
.page-id-1669 .dpbv-deco-price span {
  display: block;
  color: var(--deco-muted);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.page-id-1669 .dpbv-deco-stats strong {
  display: block;
  margin-top: 6px;
  color: var(--deco-rose);
  font-size: clamp(26px, 4vw, 42px);
  line-height: 1;
}

.page-id-1669 .dpbv-deco-intro,
.page-id-1669 .dpbv-deco-package-section,
.page-id-1669 .dpbv-deco-video-section,
.page-id-1669 .dpbv-deco-faq-section,
.page-id-1669 .dpbv-deco-cta {
  margin-top: 24px;
  padding: clamp(24px, 5vw, 44px);
  border-radius: 32px;
}

.page-id-1669 .dpbv-deco-package-section,
.page-id-1669 .dpbv-deco-video-section {
  background: linear-gradient(180deg, #fff, var(--deco-blush));
}

.page-id-1669 .dpbv-deco-intro h2,
.page-id-1669 .dpbv-deco-package-section h2,
.page-id-1669 .dpbv-deco-section-head h2,
.page-id-1669 .dpbv-deco-cta h2,
.page-id-1669 .dpbv-deco-card h3 {
  margin: 0 0 10px;
  color: var(--deco-ink);
  line-height: 1.15;
  letter-spacing: -.03em;
}

.page-id-1669 .dpbv-deco-intro p,
.page-id-1669 .dpbv-deco-section-head p,
.page-id-1669 .dpbv-deco-card p,
.page-id-1669 .dpbv-deco-cta p {
  margin: 0;
  color: var(--deco-muted);
  line-height: 1.75;
}

.page-id-1669 .dpbv-deco-package-section > .dpbv-deco-eyebrow,
.page-id-1669 .dpbv-deco-section-head .dpbv-deco-eyebrow {
  color: var(--deco-rose);
  background: #ffe4e6;
}

.page-id-1669 .dpbv-deco-package-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 24px;
}

.page-id-1669 .dpbv-deco-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 28px;
}

.page-id-1669 .dpbv-deco-card img {
  width: 100%;
  height: 240px;
  object-fit: cover;
}

.page-id-1669 .dpbv-deco-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px;
}

.page-id-1669 .dpbv-deco-tag {
  width: fit-content;
  margin-bottom: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  color: #9f1239;
  background: #ffe4e6;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.page-id-1669 .dpbv-deco-card ul {
  display: grid;
  gap: 9px;
  margin: 12px 0 18px;
  padding: 0;
  list-style: none;
}

.page-id-1669 .dpbv-deco-card li {
  position: relative;
  padding-left: 25px;
  color: var(--deco-muted);
  line-height: 1.55;
}

.page-id-1669 .dpbv-deco-card li::before {
  content: "✨";
  position: absolute;
  left: 0;
  top: 0;
}

.page-id-1669 .dpbv-deco-price {
  margin-top: auto;
  margin-bottom: 16px;
  padding: 14px;
  border-radius: 18px;
  background: var(--deco-cream);
}

.page-id-1669 .dpbv-deco-price strong {
  display: block;
  margin-top: 4px;
  color: var(--deco-rose);
  font-size: 28px;
  line-height: 1;
}

.page-id-1669 .dpbv-deco-card .dpbv-deco-btn {
  width: 100%;
  margin-right: 0;
}

.page-id-1669 .dpbv-deco-section-head {
  max-width: 760px;
  margin: 0 auto 24px;
  text-align: center;
}

.page-id-1669 .dpbv-deco-video-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.page-id-1669 .dpbv-deco-video-grid video {
  width: 100%;
  border-radius: 24px;
  background: #111827;
  box-shadow: 0 16px 34px rgba(58,23,38,.14);
}

.page-id-1669 .dpbv-deco-tiktok {
  display: flex;
  justify-content: center;
  margin-top: 22px;
  overflow: hidden;
}

.page-id-1669 .dpbv-deco-tiktok .tiktok-embed {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 605px !important;
  margin: 0 auto !important;
  border-radius: 22px;
}

.page-id-1669 .dpbv-deco-faq-list {
  display: grid;
  gap: 12px;
  max-width: 820px;
  margin: 0 auto;
}

.page-id-1669 .dpbv-deco-faq-list details {
  border: 1px solid var(--deco-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(126,34,58,.07);
  overflow: hidden;
}

.page-id-1669 .dpbv-deco-faq-list summary {
  cursor: pointer;
  padding: 18px 20px;
  color: var(--deco-ink);
  font-weight: 850;
}

.page-id-1669 .dpbv-deco-faq-list details p {
  margin: 0;
  padding: 0 20px 18px;
  color: var(--deco-muted);
  line-height: 1.7;
}

.page-id-1669 .dpbv-deco-cta {
  text-align: center;
  color: #fff;
  background:
    radial-gradient(circle at 88% 8%, rgba(245,158,11,.34), transparent 32%),
    linear-gradient(135deg, #3a1726, #881337, #be123c);
}

.page-id-1669 .dpbv-deco-cta h2,
.page-id-1669 .dpbv-deco-cta p { color: #fff; }
.page-id-1669 .dpbv-deco-cta p { max-width: 760px; margin: 0 auto; color: rgba(255,255,255,.9); }
.page-id-1669 .dpbv-deco-cta .dpbv-deco-eyebrow { color: #fff; background: rgba(255,255,255,.16); }

@media (max-width: 950px) {
  .page-id-1669 .dpbv-deco-hero,
  .page-id-1669 .dpbv-deco-package-grid,
  .page-id-1669 .dpbv-deco-video-grid {
    grid-template-columns: 1fr;
  }

  .page-id-1669 .dpbv-deco-hero { min-height: auto; }
  .page-id-1669 .dpbv-deco-hero-image { min-height: 340px; order: -1; }
}

@media (max-width: 600px) {
  .page-id-1669 .dpbv-deco-page {
    padding: 0 12px;
    margin-bottom: 32px;
  }

  .page-id-1669 .dpbv-deco-hero,
  .page-id-1669 .dpbv-deco-intro,
  .page-id-1669 .dpbv-deco-package-section,
  .page-id-1669 .dpbv-deco-video-section,
  .page-id-1669 .dpbv-deco-faq-section,
  .page-id-1669 .dpbv-deco-cta {
    border-radius: 24px;
  }

  .page-id-1669 .dpbv-deco-hero-copy,
  .page-id-1669 .dpbv-deco-card-body {
    padding: 20px;
  }

  .page-id-1669 .dpbv-deco-hero-image {
    min-height: 270px;
    border-radius: 20px;
  }

  .page-id-1669 .dpbv-deco-stats {
    grid-template-columns: 1fr;
    margin-top: 14px;
  }

  .page-id-1669 .dpbv-deco-btn {
    width: 100%;
    margin-right: 0;
  }

  .page-id-1669 .dpbv-deco-card img {
    height: 220px;
  }
}

/* OpenClaw fix: footer mobile clipping/overflow */
.luviana-child .site-footer,
.luviana-child .site-footer * {
  box-sizing: border-box;
}

.luviana-child .site-footer {
  width: 100%;
  max-width: 100vw;
}

.luviana-child .site-footer .wrapper,
.luviana-child .site-footer .footer-widgets-wrapper,
.luviana-child .site-footer .widget-area,
.luviana-child .site-footer .widget,
.luviana-child .site-footer .widget_block,
.luviana-child .site-footer .widget_block > div,
.luviana-child .site-footer .dpbv-footer-brand,
.luviana-child .site-footer .dpbv-footer-links,
.luviana-child .site-footer .dpbv-footer-contact {
  max-width: 100%;
  min-width: 0;
}

.luviana-child .site-footer img,
.luviana-child .site-footer svg {
  max-width: 100%;
}

.luviana-child .site-footer a {
  overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 720px) {
  .luviana-child .site-footer .footer-widgets {
    padding-left: 0;
    padding-right: 0;
  }

  .luviana-child .site-footer .wrapper {
    width: 100%;
    max-width: 100%;
    padding-left: 12px;
    padding-right: 12px;
    margin-left: auto;
    margin-right: auto;
  }

  .luviana-child .site-footer .footer-widgets-wrapper {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .luviana-child .site-footer .dpbv-footer-brand,
  .luviana-child .site-footer .dpbv-footer-links,
  .luviana-child .site-footer .dpbv-footer-contact {
    width: 100%;
  }

  .luviana-child .site-footer .footer-menu-container {
    width: 100%;
    overflow: hidden;
  }

  .luviana-child .site-footer .footer-menu {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 420px) {
  .luviana-child .site-footer .wrapper {
    padding-left: 10px;
    padding-right: 10px;
  }

  .luviana-child .site-footer .footer-menu {
    grid-template-columns: 1fr;
  }
}

/* OpenClaw polish: Location page (page-id-702) */
.page-id-702 .entry-content,
.page-id-702 .site-main { overflow: hidden; }

.page-id-702 .dpbv-location-page,
.page-id-702 .dpbv-location-page * { box-sizing: border-box; }

.page-id-702 .dpbv-location-page {
  --loc-deep: #083344;
  --loc-teal: #0f766e;
  --loc-blue: #0e7490;
  --loc-gold: #f59e0b;
  --loc-soft: #ecfeff;
  --loc-sand: #fff7ed;
  --loc-text: #24313f;
  --loc-muted: #64748b;
  --loc-border: rgba(14, 116, 144, .16);
  --loc-shadow: 0 20px 48px rgba(8, 51, 68, .14);
  max-width: 1180px;
  margin: 0 auto 48px;
  padding: 0 18px;
  color: var(--loc-text);
}

.page-id-702 .dpbv-location-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 36px;
  padding: clamp(38px, 7vw, 88px) clamp(22px, 6vw, 76px);
  color: #fff;
  background:
    linear-gradient(135deg, rgba(8, 51, 68, .94), rgba(15, 118, 110, .82)),
    radial-gradient(circle at 88% 12%, rgba(245, 158, 11, .34), transparent 32%),
    linear-gradient(135deg, #083344, #0e7490, #0f766e);
  box-shadow: var(--loc-shadow);
}

.page-id-702 .dpbv-location-hero::before,
.page-id-702 .dpbv-location-hero::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  z-index: -1;
}

.page-id-702 .dpbv-location-hero::before { width: 220px; height: 220px; right: -70px; top: -70px; }
.page-id-702 .dpbv-location-hero::after { width: 160px; height: 160px; left: -45px; bottom: -60px; }

.page-id-702 .dpbv-location-eyebrow {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 14px;
  padding: 8px 14px;
  border-radius: 999px;
  color: inherit;
  background: rgba(255,255,255,.17);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.page-id-702 .dpbv-location-hero h1 {
  max-width: 850px;
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(36px, 6vw, 70px);
  line-height: .95;
  letter-spacing: -.055em;
}

.page-id-702 .dpbv-location-hero p {
  max-width: 760px;
  margin: 0;
  color: rgba(255,255,255,.9);
  font-size: clamp(16px, 2vw, 21px);
  line-height: 1.7;
}

.page-id-702 .dpbv-location-actions { margin-top: 24px; }

.page-id-702 .dpbv-location-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 8px 8px 0 0;
  padding: 13px 22px;
  border-radius: 999px;
  font-weight: 850;
  line-height: 1;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.page-id-702 .dpbv-location-btn:hover { transform: translateY(-2px); }

.page-id-702 .dpbv-location-btn-primary {
  color: #fff !important;
  background: linear-gradient(135deg, var(--loc-gold), #f97316);
  box-shadow: 0 12px 28px rgba(249, 115, 22, .28);
}

.page-id-702 .dpbv-location-btn-secondary,
.page-id-702 .dpbv-location-btn-outline-light {
  color: #fff !important;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.34);
}

.page-id-702 .dpbv-location-btn-waze {
  color: #fff !important;
  background: linear-gradient(135deg, #22c55e, #16a34a);
  box-shadow: 0 12px 28px rgba(34, 197, 94, .22);
}

.page-id-702 .dpbv-location-btn-whatsapp {
  width: 100%;
  color: #fff !important;
  background: linear-gradient(135deg, #22c55e, #16a34a);
}

.page-id-702 .dpbv-location-btn-light {
  color: var(--loc-deep) !important;
  background: #fff;
  box-shadow: 0 10px 24px rgba(8,51,68,.16);
}

.page-id-702 .dpbv-location-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 920px;
  margin: -36px auto 28px;
  position: relative;
  z-index: 2;
}

.page-id-702 .dpbv-location-stats div,
.page-id-702 .dpbv-location-map-card,
.page-id-702 .dpbv-location-contact-card,
.page-id-702 .dpbv-location-tips,
.page-id-702 .dpbv-location-cta {
  background: #fff;
  border: 1px solid var(--loc-border);
  box-shadow: var(--loc-shadow);
}

.page-id-702 .dpbv-location-stats div {
  padding: 18px;
  border-radius: 22px;
  text-align: center;
}

.page-id-702 .dpbv-location-stats span {
  display: block;
  color: var(--loc-muted);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.page-id-702 .dpbv-location-stats strong {
  display: block;
  margin-top: 6px;
  color: var(--loc-teal);
  font-size: clamp(24px, 3.6vw, 38px);
  line-height: 1;
}

.page-id-702 .dpbv-location-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: 24px;
  align-items: stretch;
}

.page-id-702 .dpbv-location-map-card,
.page-id-702 .dpbv-location-contact-card,
.page-id-702 .dpbv-location-tips,
.page-id-702 .dpbv-location-cta {
  border-radius: 32px;
  padding: clamp(22px, 4vw, 36px);
}

.page-id-702 .dpbv-location-map-head .dpbv-location-eyebrow,
.page-id-702 .dpbv-location-contact-card .dpbv-location-eyebrow,
.page-id-702 .dpbv-location-section-head .dpbv-location-eyebrow {
  color: var(--loc-blue);
  background: #cffafe;
}

.page-id-702 .dpbv-location-map-head h2,
.page-id-702 .dpbv-location-contact-card h2,
.page-id-702 .dpbv-location-section-head h2,
.page-id-702 .dpbv-location-cta h2,
.page-id-702 .dpbv-location-tip-grid h3 {
  margin: 0 0 10px;
  color: var(--loc-deep);
  line-height: 1.15;
  letter-spacing: -.03em;
}

.page-id-702 .dpbv-location-map-head p,
.page-id-702 .dpbv-location-section-head p,
.page-id-702 .dpbv-location-cta p,
.page-id-702 .dpbv-location-tip-grid p {
  margin: 0;
  color: var(--loc-muted);
  line-height: 1.75;
}

.page-id-702 .dpbv-location-map-wrap {
  position: relative;
  width: 100%;
  min-height: 430px;
  margin-top: 22px;
  border-radius: 26px;
  overflow: hidden;
  background: var(--loc-soft);
  box-shadow: inset 0 0 0 1px var(--loc-border);
}

.page-id-702 .dpbv-location-map-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.page-id-702 .dpbv-location-map-actions { margin-top: 16px; }

.page-id-702 .dpbv-location-contact-list {
  display: grid;
  gap: 14px;
  margin: 22px 0 6px;
}

.page-id-702 .dpbv-location-contact-list p {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  margin: 0;
  padding: 15px;
  border-radius: 18px;
  background: #f8fafc;
  color: var(--loc-muted);
  line-height: 1.55;
}

.page-id-702 .dpbv-location-contact-list p > span { grid-row: span 2; text-align: center; }
.page-id-702 .dpbv-location-contact-list strong { color: var(--loc-deep); }
.page-id-702 .dpbv-location-contact-list a { color: var(--loc-teal); font-weight: 800; text-decoration: none; overflow-wrap: anywhere; }

.page-id-702 .dpbv-location-tips,
.page-id-702 .dpbv-location-cta { margin-top: 24px; }
.page-id-702 .dpbv-location-section-head { max-width: 760px; margin: 0 auto 24px; text-align: center; }

.page-id-702 .dpbv-location-tip-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.page-id-702 .dpbv-location-tip-grid article {
  padding: 22px;
  border: 1px solid var(--loc-border);
  border-radius: 24px;
  background: linear-gradient(180deg, #fff, var(--loc-soft));
}

.page-id-702 .dpbv-location-tip-grid article > span {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin-bottom: 14px;
  border-radius: 18px;
  background: #cffafe;
  font-size: 24px;
}

.page-id-702 .dpbv-location-cta {
  text-align: center;
  color: #fff;
  background:
    radial-gradient(circle at 88% 8%, rgba(245,158,11,.34), transparent 32%),
    linear-gradient(135deg, #083344, #0e7490, #0f766e);
}

.page-id-702 .dpbv-location-cta h2,
.page-id-702 .dpbv-location-cta p { color: #fff; }
.page-id-702 .dpbv-location-cta p { max-width: 760px; margin: 0 auto; color: rgba(255,255,255,.9); }
.page-id-702 .dpbv-location-cta .dpbv-location-eyebrow { color: #fff; background: rgba(255,255,255,.16); }

@media (max-width: 900px) {
  .page-id-702 .dpbv-location-grid,
  .page-id-702 .dpbv-location-tip-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .page-id-702 .dpbv-location-page {
    padding: 0 12px;
    margin-bottom: 32px;
  }

  .page-id-702 .dpbv-location-hero,
  .page-id-702 .dpbv-location-map-card,
  .page-id-702 .dpbv-location-contact-card,
  .page-id-702 .dpbv-location-tips,
  .page-id-702 .dpbv-location-cta {
    border-radius: 24px;
  }

  .page-id-702 .dpbv-location-hero {
    padding: 34px 20px;
  }

  .page-id-702 .dpbv-location-stats {
    grid-template-columns: 1fr;
    margin-top: 14px;
  }

  .page-id-702 .dpbv-location-btn {
    width: 100%;
    margin-right: 0;
  }

  .page-id-702 .dpbv-location-map-wrap {
    min-height: 320px;
    border-radius: 20px;
  }

  .page-id-702 .dpbv-location-contact-list p {
    padding: 14px;
  }
}

/* OpenClaw tweak: Location mobile readability */
.page-id-702 .dpbv-location-contact-list p {
  overflow: hidden;
}

.page-id-702 .dpbv-location-contact-list a {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.45;
}

@media (max-width: 600px) {
  .page-id-702 .dpbv-location-contact-list p {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: 8px;
  }

  .page-id-702 .dpbv-location-contact-list p > span {
    grid-row: auto;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: #cffafe;
    font-size: 22px;
  }

  .page-id-702 .dpbv-location-contact-list a[href^="mailto:"] {
    font-size: 14px;
  }

  .page-id-702 .dpbv-location-tip-grid article {
    text-align: center;
  }

  .page-id-702 .dpbv-location-tip-grid article > span {
    margin-left: auto;
    margin-right: auto;
  }
}

/* OpenClaw fix: Location contact card mobile wrapping */
.page-id-702 .dpbv-location-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  margin: 0;
  padding: 15px;
  border-radius: 18px;
  background: #f8fafc;
  color: var(--loc-muted);
  line-height: 1.55;
}

.page-id-702 .dpbv-location-contact-item > span {
  flex: 0 0 30px;
  text-align: center;
}

.page-id-702 .dpbv-location-contact-item > div {
  min-width: 0;
  flex: 1 1 auto;
}

.page-id-702 .dpbv-location-contact-item strong {
  display: block;
  color: var(--loc-deep);
  margin-bottom: 2px;
}

.page-id-702 .dpbv-location-contact-item p {
  margin: 0;
  color: var(--loc-muted);
}

.page-id-702 .dpbv-location-contact-item a {
  display: inline;
  color: var(--loc-teal);
  font-weight: 800;
  text-decoration: none;
  overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 600px) {
  .page-id-702 .dpbv-location-contact-item {
    display: flex;
    align-items: flex-start;
    text-align: left;
    justify-items: initial;
  }

  .page-id-702 .dpbv-location-contact-item > span {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #cffafe;
    font-size: 20px;
  }

  .page-id-702 .dpbv-location-contact-item a[href^="mailto:"] {
    font-size: 13px;
    line-height: 1.35;
  }
}

/* OpenClaw fix: Search Availability calendar labels clarity */
.datepick-popup .datepick td .mphb-status--checkin,
.mphb-datepick-popup .datepick td .mphb-status--checkin {
    background: linear-gradient(180deg, #f4fbf6 0%, #e3f2e8 100%) !important;
    color: #234734 !important;
    box-shadow: inset 0 0 0 2px rgba(46,85,64,0.18) !important;
}

.datepick-popup .datepick td .mphb-status--checkout,
.mphb-datepick-popup .datepick td .mphb-status--checkout {
    background: linear-gradient(180deg, #eef7ff 0%, #dceeff 100%) !important;
    color: #1d4f72 !important;
    box-shadow: inset 0 0 0 2px rgba(29,79,114,0.18) !important;
}

.datepick-popup .datepick td .mphb-status--stayonly,
.mphb-datepick-popup .datepick td .mphb-status--stayonly {
    background: #fff8e7 !important;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(183,122,32,0.16) 5px, rgba(183,122,32,0.16) 8px) !important;
    color: #8a5a13 !important;
    box-shadow: inset 0 0 0 2px rgba(183,122,32,0.18) !important;
}

.datepick-popup .datepick td .mphb-status--checkin[data-status-label]::after,
.mphb-datepick-popup .datepick td .mphb-status--checkin[data-status-label]::after {
    color: #2e5540 !important;
}

.datepick-popup .datepick td .mphb-status--checkout[data-status-label]::after,
.mphb-datepick-popup .datepick td .mphb-status--checkout[data-status-label]::after {
    color: #1d4f72 !important;
}

.datepick-popup .datepick td .mphb-status--stayonly[data-status-label]::after,
.mphb-datepick-popup .datepick td .mphb-status--stayonly[data-status-label]::after {
    color: #8a5a13 !important;
}

.datepick-popup::before,
.mphb-datepick-popup::before {
    content: "Green = Check-in · Blue = Check-out · Yellow = stay date only";
    display: block;
    padding: 9px 12px;
    background: #fff8e7;
    color: #66513a;
    border-bottom: 1px solid #eadfce;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 800;
    text-align: center;
}

@media (max-width: 640px) {
    .datepick-popup::before,
    .mphb-datepick-popup::before {
        content: "Green: Check-in · Blue: Check-out · Yellow: stay only";
        font-size: 11px;
        padding: 8px 10px;
    }

    .mphb-datepick-popup .datepick td a[data-status-label]::after,
    .mphb-datepick-popup .datepick td span[data-status-label]::after,
    .datepick-popup .datepick td a[data-status-label]::after,
    .datepick-popup .datepick td span[data-status-label]::after {
        letter-spacing: 0;
        font-size: 6.5px;
    }
}

/* OpenClaw fix: prevent duplicate MotoPress calendar legend */
.mphb-datepick-popup::before {
    content: none !important;
    display: none !important;
}

.datepick-popup::before {
    content: "Green = Check-in · Blue = Check-out · Yellow = stay date only" !important;
    display: block !important;
}

@media (max-width: 640px) {
    .datepick-popup::before {
        content: "Green: Check-in · Blue: Check-out · Yellow: stay only" !important;
    }
}

/* OpenClaw fallback: keep MotoPress mobile popup to one visible month without JS re-init */
@media (max-width: 640px) {
  .datepick-popup .datepick-multi .datepick-month-row .datepick-month:nth-of-type(n+2),
  .mphb-datepick-popup .datepick-multi .datepick-month-row .datepick-month:nth-of-type(n+2) {
    display: none !important;
  }
}

/* OpenClaw fix: post 1405 TikTok embed mobile width (2026-05-08) */
.page-id-1405 .dpbv-redang-tiktok {
  width: 100%;
  min-width: 0;
  overflow: visible;
}

.page-id-1405 .dpbv-redang-tiktok .tiktok-embed {
  display: block;
  width: min(100%, 605px) !important;
  min-width: 280px !important;
  max-width: 605px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.page-id-1405 .dpbv-redang-tiktok .tiktok-embed iframe {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

@media (max-width: 600px) {
  .page-id-1405 .dpbv-redang-video-card {
    padding: 18px 12px;
  }

  .page-id-1405 .dpbv-redang-tiktok .tiktok-embed {
    min-width: 0 !important;
  }
}

/* OpenClaw fix v2: make post 1405 TikTok video comfortably wide on mobile (2026-05-08) */
.page-id-1405 .dpbv-redang-video-card {
  grid-template-columns: 1fr;
}

.page-id-1405 .dpbv-redang-video-copy {
  max-width: 760px;
}

.page-id-1405 .dpbv-redang-tiktok {
  display: block;
  width: 100%;
  max-width: 430px;
  margin: 0 auto;
  overflow: visible;
}

.page-id-1405 .dpbv-redang-tiktok .tiktok-embed,
.page-id-1405 .dpbv-redang-tiktok iframe,
.page-id-1405 iframe[src*="tiktok.com/embed"] {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 600px) {
  .page-id-1405 .dpbv-redang-video-card {
    padding: 18px 10px !important;
    gap: 18px;
  }

  .page-id-1405 .dpbv-redang-tiktok {
    max-width: calc(100vw - 44px);
  }
}

/* OpenClaw fix: page 1669 Deco Service TikTok embed mobile width (2026-05-08) */
.page-id-1669 .dpbv-deco-tiktok {
  display: block;
  width: 100%;
  max-width: 430px;
  margin: 22px auto 0;
  overflow: visible;
}

.page-id-1669 .dpbv-deco-tiktok .tiktok-embed,
.page-id-1669 .dpbv-deco-tiktok iframe,
.page-id-1669 iframe[src*="tiktok.com/embed"] {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 600px) {
  .page-id-1669 .dpbv-deco-video-section {
    padding: 18px 10px !important;
  }

  .page-id-1669 .dpbv-deco-tiktok {
    max-width: calc(100vw - 44px);
  }
}

/* OpenClaw fix: keep villa carousel side-card corners visible on small screens (2026-05-22) */
@media (max-width: 991px) {
  .home .dpbv-villa-stack,
  .page-id-44 .dpbv-villa-stack {
    max-width: 100% !important;
    padding-left: clamp(18px, 5vw, 34px) !important;
    padding-right: clamp(18px, 5vw, 34px) !important;
    overflow: visible !important;
  }

  .home .dpbv-villa-stack__stage,
  .page-id-44 .dpbv-villa-stack__stage {
    width: min(100%, 760px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: visible !important;
  }
}

@media (max-width: 640px) {
  .home .dpbv-villa-stack,
  .page-id-44 .dpbv-villa-stack {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  .home .dpbv-villa-stack__card,
  .page-id-44 .dpbv-villa-stack__card {
    width: min(326px, 78vw) !important;
  }

  .home .dpbv-villa-stack__card[data-position="left"],
  .page-id-44 .dpbv-villa-stack__card[data-position="left"] {
    transform: translate(-50%, -50%) translateX(-17%) scale(.76) !important;
  }

  .home .dpbv-villa-stack__card[data-position="right"],
  .page-id-44 .dpbv-villa-stack__card[data-position="right"] {
    transform: translate(-50%, -50%) translateX(17%) scale(.76) !important;
  }
}

/* OpenClaw fix: desktop villa carousel edge visibility and hero title contrast (2026-05-22) */
.home .dpbv-premium-home,
.page-id-44 .dpbv-premium-home,
.home .dpbv-premium-section,
.page-id-44 .dpbv-premium-section,
.home .dpbv-villa-stack,
.page-id-44 .dpbv-villa-stack,
.home .dpbv-villa-stack__stage,
.page-id-44 .dpbv-villa-stack__stage {
  overflow: visible !important;
}

.home .dpbv-premium-hero h1,
.page-id-44 .dpbv-premium-hero h1,
.home #dpbv-home-title,
.page-id-44 #dpbv-home-title,
.home .dpbv-premium-hero p,
.page-id-44 .dpbv-premium-hero p,
.home .dpbv-premium-kicker,
.page-id-44 .dpbv-premium-kicker {
  color: #fff !important;
  text-shadow: 0 16px 44px rgba(0, 0, 0, .34), 0 2px 10px rgba(0, 0, 0, .28) !important;
}

.home .dpbv-villa-stack__card,
.page-id-44 .dpbv-villa-stack__card {
  contain: layout !important;
}

@media (min-width: 641px) {
  .home .dpbv-villa-stack,
  .page-id-44 .dpbv-villa-stack {
    max-width: min(1180px, calc(100vw - 64px)) !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
  }

  .home .dpbv-villa-stack__stage,
  .page-id-44 .dpbv-villa-stack__stage {
    width: min(100%, 980px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .home .dpbv-villa-stack__card[data-position="left"],
  .page-id-44 .dpbv-villa-stack__card[data-position="left"] {
    transform: translate(-50%, -50%) translateX(-35%) scale(.82) !important;
  }

  .home .dpbv-villa-stack__card[data-position="right"],
  .page-id-44 .dpbv-villa-stack__card[data-position="right"] {
    transform: translate(-50%, -50%) translateX(35%) scale(.82) !important;
  }
}
