.elementor-kit-3{--e-global-color-primary:#2a1f14;--e-global-color-secondary:#3d2b1a;--e-global-color-text:#2a1f14;--e-global-color-accent:#b8762a;--e-global-color-3c2e8aa:#ffffff;--e-global-color-15e6cea:#FFFFFFD9;--e-global-color-c663cd0:#d4a04a;--e-global-color-1d56212:#faf6f1;--e-global-color-2e25052:#f0e8d9;--e-global-color-a1b2c01:#c88a3a;--e-global-color-a1b2c02:rgba(42,31,20,0.7);--e-global-color-a1b2c03:rgba(255,255,255,0.6);--e-global-color-a1b2c04:rgba(255,255,255,0.4);--e-global-color-a1b2c05:rgba(255,255,255,0.15);--e-global-color-a1b2c06:rgba(61,43,26,0.5);--e-global-color-a1b2c07:rgba(61,43,26,0.1);--e-global-color-b7b8926:#000000;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Playfair Display";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Source Serif Pro";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Source Serif Pro";--e-global-typography-accent-font-weight:600;--e-global-typography-t_eyebrow-font-family:"Source Serif Pro";--e-global-typography-t_eyebrow-font-size:11px;--e-global-typography-t_eyebrow-font-weight:600;--e-global-typography-t_eyebrow-text-transform:uppercase;--e-global-typography-t_eyebrow-letter-spacing:3px;--e-global-typography-t_body_lg-font-family:"Source Serif Pro";--e-global-typography-t_body_lg-font-size:18px;--e-global-typography-t_body_lg-font-weight:300;--e-global-typography-t_body_lg-line-height:1.7em;--e-global-typography-t_stat-font-family:"Playfair Display";--e-global-typography-t_stat-font-size:48px;--e-global-typography-t_stat-font-weight:700;--e-global-typography-3b038db-font-family:"Source Serif Pro";--e-global-typography-3b038db-font-size:20px;--e-global-typography-3b038db-font-weight:300;--e-global-typography-3b038db-line-height:1.7em;color:#2a1f14;font-family:"Source Serif Pro", Sans-serif;font-size:16px;font-weight:400;line-height:1.7em;}.elementor-kit-3 button,.elementor-kit-3 input[type="button"],.elementor-kit-3 input[type="submit"],.elementor-kit-3 .elementor-button{background-color:#5c3d1e;font-family:"Playfair Display", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;color:#ffffff;border-radius:4px 4px 4px 4px;padding:14px 40px 14px 40px;}.elementor-kit-3 button:hover,.elementor-kit-3 button:focus,.elementor-kit-3 input[type="button"]:hover,.elementor-kit-3 input[type="button"]:focus,.elementor-kit-3 input[type="submit"]:hover,.elementor-kit-3 input[type="submit"]:focus,.elementor-kit-3 .elementor-button:hover,.elementor-kit-3 .elementor-button:focus{background-color:#3d2b1a;color:#ffffff;}.elementor-kit-3 e-page-transition{background-color:#FFBC7D;}.elementor-kit-3 a{color:#5c3d1e;}.elementor-kit-3 a:hover{color:#b8762a;}.elementor-kit-3 h1{color:#2a1f14;font-family:"Playfair Display", Sans-serif;font-size:48px;font-weight:700;}.elementor-kit-3 h2{color:#2a1f14;font-family:"Playfair Display", Sans-serif;font-size:36px;font-weight:700;}.elementor-kit-3 h3{color:#2a1f14;font-family:"Playfair Display", Sans-serif;font-size:24px;font-weight:700;}.elementor-kit-3 h4{color:#2a1f14;font-family:"Playfair Display", Sans-serif;font-size:20px;font-weight:700;}.elementor-kit-3 h5{color:#2a1f14;font-family:"Playfair Display", Sans-serif;font-size:16px;font-weight:700;}.elementor-kit-3 h6{color:#2a1f14;font-family:"Playfair Display", Sans-serif;font-size:14px;font-weight:700;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-3{--e-global-typography-3b038db-font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-3{--e-global-typography-3b038db-font-size:17px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.elementor-page .elementor-element .elementor-widget-heading h2.elementor-heading-title{font-size:clamp(2.75rem,5vw,4rem);line-height:1.1}@media (max-width:767px){.elementor-page .elementor-element .elementor-widget-heading h2.elementor-heading-title{font-size:clamp(2.25rem,7.5vw,2.875rem);line-height:1.15}}


/* ============================================================
   MIGRATED FROM bourbinn-design-dna.php on 2026-05-08
   Phase 1 of design-dna refactor — site-wide rules only
   Origin lines reference the design-dna file BEFORE removal.
   ============================================================ */

/* === DESIGN-DNA L78-86: OVERSCROLL — Prevent iOS rubber-band white flash === */
html {
  background: #2a1f14;
}
body {
  background: #faf6f1;
}

/* === DESIGN-DNA L88-93: BUTTONS — Playfair Display sitewide === */
.elementor-button {
  font-family: 'Playfair Display', serif !important;
}

/* === DESIGN-DNA L814-840: FADE-IN animation (CSS portion) + global image filter === */
.bi-fade {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 500ms ease-in-out, transform 500ms ease-in-out;
  will-change: opacity, transform;
}
.bi-fade.bi-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Ensure section backgrounds are NEVER affected by animations */
.e-con.e-parent {
  background-attachment: scroll !important;
}

/* Editorial image treatment */
.elementor-widget-image img {
  filter: contrast(1.03) saturate(0.92);
}

/* === DESIGN-DNA L842-912: IMAGE BORDER-RADIUS — Site-wide consistency === */
/* Wireframe standard: 16px 6px 20px 10px (asymmetric editorial) */

.elementor-widget-image img,
.elementor-widget-image .elementor-image img,
.e-con .elementor-image img,
.elementor-widget-gallery img,
.e-gallery-item .e-gallery-image,
.e-gallery-image[data-thumbnail],
.elementor-widget-image-box img,
.elementor-widget-image-carousel img,
.elementor-widget-slides img,
.hb_room_detail img,
.hb-room-content img,
.hb_room_item img,
article img:not(.custom-logo),
.wp-post-image,
.attachment-full,
.attachment-large,
.attachment-medium,
.size-full,
.size-large,
.size-medium {
  border-radius: 16px 6px 20px 10px !important;
  box-shadow: 0 4px 15px rgba(80,60,30,0.12) !important;
  transition: none !important;
}

.e-con.e-child[style*="background_image"],
.e-con[data-settings*="background_image"] {
  border-radius: 16px 6px 20px 10px !important;
  overflow: hidden !important;
}

/* Exceptions: circular elements keep 50% */
.barrel-float,
.barrel-float img,
img[style*="border-radius: 50%"],
.elementor-widget-image img[style*="border-radius: 50%"] {
  border-radius: 50% !important;
  box-shadow: none !important;
}

/* Exceptions: header/footer logos stay sharp */
.elementor-location-header img,
.elementor-location-footer img,
.custom-logo,
.site-logo img {
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Exceptions: button icons, inline icons stay sharp */
.elementor-button img,
.elementor-icon img,
.elementor-icon-list-icon img {
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Exceptions: distillery list logos stay circular (kept .elementor-kit-3 for legacy ID) */
.elementor-element-bh04d10m .elementor-text-editor img {
  border-radius: 50% !important;
  box-shadow: none !important;
  object-fit: contain !important;
}

/* === DESIGN-DNA L1197-1198: smooth scrolling === */
html { scroll-behavior: smooth; }

/* === DESIGN-DNA L1200-1205: SECTION DIVIDERS — gold accent line between top-level sections === */
.elementor-element[data-element_type="container"].e-con.e-parent + .elementor-element[data-element_type="container"].e-con.e-parent {
  border-top: 1px solid rgba(184,118,42,0.15) !important;
}

/* === DESIGN-DNA L248-272: EXPERIENCE CARD CTAs — link-arrow style === */
[data-id="bh05fb0l"] .elementor-button,
[data-id="bh05c1b0"] .elementor-button,
[data-id="bh05c2b0"] .elementor-button,
[data-id="bh05c3b0"] .elementor-button {
  background-color: transparent !important;
  background: rgba(42,31,20,0.30) !important;
  border: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.4) !important;
  border-radius: 0 !important;
  padding: 0 0 4px 0 !important;
  text-transform: none !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}
[data-id="bh05fb0l"] .elementor-button:hover,
[data-id="bh05c1b0"] .elementor-button:hover,
[data-id="bh05c2b0"] .elementor-button:hover,
[data-id="bh05c3b0"] .elementor-button:hover {
  background-color: transparent !important;
  border-bottom-color: rgba(255,255,255,0.8) !important;
}

/* === DESIGN-DNA L1087-1105: DISTILLERY LIST — tighter row spacing + arrow icons === */
.elementor-element-bh04d10m > div {
  padding: 16px 0 !important;
}
.elementor-element-bh04d10m > div > div {
  position: relative;
  padding-right: 40px;
}
.elementor-element-bh04d10m > div > div::after {
  content: '2192';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
  color: rgba(255,255,255,0.3);
}

/* === BOOK NOW PUNCH LIST 6.1, 6.2, 6.3, 6.4 (added 2026-05-08) ===
   Targets MPHB-rendered single room type page. Kit Custom CSS loads
   sitewide via Elementor frontend so these .elementor-kit-3s apply even though
   the page is plugin-rendered, not Elementor-rendered. */

/* 6.1 — Replace size value text with "2,400 SF + Basement" via CSS pseudo-content */
.single-mphb_room_type .mphb-room-type-size .mphb-attribute-value {
  font-size: 0 !important;
}
.single-mphb_room_type .mphb-room-type-size .mphb-attribute-value::after {
  content: "2,400 SF + Basement";
  font-size: 1rem;
  font-family: inherit;
  color: inherit;
}

/* 6.2 — Hide "Prices start at:" label, keep the price value */
.single-mphb_room_type .mphb-regular-price > strong {
  display: none !important;
}

/* 6.3 + 6.4 — Reservation Form and Availability Calendar side-by-side */
.single-mphb_room_type .page-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 32px;
  row-gap: 12px;
}
.single-mphb_room_type .page-content > h2.mphb-details-title,
.single-mphb_room_type .page-content > ul.mphb-single-room-type-attributes,
.single-mphb_room_type .page-content > p.mphb-regular-price {
  grid-column: 1 / -1;
}
.single-mphb_room_type .page-content > h2.mphb-calendar-title { grid-column: 1; grid-row: 4; }
.single-mphb_room_type .page-content > .mphb-calendar { grid-column: 1; grid-row: 5; align-self: start; }
.single-mphb_room_type .page-content > h2.mphb-reservation-form-title { grid-column: 2; grid-row: 4; }
.single-mphb_room_type .page-content > form.mphb-booking-form { grid-column: 2; grid-row: 5; align-self: start; }
@media (max-width: 900px) {
  .single-mphb_room_type .page-content { grid-template-columns: 1fr; }
  .single-mphb_room_type .page-content > * { grid-column: 1 !important; grid-row: auto !important; }
}


/* =============================================================
   FULL DESIGN-DNA CSS BODY MIGRATION (2026-05-08 Session 1)
   Everything that was in bourbinn_inject_inline_css() — moved here so
   the entire site CSS lives in one editor-aware location.
   ============================================================= */

/* OVERSCROLL + BUTTONS sitewide rules moved to Kit Custom CSS on 2026-05-08 */

/* ============================================================
   HEADER — Fixed position, dark background for readability
   ============================================================ */
.elementor-location-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 50 !important;
  background: rgba(42,31,20,0.30) !important;
  transition: background 0.3s ease, box-shadow 0.3s ease !important;
  padding-top: env(safe-area-inset-top, 0px) !important;
}
.elementor-location-header .e-con,
.elementor-location-header .elementor-section {
  background: rgba(42,31,20,0.30) !important;
  background-color: transparent !important;
  background-image: none !important;
}
/* Nav links must be white on the dark header — kit primary color bleeds in otherwise */
.elementor-location-header .elementor-nav-menu a,
.elementor-location-header .elementor-nav-menu .elementor-item {
  color: rgba(255,255,255,0.8) !important;
}
.elementor-location-header .sub-arrow svg {  fill: #ffffff !important;}.elementor-location-header .sub-arrow i {  color: #ffffff !important;}
.elementor-location-header .elementor-nav-menu a:hover,
.elementor-location-header .elementor-nav-menu .elementor-item:hover,
.elementor-location-header .elementor-nav-menu .elementor-item-active {
  color: #ffffff !important;
}
/* Dropdown submenu — dark panel with light text */
.elementor-location-header .elementor-nav-menu--dropdown,
.elementor-location-header .e--pointer-none .elementor-nav-menu--dropdown {
  background: #2a1f14 !important;
  border: 1px solid rgba(184,118,42,0.25) !important;
  border-radius: 4px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3) !important;
  padding: 8px 0 !important;
  min-width: 200px !important;
}
.elementor-location-header .elementor-nav-menu--dropdown a,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item {
  color: rgba(255,255,255,0.8) !important;
  padding: 10px 24px !important;
  font-size: 14px !important;
}
/* WP Hotel Booking search form styling — horizontal layout */
.hotel-booking-search form.hb-form-table,
.hb-search-form {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 16px !important;
  align-items: flex-end !important;
}
.hotel-booking-search h3,
.hb-search-form h3 {
  display: none !important;
}
.hotel-booking-search form.hb-form-table .hb-form-field {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}
.hotel-booking-search form.hb-form-table .hb-form-field .hb-form-field-input label,
.hb-search-form label {
  font-family: "Inter", sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.55) !important;
  margin-bottom: 6px !important;
  display: block !important;
}
.hotel-booking-search form.hb-form-table input[type="text"],
.hotel-booking-search form.hb-form-table select,
.hb-search-form input[type="text"],
.hb-search-form select {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 4px !important;
  color: rgba(255,255,255,0.85) !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  padding: 13px 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.hotel-booking-search form.hb-form-table input::placeholder,
.hb-search-form input::placeholder {
  color: rgba(255,255,255,0.35) !important;
}
.hotel-booking-search form.hb-form-table input:focus,
.hotel-booking-search form.hb-form-table select:focus,
.hb-search-form input:focus,
.hb-search-form select:focus {
  border-color: rgba(184,118,42,0.5) !important;
  outline: none !important;
}
.hotel-booking-search form.hb-form-table select option {
  background: #2a1f14 !important;
  color: #fff !important;
}
/* Submit — full width gold button */
.hotel-booking-search form.hb-form-table .hb-submit,
.hotel-booking-search form.hb-form-table .hb_submit {
  flex: 0 0 100% !important;
  margin-top: 8px !important;
}
.hotel-booking-search form.hb-form-table .hb-submit button,
.hotel-booking-search form.hb-form-table .hb_submit button,
.hotel-booking-search form.hb-form-table button[type="submit"],
.hotel-booking-search form.hb-form-table input[type="submit"],
.hb-search-form .hb-submit button,
button.hb_button.hb_search_button {
  background: #b8762a !important;
  color: #fff !important;
  font-family: "Playfair Display", serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 16px 24px !important;
  cursor: pointer !important;
  width: 100% !important;
  transition: background 0.2s, box-shadow 0.2s !important;
}
.hotel-booking-search form.hb-form-table .hb-submit button:hover,
.hotel-booking-search form.hb-form-table button[type="submit"]:hover,
button.hb_button.hb_search_button:hover {
  background: #c88a3a !important;
  box-shadow: 0 4px 16px rgba(184,118,42,0.3) !important;
}
/* Hide children, number of rooms — single whole-cabin */
.hotel-booking-search form.hb-form-table .hb-form-field:has(select[name="child_qty"]),
.hotel-booking-search form.hb-form-table .hb-form-field:has(select[name="num_of_rooms"]),
.hotel-booking-search form.hb-form-table .hb-form-field.hb-form-number:has(.number-box) {
  display: none !important;
}
@media (max-width: 767px) {
  .hotel-booking-search form.hb-form-table,
  .hb-search-form {
    flex-direction: column !important;
  }
}

/* Fix: SmartMenus touch-mode false positive — CSS hover fallback */.elementor-nav-menu .menu-item-has-children:hover > .sub-menu {  display: block !important;}
.elementor-location-header .elementor-nav-menu--dropdown a:hover,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item:hover {
  color: #ffffff !important;
  background: rgba(184,118,42,0.15) !important;
}
.elementor-location-header.scrolled .e-con,
.elementor-location-header.scrolled .elementor-section {
  background: rgba(42,31,20,0.30) !important;
}
.elementor-location-header.scrolled {
  background: rgba(42,31,20,0.97) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.2) !important;
}
.elementor-location-header.scrolled .e-con,
.elementor-location-header.scrolled .elementor-section {
  background-color: transparent !important;
}

