/*
 Theme Name:   My Lil Piece of Heaven
 Theme URI:    https://mylilpieceofheaven.com
 Description:  Storybook child theme for Blocksy — whimsical, warm, grounded.
 Author:       Rick
 Template:     blocksy
 Version:      1.2.20
 Text Domain:  mlpoh
*/

/* ==========================================================================
   Design Tokens — derived from the storybook illustrations & property photos
   ========================================================================== */

:root {
  /* Primary — the red barn cabins */
  --mlpoh-barn:        #8B3A3A;
  --mlpoh-barn-light:  #A85050;
  --mlpoh-barn-dark:   #6B2828;

  /* Secondary — PNW forest & meadow */
  --mlpoh-meadow:       #5B8C5A;
  --mlpoh-meadow-light: #7AAD79;
  --mlpoh-meadow-dark:  #3E6B3D;

  /* Accents */
  --mlpoh-honey:    #C69C3F;
  --mlpoh-lake:     #7BA7C7;
  --mlpoh-sunset:   #D4A0B9;
  --mlpoh-sky:      #E8D5C4;

  /* Neutrals — warm, never grey */
  --mlpoh-cream:    #FAF6F0;
  --mlpoh-parchment:#EDE5D8;
  --mlpoh-bark:     #2E1F14;
  --mlpoh-bark-mid: #5C4A3A;
  --mlpoh-bark-soft:#8B7D6E;

  /* Functional */
  --mlpoh-radius:   12px;
  --mlpoh-radius-lg:20px;
  --mlpoh-shadow:   0 4px 20px rgba(46, 31, 20, 0.08);
  --mlpoh-shadow-lg:0 8px 40px rgba(46, 31, 20, 0.12);
}


/* ==========================================================================
   Global Typography
   ========================================================================== */

body {
  color: var(--mlpoh-bark);
  background-color: var(--mlpoh-cream);
}

h1, h2, h3, h4, h5, h6 {
  color: var(--mlpoh-barn-dark);
  letter-spacing: -0.01em;
}

a {
  color: var(--mlpoh-meadow-dark);
}
a:hover {
  color: var(--mlpoh-meadow);
}


/* ==========================================================================
   Storybook Card Style — for cabin cards, service cards, etc.
   ========================================================================== */

.mlpoh-card {
  background: #fff;
  border-radius: var(--mlpoh-radius-lg);
  box-shadow: var(--mlpoh-shadow);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.mlpoh-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--mlpoh-shadow-lg);
}


/* ==========================================================================
   Cabin Theme Accents — each cabin gets its own color identity
   ========================================================================== */

.cabin-alien    { --cabin-accent: #5B6E8C; --cabin-glow: #8EA4C7; }
.cabin-sea      { --cabin-accent: #4A8C8C; --cabin-glow: #7BC4C4; }
.cabin-gnomes   { --cabin-accent: #8B6B3A; --cabin-glow: #C69C3F; }
.cabin-bears    { --cabin-accent: #7A5B3A; --cabin-glow: #A88B5E; }


/* ==========================================================================
   Button Styles
   ========================================================================== */

.wp-block-button__link,
.wp-element-button {
  border-radius: var(--mlpoh-radius) !important;
  font-weight: 700;
  letter-spacing: 0.02em;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wp-block-button__link:hover,
.wp-element-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(46, 31, 20, 0.15);
}


/* ==========================================================================
   Hero Section
   ========================================================================== */

.mlpoh-hero {
  position: relative;
  overflow: visible;
  border-radius: 0 0 var(--mlpoh-radius-lg) var(--mlpoh-radius-lg);
  aspect-ratio: 2752 / 1536;
  min-height: auto !important;
  box-shadow: 0 8px 30px rgba(46, 31, 20, 0.18);
}
.mlpoh-hero .wp-block-cover__inner-container {
  margin-bottom: 100px !important;
  text-align: center;
}


/* ==========================================================================
   Section Dividers — subtle organic curves instead of hard lines
   ========================================================================== */

.mlpoh-wave-top {
  margin-bottom: -2px;
}

.mlpoh-wave-bottom {
  margin-top: -2px;
}


/* ==========================================================================
   Blocksy Overrides — gentle adjustments to match the storybook feel
   ========================================================================== */

/* Softer site header — logo overlaps into hero */
header[data-id="type-1"],
[data-id="type-1"] .site-header-row {
  background: rgba(250, 246, 240, 0.95) !important;
  backdrop-filter: blur(10px);
}
header[data-id="type-1"] {
  position: relative;
  z-index: 10;
  overflow: visible !important;
}
[data-id="type-1"] [data-row="middle"] {
  overflow: visible !important;
}
@media (min-width: 690px) {
  [data-id="type-1"] [data-row="middle"] {
    --height: 80px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  [data-id="type-1"] [data-row="middle"] .ct-container {
    overflow: visible !important;
    grid-template-rows: auto !important;
    min-height: 80px !important;
  }
  [data-id="type-1"] [data-id="logo"] {
    position: relative;
    z-index: 11;
    height: 80px !important;
    overflow: visible !important;
    align-self: start !important;
    display: flex !important;
    align-items: flex-start !important;
  }
  [data-id="type-1"] [data-id="logo"] img {
    max-height: 200px !important;
    width: auto !important;
    filter: drop-shadow(0 4px 8px rgba(46, 31, 20, 0.15));
  }
}
[data-id="type-1"] .header-menu-1 .ct-menu-link {
  font-size: 0.85rem !important;
  font-weight: 600;
  letter-spacing: 0.03em;
}

/* --- Nav: dropdown parent no-op links --- */
.mlpoh-nav-dropdown > .ct-menu-link[href="#"] {
  cursor: default;
  pointer-events: none;
}
.mlpoh-nav-dropdown {
  cursor: pointer;
}

/* --- Nav: CTA button --- */
.mlpoh-nav-cta {
  align-self: center !important;
}
.mlpoh-nav-cta > .ct-menu-link {
  background: var(--mlpoh-barn) !important;
  color: var(--mlpoh-cream) !important;
  border-radius: var(--mlpoh-radius) !important;
  padding: 0.4rem 1rem !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.02em;
  transition: background 0.2s ease, transform 0.15s ease;
}
.mlpoh-nav-cta > .ct-menu-link:hover {
  background: var(--mlpoh-barn-dark) !important;
  transform: translateY(-1px);
}

/* --- Nav: My Account person icon --- */
.mlpoh-nav-account {
  align-self: center !important;
  margin-left: 0.5rem !important;
}
[data-id="type-1"] .header-menu-1 .mlpoh-nav-account > .ct-menu-link {
  font-size: 0 !important;
  line-height: 1;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 36px !important;
  min-height: 36px !important;
  padding: 0.3rem !important;
  border: 1.5px solid var(--mlpoh-bark-soft) !important;
  border-radius: 50% !important;
  transition: border-color 0.2s ease, background 0.2s ease;
}
[data-id="type-1"] .header-menu-1 .mlpoh-nav-account > .ct-menu-link:hover {
  border-color: var(--mlpoh-barn) !important;
  background: rgba(139, 58, 58, 0.06) !important;
}
.mlpoh-nav-account > .ct-menu-link svg {
  display: block;
  width: 20px;
  height: 20px;
}

/* --- Nav: dropdown submenus --- */
.header-menu-1 .sub-menu {
  background: rgba(250, 246, 240, 0.98) !important;
  border: 1px solid var(--mlpoh-parchment);
  border-radius: var(--mlpoh-radius);
  box-shadow: 0 4px 16px rgba(46, 31, 20, 0.1);
  min-width: 180px;
}
.header-menu-1 .sub-menu .ct-menu-link {
  padding: 0.5rem 1.1rem !important;
  font-size: 0.9rem;
  color: var(--mlpoh-bark) !important;
}
.header-menu-1 .sub-menu .ct-menu-link:hover {
  background: var(--mlpoh-parchment) !important;
  color: var(--mlpoh-barn) !important;
}

/* --- Mobile offcanvas menu --- */
#offcanvas {
  background: var(--mlpoh-cream) !important;
}
#offcanvas .ct-panel-inner {
  background: var(--mlpoh-cream) !important;
}
#offcanvas .ct-toggle-close {
  color: var(--mlpoh-bark-mid) !important;
}
#offcanvas .ct-toggle-close:hover {
  color: var(--mlpoh-barn) !important;
}
#offcanvas .mobile-menu .ct-menu-link {
  color: var(--mlpoh-bark) !important;
  font-size: 1rem;
  font-weight: 600;
  border-bottom: 1px solid var(--mlpoh-parchment);
  padding: 0.85rem 1.25rem !important;
  min-height: 48px;
  display: flex;
  align-items: center;
}
#offcanvas .mobile-menu .ct-menu-link:hover {
  color: var(--mlpoh-barn) !important;
  background: var(--mlpoh-parchment) !important;
}
#offcanvas .mobile-menu .sub-menu .ct-menu-link {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--mlpoh-bark-mid) !important;
  padding-left: 2rem !important;
  min-height: 44px;
}
#offcanvas .mobile-menu .sub-menu .ct-menu-link:hover {
  color: var(--mlpoh-barn) !important;
}
#offcanvas .ct-expand-button {
  color: var(--mlpoh-bark-mid) !important;
}
#offcanvas .ct-expand-button:hover {
  color: var(--mlpoh-barn) !important;
}
/* Hamburger trigger icon */
[data-id="trigger"] {
  color: var(--mlpoh-bark-mid) !important;
}
[data-id="trigger"]:hover {
  color: var(--mlpoh-barn) !important;
}

