/* ==========================================================================
   Duinlicht — MotoPress Hotel Booking, restyled as the theme's own UI.
   Loaded only on pages that contain booking shortcodes.
   ========================================================================== */

/* Layout of the availability section on room pages */
.bnb-availability__grid > .wp-block-group__inner-container{display:grid;gap:1.5rem}
@media (min-width:64em){.bnb-availability__grid > .wp-block-group__inner-container{grid-template-columns:1.35fr 1fr;gap:2.5rem;align-items:start}}
.bnb-cal,.bnb-bookform,.bnb-search,.bnb-results .mphb-room-type,.bnb-checkout .mphb_sc_checkout-form{background:var(--c-bg);border-radius:var(--r-md);padding:clamp(1.1rem,.8rem + 1.5vw,2rem)}
.bnb-search{margin-bottom:1.5rem}

/* Generic fields */
[class*="mphb"] label{font-size:var(--fs-sm);font-weight:600;color:var(--c-ink)}
[class*="mphb"] label + br{display:none}
[class*="mphb"] abbr[title]{text-decoration:none;color:var(--c-coral-ink);border:0}
.mphb-required-fields-tip{font-size:var(--fs-xs);color:var(--c-muted);margin-bottom:1rem!important}
.mphb-required-fields-tip small{font-size:inherit}
[class*="mphb"] input[type=text],[class*="mphb"] input[type=email],[class*="mphb"] input[type=tel],[class*="mphb"] input[type=number],[class*="mphb"] select,[class*="mphb"] textarea{display:block;width:100%;min-height:3rem;margin-top:.4rem;padding:.7rem .9rem;border:1px solid #CDBDA4;border-radius:var(--r-sm);background:#fff;color:var(--c-ink);font:inherit;font-size:1rem;line-height:1.3;box-shadow:none}
[class*="mphb"] select{appearance:none;-webkit-appearance:none;padding-right:2.4rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231F2B29' stroke-width='1.5'/%3E%3C/svg%3E") right .9rem center/12px 8px no-repeat}
[class*="mphb"] input.mphb-datepick{cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect x='2.5' y='4' width='15' height='13' rx='2' fill='none' stroke='%232F5F55' stroke-width='1.4'/%3E%3Cpath d='M2.5 8h15M6.5 2v4M13.5 2v4' stroke='%232F5F55' stroke-width='1.4'/%3E%3C/svg%3E") right .85rem center/18px no-repeat;padding-right:2.6rem}
[class*="mphb"] input:focus,[class*="mphb"] select:focus,[class*="mphb"] textarea:focus{outline:2px solid var(--c-sea);outline-offset:1px;border-color:var(--c-sea)}
[class*="mphb"] textarea{min-height:7rem}
[class*="mphb"] input[type=checkbox],[class*="mphb"] input[type=radio]{width:1.15rem;height:1.15rem;accent-color:var(--c-coral-ink);vertical-align:-.2em;margin-right:.45rem}

/* Buttons */
[class*="mphb"] .button,[class*="mphb"] input[type=submit],.mphb-button,.mphb-book-button,.mphb-view-details-button{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.8rem 1.5rem;border-radius:var(--r-pill);border:1.5px solid var(--c-coral-ink);background:var(--c-coral-ink);color:#fff!important;font-family:var(--f-body);font-size:var(--fs-sm);font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;-webkit-appearance:none;appearance:none;transition:background .25s var(--ease),border-color .25s var(--ease)}
[class*="mphb"] .button:hover,[class*="mphb"] input[type=submit]:hover,.mphb-button:hover,.mphb-book-button:hover{background:#9C3426;border-color:#9C3426}
.mphb-view-details-button{background:transparent;color:var(--c-ink)!important;border-color:color-mix(in srgb,var(--c-ink) 35%,transparent)}
.mphb-view-details-button:hover{background:var(--c-ink);color:#fff!important}

/* Room-page booking form */
.mphb-booking-form p{margin:0 0 1rem}
.mphb-booking-form .mphb-reserve-btn-wrapper,.mphb-booking-form .mphb-reserve-room-section{margin-top:1.25rem}
.mphb-booking-form .mphb-reserve-btn,.mphb-booking-form .mphb-confirm-reservation{width:100%}
.mphb-reserve-room-section > p{font-size:var(--fs-sm);color:var(--c-muted)}
.mphb-period-price{padding:1rem 1.1rem;border:1.5px dashed var(--c-dune);border-radius:var(--r-md);color:var(--c-ink)!important}
.mphb-period-price strong{display:block;font-weight:500;font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--c-sea-ink)}
.mphb-period-price .mphb-price{font-family:var(--f-display);font-size:var(--fs-2xl);color:var(--c-coral-ink)}
.mphb-errors-wrapper:not(:empty){margin-top:1rem;padding:.85rem 1rem;border-radius:var(--r-sm);background:#FBEDEA;border:1px solid #C9867B;color:#7A2418;font-size:var(--fs-sm)}
.mphb-errors-wrapper:empty,.mphb-hide{display:none!important}

/* Search form: one tidy grid */
.mphb_sc_search-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.mphb_sc_search-form > p{margin:0}
.mphb_sc_search-form .mphb-required-fields-tip,.mphb_sc_search-form .mphb_sc_search-submit-button-wrapper{grid-column:1/-1;margin:0!important}
.mphb_sc_search-form .mphb_sc_search-submit-button-wrapper .button{width:100%}
@media (min-width:56em){
  .mphb_sc_search-form{grid-template-columns:1.2fr 1.2fr .8fr .8fr auto;align-items:end}
  .mphb_sc_search-form .mphb_sc_search-submit-button-wrapper{grid-column:auto}
  .mphb_sc_search-form .mphb-required-fields-tip{grid-column:1/-1}
}
.mphb_sc_search-children label small,.mphb_sc_search-children label span{font-weight:400;color:var(--c-muted)}

/* Search results */
.mphb_sc_search_results-wrapper{display:grid;gap:1.25rem}
.mphb_sc_search_results-wrapper > p,.mphb_sc_search_results-info,.mphb_empty_cart_message{margin:0;color:var(--c-muted)}
.mphb_sc_search_results-info{font-family:var(--f-display);font-size:var(--fs-xl);color:var(--c-ink)}
.bnb-results .mphb-room-type{display:grid;gap:1rem 1.75rem;align-items:center;margin:0;border:0}
.bnb-results .mphb-room-type > *{margin:0}
.bnb-results .mphb-room-type .mphb-room-type-images,.bnb-results .mphb-room-type .post-thumbnail{grid-row:span 4}
.bnb-results .mphb-room-type img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-sm)}
.bnb-results .mphb-room-type-title{font-family:var(--f-display);font-size:var(--fs-xl);font-weight:400}
.bnb-results .mphb-room-type-title a{color:var(--c-ink);text-decoration:none}
.bnb-results .mphb-regular-price{font-size:var(--fs-sm);color:var(--c-muted)}
.bnb-results .mphb-regular-price strong{font-weight:500}
.bnb-results .mphb-price{font-family:var(--f-display);font-size:var(--fs-xl);color:var(--c-coral-ink)}
.bnb-results .mphb-reserve-room-section,.bnb-results .mphb-view-details-button-wrapper{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.bnb-results .mphb-rooms-quantity-wrapper{font-size:var(--fs-sm);color:var(--c-muted)}
.bnb-results .mphb-rooms-quantity{display:inline-block;width:auto;min-height:2.4rem;margin:0 .3rem;padding:.3rem 2rem .3rem .6rem}
.bnb-results .mphb-recommendation,.bnb-results .mphb-reservation-cart{background:var(--c-bg);border-radius:var(--r-md);padding:1.25rem}
@media (min-width:48em){.bnb-results .mphb-room-type{grid-template-columns:minmax(0,15rem) 1fr}}
.mphb-room-type .mphb-loop-room-type-attributes,.mphb-room-type .mphb-room-type-details-title{display:none}

/* Inline calendar (room pages) + popup date picker */
.mphb-calendar.mphb-datepick,.datepick-popup .datepick{width:100%!important;font-family:var(--f-body);background:transparent;border:0;box-shadow:none}
.datepick-popup{z-index:70}
.datepick-popup .datepick{background:var(--c-bg);border:1px solid var(--c-dune);border-radius:var(--r-md);box-shadow:0 24px 50px -28px rgba(31,43,41,.5);padding:1rem;width:min(22rem,calc(100vw - 2rem))!important}
.datepick{position:relative}
.datepick-nav,.datepick-ctrl{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:var(--fs-sm)}
.datepick-ctrl{margin-top:.75rem}
.datepick-nav a,.datepick-ctrl a{display:inline-flex;align-items:center;min-height:2.4rem;padding:.3rem .8rem;border-radius:var(--r-pill);border:1px solid var(--c-dune);color:var(--c-ink);text-decoration:none;font-weight:500}
.datepick-nav a:hover,.datepick-ctrl a:hover{background:var(--c-sand)}
.datepick-nav a.datepick-disabled{opacity:.35;pointer-events:none}
.datepick-nav .datepick-cmd-today{display:none}
.datepick-month-row{display:grid;gap:1.5rem;margin-top:.75rem}
@media (min-width:40em){.mphb-calendar .datepick-month-row{grid-template-columns:1fr 1fr}}
.datepick-month{width:auto!important;float:none!important;border:0!important}
.datepick-month-header{font-family:var(--f-display);font-size:var(--fs-lg);text-align:center;padding:.25rem 0 .6rem;background:none!important;color:var(--c-ink)!important;border:0}
.datepick-month-header select{display:inline-block;width:auto;min-height:0;padding:.2rem 1.8rem .2rem .5rem;margin:0 .2rem;font-size:var(--fs-sm)}
.datepick-month table{width:100%;border-collapse:separate;border-spacing:3px;table-layout:fixed;margin:0}
.datepick-month th{font-size:var(--fs-xs);font-weight:600;color:var(--c-muted);padding:.3rem 0;text-align:center;background:none;border:0}
.datepick-month th a,.datepick-month th span{color:inherit;text-decoration:none}
.datepick-month td{padding:0;border:0;background:none;text-align:center}
.datepick-month td > a,.datepick-month td > span{display:grid;place-items:center;aspect-ratio:1;min-height:2.3rem;border-radius:8px;font-size:.9375rem;font-variant-numeric:tabular-nums;line-height:1;text-decoration:none;color:var(--c-ink);background:#fff;border:1px solid transparent;transition:background .15s,border-color .15s}
.datepick-month td .datepick-other-month,.datepick-month td.datepick-other-month > *{visibility:hidden}
.datepick-month td > a:hover{border-color:var(--c-sea);background:var(--c-mist)}
.datepick-month td .mphb-available-date{background:#fff}
.datepick-month td .mphb-past-date,.datepick-month td .mphb-earlier-min-date{background:transparent;color:#8C9592}
.datepick-month td .mphb-booked-date,.datepick-month td .mphb-not-available-date{background:repeating-linear-gradient(135deg,var(--c-sand),var(--c-sand) 4px,#E9DFCF 4px,#E9DFCF 8px);color:#6C6458;text-decoration:line-through;text-decoration-color:rgba(108,100,88,.5)}
.datepick-month td .mphb-check-in-date{background:linear-gradient(135deg,#fff 50%,#E9DFCF 50%)}
.datepick-month td .mphb-check-out-date{background:linear-gradient(135deg,#E9DFCF 50%,#fff 50%)}
.datepick-month td .datepick-today{border-color:var(--c-ink)}
.datepick-month td .datepick-selected,.datepick-month td .datepick-highlight.datepick-selected{background:var(--c-deep)!important;color:var(--c-on-deep)!important;border-color:var(--c-deep)}
.datepick-month td .datepick-highlight{background:var(--c-mist);border-color:var(--c-sea)}
.mphb-date-cell__price{display:none}
.mphb-calendar__selected-dates{margin-top:.75rem;font-size:var(--fs-sm);color:var(--c-muted)}
.bnb-cal-legend{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:1rem;font-size:var(--fs-xs);color:var(--c-muted)}

/* Checkout */
.bnb-checkout .wp-block-group__inner-container{max-width:calc(52rem + 2 * var(--gutter))}
.mphb_sc_checkout-form > section,.mphb_sc_checkout-form .mphb-checkout-section{margin:0 0 2rem;padding:0;border:0}
.mphb_sc_checkout-form h3,.mphb_sc_checkout-form h4,.mphb_sc_checkout-form .mphb-booking-details-title,.mphb_sc_checkout-form .mphb-customer-details-title,.mphb_sc_checkout-form .mphb-price-breakdown-title{font-family:var(--f-display);font-weight:400;font-size:var(--fs-xl);margin:0 0 1rem;color:var(--c-ink)}
.mphb_sc_checkout-form p{margin:0 0 1rem}
.mphb_sc_checkout-form .mphb-check-in-date,.mphb_sc_checkout-form .mphb-check-out-date{display:flex;gap:.5rem;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--c-dune);margin:0}
.mphb_sc_checkout-form .mphb-room-details{background:var(--c-sand);border-radius:var(--r-md);padding:1.25rem;margin:1rem 0 0;border:0}
.mphb_sc_checkout-form .mphb-room-details + .mphb-room-details{margin-top:.75rem}
.mphb_sc_checkout-form .mphb-room-number{font-weight:600}
.mphb_sc_checkout-form .mphb-room-type-title a{color:var(--c-ink)}
.mphb-adults-chooser,.mphb-children-chooser,.mphb-guest-name-wrapper,.mphb-rate-chooser{margin-top:1rem}
.mphb-rate-chooser .mphb-rate-chooser-title,.mphb-rate-chooser p{font-size:var(--fs-sm)}
.mphb_sc_checkout-form table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);margin:0}
.mphb_sc_checkout-form th,.mphb_sc_checkout-form td{padding:.65rem .5rem;border-bottom:1px solid var(--c-dune);text-align:left;vertical-align:top;background:none}
.mphb_sc_checkout-form tfoot th,.mphb_sc_checkout-form .mphb-price-breakdown-total th,.mphb_sc_checkout-form .mphb-price-breakdown-total td{font-weight:600}
.mphb-price-breakdown-expand{color:var(--c-coral-ink)}
.mphb-total-price{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.1rem 1.25rem;border-radius:var(--r-md);background:var(--c-deep);color:var(--c-on-deep);margin:1.5rem 0}
.mphb-total-price output,.mphb-total-price .mphb-price{font-family:var(--f-display);font-size:var(--fs-2xl);color:var(--c-amber)}
.mphb-total-price .mphb-total-price-title,.mphb-total-price strong{font-weight:500;color:var(--c-on-deep)}
.mphb-customer-details{display:grid;gap:0 1rem}
@media (min-width:40em){.mphb-customer-details{grid-template-columns:1fr 1fr}.mphb-customer-details .mphb-customer-note,.mphb-customer-details .mphb-required-fields-tip{grid-column:1/-1}}
.mphb-terms-and-conditions-accept{font-size:var(--fs-sm);color:var(--c-muted)}
.mphb-terms-and-conditions-accept label{font-weight:400}
.mphb_sc_checkout-submit-wrapper input[type=submit]{width:100%}
@media (min-width:40em){.mphb_sc_checkout-submit-wrapper input[type=submit]{width:auto;min-width:16rem}}
.mphb-gateways-list,.mphb-billing-fields{display:none}
.mphb-booking-details > p,.mphb-booking-details > div{margin-bottom:.4rem}
.mphb-coupon-code-wrapper{display:none}

/* Confirmation */
.mphb_sc_booking_confirmation p,.mphb-booking-details-section{margin-bottom:1rem}
.mphb_sc_booking_confirmation .mphb-booking-details{list-style:none;padding:1.25rem;margin:1rem 0 1.5rem;background:var(--c-sand);border-radius:var(--r-md);display:grid;gap:.5rem}
.bnb-confirm .wp-block-group__inner-container > * + *{margin-top:1rem}
/* The date picker sets an inline pixel width on multi-month calendars: keep it in its column. */
.bnb-availability__grid > .wp-block-group__inner-container > *{min-width:0}
.mphb-calendar .datepick,.mphb-calendar .datepick-multi,.mphb-calendar .datepick-month-row{width:100%!important;max-width:100%}
.datepick-month-row::after{content:none}
/* Neutralise the vendor date-picker skin (black nav bar, grey footer, outer border). */
.datepick,.mphb-calendar .datepick{background:transparent!important;border:0!important;box-shadow:none}
.datepick-popup .datepick{background:var(--c-bg)!important;border:1px solid var(--c-dune)!important}
.datepick-nav,.datepick-ctrl{background:transparent!important;color:var(--c-ink)!important;padding:0!important;height:auto!important}
.datepick-nav a,.datepick-ctrl a{width:auto!important;float:none!important;background:#fff!important;color:var(--c-ink)!important;font-size:var(--fs-sm)!important;border:1px solid var(--c-dune)!important}
.datepick-nav a:hover,.datepick-ctrl a:hover{background:var(--c-sand)!important}
.datepick-ctrl{border-top:1px solid var(--c-dune)!important;padding-top:.75rem!important;margin-top:.75rem}
.datepick-ctrl .mphb-calendar__selected-dates{margin:0;flex:1}
.datepick-month-header,.datepick-month-header *{font-weight:400!important}
.datepick-month table{border:0!important}
.mphb_sc_checkout-form .mphb-check-in-date,.mphb_sc_checkout-form .mphb-check-out-date{display:block}
.mphb_sc_checkout-form .mphb-check-in-date time,.mphb_sc_checkout-form .mphb-check-out-date time{font-weight:600}
@media (max-width:39.99em){.mphb_sc_search-form .mphb_sc_search-check-in-date,.mphb_sc_search-form .mphb_sc_search-check-out-date{grid-column:1/-1}}