/* EXPERIENCE CARD CTAs moved to Kit Custom CSS on 2026-05-08 */

/* ============================================================
   FLOATING BARREL CTA
   ============================================================ */
.barrel-float {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 90;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, #5c3d1e 0%, #7a5230 100%);
  border: 2px solid rgba(184,118,42,0.4);
  box-shadow: 0 6px 24px rgba(42,31,20,0.4), 0 0 0 4px rgba(184,118,42,0.1);
  cursor: pointer;
  transition: all 350ms ease;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: barrel-pulse 3s ease-in-out infinite;
  text-decoration: none;
}
.barrel-float:hover {
  transform: scale(1.08);
  box-shadow: 0 8px 32px rgba(42,31,20,0.5), 0 0 0 6px rgba(184,118,42,0.15);
}
@keyframes barrel-pulse {
  0%, 100% { box-shadow: 0 6px 24px rgba(42,31,20,0.4), 0 0 0 4px rgba(184,118,42,0.1); }
  50% { box-shadow: 0 6px 24px rgba(42,31,20,0.4), 0 0 0 8px rgba(184,118,42,0.08); }
}

/* ============================================================
   WP HOTEL BOOKING — Brand styling for rental pages
   ============================================================ */

/* ============================================================
   BOOKING PAGE LAYOUT — Top spacing for fixed header
   Non-Elementor pages don't have hero sections with built-in
   padding, so the content clashes with the fixed header (~80px).
   ============================================================ */

/* Top spacing on all WP Hotel Booking pages
   These pages render directly into <body>, no .site-main wrapper.
   Body classes: .wp-hotel-booking-page, .single-hb_room, .wp-hotel-booking-room-page */

/* Room detail page */
body.single-hb_room .hb_single_room {
  padding-top: 120px !important;
  padding-bottom: 80px !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  background: #faf6f1 !important;
}

/* Room search/archive page — wrapper is .container.room-container */
body.wp-hotel-booking-page .container.room-container,
body.wp-hotel-booking-page .hotel_booking_wrapper,
body.wp-hotel-booking-page .hotel-booking-search,
body.post-type-archive-hb_room .container.room-container,
body.post-type-archive-hb_room .hotel_booking_wrapper,
body.wp-hotel-booking .hotel_booking_wrapper {
  padding-top: 40px !important;
  padding-bottom: 80px !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
}

/* Fallback: if plugin renders content without a wrapper, pad body itself */
body.wp-hotel-booking-page,
body.single-hb_room,
body.wp-hotel-booking-room-page {
  background: #faf6f1 !important;
  padding-top: 0 !important; /* Let inner elements handle it */
}

/* Room title */
.hb_single_room .room-single-top .title h1,
.hb_single_room h1 {
  font-family: 'Playfair Display', serif !important;
  color: #3d2b1a !important;
  font-weight: 700 !important;
  font-size: 42px !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
  margin-bottom: 32px !important;
}

/* "Check availability" heading */
.hb-search-form h3,
.hotel_booking_search h3,
h3.hb-search-title {
  font-family: 'Playfair Display', serif !important;
  color: #3d2b1a !important;
  font-weight: 700 !important;
  font-size: 32px !important;
  margin-bottom: 24px !important;
}