/* Push content below logo overflow on non-home pages */
@media (min-width: 690px) {
  body:not(.page-id-4) .site-main {
    padding-top: 120px;
  }
}

/* Footer */
footer.ct-footer {
  background: var(--mlpoh-bark) !important;
  color: var(--mlpoh-parchment) !important;
  padding: 2.5rem 0 1.5rem !important;
}
footer.ct-footer .ct-footer-copyright {
  text-align: center;
}
.mlpoh-footer-name {
  font-family: var(--mlpoh-font-display, 'Fredoka', sans-serif);
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--mlpoh-cream) !important;
  margin: 0 0 0.3rem;
}
.mlpoh-footer-tagline {
  font-size: 0.95rem;
  color: var(--mlpoh-bark-soft) !important;
  margin: 0 0 1.25rem;
  line-height: 1.5;
}
.mlpoh-footer-legal {
  font-size: 0.9rem;
  margin: 0 0 1rem;
  letter-spacing: 0.02em;
}
.mlpoh-footer-legal a {
  color: var(--mlpoh-honey) !important;
  text-decoration: none;
  transition: color 0.2s ease;
}
.mlpoh-footer-legal a:hover {
  color: var(--mlpoh-sky) !important;
  text-decoration: underline;
}
.mlpoh-footer-copy {
  font-size: 0.8rem;
  color: var(--mlpoh-bark-soft) !important;
  margin: 0;
  padding-top: 1rem;
  border-top: 1px solid rgba(237, 229, 216, 0.15);
}
footer.ct-footer a {
  color: var(--mlpoh-honey) !important;
}
footer.ct-footer a:hover {
  color: var(--mlpoh-sky) !important;
}


/* ==========================================================================
   Utility Classes
   ========================================================================== */

.bg-cream     { background-color: var(--mlpoh-cream); }
.bg-parchment { background-color: var(--mlpoh-parchment); }
.bg-barn      { background-color: var(--mlpoh-barn); color: #fff; }
.bg-meadow    { background-color: var(--mlpoh-meadow); color: #fff; }
.text-barn    { color: var(--mlpoh-barn); }
.text-meadow  { color: var(--mlpoh-meadow); }
.text-honey   { color: var(--mlpoh-honey); }
.text-lake    { color: var(--mlpoh-lake); }



/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 689px) {
  :root {
    --mlpoh-radius: 8px;
    --mlpoh-radius-lg: 14px;
  }
}

/* Hide "This service is available in a Package" block in catalog service detail */
.am-fcis__include-wrapper {
  display: none !important;
}


/* ==========================================================================
   MotoPress Hotel Booking — MLPOH Brand Styling
   ========================================================================== */

/* --------------- Search Form — horizontal bar --------------- */

.mphb_sc_search-wrapper {
  background: #fff;
  border-radius: var(--mlpoh-radius-lg);
  box-shadow: var(--mlpoh-shadow);
  padding: 1.5rem 2rem;
  margin-bottom: 2.5rem;
}

.mphb_sc_search-form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1rem;
}

.mphb_sc_search-form > p {
  flex: 1 1 180px;
  margin: 0;
}

.mphb_sc_search-form > p.mphb-required-fields-tip {
  display: none;
}

.mphb_sc_search-form label {
  display: block;
  font-family: var(--mlpoh-font-display) !important;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--mlpoh-barn-dark);
  margin-bottom: 0.4rem;
  letter-spacing: 0.02em;
}

.mphb_sc_search-form label br {
  display: none;
}

.mphb_sc_search-form input[type="text"],
.mphb_sc_search-form select {
  width: 100%;
  padding: 0.7rem 1rem;
  border: 2px solid var(--mlpoh-parchment);
  border-radius: var(--mlpoh-radius);
  background: var(--mlpoh-cream);
  color: var(--mlpoh-bark);
  font-size: 0.95rem;
  transition: border-color 0.2s ease;
}

.mphb_sc_search-form input[type="text"]:focus,
.mphb_sc_search-form select:focus {
  border-color: var(--mlpoh-meadow);
  outline: none;
  box-shadow: 0 0 0 3px rgba(91, 140, 90, 0.15);
}

.mphb_sc_search-submit-button-wrapper {
  flex: 0 0 auto;
}

.mphb_sc_search-form input[type="submit"],
.mphb_sc_search-form button[type="submit"] {
  background: var(--mlpoh-barn) !important;
  color: #fff !important;
  border: none;
  border-radius: var(--mlpoh-radius);
  padding: 0.75rem 2rem;
  font-family: var(--mlpoh-font-display) !important;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  letter-spacing: 0.02em;
}