/* Booking form sidebar — elevated card */
.hb_booking_form,
.hb-room-booking,
.hb_single_room .summary .hb-room-booking {
  background: #faf6f1 !important;
  border: 1px solid rgba(184,118,42,0.15) !important;
  border-radius: 16px 6px 20px 10px !important;
  padding: 32px !important;
  box-shadow: 0 4px 20px rgba(80,60,30,0.1) !important;
}

/* Tabs — bourbon-styled */
.hb_room_detail .nav-tabs,
.hb_room_detail .ui-tabs-nav,
.hb_single_room .woocommerce-tabs .tabs {
  border-bottom: 1px solid rgba(184,118,42,0.2) !important;
  margin-bottom: 24px !important;
}

/* Form inputs */
.hb-search-form input,
.hb-search-form select,
.hb_booking_form input,
.hb_booking_form select,
.hb-room-booking input,
.hb-room-booking select {
  font-family: 'Source Serif Pro', serif !important;
  border: 1px solid rgba(61,43,26,0.2) !important;
  border-radius: 2px !important;
  padding: 10px 14px !important;
  color: #3d2b1a !important;
  background: #faf6f1 !important;
}
.hb-search-form input:focus,
.hb_booking_form input:focus {
  border-color: #b8762a !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(184,118,42,0.15) !important;
}

/* Labels */
.hb-search-form label,
.hb_booking_form label,
.hb-room-booking label {
  font-family: 'Source Serif Pro', serif !important;
  color: #3d2b1a !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}

/* Primary buttons — bourbon gold */
.hb-search-form .hb-submit button,
.hb-search-form input[type="submit"],
.hb_booking_form button,
.hb_booking_form input[type="submit"],
.hb-room-booking button[type="submit"],
button.hb_button,
.hb-booking-room-form button,
.hotel_booking_search input[type="submit"],
#hotel-booking-payment input[type="submit"] {
  font-family: 'Playfair Display', serif !important;
  background: #b8762a !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 2px !important;
  padding: 14px 40px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.2s, box-shadow 0.2s !important;
}
.hb-search-form .hb-submit button:hover,
.hb_booking_form button:hover,
button.hb_button:hover,
#hotel-booking-payment input[type="submit"]:hover {
  background: #c88a3a !important;
  box-shadow: 0 4px 20px rgba(184,118,42,0.4) !important;
}

/* Secondary/Reset buttons */
.hb-search-form button.reset,
button.hb-reset {
  font-family: 'Source Serif Pro', serif !important;
  background: rgba(42,31,20,0.30) !important;
  color: #3d2b1a !important;
  border: 1px solid rgba(61,43,26,0.3) !important;
  border-radius: 2px !important;
}

/* Room title */
.hb_room_detail h1,
.hb_room_detail h2,
h1.hb-room-name,
.hb-room-content h2 a {
  font-family: 'Playfair Display', serif !important;
  color: #3d2b1a !important;
  font-weight: 700 !important;
}

/* Room description text */
.hb_room_detail p,
.hb-room-content p,
.hb_room_detail .description {
  font-family: 'Source Serif Pro', serif !important;
  color: rgba(61,43,26,0.7) !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
}

/* Price display */
.hb_room_detail .price,
.hb-room-price,
span.hb-price,
.hb_price_details span {
  font-family: 'Playfair Display', serif !important;
  color: #b8762a !important;
  font-weight: 700 !important;
}

.hb_booking_form h3,
.hb-room-booking h3 {
  font-family: 'Playfair Display', serif !important;
  color: #3d2b1a !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  border-bottom: 1px solid rgba(184,118,42,0.2) !important;
  padding-bottom: 12px !important;
  margin-bottom: 20px !important;
}

/* Tabs on room page */
.hb_room_detail .nav-tabs a,
.hb_room_detail .ui-tabs-nav a {
  font-family: 'Source Serif Pro', serif !important;
  color: rgba(61,43,26,0.5) !important;
  text-decoration: none !important;
  font-size: 14px !important;
}
.hb_room_detail .nav-tabs a.active,
.hb_room_detail .nav-tabs a:hover,
.hb_room_detail .ui-tabs-active a {
  color: #b8762a !important;
  border-bottom-color: #b8762a !important;
}

/* Filter sidebar */
.hb-search-results .hb-sidebar h3 {
  font-family: 'Playfair Display', serif !important;
  color: #3d2b1a !important;
}

/* Price slider */
.hb-search-results .ui-slider {
  background: rgba(184,118,42,0.15) !important;
}
.hb-search-results .ui-slider .ui-slider-range {
  background: #b8762a !important;
}
.hb-search-results .ui-slider .ui-slider-handle {
  background: #3d2b1a !important;
  border: 2px solid #b8762a !important;
}

/* Checkout page */
#hotel-booking-payment {
  font-family: 'Source Serif Pro', serif !important;
}
#hotel-booking-payment h3,
#hotel-booking-payment h4 {
  font-family: 'Playfair Display', serif !important;
  color: #3d2b1a !important;
}
.hb-booking-cart table {
  font-family: 'Source Serif Pro', serif !important;
  border-collapse: collapse !important;
}
.hb-booking-cart table th {
  font-family: 'Source Serif Pro', serif !important;
  background: #2a1f14 !important;
  color: #ffffff !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  padding: 12px 16px !important;
}
.hb-booking-cart table td {
  padding: 12px 16px !important;
  border-bottom: 1px solid rgba(184,118,42,0.1) !important;
  color: #3d2b1a !important;
}

/* Thank you page */
.hb-booking-received h2 {
  font-family: 'Playfair Display', serif !important;
  color: #3d2b1a !important;
}

/* Page backgrounds for hotel pages */
.page-template-default .site-main,
.page-template-default article.page {
  background: #faf6f1 !important;
}


/* ============================================================
   MOBILE OPTIMIZATION — Responsive fixes for <768px
   ============================================================ */
@media (max-width: 767px) {
  /* Floating barrel CTA — smaller and repositioned to avoid covering content */
  .barrel-float {
    width: 48px !important;
    height: 48px !important;
    bottom: 16px !important;
    right: 16px !important;
    z-index: 100 !important;
  }
  .barrel-float div:last-child {
    font-size: 8px !important;
    letter-spacing: 0.05em !important;
  }
  .barrel-float div:first-child {
    inset: 3px !important;
  }

  /* Header BOOK NOW button — hide on mobile, hamburger menu has navigation */
  .elementor-location-header .elementor-widget-button {
    display: none !important;
  }

  /* Distillery list — reflow inline flex rows for mobile */
  .elementor-element-bh04d10m .elementor-text-editor div[style*="display:flex"],
  .elementor-element-bh04d10m .elementor-text-editor div[style*="display: flex"] {
    flex-wrap: wrap !important;
    gap: 8px 16px !important;
  }
  /* Distillery logos — prevent parent from collapsing in flex row */
  .elementor-element-bh04d10m .elementor-text-editor img {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
  }
  .elementor-element-bh04d10m .elementor-text-editor p:has(img) {
    flex-shrink: 0 !important;
    min-width: 44px !important;
    width: 44px !important;
  }
  /* Distance number smaller */
  .elementor-element-bh04d10m .elementor-text-editor div[style*="flex-shrink:0"] p[style*="font-size:48px"],
  .elementor-element-bh04d10m .elementor-text-editor div[style*="flex-shrink: 0"] p[style*="font-size:48px"] {
    font-size: 28px !important;
  }
  /* Name + description wrap to full width */
  .elementor-element-bh04d10m .elementor-text-editor div[style*="display:flex"] > div:nth-child(3),
  .elementor-element-bh04d10m .elementor-text-editor div[style*="display: flex"] > div:nth-child(3) {
    flex-basis: 100% !important;
    order: 3 !important;
  }
  .elementor-element-bh04d10m .elementor-text-editor div[style*="display:flex"] > div:nth-child(4),
  .elementor-element-bh04d10m .elementor-text-editor div[style*="display: flex"] > div:nth-child(4) {
    flex-basis: 100% !important;
    order: 4 !important;
  }
  /* Hide arrow column on mobile */
  .elementor-element-bh04d10m .elementor-text-editor div[style*="display:flex"] > div:last-child,
  .elementor-element-bh04d10m .elementor-text-editor div[style*="display: flex"] > div:last-child {
    display: none !important;
  }

  /* WP Hotel Booking — stack search form fields */
  .hb-search-form .hb-form-field-group {
    flex-direction: column !important;
  }
  .hb-search-form .hb-form-field {
    width: 100% !important;
    margin-bottom: 12px !important;
  }

}


/* Tablet tweaks (768-1024px) */
@media (max-width: 1024px) and (min-width: 768px) {
  .barrel-float {
    width: 56px !important;
    height: 56px !important;
    bottom: 20px !important;
    right: 20px !important;
  }
  .barrel-float div:last-child {
    font-size: 9px !important;
  }
}

/* ============================================================
   WP HOTEL BOOKING — Additional fixes
   ============================================================ */

/* Check availability main CTA button - override salmon/red */
.hb-search-form .hb-submit,
.hb-search-form .hb_submit,
.hb-search-form [type="submit"],
.hb-search-form button,
.hotel_booking_search button,
.hotel_booking_search [type="submit"],
.hotel_booking_search .hb_search_button,
#hotel-booking-search [type="submit"],
#hotel-booking-search button,
.hb_search_form_wrapper button,
form.hotel-booking-search button,
form.hotel-booking-search input[type="submit"] {
  font-family: 'Playfair Display', serif !important;
  background: #b8762a !important;
  background-color: #b8762a !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 2px !important;
  padding: 16px 40px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.2s ease, box-shadow 0.2s ease !important;
}
form.hotel-booking-search button:hover,
.hb-search-form button:hover,
.hotel_booking_search button:hover {
  background: #c88a3a !important;
  background-color: #c88a3a !important;
  box-shadow: 0 4px 20px rgba(184,118,42,0.4) !important;
}

/* Page title styling for booking pages */
.hb-search-page h1,
.hotel_booking_search h3,
.hb-search-results h1,
.page-template-default .entry-title,
body.page .entry-title {
  font-family: 'Playfair Display', serif !important;
  color: #3d2b1a !important;
  font-weight: 700 !important;
}

/* Page wrapper backgrounds */
body.page:not(.elementor-page) .site-main,
body.page:not(.elementor-page) .entry-content {
  background: #faf6f1 !important;
  padding: 120px 40px 60px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* Rating checkboxes */
.hb-search-results input[type="checkbox"] {
  accent-color: #b8762a !important;
}

/* Sort dropdown */
.hb-search-results select,
.hb-search-form select {
  font-family: 'Source Serif Pro', serif !important;
  border: 1px solid rgba(61,43,26,0.2) !important;
  border-radius: 2px !important;
  padding: 8px 12px !important;
  color: #3d2b1a !important;
  background: #faf6f1 !important;
}

/* Room card styling */
.hb-room-content,
.hb_room_item {
  background: #ffffff !important;
  border: 1px solid rgba(184,118,42,0.1) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(42,31,20,0.06) !important;
  transition: box-shadow 0.2s !important;
}

/* Cart/checkout table */
.hb_booking_cart,
.hb-booking-cart {
  background: #faf6f1 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}

/* Total price in booking forms */
.hb_room_detail .hb-booking-form-total,
.hb-room-booking .total,
.hb-booking-room-form .total {
  font-family: 'Playfair Display', serif !important;
  color: #b8762a !important;
  font-weight: 700 !important;
  font-size: 18px !important;
}

/* View details link */
.hb_room_detail a.hb-view-details,
.hb-room-booking a {
  color: #b8762a !important;
  text-decoration: none !important;
  font-family: 'Source Serif Pro', serif !important;
}
.hb_room_detail a.hb-view-details:hover,
.hb-room-booking a:hover {
  color: #c88a3a !important;
  text-decoration: underline !important;
}

/* WP Hotel Booking notices */
.woocommerce-message,
.hb-message,
.hb-notice {
  border-left-color: #b8762a !important;
  background: rgba(184,118,42,0.05) !important;
  font-family: 'Source Serif Pro', serif !important;
}

/* FADE-IN CSS, editorial image filter, and IMAGE BORDER-RADIUS rules moved to Kit Custom CSS on 2026-05-08
   (Image hover zoom — REMOVED per client request) */

/* ============================================================
   MOBILE MENU — Hidden on desktop, only shows on mobile
   ============================================================ */
#bi-mobile-menu {
  display: none !important;
}
#bi-hamburger {
  display: none !important;
}

/* ============================================================
   MOBILE RESPONSIVE — Global overrides for <=767px
   Catches elements missing Elementor mobile font sizes
   ============================================================ */