.mphb_sc_search-form input[type="submit"]:hover,
.mphb_sc_search-form button[type="submit"]:hover {
  background: var(--mlpoh-barn-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(139, 58, 58, 0.3);
}

/* --------------- Accommodation Single — hide post meta --------------- */
.mphb_room_type .entry-meta {
  display: none !important;
}

/* --------------- Accommodation Cards — grid layout --------------- */

.mphb_sc_rooms-wrapper.mphb-room-types {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  align-items: stretch;
}

/* Override MotoPress's vertical-list margin (grid gap handles spacing) */
.mphb_sc_rooms-wrapper .mphb-room-type:not(:first-of-type) {
  margin-top: 0 !important;
}

.mphb-room-type {
  background: #fff;
  border-radius: var(--mlpoh-radius-lg);
  box-shadow: var(--mlpoh-shadow);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.mphb-room-type:hover {
  transform: translateY(-4px);
  box-shadow: var(--mlpoh-shadow-lg);
}

/* Room type image */
.mphb-room-type .mphb-loop-room-thumbnail {
  border-radius: var(--mlpoh-radius-lg) var(--mlpoh-radius-lg) 0 0;
  overflow: hidden;
  aspect-ratio: 16 / 10;
}

.mphb-room-type .mphb-loop-room-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Content area within the card */
.mphb-room-type > *:not(.mphb-loop-room-thumbnail) {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

/* Room title */
.mphb-room-type-title.entry-title {
  font-family: var(--mlpoh-font-display) !important;
  font-size: 1.35rem;
  color: var(--mlpoh-barn-dark);
  margin: 1.25rem 0 0.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.mphb-room-type-title a {
  color: var(--mlpoh-barn-dark) !important;
  text-decoration: none;
}

.mphb-room-type-title a:hover {
  color: var(--mlpoh-barn) !important;
}

/* Excerpt */
.mphb-room-type > p {
  color: var(--mlpoh-bark-mid);
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0 0 1rem;
}

/* Details section */
.mphb-room-type-details-title {
  font-family: var(--mlpoh-font-display) !important;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--mlpoh-bark-soft);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0.75rem 0 0.5rem;
  border-top: 1px solid var(--mlpoh-parchment);
  padding-top: 0.75rem;
}

/* Attributes list */
.mphb-loop-room-type-attributes {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1rem;
}

.mphb-loop-room-type-attributes li {
  font-size: 0.88rem;
  color: var(--mlpoh-bark-mid);
  display: flex;
  align-items: baseline;
  gap: 0.3rem;
}

.mphb-attribute-title {
  font-weight: 700;
  color: var(--mlpoh-bark);
  white-space: nowrap;
}

.mphb-attribute-value {
  color: var(--mlpoh-bark-mid);
}

/* Facilities/amenities as tags */
.mphb-room-type-facilities .mphb-attribute-value {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.mphb-room-type-facilities .mphb-attribute-value span {
  display: inline-block;
}

.mphb-room-type-facilities .mphb-attribute-value a {
  display: inline-block;
  background: var(--mlpoh-cream);
  color: var(--mlpoh-bark-mid);
  padding: 0.15rem 0.6rem;
  border-radius: 20px;
  font-size: 0.78rem;
  text-decoration: none;
  border: 1px solid var(--mlpoh-parchment);
  transition: background 0.2s ease, color 0.2s ease;
}

.mphb-room-type-facilities .mphb-attribute-value a:hover {
  background: var(--mlpoh-meadow);
  color: #fff;
  border-color: var(--mlpoh-meadow);
}

/* Price display */
.mphb-room-type .mphb-regular-price {
  padding: 0.75rem 1.5rem;
  margin: 0;
  border-top: 1px solid var(--mlpoh-parchment);
}


.mphb-room-type .mphb-price {
  font-family: var(--mlpoh-font-display) !important;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--mlpoh-barn);
}

.mphb-price .mphb-currency {
  font-size: 1rem;
  vertical-align: super;
  margin-right: 1px;
}

.mphb-price-period {
  font-size: 0.85rem;
  color: var(--mlpoh-bark-soft);
  font-weight: 400;
}

/* Action buttons */
.mphb-to-book-btn-wrapper,
.mphb-view-details-button-wrapper {
  padding: 0 1.5rem 1.5rem;
  display: flex;
  gap: 0.75rem;
}

.mphb-book-button {
  display: inline-block;
  background: var(--mlpoh-barn) !important;
  color: #fff !important;
  border: none;
  border-radius: var(--mlpoh-radius);
  padding: 0.65rem 1.5rem;
  font-family: var(--mlpoh-font-display) !important;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  letter-spacing: 0.02em;
}

.mphb-book-button:hover {
  background: var(--mlpoh-barn-dark) !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(139, 58, 58, 0.3);
}

.mphb-view-details-button {
  display: inline-block;
  background: transparent !important;
  color: var(--mlpoh-meadow-dark) !important;
  border: 2px solid var(--mlpoh-meadow) !important;
  border-radius: var(--mlpoh-radius);
  padding: 0.55rem 1.25rem;
  font-family: var(--mlpoh-font-display) !important;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.mphb-view-details-button:hover {
  background: var(--mlpoh-meadow) !important;
  color: #fff !important;
  transform: translateY(-2px);
}

/* --------------- Cabin Character Accent Images --------------- */
.wp-image-116 {
  max-width: 140px !important;
  height: auto;
  display: block;
  margin: 0 auto;
}
.wp-image-117 {
  height: auto;
  display: block;
  margin: 0 auto;
}

/* --------------- Date Picker — Clean Flat Style --------------- */

.datepick {
  background: #fff !important;
  color: var(--mlpoh-bark) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: 0 4px 12px rgba(46,31,20,0.12) !important;
  font-family: var(--mlpoh-font-body) !important;
  font-size: 95% !important;
  overflow: hidden;
}

/* Top nav bar (Prev / Today / Next) */
.datepick-nav {
  background: var(--mlpoh-parchment) !important;
  color: var(--mlpoh-bark-mid) !important;
  font-family: var(--mlpoh-font-body) !important;
  padding: 0.4rem 0;
}

.datepick-nav a.datepick-cmd {
  color: var(--mlpoh-bark-mid) !important;
  transition: color 0.2s;
}

.datepick-nav a.datepick-cmd:hover {
  color: var(--mlpoh-barn) !important;
  background: transparent !important;
}

/* Bottom ctrl bar (Clear / Close) */
.datepick-ctrl {
  background: var(--mlpoh-cream) !important;
  border-top: 1px solid var(--mlpoh-parchment) !important;
}

.datepick-ctrl a.datepick-cmd {
  color: var(--mlpoh-barn) !important;
  font-weight: 600;
}

.datepick-ctrl a.datepick-cmd:hover {
  color: var(--mlpoh-barn-dark) !important;
  background: transparent !important;
}

/* Month row */
.datepick-month-row {
  display: flex !important;
  gap: 0;
}

/* Month container */
.datepick-month {
  border: none !important;
  width: 19em !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Override JS-calculated width on inline calendars so months aren't squeezed */
.datepick.datepick-multi {
  width: calc(19em * 2) !important;
}

/* Month header (e.g. "AUGUST 2026") */
.datepick-month-header {
  background: var(--mlpoh-cream) !important;
  color: var(--mlpoh-bark-mid) !important;
  font-family: var(--mlpoh-font-body) !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  padding: 0.5rem 0 !important;
  height: 2.4rem !important;
  line-height: 1.4rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.25rem !important;
}

.datepick-month-header select {
  background: var(--mlpoh-cream) !important;
  color: var(--mlpoh-bark-mid) !important;
  font-family: var(--mlpoh-font-body) !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  border: none !important;
  padding: 0 1rem 0 0.2rem !important;
  height: auto !important;
  min-height: 0 !important;
  cursor: pointer;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M0 0l4 4 4-4' stroke='%235C4A3A' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0 center !important;
}

.datepick-month-header input {
  background: var(--mlpoh-cream) !important;
  color: var(--mlpoh-bark-mid) !important;
  font-family: var(--mlpoh-font-body) !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  border: none !important;
}

/* Day-of-week headers (Mo Tu We...) */
.datepick-month th {
  background: #fff !important;
  color: var(--mlpoh-bark-soft) !important;
  border: none !important;
  font-size: 0.75rem;
  font-weight: 400;
  padding: 0.4rem 0 !important;
  text-transform: uppercase;
}

.datepick-month th a {
  background: #fff !important;
  color: var(--mlpoh-bark-soft) !important;
}

.datepick-month thead {
  border-bottom: none !important;
}

/* Day cells */
.datepick-month td {
  background: #fff !important;
  border: none !important;
  padding: 0 !important;
}

.datepick-month a,
.datepick-month span.mphb-date-cell {
  background: var(--mlpoh-cream) !important;
  color: var(--mlpoh-bark) !important;
  padding: 0 !important;
  border-radius: 0 !important;
  display: block !important;
  height: 2.2em !important;
  line-height: 2.2em !important;
  text-align: center !important;
  font-weight: 600;
  transition: background 0.15s ease, color 0.15s ease;
  margin: 1px !important;
}

.datepick-month td .datepick-other-month {
  background: #fff !important;
  color: var(--mlpoh-bark-soft) !important;
  opacity: 0.4;
}

.datepick-month td .datepick-weekend {
  background: var(--mlpoh-cream) !important;
}

/* Weekend + available: available wins */
.datepick-month td .datepick-weekend.mphb-available-date {
  background: var(--mlpoh-meadow-light) !important;
  color: #fff !important;
}

.datepick-month td .datepick-today {
  background: var(--mlpoh-honey) !important;
  color: #fff !important;
  border-radius: 0 !important;
  font-weight: 700;
}

.datepick-month td .datepick-highlight {
  background: var(--mlpoh-meadow-light) !important;
  color: #fff !important;
  border-radius: 0 !important;
}

.datepick-month td .datepick-selected {
  background: var(--mlpoh-barn) !important;
  color: #fff !important;
  border-radius: 0 !important;
  font-weight: 700;
}

/* Available dates (MotoPress-specific — targets both <a> in popups and <span> in inline calendars) */
.datepick-month td .mphb-available-date {
  background: var(--mlpoh-meadow-light) !important;
  color: #fff !important;
  border-radius: 0 !important;
}

.datepick-month td a.mphb-available-date:hover {
  background: var(--mlpoh-meadow) !important;
  color: #fff !important;
}

.datepick-month td .mphb-selected-date {
  background: var(--mlpoh-barn) !important;
  color: #fff !important;
  font-weight: 700;
}

/* Booked/unavailable */
.datepick-month td .mphb-booked-date {
  background: var(--mlpoh-parchment) !important;
  color: var(--mlpoh-bark-soft) !important;
  border-radius: 0 !important;
}

/* Past dates */
.datepick-month td .mphb-past-date {
  background: #eee !important;
  color: #888 !important;
}

/* Check-in / check-out specific */
.datepick-month td .mphb-check-in-date {
  background: var(--mlpoh-barn) !important;
  color: #fff !important;
  font-weight: 700;
  border-radius: 0 !important;
}

.datepick-month td .mphb-check-out-date {
  background: var(--mlpoh-barn-light) !important;
  color: #fff !important;
  border-radius: 0 !important;
}

/* Week column (if shown) */
.datepick-month td.datepick-week,
.datepick-month td.datepick-week *,
.datepick-month th.datepick-week {
  background: var(--mlpoh-parchment) !important;
  color: var(--mlpoh-bark-soft) !important;
  border: none !important;
}

.datepick-status {
  background: var(--mlpoh-cream) !important;
  color: var(--mlpoh-bark-mid) !important;
}

/* Datepick button override */
.datepick button {
  background: var(--mlpoh-barn) !important;
  color: #fff !important;
  border-radius: 0 !important;
  padding: 0.3em 0.8em !important;
  cursor: pointer;
}

.datepick button:hover {
  background: var(--mlpoh-barn-dark) !important;
}

/* --------------- Select Field Height Fix (all MotoPress selects) --------------- */

.mphb_sc_search-form select,
.mphb-booking-form select,
.mphb-reserve-room-section select {
  height: auto !important;
  min-height: 2.75rem;
  line-height: 1.4;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235C4A3A' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2.5rem !important;
}

.mphb_sc_search-form input[type="text"],
.mphb-booking-form input[type="text"],
.mphb-booking-form input[type="number"] {
  height: auto !important;
  min-height: 2.75rem;
}

/* --------------- Checkout / Booking Form --------------- */

.mphb-booking-form {
  background: #fff;
  border-radius: var(--mlpoh-radius-lg);
  box-shadow: var(--mlpoh-shadow);
  padding: 2rem;
}

.mphb-booking-form label {
  font-family: var(--mlpoh-font-display) !important;
  font-weight: 600;
  color: var(--mlpoh-barn-dark);
}

.mphb-booking-form input[type="text"],
.mphb-booking-form input[type="email"],
.mphb-booking-form input[type="tel"],
.mphb-booking-form input[type="number"],
.mphb-booking-form select,
.mphb-booking-form textarea {
  border: 2px solid var(--mlpoh-parchment);
  border-radius: var(--mlpoh-radius);
  padding: 0.7rem 1rem;
  background: var(--mlpoh-cream);
  font-size: 0.95rem;
  transition: border-color 0.2s ease;
}

.mphb-booking-form input:focus,
.mphb-booking-form select:focus,
.mphb-booking-form textarea:focus {
  border-color: var(--mlpoh-meadow);
  outline: none;
  box-shadow: 0 0 0 3px rgba(91, 140, 90, 0.15);
}

.mphb-booking-form .mphb-confirm-reservation {
  background: var(--mlpoh-barn) !important;
  color: #fff !important;
  border: none;
  border-radius: var(--mlpoh-radius);
  padding: 0.8rem 2.5rem;
  font-family: var(--mlpoh-font-display) !important;
  font-weight: 700;
  font-size: 1.05rem;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.mphb-booking-form .mphb-confirm-reservation:hover {
  background: var(--mlpoh-barn-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(139, 58, 58, 0.3);
}

/* --------------- Search Results Page --------------- */

.mphb_sc_search_results-wrapper .mphb-room-type {
  margin-bottom: 2rem;
}

/* --------------- Availability Calendar --------------- */

.mphb-calendar .datepick-month {
  border-radius: var(--mlpoh-radius);
  overflow: hidden;
  box-shadow: var(--mlpoh-shadow);
}

.mphb-calendar .datepick-month-header {
  background: var(--mlpoh-barn) !important;
  color: #fff !important;
  font-family: var(--mlpoh-font-display) !important;
}

.mphb-calendar td.mphb-available-date {
  background: var(--mlpoh-meadow-light);
}

.mphb-calendar td.mphb-booked-date {
  background: var(--mlpoh-parchment);
  color: var(--mlpoh-bark-soft);
}

/* --------------- Single Accommodation Page --------------- */

.single-mphb_room_type .mphb-single-room-type-attributes {
  list-style: none;
  padding: 0;
}

.single-mphb_room_type .mphb-single-room-type-attributes li {
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--mlpoh-parchment);
}

/* --------------- Services (add-ons) --------------- */

.mphb_sc_services-wrapper .mphb-service {
  background: #fff;
  border-radius: var(--mlpoh-radius-lg);
  box-shadow: var(--mlpoh-shadow);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

/* --------------- Responsive --------------- */

@media (max-width: 768px) {
  .mphb_sc_search-form {
    flex-direction: column;
  }

  .mphb_sc_search-form > p {
    flex: 1 1 100%;
  }

  .mphb_sc_rooms-wrapper.mphb-room-types {
    grid-template-columns: 1fr;
  }

  .mphb_sc_search-wrapper {
    padding: 1.25rem;
  }

  .mphb-room-type-title.entry-title {
    font-size: 1.2rem;
  }
}

.page-id-143 .entry-header {
  display: none;
}

/* ==========================================================================
   FAQ Accordion
   ========================================================================== */

.mlpoh-faq-section {
  max-width: 780px;
  margin: 0 auto 1.5rem;
}

.mlpoh-faq-item {
  background: var(--mlpoh-cream);
  border: 1px solid var(--mlpoh-parchment);
  border-radius: var(--mlpoh-radius);
  margin-bottom: 0.6rem;
  overflow: hidden;
  transition: box-shadow 0.2s ease;
}

.mlpoh-faq-item[open] {
  box-shadow: 0 2px 8px rgba(46, 31, 20, 0.08);
  border-color: var(--mlpoh-barn-light);
}

.mlpoh-faq-question {
  font-family: var(--mlpoh-font-display);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--mlpoh-bark);
  padding: 1rem 2.5rem 1rem 1.25rem;
  cursor: pointer;
  list-style: none;
  position: relative;
  line-height: 1.4;
  transition: color 0.2s ease;
}

.mlpoh-faq-question::-webkit-details-marker {
  display: none;
}

.mlpoh-faq-question::after {
  content: '+';
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.4rem;
  font-weight: 300;
  color: var(--mlpoh-barn);
  transition: transform 0.25s ease;
  line-height: 1;
}

.mlpoh-faq-item[open] .mlpoh-faq-question::after {
  content: '−';
  transform: translateY(-50%) rotate(0deg);
}

.mlpoh-faq-question:hover {
  color: var(--mlpoh-barn);
}

.mlpoh-faq-answer {
  font-family: var(--mlpoh-font-body);
  font-size: 0.95rem;
  line-height: 1.75;
  color: var(--mlpoh-bark-mid);
  padding: 0 1.25rem 1.25rem;
  border-top: 1px solid var(--mlpoh-parchment);
  margin-top: 0;
}

.mlpoh-faq-answer ul {
  margin: 0.75rem 0;
  padding-left: 1.5rem;
}

.mlpoh-faq-answer li {
  margin-bottom: 0.3rem;
}

.mlpoh-faq-answer a {
  color: var(--mlpoh-barn);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.mlpoh-faq-answer a:hover {
  color: var(--mlpoh-barn-dark);
}

.mlpoh-faq-answer strong {
  color: var(--mlpoh-bark);
  font-weight: 700;
}

@media (max-width: 600px) {
  .mlpoh-faq-question {
    font-size: 0.95rem;
    padding: 0.85rem 2.25rem 0.85rem 1rem;
  }

  .mlpoh-faq-answer {
    font-size: 0.9rem;
    padding: 0 1rem 1rem;
  }

  .mlpoh-faq-question::after {
    right: 0.85rem;
  }
}

/* ==========================================================================
   Checkout / Booking Flow
   ========================================================================== */

/* --- Checkout form wrapper --- */
.mphb_sc_checkout-form {
  max-width: 780px;
  margin: 0 auto;
  font-family: var(--mlpoh-font-body);
  color: var(--mlpoh-bark);
}

/* --- Section blocks (booking details, customer, billing, price, coupon, terms) --- */
.mphb-checkout-section {
  background: #fff;
  border: 1px solid var(--mlpoh-parchment);
  border-radius: var(--mlpoh-radius-lg);
  padding: 1.5rem 1.75rem;
  margin-bottom: 1.25rem;
  box-shadow: var(--mlpoh-shadow);
}

/* --- Section headings --- */
.mphb-booking-details-title,
.mphb-customer-details-title,
.mphb-gateway-chooser-title,
.mphb-price-breakdown-title {
  font-family: var(--mlpoh-font-display);
  font-size: 1.35rem;
  color: var(--mlpoh-barn-dark);
  margin: 0 0 1rem;
  padding-bottom: 0.6rem;
  border-bottom: 2px solid var(--mlpoh-parchment);
}

/* --- Room number & type title --- */
.mphb-room-number {
  font-family: var(--mlpoh-font-display);
  font-size: 1.15rem;
  color: var(--mlpoh-barn);
  margin: 1rem 0 0.25rem;
}

.mphb-room-type-title {
  font-size: 0.95rem;
  color: var(--mlpoh-bark-mid);
  margin: 0 0 0.75rem;
}

/* --- Sub-section headings (rate, services) --- */
.mphb-room-rate-chooser-title,
.mphb-services-details-title {
  font-family: var(--mlpoh-font-display);
  font-size: 1.05rem;
  color: var(--mlpoh-bark);
  margin: 0.75rem 0 0.5rem;
}

/* --- Check-in / check-out dates --- */
.mphb-check-in-date,
.mphb-check-out-date {
  font-size: 0.95rem;
  color: var(--mlpoh-bark-mid);
  margin: 0.4rem 0;
}

.mphb-check-in-date strong,
.mphb-check-out-date strong {
  color: var(--mlpoh-bark);
}

/* --- Form fields --- */
.mphb-customer-details input[type="text"],
.mphb-customer-details input[type="email"],
.mphb-customer-details input[type="tel"],
.mphb-customer-details select,
.mphb-coupon-code-wrapper input[type="text"],
.mphb_sc_checkout-form input[type="text"],
.mphb_sc_checkout-form input[type="email"],
.mphb_sc_checkout-form input[type="tel"],
.mphb_sc_checkout-form select {
  width: 100%;
  font-family: var(--mlpoh-font-body);
  font-size: 0.95rem;
  color: var(--mlpoh-bark);
  background: var(--mlpoh-cream);
  border: 1px solid var(--mlpoh-parchment);
  border-radius: var(--mlpoh-radius);
  padding: 0.65rem 0.9rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  -webkit-appearance: none;
}

.mphb_sc_checkout-form input:focus,
.mphb_sc_checkout-form select:focus {
  border-color: var(--mlpoh-barn-light);
  box-shadow: 0 0 0 3px rgba(139, 58, 58, 0.1);
  outline: none;
}

.mphb_sc_checkout-form label {
  font-family: var(--mlpoh-font-display);
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--mlpoh-bark);
  display: block;
  margin-bottom: 0.3rem;
}

.mphb-required-fields-tip {
  font-size: 0.85rem;
  color: var(--mlpoh-bark-soft);
  font-style: italic;
  margin-bottom: 1rem;
}

/* --- Guest chooser selects --- */
.mphb-adults-chooser select,
.mphb-children-chooser select {
  max-width: 120px;
}

.mphb-adults-chooser,
.mphb-children-chooser {
  display: inline-block;
  margin-right: 1.25rem;
}

/* --- Guest name field --- */
.mphb-guest-name-wrapper input {
  max-width: 280px;
}

/* --- Rate chooser radio --- */
.mphb-room-rate-variant {
  padding: 0.5rem 0;
}

.mphb-room-rate-variant input[type="radio"] {
  accent-color: var(--mlpoh-barn);
  margin-right: 0.4rem;
}

.mphb-radio-label {
  cursor: pointer;
}

/* --- Services list --- */
.mphb_sc_checkout-services-list,
.mphb_checkout-services-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mphb_sc_checkout-services-list li,
.mphb_checkout-services-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  padding: 0.6rem 0;
  border-bottom: 1px solid var(--mlpoh-parchment);
}

.mphb_sc_checkout-services-list li:last-child,
.mphb_checkout-services-list li:last-child {
  border-bottom: none;
}

.mphb_sc_checkout-services-list li label,
.mphb_checkout-services-list li label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
}

.mphb-checkbox-label {
  cursor: pointer;
}

.mphb_sc_checkout-services-list input[type="checkbox"],
.mphb_checkout-services-list input[type="checkbox"] {
  accent-color: var(--mlpoh-meadow);
  margin-right: 0.15rem;
}

.mphb_sc_checkout-service-adults,
.mphb_checkout-service-adults {
  width: auto !important;
  min-width: 60px;
  display: inline-block;
}

.mphb_sc_checkout-service-quantity,
.mphb_checkout-service-quantity {
  width: 60px;
  text-align: center;
  font-family: var(--mlpoh-font-body);
  border: 1px solid var(--mlpoh-parchment);
  border-radius: var(--mlpoh-radius);
  padding: 0.3rem;
}

/* --- Price breakdown table --- */
.mphb-price-breakdown {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.mphb-price-breakdown th,
.mphb-price-breakdown td {
  padding: 0.5rem 0.75rem;
  text-align: left;
  border-bottom: 1px solid var(--mlpoh-parchment);
}

.mphb-price-breakdown th {
  font-family: var(--mlpoh-font-display);
  font-weight: 600;
  color: var(--mlpoh-bark);
  background: var(--mlpoh-cream);
}

.mphb-price-breakdown td {
  color: var(--mlpoh-bark-mid);
}

.mphb-price-breakdown tfoot td,
.mphb-price-breakdown tfoot th {
  font-weight: 700;
  color: var(--mlpoh-barn-dark);
  border-top: 2px solid var(--mlpoh-barn-light);
}

/* --- Total price --- */
.mphb-total-price {
  font-family: var(--mlpoh-font-display);
  font-size: 1.15rem;
  color: var(--mlpoh-bark);
  text-align: right;
  padding: 1rem 0 0.5rem;
}

.mphb-total-price-field {
  color: var(--mlpoh-barn-dark);
  font-size: 1.3rem;
}

.mphb-deposit-amount {
  font-size: 0.9rem;
  color: var(--mlpoh-bark-mid);
  text-align: right;
}

.mphb-deposit-amount-field {
  color: var(--mlpoh-meadow-dark);
}

/* --- Coupon code section --- */
.mphb-coupon-code-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.75rem;
}

.mphb-coupon-code-wrapper .mphb-coupon-code-input-wrapper {
  flex: 1;
  min-width: 200px;
}

.mphb-apply-coupon-code-button {
  font-family: var(--mlpoh-font-display) !important;
  font-size: 0.9rem;
  font-weight: 600;
  background: var(--mlpoh-meadow) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--mlpoh-radius);
  padding: 0.65rem 1.25rem;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.mphb-apply-coupon-code-button:hover {
  background: var(--mlpoh-meadow-dark) !important;
  transform: translateY(-1px);
}

/* --- Payment gateway list --- */
.mphb-gateways-list {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0;
}

.mphb-gateway {
  padding: 0.75rem;
  border: 1px solid var(--mlpoh-parchment);
  border-radius: var(--mlpoh-radius);
  margin-bottom: 0.5rem;
  transition: border-color 0.2s ease;
}

.mphb-gateway:hover {
  border-color: var(--mlpoh-barn-light);
}

.mphb-gateway-title {
  font-family: var(--mlpoh-font-display);
  font-weight: 600;
  cursor: pointer;
}

.mphb-gateway-title input[type="radio"] {
  accent-color: var(--mlpoh-barn);
  margin-right: 0.4rem;
}

.mphb-gateway-description {
  font-size: 0.85rem;
  color: var(--mlpoh-bark-soft);
  margin: 0.25rem 0 0 1.5rem;
}

/* --- Terms & conditions --- */
.mphb-checkout-terms-wrapper {
  font-size: 0.9rem;
}

.mphb-terms-and-conditions {
  background: var(--mlpoh-cream);
  border: 1px solid var(--mlpoh-parchment);
  border-radius: var(--mlpoh-radius);
  padding: 0.75rem 1rem;
  max-height: 140px;
  overflow-y: auto;
  font-size: 0.85rem;
  color: var(--mlpoh-bark-mid);
  margin-bottom: 0.75rem;
}

.mphb-terms-and-conditions-accept input[type="checkbox"] {
  accent-color: var(--mlpoh-barn);
  margin-right: 0.4rem;
}

.mphb-terms-and-conditions-link {
  color: var(--mlpoh-barn);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* --- Submit / Book Now button --- */
.mphb_sc_checkout-submit-wrapper {
  text-align: center;
  padding: 1rem 0;
}

.mphb_sc_checkout-submit-wrapper input[type="submit"],
.mphb_sc_checkout-form input[type="submit"] {
  font-family: var(--mlpoh-font-display) !important;
  font-size: 1.1rem;
  font-weight: 700;
  background: var(--mlpoh-barn) !important;
  color: var(--mlpoh-cream) !important;
  border: none !important;
  border-radius: var(--mlpoh-radius);
  padding: 0.85rem 2.5rem;
  cursor: pointer;
  letter-spacing: 0.02em;
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.mphb_sc_checkout-submit-wrapper input[type="submit"]:hover,
.mphb_sc_checkout-form input[type="submit"]:hover {
  background: var(--mlpoh-barn-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(139, 58, 58, 0.3);
}

/* --- Error messages --- */
.mphb-errors-wrapper {
  background: #fdf2f2;
  border: 1px solid #e8aaaa;
  border-radius: var(--mlpoh-radius);
  color: var(--mlpoh-barn-dark);
  padding: 0.75rem 1rem;
  font-size: 0.9rem;
  margin-bottom: 1rem;
}

/* --- Login form wrapper --- */
.mphb-login-form-wrap {
  max-width: 480px;
  margin: 0 auto 1.25rem;
}

.mphb-login-form {
  background: #fff;
  border: 1px solid var(--mlpoh-parchment);
  border-radius: var(--mlpoh-radius-lg);
  padding: 1.25rem 1.5rem;
  box-shadow: var(--mlpoh-shadow);
}

/* --- Confirmation/result pages --- */
.mphb-booking-confirmation-wrapper,
.mphb-reservation-received-wrapper {
  max-width: 680px;
  margin: 2rem auto;
  text-align: center;
  font-family: var(--mlpoh-font-body);
}

.mphb-booking-confirmation-wrapper h3,
.mphb-reservation-received-wrapper h3 {
  font-family: var(--mlpoh-font-display);
  color: var(--mlpoh-barn-dark);
  font-size: 1.5rem;
}

.mphb-booking-confirmation-wrapper p,
.mphb-reservation-received-wrapper p {
  color: var(--mlpoh-bark-mid);
  font-size: 1rem;
  line-height: 1.7;
}

/* --- Customer details grid (2-column on desktop) --- */
.mphb-customer-details .mphb-customer-name,
.mphb-customer-details .mphb-customer-last-name {
  display: inline-block;
  width: calc(50% - 0.5rem);
  vertical-align: top;
}

.mphb-customer-details .mphb-customer-name {
  margin-right: 0.5rem;
}

.mphb-customer-details .mphb-customer-email,
.mphb-customer-details .mphb-customer-phone {
  display: inline-block;
  width: calc(50% - 0.5rem);
  vertical-align: top;
}

.mphb-customer-details .mphb-customer-email {
  margin-right: 0.5rem;
}

.mphb-customer-details .mphb-customer-address1,
.mphb-customer-details .mphb-customer-city,
.mphb-customer-details .mphb-customer-state,
.mphb-customer-details .mphb-customer-zip,
.mphb-customer-details .mphb-customer-country {
  display: inline-block;
  width: calc(50% - 0.5rem);
  vertical-align: top;
  margin-right: 0.5rem;
}

.mphb-customer-details .mphb-customer-zip {
  margin-right: 0;
}

/* --- Checkout text (admin note above customer fields) --- */
.mphb-checkout-text-wrapper {
  font-size: 0.9rem;
  color: var(--mlpoh-bark-mid);
  line-height: 1.65;
}

/* --- Preloader spinner --- */
.mphb-preloader {
  display: inline-block;
  width: 18px;
  height: 18px;
  border: 2px solid var(--mlpoh-parchment);
  border-top-color: var(--mlpoh-barn);
  border-radius: 50%;
  animation: mphb-spin 0.6s linear infinite;
  vertical-align: middle;
  margin-left: 0.5rem;
}

@keyframes mphb-spin {
  to { transform: rotate(360deg); }
}

/* --- Checkout mobile --- */
@media (max-width: 600px) {
  .mphb-checkout-section {
    padding: 1rem 1.25rem;
  }

  .mphb-customer-details .mphb-customer-name,
  .mphb-customer-details .mphb-customer-last-name,
  .mphb-customer-details .mphb-customer-email,
  .mphb-customer-details .mphb-customer-phone,
  .mphb-customer-details .mphb-customer-address1,
  .mphb-customer-details .mphb-customer-city,
  .mphb-customer-details .mphb-customer-state,
  .mphb-customer-details .mphb-customer-zip,
  .mphb-customer-details .mphb-customer-country {
    display: block;
    width: 100%;
    margin-right: 0;
  }

  .mphb-adults-chooser,
  .mphb-children-chooser {
    display: block;
    margin-right: 0;
    margin-bottom: 0.5rem;
  }

  .mphb-total-price {
    font-size: 1rem;
    text-align: left;
  }

  .mphb-total-price-field {
    font-size: 1.1rem;
  }
}

/* ==========================================================================
   Search Results Page
   ========================================================================== */

/* --- Results info bar --- */
.mphb_sc_search_results-info {
  font-family: var(--mlpoh-font-body);
  font-size: 0.95rem;
  color: var(--mlpoh-bark-mid);
  margin-bottom: 1.5rem;
}

/* --- Recommendation card --- */
.mphb-recommendation {
  background: #fff;
  border: 2px solid var(--mlpoh-honey);
  border-radius: var(--mlpoh-radius-lg);
  padding: 1.25rem 1.5rem;
  margin-bottom: 2rem;
  box-shadow: var(--mlpoh-shadow);
}

.mphb-recommendation-title {
  font-family: var(--mlpoh-font-display);
  font-size: 1.3rem;
  color: var(--mlpoh-barn-dark);
  margin: 0 0 0.75rem;
}

.mphb-recommendation-details-list {
  list-style: none;
  padding: 0;
  margin: 0 0 0.75rem;
}

.mphb-recommendation-item {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0;
  font-family: var(--mlpoh-font-body);
  font-size: 0.95rem;
  color: var(--mlpoh-bark);
}

.mphb_sc_search_results-wrapper .mphb-recommendation .mphb-recommedation-item-subtotal {
  float: none;
  margin: 0;
  font-weight: 600;
}

a.mphb-recommendation-item-link {
  color: var(--mlpoh-barn);
  text-decoration: underline;
  text-underline-offset: 2px;
}

a.mphb-recommendation-item-link:hover {
  color: var(--mlpoh-barn-dark);
}

.mphb-recommendation-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 0.5rem;
  border-top: 2px solid var(--mlpoh-parchment);
  margin-top: 0.25rem;
}

.mphb-recommendation-total-title {
  font-family: var(--mlpoh-font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--mlpoh-bark);
}

.mphb-recommendation-total-value {
  font-family: var(--mlpoh-font-display);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--mlpoh-barn-dark);
}

/* --- Reserve / Confirm buttons (override .button base) --- */
button.mphb-recommendation-reserve-button,
button.mphb-confirm-reservation,
.mphb-recommendation-reserve-button.button,
.mphb-confirm-reservation.button {
  display: inline-block;
  font-family: var(--mlpoh-font-display) !important;
  font-size: 1rem;
  font-weight: 700;
  background: var(--mlpoh-barn) !important;
  color: var(--mlpoh-cream) !important;
  border: none !important;
  border-radius: var(--mlpoh-radius) !important;
  padding: 0.7rem 1.75rem !important;
  cursor: pointer;
  letter-spacing: 0.02em;
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

button.mphb-recommendation-reserve-button:hover,
button.mphb-confirm-reservation:hover,
.mphb-recommendation-reserve-button.button:hover,
.mphb-confirm-reservation.button:hover {
  background: var(--mlpoh-barn-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(139, 58, 58, 0.3);
}

/* --- Room type cards in search results --- */
.mphb_sc_search_results-wrapper .mphb-room-type {
  background: #fff;
  border: 1px solid var(--mlpoh-parchment);
  border-radius: var(--mlpoh-radius-lg);
  padding: 1.5rem;
  margin-bottom: 1.25rem;
  box-shadow: var(--mlpoh-shadow);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.mphb_sc_search_results-wrapper .mphb-room-type:hover {
  transform: translateY(-3px);
  box-shadow: var(--mlpoh-shadow-lg);
}

/* Room type title in results */
.mphb_sc_search_results-wrapper .mphb-room-type-title {
  font-family: var(--mlpoh-font-display);
  font-size: 1.35rem;
  color: var(--mlpoh-barn-dark);
  margin: 0 0 0.35rem;
}

.mphb_sc_search_results-wrapper .mphb-room-type-title a {
  color: var(--mlpoh-barn-dark);
  text-decoration: none;
}

.mphb_sc_search_results-wrapper .mphb-room-type-title a:hover {
  color: var(--mlpoh-barn);
}

/* Details toggle */
.mphb_sc_search_results-wrapper .mphb-room-type-details-title {
  font-family: var(--mlpoh-font-display);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--mlpoh-bark-mid);
  cursor: pointer;
  margin: 0.75rem 0 0.5rem;
}

/* Attributes (amenities, view, size, bed) */
.mphb-loop-room-type-attributes {
  font-family: var(--mlpoh-font-body);
  font-size: 0.85rem;
  color: var(--mlpoh-bark-mid);
  line-height: 1.6;
}

.mphb-attribute-title {
  font-weight: 600;
  color: var(--mlpoh-bark);
}

/* Price line */
.mphb_sc_search_results-wrapper .mphb-regular-price {
  font-family: var(--mlpoh-font-body);
  font-size: 0.95rem;
  color: var(--mlpoh-bark-mid);
  margin: 0.75rem 0 0.5rem;
}

.mphb_sc_search_results-wrapper .mphb-price {
  font-weight: 700;
  color: var(--mlpoh-barn-dark);
}

/* Book / View Details buttons in results */
.mphb_sc_search_results-wrapper .mphb-book-button,
button.mphb-book-button.mphb-button {
  display: inline-block;
  font-family: var(--mlpoh-font-display) !important;
  font-size: 0.9rem;
  font-weight: 700;
  background: var(--mlpoh-barn) !important;
  color: var(--mlpoh-cream) !important;
  border: none !important;
  border-radius: var(--mlpoh-radius);
  padding: 0.55rem 1.25rem;
  cursor: pointer;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.mphb_sc_search_results-wrapper .mphb-book-button:hover,
button.mphb-book-button.mphb-button:hover {
  background: var(--mlpoh-barn-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(139, 58, 58, 0.3);
}

.mphb_sc_search_results-wrapper .mphb-view-details-button {
  display: inline-block;
  font-family: var(--mlpoh-font-display) !important;
  font-size: 0.9rem;
  font-weight: 600;
  background: transparent !important;
  color: var(--mlpoh-meadow-dark) !important;
  border: 2px solid var(--mlpoh-meadow) !important;
  border-radius: var(--mlpoh-radius);
  padding: 0.5rem 1.25rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.mphb_sc_search_results-wrapper .mphb-view-details-button:hover {
  background: var(--mlpoh-meadow) !important;
  color: #fff !important;
  transform: translateY(-2px);
}

/* --- Reservation cart --- */
.mphb-reservation-cart {
  background: #fff;
  border: 1px solid var(--mlpoh-parchment);
  border-radius: var(--mlpoh-radius-lg);
  padding: 1.25rem 1.5rem;
  margin: 1.5rem 0;
  box-shadow: var(--mlpoh-shadow);
}

.mphb-reservation-cart .mphb-cart-total-price {
  font-family: var(--mlpoh-font-display);
  font-size: 1.1rem;
  color: var(--mlpoh-bark);
}

.mphb-cart-total-price-value {
  font-weight: 700;
  color: var(--mlpoh-barn-dark);
}

/* --- Remove from reservation --- */
.mphb-remove-from-reservation {
  font-size: 0.85rem;
  color: var(--mlpoh-barn-light);
  text-decoration: underline;
  cursor: pointer;
}

.mphb-remove-from-reservation:hover {
  color: var(--mlpoh-barn-dark);
}

/* --- Rooms reservation message --- */
.mphb-rooms-reservation-message-wrapper {
  font-family: var(--mlpoh-font-body);
  font-size: 0.9rem;
  color: var(--mlpoh-bark-mid);
  margin: 0.5rem 0;
}

/* --- Empty cart message --- */
.mphb-empty-cart-message {
  font-family: var(--mlpoh-font-body);
  font-style: italic;
  color: var(--mlpoh-bark-soft);
}

/* ==========================================================================
   MotoPress My Account — Login (logged-out)
   ========================================================================== */

.mphb_sc_account:not(:has(.mphb-account-menu)) {
  max-width: 480px;
  margin: 0 auto;
}

.mphb-login-form #loginform {
  border: none;
  padding: 0;
}

.mphb-login-form #wp-submit {
  background: var(--mlpoh-barn) !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: var(--mlpoh-font-display) !important;
  font-weight: 600;
  font-size: 1rem;
  padding: 10px 28px !important;
  color: #fff !important;
  text-shadow: none !important;
  transition: background 0.2s ease;
  cursor: pointer;
}

.mphb-login-form #wp-submit:hover {
  background: var(--mlpoh-barn-dark) !important;
}

.mphb-login-form label {
  color: var(--mlpoh-bark);
  font-weight: 600;
  font-size: 0.9rem;
}

.mphb-login-form input.input {
  border: 1px solid var(--mlpoh-parchment);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 0.95rem;
  width: 100%;
  transition: border-color 0.2s ease;
}

.mphb-login-form input.input:focus {
  border-color: var(--mlpoh-meadow-light);
  box-shadow: 0 0 0 2px rgba(122, 173, 121, 0.2);
  outline: none;
}

.mphb-login-form a {
  color: var(--mlpoh-bark-mid);
  font-size: 0.9rem;
  transition: color 0.2s ease;
}

.mphb-login-form a:hover {
  color: var(--mlpoh-barn);
}

/* ==========================================================================
   MotoPress My Account — Dashboard (logged-in)
   ========================================================================== */

.mphb_sc_account:has(.mphb-account-menu) {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}

.mphb-account-menu {
  flex: 0 0 200px;
  background: #fff;
  border: 1px solid var(--mlpoh-parchment);
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(46, 31, 20, 0.06);
  padding: 0.5rem 0;
  position: sticky;
  top: 140px;
}

.mphb-account-menu ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.mphb-account-menu li {
  margin: 0 !important;
  padding: 0 !important;
}

.mphb-account-menu li::before,
.mphb-account-menu li::marker {
  content: none !important;
  display: none !important;
}

.mphb-account-menu a {
  display: block;
  padding: 0.75rem 1.25rem;
  color: var(--mlpoh-bark-mid);
  font-family: var(--mlpoh-font-body);
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  border-left: 3px solid transparent;
  transition: all 0.2s ease;
}

.mphb-account-menu a:hover {
  color: var(--mlpoh-barn);
  background: var(--mlpoh-parchment);
  border-left-color: var(--mlpoh-barn);
}

.mphb_sc_account:has(.mphb-account-menu) .mphb-account-content {
  flex: 1;
  min-width: 0;
}

@media (max-width: 689px) {
  .mphb_sc_account:has(.mphb-account-menu) {
    flex-direction: column;
  }

  .mphb-account-menu {
    flex: none;
    width: 100%;
    position: static;
  }

  .mphb-account-menu ul {
    display: flex;
    gap: 0;
  }

  .mphb-account-menu a {
    border-left: none;
    border-bottom: 3px solid transparent;
    padding: 0.65rem 1rem;
    text-align: center;
    font-size: 0.85rem;
  }

  .mphb-account-menu a:hover {
    border-left-color: transparent;
    border-bottom-color: var(--mlpoh-barn);
  }

  .mphb-account-menu li {
    flex: 1;
  }
}

/* ── Rona pop-out image ─────────────────────────── */
.rona-popout-wrap {
  position: relative;
  overflow: visible !important;
  padding: 0 !important;
}

.rona-popout-wrap::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 45%;
  background: #5B8C5A;
  border-radius: 20px;
  z-index: 0;
}

.rona-popout-img {
  position: relative;
  z-index: 1;
  margin: 0 !important;
}

.rona-popout-img img {
  display: block;
  width: 85%;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}

/* ── Accommodation gallery ──────────────────────── */
.mphb-single-room-type-gallery-wrapper .gallery {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
  margin: 2rem 0;
}

.mphb-single-room-type-gallery-wrapper .gallery-item {
  margin: 0 !important;
  width: 100% !important;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(46, 31, 20, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.mphb-single-room-type-gallery-wrapper .gallery-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(46, 31, 20, 0.18);
}

.mphb-single-room-type-gallery-wrapper .gallery-icon {
  line-height: 0;
}

.mphb-single-room-type-gallery-wrapper .gallery-icon a {
  display: block;
}

.mphb-single-room-type-gallery-wrapper .gallery-icon img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.mphb-single-room-type-gallery-wrapper .gallery-item:hover .gallery-icon img {
  transform: scale(1.06);
}

.mphb-single-room-type-gallery-wrapper .gallery-caption {
  padding: 0.6rem 1rem;
  font-size: 0.85rem;
  color: var(--mlpoh-bark-mid, #5C4A3A);
  background: var(--mlpoh-parchment, #EDE5D8);
  text-align: center;
}

@media (max-width: 600px) {
  .mphb-single-room-type-gallery-wrapper .gallery {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .mphb-single-room-type-gallery-wrapper .gallery-icon img {
    height: 160px !important;
  }
}

/* ==========================================================================
   WPForms — Contact Form Styling
   ========================================================================== */

.wpforms-container .wpforms-form .wpforms-field-label {
  font-family: var(--mlpoh-font-display) !important;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--mlpoh-barn-dark);
  margin-bottom: 0.35rem;
}

.wpforms-container .wpforms-form .wpforms-field-required {
  color: var(--mlpoh-barn);
}

.wpforms-container .wpforms-form input[type="text"],
.wpforms-container .wpforms-form input[type="email"],
.wpforms-container .wpforms-form input[type="tel"],
.wpforms-container .wpforms-form input[type="url"],
.wpforms-container .wpforms-form textarea {
  font-family: var(--mlpoh-font-body) !important;
  font-size: 0.95rem;
  color: var(--mlpoh-bark);
  background: var(--mlpoh-cream);
  border: 2px solid var(--mlpoh-parchment) !important;
  border-radius: var(--mlpoh-radius) !important;
  padding: 0.7rem 1rem !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.wpforms-container .wpforms-form input[type="text"]:focus,
.wpforms-container .wpforms-form input[type="email"]:focus,
.wpforms-container .wpforms-form input[type="tel"]:focus,
.wpforms-container .wpforms-form input[type="url"]:focus,
.wpforms-container .wpforms-form textarea:focus {
  border-color: var(--mlpoh-meadow) !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(91, 140, 90, 0.15);
}

.wpforms-container .wpforms-form textarea {
  min-height: 140px;
}

.wpforms-container .wpforms-form button[type="submit"],
.wpforms-container .wpforms-form .wpforms-submit {
  font-family: var(--mlpoh-font-display) !important;
  font-size: 1rem;
  font-weight: 700;
  background: var(--mlpoh-barn) !important;
  color: var(--mlpoh-cream) !important;
  border: none !important;
  border-radius: var(--mlpoh-radius) !important;
  padding: 0.75rem 2rem !important;
  cursor: pointer;
  letter-spacing: 0.02em;
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.wpforms-container .wpforms-form button[type="submit"]:hover,
.wpforms-container .wpforms-form .wpforms-submit:hover {
  background: var(--mlpoh-barn-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(139, 58, 58, 0.3);
}

.wpforms-container .wpforms-confirmation-container-full {
  background: var(--mlpoh-cream) !important;
  border: 2px solid var(--mlpoh-meadow) !important;
  border-radius: var(--mlpoh-radius-lg) !important;
  color: var(--mlpoh-bark) !important;
  padding: 1.5rem !important;
  font-family: var(--mlpoh-font-body) !important;
}