@media (max-width: 767px) {

/* ============================================================
     MOBILE HEADER — Inline logo left, hamburger right, thin bar
     ============================================================ */

  /* Force the header container to be a single horizontal row */
  .elementor-location-header .e-con,
  .elementor-location-header .e-con-inner,
  .elementor-location-header .e-con.e-parent,
  .elementor-location-header .e-con.e-parent > .e-con-inner {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 16px !important;
    padding-top: max(12px, env(safe-area-inset-top)) !important;
    gap: 0 !important;
    min-height: auto !important;
    max-height: none !important;
  }

  /* Logo — left side, constrained size */
  .elementor-location-header .elementor-widget-image {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 140px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .elementor-location-header .elementor-widget-image img {
    max-height: 36px !important;
    width: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* Hide Elementor nav on mobile — custom menu replaces it */
  .elementor-location-header .elementor-widget-nav-menu {
    display: none !important;
  }
  /* Show custom mobile menu and hamburger */
  #bi-mobile-menu {
    display: none !important; /* hidden by default, .open shows it */
  }
  #bi-mobile-menu.open {
    display: flex !important;
  }
  #bi-hamburger {
    display: flex !important;
  }

  /* Custom mobile menu panel */
  #bi-mobile-menu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(42,31,20,0.98);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    z-index: 9998;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 80px 40px 40px;
  }
  #bi-mobile-menu.open {
    display: flex !important;
  }
  #bi-mobile-menu a {
    display: block;
    font-family: 'Playfair Display', serif;
    font-size: 24px;
    font-weight: 700;
    color: rgba(255,255,255,0.85);
    text-decoration: none;
    padding: 16px 0;
    
    border-bottom: 1px solid rgba(184,118,42,0.15);
    width: 100%;
    max-width: 280px;
    transition: color 0.2s;
  }
  #bi-mobile-menu a:last-child {
    border-bottom: none;
  }
  #bi-mobile-menu a:active {
    color: #d4a04a;
  }
  #bi-mobile-menu .bi-menu-close {
    position: absolute;
    top: max(16px, env(safe-area-inset-top));
    right: 16px;
    font-size: 28px;
    color: #ffffff;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    font-family: sans-serif;
  }
  #bi-mobile-menu .bi-menu-cta {
    margin-top: 32px;
    font-family: 'Playfair Display', serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    background: #b8762a;
    color: #ffffff;
    padding: 14px 40px;
    border-radius: 2px;
    border-bottom: none;
    max-width: none;
  }

  /* Custom hamburger button in header */
  #bi-hamburger {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 10px 8px !important;
    flex: 0 0 auto !important;
    gap: 0 !important;
    width: 40px !important;
    height: 40px !important;
  }
  #bi-hamburger span {
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    background: #ffffff !important;
    margin: 3px 0 !important;
    border-radius: 1px !important;
    flex-shrink: 0 !important;
  }
  .elementor-location-header .elementor-widget-nav-menu {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .elementor-location-header .elementor-menu-toggle {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #ffffff !important;
    font-size: 22px !important;
    padding: 6px !important;
    cursor: pointer !important;
  }
  /* Force toggle visible — override Elementor JS inline styles */
  .elementor-location-header .elementor-menu-toggle[style] {
    display: flex !important;
  }

  /* BOOK NOW button — hide on mobile (barrel CTA serves this purpose) */
  .elementor-location-header .elementor-widget-button {
    display: none !important;
  }

  /* Inner child containers in header — inline, no wrapping */
  .elementor-location-header .e-con.e-child {
    width: auto !important;
    min-width: auto !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
  }

  /* Ensure header stays compact — no extra height */
  .elementor-location-header {
    min-height: auto !important;
    height: auto !important;
  }

  /* Mobile dropdown menu styling */
  .elementor-location-header .elementor-nav-menu--dropdown {
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    background: rgba(42,31,20,0.97) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-top: 1px solid rgba(184,118,42,0.2) !important;
    padding: 16px 0 !important;
  }
  .elementor-location-header .elementor-nav-menu--dropdown a {
    padding: 12px 24px !important;
    font-size: 16px !important;
    color: rgba(255,255,255,0.85) !important;
  }
  .elementor-location-header .elementor-nav-menu--dropdown a:hover {
    color: #ffffff !important;
    background: rgba(184,118,42,0.15) !important;
  }

  /* Booking pages — tighter padding */
  body.single-hb_room .hb_single_room,
  body.wp-hotel-booking-page .container.room-container,
  body.post-type-archive-hb_room .container.room-container {
    padding-top: 100px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Booking form — full width */
  .hb_booking_form,
  .hb-room-booking,
  .hb_single_room .summary .hb-room-booking {
    padding: 20px !important;
    margin-top: 24px !important;
  }

  /* Room title on mobile */
  .hb_single_room .room-single-top .title h1,
  .hb_single_room h1 {
    font-size: 28px !important;
  }

  /* ============================================================
     DISTILLERY LIST — Single column on mobile
     The 3-col layout (icon | name | desc) is too cramped
     ============================================================ */
  .elementor-element-bh04d10m > div,
  [data-id="bh04d10m"] > .e-con-inner > .e-con {
    flex-direction: column !important;
    text-align: center !important;
  }
  .elementor-element-bh04d10m > div > div,
  [data-id="bh04d10m"] .e-con.e-child {
    width: 100% !important;
    min-width: 100% !important;
    padding-right: 0 !important;
  }
  /* Remove the arrow on mobile — no room for it */
  .elementor-element-bh04d10m > div > div::after {
    display: none !important;
  }

  /* ============================================================
     FADE ANIMATION FIX — prevent blank gaps on mobile
     On small screens, tall sections may not reach 10% threshold
     before the user scrolls past. Lower threshold for mobile.
     ============================================================ */
  .bi-fade {
    transform: translateY(4px) !important;
    transition: opacity 400ms ease-in-out, transform 400ms ease-in-out !important;
  }

}

/* Tablet overrides — 768px to 1024px */
@media (min-width: 768px) and (max-width: 1024px) {
  /* Booking pages */
  body.single-hb_room .hb_single_room,
  body.wp-hotel-booking-page .container.room-container {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* Smooth scrolling + section dividers moved to Kit Custom CSS on 2026-05-08 */

/* DISTILLERY LIST moved to Kit Custom CSS on 2026-05-08 */

/* ============================================================
   BOOK NOW PAGE — Hero + Split Layout + Trust Strip
   ============================================================ */

/* Hero banner */
.bi-book-hero {
  position: relative;
  width: 100%;
  min-height: 550px;
  background: url("/wp-content/uploads/2026/03/pub_table.jpg") center/cover no-repeat;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  margin-top: 0;
}
.bi-book-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(42,31,20,0.25) 0%, rgba(42,31,20,0.75) 100%);
}
.bi-book-hero-inner {
  position: relative;
  text-align: left;
  max-width: 1100px;
  width: 100%;
  padding: 0 40px 60px;
}
.bi-book-hero-label {
  color: rgba(255,255,255,0.6) !important;
font-size: 12px;
  letter-spacing: 3px;
  color: rgba(255,255,255,0.6);
  text-transform: uppercase;
  margin-bottom: 12px;
}
.bi-book-hero-title {
  color: #ffffff !important;
  font-family: "Playfair Display", serif;
  font-size: 52px;
  font-weight: 700;
  margin: 0;
  line-height: 1.1;
  text-shadow: 0 2px 20px rgba(0,0,0,0.3);
}
.bi-book-hero-line {
  width: 40px;
  height: 2px;
  background: #b8762a;
  margin: 16px 0;
}
.bi-book-hero-sub {
  color: rgba(255,255,255,0.8) !important;
font-family: "Source Serif Pro", serif;
  font-size: 17px;
  color: rgba(255,255,255,0.8);
  max-width: 500px;
  margin: 0;
  text-shadow: 0 1px 8px rgba(0,0,0,0.3);
}

/* Hide filters — single room property, filters add clutter */
.hb-price-field,
.hb-rating-field,
.hb-room-filter-btn,
h2.hb-search-title,
h3.hb-search-title {
  display: none !important;
}

/* Gallery CTA section */
.bi-gallery-cta {
  background: #2a1f14;
  padding: 80px 40px;
  text-align: center;
}
.bi-gallery-cta-inner {
  max-width: 700px;
  margin: 0 auto;
}
.bi-gallery-label {
  font-family: "Source Serif Pro", serif;
  font-size: 13px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #b8762a;
  margin-bottom: 16px;
}
.bi-gallery-title {
  font-family: "Playfair Display", serif !important;
  font-size: 42px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 20px 0 !important;
  line-height: 1.1 !important;
}
.bi-gallery-desc {
  font-family: "Source Serif Pro", serif;
  font-size: 17px;
  color: rgba(255,255,255,0.6);
  line-height: 1.6;
  margin: 0 0 32px 0;
  font-style: italic;
}
.bi-gallery-btn {
  display: inline-block;
  font-family: "Playfair Display", serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #ffffff;
  background: #b8762a;
  padding: 16px 40px;
  border-radius: 4px;
  text-decoration: none;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}
.bi-gallery-btn:hover {
  background: #c88a3a;
  box-shadow: 0 4px 20px rgba(184,118,42,0.4);
  color: #ffffff;
  text-decoration: none;
}
.bi-gallery-sub {
  font-family: "Source Serif Pro", serif;
  font-size: 13px;
  color: rgba(255,255,255,0.35);
  margin: 24px 0 0 0;
}

/* Mobile — Book Now page */
@media (max-width: 767px) {
  .bi-book-hero {
    min-height: 260px;
  }
  .bi-book-hero-inner {
    padding: 0 20px 40px;
  }
  .bi-book-hero-title {
    font-size: 30px;
  }
  .bi-gallery-cta {
    padding: 60px 20px;
  }
  .bi-gallery-title {
    font-size: 30px !important;
  }
}


/* Book Now page — hide all filter/sort/result cruft */
body.wp-hotel-booking-page .hb-search-results .sort-by,
body.wp-hotel-booking-page .hb-search-results .hb-ordering,
body.wp-hotel-booking-page .hb-search-results select[name="sort_by"],
body.wp-hotel-booking-page .hb-search-results > .hb-room-filter-btn,
body.wp-hotel-booking-page .hb-search-results > h2,
body.wp-hotel-booking-page .hb-search-results > h3,
body.wp-hotel-booking-page .hb-search-results .hb-search-filter,
body.wp-hotel-booking-page .hb-search-results .hb-sidebar,
body.wp-hotel-booking-page .hb-search-results button.reset,
body.wp-hotel-booking-page .hb-search-results .hb-room-filter-btn {
  display: none !important;
}

/* Hide the old page heading — hero replaces it */
body.wp-hotel-booking-page h1.entry-title,
body.wp-hotel-booking-page h2.entry-title,
body.wp-hotel-booking-page .page-header h1,
body.wp-hotel-booking-page .hb-search-page > h1,
body.wp-hotel-booking-page .hb-search-page > h2 {
  display: none !important;
}

/* Ensure hero sits above header padding area properly */
body.wp-hotel-booking-page .bi-book-hero {
  min-height: 500px;
  margin-top: 0;
  padding-top: 0;
  z-index: 1;
}

/* Tighten up the form area when hero is above */
body.wp-hotel-booking-page .hotel_booking_wrapper,
body.wp-hotel-booking-page .container.room-container {
  padding-top: 40px !important;
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* When hero is present, remove old top padding from wrapper */
body.wp-hotel-booking-page .bi-book-hero ~ .hotel_booking_wrapper,
body.wp-hotel-booking-page .bi-book-hero ~ .container.room-container,
body.wp-hotel-booking-page .bi-book-hero ~ .hotel-booking-search {
  padding-top: 30px !important;
}


/* Hide plugin-generated headings on booking page */
body.wp-hotel-booking-page .hotel_booking_wrapper > h2:first-child,
body.wp-hotel-booking-page .hotel_booking_wrapper > h1:first-child,
body.wp-hotel-booking-page .container.room-container > h2:first-child,
body.wp-hotel-booking-page .container.room-container > h1:first-child,
body.wp-hotel-booking-page .hb-search-page > h1:first-of-type,
body.wp-hotel-booking-page .hb-search-page > h2:first-of-type,
body.wp-hotel-booking-page h1.hb-search-heading,
body.wp-hotel-booking-page h2.hb-search-heading {
  display: none !important;
}

/* Hide "No room found" message — room will show after search */
body.wp-hotel-booking-page .hb-search-results .hb-no-room,
body.wp-hotel-booking-page .hb-search-results .hb_no_room,
body.wp-hotel-booking-page .hb-search-results p:empty,
body.wp-hotel-booking-page .hb-message {
  display: none !important;
}

/* Hide sort-by row */
body.wp-hotel-booking-page .hb-search-results .hb-search-sort,
body.wp-hotel-booking-page .hb-search-results [class*="sort"],
body.wp-hotel-booking-page .hb-search-results [class*="ordering"] {
  display: none !important;
}


/* ============================================================
   AVAILABILITY CHECKER — Dark overlapping card
   ============================================================ */
.bi-avail-card {
  background: #2a1f14;
  border-radius: 10px;
  padding: 32px 40px;
  max-width: 900px;
  margin: 0 auto;
  position: relative;
  z-index: 3;
  box-shadow: 0 12px 40px rgba(0,0,0,0.25);
}
.bi-avail-card .bi-avail-label {
  font-family: "Playfair Display", serif;
  font-size: 13px;
  color: rgba(255,255,255,0.5);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 20px;
}


/* Flatpickr dark theme when triggered from dark card */
.flatpickr-calendar {
  background: #2a1f14 !important;
  border: 1px solid rgba(184,118,42,0.25) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.3) !important;
}
.flatpickr-months, .flatpickr-month {
  background: #2a1f14 !important;
  color: #faf6f1 !important;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
  background: #2a1f14 !important;
  color: #faf6f1 !important;
}
.flatpickr-weekdays, span.flatpickr-weekday {
  background: #2a1f14 !important;
  color: rgba(255,255,255,0.4) !important;
}
.flatpickr-day {
  color: #faf6f1 !important;
}
.flatpickr-day:hover {
  background: rgba(184,118,42,0.2) !important;
  border-color: rgba(184,118,42,0.3) !important;
}
.flatpickr-day.selected {
  background: #b8762a !important;
  border-color: #b8762a !important;
}
.flatpickr-day.today {
  border-color: rgba(184,118,42,0.5) !important;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  fill: #faf6f1 !important;
  color: #faf6f1 !important;
}
.numInputWrapper input {
  color: #faf6f1 !important;
}


/* Availability split layout — image left, form right */
.bi-avail-split {
  display: flex;
  gap: 32px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 48px 40px;
  align-items: stretch;
}
.bi-avail-image {
  flex: 1.2 !important;
  border-radius: 10px;
  overflow: hidden;
  background: url("/wp-content/uploads/2026/03/room.jpg") center/cover no-repeat;
  min-height: 380px;
  box-shadow: 0 4px 20px rgba(42,31,20,0.12);
}
.bi-avail-split .bi-avail-card {
  flex: 0.8 !important;
  flex: 1;
  margin: 0 !important;
  border-radius: 10px !important;
  max-width: none !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media (max-width: 767px) {
  .bi-avail-split {
    flex-direction: column;
    padding: 24px 16px;
    gap: 20px;
  }
  .bi-avail-image {
  flex: 1.2 !important;
    min-height: 220px;
  }
}


/* Availability section heading */
.bi-avail-heading {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
  padding: 48px 40px 0;
}
.bi-avail-heading-eyebrow {
  font-family: "Source Serif Pro", serif;
  font-size: 13px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #b8762a;
  margin-bottom: 12px;
}
.bi-avail-heading-title {
  font-family: "Playfair Display", serif !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  color: #3d2b1a !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.15 !important;
}
.bi-avail-heading-sub {
  font-family: "Source Serif Pro", serif;
  font-size: 16px;
  color: rgba(61,43,26,0.6);
  line-height: 1.6;
  font-style: italic;
  margin: 0;
}


/* Direct booking CTA card content */
.bi-cta-price {
  font-family: "Source Serif Pro", serif;
  font-size: 16px;
  color: rgba(255,255,255,0.5);
  margin-bottom: 24px;
}
.bi-cta-price span {
  font-family: "Playfair Display", serif;
  font-size: 32px;
  font-weight: 700;
  color: #b8762a;
}
.bi-cta-features {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 28px 0 !important;
}
.bi-cta-features li {
  font-family: "Source Serif Pro", serif;
  font-size: 15px;
  color: rgba(255,255,255,0.7);
  padding: 8px 0;
  border-bottom: 1px solid rgba(184,118,42,0.12);
}
.bi-cta-features li:last-child {
  border-bottom: none;
}
.bi-cta-features li i {
  color: #b8762a;
  width: 20px;
  margin-right: 10px;
  text-align: center;
}
a.bi-cta-book {
  display: block;
  font-family: "Playfair Display", serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #ffffff;
  background: #b8762a;
  padding: 16px;
  border-radius: 5px;
  text-decoration: none;
  text-align: center;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}
a.bi-cta-book:hover {
  background: #c88a3a;
  box-shadow: 0 4px 20px rgba(184,118,42,0.4);
  color: #ffffff;
  text-decoration: none;
}
.bi-cta-sub {
  font-family: "Source Serif Pro", serif;
  font-size: 12px;
  color: rgba(255,255,255,0.35);
  text-align: center;
  margin: 12px 0 0 0;
}




/* ============================================================
   ROOM DETAIL PAGE
   ============================================================ */
body.single-hb_room .hb_single_room {
  display: none !important;
}



/* ============================================================
   CART & CHECKOUT — Brand styling for plugin shortcode output
   ============================================================ */

/* --- Shared typography --- */
.hb-cart-modern,
.hb-checkout-modern {
  font-family: "Source Serif Pro", serif;
  color: #3d2b1a;
}
.hb-cart-modern h1, .hb-cart-modern h2, .hb-cart-modern h3,
.hb-checkout-modern h1, .hb-checkout-modern h2, .hb-checkout-modern h3,
.hb-cart-total-title,
.hb-order-summary-title {
  font-family: "Playfair Display", serif;
  color: #3d2b1a;
}

/* --- Cart item row --- */
.hb-cart-item {
  border-bottom: 1px solid rgba(184,118,42,0.12);
}
.hb-cart-item-guests, .hb-order-item-guests { display: none; }
.hb-cart-item-title {
  font-family: "Playfair Display", serif;
  color: #3d2b1a;
  font-weight: 600;
}
.hb-meta-label {
  color: #7a6652;
}
.hb-price-amount,
.hb-col-price,
.hb-col-subtotal {
  color: #3d2b1a;
  font-weight: 600;
}

/* --- Cart totals box --- */
.hb-cart-total-box {
  background: #ffffff;
  border: 1px solid rgba(184,118,42,0.15);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(42,31,20,0.06);
}
.hb-cart-total-title {
  font-size: 20px;
  margin-bottom: 12px;
}
.hb-cart-total-row {
  border-bottom: 1px solid rgba(184,118,42,0.1);
}
.hb-cart-total-label {
  color: #5a4633;
}
.hb-cart-total-value {
  color: #3d2b1a;
  font-weight: 600;
}
.hb-cart-grand-total .hb-cart-total-value {
  font-family: "Playfair Display", serif;
  font-size: 22px;
  font-weight: 700;
  color: #b8762a;
}
.hb-cart-advance {
  background: rgba(184,118,42,0.06);
  border-radius: 4px;
}
.hb-cart-advance .hb-cart-total-label,
.hb-cart-advance .hb-cart-total-value {
  color: #b8762a;
}

/* --- Cart remove button --- */
.hb_remove_cart_item,
.hb-cart-item-remove a {
  color: #b8762a;
  opacity: 0.6;
  transition: opacity 0.2s;
}
.hb_remove_cart_item:hover,
.hb-cart-item-remove a:hover {
  opacity: 1;
}

/* --- Buttons (cart + checkout) --- */
a.hb-btn-checkout,
.hb-btn-checkout,
.hb-btn-place-order,
a.hb-btn-place-order {
  display: inline-block;
  font-family: "Playfair Display", serif;
  background: #b8762a !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 5px;
  padding: 14px 28px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}
a.hb-btn-checkout:hover,
.hb-btn-checkout:hover,
.hb-btn-place-order:hover,
a.hb-btn-place-order:hover {
  background: #c88a3a !important;
  box-shadow: 0 4px 20px rgba(184,118,42,0.3);
  color: #ffffff !important;
}

/* --- Checkout form --- */
.hb-checkout-wrapper .hb-form-field-label {
  font-family: "Source Serif Pro", serif;
  color: #5a4633;
  font-size: 13px;
  font-weight: 600;
}
.hb-checkout-wrapper input[type="text"],
.hb-checkout-wrapper input[type="email"],
.hb-checkout-wrapper input[type="tel"],
.hb-checkout-wrapper select,
.hb-checkout-wrapper textarea {
  font-family: "Source Serif Pro", serif;
  color: #3d2b1a;
  border: 1px solid rgba(184,118,42,0.2);
  border-radius: 4px;
  padding: 10px 12px;
  background: #ffffff;
  transition: border-color 0.2s;
}
.hb-checkout-wrapper input:focus,
.hb-checkout-wrapper select:focus,
.hb-checkout-wrapper textarea:focus {
  border-color: #b8762a;
  outline: none;
  box-shadow: 0 0 0 2px rgba(184,118,42,0.1);
}

/* --- Checkout order summary --- */
.hb-order-summary {
  background: #ffffff;
  border: 1px solid rgba(184,118,42,0.15);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(42,31,20,0.06);
}
.hb-order-summary-title,
.hb-order-summary-header {
  font-family: "Playfair Display", serif;
  color: #3d2b1a;
}
.hb-order-item-title {
  font-family: "Playfair Display", serif;
  color: #3d2b1a;
  font-weight: 600;
}
.hb-order-item-meta,
.hb-order-item-date,
.hb-order-item-guests {
  color: #7a6652;
  font-size: 13px;
}
.hb-order-subtotal-label,
.hb-order-label {
  color: #5a4633;
}
.hb-order-value {
  color: #3d2b1a;
  font-weight: 600;
}
.hb-order-total .hb-order-value {
  font-family: "Playfair Display", serif;
  font-size: 20px;
  font-weight: 700;
  color: #b8762a;
}

/* --- Coupon toggle --- */
.hb-coupon-toggle {
  color: #b8762a;
}

/* --- Terms & required --- */
.hb-order-terms label {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
  white-space: nowrap;
  font-size: 14px;
}
.hb-order-terms a {
  color: #b8762a;
}
.hb-order-terms a:hover {
  color: #c88a3a;
}
.hb-required {
  color: #b8762a;
}

/* --- Section headings inside checkout --- */
.hb-order-new-customer h3,
.hb-addition-information h3 {
  font-family: "Playfair Display", serif;
  color: #3d2b1a;
  font-size: 22px;
  margin-bottom: 16px;
}

/* --- Checkout columns --- */
.hb-checkout-left-column,
.hb-checkout-right-column {
  background: #ffffff;
  border: 1px solid rgba(184,118,42,0.1);
  border-radius: 8px;
  padding: 24px;
}

/* --- Quantity spinner --- */
.hb-quantity-control,
.hb-room-spinner {
  border-color: rgba(184,118,42,0.2);
  color: #3d2b1a;
}


/* ============================================================
   CART & CHECKOUT — Mobile responsive
   ============================================================ */
@media (max-width: 767px) {
  /* Checkout columns stack */
  .hb-checkout-wrapper {
    flex-direction: column;
  }
  .hb-checkout-left-column,
  .hb-checkout-right-column {
    width: 100%;
    padding: 16px;
  }

  /* Order summary full width */
  .hb-order-summary {
    width: 100%;
  }

  /* Terms label wrap on very small screens */
  .hb-order-terms label {
    white-space: normal;
    flex-wrap: wrap;
  }

  /* Cart columns stack */
  .hb-cart-wrapper {
    flex-direction: column;
  }
  .hb-cart-items-column,
  .hb-cart-total-column {
    width: 100%;
  }
  .hb-cart-total-column {
    position: static;
  }
  .hb-cart-total-box {
    margin-top: 16px;
  }

  /* Cart item layout */
  .hb-cart-item {
    padding: 12px 0;
  }

  /* Buttons full width on mobile */
  a.hb-btn-checkout,
  .hb-btn-checkout,
  .hb-btn-place-order,
  a.hb-btn-place-order {
    display: block;
    width: 100%;
    padding: 16px;
  }

  /* Section headings smaller */
  .hb-order-new-customer h3,
  .hb-addition-information h3 {
    font-size: 18px;
  }

  /* Cart grand total */
  .hb-cart-grand-total .hb-cart-total-value {
    font-size: 18px;
  }
}

/* Fix plugin body padding + WP content-size causing gaps on booking pages */
body.wp-hotel-booking-page {
  padding: 0 !important;
  margin: 0 !important;
  --wp--style--global--content-size: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden;
}
body.wp-hotel-booking-page .elementor-location-footer,
body.wp-hotel-booking-page .elementor-location-header {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
}
body.wp-hotel-booking-page .elementor-location-footer {
  overflow-x: hidden;
}

/* MotoPress Search Form */
form.mphb_sc_search-form,
.mphb_sc_search-wrapper form { display: grid !important; grid-template-columns: 1fr 1fr 1fr auto !important; gap: 16px !important; align-items: end !important; width: 100% !important; }
.mphb_sc_search-form .mphb-required-fields-tip,
.mphb_sc_search-form .mphb_sc_search-children,
.mphb_sc_search-form abbr,
.mphb_sc_search-form br { display: none !important; }
.mphb_sc_search-form > p { flex: 1 !important; margin: 0 !important; display: block !important; min-width: 0 !important; }
.mphb_sc_search-form > p.mphb_sc_search-check-in-date,
.mphb_sc_search-form > p.mphb_sc_search-check-out-date,
.mphb_sc_search-form > p.mphb_sc_search-adults { width: auto !important; }
.mphb_sc_search-form .mphb_sc_search-submit-button-wrapper { flex: 0 0 auto !important; }
.mphb_sc_search-form label { font-family: "Inter",sans-serif !important; font-size: 11px !important; letter-spacing: 2px !important; text-transform: uppercase !important; color: rgba(255,255,255,0.55) !important; margin-bottom: 6px !important; display: block !important; }
.mphb_sc_search-form .mphb_sc_search-adults label { font-size: 0 !important; }
.mphb_sc_search-form .mphb_sc_search-adults label::before { content: "GUESTS" !important; font-size: 11px !important; font-family: "Inter",sans-serif !important; letter-spacing: 2px !important; color: rgba(255,255,255,0.55) !important; }
.mphb_sc_search-form input[type="text"],
.mphb_sc_search-form select { background: rgba(255,255,255,0.08) !important; border: 1px solid rgba(255,255,255,0.2) !important; border-radius: 4px !important; color: rgba(255,255,255,0.85) !important; font-family: "Inter",sans-serif !important; font-size: 14px !important; padding: 13px 14px !important; width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; min-width: 0 !important; }
.mphb_sc_search-form input::placeholder { color: rgba(255,255,255,0.35) !important; }
.mphb_sc_search-form input:focus,
.mphb_sc_search-form select:focus { border-color: rgba(184,118,42,0.5) !important; outline: none !important; }
.mphb_sc_search-form select option { background: #2a1f14 !important; color: #fff !important; }
.mphb_sc_search-form button[type="submit"],
.mphb_sc_search-form .button,
.mphb_sc_search-form input[type="submit"],
p.mphb_sc_search-submit-button-wrapper button { background: #b8762a !important; color: #fff !important; font-family: "Playfair Display",serif !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 2.5px !important; text-transform: uppercase !important; border: none !important; border-radius: 4px !important; padding: 16px 32px !important; cursor: pointer !important; white-space: nowrap !important; transition: background 0.2s, box-shadow 0.2s !important; outline: none !important; box-shadow: none !important; height: 100% !important; }
.mphb_sc_search-form button[type="submit"]:hover,
p.mphb_sc_search-submit-button-wrapper button:hover { background: #c88a3a !important; box-shadow: 0 4px 16px rgba(184,118,42,0.3) !important; }
@media (max-width: 767px) { .mphb_sc_search-form { grid-template-columns: 1fr !important; } }

/* MotoPress Datepicker — Brand Accents Only (no td overrides) */
.datepick { border: 1px solid rgba(184,118,42,0.3) !important; border-radius: 8px !important; box-shadow: 0 8px 32px rgba(0,0,0,0.3) !important; overflow: hidden !important; }
.datepick .datepick-nav { background: #2a1f14 !important; }
.datepick .datepick-nav a { color: #b8762a !important; }
.datepick .datepick-cmd-clear,
.datepick .datepick-cmd-close { background: #352618 !important; color: #b8762a !important; }
.datepick .datepick-month-header { background: #352618 !important; color: #faf6f1 !important; font-family: "Playfair Display",serif !important; }
.datepick .datepick-month th { background: #352618 !important; color: rgba(250,246,241,0.6) !important; }
.datepick select { background: #352618 !important; color: #faf6f1 !important; border: 1px solid rgba(184,118,42,0.3) !important; }

/* ============================================================
   MOTOPRESS — Single Accommodation Page (single-mphb_room_type)
   ============================================================ */

/* Page background + top spacing for fixed header */
body.single-mphb_room_type {
  background: #faf6f1 !important;
}
body.single-mphb_room_type main.site-main {
  padding-top: 120px !important;
  padding-bottom: 80px !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  box-sizing: border-box !important;
}
@media (max-width: 767px) {
  body.single-mphb_room_type main.site-main {
    padding-top: 90px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* Post content: intro + description + amenities */
body.single-mphb_room_type .bi-room-intro {
  font-family: 'Source Serif Pro', serif !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #b8762a !important;
  margin-bottom: 12px !important;
}
body.single-mphb_room_type .bi-room-description {
  font-family: 'Source Serif Pro', serif !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  max-width: 800px !important;
  margin-bottom: 48px !important;
  color: rgba(61,43,26,0.7) !important;
  line-height: 1.7 !important;
}
body.single-mphb_room_type .bi-amenities {
  margin: 48px 0 !important;
  padding: 48px !important;
  background: #fff !important;
  border-radius: 8px !important;
  border: 1px solid rgba(184,118,42,0.15) !important;
}
body.single-mphb_room_type .bi-amenities h2 {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: 28px !important;
  color: #2a1f14 !important;
  margin-bottom: 32px !important;
}
body.single-mphb_room_type .bi-amenities-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
}
body.single-mphb_room_type .bi-amenities-grid ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.single-mphb_room_type .bi-amenities-grid li {
  padding: 10px 0 !important;
  border-bottom: 1px solid rgba(61,43,26,0.1) !important;
  font-family: 'Source Serif Pro', serif !important;
  font-size: 15px !important;
  color: rgba(61,43,26,0.7) !important;
}
body.single-mphb_room_type .bi-amenities-grid li::before {
  content: '2713' !important;
  color: #b8762a !important;
  margin-right: 10px !important;
  font-weight: 600 !important;
}
@media (max-width: 767px) {
  body.single-mphb_room_type .bi-amenities { padding: 24px !important; }
  body.single-mphb_room_type .bi-amenities-grid { grid-template-columns: 1fr !important; }
}

/* (MPHB hide rules moved to end of stylesheet for specificity) */

/* Section headings: Details / Availability / Reservation Form */
body.single-mphb_room_type h2.mphb-details-title,
body.single-mphb_room_type h2.mphb-calendar-title,
body.single-mphb_room_type h2.mphb-reservation-form-title {
  font-family: 'Playfair Display', serif !important;
  color: #2a1f14 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  border-bottom: 1px solid rgba(184,118,42,0.25) !important;
  padding-bottom: 10px !important;
  margin-top: 48px !important;
  margin-bottom: 20px !important;
  letter-spacing: 0 !important;
}

/* Details attribute list — 2-column grid */
body.single-mphb_room_type ul.mphb-single-room-type-attributes {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 24px 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px 32px !important;
}
@media (max-width: 600px) {
  body.single-mphb_room_type ul.mphb-single-room-type-attributes {
    grid-template-columns: 1fr !important;
  }
}
body.single-mphb_room_type .mphb-attribute-title {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: rgba(42,31,20,0.5) !important;
  font-weight: 600 !important;
  display: block !important;
  margin-bottom: 3px !important;
}
body.single-mphb_room_type .mphb-attribute-value {
  font-family: 'Source Serif Pro', Georgia, serif !important;
  font-size: 16px !important;
  color: #2a1f14 !important;
}

/* Pricing */
body.single-mphb_room_type p.mphb-regular-price {
  font-family: 'Inter', sans-serif !important;
  color: rgba(42,31,20,0.7) !important;
  font-size: 15px !important;
  margin: 20px 0 0 0 !important;
}
body.single-mphb_room_type .mphb-price {
  font-family: 'Playfair Display', serif !important;
  color: #b8762a !important;
  font-size: 24px !important;
  font-weight: 700 !important;
}

/* Booking form layout */
body.single-mphb_room_type .mphb-booking-form {
  background: #fff !important;
  border: 1px solid rgba(184,118,42,0.15) !important;
  border-radius: 8px !important;
  padding: 32px !important;
  box-shadow: 0 4px 20px rgba(42,31,20,0.06) !important;
  max-width: 560px !important;
}
body.single-mphb_room_type .mphb-booking-form p {
  margin-bottom: 16px !important;
}
body.single-mphb_room_type .mphb-booking-form label {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: rgba(42,31,20,0.55) !important;
  display: block !important;
  margin-bottom: 6px !important;
}
body.single-mphb_room_type .mphb-booking-form input[type="text"],
body.single-mphb_room_type .mphb-booking-form select {
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  color: #2a1f14 !important;
  background: #faf6f1 !important;
  border: 1px solid rgba(42,31,20,0.2) !important;
  border-radius: 4px !important;
  padding: 12px 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body.single-mphb_room_type .mphb-booking-form input[type="text"]:focus,
body.single-mphb_room_type .mphb-booking-form select:focus {
  border-color: #b8762a !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(184,118,42,0.12) !important;
}
body.single-mphb_room_type .mphb-required-fields-tip {
  color: rgba(42,31,20,0.4) !important;
  font-size: 13px !important;
}

/* Check Availability / Reserve button */
body.single-mphb_room_type input.mphb-reserve-btn,
body.single-mphb_room_type .mphb-reserve-btn-wrapper input {
  background: #b8762a !important;
  color: #fff !important;
  font-family: 'Playfair Display', serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 16px 40px !important;
  cursor: pointer !important;
  width: 100% !important;
  transition: background 0.2s, box-shadow 0.2s !important;
}
body.single-mphb_room_type input.mphb-reserve-btn:hover {
  background: #c88a3a !important;
  box-shadow: 0 4px 16px rgba(184,118,42,0.3) !important;
}

/* Hide children field — whole-cabin rental, not a per-room booking */
body.single-mphb_room_type .mphb-children-wrapper {
  display: none !important;
}

/* Hide comments form — not appropriate on a booking page */
body.single-mphb_room_type #respond,
body.single-mphb_room_type .comment-respond {
  display: none !important;
}

/* ============================================================
   MPHB — Hide only the duplicate entry title (Elementor has its own)
   Keep Details, Calendar, and Reservation Form visible (native plugin)
   ============================================================ */
body.single-mphb_room_type > h1.entry-title {
  display: none !important;
}

/* MPHB native sections render naturally — no hide rules needed */

/* Constrain MPHB auto-injected elements to page width */
body.single-mphb_room_type > h2.mphb-details-title,
body.single-mphb_room_type > ul.mphb-single-room-type-attributes,
body.single-mphb_room_type > p.mphb-regular-price,
body.single-mphb_room_type > h2.mphb-calendar-title,
body.single-mphb_room_type > .mphb-calendar,
body.single-mphb_room_type > h2.mphb-reservation-form-title,
body.single-mphb_room_type > form.mphb-booking-form {
  max-width: 900px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  box-sizing: border-box !important;
}
@media (max-width: 767px) {
  body.single-mphb_room_type > h2.mphb-details-title,
  body.single-mphb_room_type > ul.mphb-single-room-type-attributes,
  body.single-mphb_room_type > p.mphb-regular-price,
  body.single-mphb_room_type > h2.mphb-calendar-title,
  body.single-mphb_room_type > .mphb-calendar,
  body.single-mphb_room_type > h2.mphb-reservation-form-title,
  body.single-mphb_room_type > form.mphb-booking-form {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* Style MPHB search button to match header BOOK NOW */
.mphb_sc_search-submit-button-wrapper button,
.mphb_sc_search-submit-button-wrapper input[type="submit"],
p.mphb_sc_search-submit-button-wrapper button {
  background: #b8762a !important;
  color: #ffffff !important;
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 14px 32px !important;
  cursor: pointer !important;
  transition: background 0.2s, box-shadow 0.2s !important;
  white-space: nowrap !important;
}
.mphb_sc_search-submit-button-wrapper button:hover,
.mphb_sc_search-submit-button-wrapper input[type="submit"]:hover {
  background: #c88a3a !important;
  box-shadow: 0 4px 20px rgba(184,118,42,0.4) !important;
}


/* ============================================================
   MPHB — Rename "Adults" to "Guests" + hide children field
   ============================================================ */
.mphb-adults-wrapper label,
.mphb_sc_search-adults label,
.mphb-booking-form .mphb-adults-wrapper label {
  font-size: 0 !important;
}
.mphb-adults-wrapper label::before,
.mphb_sc_search-adults label::before,
.mphb-booking-form .mphb-adults-wrapper label::before {
  content: "Guests" !important;
  font-size: 11px !important;
  font-family: 'Source Serif Pro', serif !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}
.mphb-children-wrapper,
.mphb_sc_search-children {
  display: none !important;
}

/* ============================================================
   MPHB — Global button styling (all MPHB pages)
   ============================================================ */
.mphb-reserve-btn,
.mphb-confirm-reservation,
.mphb-book-button,
input.mphb-reserve-btn,
button.mphb-confirm-reservation,
.mphb-booking-form input[type="submit"],
.mphb-booking-form button[type="submit"],
.mphb-recommendation input[type="submit"],
.mphb-recommendation button[type="submit"],
.mphb-reservation-cart input[type="submit"],
.mphb-reservation-cart button[type="submit"],
.mphb_sc_checkout-wrapper input[type="submit"],
.mphb_sc_checkout-wrapper button[type="submit"],
.mphb_sc_booking_confirmation-wrapper input[type="submit"],
.mphb_sc_booking_confirmation-wrapper button[type="submit"],
.mphb_sc_search_results-wrapper input[type="submit"],
.mphb_sc_search_results-wrapper button[type="submit"] {
  background: #b8762a !important;
  color: #fff !important;
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 16px 40px !important;
  cursor: pointer !important;
  transition: background 0.2s, box-shadow 0.2s !important;
}
.mphb-reserve-btn:hover,
.mphb-confirm-reservation:hover,
.mphb-book-button:hover,
input.mphb-reserve-btn:hover,
.mphb-booking-form input[type="submit"]:hover,
.mphb-booking-form button[type="submit"]:hover,
.mphb-recommendation input[type="submit"]:hover,
.mphb-reservation-cart input[type="submit"]:hover,
.mphb_sc_checkout-wrapper input[type="submit"]:hover,
.mphb_sc_checkout-wrapper button[type="submit"]:hover,
.mphb_sc_booking_confirmation-wrapper input[type="submit"]:hover,
.mphb_sc_search_results-wrapper input[type="submit"]:hover {
  background: #c88a3a !important;
  box-shadow: 0 4px 16px rgba(184,118,42,0.3) !important;
}

/* ============================================================
   MPHB PAGES — Search Results + Booking Confirmation
   ============================================================ */

/* Shared page styling for MPHB shortcode pages */
.page-template-default .mphb_sc_search_results-wrapper,
.page-template-default .mphb_sc_checkout-wrapper,
.page-template-default .mphb_sc_booking_confirmation-wrapper {
  font-family: 'Source Serif Pro', serif !important;
  color: #2a1f14 !important;
  max-width: 900px !important;
  margin: 0 auto !important;
}

/* Page titles on MPHB pages */
.page-id-1810 .entry-title,
.page-id-1812 .entry-title,
.page-id-1813 .entry-title {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: 36px !important;
  color: #2a1f14 !important;
  margin-bottom: 8px !important;
}

/* ============================================================
   MPHB PAGES — Brand styling only (default plugin layout)
   ============================================================ */

/* Search results room card */
.mphb_sc_search_results-wrapper .mphb-room-type {
  background: #ffffff !important;
  border: 1px solid rgba(61,43,26,0.1) !important;
  border-radius: 8px !important;
  padding: 32px !important;
  margin-bottom: 24px !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type h2 a,
.mphb_sc_search_results-wrapper .mphb-room-type h2 {
  font-family: 'Playfair Display', serif !important;
  color: #2a1f14 !important;
  text-decoration: none !important;
  font-size: 24px !important;
}

.mphb_sc_search_results-wrapper .mphb-room-type .mphb-price {
  font-family: 'Playfair Display', serif !important;
  color: #b8762a !important;
  font-size: 22px !important;
  font-weight: 700 !important;
}

/* Book button in search results */
.mphb_sc_search_results-wrapper button[type="submit"],
.mphb_sc_search_results-wrapper input[type="submit"],
.mphb_sc_search_results-wrapper .button {
  background: #b8762a !important;
  color: #fff !important;
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 14px 32px !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}

.mphb_sc_search_results-wrapper button:hover,
.mphb_sc_search_results-wrapper input[type="submit"]:hover {
  background: #c88a3a !important;
}

/* ============================================================
   CHECKOUT / BOOKING CONFIRMATION — Full brand styling
   ============================================================ */

/* Page layout */
.page-id-1812 .site-main,
.page-id-1813 .site-main {
  max-width: 800px !important;
  margin: 0 auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}

/* Main wrapper card */
.mphb_sc_checkout-wrapper,
.mphb_sc_booking_confirmation-wrapper {
  font-family: 'Source Serif Pro', serif !important;
  color: #2a1f14 !important;
}

/* Section headings */
.mphb_sc_checkout-wrapper h3,
.mphb_sc_checkout-wrapper h4,
.mphb_sc_booking_confirmation-wrapper h3,
.mphb_sc_booking_confirmation-wrapper h4 {
  font-family: 'Playfair Display', serif !important;
  color: #2a1f14 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  margin-top: 32px !important;
  margin-bottom: 16px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid rgba(184,118,42,0.25) !important;
}

/* Booking details text */
.mphb_sc_checkout-wrapper p,
.mphb_sc_booking_confirmation-wrapper p {
  font-family: 'Source Serif Pro', serif !important;
  font-size: 15px !important;
  color: rgba(42,31,20,0.7) !important;
  line-height: 1.6 !important;
}

/* Price breakdown table */
.mphb_sc_checkout-wrapper table,
.mphb_sc_booking_confirmation-wrapper table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 16px 0 32px !important;
  font-family: 'Source Serif Pro', serif !important;
}
.mphb_sc_checkout-wrapper table th,
.mphb_sc_booking_confirmation-wrapper table th {
  font-family: 'Source Serif Pro', serif !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: rgba(42,31,20,0.5) !important;
  background: #faf6f1 !important;
  padding: 12px 16px !important;
  text-align: left !important;
}
.mphb_sc_checkout-wrapper table td,
.mphb_sc_booking_confirmation-wrapper table td {
  padding: 12px 16px !important;
  border-bottom: 1px solid rgba(61,43,26,0.08) !important;
  font-size: 15px !important;
  color: #2a1f14 !important;
}
.mphb_sc_checkout-wrapper table td:last-child,
.mphb_sc_booking_confirmation-wrapper table td:last-child {
  text-align: right !important;
  font-weight: 600 !important;
}

/* Total price row */
.mphb_sc_checkout-wrapper .mphb-price,
.mphb_sc_booking_confirmation-wrapper .mphb-price {
  font-family: 'Playfair Display', serif !important;
  color: #b8762a !important;
  font-weight: 700 !important;
  font-size: 20px !important;
}

/* Total price display */
.mphb_sc_checkout-wrapper .mphb-total-price,
.mphb_sc_checkout-wrapper [class*="total"] {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
}

/* Form labels */
.mphb_sc_checkout-wrapper label,
.mphb_sc_booking_confirmation-wrapper label {
  font-family: 'Source Serif Pro', serif !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: rgba(42,31,20,0.55) !important;
  display: block !important;
  margin-bottom: 6px !important;
}

/* Form inputs */
.mphb_sc_checkout-wrapper input[type="text"],
.mphb_sc_checkout-wrapper input[type="email"],
.mphb_sc_checkout-wrapper input[type="tel"],
.mphb_sc_checkout-wrapper input[type="number"],
.mphb_sc_checkout-wrapper select,
.mphb_sc_checkout-wrapper textarea {
  font-family: 'Source Serif Pro', serif !important;
  font-size: 15px !important;
  color: #2a1f14 !important;
  background: #faf6f1 !important;
  border: 1px solid rgba(42,31,20,0.2) !important;
  border-radius: 4px !important;
  padding: 12px 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.mphb_sc_checkout-wrapper input:focus,
.mphb_sc_checkout-wrapper select:focus,
.mphb_sc_checkout-wrapper textarea:focus {
  border-color: #b8762a !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(184,118,42,0.12) !important;
}

/* Submit button */
.mphb_sc_checkout-wrapper button[type="submit"],
.mphb_sc_checkout-wrapper input[type="submit"],
.mphb_sc_booking_confirmation-wrapper button[type="submit"],
.mphb_sc_booking_confirmation-wrapper input[type="submit"] {
  background: #b8762a !important;
  color: #fff !important;
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 16px 40px !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  width: 100% !important;
  max-width: 400px !important;
  display: block !important;
  margin: 24px auto 0 !important;
}

.mphb_sc_checkout-wrapper button:hover,
.mphb_sc_checkout-wrapper input[type="submit"]:hover,
.mphb_sc_booking_confirmation-wrapper button:hover {
  background: #c88a3a !important;
}

/* Error messages */
.mphb_sc_checkout-wrapper .mphb-errors-wrapper,
.mphb_sc_checkout-wrapper [class*="error"] {
  color: #c0392b !important;
  font-family: 'Source Serif Pro', serif !important;
  font-size: 14px !important;
}

/* Links in checkout */
.mphb_sc_checkout-wrapper a {
  color: #b8762a !important;
}
.mphb_sc_checkout-wrapper a:hover {
  color: #c88a3a !important;
}/* End custom CSS */