/*
 Theme Name:   Stonehenge Child
 Theme URI:    https://stonehengecampsite.co.uk/
 Description:  Hello Elementor child theme for Stonehenge Campsite & Glamping Pods.
               Applies brand CSS custom properties, typography overrides, and
               Gravity Forms/MotoPress styling consistent with the design guide.
 Author:       Aten Digital
 Author URI:   https://aten.digital/
 Template:     hello-elementor
 Version:      1.0.231
 Text Domain:  stonehenge-child
*/

/* =============================================================
   STONEHENGE CHILD THEME — style.css
   Parent theme: Hello Elementor
   Design Guide version: v01 (April 2026)
   ============================================================= */


/* ─────────────────────────────────────────────────────────────
   1. CSS CUSTOM PROPERTIES (Brand Tokens)
   ───────────────────────────────────────────────────────────── */

:root {

  /* Primary palette */
  --sc-green:           #225322;   /* Brand green — primary CTAs, nav */
  --sc-green-mid:       #3d6b2e;   /* Hover state, secondary BGs */
  --sc-green-light:     #5a8f44;   /* Gradient end, icon fills */
  --sc-amber:           #e8a020;   /* Logo sun accent — use sparingly */

  /* Neutral palette */
  --sc-text-body:       #333333;   /* Body copy */
  --sc-text-heading:    #575757;   /* H1–H4 */
  --sc-text-meta:       #888888;   /* Captions, metadata */
  --sc-border:          #dddddd;   /* Borders, dividers */
  --sc-bg-tint:         #f3f8f3;   /* Page tint (6% green) */
  --sc-white:           #ffffff;

  /* Functional */
  --sc-link:            #cc3366;   /* Inline links (WP default) */
  --sc-calendar-avail:  #ccf7cc;   /* Available / check-in */
  --sc-calendar-booked: #f7d7dc;   /* Occupied / booked */
  --sc-calendar-closed: #dddddd;   /* Past / unavailable */

  /* Typography */
  --sc-font-heading:    'Lato', sans-serif;
  --sc-font-body:       -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
                        "Helvetica Neue", Arial, "Noto Sans", sans-serif;

  /* Spacing */
  --sc-space-xs:   8px;
  --sc-space-sm:   16px;
  --sc-space-md:   24px;
  --sc-space-lg:   32px;
  --sc-space-xl:   48px;
  --sc-space-2xl:  64px;
  --sc-space-3xl:  80px;

  /* Layout */
  --sc-content-width: 800px;
  --sc-wide-width:    1200px;
  --sc-radius:        3px;
  --sc-radius-card:   6px;

  /* Elementor Global Colour overrides — map to our tokens */
  --e-global-color-primary:   var(--sc-green);
  --e-global-color-secondary: var(--sc-green-mid);
  --e-global-color-text:      var(--sc-text-body);
  --e-global-color-accent:    var(--sc-amber);

  /* Elementor Global Typography overrides */
  --e-global-typography-primary-font-family:   'Lato';
  --e-global-typography-secondary-font-family: 'Lato';
}


/* ─────────────────────────────────────────────────────────────
   2. BASE RESETS & BODY
   ───────────────────────────────────────────────────────────── */

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--sc-font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--sc-text-body);
  background-color: var(--sc-bg-tint);
}


/* ─────────────────────────────────────────────────────────────
   3. TYPOGRAPHY — HEADINGS
   ───────────────────────────────────────────────────────────── */

h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: var(--sc-font-heading);
  color: var(--sc-text-heading);
  font-weight: 600;
  line-height: 1.2;
}

h1 { font-size: 42px; font-weight: 700; line-height: 1.15; }
h2 { font-size: 32px; }
h3 { font-size: 24px; }
h4 { font-size: 18px; }
h5 { font-size: 16px; }
h6 { font-size: 14px; }

p {
  margin-bottom: var(--sc-space-md);
}

a {
  color: var(--sc-link);
  text-decoration: underline;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--sc-green);
}


/* ─────────────────────────────────────────────────────────────
   4. GOOGLE FONT — LATO (preloaded via functions.php)
   ───────────────────────────────────────────────────────────── */

/* @import already handled by wp_enqueue_style in functions.php */


/* ─────────────────────────────────────────────────────────────
   5. ANNOUNCEMENT TOPBAR — "Always Book Direct & Save"
   ───────────────────────────────────────────────────────────── */

.sc-topbar {
  background: #e8a020 !important;
  color: #fff !important;
  width: 100% !important;
  position: relative;
  z-index: 9999;
}

.sc-topbar-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 10px 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.sc-topbar-icon {
  font-size: 16px;
  flex-shrink: 0;
  line-height: 1;
}

.sc-topbar-text {
  font-family: 'Lato', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #fff !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  text-align: center;
}

.sc-topbar-text strong {
  font-weight: 700 !important;
  color: #fff !important;
}

.sc-topbar-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 6px 18px !important;
  background: #fff !important;
  color: #e8a020 !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  flex-shrink: 0;
  letter-spacing: 0.3px !important;
  transition: background 0.2s, color 0.2s !important;
}

.sc-topbar-link:hover {
  background: #225322 !important;
  color: #fff !important;
  text-decoration: none !important;
}

@media (max-width: 600px) {
  .sc-topbar-inner {
    gap: 10px;
    padding: 10px 20px;
  }
  .sc-topbar-text {
    text-align: center;
  }
  .sc-topbar-link {
    padding: 10px 18px !important;
  }
}


/* ─────────────────────────────────────────────────────────────
   6. NAVIGATION
   ───────────────────────────────────────────────────────────── */

.elementor-nav-menu--main .elementor-nav-menu > li > a,
.elementor-nav-menu--main .elementor-nav-menu > li > .elementor-item {
  font-family: var(--sc-font-heading);
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.88);
  transition: color 0.2s ease;
}

.elementor-nav-menu--main .elementor-nav-menu > li > a:hover,
.elementor-nav-menu--main .elementor-nav-menu > li > .elementor-item:hover,
.elementor-nav-menu--main .elementor-nav-menu > li.current-menu-item > a {
  color: var(--sc-white);
}

.elementor-nav-menu--dropdown .elementor-item,
.elementor-nav-menu--dropdown a {
  font-family: var(--sc-font-heading);
  font-size: 13px;
  font-weight: 400;
  color: var(--sc-text-body);
}

.elementor-menu-toggle {
  color: var(--sc-white);
}

/* ── Footer Nav Menu ─────────────────────────────────────────── */
.sc-footer .elementor-nav-menu li,
.sc-footer .elementor-nav-menu li a,
.sc-footer .elementor-nav-menu li .elementor-item {
  font-family: var(--sc-font-heading) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.6) !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: color 0.2s ease !important;
}
.sc-footer .elementor-nav-menu li a:hover,
.sc-footer .elementor-nav-menu li .elementor-item:hover {
  color: #ffffff !important;
}
.sc-footer .elementor-nav-menu {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.sc-footer .elementor-nav-menu li {
  margin-bottom: 10px !important;
  padding: 0 !important;
}


/* ─────────────────────────────────────────────────────────────
   6. BUTTONS & CTAs
   ───────────────────────────────────────────────────────────── */

.elementor-button,
.elementor-button-wrapper .elementor-button {
  background-color: var(--sc-green);
  color: var(--sc-white);
  font-size: 15px;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: var(--sc-radius);
  border: none;
  transition: background-color 0.2s ease, transform 0.1s ease;
}

.elementor-button:hover,
.elementor-button-wrapper .elementor-button:hover {
  background-color: var(--sc-green-mid);
  color: var(--sc-white);
}

.wp-block-button__link {
  background-color: var(--sc-green);
  color: var(--sc-white);
  border-radius: var(--sc-radius);
  font-size: 15px;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.wp-block-button__link:hover {
  background-color: var(--sc-green-mid);
  color: var(--sc-white);
}

.elementor-button.sc-btn-amber,
a.sc-btn-amber {
  background-color: var(--sc-amber);
  color: var(--sc-white);
}

.elementor-button.sc-btn-amber:hover,
a.sc-btn-amber:hover {
  background-color: #c88a1a;
  color: var(--sc-white);
}

.elementor-button.sc-btn-outline,
a.sc-btn-outline {
  background-color: transparent;
  color: var(--sc-green);
  border: 1.5px solid var(--sc-green);
}

.elementor-button.sc-btn-outline:hover,
a.sc-btn-outline:hover {
  background-color: var(--sc-green);
  color: var(--sc-white);
}


/* ─────────────────────────────────────────────────────────────
   7. SECTIONS & LAYOUT
   ───────────────────────────────────────────────────────────── */

.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: var(--sc-wide-width);
}

.elementor-section.sc-section-white  { background-color: var(--sc-white); }
.elementor-section.sc-section-tint   { background-color: var(--sc-bg-tint); }
.elementor-section.sc-section-green  { background-color: var(--sc-green); }

.elementor-section.sc-section-green h2,
.elementor-section.sc-section-green h3,
.elementor-section.sc-section-green p {
  color: var(--sc-white);
}


/* ─────────────────────────────────────────────────────────────
   8. CARDS & WIDGETS
   ───────────────────────────────────────────────────────────── */

.elementor-widget-image-box .elementor-image-box-title,
.elementor-widget-icon-box .elementor-icon-box-title {
  font-family: var(--sc-font-heading);
  font-size: 17px;
  font-weight: 600;
  color: var(--sc-text-heading);
}

.elementor-widget-image-box .elementor-image-box-description,
.elementor-widget-icon-box .elementor-icon-box-description {
  font-size: 15px;
  color: var(--sc-text-body);
  line-height: 1.6;
}

.elementor-icon i,
.elementor-icon svg {
  color: var(--sc-green);
  fill: var(--sc-green);
}


/* ─────────────────────────────────────────────────────────────
   9. GRAVITY FORMS OVERRIDES
   ───────────────────────────────────────────────────────────── */

.gform_wrapper .gfield_label,
.gform_wrapper label {
  font-family: var(--sc-font-heading);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--sc-text-heading);
  margin-bottom: 6px;
  display: block;
}

.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="date"],
.gform_wrapper select,
.gform_wrapper textarea {
  border: 1.5px solid var(--sc-border);
  border-radius: var(--sc-radius);
  padding: 10px 14px;
  font-size: 15px;
  color: var(--sc-text-body);
  background: var(--sc-white);
  width: 100%;
  font-family: var(--sc-font-body);
  transition: border-color 0.2s ease;
}

.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper input[type="date"]:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
  outline: none;
  border-color: var(--sc-green);
  box-shadow: 0 0 0 3px rgba(34, 83, 34, 0.12);
}

.gform_wrapper input[type="submit"],
.gform_wrapper button[type="submit"],
.gform_wrapper .gform_button {
  background-color: var(--sc-green);
  color: var(--sc-white);
  font-family: var(--sc-font-heading);
  font-size: 15px;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: var(--sc-radius);
  border: none;
  padding: 12px 28px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.gform_wrapper input[type="submit"]:hover,
.gform_wrapper button[type="submit"]:hover,
.gform_wrapper .gform_button:hover {
  background-color: var(--sc-green-mid);
}

.gform_wrapper .validation_message,
.gform_wrapper .gfield_description.validation_message {
  color: #cc3366;
  font-size: 13px;
}

.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea {
  border-color: #cc3366;
}


/* ─────────────────────────────────────────────────────────────
   10. MOTOPRESS HOTEL BOOKING OVERRIDES
   ───────────────────────────────────────────────────────────── */

.mphb-datepick .mphb-calendar td.mphb-available-date,
.datepick-popup td.mphb-available-date {
  background-color: var(--sc-calendar-avail);
}

.mphb-datepick .mphb-calendar td.mphb-booked-date,
.datepick-popup td.mphb-booked-date {
  background-color: var(--sc-calendar-booked);
}

.mphb-datepick .mphb-calendar td.mphb-past-date,
.mphb-datepick .mphb-calendar td.mphb-unavailable-date,
.datepick-popup td.mphb-past-date {
  background-color: var(--sc-calendar-closed);
}

.mphb-book-button,
.mphb_sc_checkout-form input[type="submit"],
.mphb_sc_checkout-form button[type="submit"] {
  background-color: var(--sc-green) !important;
  color: var(--sc-white) !important;
  border-radius: var(--sc-radius) !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  border: none !important;
  transition: background-color 0.2s ease !important;
}

.mphb-book-button:hover,
.mphb_sc_checkout-form input[type="submit"]:hover,
.mphb_sc_checkout-form button[type="submit"]:hover {
  background-color: var(--sc-green-mid) !important;
}

.mphb-room-type-price .mphb-price,
.mphb-checkout-total {
  font-family: var(--sc-font-heading);
  font-weight: 700;
  color: var(--sc-green);
  font-size: 20px;
}


/* ─────────────────────────────────────────────────────────────
   11. HEADER & FOOTER
   ───────────────────────────────────────────────────────────── */

/* ── Header wrapper ─────────────────────────────────────────── */
.elementor-location-header {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: 9999;
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

/* Transparent state (over hero) */
.sc-header {
  background: transparent !important;
  box-shadow: none !important;
}

/* Solid state (on scroll — JS adds .sc-scrolled to body) */
.sc-scrolled .sc-header {
  background: rgba(34, 83, 34, 1) !important;
  /* backdrop-filter removed — breaks mobile nav stacking */
  /* -webkit-backdrop-filter removed */
  box-shadow: 0 2px 20px rgba(0,0,0,0.15) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

/* Inner container */
.sc-header-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
  width: 100%;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .sc-header-inner { padding: 0 20px; }
}

/* CTA button — style the button element only, not the widget wrapper */
.sc-header-cta .elementor-button {
  background: var(--sc-amber) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 10px 22px !important;
  border-radius: 6px !important;
  border: none !important;
  letter-spacing: 0.3px !important;
  text-decoration: none !important;
  box-shadow: 0 2px 12px rgba(232,160,32,0.35) !important;
  transition: background 0.2s, transform 0.15s !important;
  white-space: nowrap !important;
  display: inline-block !important;
}
.sc-header-cta .elementor-button:hover {
  background: #d4901c !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(232,160,32,0.45) !important;
}

/* Logo — invert to white on the header */
.sc-header-logo img {
  filter: brightness(0) invert(1) !important;
  opacity: 0.92 !important;
  max-height: 52px !important;
  width: auto !important;
}

/* Homepage mobile — show original colour logo at top, white on scroll */
@media (max-width: 768px) {
  body.home:not(.sc-scrolled) .sc-header-logo img {
    filter: none !important;
    opacity: 1 !important;
  }
}

/* Push nav to the right — logo left, nav+CTA grouped right (matches mockup) */
.sc-header-inner .sc-header-nav {
  margin-left: auto !important;
  margin-right: 0 !important;
}

/* Header nav — link colours and spacing */
.sc-header-nav .elementor-item,
.sc-header-nav .elementor-item:visited {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
  text-decoration: none !important;
  padding: 8px 14px !important;
  border-radius: 10px !important;
  transition: background 0.2s, color 0.2s !important;
}
/* Hover — subtle white pill (matches mockup) */
.sc-header-nav .elementor-item:hover {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #fff !important;
}
/* Active page — amber text, no underline */
.sc-header-nav .elementor-item.elementor-item-active {
  color: var(--sc-amber) !important;
  background: transparent !important;
}
/* Remove Elementor's default active underline */
.sc-header-nav .elementor-item::after {
  display: none !important;
}

/* ── JetEngine Mega Menu — match old Elementor nav style ──── */

/* Top-level link styling */
.sc-header-nav .jet-mega-menu-item__link--top-level {
  color: rgba(255, 255, 255, 0.85) !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 8px 14px !important;
  border-radius: 10px !important;
  line-height: 20px !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s !important;
}

/* Hover — white pill */
.sc-header-nav .jet-mega-menu-item__link--top-level:hover {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #fff !important;
}

/* Active / current page — amber text */
.sc-header-nav .jet-mega-menu-item.current-menu-item > .jet-mega-menu-item__inner > .jet-mega-menu-item__link--top-level,
.sc-header-nav .jet-mega-menu-item.current_page_item > .jet-mega-menu-item__inner > .jet-mega-menu-item__link--top-level {
  color: var(--sc-amber) !important;
  background: transparent !important;
}

/* List layout — horizontal flex, reset */
.sc-header-nav .jet-mega-menu-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}

/* Remove default item decoration */
.sc-header-nav .jet-mega-menu-item--top-level {
  list-style: none !important;
}

/* ── JetMega mobile toggle (tablet & below) ───────────────── */
@media (max-width: 1024px) {
  /* Toggle hamburger icon — white to match header */
  .sc-header-nav .jet-mega-menu-toggle {
    color: #fff !important;
  }
  .sc-header-nav .jet-mega-menu-toggle svg {
    fill: #fff !important;
    width: 24px !important;
    height: 24px !important;
  }

  /* Dropdown panel styling */
  .sc-header-nav .jet-mega-menu-container--dropdown {
    background: rgba(34, 83, 34, 0.96) !important;
    /* backdrop-filter removed */
  }
}

/* ── JetMega mobile nav — comprehensive fix v1.0.222 ──────── */


@media (max-width: 768px) {
  /* Dropdown panel — green background, let JetMega handle positioning */
  .jet-mega-menu--dropdown-layout-default .jet-mega-menu-container {
    background: rgba(34, 83, 34, 0.97) !important;
    /* backdrop-filter removed */
    /* -webkit-backdrop-filter removed */
  }

  /* Style the dropdown link items */
  .sc-header-nav .jet-mega-menu--dropdown-layout-default .jet-mega-menu-container .jet-mega-menu-item__link,
  .sc-header-nav .jet-mega-menu--dropdown-layout-default .jet-mega-menu-container .jet-mega-menu-item__label {
    color: rgba(255, 255, 255, 0.85) !important;
    font-family: var(--sc-font-heading) !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 14px 24px !important;
    text-decoration: none !important;
    display: block !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  .jet-mega-menu--dropdown-layout-default .jet-mega-menu-container .jet-mega-menu-item__link:hover,
  .jet-mega-menu--dropdown-layout-default .jet-mega-menu-container .jet-mega-menu-item__link:active {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.1) !important;
  }

  /* Active page — amber */
  .jet-mega-menu--dropdown-layout-default .jet-mega-menu-container .current-menu-item .jet-mega-menu-item__link,
  .jet-mega-menu--dropdown-layout-default .jet-mega-menu-container .current_page_item .jet-mega-menu-item__link {
    color: var(--sc-amber) !important;
  }

  /* Toggle icon — white */
  .sc-header-nav .jet-mega-menu-toggle {
    color: #fff !important;
  }
  .sc-header-nav .jet-mega-menu-toggle svg {
    fill: #fff !important;
    width: 24px !important;
    height: 24px !important;
  }
}

.elementor-location-footer {
  background-color: var(--sc-white);
}

.elementor-location-footer p,
.elementor-location-footer a {
  font-size: 13px;
  color: var(--sc-text-meta);
}

.elementor-location-footer a:hover {
  color: var(--sc-green);
}


/* ─────────────────────────────────────────────────────────────
   12. RESPONSIVE OVERRIDES
   ───────────────────────────────────────────────────────────── */

@media (max-width: 1024px) {
  h1 { font-size: 34px; }
  h2 { font-size: 26px; }
  h3 { font-size: 20px; }
}

@media (max-width: 767px) {
  h1 { font-size: 28px; }
  h2 { font-size: 22px; }
  h3 { font-size: 18px; }
  body { font-size: 15px; }
  .elementor-button,
  .wp-block-button__link {
    width: 100%;
    text-align: center;
  }
}


/* ─────────────────────────────────────────────────────────────
   13. UTILITY CLASSES
   ───────────────────────────────────────────────────────────── */

.sc-text-green    { color: var(--sc-green); }
.sc-text-heading  { color: var(--sc-text-heading); }
.sc-text-body     { color: var(--sc-text-body); }
.sc-text-white    { color: var(--sc-white); }
.sc-text-amber    { color: var(--sc-amber); }

.sc-bg-green      { background-color: var(--sc-green); }
.sc-bg-tint       { background-color: var(--sc-bg-tint); }
.sc-bg-white      { background-color: var(--sc-white); }
.sc-bg-amber      { background-color: var(--sc-amber); }

.sc-uppercase     { text-transform: uppercase; letter-spacing: 1px; }
.sc-lato          { font-family: var(--sc-font-heading); }


/* ─── Emoji icon utility ─────────────────────────────────────
   Replaces inline SVG icons with native emoji for visual impact.
   .sc-emoji-icon       — inline emoji at text size (13–14px)
   .sc-emoji-icon--lg   — larger emoji for feature cards (24px)
   .sc-group-emoji      — group header emoji styling
   ──────────────────────────────────────────────────────────── */
.sc-emoji-icon {
  display: inline-block;
  font-style: normal;
  font-size: inherit;
  line-height: 1;
  vertical-align: -2px;
}
.sc-emoji-icon--lg {
  font-size: 24px;
  vertical-align: middle;
}
/* Group header emoji — replaces the SVG circle icon */
.sc-group-emoji {
  font-size: 22px !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.sc-group-emoji svg { display: none; }

/* My Account sidebar — emoji alignment */
.sc-side-nav .sc-emoji-icon {
  font-size: 16px;
  vertical-align: -3px;
  margin-right: 2px;
}

/* Capacity row emoji sizing */
.sc-cap-item .sc-emoji-icon {
  font-size: 13px;
  vertical-align: -1px;
}

/* Pod card meta emoji */
.sc-pod-card-meta .sc-emoji-icon {
  font-size: 13px;
  vertical-align: -1px;
}

/* Local attractions distance emoji */
.sc-la-archive-card-dist .sc-emoji-icon,
.sc-la-single-meta-item .sc-emoji-icon {
  font-size: 14px;
  vertical-align: -2px;
  margin-right: 4px;
}

/* Events feature card emoji */
.sc-ev-archive-hosting-cta-feat .sc-emoji-icon--lg {
  font-size: 28px;
}


/* ── Coin emoji colour tints for pitch cards ─────────────── */
.sc-coin-gold   { color: #FFD700; }
.sc-coin-silver { color: #C0C0C0; }
.sc-coin-bronze { color: #CD7F32; }

/* ─────────────────────────────────────────────────────────────
   HOMEPAGE SECTIONS — Added by Aten Digital
   All sections use 1140px content width to match Elementor
   site-wide container setting.
   ───────────────────────────────────────────────────────────── */


/* ═══ SHARED SECTION HELPERS ════════════════════════════════════ */

/* .section-inner constrains content inside full-width sections.
   Default: 1280px centred with 32px side padding.
   Override per-section where needed (e.g. explore-section below). */
.section-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}
@media (max-width: 600px) { .section-inner { padding: 0 20px; } }
.section-eyebrow {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #5a8f44 !important;
  margin-bottom: 12px !important;
}
.section-title {
  font-family: 'Lato', sans-serif !important;
  font-size: clamp(28px, 3.5vw, 44px) !important;
  font-weight: 700 !important;
  color: #225322 !important;
  line-height: 1.15 !important;
  margin-bottom: 16px !important;
  letter-spacing: -0.5px !important;
}
.section-desc {
  font-size: 18px !important;
  color: #6b7280 !important;
  line-height: 1.65 !important;
  max-width: 600px;
  margin-bottom: 0 !important;
}
.section-header-flex {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 48px;
  flex-wrap: wrap;
}
.section-cta {
  display: inline-block !important;
  flex-shrink: 0;
  background: #e8a020 !important;
  color: #fff !important;
  font-family: 'Lato', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: 0 4px 20px rgba(232,160,32,0.35) !important;
  transition: background 0.2s !important;
}
.section-cta:hover { background: #c8870f !important; }


/* ═══ HERO SECTION ═══════════════════════════════════════════════ */

.hero-section {
  min-height: 100vh;
  background:
    linear-gradient(160deg,
      rgba(26,63,26,0.88)  0%,
      rgba(34,83,34,0.82)  35%,
      rgba(61,107,46,0.72) 70%,
      rgba(45,92,34,0.85)  100%
    ),
    url('https://dev.stonehengecampsite.co.uk/wp-content/uploads/2026/04/108133.webp') center center / cover no-repeat !important;
  position: relative;
  overflow: hidden !important;
}
.hero-section::before {
  content: '';
  position: absolute;
  top: -20%; right: -10%;
  width: 70vw; height: 70vw;
  background: radial-gradient(circle, rgba(232,160,32,0.12) 0%, transparent 65%);
  pointer-events: none;
}

  .hero-section { --padding-left: 0px !important; --padding-right: 0px !important; }
  .hero-inner  { --padding-left: 0px !important; --padding-right: 0px !important; }
.hero-inner > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1fr 440px !important;
  gap: 64px !important;
  align-items: center !important;
  padding: 140px 32px 80px !important;
  width: 100%;
}
@media (max-width: 900px) {
  .hero-section { --padding-left: 0px !important; --padding-right: 0px !important; }
  .hero-inner  { --padding-left: 0px !important; --padding-right: 0px !important; }
  .hero-inner > .e-con-inner {
    grid-template-columns: 1fr !important;
    padding: 100px 20px 48px !important;
  }
}

@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.6; transform: scale(1.3); }
}
.hero-badge-dot {
  width: 8px; height: 8px;
  background: #e8a020;
  border-radius: 50%;
  animation: pulse 2s infinite;
}


/* ═══ BOOKING CARD ════════════════════════════════════════════════ */

.hero-card {
  background: rgba(255,255,255,0.97) !important;
  border-radius: 24px;
  padding: 32px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.18);
  position: relative;
}
@media (max-width: 600px) { .hero-card { padding: 20px; border-radius: 16px; } }
.hero-card::before {
  content: '✓ Best price guaranteed';
  position: absolute;
  top: -14px; left: 50%;
  right: auto !important;
  bottom: auto !important;
  width: max-content !important;
  height: auto !important;
  transform: translateX(-50%);
  background: #e8a020;
  color: #fff;
  font-size: 12px; font-weight: 700;
  padding: 4px 16px;
  border-radius: 20px;
  white-space: nowrap;
  z-index: 10;
}


/* ═══ MOTOPRESS SEARCH FORM ══════════════════════════════════════ */

#hero-booking .mphb_sc_search-form input,
#hero-booking .mphb_sc_search-form select {
  border: 1.5px solid #e5e7eb;
  border-radius: 8px;
  padding: 12px 14px;
  font-family: 'Lato', sans-serif;
  font-size: 15px;
  width: 100%;
  box-sizing: border-box;
}
#hero-booking .mphb_sc_search-form input:focus,
#hero-booking .mphb_sc_search-form select:focus {
  outline: none;
  border-color: #225322;
  box-shadow: 0 0 0 3px rgba(34,83,34,0.12);
}
#hero-booking .mphb_sc_search-submit-button-wrapper input[type="submit"],
#hero-booking .mphb_sc_search-submit-button-wrapper button {
  width: 100%;
  padding: 16px;
  background: #225322 !important;
  color: #fff !important;
  font-weight: 700;
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
}
#hero-booking .mphb_sc_search-submit-button-wrapper input[type="submit"]:hover,
#hero-booking .mphb_sc_search-submit-button-wrapper button:hover {
  background: #3d6b2e !important;
  transform: translateY(-1px);
}
#hero-booking .mphb-required-fields-tip { display: none; }

.card-title {
  font-family: 'Lato', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #225322 !important;
  margin-bottom: 6px;
  margin-top: 8px;
}
.card-sub {
  font-size: 13px;
  color: #9ca3af !important;
  margin-bottom: 20px;
}

#hero-booking .mphb_sc_search-form {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}
#hero-booking .mphb_sc_search-check-in-date  { grid-column: 1; }
#hero-booking .mphb_sc_search-check-out-date { grid-column: 2; }
#hero-booking .mphb_sc_search-adults         { grid-column: 1; }
#hero-booking .mphb_sc_search-children       { grid-column: 2; }
#hero-booking .mphb_sc_search-submit-button-wrapper { grid-column: 1 / -1; }

#hero-booking .mphb_sc_search-form label {
  display: block;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #9ca3af !important;
  margin-bottom: 6px;
}
#hero-booking .mphb_sc_search-form br { display: none; }
#hero-booking .mphb_sc_search-form p {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}
#hero-booking .mphb_sc_search-submit-button-wrapper {
  margin-bottom: 0 !important;
  margin-top: 4px !important;
}


/* ═══ PLATFORM LINKS ══════════════════════════════════════════════ */

.card-also-on {
  margin-top: 12px !important;
  padding-top: 12px !important;
  border-top: 1px solid #f0f0f0;
}
.card-also-label {
  font-size: 11px;
  color: #9ca3af !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
  text-align: center;
}
.card-platform-links {
  display: flex;
  gap: 8px;
  justify-content: center;
}
.platform-link {
  flex: 1;
  text-align: center;
  padding: 10px 12px;
  border: 1.5px solid #e5e7eb;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  color: #6b7280 !important;
  text-decoration: none;
  transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.platform-link:hover {
  border-color: #225322;
  color: #225322 !important;
  background: #f3f8f3 !important;
}
.platform-link svg {
  display: block;
  margin: 0 auto 4px;
}


/* ═══ HERO LEFT PANEL ════════════════════════════════════════════ */

.hero-badge .elementor-widget-container { display: inline-block; }
.hero-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(232,160,32,0.18);
  color: #fff !important;
  font-size: 13px;
  font-weight: 600;
  padding: 7px 18px;
  border-radius: 30px;
  border: 1px solid rgba(232,160,32,0.45);
  margin-bottom: 4px;
}
.hero-badge-dot {
  width: 8px; height: 8px;
  background: #e8a020;
  border-radius: 50%;
  flex-shrink: 0;
  animation: pulse 2s ease-in-out infinite;
}

.hero-headline .elementor-heading-title {
  color: #fff !important;
  font-family: 'Lato', sans-serif !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: -1px !important;
}

.hero-subtext .elementor-widget-container,
.hero-subtext p {
  color: rgba(255,255,255,0.8) !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  margin-bottom: 0 !important;
}

.hero-cta-row {
  display: flex !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  margin-top: 8px !important;
}

.btn-primary .elementor-button {
  background: #e8a020 !important;
  color: #fff !important;
  font-family: 'Lato', sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 16px 32px !important;
  border-radius: 8px !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(232,160,32,0.35) !important;
  transition: background 0.2s, transform 0.15s !important;
  text-decoration: none !important;
}
.btn-primary .elementor-button:hover {
  background: #c8870f !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(232,160,32,0.55) !important;
}

.btn-ghost .elementor-button {
  background: transparent !important;
  color: #fff !important;
  font-family: 'Lato', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  padding: 15px 28px !important;
  border-radius: 8px !important;
  border: 1.5px solid rgba(255,255,255,0.5) !important;
  transition: border-color 0.2s, background 0.2s !important;
}
.btn-ghost .elementor-button:hover {
  border-color: #fff !important;
  background: rgba(255,255,255,0.08) !important;
}

.hero-trust .elementor-widget-container { margin-top: 8px !important; }
.hero-trust-list {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  list-style: none;
  margin: 0; padding: 0;
}
.hero-trust-list li {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: rgba(255,255,255,0.65) !important;
  font-weight: 500;
}
.hero-trust-list li::before {
  content: '✓';
  color: #e8a020;
  font-weight: 700;
  font-size: 12px;
}


/* ═══ BOOK DIRECT BANNER ══════════════════════════════════════════ */

.price-strip {
  background: #e8a020 !important;
  padding: 16px 32px !important;
}
@media (max-width: 767px) { .price-strip { padding: 16px 20px !important; } }
.price-strip > .e-con-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.price-strip-text {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #fff !important;
  font-family: 'Lato', sans-serif !important;
}
.price-strip-text span { font-weight: 400 !important; opacity: 0.9; }
.price-strip-link {
  display: inline-block !important;
  background: rgba(255,255,255,0.25) !important;
  color: #fff !important;
  padding: 6px 18px !important;
  border-radius: 20px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  font-family: 'Lato', sans-serif !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: background 0.2s !important;
}
.price-strip-link:hover { background: rgba(255,255,255,0.38) !important; }
.price-strip .elementor-widget-container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}


/* ═══ ACCOMMODATION SECTION ══════════════════════════════════════ */

.section { padding: 96px 0; }
@media (max-width: 767px) {
  .section { padding: 48px 0; }
  .section-header-flex { margin-bottom: 24px; }
}
.section-tint { background: #f3f8f3 !important; }

.accom-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
}
.accom-card {
  background: #fff !important;
  border-radius: 16px;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  transition: transform 0.25s, box-shadow 0.25s;
  position: relative;
  display: flex !important;
  flex-direction: column !important;
}
.accom-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.14);
}
.accom-card-body {
  padding: 24px;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}
.accom-card-img {
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 56px;
  position: relative;
  overflow: hidden !important;
}
.accom-card-img-tent  { background: linear-gradient(rgba(0,0,0,0.35),rgba(0,0,0,0.35)), linear-gradient(135deg,#2d6b22,#4a8f35); }
.accom-card-img-van   { background: linear-gradient(rgba(0,0,0,0.35),rgba(0,0,0,0.35)), linear-gradient(135deg,#225322,#3d6b2e); }
.accom-card-img-pod   { background: linear-gradient(rgba(0,0,0,0.35),rgba(0,0,0,0.35)), linear-gradient(135deg,#1a3f1a,#2e5d1e); }
.accom-card-img-bell  { background: linear-gradient(rgba(0,0,0,0.35),rgba(0,0,0,0.35)), linear-gradient(135deg,#3d6b2e,#5a8f44); }
.accom-card-badge {
  position: absolute;
  top: 12px; right: 12px;
  background: #e8a020 !important;
  color: #fff !important;
  font-size: 11px; font-weight: 700;
  padding: 4px 10px;
  border-radius: 20px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.accom-card-title {
  font-family: 'Lato', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #225322 !important;
  margin-bottom: 8px !important;
}
.accom-card-desc {
  font-size: 14px !important;
  color: #6b7280 !important;
  line-height: 1.6 !important;
  margin-bottom: 20px !important;
}
.accom-card-features {
  list-style: none !important;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 20px !important;
  padding: 0 !important;
}
.accom-card-features li {
  background: #f3f8f3 !important;
  color: #225322 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 4px 10px !important;
  border-radius: 20px;
}
.accom-card-cta {
  display: block !important;
  text-align: center !important;
  padding: 12px !important;
  background: #225322 !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: background 0.2s !important;
  margin-top: auto !important;
}
.accom-card-cta:hover { background: #3d6b2e !important; }


/* ═══ BENTO FEATURES GRID ════════════════════════════════════════ */

.bento-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 48px;
}
.bento-card {
  background: #fff !important;
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.07);
  border: 1px solid #e8f0e4;
  transition: transform 0.2s, box-shadow 0.2s;
}
.bento-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}
.bento-card-wide { grid-column: span 2; }
.bento-icon {
  width: 52px; height: 52px;
  background: #f3f8f3 !important;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 26px;
  margin-bottom: 20px;
}
.bento-title {
  font-family: 'Lato', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #225322 !important;
  margin-bottom: 8px !important;
}
.bento-desc {
  font-size: 14px !important;
  color: #6b7280 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}
.bento-highlight {
  background: linear-gradient(135deg, #225322, #3d6b2e) !important;
  border: none !important;
}
.bento-highlight .bento-icon  { background: rgba(255,255,255,0.15) !important; }
.bento-highlight .bento-title { color: #fff !important; }
.bento-highlight .bento-desc  { color: rgba(255,255,255,0.8) !important; }
.bento-stat {
  font-family: 'Lato', sans-serif;
  font-size: 48px; font-weight: 700;
  color: #fff !important;
  line-height: 1; margin-bottom: 4px;
}
.bento-stat-label {
  font-size: 14px;
  color: rgba(255,255,255,0.75) !important;
}
@media (max-width: 900px) { .bento-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) {
  .bento-grid { grid-template-columns: 1fr; }
  .bento-card-wide { grid-column: span 1; }
  .bento-stat { font-size: 36px; }
  .bento-grid { margin-top: 24px; }
  .reviews-score-num { font-size: 48px !important; }
}


/* ═══ REVIEWS SECTION ════════════════════════════════════════════
   FIX v1.0.13: changed padding formula from 1280px to 1140px
   to align with site-wide Elementor content width.
   ════════════════════════════════════════════════════════════════ */

.reviews-section {
  background: #225322 !important;
  padding-top: 80px !important;
  padding-bottom: 0 !important;
  /* reviews-section is e-con-full (no e-con-inner).
     Formula: (100% - 1280px) / 2 + 32px matches accommodation .section-inner
     content edges exactly (section-inner is 1280px with 32px inner padding). */
  padding-left:  max(32px, calc((100% - 1280px) / 2 + 32px)) !important;
  padding-right: max(32px, calc((100% - 1280px) / 2 + 32px)) !important;
}

.reviews-section .section-eyebrow {
  color: #e8a020 !important; /* amber for dark bg, per v01 */
}
.reviews-section .section-eyebrow p { margin-bottom: 0 !important; }

.reviews-section .section-title .elementor-heading-title {
  color: #fff !important;
  font-family: 'Lato', sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(32px, 4vw, 52px) !important;
  line-height: 1.08 !important;
}
.reviews-section .section-title { margin-bottom: 16px !important; }

.reviews-section .section-subtitle .elementor-widget-container,
.reviews-section .section-subtitle p {
  color: rgba(255,255,255,0.7) !important;
  font-size: 17px !important;
}

/* Text column — left-aligned, no extra padding */
.reviews-text-col {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  gap: 0 !important;
  justify-content: center !important;
  align-items: flex-start !important;
}
.reviews-text-col .elementor-widget { margin-bottom: 0 !important; }

/* Score column */
.reviews-score-col {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 20px !important;
  padding-right: 0 !important;
}
.reviews-score-col .elementor-widget-html,
.reviews-score-col .elementor-widget-container { width: 100% !important; }

/* Score block */
.reviews-score-block {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  text-align: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
@media (max-width: 767px) {
  .reviews-score-col {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-inline-start: 0 !important;
    padding-inline-end: 0 !important;
  }
}
.reviews-score-num {
  font-size: 64px !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1 !important;
  font-family: 'Lato', sans-serif !important;
  display: block !important;
}
.reviews-stars {
  color: #e8a020 !important;
  font-size: 26px !important;
  letter-spacing: 3px !important;
  display: block !important;
  margin: 10px 0 6px !important;
}
.reviews-count {
  color: rgba(255,255,255,0.65) !important;
  font-size: 14px !important;
  display: block !important;
}
/* Hide old buttons from score block — replaced by .reviews-cta-row in left column */
.reviews-google-badge,
.reviews-leave-btn {
  display: none !important;
}

/* ─── Reviews CTA pill buttons (new HTML widget in left text column) ─── */
.reviews-cta-row {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-top: 24px !important;
}
.reviews-pill-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 22px !important;
  border-radius: 30px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: background 0.2s, transform 0.15s !important;
  cursor: pointer !important;
}
.reviews-pill-google {
  background: rgba(255,255,255,0.12) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
}
.reviews-pill-google:hover {
  background: rgba(255,255,255,0.22) !important;
  color: #fff !important;
}
.reviews-pill-google svg { flex-shrink: 0; }
.reviews-pill-leave {
  background: #e8a020 !important;
  color: #fff !important;
  border: 1px solid transparent !important;
}
.reviews-pill-leave:hover {
  background: #c8870f !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

/* Elfsight widget wrapper — same formula as reviews-section */
.reviews-widget-wrap {
  background: #225322 !important;
  padding-top: 0 !important;
  padding-bottom: 80px !important;
  padding-left:  max(32px, calc((100% - 1280px) / 2 + 32px)) !important;
  padding-right: max(32px, calc((100% - 1280px) / 2 + 32px)) !important;
  margin: 0 !important;
}
/* reviews-widget-wrap is e-con-boxed — release its e-con-inner so
   the Elfsight carousel fills the same padded width as the header above */
.reviews-widget-wrap > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
@media (max-width: 767px) {
  .reviews-section { padding-top: 40px !important; padding-left: 20px !important; padding-right: 20px !important; flex-direction: column !important; }
  .reviews-score-col { padding-left: 0 !important; padding-top: 16px !important; flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; align-self: stretch !important; }
  .reviews-widget-wrap { padding-bottom: 40px !important; padding-left: 20px !important; padding-right: 20px !important; }
}
}


/* ═══ EXPLORE THE AREA ═══════════════════════════════════════════
   FIX v1.0.13: section-inner padding removed (section handles
   alignment); grid-wrap padding corrected to match.
   ════════════════════════════════════════════════════════════════ */

.explore-section {
  background: #f3f8f3 !important;
  padding-top: 80px !important;
  padding-bottom: 24px !important; /* button section sits directly below — no large gap needed */
  /* explore-section is e-con-boxed but we release e-con-inner below.
     Formula matches bento/accommodation section-inner content edges:
     (100% - 1280px) / 2 + 32px = same left edge as .section-inner with 32px inner padding. */
  padding-left:  max(32px, calc((100% - 1280px) / 2 + 32px)) !important;
  padding-right: max(32px, calc((100% - 1280px) / 2 + 32px)) !important;
}

/* Release e-con-inner so padded section controls content width */
.explore-section > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
@media (max-width: 767px) {
  .explore-section { padding-top: 40px !important; padding-left: 20px !important; padding-right: 20px !important; }
}
}

/* Section heading — no additional inset; section padding handles alignment */
.explore-section .section-inner {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}
/* Explore eyebrow uses default green from .section-eyebrow (per v01 — no amber override) */
.explore-section .section-inner .section-title   { color: #225322 !important; }
.explore-section .section-inner .section-desc    { color: #6b7280 !important; }

/* Grid wrap */
.explore-grid-wrap {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
  overflow-x: clip !important;
}
.explore-grid-wrap .jet-listing-grid__items {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  margin: -11px !important;
  width: calc(100% + 22px) !important;
}
.explore-grid-wrap .jet-listing-grid__item {
  padding: 11px !important;
  box-sizing: border-box !important;
  display: flex !important;
}

/* Card */
.explore-card {
  background: #fff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.07) !important;
  border: 1px solid #e8f0e4 !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  padding: 0 !important;
  transition: transform 0.25s, box-shadow 0.25s !important;
}
.explore-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 8px 28px rgba(0,0,0,0.13) !important;
}
.explore-card > .e-con-inner {
  padding: 0 !important;
  flex-direction: column !important;
  flex: 1 !important;
  width: 100% !important;
  align-items: stretch !important;
  gap: 0 !important;
}

/* Image wrap */
.explore-card-img-wrap {
  padding: 0 !important;
  position: relative !important;
  overflow: hidden !important;
}
.explore-card-img-wrap > .e-con-inner {
  padding: 0 !important;
  flex-direction: column !important;
  gap: 0 !important;
}
/* Force the image widget and its link/wrapper to fill card width */
.explore-card-img,
.explore-card-img .elementor-widget-container,
.explore-card-img .jet-listing-dynamic-image {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* The <a> tag wrapping the image is inline-block by default — force block so it fills */
.explore-card-img a {
  display: block !important;
  width: 100% !important;
  line-height: 0 !important; /* remove inline gap below image */
}
.explore-card-img img,
.explore-card-img .jet-listing-dynamic-image__img {
  width: 100% !important;
  height: 230px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s !important;
}
.explore-card:hover .explore-card-img img,
.explore-card:hover .explore-card-img .jet-listing-dynamic-image__img {
  transform: scale(1.07) !important;
}

/* Distance pill — background on __inline-wrap only */
.explore-card-dist {
  position: absolute !important;
  bottom: 12px !important;
  right: 12px !important;
  z-index: 2 !important;
}
.explore-card-dist .jet-listing-dynamic-field {
  display: inline !important;
  background: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
.explore-card-dist .jet-listing-dynamic-field__inline-wrap {
  display: inline-block !important;
  background: rgba(0,0,0,0.55) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 4px 10px !important;
  border-radius: 20px !important;
  backdrop-filter: blur(4px) !important;
  line-height: 1.4 !important;
}
.explore-card-dist .jet-listing-dynamic-field__content {
  display: inline !important;
  background: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: inherit !important;
}

/* Card body — shrinks to content height */
.explore-card-body {
  padding: 0 !important;
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* Hide the empty duplicate excerpt widget (sibling of body, not inside it) */
.explore-card > .e-con-inner > .explore-card-excerpt { display: none !important; }

/* Title */
.explore-card-title { padding: 24px 24px 0 !important; }
.explore-card-title .jet-listing-dynamic-field,
.explore-card-title .jet-listing-dynamic-field__inline-wrap,
.explore-card-title .jet-listing-dynamic-field__content,
.explore-card-title .jet-listing-dynamic-field__content a {
  display: block !important;
  color: #225322 !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  margin-bottom: 0 !important;
  text-decoration: none !important;
  width: 100% !important;
}

/* Excerpt */
.explore-card-excerpt { padding: 10px 24px 24px !important; }
.explore-card-excerpt .jet-listing-dynamic-field,
.explore-card-excerpt .jet-listing-dynamic-field__inline-wrap {
  display: block !important;
  width: 100% !important;
}
.explore-card-excerpt .jet-listing-dynamic-field__content {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  color: rgba(0,0,0,0.6) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  width: 100% !important;
}

/* See all attractions button — right-aligned, no spacing.
   Button lives in its own e-con-full section separate from .explore-section.
   Structure: .e-con > html-widget > .section-inner > a.section-cta
   Button colour/style is untouched (Elementor controlled). */

/* Button section — flush with explore section above, tint background to match */
.e-con:has(.section-inner > a.section-cta) {
  background: #f3f8f3 !important;
  padding-top: 0 !important;
  padding-bottom: 48px !important;
}
/* Right-align within the centred section-inner; keep auto L/R margin for centering */
.section-inner:has(> a.section-cta) {
  text-align: right !important;
  margin: 0 auto !important;
}
/* Ensure button is inline-block so text-align:right applies */
.section-inner > a.section-cta {
  display: inline-block !important;
}

/* ── Group subheadings (Within Walking Distance / Local Attractions) ── */

/* Divider row containing icon + label + meta text.
   Paste the .sc-attract-group-hd HTML block into an Elementor HTML widget
   above each JetEngine Listing Grid. */
.sc-attract-group-hd {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-top: 32px !important;
  padding-bottom: 16px !important;
  margin-bottom: 28px !important;
  border-bottom: 2px solid #e8f0e4 !important;
}
.sc-attract-group-icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  flex-shrink: 0 !important;
  border: 1px solid #e8f0e4 !important;
}
.sc-attract-group-icon--walk  { background: #e2ede2 !important; border-color: #c8ddc8 !important; }
.sc-attract-group-icon--drive { background: #fef3dc !important; border-color: #f5d98a !important; }
.sc-attract-group-label {
  font-family: 'Lato', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #225322 !important;
  line-height: 1.2 !important;
  display: block !important;
}
.sc-attract-group-meta {
  font-size: 13px !important;
  color: #6b7280 !important;
  display: block !important;
  margin-top: 3px !important;
}

/* Responsive grid */
@media (max-width: 900px) {
  .explore-grid-wrap .jet-listing-grid__item {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
}
@media (max-width: 600px) {
  .explore-grid-wrap .jet-listing-grid__item {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}


/* ═══ FOOTER ══════════════════════════════════════════════════════
   v01 design: 4-column grid on #111 background.
   Rendered via footer.php child theme override.
   ════════════════════════════════════════════════════════════════ */

.sc-footer {
  background: #111111 !important;
  padding: 64px 0 0 !important; /* no side padding — inner handles it */
  margin: 0 !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* Hide the empty Hello Elementor #site-footer shell (our footer renders after it) */
#site-footer:not(.sc-footer) { display: none !important; }

/* Kill Hello Elementor's default footer inner wrapper interference */
.sc-footer .footer-inner { all: unset; }

/* Mirrors .section-inner exactly: 1280px centred, 32px inner padding */
.sc-footer-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}
@media (max-width: 600px) { .sc-footer-inner { padding: 0; } }

/* ── 4-column grid ──────────────────────────────────────────── */
/* display and column widths handled by Elementor flexbox + manual % widths */
.sc-footer-grid {
  gap: 48px;
  margin-bottom: 48px;
}

/* ── Brand column ───────────────────────────────────────────── */
.sc-footer-logo-link {
  display: inline-block;
  text-decoration: none;
}
.sc-footer-logo,
.sc-footer-logo img {
  height: 48px !important;
  width: auto !important;
  display: block;
  filter: brightness(0) invert(1) !important;
  opacity: 0.85;
  margin-bottom: 16px !important;
}
.sc-footer-logo-fallback {
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #fff;
}
.sc-footer-tagline {
  font-size: 14px !important;
  color: rgba(255,255,255,0.5) !important;
  line-height: 1.65 !important;
  margin-bottom: 20px !important;
  max-width: 280px;
}

/* Contact items */
.sc-footer-contact {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 24px;
}
.sc-footer-contact-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  color: rgba(255,255,255,0.6) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
  line-height: 1.4 !important;
}
.sc-footer-contact-item a,
.sc-footer-contact-item a:visited,
.sc-footer-contact-item .elementor-icon-list-item a,
.sc-footer-contact-item .elementor-icon-list-item a:visited,
.sc-footer-contact-item .elementor-icon-list-text {
  color: rgba(255,255,255,0.6) !important;
  text-decoration: none !important;
}
.sc-footer-contact-item:hover,
.sc-footer-contact-item a:hover,
.sc-footer-contact-item .elementor-icon-list-item a:hover,
.sc-footer-contact-item .elementor-icon-list-item a:hover .elementor-icon-list-text {
  color: #fff !important;
}
.sc-footer-contact-item svg,
.sc-footer-contact-item .elementor-icon-list-icon i,
.sc-footer-contact-item .elementor-icon-list-icon svg {
  flex-shrink: 0;
  opacity: 0.6;
  color: rgba(255,255,255,0.6) !important;
}

/* Social icons */
.sc-footer-social {
  display: flex;
  gap: 10px;
}
.sc-footer-social-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.08) !important;
  color: rgba(255,255,255,0.6) !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s !important;
}
.sc-footer-social-link:hover {
  background: #e8a020 !important;
  color: #fff !important;
}

/* ── Link columns ───────────────────────────────────────────── */
.sc-footer-col-title {
  font-family: 'Lato', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.35) !important;
  margin-bottom: 20px !important;
  margin-top: 0 !important;
}
.sc-footer-links {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sc-footer-links li {
  margin-bottom: 10px !important;
}
.sc-footer-links a {
  font-size: 14px !important;
  color: rgba(255,255,255,0.6) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
  font-family: 'Lato', sans-serif !important;
}
.sc-footer-links a:hover { color: #fff !important; }
.sc-footer-best {
  color: #e8a020 !important;
  font-size: 12px !important;
}

/* ── Bottom bar ─────────────────────────────────────────────── */
.sc-footer-bottom {
  padding: 24px 0 32px !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}
.sc-footer-copy,
.sc-footer-copy p {
  font-size: 13px !important;
  color: rgba(255,255,255,0.3) !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sc-footer-legal {
  display: flex !important;
  gap: 20px !important;
}
.sc-footer-legal a {
  font-size: 13px !important;
  color: rgba(255,255,255,0.3) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
.sc-footer-legal a:hover { color: rgba(255,255,255,0.65) !important; }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .sc-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
}
@media (max-width: 600px) {
  .sc-footer {
    padding: 48px 20px 0 !important;
  }
  .sc-footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .sc-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .sc-footer-legal { flex-wrap: wrap; gap: 12px; }
}


/* ─────────────────────────────────────────────────────────────
   BOOK DIRECT CTA SECTION
   v01 design: dark green gradient, centred, above footer.
   Add CSS class  sc-cta-section  to the Elementor container.
   ───────────────────────────────────────────────────────────── */

/* Amber radial glow — top-right decorative overlay */
.sc-cta-section {
  position: relative !important;
  overflow: hidden !important;
}
.sc-cta-section::before {
  content: '';
  position: absolute;
  top: -40%;
  right: -10%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(232,160,32,0.15) 0%, transparent 60%);
  pointer-events: none;
  z-index: 0;
}
.sc-cta-section > .e-con-inner {
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .sc-cta-section::before { width: 300px; height: 300px; }
  .sc-cta-section { padding-left: 20px !important; padding-right: 20px !important; }
}

/* Badge — add CSS class sc-cta-badge to an HTML widget */
.sc-cta-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(232,160,32,0.2) !important;
  border: 1px solid rgba(232,160,32,0.4) !important;
  border-radius: 40px !important;
  padding: 6px 18px !important;
  margin-bottom: 24px !important;
}
.sc-cta-badge-text {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #e8a020 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

/* Platform pills row — add CSS class sc-cta-platforms to a container */
.sc-cta-platforms {
  display: flex !important;
  justify-content: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}
.sc-cta-platform-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(255,255,255,0.1) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  text-decoration: none !important;
  transition: background 0.2s !important;
}
.sc-cta-platform-item:hover {
  background: rgba(255,255,255,0.18) !important;
}
.sc-cta-platform-label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.85) !important;
  display: block !important;
}
.sc-cta-platform-note {
  font-size: 11px !important;
  color: rgba(255,255,255,0.5) !important;
  display: block !important;
}

/* CTA section button — larger than standard btn-primary to match mockup v01 */
.sc-cta-section .elementor-button {
  font-size: 18px !important;
  padding: 18px 40px !important;
}
@media (max-width: 600px) {
  .sc-cta-section .elementor-button {
    font-size: 16px !important;
    padding: 14px 24px !important;
  }
}


/* =============================================================
   SECTION 14 — Events & Festivals Listing
   JetEngine Listing Grid template for events CPT
   v1.0.54
   ============================================================= */

/* Strip card — 2-col grid layout */
.sc-ev-strip {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  min-height: 360px !important;
  border-radius: var(--sc-radius-card) !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  background: transparent !important;
  margin-bottom: 14px !important;
}
.sc-ev-section .jet-listing-grid__item:last-child .sc-ev-strip {
  margin-bottom: 0 !important;
}

/* v1.0.107 — Force grid children to fill their tracks.
   Elementor's .e-con.e-child default applies width:50% to nested
   containers, which was collapsing each column to 25% of the strip.
   Override to 100% so .sc-ev-img and .sc-ev-body each fill their
   50% grid track properly. */
.sc-ev-strip > .sc-ev-img,
.sc-ev-strip > .sc-ev-body {
  width: 100% !important;
  max-width: 100% !important;
}

/* JetEngine listing item gap — override plugin default to 14px */
.sc-ev-section .jet-listing-grid__items {
  gap: 14px !important;
  row-gap: 14px !important;
}

/* Header-to-first-card gap */
.sc-ev-section .elementor-widget-jet-listing-grid {
  margin-top: 18px !important;
}

/* ── Image column ─────────────────────────────────────────────── */
.sc-ev-img {
  position: relative !important;
  overflow: hidden !important;
  min-height: 360px !important;
  align-self: stretch !important;
  /* Stretch child image widget to fill full column height */
  align-items: stretch !important;
}

/* Image widget fills the column height */
.sc-ev-img .elementor-widget-image {
  height: 100% !important;
  align-self: stretch !important;
  min-height: inherit !important;
}
.sc-ev-img .elementor-widget-image .elementor-widget-container {
  height: 100% !important;
  min-height: inherit !important;
}
.sc-ev-img .elementor-widget-image .elementor-widget-container figure,
.sc-ev-img .elementor-widget-image .elementor-widget-container a {
  height: 100% !important;
  display: block !important;
}
.sc-ev-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  opacity: 0.55 !important;
  position: absolute !important;
  inset: 0 !important;
}

/* Per-card gradient backgrounds — automatic via position, no config needed */
.sc-ev-section .jet-listing-grid__item:nth-child(1) .sc-ev-img {
  background: linear-gradient(135deg,#160826 0%,#2d1505 45%,#1a3310 100%) !important;
}
.sc-ev-section .jet-listing-grid__item:nth-child(2) .sc-ev-img {
  background: linear-gradient(135deg,#071428 0%,#0d2b1f 60%,#1d3a1d 100%) !important;
}
.sc-ev-section .jet-listing-grid__item:nth-child(3) .sc-ev-img {
  background: linear-gradient(135deg,#2a0f04 0%,#4a2200 45%,#1d3310 100%) !important;
}

/* Named gradient overrides (manual) */
.sc-ev-img--solstice { background: linear-gradient(135deg,#160826 0%,#2d1505 45%,#1a3310 100%) !important; }
.sc-ev-img--vw       { background: linear-gradient(135deg,#071428 0%,#0d2b1f 60%,#1d3a1d 100%) !important; }
.sc-ev-img--autumn   { background: linear-gradient(135deg,#2a0f04 0%,#4a2200 45%,#1d3310 100%) !important; }

/* Date badge */
.sc-ev-badge {
  position: absolute !important;
  top: 18px !important;
  left: 18px !important;
  background: var(--sc-amber) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 5px 14px !important;
  border-radius: 20px !important;
  z-index: 2 !important;
  box-shadow: 0 3px 12px rgba(232,160,32,0.35) !important;
}

/* ── Body panel ───────────────────────────────────────────────── */
.sc-ev-body {
  background: rgba(255,255,255,0.035) !important;
  padding: 44px 52px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  border-left: 1px solid rgba(255,255,255,0.07) !important;
  --e-con-gap: 0px !important;
  gap: 0 !important;
}
.sc-ev-body .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}
.sc-ev-body .jet-listing-dynamic-field,
.sc-ev-body .jet-listing-dynamic-field__content {
  margin: 0 !important;
  padding: 0 !important;
}

/* Template B — image on right, body on left */
.sc-ev-body--left {
  border-left: none !important;
  border-right: 1px solid rgba(255,255,255,0.07) !important;
}

/* Body elements */
.sc-ev-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 20px !important;
  padding: 4px 12px !important;
  margin-bottom: 16px !important;
  width: fit-content !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.55) !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
}
.sc-ev-date {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--sc-amber) !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
  display: block !important;
}
.sc-ev-title {
  font-size: clamp(22px, 2.5vw, 34px) !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1.1 !important;
  margin-bottom: 8px !important;
}
.sc-ev-tagline {
  font-size: 14px !important;
  font-style: italic !important;
  color: rgba(255,255,255,0.38) !important;
  margin-bottom: 12px !important;
  display: block !important;
}
.sc-ev-desc {
  font-size: 14px !important;
  color: rgba(255,255,255,0.58) !important;
  line-height: 1.75 !important;
  margin-bottom: 22px !important;
  max-width: 400px !important;
  display: block !important;
}

/* Pills — JetEngine Dynamic Repeater */
.sc-ev-pills {
  margin-bottom: 22px !important;
}
.sc-ev-pills .elementor-widget-container { display: contents !important; }
.sc-ev-pills .jet-listing-dynamic-repeater { display: contents !important; }
.sc-ev-pills .jet-listing-dynamic-repeater__items {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.sc-ev-pills .jet-listing-dynamic-repeater__item {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.11) !important;
  color: rgba(255,255,255,0.7) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 4px 12px !important;
  border-radius: 20px !important;
  white-space: nowrap !important;
}
.sc-ev-pills .jet-listing-dynamic-repeater__item span {
  color: inherit !important;
}

/* CTAs */
.sc-ev-ctas {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
.sc-ev-btn-book .elementor-button {
  background: var(--sc-amber) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 11px 20px !important;
  border-radius: 6px !important;
  border: none !important;
  transition: background 0.2s !important;
}
.sc-ev-btn-book .elementor-button:hover { background: #c8870f !important; }
.sc-ev-btn-site .elementor-button {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  color: rgba(255,255,255,0.82) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  padding: 11px 20px !important;
  border-radius: 6px !important;
  transition: background 0.2s !important;
}
.sc-ev-btn-site .elementor-button:hover { background: rgba(255,255,255,0.15) !important; }

/* ── Section header ───────────────────────────────────────────── */
.sc-ev-eyebrow {
  display: block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--sc-amber) !important;
  margin-bottom: 10px !important;
}
.sc-ev-heading {
  font-size: clamp(26px, 3vw, 42px) !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1.15 !important;
  letter-spacing: -0.5px !important;
  margin-bottom: 12px !important;
}
.sc-ev-lead {
  display: block !important;
  font-size: 16px !important;
  color: rgba(255,255,255,0.55) !important;
  line-height: 1.7 !important;
  max-width: 640px !important;
  margin-bottom: 48px !important;
}

/* ── Width constraints ────────────────────────────────────────── */
/* Gradient set directly in Elementor Style tab, not via CSS */
.sc-ev-section .jet-listing-grid {
  max-width: 1280px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  box-sizing: border-box !important;
}
.sc-ev-inner {
  max-width: 1280px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  box-sizing: border-box !important;
}
@media (max-width: 767px) {
  .sc-ev-section .jet-listing-grid { padding: 0 20px !important; }
  .sc-ev-inner { padding: 0 20px !important; }
}

/* ── Footer note ──────────────────────────────────────────────── */
.sc-ev-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: 40px !important;
  padding-top: 32px !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}
.sc-ev-footer-note {
  font-size: 13px !important;
  color: rgba(255,255,255,0.28) !important;
}
.sc-ev-footer-link {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.6) !important;
  border-bottom: 1px solid rgba(255,255,255,0.22) !important;
  padding-bottom: 2px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* ── Responsive ───────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .sc-ev-strip {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }
  .sc-ev-img { min-height: 240px !important; }
  .sc-ev-body,
  .sc-ev-body--left {
    border: none !important;
    border-top: 1px solid rgba(255,255,255,0.07) !important;
    padding: 32px 28px !important;
  }
}


/* =============================================================
   ACCOMMODATION PAGE — sc-accom-*
   Added: v1.0.55
   ============================================================= */

/* ── Gallery ── */
.sc-gallery-wrap {
  background: #ffffff;
  padding: 68px 0 24px !important; /* 68px = header height; 24px bottom gap */
}
/* Gallery wrap inner: 24px top gap, zero everything else */
.sc-gallery-wrap > .e-con-inner,
.sc-gallery-wrap > .elementor-container { padding: 0 !important; }
.sc-gallery > .e-con-inner { padding: 0 !important; }
.sc-gallery {
  position: relative;
  width: calc(100% - 64px) !important; /* 32px inset each side — aligns image edges with breadcrumb/layout content */
  max-width: 1216px !important;
  margin: 32px auto 0 !important; /* top gap — matched to bottom gap below gallery */
  padding: 0 !important; /* zero padding so overflow:hidden border-radius clips images cleanly */
}
.sc-gallery-grid {
  display: grid !important;
  grid-template-columns: 3fr 2fr !important;
  grid-template-rows: 220px 220px !important;
  gap: 6px !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
.sc-gallery-hero { grid-row: 1 / 3; }

/* Hero: chain through Elementor + MotoPress wrappers so the image fills the cell */
.sc-gallery-hero .elementor-widget-container,
.sc-gallery-hero .mphb-single-room-type-thumbnail {
  height: 100%;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}
.sc-gallery-hero .mphb-single-room-type-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Thumbs: sc-gallery-thumbs sits on the widget element — chain through to .gallery */
.sc-gallery-thumbs { grid-row: 1 / 3; } /* span both rows to match hero height */
.sc-gallery-thumbs,
.sc-gallery-thumbs .elementor-widget-container,
.sc-gallery-thumbs .mphb-room-type-gallery-wrapper {
  height: 100%;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}

/* Override WP gallery shortcode output with a 2×2 grid */
.sc-gallery-thumbs .gallery {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: 220px 220px !important; /* explicit px — 1fr doesn't resolve correctly without a fixed parent height */
  gap: 6px !important;
  margin: 0 !important;
  height: auto !important; /* let the explicit row heights define the element height */
}
.sc-gallery-thumbs .gallery-item {
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}
.sc-gallery-thumbs .gallery-icon,
.sc-gallery-thumbs .gallery-icon a { display: block; height: 100%; }
.sc-gallery-thumbs .gallery-icon img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.sc-gallery-thumbs .gallery-caption { display: none !important; }
.sc-gallery-viewall {
  position: absolute;
  bottom: 14px;
  right: calc(32px + 8px);
  background: #fff;
  color: var(--sc-text-body);
  border: 1.5px solid var(--sc-border);
  font-family: var(--sc-font-heading);
  font-size: 13px;
  font-weight: 600;
  padding: 8px 18px;
  border-radius: 50px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* ── Zero padding + margin on breadcrumb section ── */
.sc-breadcrumb-section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.sc-breadcrumb-section > .e-con-inner,
.sc-breadcrumb-section > .elementor-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ── Breadcrumb ── */
.sc-breadcrumb {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 10px 32px 0 !important;
  font-size: 13px;
  color: var(--sc-text-meta);
  display: flex;
  align-items: center;
  gap: 6px;
}
.sc-breadcrumb a { color: var(--sc-text-meta); text-decoration: none; }
.sc-breadcrumb a:hover { color: var(--sc-green); }
.sc-breadcrumb-sep { color: var(--sc-border); }
.rank-math-breadcrumb p { margin-bottom: 0 !important; }

/* ── Main two-column layout ── */
.sc-accom-layout {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 32px 48px !important;
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 24px;
  align-items: start;
}
/* Zero any Elementor-set padding on the left content column so cards align with breadcrumb/gallery */
.sc-accom-layout > .e-con:first-child,
.sc-accom-layout > .elementor-column:first-child {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* ── White card ── */
.sc-card {
  background: #ffffff !important;
  border-radius: var(--sc-radius-card, 6px);
  border: 1px solid #e6ede6;
  box-shadow: 0 2px 12px rgba(34,83,34,0.06);
  padding: 28px;
}
.sc-card:last-child { margin-bottom: 0; }
.sc-card h2 {
  font-size: 18px;
  font-weight: 700;
  color: var(--sc-text-heading);
  margin-bottom: 14px;
}

/* ── Title card ── */
.sc-accom-type-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--sc-green-mid);
  background: var(--sc-bg-tint);
  padding: 4px 12px;
  border-radius: 50px;
  margin-bottom: 12px;
}
.sc-accom-h1 {
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 700;
  color: var(--sc-green) !important;
  line-height: 1.2;
  margin-bottom: 6px;
}
.sc-accom-subtitle {
  font-size: 14px;
  color: var(--sc-text-meta);
  margin-bottom: 14px;
}
.sc-accom-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  font-size: 14px;
}
.sc-accom-meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
}
.sc-rating-stars { color: var(--sc-amber); }

/* ── Highlights ── */
.sc-highlights {
  background: var(--sc-green) !important;
  border-radius: var(--sc-radius-card, 6px);
  padding: 28px;
}
.sc-highlights h3 {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: rgba(255,255,255,0.55);
}
.sc-highlights-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  list-style: none;
  margin: 0; padding: 0;
}
.sc-highlights-list li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 13px;
  line-height: 1.4;
  color: rgba(255,255,255,0.95);
}
.sc-highlights-list li svg {
  color: var(--sc-amber);
  flex-shrink: 0;
  margin-top: 2px;
}

/* ── Arrival info ── */
.sc-arrival-info {
  background: #fdf3e0;
  border: 1px solid #f0d890;
  border-radius: var(--sc-radius-card, 6px);
  padding: 16px 20px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 13px;
}
.sc-arrival-info svg { color: var(--sc-amber); flex-shrink: 0; margin-top: 1px; }
.sc-arrival-info strong {
  display: block;
  color: var(--sc-text-heading);
  margin-bottom: 6px;
  font-size: 14px;
}
.sc-arrival-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
}
.sc-arrival-note { margin-top: 6px; color: #888; font-size: 12px; }

/* ── Description ── */
.sc-description p {
  font-size: 14px;
  line-height: 1.8;
  color: var(--sc-text-body);
  margin-bottom: 12px;
}
.sc-description p:last-child { margin-bottom: 0; }

/* ── 360° viewer ── */
.sc-360-card {
  background: #ffffff !important;
  border-radius: var(--sc-radius-card, 6px);
  border: 1px solid #e6ede6;
  box-shadow: 0 2px 12px rgba(34,83,34,0.06);
  overflow: hidden !important;
}
.sc-360-header {
  padding: 18px 24px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sc-360-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  font-weight: 700;
  color: var(--sc-text-heading);
}
.sc-360-title svg { color: var(--sc-green); }
.sc-360-badge {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--sc-green-mid);
  background: var(--sc-bg-tint);
  padding: 4px 10px;
  border-radius: 50px;
}
.sc-360-frame {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  overflow: hidden !important;
}
.sc-360-frame iframe,
.sc-360-frame .sc-360-panorama {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.sc-360-note {
  padding: 12px 24px;
  font-size: 12px;
  color: var(--sc-text-meta);
  background: var(--sc-bg-tint);
  border-top: 1px solid #e6ede6;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
/* A-Frame VR/fullscreen button — move to top-right */
.sc-360-frame .a-enter-vr,
.sc-360-frame .a-enter-vr-button {
  top: 8px !important;
  right: 8px !important;
  bottom: auto !important;
}

/* ── Amenities ── */
.sc-amenities-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px 16px;
}
.sc-amenity-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
}
.sc-amenity-icon {
  width: 38px;
  height: 38px;
  background: var(--sc-bg-tint);
  border: 1px solid #dde9dd;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.sc-amenity-icon img {
  width: 18px;
  height: 18px;
  filter: brightness(0) saturate(100%) invert(22%) sepia(29%)
          saturate(800%) hue-rotate(90deg) brightness(80%);
}
.sc-amenity-label { font-weight: 500; }
.sc-amenity-note { font-size: 11px; color: var(--sc-text-meta); margin-top: 1px; }
.sc-electric-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 20px;
  background: #eaf5ea;
  border: 1px solid #b8d9b8;
  color: var(--sc-green-mid);
  font-size: 13px;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 50px;
}
.sc-no-pets {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  font-size: 13px;
  color: var(--sc-text-meta);
}
.sc-no-pets svg { color: #cc4444; flex-shrink: 0; }

/* ── Awards ── */
.sc-awards {
  background: var(--sc-green) !important;
  border-radius: var(--sc-radius-card, 6px);
  padding: 24px 28px;
}
.sc-awards-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: rgba(255,255,255,0.5);
}
.sc-awards-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.sc-award-item { display: flex; align-items: flex-start; gap: 10px; }
.sc-award-icon { font-size: 22px; flex-shrink: 0; }
.sc-award-text {
  font-size: 12px;
  line-height: 1.4;
  color: rgba(255,255,255,0.88);
}
.sc-award-text strong {
  display: block;
  font-size: 13px;
  color: var(--sc-amber);
  margin-bottom: 3px;
}

/* ── Booking sidebar ── */
.sc-accom-sidebar {
  position: sticky;
  top: calc(68px + 24px) !important; /* 24px gap below fixed header (no admin bar) */
  padding: 5px 0 0 !important;
  overflow: visible !important;
}
/* When WP admin bar is active it adds 32px above the fixed header */
.admin-bar .sc-accom-sidebar {
  top: calc(32px + 68px + 24px) !important;
}
.sc-booking-card {
  background: #ffffff !important;
  border: 1.5px solid #dde9dd;
  border-radius: var(--sc-radius-card, 6px);
  overflow: hidden !important;
  box-shadow: 0 4px 24px rgba(34,83,34,0.1);
  padding: 0 !important; /* remove Elementor container default padding */
}
.sc-booking-card-head {
  background: var(--sc-green) !important;
  color: #ffffff !important;
  padding: 18px 20px;
}
.sc-price-label {
  font-size: 11px;
  color: rgba(255,255,255,0.6) !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.sc-price-amount {
  font-size: 20px;
  font-weight: 700;
  color: #ffffff !important;
}
.sc-price-note {
  font-size: 12px;
  color: rgba(255,255,255,0.65) !important;
  margin-top: 3px;
  line-height: 1.4;
}
.sc-quick-facts {
  padding: 16px 20px 20px;
  border-top: 1px solid var(--sc-border);
}
.sc-quick-facts-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--sc-text-meta);
  margin-bottom: 10px;
}
.sc-quick-fact {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--sc-text-body);
  margin-bottom: 7px;
}
.sc-quick-fact svg { color: var(--sc-green-mid); flex-shrink: 0; }
.sc-quick-fact.sc-no svg { color: #cc4444; }
.sc-quick-fact.sc-no { color: var(--sc-text-meta); }
.sc-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 14px 20px;
  font-size: 12px;
  color: var(--sc-text-meta);
  border-top: 1px solid var(--sc-border);
}
.sc-trust svg { color: var(--sc-green-mid); }

/* ── MotoPress booking form overrides ── */
/* Confirmed class names via live DOM inspection */
.sc-booking-card .mphb-datepick,
.sc-booking-card .mphb-adults-number,
.sc-booking-card select,
.sc-booking-card input[type="text"],
.sc-booking-card input[type="date"],
.sc-booking-card input[type="number"] {
  width: 100% !important;
  border: 1.5px solid var(--sc-border) !important;
  border-radius: 6px !important;
  padding: 10px 13px !important;
  margin: 0 !important; /* spacing handled by form grid gap */
  font-family: var(--sc-font-heading) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--sc-text-body) !important;
  background: var(--sc-white, #fff) !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
/* Hide MotoPress <br> tags between label and input — they inflate each row by ~30px */
.sc-booking-card .mphb-booking-form br { display: none !important; }

/* Zero out default <p> margins on form field wrappers */
.sc-booking-card .mphb-booking-form p { margin: 0 !important; padding: 0 !important; }

/* Confirmed button class: .mphb-reserve-btn (NOT .mphb-book-button) */
.sc-booking-card .mphb-reserve-btn,
.sc-booking-card .mphb-book-button,
.sc-booking-card input[type="submit"],
.sc-booking-card button[type="submit"] {
  background: var(--sc-amber) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  padding: 14px !important;
  width: 100% !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  cursor: pointer !important;
}

/* Form grid layout — confirmed class: .mphb-booking-form */
.sc-booking-card .mphb-booking-form {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px 10px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Date fields side-by-side (confirmed p-tag wrappers) */
.sc-booking-card p.mphb-check-in-date-wrapper  { grid-column: 1 !important; margin: 0 !important; }
.sc-booking-card p.mphb-check-out-date-wrapper { grid-column: 2 !important; margin: 0 !important; }

/* All other rows span full width */
.sc-booking-card .mphb-required-fields-tip,
.sc-booking-card .mphb-errors-wrapper,
.sc-booking-card .mphb-reserve-btn-wrapper {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
}
/* Adults and children side-by-side */
.sc-booking-card .mphb-adults-wrapper   { grid-column: 1 !important; margin: 0 !important; }
.sc-booking-card .mphb-children-wrapper { grid-column: 2 !important; margin: 0 !important; }

/* ── Mobile sticky booking bar ── */
.sc-mobile-book-bar {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 200;
  background: #ffffff !important;
  border-top: 1px solid #dde9dd;
  box-shadow: 0 -4px 20px rgba(34,83,34,0.12);
  padding: 12px 20px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.sc-mobile-book-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--sc-green) !important;
}
.sc-mobile-book-note {
  font-size: 12px;
  color: var(--sc-text-meta);
  margin-top: 2px;
}
.sc-mobile-book-btn {
  background: var(--sc-amber) !important;
  color: #ffffff !important;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 12px 24px;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  display: inline-block;
}

/* ── Mobile gallery carousel (hidden on desktop) ── */
.sc-gallery-carousel {
  display: none;               /* shown at ≤1024px */
  position: relative;
  width: 100%;
  overflow: hidden !important;
}
.sc-gallery-carousel-track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;       /* Firefox */
}
.sc-gallery-carousel-track::-webkit-scrollbar { display: none; }
.sc-gallery-carousel-slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
  height: 300px;
}
.sc-gallery-carousel-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sc-gallery-carousel-counter {
  position: absolute;
  bottom: 12px;
  right: 12px;
  background: rgba(0,0,0,0.55);
  color: #fff;
  font-family: var(--sc-font-heading);
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 50px;
  pointer-events: none;
}
.sc-gallery-carousel-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  padding: 10px 0 4px;
}
.sc-gallery-carousel-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--sc-border);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: background 0.2s;
}
.sc-gallery-carousel-dot.sc-active {
  background: var(--sc-green);
}

/* ── Accommodation responsive ── */
@media (max-width: 1024px) {
  .sc-accom-layout { grid-template-columns: 1fr; }
  .sc-accom-sidebar { display: none; }
  .sc-gallery-grid { display: none !important; }
  .sc-gallery-carousel { display: block; }
  .sc-gallery-viewall { display: none; }  /* carousel replaces it */
  .sc-mobile-book-bar { display: flex; }
  body { padding-bottom: 72px; }
}
@media (max-width: 767px) {
  .sc-accom-layout { padding: 12px 20px 48px; }
  .sc-gallery { padding: 16px 20px 0; }
  .sc-breadcrumb { padding: 14px 20px 0; }
  .sc-amenities-grid { grid-template-columns: 1fr 1fr; }
  .sc-highlights-list { grid-template-columns: 1fr; }
  .sc-awards-grid { grid-template-columns: 1fr; }
  .sc-arrival-cols { grid-template-columns: 1fr; }
  /* Card padding — reduce from 28px to 20px on mobile */
  .sc-card { padding: 20px; }
  .sc-highlights { padding: 20px; }
  .sc-awards { padding: 20px; }
  /* Gallery "View All" button — align with 20px mobile padding */
  .sc-gallery-viewall { right: calc(20px + 8px); }
  /* 360° header — stack vertically */
  .sc-360-header { flex-direction: column; align-items: flex-start; gap: 8px; padding: 14px 20px 10px; }
  .sc-360-note { padding: 10px 20px; }
}
@media (max-width: 480px) {
  /* Amenities — 1 column on very narrow screens */
  .sc-amenities-grid { grid-template-columns: 1fr; }
}

/* ── Optional extras card ── */
.sc-extras-card { border-color: #f0d890; }
.sc-extras-grid .sc-amenity-icon {
  background: #fffbeb;
  border-color: #f0d890;
}
.sc-extras-grid .sc-amenity-icon img {
  /* Tint to amber for paid extras */
  filter: brightness(0) saturate(100%) invert(63%) sepia(68%)
          saturate(600%) hue-rotate(5deg) brightness(95%);
}
.sc-extras-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 20px;
  padding: 12px 16px;
  background: #fffbeb;
  border: 1px solid #f0d890;
  border-radius: var(--sc-radius-card, 6px);
  font-size: 13px;
  color: #78350f;
  line-height: 1.6;
}
.sc-extras-note svg { color: var(--sc-amber); flex-shrink: 0; margin-top: 1px; }

/* ── Highlights repeater item ── */
.sc-highlight-item {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 13px;
  line-height: 1.4;
  color: rgba(255,255,255,0.95);
}
.sc-highlight-tick {
  color: var(--sc-amber);
  flex-shrink: 0;
  margin-top: 2px;
}
.sc-highlight-text { flex: 1; }

/* Listing Grid wrapper inside the green highlights card */
.sc-highlights-grid .jet-listing-grid__items {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
@media (max-width: 767px) {
  .sc-highlights-grid .jet-listing-grid__items {
    grid-template-columns: 1fr;
  }
}

/* ── End accommodation page styles (v1.0.57) ── */


/* ═══════════════════════════════════════════════════════════
   ACCOMMODATIONS LISTING PAGE  (archive template, post #69)
   Added: v1.0.60
   ─────────────────────────────────────────────────────────── */

/* ── Page hero ── */
.sc-page-hero {
  background: var(--sc-green);
  padding: calc(68px + 56px) 32px 52px;
  text-align: center;
  position: relative;
  overflow: hidden !important;
}
.sc-page-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 65% 0%, rgba(90,143,68,.35) 0%, transparent 65%),
              radial-gradient(ellipse at 15% 100%, rgba(61,107,46,.4) 0%, transparent 55%);
  pointer-events: none;
}
.sc-page-hero-inner {
  position: relative;
  max-width: 640px;
  margin: 0 auto;
}
.sc-page-hero-eyebrow {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--sc-amber);
  margin-bottom: 14px;
}
.sc-page-hero-h1 {
  font-size: clamp(28px, 4vw, 44px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  color: #fff !important;
  margin: 0 0 14px !important;
}
.sc-page-hero-sub {
  font-size: 15px;
  color: rgba(255,255,255,.72);
  line-height: 1.7;
  max-width: 500px;
  margin: 0 auto 24px;
}
.sc-hero-stats {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
}
.sc-hero-stat {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,.8);
  padding: 0 20px;
}
.sc-hero-stat + .sc-hero-stat {
  border-left: 1px solid rgba(255,255,255,.2);
}

/* ── Filter bar ── */
.sc-filter-bar {
  background: #fff !important;
  border-bottom: 1px solid #e6ede6;
  box-shadow: 0 2px 12px rgba(34,83,34,.05);
  position: sticky;
  top: 68px;
  z-index: 80;
}
.sc-filter-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 60px;
}
.sc-filter-tabs {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  padding: 10px 0;
}
.sc-filter-tab {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--sc-font-heading, 'Lato', sans-serif) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 8px 18px;
  border-radius: 50px;
  border: 1.5px solid var(--sc-border) !important;
  background: transparent !important;
  color: var(--sc-text-heading) !important;
  cursor: pointer;
  transition: all .18s;
  white-space: nowrap;
  line-height: 1.4;
}
.sc-filter-tab:hover {
  border-color: var(--sc-green-mid) !important;
  color: var(--sc-green) !important;
  background: var(--sc-bg-tint) !important;
}
.sc-filter-tab.active {
  background: var(--sc-green) !important;
  color: #fff !important;
  border-color: var(--sc-green) !important;
  box-shadow: 0 2px 8px rgba(34,83,34,.25);
}
.sc-tab-count {
  background: rgba(0,0,0,.1);
  border-radius: 50px;
  font-size: 10px;
  font-weight: 700;
  padding: 1px 7px;
  line-height: 1.6;
}
.sc-filter-tab.active .sc-tab-count {
  background: rgba(255,255,255,.22);
}
.sc-filter-count {
  font-size: 13px;
  color: var(--sc-text-meta);
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── Accommodations archive — page-level resets ── */
.post-type-archive-mphb_room_type .page-header,
body.page-id-69 .page-header {
  display: none !important;
}
.post-type-archive-mphb_room_type,
body.page-id-69 {
  background-color: var(--sc-bg-tint) !important;
}

/* ── MotoPress rooms grid ── */
.sc-accom-listing {
  padding: 0 !important;
}
.sc-accom-listing .elementor-widget-wrap,
.sc-accom-listing .elementor-widget-container {
  padding: 0 !important;
}
.sc-rooms-output .mphb_sc_rooms-wrapper {
  max-width: 1280px;
  margin: 0 auto;
  padding: 32px 32px 64px;
  display: block;
}
/* ── Category listing groups and card grid ── */
.sc-rooms-output .sc-listing-group {
  margin-bottom: 48px;
}
.sc-rooms-output .sc-listing-group:last-child {
  margin-bottom: 0;
}
.sc-rooms-output .sc-group-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  align-items: stretch;
}
@media (max-width: 1024px) {
  .sc-rooms-output .sc-group-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .sc-rooms-output .sc-group-grid { grid-template-columns: 1fr; gap: 16px; }
}


/* ── Individual card ── */
.sc-rooms-output .mphb-room-type {
  background: #fff;
  border-radius: 8px;
  border: 1px solid #e6ede6;
  box-shadow: 0 2px 12px rgba(34,83,34,.07);
  transition: transform .22s, box-shadow .22s;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  position: relative;
}
.sc-rooms-output .mphb-room-type:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(34,83,34,.15) !important;
}

/* Featured image */
.sc-rooms-output .mphb-room-type .wp-post-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}

/* Gradient placeholder for cards without a featured image */
.sc-rooms-output .mphb-room-type:not(.has-post-thumbnail)::before {
  content: '';
  display: block;
  height: 200px;
  background: linear-gradient(155deg, #5a8f44 0%, #3d6b2e 50%, #225322 100%);
}
.sc-rooms-output .mphb-room-type.mphb_room_type_category-glamping-retreat:not(.has-post-thumbnail)::before {
  background: linear-gradient(160deg, #4a7a35 0%, #225322 55%, #172e17 100%);
}
.sc-rooms-output .mphb-room-type.mphb_room_type_category-glamping-village:not(.has-post-thumbnail)::before {
  background: linear-gradient(155deg, #6b9c56 0%, #3d6b2e 60%, #1e451e 100%);
}

/* Category badge overlay */
.sc-rooms-output .mphb-room-type-categories {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  list-style: none;
  padding: 0 !important;
  margin: 0 !important;
}
.sc-rooms-output .mphb-room-type-categories .mphb-attribute-title {
  display: none !important;
}
.sc-rooms-output .mphb-room-type-categories .mphb-attribute-value {
  background: rgba(34,83,34,.85) !important;
  backdrop-filter: blur(4px);
  color: rgba(255,255,255,.92) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em;
  padding: 4px 12px;
  border-radius: 50px;
  display: inline-block;
}
.sc-rooms-output .mphb-room-type-categories a {
  color: inherit !important;
  text-decoration: none !important;
}

/* Title */
.sc-rooms-output .mphb-room-type-title.entry-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  margin: 16px 20px 6px !important;
  line-height: 1.25 !important;
  order: 0;
}
.sc-rooms-output .mphb-room-type-title.entry-title a {
  color: inherit !important;
  text-decoration: none !important;
}

/* Hide raw attributes / "Details" heading */
.sc-rooms-output .mphb-room-type-details-title,
.sc-rooms-output .mphb-loop-room-type-attributes {
  display: none !important;
}

/* ── Card footer: price left + CTA right ── */

/* Hide VIEW DETAILS — CSS fallback (JS also hides it) */
.sc-rooms-output .mphb-view-details-button-wrapper {
  display: none !important;
}

/* JS wraps p.mphb-regular-price + .mphb-to-book-btn-wrapper in .sc-card-footer */
.sc-rooms-output .sc-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  border-top: 1px solid #edf3ed;
  margin-top: auto;
}

/* Price block inside footer */
.sc-rooms-output .sc-card-footer p.mphb-regular-price {
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0 !important;
  display: flex !important;
  flex-direction: column;
  gap: 1px;
  flex: 1;
  border: none !important;
}
.sc-rooms-output .sc-card-footer p.mphb-regular-price::before {
  content: 'From';
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--sc-text-meta);
  display: block;
  font-weight: 400;
  margin-bottom: 1px;
}
.sc-rooms-output .sc-card-footer p.mphb-regular-price .mphb-attribute-title {
  display: none !important;
}
.sc-rooms-output .sc-card-footer .mphb-price {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  display: block;
  line-height: 1;
}
.sc-rooms-output .sc-card-footer .mphb-price-period {
  font-size: 11px;
  color: var(--sc-text-meta);
  display: block;
  margin-top: 2px;
}

/* Book button wrapper inside footer */
.sc-rooms-output .sc-card-footer .mphb-to-book-btn-wrapper {
  padding: 0 !important;
  margin: 0 !important;
  flex-shrink: 0;
  border-radius: 6px;
  overflow: hidden !important;
}

/* Book CTA button */
.sc-rooms-output .sc-card-footer .mphb-book-button {
  background: var(--sc-green) !important;
  color: #fff !important;
  font-family: var(--sc-font-heading, 'Lato', sans-serif) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 9px 16px !important;
  border: none !important;
  border-radius: 6px !important;
  width: auto !important;
  display: inline-flex !important;
  align-items: center;
  white-space: nowrap;
  cursor: pointer;
  transition: background .18s;
}
.sc-rooms-output .sc-card-footer .mphb-book-button:hover {
  background: var(--sc-green-mid) !important;
}

/* Fallback: price + button before JS runs */
.sc-rooms-output p.mphb-regular-price {
  font-size: 0 !important;
  padding: 4px 20px 14px !important;
  margin: 0 !important;
}
.sc-rooms-output p.mphb-regular-price .mphb-attribute-title {
  display: none !important;
}
.sc-rooms-output .mphb-price {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
}
.sc-rooms-output .mphb-price-period {
  font-size: 11px;
  color: var(--sc-text-meta);
}
.sc-rooms-output .mphb-to-book-btn-wrapper {
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 0 8px 8px;
  overflow: hidden !important;
}
.sc-rooms-output .mphb-book-button {
  background: var(--sc-green) !important;
  color: #fff !important;
  font-family: var(--sc-font-heading, 'Lato', sans-serif) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 12px 16px !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer;
  transition: background .18s;
  display: block;
  width: 100%;
  text-align: center;
}
.sc-rooms-output .mphb-book-button:hover {
  background: var(--sc-green-mid) !important;
}

/* ── Gallery slider: show single image on listing page ── */
/* MotoPress renders a flexslider gallery on cards that have gallery images.
   We collapse it to a single static 200px image to match the mockup. */

/* Hide thumbnail strip and arrows — show dot nav for carousel */
.sc-rooms-output .mphb-gallery-thumbnail-slider,
.sc-rooms-output .mphb-room-type-images .flex-direction-nav {
  display: none !important;
}

/* ── FlexSlider dot navigation — swipe carousel ─────────── */
.sc-rooms-output .mphb-room-type-images .flex-control-nav {
  display: flex !important;
  justify-content: center;
  gap: 6px;
  position: absolute;
  bottom: 10px;
  left: 0;
  right: 0;
  z-index: 10;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.sc-rooms-output .flex-control-nav li {
  margin: 0 !important;
  padding: 0 !important;
}
.sc-rooms-output .flex-control-nav li a {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  border: none;
  text-indent: -9999px;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
  padding: 0 !important;
}
.sc-rooms-output .flex-control-nav li a.flex-active,
.sc-rooms-output .flex-control-nav li a:hover {
  background: #fff;
  transform: scale(1.25);
}
/* Ensure image area is positioned for dot overlay */
.sc-rooms-output .mphb-room-type-images {
  position: relative !important;
}

/* Contain the gallery wrapper to the same 200px as the featured image */
.sc-rooms-output .mphb-room-type-images {
  height: 200px;
  overflow: hidden !important;
  display: block;
}
/* Featured image fallback (no gallery) — matches .mphb-room-type-images height */
.sc-rooms-output p.mphb-loop-room-thumbnail {
  margin: 0 !important;
  padding: 0 !important;
  height: 200px;
  overflow: hidden !important;
  display: block;
}
.sc-rooms-output p.mphb-loop-room-thumbnail a,
.sc-rooms-output p.mphb-loop-room-thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Force the flexslider to fill 200px without extra padding/margin */
.sc-rooms-output .mphb-gallery-main-slider.flexslider {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: 200px !important;
  overflow: hidden !important;
}
.sc-rooms-output .mphb-gallery-main-slider .flex-viewport {
  height: 200px !important;
  overflow: hidden !important;
}
.sc-rooms-output .mphb-gallery-main-slider .slides,
.sc-rooms-output .mphb-gallery-main-slider .slides > li {
  height: 200px !important;
}
.sc-rooms-output .mphb-gallery-main-slider .slides > li {
  margin: 0 !important;
}
.sc-rooms-output .mphb-gallery-main-slider .slides > li .gallery-icon,
.sc-rooms-output .mphb-gallery-main-slider .slides > li span {
  display: block;
  height: 200px;
}
.sc-rooms-output .mphb-gallery-main-slider img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
}

/* ── Responsive ── */

/* === Accommodation single page overrides === */

/* Header: always solid green on accommodation pages (white gallery background, no dark hero) */
.single-mphb_room_type .sc-header {
  background: rgba(34,83,34,1) !important;
  /* backdrop-filter removed — breaks mobile nav stacking */
  box-shadow: 0 2px 20px rgba(0,0,0,0.15) !important;
}

/* MotoPress availability widget: internal padding inside the booking card */
.sc-booking-card .elementor-widget-mphbe-availability > .elementor-widget-container {
  padding: 20px 20px 0 !important; /* 0 bottom — quick-facts border-top provides visual separation */
}

/* Hide MotoPress "Required fields are followed by *" notice */
/* Confirmed class via DOM: mphb-required-fields-tip */
.sc-booking-card .mphb-required-fields-tip,
.sc-booking-card p.mphb-required-fields-tip {
  display: none !important;
}

/* MotoPress form labels — uppercase small-caps style matching mockup */
.sc-booking-card label,
.sc-booking-card .mphb-label {
  display: block !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--sc-text-heading) !important;
  margin-bottom: 5px !important;
}

/* Title card — override MotoPress / Elementor widget default top margin on first child */
.sc-card .elementor-widget-wrap > .elementor-element:first-child { margin-top: 0 !important; }
.sc-card .elementor-widget-container > *:first-child { margin-top: 0 !important; }
.sc-card .elementor-widget-container > *:last-child { margin-bottom: 0 !important; }

/* Remove MotoPress room-type title default margins when inside sc-card */
.sc-card .mphb-room-type-title,
.sc-card .entry-title { margin-top: 0 !important; margin-bottom: 6px !important; }

@media (max-width: 1024px) {
  .sc-rooms-output .mphb_sc_rooms-wrapper {
    grid-template-columns: repeat(2, 1fr);
    padding: 24px 24px 48px;
  }
  .sc-filter-count { display: none; }
}
@media (max-width: 767px) {
  .sc-page-hero { padding: calc(68px + 40px) 20px 36px; }
  .sc-filter-inner { padding: 0 20px; }
  .sc-filter-tab { font-size: 12px !important; padding: 12px 16px; }
  .sc-hero-stat { padding: 0 12px; font-size: 12px; }
  .sc-rooms-output .mphb_sc_rooms-wrapper {
    grid-template-columns: 1fr;
    padding: 20px 20px 40px;
  }
}

/* ================================================================
   ACCOMMODATION LISTING CARD — v1.0.64 FULL REDESIGN
   Matches reference card: category badge / award badge / title /
   description / capacity row / footer (price + VIEW DETAILS CTA)
   ================================================================ */

/* ── Category badge — top-left of image ── */
.sc-rooms-output .sc-card-cat-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 3;
  background: rgba(34,83,34,.88);
  backdrop-filter: blur(4px);
  color: rgba(255,255,255,.95) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .07em;
  padding: 5px 12px;
  border-radius: 50px;
  pointer-events: none;
}

/* ── Award badge — top-right of image ── */
.sc-rooms-output .sc-card-award-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  background: var(--sc-amber);
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .04em;
  padding: 5px 10px;
  border-radius: 50px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  pointer-events: none;
}

/* ── Image label — centered on gradient placeholder ── */
.sc-rooms-output .sc-card-img-label {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255,255,255,.4);
  z-index: 1;
  pointer-events: none;
}

/* ── Title — inside card body ── */
.sc-rooms-output .mphb-room-type-title.entry-title {
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  margin: 18px 20px 6px !important;
  line-height: 1.25 !important;
}
.sc-rooms-output .mphb-room-type-title.entry-title a {
  color: inherit !important;
  text-decoration: none !important;
}

/* ── Description / excerpt ── */
.sc-rooms-output .sc-room-excerpt {
  font-size: 13px;
  color: var(--sc-text-meta);
  line-height: 1.55;
  margin: 0 20px 14px !important;
  padding: 0 !important;
  /* flex:1 removed — breaks line-clamp (see feedback_flex_breaks_lineclamp) */
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* ── Capacity row ── */
.sc-rooms-output .sc-card-capacity {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--sc-text-meta);
  background: var(--sc-bg-tint);
  border-radius: 6px;
  padding: 8px 12px;
  margin: 0 20px 14px !important;
}
.sc-rooms-output .sc-cap-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.sc-rooms-output .sc-cap-item svg {
  color: var(--sc-green-mid);
  flex-shrink: 0;
}

/* ── Card footer: price left + CTA right ── */
.sc-rooms-output .sc-card-footer {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  border-top: 1px solid #edf3ed;
  margin-top: auto;
}

/* ── Price block ── */
.sc-rooms-output .sc-card-price {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.sc-rooms-output .sc-card-price-from {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--sc-text-meta);
  font-weight: 400;
}
.sc-rooms-output .sc-card-price-amount {
  font-size: 20px;
  font-weight: 700;
  color: var(--sc-green) !important;
  line-height: 1;
}
.sc-rooms-output .sc-card-price-note {
  font-size: 11px;
  color: var(--sc-text-meta);
  margin-top: 1px;
}

/* ── VIEW DETAILS CTA ── */
.sc-rooms-output .sc-card-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--sc-green);
  color: #fff !important;
  font-family: var(--sc-font-heading, 'Lato', sans-serif) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 10px 16px;
  border-radius: 6px;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background .18s;
  flex-shrink: 0;
}
.sc-rooms-output .sc-card-cta:hover {
  background: var(--sc-green-mid) !important;
  color: #fff !important;
}
.sc-rooms-output .sc-card-cta svg {
  flex-shrink: 0;
}

/* ── Override MotoPress vertical-list top margin in grid context ── */
/* MotoPress sets margin-top: 4em on :not(:first-of-type) for list layouts.
   In our CSS Grid this shifts every card except card 0 down by 64px,
   causing misaligned tops within each row. Reset to 0 here.             */
.sc-rooms-output .mphb_sc_rooms-wrapper .mphb-room-type:not(:first-of-type) {
  margin-top: 0 !important;
}

/* Fix: hide native MotoPress loop description paragraph */
.sc-rooms-output .mphb_sc_rooms-wrapper .mphb-room-type > p:not([class]) {
  display: none !important;
}


/* =============================================================
   ACCOMMODATIONS — Category group headers (.sc-group-header)
   ─────────────────────────────────────────────────────────────
   Each category section (Glamping Retreat, Village, Pitches)
   has a header row: green icon box + title + description.
   The border-bottom acts as the divider below the heading.
   ============================================================= */
.sc-group-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e0e9e0;
}
.sc-group-icon {
  width: 40px;
  height: 40px;
  background: var(--sc-green) !important;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.sc-group-icon svg {
  width: 20px !important;
  height: 20px !important;
  color: var(--sc-amber) !important;
}
.sc-group-title {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
}
.sc-group-desc {
  font-size: 13px !important;
  color: var(--sc-text-meta) !important;
  margin-top: 2px;
}

/* ==========================================================
   MORE GLAMPING OPTIONS -- [accom_similar] shortcode output
   ========================================================== */

.sc-similar-section {
  background: var(--sc-green);
  padding: 48px 0;
  margin-top: 0;
}
.sc-similar-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}
.sc-similar-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 28px;
}
.sc-similar-header h2 {
  font-size: 24px;
  font-weight: 700;
  color: var(--sc-white);
  line-height: 1.2;
  margin: 0;
}
.sc-similar-header p {
  font-size: 14px;
  color: rgba(255,255,255,0.65);
  margin: 4px 0 0;
}
.sc-similar-viewall {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--sc-amber);
  border-bottom: 1px solid rgba(232,160,32,0.4);
  white-space: nowrap;
  padding-bottom: 1px;
  text-decoration: none;
  transition: opacity 0.2s;
}
.sc-similar-viewall:hover { opacity: 0.8; }
.sc-similar-viewall svg { width: 14px; height: 14px; }

.sc-similar-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
/* Limit to 8 cards (2 rows of 4) on desktop */
.sc-similar-grid .sc-pod-card:nth-child(n+9) { display: none; }

.sc-pod-card {
  background: var(--sc-white);
  border-radius: var(--sc-radius-card, 6px);
  overflow: hidden !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
  transition: transform 0.25s, box-shadow 0.25s;
  cursor: pointer;
  text-decoration: none;
  display: block;
}
.sc-pod-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(0,0,0,0.2);
}
.sc-pod-card-img {
  height: 160px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative;
  overflow: hidden !important;
}
.sc-pod-card-img-1 { background: linear-gradient(160deg, var(--sc-green-light), var(--sc-green-mid)); }
.sc-pod-card-img-2 { background: linear-gradient(160deg, var(--sc-green-mid), #1e451e); }
.sc-pod-card-img-3 { background: linear-gradient(160deg, #6b9c56, var(--sc-green-mid)); }
.sc-pod-card-img-4 { background: linear-gradient(160deg, #4a7a35, #172e17); }
.sc-pod-card-type {
  position: absolute;
  top: 10px;
  left: 10px;
  background: rgba(34,83,34,0.8);
  backdrop-filter: blur(4px);
  color: rgba(255,255,255,0.9);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  padding: 3px 10px;
  border-radius: 50px;
}
.sc-pod-card-body { padding: 16px; }
.sc-pod-card-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--sc-green);
  margin-bottom: 4px;
}
.sc-pod-card-desc {
  font-size: 12px;
  color: var(--sc-text-meta);
  line-height: 1.5;
  margin-bottom: 12px;
}
.sc-pod-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sc-pod-card-meta {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: var(--sc-text-meta);
}
.sc-pod-card-meta svg {
  width: 12px;
  height: 12px;
  color: var(--sc-green-mid);
  flex-shrink: 0;
}
.sc-pod-card-cta {
  font-size: 12px;
  font-weight: 700;
  color: var(--sc-amber);
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
.sc-pod-card-cta svg { width: 13px; height: 13px; }

@media (max-width: 900px) {
  .sc-similar-grid { grid-template-columns: repeat(2, 1fr); }
  .sc-similar-header { flex-direction: column; align-items: flex-start; gap: 12px; }
  /* Limit to 4 cards on tablet/mobile — "View all" link handles the rest */
  .sc-similar-grid .sc-pod-card:nth-child(n+5) { display: none; }
}
@media (max-width: 767px) {
  .sc-similar-inner { padding: 0 20px; }
}
@media (max-width: 600px) {
  .sc-similar-grid { grid-template-columns: 1fr; }
}



/* ── Mobile filter dropdown (replaces pills on small screens) ── */
.sc-filter-select {
  display: none;
  width: 100%;
  padding: 14px 44px 14px 20px;
  font-family: var(--sc-font-heading);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.3px;
  color: #fff;
  background-color: var(--sc-green);
  border: none;
  border-radius: 8px;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(34,83,34,0.2);
  transition: background-color 0.2s;
}
.sc-filter-select:focus {
  outline: none;
  background-color: var(--sc-green-mid);
  box-shadow: 0 0 0 3px rgba(34,83,34,0.25);
}
@media (max-width: 767px) {
  .sc-filter-select { display: block; }
  .sc-filter-tabs.sc-filter-bar-inner, .sc-filter-tabs { display: none !important; }
  .sc-sort-wrap { display: none !important; }
}
/* ── Sort dropdown ──────────────────────────────────────────── */
.sc-filter-bar-inner {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.sc-sort-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.sc-sort-label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--sc-text-meta) !important;
  white-space: nowrap;
}
.sc-sort-select {
  appearance: none;
  -webkit-appearance: none;
  background-color: var(--sc-white) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23225322' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
  border: 1.5px solid var(--sc-border) !important;
  border-radius: var(--sc-radius-card) !important;
  color: var(--sc-green) !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 7px 32px 7px 12px !important;
  cursor: pointer;
  transition: border-color 0.2s, box-shadow 0.2s;
  min-width: 170px;
}
.sc-sort-select:hover {
  border-color: var(--sc-green) !important;
}
.sc-sort-select:focus {
  outline: none !important;
  border-color: var(--sc-green) !important;
  box-shadow: 0 0 0 3px rgba(34,83,34,0.12) !important;
}


/* =============================================================
   SECTION 15 — My Account
   /my-account/ page. Hybrid: MotoPress [mphb-account] shortcode
   powers the auth state; we style around it + Gravity Forms for
   registration and password reset. See mockup v01 for reference.
   v1.0.108
   ============================================================= */

/* ── Page wrapper ─────────────────────────────────────────────── */
/* Max-width matches the header/footer (1280px) so the auth-grid
   sits in the same horizontal column as the nav + footer content. */
.sc-my-account {
  padding: 56px 32px 96px !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
}

/* (Page banner CSS removed in v1.0.115 — my-account now uses the
   shared .sc-page-hero pattern from Section 12, same as the
   accommodations page. Banner Elementor structure has been
   replaced with an HTML widget containing .sc-page-hero markup.) */

/* Intro paragraph (legacy — kept for any other page-head usage) */
.sc-page-banner .sc-intro,
.sc-page-banner .sc-intro p,
.sc-page-banner p {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 17px !important;
  max-width: 640px !important;
  margin: 0 !important;
}

/* ── Two-column auth grid ─────────────────────────────────────── */
/* align-items: stretch → both cards take the same height as the
   taller one. Cards themselves are flex columns, so content
   stacks from top with empty space (if any) at the bottom. */
.sc-auth-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
  align-items: stretch !important;
}

/* Cards as flex columns so their internal content stacks
   properly and the card itself can stretch vertically. */
.sc-my-account .sc-card.sc-auth-login,
.sc-my-account .sc-card.sc-auth-register {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
@media (max-width: 820px) {
  .sc-auth-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Force grid children to fill their tracks (Elementor .e-child default = 50%) */
.sc-auth-grid > .sc-card {
  width: 100% !important;
  max-width: 100% !important;
}

/* ── Card surface ─────────────────────────────────────────────── */
.sc-card {
  background: #fff !important;
  border: 1px solid var(--sc-border) !important;
  border-radius: var(--sc-radius-card) !important;
  padding: 32px !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03) !important;
}

.sc-card-head,
/* Auto-style: any Heading widget that's the first child of an auth
   card behaves like .sc-card-head, even without the class. Saves
   the user having to apply the class on every new card heading. */
.sc-card.sc-auth-login > .elementor-widget-heading:first-child,
.sc-card.sc-auth-register > .elementor-widget-heading:first-child {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 0 20px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid var(--sc-border) !important;
}

/* Match heading typography across both cards regardless of
   Elementor's per-widget Style-tab settings. Green to match the
   rest of the site's section/card headings (Glamping Retreat,
   Shepherd's Hut, etc.). */
.sc-card.sc-auth-login > .elementor-widget-heading:first-child .elementor-heading-title,
.sc-card.sc-auth-register > .elementor-widget-heading:first-child .elementor-heading-title {
  font-family: var(--sc-font-heading) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: var(--sc-green) !important;
  margin: 0 !important;
}
.sc-card-head .elementor-heading-title,
.sc-card-head h2 {
  font-family: var(--sc-font-heading) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  margin: 0 !important;
}

/* ── MotoPress login form skin ────────────────────────────────── */
/* WP's default <form id="loginform"> + the <p> row wrappers carry
   max-width values from wp-login.php's stylesheet, which leaks
   into the card and prevents the form filling its parent. Force
   the form, its inner wrappers, and every row <p> to 100%. */
.sc-auth-login .elementor-widget-container,
.sc-auth-login .elementor-shortcode,
.sc-auth-login .elementor-shortcode > *,
.sc-auth-login .mphb_sc_account,
.sc-auth-login .mphb-account-content,
.sc-auth-login .mphb_account_login,
.sc-auth-login .mphb-login-form,
.sc-auth-login form[name="loginform"],
.sc-auth-login #loginform,
.sc-auth-login form > p,
.sc-auth-login form > div {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background: none !important;
  border: 0 !important;
  float: none !important;
}
/* Row spacing */
.sc-auth-login form > p + p {
  margin-top: 14px !important;
}

/* Lost password link — was inheriting --sc-link pink; use brand
   green to match the rest of the auth card. */
.sc-auth-login .lost-password,
.sc-auth-login .lost-password a,
.sc-auth-login a[href*="lostpassword"],
.sc-auth-login a[href*="forgot-password"] {
  color: var(--sc-green) !important;
  font-family: var(--sc-font-heading) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  display: inline-block !important;
  margin-top: 12px !important;
}
.sc-auth-login .lost-password a:hover,
.sc-auth-login a[href*="lostpassword"]:hover,
.sc-auth-login a[href*="forgot-password"]:hover {
  color: var(--sc-amber) !important;
  text-decoration: underline !important;
}

.sc-auth-login .mphb_account_login table,
.sc-auth-login table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: none !important;
  margin: 0 !important;
}
.sc-auth-login table th,
.sc-auth-login table td {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  width: 100% !important;
}

.sc-auth-login label,
.sc-auth-login p > label {
  display: block !important;
  font-family: var(--sc-font-heading) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--sc-text-heading) !important;
  margin: 0 0 6px !important;
}

.sc-auth-login input[type="text"],
.sc-auth-login input[type="email"],
.sc-auth-login input[type="password"] {
  width: 100% !important;
  padding: 12px 14px !important;
  border: 1px solid var(--sc-border) !important;
  border-radius: var(--sc-radius) !important;
  font-family: inherit !important;
  font-size: 15px !important;
  color: var(--sc-text-body) !important;
  background: #fff !important;
  margin: 0 0 18px !important;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.sc-auth-login input[type="text"]:focus,
.sc-auth-login input[type="email"]:focus,
.sc-auth-login input[type="password"]:focus {
  outline: none !important;
  border-color: var(--sc-green) !important;
  box-shadow: 0 0 0 3px rgba(34,83,34,0.12) !important;
}

/* Remember-me row */
.sc-auth-login .login-remember,
.sc-auth-login p.login-remember {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 14px !important;
  color: var(--sc-text-meta) !important;
  margin: 0 !important;
}
.sc-auth-login .login-remember input[type="checkbox"] {
  margin: 0 !important;
}

/* Login submit button (WP default markup) */
.sc-auth-login input[type="submit"],
.sc-auth-login .wp-submit,
.sc-auth-login button[type="submit"] {
  width: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 22px !important;
  border: 0 !important;
  border-radius: var(--sc-radius-card) !important;
  background: var(--sc-green) !important;
  color: #fff !important;
  font-family: var(--sc-font-heading) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.18s ease;
  margin-top: 8px !important;
}
.sc-auth-login input[type="submit"]:hover,
.sc-auth-login .wp-submit:hover,
.sc-auth-login button[type="submit"]:hover {
  background: var(--sc-green-mid) !important;
}

/* "Lost your password?" link below the form */
.sc-auth-login .lost-password,
.sc-auth-login a[href*="lostpassword"] {
  display: inline-block !important;
  margin-top: 14px !important;
  font-size: 14px !important;
  color: var(--sc-link) !important;
  font-family: var(--sc-font-heading) !important;
  font-weight: 500 !important;
}

/* Remove the awkward MotoPress login-row split */
.sc-auth-login p.login-username,
.sc-auth-login p.login-password,
.sc-auth-login p.login-submit {
  margin: 0 !important;
}

/* MotoPress logged-in nav (will be visually hidden in State A
   via display conditions; this is a safety fallback skin) */
.sc-auth-login .mphb-account-nav,
.sc-auth-login ul.mphb-account-navigation {
  list-style: none !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}
.sc-auth-login .mphb-account-nav a {
  color: var(--sc-green) !important;
  font-family: var(--sc-font-heading) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  text-decoration: none !important;
}

/* ── Gravity Forms skin inside .sc-card ───────────────────────── */
.sc-card .gform_wrapper {
  margin: 0 !important;
}
.sc-card .gform_wrapper .gform_body ul.gform_fields,
.sc-card .gform_wrapper ul.gform_fields {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sc-card .gform_wrapper li.gfield {
  margin: 0 0 18px !important;
  padding: 0 !important;
}
.sc-card .gform_wrapper .gfield_label,
.sc-card .gform_wrapper label.gfield_label {
  display: block !important;
  font-family: var(--sc-font-heading) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--sc-text-heading) !important;
  margin: 0 0 6px !important;
}
.sc-card .gform_wrapper input[type="text"],
.sc-card .gform_wrapper input[type="email"],
.sc-card .gform_wrapper input[type="tel"],
.sc-card .gform_wrapper input[type="password"] {
  width: 100% !important;
  padding: 12px 14px !important;
  border: 1px solid var(--sc-border) !important;
  border-radius: var(--sc-radius) !important;
  font-family: inherit !important;
  font-size: 15px !important;
  color: var(--sc-text-body) !important;
  background: #fff !important;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.sc-card .gform_wrapper input:focus {
  outline: none !important;
  border-color: var(--sc-green) !important;
  box-shadow: 0 0 0 3px rgba(34,83,34,0.12) !important;
}
.sc-card .gform_wrapper .gform_footer {
  margin: 8px 0 0 !important;
  padding: 0 !important;
}
.sc-card .gform_wrapper .gform_button,
.sc-card .gform_wrapper input[type="submit"] {
  width: 100% !important;
  padding: 12px 22px !important;
  border: 0 !important;
  border-radius: var(--sc-radius-card) !important;
  background: var(--sc-amber) !important;
  color: #fff !important;
  font-family: var(--sc-font-heading) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.18s ease;
}
.sc-card .gform_wrapper .gform_button:hover,
.sc-card .gform_wrapper input[type="submit"]:hover {
  background: #c8870f !important;
}

/* Field descriptions and validation */
.sc-card .gform_wrapper .gfield_description {
  font-size: 13px !important;
  color: var(--sc-text-meta) !important;
  margin-top: 4px !important;
}
.sc-card .gform_wrapper .validation_message {
  color: #b22424 !important;
  font-size: 13px !important;
  margin-top: 4px !important;
}

/* ── Footnote/legal text inside card ──────────────────────────── */
.sc-card-foot,
.sc-card .sc-foot-text {
  font-size: 13px !important;
  color: var(--sc-text-meta) !important;
  margin: 18px 0 0 !important;
}
.sc-card-foot a,
.sc-card .sc-foot-text a {
  color: var(--sc-link) !important;
}

/* ── Mobile spacing tweak ─────────────────────────────────────── */
@media (max-width: 600px) {
  .sc-my-account {
    padding: 32px 16px 64px !important;
  }
  .sc-card {
    padding: 24px !important;
  }
}


/* =============================================================
   SECTION 15b — Gravity Forms v2 (Orbital theme) overrides
   GF v2 wraps grouped fields (Name/Email/Password) in <fieldset>
   with <legend> for the main label and sub-<label>s for each
   input. The selectors below strip the default fieldset chrome,
   restyle the legend as our uppercase eyebrow label, hide the
   sub-labels, and lay out multi-input rows as a 2-col grid.
   v1.0.109
   ============================================================= */

/* ── Wrapper sanity ───────────────────────────────────────── */
.sc-card .gform_wrapper.gform-theme,
.sc-card .gform_wrapper {
  margin: 0 !important;
  font-family: var(--sc-font-body) !important;
}

/* ── Strip default fieldset chrome ────────────────────────── */
.sc-card .gform_wrapper fieldset.gfield {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 18px !important;
  min-width: 0 !important;
  background: transparent !important;
}
.sc-card .gform_wrapper div.gfield {
  margin: 0 0 18px !important;
  padding: 0 !important;
}

/* ── Main field label (legend or label) ───────────────────── */
.sc-card .gform_wrapper .gfield_label,
.sc-card .gform_wrapper legend.gfield_label,
.sc-card .gform_wrapper label.gfield_label,
.sc-card .gform_wrapper .gform-field-label {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 0 6px !important;
  font-family: var(--sc-font-heading) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--sc-text-heading) !important;
  float: none !important;
}

/* Required asterisk */
.sc-card .gform_wrapper .gfield_required {
  color: var(--sc-amber) !important;
  margin-left: 4px !important;
  font-weight: 600 !important;
}

/* ── Sub-labels (FIRST / LAST / ENTER EMAIL / CONFIRM…) ──── */
/* Hide them — main legend already tells the user what the field is.
   If you'd rather show them small, switch display to block and
   adjust font-size, but for the chosen design we hide. */
.sc-card .gform_wrapper .gform-field-label--type-sub {
  display: none !important;
}

/* ── Multi-input grid rows (name first+last, email/confirm…) */
.sc-card .gform_wrapper .gform-grid-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  margin: 0 !important;
}
.sc-card .gform_wrapper .gform-grid-col {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Email and Password fields use a 1-col stack within the grid */
.sc-card .gform_wrapper .gfield--type-email .gform-grid-row,
.sc-card .gform_wrapper .gfield--type-password .gform-grid-row {
  grid-template-columns: 1fr !important;
}

/* Add a 12px gap between rows when GF stacks email/confirm vertically */
.sc-card .gform_wrapper .gform-grid-row + .gform-grid-row {
  margin-top: 12px !important;
}

/* ── Inputs ──────────────────────────────────────────────── */
.sc-card .gform_wrapper input[type="text"],
.sc-card .gform_wrapper input[type="email"],
.sc-card .gform_wrapper input[type="tel"],
.sc-card .gform_wrapper input[type="password"],
.sc-card .gform_wrapper input[type="url"],
.sc-card .gform_wrapper input[type="number"],
.sc-card .gform_wrapper textarea {
  width: 100% !important;
  padding: 12px 14px !important;
  border: 1px solid var(--sc-border) !important;
  border-radius: var(--sc-radius) !important;
  font-family: var(--sc-font-body) !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  color: var(--sc-text-body) !important;
  background: #fff !important;
  box-shadow: none !important;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.sc-card .gform_wrapper input:focus,
.sc-card .gform_wrapper textarea:focus {
  outline: none !important;
  border-color: var(--sc-green) !important;
  box-shadow: 0 0 0 3px rgba(34,83,34,0.12) !important;
}

/* ── Footer + submit button ──────────────────────────────── */
.sc-card .gform_wrapper .gform_footer,
.sc-card .gform_wrapper .gform-footer {
  margin: 16px 0 0 !important;
  padding: 0 !important;
  display: block !important;
}
.sc-card .gform_wrapper .gform_button,
.sc-card .gform_wrapper input[type="submit"].gform_button,
.sc-card .gform_wrapper button.gform_button {
  width: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 22px !important;
  border: 0 !important;
  border-radius: var(--sc-radius-card) !important;
  background: var(--sc-amber) !important;
  color: #fff !important;
  font-family: var(--sc-font-heading) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.18s ease;
  box-shadow: none !important;
  text-shadow: none !important;
  height: auto !important;
  line-height: 1.2 !important;
}
.sc-card .gform_wrapper .gform_button:hover,
.sc-card .gform_wrapper input[type="submit"].gform_button:hover,
.sc-card .gform_wrapper button.gform_button:hover {
  background: #c8870f !important;
}

/* Reset-password page uses green submit (Sign-in style) — opt-in
   by adding .sc-form-green to the form's CSS Class Name field. */
.sc-card .sc-form-green .gform_button {
  background: var(--sc-green) !important;
}
.sc-card .sc-form-green .gform_button:hover {
  background: var(--sc-green-mid) !important;
}

/* ── Validation + description ────────────────────────────── */
.sc-card .gform_wrapper .gfield_description {
  font-size: 13px !important;
  color: var(--sc-text-meta) !important;
  margin-top: 4px !important;
}
.sc-card .gform_wrapper .validation_message,
.sc-card .gform_wrapper .gfield_validation_message {
  color: #b22424 !important;
  font-size: 13px !important;
  margin-top: 4px !important;
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
}
.sc-card .gform_wrapper .gfield_error input,
.sc-card .gform_wrapper .gfield_error textarea {
  border-color: #b22424 !important;
}


/* =============================================================
   SECTION 16 — My Account · Logged-in Dashboard
   /my-account/ logged-in state. Sidebar nav + main panel with
   stacked booking and profile cards. Booking rows can be static
   HTML or rendered by a JetEngine Listing Grid querying
   mphb_booking by current user.
   v1.0.119
   ============================================================= */

/* ── Dashboard 2-col layout ───────────────────────────────────── */
/* .sc-dashboard sits directly on an Elementor parent container
   (no separate .sc-my-account wrapper), so max-width + centering
   live here. The child Elementor containers (.e-con.e-child) must
   be forced to fill their grid cells — Elementor's default
   flex-basis:auto causes them to shrink to content width.        */
.sc-dashboard {
  display: grid !important;
  grid-template-columns: 280px 1fr !important;
  gap: 32px !important;
  align-items: start !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 56px 32px 96px !important;
}
/* Force Elementor child containers to fill their grid cells */
.sc-dashboard > .e-con {
  width: 100% !important;
  max-width: none !important;
  flex-basis: auto !important;
  min-width: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Gap between dashboard content cards */
.sc-dashboard .sc-card + .sc-card {
  margin-top: 24px !important;
}
@media (max-width: 880px) {
  .sc-dashboard {
    grid-template-columns: 1fr !important;
    padding: 32px 16px 64px !important;
  }
}

/* ── Sidebar nav ──────────────────────────────────────────────── */
.sc-side-nav {
  background: #fff !important;
  border: 1px solid var(--sc-border) !important;
  border-radius: var(--sc-radius-card) !important;
  padding: 18px !important;
  position: sticky !important;
  top: 88px !important;
}
.sc-side-nav ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sc-side-nav li + li {
  margin-top: 4px !important;
}
.sc-side-nav a {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 14px !important;
  border-radius: var(--sc-radius) !important;
  color: var(--sc-text-body) !important;
  font-family: var(--sc-font-heading) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  text-decoration: none !important;
}
.sc-side-nav a:hover {
  background: var(--sc-bg-tint) !important;
  text-decoration: none !important;
}
.sc-side-nav a.is-active {
  background: var(--sc-green) !important;
  color: #fff !important;
}
.sc-side-nav a.is-active svg {
  stroke: #fff !important;
}
.sc-side-nav svg {
  width: 18px !important;
  height: 18px !important;
  stroke: var(--sc-green) !important;
  fill: none !important;
  stroke-width: 1.8 !important;
  flex-shrink: 0 !important;
}

/* Dashboard inline links — green, not global --sc-link pink */
.sc-dashboard a:not(.sc-side-nav a):not(.sc-card-link):not(.sc-booking a) {
  color: var(--sc-green) !important;
}
.sc-dashboard a:not(.sc-side-nav a):not(.sc-card-link):not(.sc-booking a):hover {
  color: var(--sc-green-mid) !important;
  text-decoration: underline !important;
}

/* "Need help?" mini card below the nav */
.sc-side-meta {
  margin-top: 18px !important;
  padding: 18px !important;
  background: var(--sc-bg-tint) !important;
  border: 1px solid var(--sc-border) !important;
  border-radius: var(--sc-radius-card) !important;
  font-size: 13px !important;
  color: var(--sc-text-meta) !important;
}
.sc-side-meta strong {
  display: block !important;
  color: var(--sc-text-heading) !important;
  font-family: var(--sc-font-heading) !important;
  margin-bottom: 4px !important;
  font-weight: 600 !important;
}

/* ── Card-head action link (e.g. "+ New booking", "Edit") ─────── */
.sc-card-head .sc-card-link {
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-family: var(--sc-font-heading) !important;
  font-weight: 600 !important;
  color: var(--sc-green) !important;
  text-decoration: none !important;
}
.sc-card-head .sc-card-link:hover {
  color: var(--sc-amber) !important;
  text-decoration: underline !important;
}

/* ── Booking row ──────────────────────────────────────────────── */
.sc-booking {
  display: grid !important;
  grid-template-columns: 100px 1fr auto !important;
  gap: 24px !important;
  align-items: center !important;
  padding: 18px !important;
  border: 1px solid var(--sc-border) !important;
  border-radius: var(--sc-radius-card) !important;
  background: #fff !important;
}
.sc-booking + .sc-booking {
  margin-top: 14px !important;
}
.sc-booking-date {
  text-align: center !important;
  background: var(--sc-bg-tint) !important;
  border: 1px solid var(--sc-border) !important;
  border-radius: var(--sc-radius) !important;
  padding: 10px 4px !important;
}
.sc-booking-date .month {
  font-family: var(--sc-font-heading) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--sc-amber) !important;
  font-weight: 700 !important;
}
.sc-booking-date .day {
  font-family: var(--sc-font-heading) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  line-height: 1 !important;
  margin: 2px 0 !important;
}
.sc-booking-date .nights {
  font-size: 11px !important;
  color: var(--sc-text-meta) !important;
}
.sc-booking-body h3 {
  margin: 0 0 4px !important;
  font-size: 18px !important;
  color: var(--sc-green) !important;
  font-family: var(--sc-font-heading) !important;
  font-weight: 700 !important;
}
.sc-booking-meta {
  font-size: 14px !important;
  color: var(--sc-text-meta) !important;
}
.sc-booking-meta span + span::before {
  content: "·" !important;
  margin: 0 8px !important;
  color: var(--sc-border) !important;
}
.sc-booking-cta {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  align-items: flex-end !important;
}
.sc-booking-cta .sc-btn {
  padding: 8px 16px !important;
  font-size: 12px !important;
}

/* Mobile — stack the booking row */
@media (max-width: 640px) {
  .sc-booking {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }
  .sc-booking-cta {
    align-items: stretch !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
}

/* ── Status pills ─────────────────────────────────────────────── */
.sc-status {
  display: inline-block !important;
  padding: 3px 10px !important;
  border-radius: 12px !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-bottom: 6px !important;
}
.sc-status--confirmed {
  background: rgba(34, 83, 34, 0.1) !important;
  color: var(--sc-green) !important;
}
.sc-status--pending {
  background: rgba(232, 160, 32, 0.12) !important;
  color: #a87012 !important;
}
.sc-status--past {
  background: #eee !important;
  color: var(--sc-text-meta) !important;
}

/* ── Profile summary list (definition list) ──────────────────── */
.sc-summary-body dl {
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 10px 16px !important;
  font-size: 14px !important;
}
.sc-summary-body dt {
  color: var(--sc-text-meta) !important;
}
.sc-summary-body dd {
  margin: 0 !important;
  text-align: right !important;
  font-weight: 600 !important;
  color: var(--sc-text-heading) !important;
}

/* ── Buttons (small variants used in the dashboard) ──────────── */
/* Use existing .sc-btn / .sc-btn--primary / .sc-btn--ghost /
   .sc-btn--amber if already defined elsewhere; the rules below
   are safe duplicates that won't conflict via !important on
   already-styled rules. */
.sc-card .sc-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 12px 22px !important;
  border-radius: var(--sc-radius-card) !important;
  font-family: var(--sc-font-heading) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  border: none !important;
  cursor: pointer !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
}
.sc-card .sc-btn--primary { background: var(--sc-green) !important; color: #fff !important; }
.sc-card .sc-btn--primary:hover { background: var(--sc-green-mid) !important; }
.sc-card .sc-btn--amber { background: var(--sc-amber) !important; color: #fff !important; }
.sc-card .sc-btn--amber:hover { background: #c8870f !important; }
.sc-card .sc-btn--ghost {
  background: transparent !important;
  color: var(--sc-green) !important;
  border: 1.5px solid var(--sc-green) !important;
}
.sc-card .sc-btn--ghost:hover { background: var(--sc-green) !important; color: #fff !important; }


/* =============================================================
   SECTION 16b — Dashboard forms, detail view, back link
   Profile edit form, preferences form, booking detail grid,
   success/error messages, form field styling.
   v1.0.120
   ============================================================= */

/* ── Back link (booking detail) ──────────────────────────────── */
.sc-back-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--sc-green) !important;
  text-decoration: none !important;
  margin-bottom: 20px !important;
}
.sc-back-link:hover {
  color: var(--sc-amber) !important;
  text-decoration: none !important;
}

/* ── Booking detail grid ─────────────────────────────────────── */
.sc-detail-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}
.sc-detail-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--sc-border) !important;
  font-size: 14px !important;
}
.sc-detail-row:last-child {
  border-bottom: none !important;
}
.sc-detail-label {
  color: var(--sc-text-meta) !important;
  font-weight: 400 !important;
}
.sc-detail-value {
  color: var(--sc-text-heading) !important;
  font-weight: 600 !important;
  text-align: right !important;
}

/* ── Form styles ─────────────────────────────────────────────── */
.sc-form label {
  display: block !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--sc-text-heading) !important;
  margin-bottom: 6px !important;
}
.sc-form input[type="text"],
.sc-form input[type="email"],
.sc-form input[type="tel"],
.sc-form input[type="password"] {
  width: 100% !important;
  padding: 10px 14px !important;
  border: 1px solid var(--sc-border) !important;
  border-radius: var(--sc-radius) !important;
  font-family: var(--sc-font-body) !important;
  font-size: 14px !important;
  color: var(--sc-text-body) !important;
  background: #fff !important;
  transition: border-color 0.2s !important;
}
.sc-form input:focus {
  outline: none !important;
  border-color: var(--sc-green) !important;
  box-shadow: 0 0 0 3px rgba(34,83,34,0.08) !important;
}
.sc-form-field {
  margin-bottom: 16px !important;
}
.sc-form-row {
  display: grid !important;
  gap: 16px !important;
}
.sc-form-row--half {
  grid-template-columns: 1fr 1fr !important;
}
.sc-form-row--third {
  grid-template-columns: 1fr 1fr 1fr !important;
}
@media (max-width: 640px) {
  .sc-form-row--half,
  .sc-form-row--third {
    grid-template-columns: 1fr !important;
  }
}

/* ── Checkbox ────────────────────────────────────────────────── */
.sc-form-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-size: 14px !important;
  color: var(--sc-text-body) !important;
  cursor: pointer !important;
}
.sc-form-checkbox input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin-top: 2px !important;
  accent-color: var(--sc-green) !important;
  flex-shrink: 0 !important;
}

/* ── Success / error messages ────────────────────────────────── */
.sc-form-msg {
  padding: 12px 16px !important;
  border-radius: var(--sc-radius-card) !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  margin-bottom: 20px !important;
}
.sc-form-msg--success {
  background: rgba(34,83,34,0.08) !important;
  color: var(--sc-green) !important;
  border: 1px solid rgba(34,83,34,0.2) !important;
}
.sc-form-msg--error {
  background: rgba(204,51,102,0.08) !important;
  color: var(--sc-link) !important;
  border: 1px solid rgba(204,51,102,0.2) !important;
}


/* ═══ BOOKING CONFIRMATION / CHECKOUT PAGE (page-id-73) ════════════
     Styles the MotoPress [mphb_checkout] shortcode output on the
     /booking-confirmation/ page to match site design language.
     Added: v1.0.139  (May 2026)
   ════════════════════════════════════════════════════════════════ */

/* ── Parent: allow breakout + centre content ──────────────────── */
.page-id-73 .site-main {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* ── Hero banner: full-bleed green gradient ───────────────────── */
.page-id-73 .page-header {
  background: linear-gradient(135deg, var(--sc-green) 0%, var(--sc-green-mid) 100%) !important;
  padding: 80px 24px 48px !important;
  text-align: center !important;
  width: 100% !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
}

.page-id-73 h1.entry-title {
  font-family: var(--sc-font-heading) !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 700 !important;
  color: var(--sc-white) !important;
  letter-spacing: -0.5px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
}

/* ── Greeting bar (Hello Mark…) ── card style matching sections ── */
.page-id-73 .mphb-login-form-wrap {
  background: var(--sc-white) !important;
  border: 1px solid #e6ede6 !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  max-width: 100% !important;
  margin: 32px 0 0 !important;
  padding: 0 36px !important;
  font-family: var(--sc-font-body) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--sc-text-body) !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  min-height: 64px !important;
  line-height: 64px !important;
}
/* Override any inner p / form tag margins that break centering */
.page-id-73 .mphb-login-form-wrap p,
.page-id-73 .mphb-login-form-wrap form,
.page-id-73 .mphb-login-form-wrap br,
body.page-id-73 .mphb-login-form-wrap > p,
body.page-id-73 .page-content .mphb-login-form-wrap p {
  margin: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  line-height: inherit !important;
}
.page-id-73 .mphb-login-form-wrap a {
  color: var(--sc-green) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
.page-id-73 .mphb-login-form-wrap a:hover {
  text-decoration: underline !important;
}

/* ── Page content wrapper — constrain to 1280px (match header/footer) */
.page-id-73 .page-content {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 32px 64px !important;
  box-sizing: border-box !important;
}

.page-id-73 .mphb_sc_checkout-wrapper {
  max-width: 100% !important;
}

/* ── Checkout sections — white card style ─────────────────────── */
.page-id-73 .mphb-checkout-section {
  background: var(--sc-white) !important;
  border: 1px solid #e6ede6 !important;
  border-radius: 16px !important;
  padding: 32px 36px !important;
  margin: 32px 0 0 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}

/* ── Section titles (h3 / h4) ─────────────────────────────────── */
.page-id-73 .mphb-booking-details-title,
.page-id-73 .mphb-customer-details-title,
.page-id-73 .mphb-price-breakdown-title {
  font-family: var(--sc-font-heading) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  margin: 0 0 20px !important;
  padding: 0 0 16px !important;
  border-bottom: 2px solid rgba(34,83,34,.1) !important;
}

/* ── Booking details: check-in / check-out — side-by-side tiles ─ */
.page-id-73 .mphb-booking-details .mphb-check-in-date,
.page-id-73 .mphb-booking-details .mphb-check-out-date {
  font-family: var(--sc-font-heading) !important;
  font-size: 14px !important;
  color: var(--sc-text-body) !important;
  padding: 16px 20px !important;
  margin: 0 !important;
  background: var(--sc-bg-tint) !important;
  border: 1px solid rgba(34,83,34,.08) !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
  min-height: 56px !important;
  box-sizing: border-box !important;
}
/* Grid wrapper for the two date tiles — injected by JS */
.sc-dates-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
  margin: 0 !important;
}
/* Icon container added by JS */
.sc-date-icon {
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  background: rgba(34,83,34,.08) !important;
  border-radius: 8px !important;
  color: var(--sc-green) !important;
}
.page-id-73 .mphb-check-in-date span:first-child,
.page-id-73 .mphb-check-out-date span:first-child {
  font-weight: 600 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: var(--sc-text-meta) !important;
}
.page-id-73 .mphb-check-in-date strong,
.page-id-73 .mphb-check-out-date strong {
  color: var(--sc-green) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}
/* "from 11:00 am" / "until 10:00 am" */
.page-id-73 .mphb-check-in-date time:not(:first-of-type),
.page-id-73 .mphb-check-out-date time:not(:first-of-type) {
  font-size: 13px !important;
  color: var(--sc-text-meta) !important;
}
/* Text block next to icon — stack label + date vertically */
.sc-date-text {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  line-height: 1.3 !important;
}
@media (max-width: 600px) {
  .sc-dates-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ── Accommodation details row ────────────────────────────────── */
.page-id-73 .mphb-room-number {
  font-family: var(--sc-font-heading) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  margin: 20px 0 12px !important;
  padding: 16px 0 0 !important;
  border-top: 2px solid rgba(34,83,34,.1) !important;
}

.page-id-73 .mphb-room-type-title {
  font-family: var(--sc-font-heading) !important;
  font-size: 14px !important;
  color: var(--sc-text-body) !important;
  margin: 0 0 16px !important;
}
.page-id-73 .mphb-room-type-title a {
  color: var(--sc-green) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.page-id-73 .mphb-room-type-title a:hover {
  text-decoration: underline !important;
}

/* ── Form inputs (Adults, Guest Name, Customer fields) ────────── */
.page-id-73 .mphb_sc_checkout-form label,
.page-id-73 .mphb-adults-chooser label {
  font-family: var(--sc-font-heading) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--sc-text-heading) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  display: block !important;
  margin-bottom: 6px !important;
}

.page-id-73 .mphb_sc_checkout-form input[type="text"],
.page-id-73 .mphb_sc_checkout-form input[type="email"],
.page-id-73 .mphb_sc_checkout-form input[type="tel"],
.page-id-73 .mphb_sc_checkout-form input[type="number"],
.page-id-73 .mphb_sc_checkout-form select,
.page-id-73 .mphb_sc_checkout-form textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1.5px solid var(--sc-border) !important;
  border-radius: var(--sc-radius-card) !important;
  font-family: var(--sc-font-body) !important;
  font-size: 15px !important;
  color: var(--sc-text-body) !important;
  background: var(--sc-white) !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
  outline: none !important;
  box-sizing: border-box !important;
}
.page-id-73 .mphb_sc_checkout-form input:focus,
.page-id-73 .mphb_sc_checkout-form select:focus,
.page-id-73 .mphb_sc_checkout-form textarea:focus {
  border-color: var(--sc-green) !important;
  box-shadow: 0 0 0 3px rgba(34,83,34,.1) !important;
}

.page-id-73 .mphb_sc_checkout-form textarea {
  min-height: 100px !important;
  resize: vertical !important;
}

/* Clean up paragraph wrappers around form fields */
.page-id-73 .mphb-customer-details p,
.page-id-73 .mphb-room-details p {
  margin: 0 0 20px !important;
}

/* Remove stray <br> tags MotoPress injects */
.page-id-73 .mphb_sc_checkout-form br {
  display: none !important;
}

/* Required field asterisk */
.page-id-73 .mphb-required-fields-tip {
  font-family: var(--sc-font-heading) !important;
  font-size: 12px !important;
  color: var(--sc-text-meta) !important;
  margin: 0 0 20px !important;
  font-style: italic !important;
}

/* ── Price breakdown table ────────────────────────────────────── */
.page-id-73 .mphb-price-breakdown {
  width: 100% !important;
  border-collapse: collapse !important;
  border: none !important;
  outline: none !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 15px !important;
  margin: 0 !important;
}

/* ── All cells: reset to transparent, consistent padding ─────── */
.page-id-73 .mphb-price-breakdown td,
.page-id-73 .mphb-price-breakdown th {
  padding: 14px 20px !important;
  border-bottom: 1px solid rgba(34,83,34,.08) !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  vertical-align: middle !important;
  color: var(--sc-text-body) !important;
  background: transparent !important;
  text-align: left !important;
  font-weight: 400 !important;
}
/* Force ALL right-column price cells to align right consistently */
.page-id-73 table.mphb-price-breakdown tr td:last-child,
.page-id-73 table.mphb-price-breakdown tr th:last-child {
  text-align: right !important;
}

/* ── Soften table edges: no top border on first row, no bottom on last */
.page-id-73 .mphb-price-breakdown tr:first-child td,
.page-id-73 .mphb-price-breakdown tr:first-child th {
  border-top: none !important;
}
.page-id-73 .mphb-price-breakdown tr:last-child td,
.page-id-73 .mphb-price-breakdown tr:last-child th {
  border-bottom: none !important;
}

/* ── Group header row (#1 Bronze Pitch / £36) — pale green ───── */
.page-id-73 .mphb-price-breakdown-group td {
  background: var(--sc-bg-tint) !important;
  font-weight: 600 !important;
}
.page-id-73 .mphb-price-breakdown-group td:last-child {
  text-align: right !important;
  color: var(--sc-green) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
}

/* ── Detail rows (Adults, Nights) — plain, values right-aligned ─ */
.page-id-73 .mphb-price-breakdown-adults td:last-child,
.page-id-73 .mphb-price-breakdown-nights td:last-child {
  text-align: right !important;
  color: var(--sc-text-body) !important;
  font-weight: 400 !important;
}

/* ── Dates header row (Dates / Amount) ───────────────────────── */
.page-id-73 .mphb-price-breakdown-dates th,
.page-id-73 .mphb-price-breakdown-dates td {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: var(--sc-text-meta) !important;
  padding: 10px 20px !important;
  border-bottom: 1px solid rgba(34,83,34,.12) !important;
}
.page-id-73 .mphb-price-breakdown-dates td:last-child,
.page-id-73 .mphb-price-breakdown-dates th:last-child {
  text-align: right !important;
}

/* ── Date rows (June 26, 2026 / £36) — pale green ───────────── */
.page-id-73 .mphb-price-breakdown-date td {
  background: var(--sc-bg-tint) !important;
}
.page-id-73 .mphb-price-breakdown-date td:last-child {
  text-align: right !important;
  color: var(--sc-green) !important;
  font-weight: 600 !important;
}

/* ── Accommodation Total row ─────────────────────────────────── */
.page-id-73 .mphb-price-breakdown-accommodation-total td {
  font-weight: 600 !important;
  color: var(--sc-text-heading) !important;
  border-top: 1px solid rgba(34,83,34,.12) !important;
}
.page-id-73 .mphb-price-breakdown-accommodation-total td:last-child {
  text-align: right !important;
  color: var(--sc-green) !important;
  font-weight: 700 !important;
}

/* ── Subtotal row ────────────────────────────────────────────── */
.page-id-73 .mphb-price-breakdown-subtotal td {
  font-weight: 600 !important;
  color: var(--sc-text-heading) !important;
}
.page-id-73 .mphb-price-breakdown-subtotal td:last-child {
  text-align: right !important;
  color: var(--sc-green) !important;
  font-weight: 700 !important;
}

/* ── Total row — bold, green top border, standout ────────────── */
.page-id-73 .mphb-price-breakdown-total td {
  border-bottom: none !important;
  border-top: 2px solid var(--sc-green) !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  padding-top: 18px !important;
  color: var(--sc-green) !important;
  background: rgba(34,83,34,.04) !important;
}
.page-id-73 .mphb-price-breakdown-total td:last-child {
  text-align: right !important;
  font-size: 20px !important;
}

/* ── Accommodation name link ─────────────────────────────────── */
.page-id-73 .mphb-price-breakdown a {
  color: var(--sc-green) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.page-id-73 .mphb-price-breakdown a:hover {
  text-decoration: underline !important;
}

/* ── Expand/collapse toggle button ───────────────────────────── */
.page-id-73 .mphb-price-breakdown-expand {
  background: var(--sc-bg-tint) !important;
  border: 1.5px solid rgba(34,83,34,.15) !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  padding: 2px 6px !important;
  font-size: 12px !important;
  color: var(--sc-green-mid) !important;
  vertical-align: middle !important;
  margin-right: 8px !important;
}
.page-id-73 .mphb-price-breakdown-expand:hover {
  border-color: var(--sc-green) !important;
  color: var(--sc-green) !important;
  background: rgba(34,83,34,.08) !important;
}

/* ── Total price line (below the cards) ───────────────────────── */
.page-id-73 .mphb-total-price {
  background: var(--sc-white) !important;
  border: 1px solid #e6ede6 !important;
  border-radius: 16px !important;
  padding: 24px 36px !important;
  margin: 24px 0 0 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--sc-text-body) !important;
}
.page-id-73 .mphb-total-price output {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
}
.page-id-73 .mphb-total-price .mphb-price {
  font-size: 24px !important;
  color: var(--sc-green) !important;
}
.page-id-73 .mphb-total-price .mphb-total-price-field {
  font-size: 24px !important;
}
/* Hide the payment fee note if empty */
.page-id-73 .mphb-total-price .mphb-payment-fee:empty {
  display: none !important;
}

/* ── Error messages ───────────────────────────────────────────── */
.page-id-73 .mphb-errors-wrapper {
  margin: 16px 0 !important;
}
.page-id-73 .mphb-errors-wrapper p {
  background: rgba(204,51,102,0.08) !important;
  color: var(--sc-link) !important;
  border: 1px solid rgba(204,51,102,0.2) !important;
  border-radius: var(--sc-radius-card) !important;
  padding: 12px 16px !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  margin: 0 0 8px !important;
}

/* ── Book Now button — amber CTA ──────────────────────────────── */
.page-id-73 .mphb_sc_checkout-form input[type="submit"],
.page-id-73 .mphb_sc_checkout-form button[type="submit"] {
  display: block !important;
  width: 100% !important;
  max-width: 400px !important;
  margin: 32px auto 0 !important;
  padding: 16px 32px !important;
  background: var(--sc-amber) !important;
  color: var(--sc-white) !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
  border: none !important;
  border-radius: var(--sc-radius-card) !important;
  cursor: pointer !important;
  transition: background .2s ease, transform .15s ease !important;
  box-shadow: 0 4px 16px rgba(232,160,32,.3) !important;
}
.page-id-73 .mphb_sc_checkout-form input[type="submit"]:hover,
.page-id-73 .mphb_sc_checkout-form button[type="submit"]:hover {
  background: #d08e10 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 24px rgba(232,160,32,.4) !important;
}

/* ── Additional Services — custom checkboxes ─────────────────── */
/* Section heading */
.page-id-73 .mphb-services-details-title {
  font-family: var(--sc-font-heading) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  margin: 20px 0 16px !important;
  padding: 16px 0 0 !important;
  border-top: 2px solid rgba(34,83,34,.1) !important;
}

/* Reset ul/li defaults that cause misalignment */
.page-id-73 ul.mphb_sc_checkout-services-list,
.page-id-73 ul.mphb_checkout-services-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.page-id-73 ul.mphb_sc_checkout-services-list li,
.page-id-73 ul.mphb_checkout-services-list li {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
}

/* Each service label — card row */
.page-id-73 .mphb-services-details .mphb-checkbox-label {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 20px !important;
  margin: 0 !important;
  background: var(--sc-bg-tint) !important;
  border: 1px solid rgba(34,83,34,.08) !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--sc-text-body) !important;
  letter-spacing: 0.3px !important;
}
.page-id-73 .mphb-services-details .mphb-checkbox-label:hover {
  border-color: var(--sc-green) !important;
  box-shadow: 0 0 0 3px rgba(34,83,34,.06) !important;
}
/* Highlight row when checked — checkbox is INSIDE label */
.page-id-73 .mphb-services-details .mphb-checkbox-label:has(input[type="checkbox"]:checked) {
  border-color: var(--sc-green) !important;
  background: rgba(34,83,34,.06) !important;
  box-shadow: 0 0 0 3px rgba(34,83,34,.08) !important;
}

/* Price text — softer colour */
.page-id-73 .mphb-services-details .mphb-checkbox-label em {
  color: var(--sc-text-meta) !important;
  font-style: normal !important;
  font-weight: 400 !important;
}

/* Custom checkbox — hide native, draw custom box */
.page-id-73 .mphb-services-details .mphb_sc_checkout-service,
.page-id-73 .mphb-services-details .mphb_checkout-service {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  border: 2px solid var(--sc-border) !important;
  border-radius: 5px !important;
  background: var(--sc-white) !important;
  cursor: pointer !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: background .15s ease, border-color .15s ease !important;
  flex-shrink: 0 !important;
}
/* Checked state — green fill with white tick */
.page-id-73 .mphb-services-details .mphb_sc_checkout-service:checked,
.page-id-73 .mphb-services-details .mphb_checkout-service:checked {
  background: var(--sc-green) !important;
  border-color: var(--sc-green) !important;
}
.page-id-73 .mphb-services-details .mphb_sc_checkout-service:checked::after,
.page-id-73 .mphb-services-details .mphb_checkout-service:checked::after {
  content: "" !important;
  position: absolute !important;
  top: 3px !important;
  left: 6px !important;
  width: 6px !important;
  height: 11px !important;
  border: solid var(--sc-white) !important;
  border-width: 0 2.5px 2.5px 0 !important;
  transform: rotate(45deg) !important;
  display: block !important;
}
/* Focus ring */
.page-id-73 .mphb-services-details .mphb_sc_checkout-service:focus-visible,
.page-id-73 .mphb-services-details .mphb_checkout-service:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(34,83,34,.15) !important;
}

/* ── Coupon code — Apply button ──────────────────────────────── */
.page-id-73 .mphb-apply-coupon-code-button {
  display: inline-block !important;
  padding: 10px 24px !important;
  background: var(--sc-green) !important;
  color: var(--sc-white) !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  border: none !important;
  border-radius: var(--sc-radius-card) !important;
  cursor: pointer !important;
  transition: background .2s ease !important;
}
.page-id-73 .mphb-apply-coupon-code-button:hover {
  background: var(--sc-green-mid) !important;
}
/* Coupon section title */
.page-id-73 .mphb-coupon-code-title {
  font-family: var(--sc-font-heading) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--sc-text-heading) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}
/* Coupon input field */
.page-id-73 #mphb_coupon_code {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1.5px solid var(--sc-border) !important;
  border-radius: var(--sc-radius-card) !important;
  font-family: var(--sc-font-body) !important;
  font-size: 15px !important;
  color: var(--sc-text-body) !important;
  background: var(--sc-white) !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}
.page-id-73 #mphb_coupon_code:focus {
  border-color: var(--sc-green) !important;
  box-shadow: 0 0 0 3px rgba(34,83,34,.1) !important;
}

/* ── Customer details: 2-col grid for name fields ─────────────── */
.page-id-73 .mphb-customer-details {
  display: block !important;
}
.page-id-73 .mphb-customer-name,
.page-id-73 .mphb-customer-last-name {
  display: inline-block !important;
  width: calc(50% - 10px) !important;
  vertical-align: top !important;
}
.page-id-73 .mphb-customer-last-name {
  margin-left: 16px !important;
}
.page-id-73 .mphb-customer-email,
.page-id-73 .mphb-customer-phone {
  display: inline-block !important;
  width: calc(50% - 10px) !important;
  vertical-align: top !important;
}
.page-id-73 .mphb-customer-phone {
  margin-left: 16px !important;
}

/* ── Booking summary pills (JS-injected .sc-checkout-bar) ─────── */
.sc-checkout-bar {
  background: var(--sc-white) !important;
  border-bottom: 1px solid #e6ede6 !important;
  box-shadow: 0 2px 12px rgba(34,83,34,.05) !important;
  width: 100% !important;
  min-height: 60px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  padding: 10px calc((100% - 1280px) / 2 + 32px) !important;
  box-sizing: border-box !important;
}

.sc-checkout-bar .sc-bar-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-family: var(--sc-font-heading, 'Lato', sans-serif) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--sc-text-heading) !important;
  padding: 8px 18px !important;
  border-radius: 50px !important;
  border: 1.5px solid var(--sc-border) !important;
  background: transparent !important;
  white-space: nowrap !important;
  line-height: 1.4 !important;
}
.sc-checkout-bar .sc-bar-item svg {
  flex-shrink: 0 !important;
}
.sc-checkout-bar .sc-bar-arrow {
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 2px !important;
  color: var(--sc-text-meta) !important;
}

/* ── Reservation submitted — success card (step=booking) ─────── */
.page-id-73 .mphb-reservation-submitted-title,
.page-id-73 .mphb_sc_checkout-success-reservation-message {
  text-align: center !important;
}
.page-id-73 .mphb_sc_checkout-wrapper:has(.mphb-reservation-submitted-title) {
  background: var(--sc-white) !important;
  border: 1px solid #e6ede6 !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  padding: 48px 36px 40px !important;
  margin: 32px 0 0 !important;
  max-width: 100% !important;
  text-align: center !important;
}
/* Green tick icon via pseudo-element */
.page-id-73 .mphb_sc_checkout-wrapper:has(.mphb-reservation-submitted-title)::before {
  content: "" !important;
  display: block !important;
  width: 64px !important;
  height: 64px !important;
  margin: 0 auto 24px !important;
  background: rgba(34,83,34,.08) !important;
  border-radius: 50% !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23225322' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 32px !important;
}
.page-id-73 .mphb-reservation-submitted-title {
  font-family: var(--sc-font-heading) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  margin: 0 0 12px !important;
}
.page-id-73 .mphb_sc_checkout-success-reservation-message {
  font-family: var(--sc-font-body) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--sc-text-body) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* ── Responsive ───────────────────────────────────────────────── */
@media (max-width: 768px) {
  .page-id-73 .page-header {
    padding: 60px 24px 36px !important;
  }
  .page-id-73 .page-content {
    padding: 0 16px 48px !important;
  }
  .page-id-73 .mphb-checkout-section {
    padding: 24px 20px !important;
    border-radius: 12px !important;
  }
  .page-id-73 .mphb-customer-name,
  .page-id-73 .mphb-customer-last-name,
  .page-id-73 .mphb-customer-email,
  .page-id-73 .mphb-customer-phone {
    display: block !important;
    width: 100% !important;
    margin-left: 0 !important;
  }
  .page-id-73 .mphb-login-form-wrap {
    padding: 16px 20px !important;
    margin: 24px 0 0 !important;
    border-radius: 12px !important;
  }
  .sc-checkout-bar {
    padding: 12px 16px !important;
    justify-content: flex-start !important;
  }
  .page-id-73 .mphb-total-price {
    padding: 20px 20px !important;
  }
  .page-id-73 .mphb-total-price output {
    flex-direction: column !important;
    gap: 8px !important;
    text-align: center !important;
  }
  .page-id-73 .mphb_sc_checkout-wrapper:has(.mphb-reservation-submitted-title) {
    padding: 36px 24px 32px !important;
    margin: 32px 16px 0 !important;
  }
  .page-id-73 .mphb_sc_checkout-wrapper:has(.mphb-reservation-submitted-title)::before {
    width: 52px !important;
    height: 52px !important;
    background-size: 26px !important;
    margin-bottom: 20px !important;
  }
}


/* ═══ BOOKING CONFIRMED PAGE (page-id-74) ════════════════════════
     Styles the MotoPress [mphb_booking_confirmation] shortcode on
     /booking-confirmation/booking-confirmed/ to match site design.
     Added: v1.0.146  (May 2026)
   ════════════════════════════════════════════════════════════════ */

/* ── Parent: allow breakout + centre content ──────────────────── */
.page-id-74 .site-main {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* ── Hero banner: full-bleed green gradient ───────────────────── */
.page-id-74 .page-header {
  background: linear-gradient(135deg, var(--sc-green) 0%, var(--sc-green-mid) 100%) !important;
  padding: 80px 24px 48px !important;
  text-align: center !important;
  width: 100% !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
}
.page-id-74 h1.entry-title {
  font-family: var(--sc-font-heading) !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 700 !important;
  color: var(--sc-white) !important;
  letter-spacing: -0.5px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
}

/* ── Page content wrapper — constrain to 1280px ──────────────── */
.page-id-74 .page-content {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 32px 64px !important;
  box-sizing: border-box !important;
}

/* ── Confirmation messages — success card with green tick ─────── */
.page-id-74 .mphb-booking-confirmation-messages {
  background: var(--sc-white) !important;
  border: 1px solid #e6ede6 !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  padding: 48px 36px 40px !important;
  margin: 32px 0 0 !important;
  max-width: 100% !important;
  text-align: center !important;
}
/* Green tick icon */
.page-id-74 .mphb-booking-confirmation-messages::before {
  content: "" !important;
  display: block !important;
  width: 64px !important;
  height: 64px !important;
  margin: 0 auto 24px !important;
  background: rgba(34,83,34,.08) !important;
  border-radius: 50% !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23225322' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 32px !important;
}
.page-id-74 .mphb-booking-confirmation-messages p {
  font-family: var(--sc-font-body) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--sc-text-body) !important;
  line-height: 1.6 !important;
  margin: 0 0 8px !important;
}
.page-id-74 .mphb-booking-confirmation-messages p:first-child {
  font-family: var(--sc-font-heading) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--sc-green) !important;
  margin-bottom: 12px !important;
}
.page-id-74 .mphb-booking-confirmation-messages p:last-child {
  margin-bottom: 0 !important;
}

/* ── Booking details section — white card ────────────────────── */
.page-id-74 .mphb-booking-details-section {
  background: var(--sc-white) !important;
  border: 1px solid #e6ede6 !important;
  border-radius: 16px !important;
  padding: 32px 36px !important;
  margin: 24px 0 0 !important;
  max-width: 100% !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}

/* ── Section title ───────────────────────────────────────────── */
.page-id-74 .mphb-booking-details-title {
  font-family: var(--sc-font-heading) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  margin: 0 0 20px !important;
  padding: 0 0 16px !important;
  border-bottom: 2px solid rgba(34,83,34,.1) !important;
}

/* ── Booking details list — tile grid ────────────────────────── */
.page-id-74 ul.mphb-booking-details {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
  gap: 12px !important;
}
.page-id-74 ul.mphb-booking-details li {
  background: var(--sc-bg-tint) !important;
  border: 1px solid rgba(34,83,34,.08) !important;
  border-radius: 10px !important;
  padding: 16px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
.page-id-74 ul.mphb-booking-details li .label {
  font-family: var(--sc-font-heading) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  color: var(--sc-text-meta) !important;
}
.page-id-74 ul.mphb-booking-details li .value {
  font-family: var(--sc-font-heading) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
}
/* Price value — highlight */
.page-id-74 li.booking-price .value {
  font-size: 18px !important;
}
/* Status confirmed — green badge feel */
.page-id-74 li.booking-status .value {
  color: var(--sc-green) !important;
}

/* ── Accommodation details link ─────────────────────────────── */
.page-id-74 .accommodations {
  margin-top: 20px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(34,83,34,.08) !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 14px !important;
  color: var(--sc-text-body) !important;
}
.page-id-74 .accommodations-title {
  font-weight: 600 !important;
  color: var(--sc-text-heading) !important;
}
.page-id-74 .accommodations a {
  color: var(--sc-green) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.page-id-74 .accommodations a:hover {
  text-decoration: underline !important;
}

/* ── Responsive (page-id-74) ────────────────────────────────── */
@media (max-width: 768px) {
  .page-id-74 .page-header {
    padding: 60px 24px 36px !important;
  }
  .page-id-74 .page-content {
    padding: 0 16px 48px !important;
  }
  .page-id-74 .mphb-booking-confirmation-messages {
    padding: 36px 24px 32px !important;
    margin: 32px auto 0 !important;
  }
  .page-id-74 .mphb-booking-confirmation-messages::before {
    width: 52px !important;
    height: 52px !important;
    background-size: 26px !important;
    margin-bottom: 20px !important;
  }
  .page-id-74 .mphb-booking-details-section {
    padding: 24px 20px !important;
    margin: 16px auto 0 !important;
  }
  .page-id-74 ul.mphb-booking-details {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 480px) {
  .page-id-74 ul.mphb-booking-details {
    grid-template-columns: 1fr !important;
  }
}


/* ═══ BOOKING CANCELLATION PAGE (page-id-72) ═══════════════════
     Styles the MotoPress [mphb_booking_confirmation] shortcode on
     /booking-cancellation/ to match site design. Same structure as
     page-id-74 (Booking Confirmed) but with cancellation icon/colours.
     Added: v1.0.160  (May 2026)
   ════════════════════════════════════════════════════════════════ */

/* ── Parent: allow breakout + centre content ──────────────────── */
.page-id-72 .site-main {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* ── Hero banner: full-bleed green gradient ───────────────────── */
.page-id-72 .page-header {
  background: linear-gradient(135deg, var(--sc-green) 0%, var(--sc-green-mid) 100%) !important;
  padding: 80px 24px 48px !important;
  text-align: center !important;
  width: 100% !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
}
.page-id-72 h1.entry-title {
  font-family: var(--sc-font-heading) !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 700 !important;
  color: var(--sc-white) !important;
  letter-spacing: -0.5px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
}

/* ── Page content wrapper — constrain to 1280px ──────────────── */
.page-id-72 .page-content {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 32px 64px !important;
  box-sizing: border-box !important;
}

/* ── Confirmation messages — card with amber X icon ────────────── */
.page-id-72 .mphb-booking-confirmation-messages {
  background: var(--sc-white) !important;
  border: 1px solid #ede6e6 !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  padding: 48px 36px 40px !important;
  margin: 32px 0 0 !important;
  max-width: 100% !important;
  text-align: center !important;
}
/* Amber X icon (cancellation) */
.page-id-72 .mphb-booking-confirmation-messages::before {
  content: "" !important;
  display: block !important;
  width: 64px !important;
  height: 64px !important;
  margin: 0 auto 24px !important;
  background: rgba(232,160,32,.1) !important;
  border-radius: 50% !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8a020' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6L6 18'/%3E%3Cpath d='M6 6l12 12'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 32px !important;
}
.page-id-72 .mphb-booking-confirmation-messages p {
  font-family: var(--sc-font-body) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--sc-text-body) !important;
  line-height: 1.6 !important;
  margin: 0 0 8px !important;
}
.page-id-72 .mphb-booking-confirmation-messages p:first-child {
  font-family: var(--sc-font-heading) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--sc-amber) !important;
  margin-bottom: 12px !important;
}
.page-id-72 .mphb-booking-confirmation-messages p:last-child {
  margin-bottom: 0 !important;
}

/* ── Booking details section — white card ────────────────────── */
.page-id-72 .mphb-booking-details-section {
  background: var(--sc-white) !important;
  border: 1px solid #e6ede6 !important;
  border-radius: 16px !important;
  padding: 32px 36px !important;
  margin: 24px 0 0 !important;
  max-width: 100% !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}

/* ── Section title ───────────────────────────────────────────── */
.page-id-72 .mphb-booking-details-title {
  font-family: var(--sc-font-heading) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  margin: 0 0 20px !important;
  padding: 0 0 16px !important;
  border-bottom: 2px solid rgba(34,83,34,.1) !important;
}

/* ── Booking details list — tile grid ────────────────────────── */
.page-id-72 ul.mphb-booking-details {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
  gap: 12px !important;
}
.page-id-72 ul.mphb-booking-details li {
  background: var(--sc-bg-tint) !important;
  border: 1px solid rgba(34,83,34,.08) !important;
  border-radius: 10px !important;
  padding: 16px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
.page-id-72 ul.mphb-booking-details li .label {
  font-family: var(--sc-font-heading) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  color: var(--sc-text-meta) !important;
}
.page-id-72 ul.mphb-booking-details li .value {
  font-family: var(--sc-font-heading) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
}
/* Price value — highlight */
.page-id-72 li.booking-price .value {
  font-size: 18px !important;
}
/* Status cancelled — amber to distinguish from confirmed */
.page-id-72 li.booking-status .value {
  color: var(--sc-amber) !important;
}

/* ── Accommodation details link ─────────────────────────────── */
.page-id-72 .accommodations {
  margin-top: 20px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(34,83,34,.08) !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 14px !important;
  color: var(--sc-text-body) !important;
}
.page-id-72 .accommodations-title {
  font-weight: 600 !important;
  color: var(--sc-text-heading) !important;
}
.page-id-72 .accommodations a {
  color: var(--sc-green) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.page-id-72 .accommodations a:hover {
  text-decoration: underline !important;
}

/* ── Responsive (page-id-72) ────────────────────────────────── */
@media (max-width: 768px) {
  .page-id-72 .page-header {
    padding: 60px 24px 36px !important;
  }
  .page-id-72 .page-content {
    padding: 0 16px 48px !important;
  }
  .page-id-72 .mphb-booking-confirmation-messages {
    padding: 36px 24px 32px !important;
    margin: 32px auto 0 !important;
  }
  .page-id-72 .mphb-booking-confirmation-messages::before {
    width: 52px !important;
    height: 52px !important;
    background-size: 26px !important;
    margin-bottom: 20px !important;
  }
  .page-id-72 .mphb-booking-details-section {
    padding: 24px 20px !important;
    margin: 16px auto 0 !important;
  }
  .page-id-72 ul.mphb-booking-details {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 480px) {
  .page-id-72 ul.mphb-booking-details {
    grid-template-columns: 1fr !important;
  }
}


/* ═══ BOOKING CANCELED PAGE (page-id-75) ═════════════════════════
     Styles /booking-confirmation/booking-canceled/ — simple WP page
     with just an h1 and one paragraph. Matches the other booking
     pages (72, 73, 74) with green hero + centred card + amber icon.
     Added: v1.0.175  (May 2026)
   ════════════════════════════════════════════════════════════════ */

/* ── Parent: allow breakout + centre content ──────────────────── */
.page-id-75 .site-main {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* ── Hero banner: full-bleed green gradient ───────────────────── */
.page-id-75 .page-header {
  background: linear-gradient(135deg, var(--sc-green) 0%, var(--sc-green-mid) 100%) !important;
  padding: 80px 24px 48px !important;
  text-align: center !important;
  width: 100% !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
}
.page-id-75 h1.entry-title {
  font-family: var(--sc-font-heading) !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 700 !important;
  color: var(--sc-white) !important;
  letter-spacing: -0.5px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
}

/* ── Page content wrapper — constrain to 1280px (page width) ───── */
.page-id-75 .page-content {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 48px 32px 80px !important;
  box-sizing: border-box !important;
}

/* ── Message card with amber X icon ───────────────────────────── */
.page-id-75 .page-content p {
  background: var(--sc-white) !important;
  border: 1px solid #ede6e6 !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  padding: 48px 36px 40px !important;
  margin: 0 !important;
  text-align: center !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--sc-text-heading) !important;
  line-height: 1.6 !important;
}
/* Amber X icon — same as page-id-72 cancellation icon */
.page-id-75 .page-content p::before {
  content: "" !important;
  display: block !important;
  width: 64px !important;
  height: 64px !important;
  margin: 0 auto 24px !important;
  background: rgba(232,160,32,.1) !important;
  border-radius: 50% !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8a020' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6L6 18'/%3E%3Cpath d='M6 6l12 12'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 32px !important;
}

/* ── Responsive (page-id-75) ──────────────────────────────────── */
@media (max-width: 768px) {
  .page-id-75 .page-header {
    padding: 60px 24px 36px !important;
  }
  .page-id-75 .page-content {
    padding: 32px 16px 48px !important;
  }
  .page-id-75 .page-content p {
    padding: 36px 24px 32px !important;
  }
  .page-id-75 .page-content p::before {
    width: 52px !important;
    height: 52px !important;
    background-size: 26px !important;
    margin-bottom: 20px !important;
  }
}


/* ═══ SEARCH AVAILABILITY PAGE (page-id-70) ════════════════════
     Styles the MotoPress [mphb_availability_search] shortcode on
     /search-availability/ — standalone search form page.
     Added: v1.0.161  (May 2026)
   ════════════════════════════════════════════════════════════════ */

/* ── Parent: allow breakout + centre content ──────────────────── */
.page-id-70 .site-main {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* ── Hero banner: full-bleed green gradient ───────────────────── */
.page-id-70 .page-header {
  background: linear-gradient(135deg, var(--sc-green) 0%, var(--sc-green-mid) 100%) !important;
  padding: 80px 24px 48px !important;
  text-align: center !important;
  width: 100% !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
}
.page-id-70 h1.entry-title {
  font-family: var(--sc-font-heading) !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 700 !important;
  color: var(--sc-white) !important;
  letter-spacing: -0.5px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
}

/* ── Page content wrapper — match header/footer width ────────── */
.page-id-70 .page-content {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 32px 64px !important;
  box-sizing: border-box !important;
}

/* ── Search form — white card ────────────────────────────────── */
.page-id-70 .mphb_sc_search-wrapper {
  background: var(--sc-white) !important;
  border: 1px solid #e6ede6 !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  padding: 40px 36px !important;
  margin: 32px 0 0 !important;
}

/* ── Required fields tip ─────────────────────────────────────── */
.page-id-70 .mphb-required-fields-tip {
  font-family: var(--sc-font-body) !important;
  font-size: 13px !important;
  color: var(--sc-text-meta) !important;
  margin: 0 0 24px !important;
}
.page-id-70 .mphb-required-fields-tip abbr {
  color: var(--sc-amber) !important;
  text-decoration: none !important;
}

/* ── Form field containers ───────────────────────────────────── */
.page-id-70 .mphb_sc_search-form p {
  margin: 0 0 20px !important;
}
.page-id-70 .mphb_sc_search-form br {
  display: none !important;
}

/* ── Labels ──────────────────────────────────────────────────── */
.page-id-70 .mphb_sc_search-form label {
  font-family: var(--sc-font-heading) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  color: var(--sc-text-heading) !important;
  display: block !important;
  margin-bottom: 8px !important;
}
.page-id-70 .mphb_sc_search-form label abbr {
  color: var(--sc-amber) !important;
  text-decoration: none !important;
}

/* ── Inputs & selects ────────────────────────────────────────── */
.page-id-70 .mphb_sc_search-form input[type="text"],
.page-id-70 .mphb_sc_search-form select {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1px solid var(--sc-border) !important;
  border-radius: var(--sc-radius-card) !important;
  font-family: var(--sc-font-body) !important;
  font-size: 15px !important;
  color: var(--sc-text-body) !important;
  background: var(--sc-white) !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.page-id-70 .mphb_sc_search-form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23888' d='M1.41 0L6 4.59 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  padding-right: 40px !important;
}
.page-id-70 .mphb_sc_search-form input[type="text"]:focus,
.page-id-70 .mphb_sc_search-form select:focus {
  border-color: var(--sc-green) !important;
  box-shadow: 0 0 0 3px rgba(34,83,34,.1) !important;
  outline: none !important;
}

/* ── Date fields side-by-side on desktop ─────────────────────── */
@media (min-width: 500px) {
  .page-id-70 .mphb_sc_search-form {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 20px !important;
  }
  .page-id-70 .mphb-required-fields-tip {
    grid-column: 1 / -1 !important;
  }
  .page-id-70 .mphb_sc_search-check-in-date {
    grid-column: 1 !important;
  }
  .page-id-70 .mphb_sc_search-check-out-date {
    grid-column: 2 !important;
  }
  .page-id-70 .mphb_sc_search-adults {
    grid-column: 1 !important;
  }
  .page-id-70 .mphb_sc_search-children {
    grid-column: 2 !important;
  }
  .page-id-70 .mphb_sc_search-submit-button-wrapper {
    grid-column: 1 / -1 !important;
  }
}

/* ── Submit button ───────────────────────────────────────────── */
.page-id-70 .mphb_sc_search-submit-button-wrapper {
  margin-top: 8px !important;
  padding-top: 8px !important;
}
.page-id-70 .mphb_sc_search-submit-button-wrapper input[type="submit"],
.page-id-70 .mphb_sc_search-submit-button-wrapper button {
  display: block !important;
  width: 100% !important;
  padding: 14px 32px !important;
  background: var(--sc-green) !important;
  color: var(--sc-white) !important;
  border: none !important;
  border-radius: var(--sc-radius-card) !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}
.page-id-70 .mphb_sc_search-submit-button-wrapper input[type="submit"]:hover,
.page-id-70 .mphb_sc_search-submit-button-wrapper button:hover {
  background: var(--sc-green-mid) !important;
}

/* ── Responsive (page-id-70) ────────────────────────────────── */
@media (max-width: 768px) {
  .page-id-70 .page-header {
    padding: 60px 24px 36px !important;
  }
  .page-id-70 .mphb_sc_search-wrapper {
    padding: 28px 20px !important;
    margin: 24px 0 0 !important;
  }
}


/* ═══ SEARCH RESULTS PAGE ═══════════════════════════════════════
     Styles the MotoPress [mphb_search_results] shortcode output
     to match the Accommodations page card layout.
     Added: v1.0.122  (May 2026)
   ════════════════════════════════════════════════════════════════ */

/* ── Page-level width: match header/footer inner (1280px) ────── */
.page-id-71 .elementor-71 > .e-con > .e-con-inner {
  max-width: 1280px !important;
}

/* ── Hero banner (full-bleed green, content centred at 1280px) ── */
.sc-search-hero {
  background: linear-gradient(135deg, var(--sc-green) 0%, var(--sc-green-mid) 100%) !important;
  padding: 80px 0 48px !important;
  text-align: center !important;
  width: 100% !important;
}
.sc-search-hero > .e-con-inner {
  max-width: 1280px !important;
}

/* ── Hero eyebrow (JS-injected, matches Accommodations .sc-page-hero-eyebrow) */
.sc-search-hero-eyebrow {
  display: block !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: var(--sc-amber) !important;
  margin: 0 0 12px !important;
}

.sc-search-hero-title .elementor-heading-title {
  font-family: var(--sc-font-heading) !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  font-weight: 700 !important;
  color: var(--sc-white) !important;
  letter-spacing: -0.5px !important;
}

/* ── Hero subtitle (JS-injected descriptive copy) ─────────────── */
.sc-search-hero-subtitle {
  font-family: var(--sc-font-heading) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,.72) !important;
  margin: 14px auto 0 !important;
  padding: 0 20px !important;
  max-width: 640px !important;
  line-height: 1.6 !important;
  letter-spacing: .02em !important;
}

/* ── Booking summary bar (JS-created, sits below hero) ─────────
     Matches the .sc-filter-bar style from the Accommodations page:
     white bg, subtle shadow, 60px height, pill-shaped items ─────── */
.sc-search-booking-bar {
  background: #fff !important;
  border-bottom: 1px solid #e6ede6 !important;
  box-shadow: 0 2px 12px rgba(34,83,34,.05) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 60px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  padding: 10px calc((100% - 1280px) / 2 + 32px) !important;
}
@media (max-width: 767px) {
  .sc-search-booking-bar { padding: 10px 20px !important; }
}

/* ── Bar items — pill style matching .sc-filter-tab ──────────── */
.sc-bar-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-family: var(--sc-font-heading, 'Lato', sans-serif) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--sc-text-heading) !important;
  padding: 8px 18px !important;
  border-radius: 50px !important;
  border: 1.5px solid var(--sc-border) !important;
  background: transparent !important;
  white-space: nowrap !important;
  line-height: 1.4 !important;
}
.sc-bar-item svg {
  flex-shrink: 0 !important;
}
.sc-bar-nights {
  color: var(--sc-text-meta) !important;
  font-weight: 500 !important;
  border-style: dashed !important;
}
.sc-bar-arrow {
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 2px !important;
}

/* ── Search results wrapper (Elementor widget container) ─────── */
.sc-search-results {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}
@media (max-width: 767px) {
  .sc-search-results { padding: 0 20px !important; }
}

/* ── Info line — now hidden by JS, count moved to hero ───────── */
.mphb_sc_search_results-wrapper {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.mphb_sc_search_results-info {
  font-family: var(--sc-font-heading) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--sc-text-meta) !important;
  text-align: center !important;
  padding: 32px 0 8px !important;
  margin: 0 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
}

/* ── Recommendation section ───────────────────────────────────── */
.mphb-recommendation-title {
  font-family: var(--sc-font-heading) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  text-align: center !important;
  margin: 16px 0 24px !important;
}

.mphb-recommendation {
  background: var(--sc-white) !important;
  border: 1px solid var(--sc-border) !important;
  border-radius: 16px !important;
  padding: 28px 32px !important;
  margin-bottom: 48px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}

.mphb-recommendation-details-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
}

.mphb-recommendation-details-list li {
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--sc-border) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.mphb-recommendation-details-list li:last-child {
  border-bottom: none !important;
}

.mphb-recommendation-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
}

.mphb-recommendation-item-link {
  font-family: var(--sc-font-heading) !important;
  font-weight: 600 !important;
  color: var(--sc-green) !important;
  text-decoration: none !important;
  font-size: 16px !important;
}

.mphb-recommendation-item-link:hover {
  color: var(--sc-green-mid) !important;
  text-decoration: underline !important;
}

.mphb-recommedation-item-subtotal .mphb-price {
  font-family: var(--sc-font-heading) !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  font-size: 18px !important;
}

.mphb-recommendation-total {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding-top: 16px !important;
  border-top: 2px solid var(--sc-green) !important;
  margin-top: 8px !important;
}

.mphb-recommendation-total-title {
  font-family: var(--sc-font-heading) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  color: var(--sc-text-body) !important;
}

.mphb-recommendation-total-value .mphb-price {
  font-family: var(--sc-font-heading) !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  color: var(--sc-green) !important;
}

.mphb-recommendation-reserve-button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: 14px 32px !important;
  background: var(--sc-amber) !important;
  color: var(--sc-white) !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  border: none !important;
  border-radius: var(--sc-radius-card) !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
  margin-top: 20px !important;
}

.mphb-recommendation-reserve-button:hover {
  background: #d08e10 !important;
}

/* ── Hide cart / selection messages ───────────────────────────── */
.mphb-reservation-cart,
.mphb-empty-cart-message {
  display: none !important;
}

/* ── Grid: exact match to .sc-group-grid (3-col, 20px gap) ──── */
.mphb_sc_search_results-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
  padding-top: 40px !important;
  padding-bottom: 64px !important;
}

/* Full-width spans ───────────────────────────────────────────── */
.mphb_sc_search_results-info {
  grid-column: 1 / -1 !important;
}
/* Hide the recommendation section — disrupts card grid layout */
.mphb_sc_search_results-wrapper .mphb-recommendation-title,
.mphb_sc_search_results-wrapper .mphb-recommendation {
  display: none !important;
}
.mphb_sc_search_results-wrapper .mphb-clear {
  display: none !important;
}

/* ── Card: exact copy of .sc-rooms-output .mphb-room-type ───── */
.mphb_sc_search_results-wrapper .mphb-room-type {
  background: #fff !important;
  border-radius: 8px !important;
  border: 1px solid #e6ede6 !important;
  box-shadow: 0 2px 12px rgba(34,83,34,.07) !important;
  transition: transform .22s, box-shadow .22s !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  margin: 0 !important;
}
.mphb_sc_search_results-wrapper .mphb-room-type:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 32px rgba(34,83,34,.15) !important;
}

/* Green gradient placeholder for cards without ANY image */
.mphb_sc_search_results-wrapper .mphb-room-type:not(:has(.mphb-room-type-images)):not(:has(p.mphb-loop-room-thumbnail))::before {
  content: '' !important;
  display: block !important;
  height: 200px !important;
  background: linear-gradient(155deg, #5a8f44 0%, #3d6b2e 50%, #225322 100%) !important;
}

/* ── Image: 200px, object-fit cover ─────────────────────────── */
.mphb_sc_search_results-wrapper .mphb-room-type-images {
  height: 200px !important;
  overflow: hidden !important;
  display: block !important;
}
.mphb_sc_search_results-wrapper .mphb-room-type-images img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
}
.mphb_sc_search_results-wrapper .mphb-gallery-main-slider.flexslider {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: 200px !important;
  overflow: hidden !important;
}
.mphb_sc_search_results-wrapper .mphb-gallery-main-slider .flex-viewport {
  height: 200px !important;
  overflow: hidden !important;
}
.mphb_sc_search_results-wrapper .mphb-gallery-main-slider .slides,
.mphb_sc_search_results-wrapper .mphb-gallery-main-slider .slides > li {
  height: 200px !important;
}
.mphb_sc_search_results-wrapper .mphb-gallery-main-slider .slides > li {
  margin: 0 !important;
}
/* Hide gallery thumbs + arrows — show dot nav for carousel */
.mphb_sc_search_results-wrapper .mphb-gallery-thumbnail-slider,
.mphb_sc_search_results-wrapper .mphb-room-type-images .flex-direction-nav,
.mphb_sc_search_results-wrapper .mphb-room-type-images .flex-control-thumbs {
  display: none !important;
}

/* ── Search results: FlexSlider dot navigation ─────────── */
.mphb_sc_search_results-wrapper .mphb-room-type-images .flex-control-nav {
  display: flex !important;
  justify-content: center;
  gap: 6px;
  position: absolute;
  bottom: 10px;
  left: 0;
  right: 0;
  z-index: 10;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.mphb_sc_search_results-wrapper .flex-control-nav li {
  margin: 0 !important;
  padding: 0 !important;
}
.mphb_sc_search_results-wrapper .flex-control-nav li a {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  border: none;
  text-indent: -9999px;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
  padding: 0 !important;
}
.mphb_sc_search_results-wrapper .flex-control-nav li a.flex-active,
.mphb_sc_search_results-wrapper .flex-control-nav li a:hover {
  background: #fff;
  transform: scale(1.25);
}
.mphb_sc_search_results-wrapper .mphb-room-type-images {
  position: relative !important;
}

/* ── Thumbnail image (non-gallery cards: p.mphb-loop-room-thumbnail) ── */
.mphb_sc_search_results-wrapper p.mphb-loop-room-thumbnail {
  margin: 0 !important;
  padding: 0 !important;
  height: 200px !important;
  overflow: hidden !important;
  display: block !important;
}
.mphb_sc_search_results-wrapper p.mphb-loop-room-thumbnail a,
.mphb_sc_search_results-wrapper p.mphb-loop-room-thumbnail img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* ── Category badge — top-left of image (JS-created) ───────── */
.mphb_sc_search_results-wrapper .sc-card-cat-badge {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 3 !important;
  background: rgba(34,83,34,.88) !important;
  backdrop-filter: blur(4px) !important;
  color: rgba(255,255,255,.95) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  padding: 5px 12px !important;
  border-radius: 50px !important;
  pointer-events: none !important;
}

/* ── Capacity row — light green strip (JS-created) ─────────── */
.mphb_sc_search_results-wrapper .sc-card-capacity {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  font-size: 12px !important;
  color: var(--sc-text-meta) !important;
  background: var(--sc-bg-tint) !important;
  border-radius: 6px !important;
  padding: 8px 12px !important;
  margin: 0 20px 14px !important;
}
.mphb_sc_search_results-wrapper .sc-cap-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}
.mphb_sc_search_results-wrapper .sc-cap-item svg {
  color: var(--sc-green-mid) !important;
  flex-shrink: 0 !important;
}

/* ── Title: 16px 700 green — exact match ────────────────────── */
.mphb_sc_search_results-wrapper .mphb-room-type-title.entry-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  margin: 16px 20px 6px !important;
  padding: 0 !important;
  line-height: 1.25 !important;
  display: block !important;
}
.mphb_sc_search_results-wrapper .mphb-room-type-title a {
  color: inherit !important;
  text-decoration: none !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

/* ── Description: 13px grey, 3-line clamp — match .sc-room-excerpt ── */
.mphb_sc_search_results-wrapper .mphb-room-type > p:not([class]) {
  font-size: 13px !important;
  color: var(--sc-text-meta) !important;
  line-height: 1.55 !important;
  margin: 0 20px 14px !important;
  padding: 0 !important;
  /* NOTE: do NOT use flex:1 here — it resolves to display:flow-root
     inside a flex-column parent, which breaks -webkit-line-clamp.
     Use the card footer's margin-top:auto to push it down instead. */
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* ── Hide: details heading, attributes, view-details link ────── */
.mphb_sc_search_results-wrapper .mphb-room-type-details-title,
.mphb_sc_search_results-wrapper .mphb-loop-room-type-attributes,
.mphb_sc_search_results-wrapper .mphb-view-details-button-wrapper {
  display: none !important;
}

/* ── Card footer (JS-created): price left + BOOK right ─────── */
/* JS in functions.php wraps p.mphb-regular-price + .mphb-book-button
   inside a .sc-card-footer div — identical structure to Accommodations page */
.mphb_sc_search_results-wrapper .sc-card-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 20px !important;
  border-top: 1px solid #edf3ed !important;
  margin-top: auto !important;
}

/* Price block inside footer */
.mphb_sc_search_results-wrapper .sc-card-footer p.mphb-regular-price {
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  flex: 1 !important;
  border: none !important;
  border-top: none !important;
}
.mphb_sc_search_results-wrapper .sc-card-footer p.mphb-regular-price::before {
  content: 'From' !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: var(--sc-text-meta) !important;
  display: block !important;
  font-weight: 400 !important;
  margin-bottom: 1px !important;
}
/* Hide original "Prices start at:" text */
.mphb_sc_search_results-wrapper .sc-card-footer p.mphb-regular-price strong,
.mphb_sc_search_results-wrapper .sc-card-footer p.mphb-regular-price .mphb-attribute-title {
  display: none !important;
}
.mphb_sc_search_results-wrapper .sc-card-footer .mphb-price {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  display: block !important;
  line-height: 1 !important;
}
.mphb_sc_search_results-wrapper .sc-card-footer .mphb-price-period {
  font-size: 11px !important;
  color: var(--sc-text-meta) !important;
  display: block !important;
  margin-top: 2px !important;
  border: none !important;
}

/* Reserve section inside footer — keep form intact, hide controls */
.mphb_sc_search_results-wrapper .sc-card-footer .mphb-reserve-room-section {
  display: block !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Hide quantity dropdown, available count, and other controls */
.mphb_sc_search_results-wrapper .mphb-rooms-quantity-wrapper,
.mphb_sc_search_results-wrapper .mphb-available-rooms-count,
.mphb_sc_search_results-wrapper .mphb-confirm-reservation,
.mphb_sc_search_results-wrapper .mphb-rooms-reservation-message-wrapper,
.mphb_sc_search_results-wrapper .mphb-remove-from-reservation {
  display: none !important;
}
/* BOOK button styling */
.mphb_sc_search_results-wrapper .sc-card-footer .mphb-book-button {
  background: var(--sc-green) !important;
  color: #fff !important;
  font-family: var(--sc-font-heading, 'Lato', sans-serif) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  padding: 9px 16px !important;
  border: none !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background .18s !important;
  width: auto !important;
}
.mphb_sc_search_results-wrapper .sc-card-footer .mphb-book-button:hover {
  background: var(--sc-green-mid) !important;
}
/* Before JS runs: hide reserve section at top level (prevents flash) */
.mphb_sc_search_results-wrapper .mphb-room-type > .mphb-reserve-room-section {
  display: none !important;
}

/* ── Hide page title — but NOT room titles ──────────────────── */
.page-id-71 > .entry-title,
.page-id-71 .page-header,
.page-id-71 header.entry-header .entry-title {
  display: none !important;
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 767px) {
  .sc-search-hero {
    padding: 60px 20px 36px !important;
  }
  .mphb-recommendation {
    padding: 20px !important;
  }
  .mphb_sc_search_results-wrapper {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .mphb_sc_search_results-wrapper .sc-card-footer {
    padding: 10px 16px !important;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .mphb_sc_search_results-wrapper {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ── BOOK button "Added ✓" state ──────────────────────────────── */
.mphb_sc_search_results-wrapper .sc-card-footer .mphb-book-button.sc-book-added {
  background: var(--sc-green-light) !important;
  pointer-events: none !important;
  opacity: .85 !important;
}

/* ── Details button (secondary, outline style) ──────────────── */
.mphb_sc_search_results-wrapper .sc-details-btn {
  background: transparent !important;
  color: var(--sc-green) !important;
  font-family: var(--sc-font-heading, 'Lato', sans-serif) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  padding: 9px 16px !important;
  border: 1.5px solid var(--sc-green) !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: all .18s !important;
  text-decoration: none !important;
  margin-right: 8px !important;
}
.mphb_sc_search_results-wrapper .sc-details-btn:hover {
  background: var(--sc-green) !important;
  color: #fff !important;
}

/* ── Card footer: accommodate two buttons ────────────────────── */
.mphb_sc_search_results-wrapper .sc-card-footer {
  flex-wrap: nowrap !important;
  gap: 0 !important;
}

/* ── Category groups on search results ───────────────────────── */
.mphb_sc_search_results-wrapper .sc-listing-group {
  margin-bottom: 48px;
}
.mphb_sc_search_results-wrapper .sc-listing-group:last-child {
  margin-bottom: 0;
}
.mphb_sc_search_results-wrapper .sc-group-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
}

/* When cards are grouped, remove the grid from the wrapper itself */
.mphb_sc_search_results-wrapper:has(.sc-listing-group) {
  display: block !important;
}

/* ── Combined booking + filter controls row ────────────────── */
/* Outer: full-width white background edge-to-edge */
.sc-search-controls {
  background: #fff !important;
  border-bottom: 1px solid #e6ede6 !important;
  box-shadow: 0 2px 12px rgba(34,83,34,.05) !important;
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  margin-left: -50vw !important;
  margin-top: 0 !important;
  min-height: 60px !important;
  display: flex !important;
  justify-content: center !important;
  overflow: hidden !important;
}
/* Inner: pills constrained to page width, booking left / filters right */
.sc-search-controls-inner {
  width: 100% !important;
  max-width: 1280px !important;
  padding: 10px 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 6px !important;
  flex-wrap: nowrap !important;
}
/* Prevent horizontal scrollbar from 100vw */
.page-id-71 {
  overflow-x: hidden !important;
}
/* Remove gap above the pill bar — Elementor container padding */
.sc-search-hero + .e-con > .e-con-inner {
  padding-top: 0 !important;
}
/* Strip background/border from children when inside combined row */
.sc-search-controls .sc-search-booking-bar {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  width: auto !important;
  max-width: none !important;
  min-height: auto !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}
.sc-search-controls .sc-search-filter-bar {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
}
.sc-search-controls .sc-filter-inner {
  padding: 0 !important;
  max-width: none !important;
  min-height: auto !important;
}
.sc-search-controls .sc-filter-tabs {
  padding: 0 !important;
}

/* ── Count row — separate line below the controls ──────────── */
.sc-search-count-row {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 12px 32px 0 !important;
  text-align: right !important;
}
@media (max-width: 767px) { .sc-search-count-row { padding: 12px 20px 0 !important; } }
.sc-search-count-row .sc-filter-count {
  font-size: 13px !important;
  color: var(--sc-text-meta) !important;
}

/* ── Search results filter bar (reuses .sc-filter-bar styles) ── */
.sc-search-filter-bar {
  margin-bottom: 0 !important;
}

/* -- Search page mobile: compact booking pills + dropdown filter -- */
@media (max-width: 767px) {
  .sc-search-controls-inner {
    flex-wrap: wrap !important;
    padding: 10px 20px !important;
    gap: 6px !important;
  }
  .sc-bar-item {
    font-size: 11px !important;
    padding: 5px 10px !important;
    gap: 4px !important;
  }
  .sc-bar-item svg {
    width: 10px !important;
    height: 10px !important;
  }
  .sc-bar-arrow {
    padding: 0 !important;
  }
  .sc-bar-arrow svg {
    width: 8px !important;
    height: 8px !important;
  }
  .sc-search-controls .sc-search-filter-bar {
    flex-basis: 100% !important;
  }
  .sc-search-controls .sc-filter-inner {
    padding: 0 !important;
  }
}

/* ── Responsive: group grids ─────────────────────────────────── */
@media (max-width: 767px) {
  .mphb_sc_search_results-wrapper .sc-group-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .mphb_sc_search_results-wrapper .sc-details-btn {
    padding: 7px 12px !important;
    font-size: 11px !important;
    margin-right: 6px !important;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .mphb_sc_search_results-wrapper .sc-group-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ── Sticky reservation cart bar (bottom of viewport) ─────────── */
.sc-sticky-cart {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9990 !important;
  background: var(--sc-green) !important;
  box-shadow: 0 -4px 24px rgba(0,0,0,.18) !important;
  transform: translateY(100%) !important;
  transition: transform .35s cubic-bezier(.4,0,.2,1) !important;
  padding: 0 !important;
}
.sc-sticky-cart--visible {
  transform: translateY(0) !important;
}

.sc-sticky-cart-inner {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 14px 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

.sc-sticky-cart-info {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.sc-sticky-cart-count {
  font-family: var(--sc-font-heading) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,.85) !important;
}

.sc-sticky-cart-total {
  font-family: var(--sc-font-heading) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--sc-white) !important;
}

.sc-sticky-cart-btn {
  background: var(--sc-amber) !important;
  color: var(--sc-white) !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  padding: 12px 28px !important;
  border: none !important;
  border-radius: var(--sc-radius-card) !important;
  cursor: pointer !important;
  transition: background .18s !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.sc-sticky-cart-btn:hover {
  background: #d08e10 !important;
}

/* ── Responsive: sticky cart ──────────────────────────────────── */
@media (max-width: 767px) {
  .sc-sticky-cart-inner {
    padding: 12px 16px !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
  .sc-sticky-cart-btn {
    width: 100% !important;
    text-align: center !important;
  }
}


/* ─────────────────────────────────────────────────────────────────
   SECTION 17 — Contact Page
   Page: /contact/
   Mockup: MockUps/stonehenge-contact-v01.html
   Added: v1.0.151
   ───────────────────────────────────────────────────────────────── */

/* ── Hide WP page title on contact page (hero replaces it) ─────── */
body.page-id-618 .page-header {
  display: none !important;
}
body.page-id-618 {
  padding-top: 0 !important;
}
/* Widen hero inner so subtitle fits on one line */
body.page-id-618 .sc-page-hero-inner {
  max-width: 780px !important;
}
body.page-id-618 .sc-page-hero-sub {
  max-width: 780px !important;
}

/* ── Page wrapper — 1280px frame matching header/footer ────────── */
/* Padding on outermost container only; nested .sc-contact-wrapper
   elements (child containers / widgets) must NOT re-apply padding. */
.sc-contact-wrapper {
  max-width: 1280px !important;
  margin: 0 auto !important;
}
.sc-contact-wrapper.e-parent {
  padding: 56px 32px 0 !important;
}
.sc-contact-wrapper.e-child,
.sc-contact-wrapper.elementor-widget {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ── Two-column grid: form left, details right ─────────────────── */
.sc-contact-grid {
  display: grid !important;
  grid-template-columns: 1.2fr 1fr !important;
  gap: 48px !important;
  align-items: start !important;
}

/* ── Form column — white card ──────────────────────────────────── */
.sc-contact-form-wrap {
  background: var(--sc-white) !important;
  border: 1px solid var(--sc-border) !important;
  border-radius: var(--sc-radius-card) !important;
  padding: 40px !important;
}
.sc-contact-form-wrap h2 {
  font-family: var(--sc-font-heading) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  margin-bottom: 6px !important;
}
.sc-contact-form-wrap .sc-form-intro {
  font-size: 14px !important;
  color: var(--sc-text-meta) !important;
  margin-bottom: 28px !important;
}

/* ── Right column — stacked cards ──────────────────────────────── */
.sc-contact-details {
  display: flex !important;
  flex-direction: column !important;
  gap: 32px !important;
}

/* ── Detail cards (email, address) ─────────────────────────────── */
.sc-detail-card {
  background: var(--sc-white) !important;
  border: 1px solid var(--sc-border) !important;
  border-radius: var(--sc-radius-card) !important;
  padding: 33px 32px !important;
}
.sc-detail-card h3 {
  font-family: var(--sc-font-heading) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--sc-green) !important;
  margin-bottom: 14px !important;
}
.sc-detail-card p,
.sc-detail-card a {
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--sc-text-body) !important;
}
.sc-detail-card a {
  color: var(--sc-green) !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(34,83,34,0.25) !important;
  text-underline-offset: 3px !important;
  transition: text-decoration-color 0.2s !important;
}
.sc-detail-card a:hover {
  text-decoration-color: var(--sc-green) !important;
}

/* ── Green call-us banner ──────────────────────────────────────── */
.sc-contact-urgent {
  background: linear-gradient(135deg, var(--sc-green) 0%, var(--sc-green-mid) 100%) !important;
  border-radius: var(--sc-radius-card) !important;
  padding: 32px 32px !important;
  color: #fff !important;
}
.sc-contact-urgent h3 {
  font-family: var(--sc-font-heading) !important;
  color: var(--sc-amber) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-bottom: 8px !important;
}
.sc-contact-urgent p {
  font-size: 14px !important;
  color: rgba(255,255,255,0.85) !important;
  line-height: 1.6 !important;
}
.sc-contact-urgent .sc-urgent-phone {
  display: inline-block !important;
  margin-top: 10px !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* ── Map section — full-width bleed ────────────────────────────── */
.sc-contact-map-section {
  margin-top: 56px !important;
}
.sc-contact-map-section .sc-section-heading {
  text-align: center !important;
  max-width: 1280px !important;
  margin: 0 auto 32px !important;
  padding: 0 32px !important;
}
.sc-contact-map-section .sc-section-heading h2 {
  font-family: var(--sc-font-heading) !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  margin-bottom: 8px !important;
}
.sc-contact-map-section .sc-section-heading p {
  font-size: 15px !important;
  color: var(--sc-text-meta) !important;
  max-width: 480px !important;
  margin: 0 auto !important;
}
.sc-map-embed {
  border-top: 1px solid var(--sc-border) !important;
  border-bottom: 1px solid var(--sc-border) !important;
}
.sc-map-embed iframe {
  width: 100% !important;
  height: 400px !important;
  border: none !important;
  display: block !important;
}

/* ── Hours & Seasons section ───────────────────────────────────── */
.sc-contact-hours-section {
  max-width: 1280px !important;
  margin: 56px auto 0 !important;
  padding: 0 32px 96px !important;
}
.sc-contact-hours-section .sc-section-heading {
  text-align: center !important;
  margin-bottom: 32px !important;
}
.sc-contact-hours-section .sc-section-heading h2 {
  font-family: var(--sc-font-heading) !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  margin-bottom: 8px !important;
}
.sc-contact-hours-section .sc-section-heading p {
  font-size: 15px !important;
  color: var(--sc-text-meta) !important;
  max-width: 480px !important;
  margin: 0 auto !important;
}
/* ── Hours/seasons — full-width stacked layout ───────────────── */
/*    Updated: v1.0.174                                          */

/* Grid is now single column — hours on top, seasons below */
.sc-hours-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 40px !important;
}

/* ── Reception Hours card — full width ───────────────────────── */
.sc-hours-card {
  background: var(--sc-white) !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
  border-radius: 12px !important;
  padding: 36px 40px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
}
.sc-hours-card h3 {
  font-family: var(--sc-font-heading) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  margin-bottom: 20px !important;
}

/* Table — clean, no grid lines */
.sc-hours-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: none !important;
}
.sc-hours-table tr {
  border: none !important;
}
.sc-hours-table tr:not(:last-child) td {
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
}
.sc-hours-table td {
  padding: 14px 0 !important;
  font-size: 14px !important;
  border: none !important;
  background: transparent !important;
  vertical-align: middle !important;
}
.sc-hours-table td:first-child {
  font-weight: 600 !important;
  color: var(--sc-text-heading) !important;
}
.sc-hours-table td:last-child {
  text-align: right !important;
  color: var(--sc-text-meta) !important;
}
/* Note text below table */
.sc-hours-card p {
  font-size: 13px !important;
  color: var(--sc-text-meta) !important;
  line-height: 1.5 !important;
  margin-top: 16px !important;
}

/* ── Campsite Seasons — heading + 4 cards in a row ───────────── */
.sc-seasons-heading {
  font-family: var(--sc-font-heading) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--sc-green) !important;
  margin-bottom: 20px !important;
}
.sc-seasons-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}
/* Individual season card */
.sc-season-card {
  background: var(--sc-white) !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
  border-radius: 12px !important;
  padding: 24px 20px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
}
.sc-season-card .sc-season-emoji {
  font-size: 28px !important;
  line-height: 1 !important;
}
.sc-season-card .sc-season-name {
  font-family: var(--sc-font-heading) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--sc-text-heading) !important;
  line-height: 1.3 !important;
}
.sc-season-card .sc-season-dates {
  font-size: 13px !important;
  color: var(--sc-text-meta) !important;
}
/* Season badges — softer pill style */
.sc-season-badge {
  display: inline-block !important;
  font-family: var(--sc-font-heading) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 4px 12px !important;
  border-radius: 20px !important;
  margin-top: 4px !important;
}
.sc-season-badge.open {
  background: rgba(90,143,68,0.12) !important;
  color: var(--sc-green-light) !important;
}
.sc-season-badge.closed {
  background: rgba(0,0,0,0.06) !important;
  color: var(--sc-text-meta) !important;
}
/* Seasons footnote */
.sc-seasons-note {
  font-size: 13px !important;
  color: var(--sc-text-meta) !important;
  text-align: center !important;
  margin-top: 16px !important;
}

/* ── Contact page responsive ───────────────────────────────────── */
@media (max-width: 1024px) {
  .sc-contact-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .sc-seasons-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 767px) {
  .sc-seasons-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
  }
  .sc-contact-wrapper {
    padding: 40px 20px 0 !important;
  }
  .sc-contact-form-wrap {
    padding: 28px 24px !important;
  }
  .sc-contact-map-section .sc-section-heading,
  .sc-contact-hours-section {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .sc-map-embed iframe {
    height: 280px !important;
  }
  .sc-contact-hours-section {
    padding-bottom: 64px !important;
  }
}
@media (max-width: 480px) {
  .sc-seasons-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}


/* ── Section 17b — Gravity Forms overrides inside contact form ── */
/*    Targets GF Orbital theme fieldset/legend to match mockup    */
/*    Added: v1.0.152                                             */

/* Remove fieldset border/legend pattern — make it look like plain labels */
.sc-contact-form-wrap .gform_wrapper fieldset.gfield {
  border: none !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
}
/* Non-fieldset fields (phone, single inputs) */
.sc-contact-form-wrap .gform_wrapper .gfield:not(fieldset) {
  margin-bottom: 24px !important;
}
.sc-contact-form-wrap .gform_wrapper fieldset.gfield legend,
.sc-contact-form-wrap .gform_wrapper .gfield_label {
  font-family: var(--sc-font-heading) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--sc-text-heading) !important;
  margin-bottom: 6px !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* Sub-labels (First, Last, Enter Email, Confirm Email) — hidden
   when placeholders are present; keeps form clean               */
.sc-contact-form-wrap .gform_wrapper .gform-field-label--type-sub {
  display: none !important;
}

/* Input fields — clean light-grey style matching mockup */
.sc-contact-form-wrap .gform_wrapper input[type="text"],
.sc-contact-form-wrap .gform_wrapper input[type="email"],
.sc-contact-form-wrap .gform_wrapper input[type="tel"],
.sc-contact-form-wrap .gform_wrapper textarea,
.sc-contact-form-wrap .gform_wrapper select {
  font-family: var(--sc-font-body) !important;
  font-size: 14px !important;
  padding: 12px 16px !important;
  border: 1px solid var(--sc-border) !important;
  border-radius: var(--sc-radius) !important;
  background: #fafafa !important;
  color: var(--sc-text-body) !important;
  transition: border-color 0.2s !important;
  box-shadow: none !important;
  outline: none !important;
}
.sc-contact-form-wrap .gform_wrapper input:focus,
.sc-contact-form-wrap .gform_wrapper textarea:focus,
.sc-contact-form-wrap .gform_wrapper select:focus {
  border-color: var(--sc-green) !important;
  box-shadow: 0 0 0 3px rgba(34,83,34,0.08) !important;
}

/* Textarea — compact so form card aligns with right column */
.sc-contact-form-wrap .gform_wrapper textarea {
  min-height: 100px !important;
  height: 120px !important;
  resize: vertical !important;
}

/* Submit button — green, matching site pattern */
.sc-contact-form-wrap .gform_wrapper .gform_button,
.sc-contact-form-wrap .gform_wrapper input[type="submit"] {
  font-family: var(--sc-font-heading) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  background: var(--sc-green) !important;
  padding: 12px 32px !important;
  border: none !important;
  border-radius: var(--sc-radius-card) !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}
.sc-contact-form-wrap .gform_wrapper .gform_button:hover,
.sc-contact-form-wrap .gform_wrapper input[type="submit"]:hover {
  background: var(--sc-green-mid) !important;
}

/* Character counter styling */
.sc-contact-form-wrap .gform_wrapper .charleft {
  font-size: 12px !important;
  color: var(--sc-text-meta) !important;
}

/* Description text below fields */
.sc-contact-form-wrap .gform_wrapper .gfield_description {
  font-size: 13px !important;
  color: var(--sc-text-meta) !important;
  margin-top: 6px !important;
}

/* Remove Orbital theme ring/outline on field groups */
.sc-contact-form-wrap .gform_wrapper .ginput_complex {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  gap: 12px !important;
}

/* Name field — side by side */
.sc-contact-form-wrap .gform_wrapper .ginput_complex.ginput_container_name {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}

/* Email field — side by side */
.sc-contact-form-wrap .gform_wrapper .ginput_complex.ginput_container_email {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}

/* Fix input container spans filling their grid cell */
.sc-contact-form-wrap .gform_wrapper .ginput_complex > span {
  width: 100% !important;
  padding: 0 !important;
}

/* ── Email link colour fix in detail cards ──────────────────────── */
.sc-detail-card a[href^="mailto:"] {
  color: var(--sc-green) !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(34,83,34,0.25) !important;
}
.sc-detail-card a[href^="mailto:"]:hover {
  text-decoration-color: var(--sc-green) !important;
}


/* ═══════════════════════════════════════════════════════════
   SECTION 22 — Events Archive Page  (archive-events.php)
   Custom PHP archive template for the events CPT
   Added: v1.0.172
   ═══════════════════════════════════════════════════════════ */

/* Hide default WP archive header on events archive */
.post-type-archive-events .page-header {
  display: none !important;
}
.post-type-archive-events .page-content {
  display: none !important;
}
.post-type-archive-events .site-main {
  padding: 0 !important;
  margin: 0 !important;
}
.post-type-archive-events {
  background-color: var(--sc-bg-tint) !important;
}


/* ── 22a. Hero ─────────────────────────────────────────────── */

.sc-ev-archive-hero {
  background: var(--sc-green);
  padding: calc(68px + 56px) 32px 56px;
  text-align: center;
  position: relative;
  overflow: hidden !important;
}
.sc-ev-archive-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 65% 0%, rgba(90,143,68,.35) 0%, transparent 65%),
    radial-gradient(ellipse at 15% 100%, rgba(61,107,46,.4) 0%, transparent 55%);
  pointer-events: none;
}
.sc-ev-archive-hero-inner {
  position: relative;
  max-width: 640px;
  margin: 0 auto;
}
.sc-ev-archive-hero-eyebrow {
  display: block;
  font-family: var(--sc-font-heading);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--sc-amber);
  margin-bottom: 14px;
}
.sc-ev-archive-hero-h1 {
  font-family: var(--sc-font-heading);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 700;
  line-height: 1.15;
  color: #fff;
  margin: 0 0 14px;
}
.sc-ev-archive-hero-sub {
  font-size: 15px;
  color: rgba(255,255,255,.72);
  line-height: 1.7;
  max-width: 500px;
  margin: 0 auto;
}


/* ── 22b. Host Your Own Event (light section) ──────────────── */

.sc-ev-archive-host {
  background: var(--sc-bg-tint);
  padding: var(--sc-space-3xl) 32px;
}
.sc-ev-archive-host-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.sc-ev-archive-host-eyebrow {
  display: block;
  font-family: var(--sc-font-heading);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--sc-amber);
  margin-bottom: 10px;
}
.sc-ev-archive-host-h2 {
  font-family: var(--sc-font-heading);
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 700;
  color: var(--sc-green);
  line-height: 1.2;
  margin: 0 0 16px;
}
.sc-ev-archive-host-lead {
  font-size: 15px;
  color: var(--sc-text-body);
  line-height: 1.7;
  margin: 0 0 24px;
}
.sc-ev-archive-host-list {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 24px;
}
.sc-ev-archive-host-list li {
  font-size: 14px;
  color: var(--sc-text-body);
  padding-left: 20px;
  position: relative;
  line-height: 1.5;
}
.sc-ev-archive-host-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--sc-green-light);
}
.sc-ev-archive-host-btn {
  display: inline-block;
  background: var(--sc-amber);
  color: #fff;
  font-family: var(--sc-font-heading);
  font-size: 14px;
  font-weight: 700;
  padding: 12px 28px;
  border-radius: var(--sc-radius-card);
  text-decoration: none;
  transition: background 0.2s;
}
.sc-ev-archive-host-btn:hover {
  background: #c8870f;
  color: #fff;
}
.sc-ev-archive-host-image {
  border-radius: var(--sc-radius-card);
  overflow: hidden !important;
  position: relative;
  aspect-ratio: 4 / 3;
}
.sc-ev-archive-host-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


/* ── 22c. Events listing (dark section) ────────────────────── */

.sc-ev-archive-listing {
  background: linear-gradient(165deg, #0c1a0c 0%, #112211 35%, #0d1e14 100%);
  padding: var(--sc-space-3xl) 32px;
  position: relative;
  overflow: hidden !important;
}
.sc-ev-archive-listing::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 20% 0%, rgba(90,143,68,.12) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 100%, rgba(61,107,46,.1) 0%, transparent 50%);
  pointer-events: none;
}
.sc-ev-archive-listing-inner {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}
.sc-ev-archive-listing-eyebrow {
  display: block;
  font-family: var(--sc-font-heading);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--sc-amber);
  margin-bottom: 10px;
}
.sc-ev-archive-listing-h2 {
  font-family: var(--sc-font-heading);
  font-size: clamp(26px, 3vw, 42px);
  font-weight: 700;
  color: #fff;
  line-height: 1.15;
  letter-spacing: -0.5px;
  margin: 0 0 12px;
}
.sc-ev-archive-listing-lead {
  font-size: 16px;
  color: rgba(255,255,255,.55);
  line-height: 1.7;
  max-width: 640px;
  margin: 0 0 48px;
}

/* Event cards */
.sc-ev-archive-cards {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.sc-ev-archive-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 360px;
  border-radius: var(--sc-radius-card);
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,0.07);
  background: transparent;
}
.sc-ev-archive-card--img-right {
  direction: rtl;
}
.sc-ev-archive-card--img-right > * {
  direction: ltr;
}

/* Card image panel */
/* v1.0.185 — Image fills full card height (driven by body content),
   min 360px floor. Absolute img covers the panel. Hover zoom. */
.sc-ev-archive-card-img {
  position: relative;
  overflow: hidden !important;
  min-height: 360px;
  align-self: stretch;
}
.sc-ev-archive-card-img--0 {
  background: linear-gradient(135deg, #160826 0%, #2d1505 45%, #1a3310 100%);
}
.sc-ev-archive-card-img--1 {
  background: linear-gradient(135deg, #071428 0%, #0d2b1f 60%, #1d3a1d 100%);
}
.sc-ev-archive-card-img--2 {
  background: linear-gradient(135deg, #2a0f04 0%, #4a2200 45%, #1d3310 100%);
}
.sc-ev-archive-card-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0.55;
  transition: transform 0.4s ease;
}
.sc-ev-archive-card:hover .sc-ev-archive-card-img img {
  transform: scale(1.04);
}
.sc-ev-archive-card-badge {
  position: absolute;
  top: 18px;
  left: 18px;
  background: var(--sc-amber);
  color: #fff;
  font-family: var(--sc-font-heading);
  font-size: 11px;
  font-weight: 700;
  padding: 5px 14px;
  border-radius: 20px;
  z-index: 2;
  box-shadow: 0 3px 12px rgba(232,160,32,0.35);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Card body panel */
.sc-ev-archive-card-body {
  background: rgba(255,255,255,0.035);
  padding: 44px 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-left: 1px solid rgba(255,255,255,0.07);
}
.sc-ev-archive-card--img-right .sc-ev-archive-card-body {
  border-left: none;
  border-right: 1px solid rgba(255,255,255,0.07);
}
.sc-ev-archive-card-date {
  display: block;
  font-family: var(--sc-font-heading);
  font-size: 12px;
  font-weight: 700;
  color: var(--sc-amber);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.sc-ev-archive-card-title {
  font-family: var(--sc-font-heading);
  font-size: clamp(22px, 2.5vw, 34px);
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
  margin: 0 0 8px;
}
.sc-ev-archive-card-tagline {
  display: block;
  font-size: 14px;
  font-style: italic;
  color: rgba(255,255,255,0.38);
  margin-bottom: 12px;
}
.sc-ev-archive-card-desc {
  font-size: 14px;
  color: rgba(255,255,255,0.58);
  line-height: 1.75;
  margin: 0 0 22px;
  max-width: 400px;
}
.sc-ev-archive-card-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 22px;
}
.sc-ev-archive-card-pill {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.11);
  color: rgba(255,255,255,0.7);
  font-size: 11px;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 20px;
  white-space: nowrap;
}
.sc-ev-archive-card-ctas {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.sc-ev-archive-card-btn {
  display: inline-block;
  font-family: var(--sc-font-heading);
  font-size: 13px;
  font-weight: 700;
  padding: 11px 20px;
  border-radius: var(--sc-radius-card);
  text-decoration: none;
  transition: background 0.2s;
}
.sc-ev-archive-card-btn--book {
  background: var(--sc-amber);
  color: #fff;
}
.sc-ev-archive-card-btn--book:hover {
  background: #c8870f;
  color: #fff;
}
.sc-ev-archive-card-btn--info {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.18);
  color: rgba(255,255,255,0.82);
  font-weight: 600;
}
.sc-ev-archive-card-btn--info:hover {
  background: rgba(255,255,255,0.15);
  color: #fff;
}
.sc-ev-archive-no-events {
  font-size: 16px;
  color: rgba(255,255,255,0.5);
  text-align: center;
  padding: 48px 0;
}


/* ── 22d. More About Hosting + CTA ─────────────────────────── */

.sc-ev-archive-hosting-cta {
  background: var(--sc-green);
  padding: var(--sc-space-3xl) 32px;
  position: relative;
  overflow: hidden !important;
}
.sc-ev-archive-hosting-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(90,143,68,.3) 0%, transparent 55%),
    radial-gradient(ellipse at 75% 80%, rgba(232,160,32,.08) 0%, transparent 50%);
  pointer-events: none;
}
.sc-ev-archive-hosting-cta-inner {
  position: relative;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}
.sc-ev-archive-hosting-cta-eyebrow {
  display: block;
  font-family: var(--sc-font-heading);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--sc-amber);
  margin-bottom: 10px;
}
.sc-ev-archive-hosting-cta-h2 {
  font-family: var(--sc-font-heading);
  font-size: clamp(26px, 3.5vw, 40px);
  font-weight: 700;
  color: #fff;
  line-height: 1.15;
  margin: 0 0 16px;
}
.sc-ev-archive-hosting-cta-text {
  font-size: 15px;
  color: rgba(255,255,255,.72);
  line-height: 1.7;
  max-width: 600px;
  margin: 0 auto 40px;
}
.sc-ev-archive-hosting-cta-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 40px;
}
.sc-ev-archive-hosting-cta-feat {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--sc-radius-card);
  padding: 28px 20px;
  text-align: center;
}
.sc-ev-archive-hosting-cta-feat svg {
  color: var(--sc-amber);
  margin-bottom: 12px;
  width: 28px;
  height: 28px;
}
.sc-ev-archive-hosting-cta-feat div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.sc-ev-archive-hosting-cta-feat strong {
  font-family: var(--sc-font-heading);
  font-size: 15px;
  font-weight: 700;
  color: #fff;
}
.sc-ev-archive-hosting-cta-feat span {
  font-size: 13px;
  color: rgba(255,255,255,.55);
  line-height: 1.5;
}
.sc-ev-archive-hosting-cta-btns {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}
.sc-ev-archive-hosting-cta-btn {
  display: inline-block;
  font-family: var(--sc-font-heading);
  font-size: 14px;
  font-weight: 700;
  padding: 13px 32px;
  border-radius: var(--sc-radius-card);
  text-decoration: none;
  transition: all 0.2s;
}
.sc-ev-archive-hosting-cta-btn--primary {
  background: var(--sc-amber);
  color: #fff;
}
.sc-ev-archive-hosting-cta-btn--primary:hover {
  background: #c8870f;
  color: #fff;
}
.sc-ev-archive-hosting-cta-btn--secondary {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.2);
  color: rgba(255,255,255,.85);
}
.sc-ev-archive-hosting-cta-btn--secondary:hover {
  background: rgba(255,255,255,0.15);
  color: #fff;
}


/* ── 22e. Events archive — responsive ──────────────────────── */

@media (max-width: 991px) {
  .sc-ev-archive-host-inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .sc-ev-archive-host-image {
    max-height: 400px;
  }
  .sc-ev-archive-card {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .sc-ev-archive-card--img-right {
    direction: ltr;
  }
  .sc-ev-archive-card-img {
    min-height: 240px;
  }
  .sc-ev-archive-card-body {
    padding: 32px 28px;
    border-left: none !important;
    border-right: none !important;
    border-top: 1px solid rgba(255,255,255,0.07);
  }
  .sc-ev-archive-hosting-cta-features {
    grid-template-columns: 1fr;
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 600px) {
  .sc-ev-archive-hero {
    padding: calc(68px + 40px) 20px 40px;
  }
  .sc-ev-archive-host {
    padding: 48px 20px;
  }
  .sc-ev-archive-host-list {
    grid-template-columns: 1fr;
  }
  .sc-ev-archive-listing {
    padding: 48px 20px;
  }
  .sc-ev-archive-card-body {
    padding: 24px 20px;
  }
  .sc-ev-archive-hosting-cta {
    padding: 48px 20px;
  }
  .sc-ev-archive-card-ctas {
    flex-direction: column;
  }
  .sc-ev-archive-card-btn {
    text-align: center;
  }
}


/* =============================================================
   23. LOCAL ATTRACTIONS — Archive & Single
   archive-local-attractions.php  +  single-local-attractions.php
   Added: v1.0.177
   ============================================================= */

/* Force tint bg on archive body */
.post-type-archive-local-attractions,
.single-local-attractions {
  background-color: var(--sc-bg-tint) !important;
}


/* ── 23a. Archive — Hero ──────────────────────────────────────── */

.sc-la-archive-hero {
  background: var(--sc-green);
  padding: calc(68px + 56px) 32px 56px;
  text-align: center;
  position: relative;
  overflow: hidden !important;
}
.sc-la-archive-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 65% 0%, rgba(90,143,68,.35) 0%, transparent 65%),
    radial-gradient(ellipse at 15% 100%, rgba(61,107,46,.4) 0%, transparent 55%);
  pointer-events: none;
}
.sc-la-archive-hero-inner {
  position: relative;
  max-width: 640px;
  margin: 0 auto;
}
.sc-la-archive-hero-eyebrow {
  display: block;
  font-family: var(--sc-font-heading);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--sc-amber);
  margin-bottom: 14px;
}
.sc-la-archive-hero-h1 {
  font-family: var(--sc-font-heading);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 700;
  line-height: 1.15;
  color: #fff;
  margin: 0 0 14px;
}
.sc-la-archive-hero-sub {
  font-size: 15px;
  color: rgba(255,255,255,.72);
  line-height: 1.7;
  max-width: 500px;
  margin: 0 auto;
}


/* ── 23b. Archive — Intro (light section) ─────────────────────── */

.sc-la-archive-intro {
  background: var(--sc-white);
  padding: var(--sc-space-3xl) 32px;
}
.sc-la-archive-intro-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.sc-la-archive-intro-eyebrow {
  display: block;
  font-family: var(--sc-font-heading);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--sc-amber);
  margin-bottom: 10px;
}
.sc-la-archive-intro-h2 {
  font-family: var(--sc-font-heading);
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 700;
  color: var(--sc-green);
  line-height: 1.2;
  margin: 0 0 16px;
}
.sc-la-archive-intro-lead {
  font-size: 15px;
  color: var(--sc-text-body);
  line-height: 1.7;
  margin: 0;
}
.sc-la-archive-intro-image {
  border-radius: var(--sc-radius-card);
  overflow: hidden !important;
  position: relative;
  aspect-ratio: 4 / 3;
}
.sc-la-archive-intro-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


/* ── 23c. Archive — Card listing (light section) ──────────────── */

.sc-la-archive-listing {
  background: var(--sc-bg-tint);
  padding: var(--sc-space-3xl) 32px;
}
.sc-la-archive-listing-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
  box-sizing: border-box;
}
.sc-la-archive-listing-eyebrow {
  display: block;
  font-family: var(--sc-font-heading);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--sc-amber);
  margin-bottom: 10px;
}
.sc-la-archive-listing-h2 {
  font-family: var(--sc-font-heading);
  font-size: clamp(26px, 3vw, 42px);
  font-weight: 700;
  color: var(--sc-green);
  line-height: 1.15;
  letter-spacing: -0.5px;
  margin: 0 0 12px;
}
.sc-la-archive-listing-lead {
  font-size: 16px;
  color: var(--sc-text-body);
  line-height: 1.7;
  max-width: 640px;
  margin: 0 0 32px;
}

/* Filter pills — matches .sc-filter-tab pattern from search page */
.sc-la-filter-tabs {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  padding: 0 0 32px;
}
.sc-la-filter-tab {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--sc-font-heading);
  font-size: 13px;
  font-weight: 600;
  padding: 8px 18px;
  border-radius: 50px;
  border: 1.5px solid var(--sc-border);
  background: transparent;
  color: var(--sc-text-heading);
  cursor: pointer;
  transition: all .18s;
  white-space: nowrap;
  line-height: 1.4;
}
.sc-la-filter-tab:hover {
  border-color: var(--sc-green-mid);
  color: var(--sc-green);
  background: var(--sc-bg-tint);
}
.sc-la-filter-tab.active {
  background: var(--sc-green);
  color: #fff;
  border-color: var(--sc-green);
  box-shadow: 0 2px 8px rgba(34,83,34,.25);
}

/* Attraction cards — alternating layout */
.sc-la-archive-cards {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.sc-la-archive-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--sc-white);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 10px;
  overflow: hidden !important;
  min-height: 320px;
  box-shadow: 0 2px 12px rgba(0,0,0,.04);
  transition: box-shadow 0.25s, transform 0.25s;
}
.sc-la-archive-card:hover {
  box-shadow: 0 8px 28px rgba(0,0,0,.08);
  transform: translateY(-2px);
}

/* Filtering — hide cards */
.sc-la-archive-card.sc-la-hidden {
  display: none;
}

/* Alternate image side */
.sc-la-archive-card--img-right {
  direction: rtl;
}
.sc-la-archive-card--img-right > * {
  direction: ltr;
}

/* Image panel — fixed height so all cards match */
.sc-la-archive-card-img {
  position: relative;
  overflow: hidden !important;
  display: block;
  text-decoration: none;
  height: 360px;
}
.sc-la-archive-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.sc-la-archive-card:hover .sc-la-archive-card-img img {
  transform: scale(1.04);
}
.sc-la-archive-card-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(34,83,34,.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #fff;
  font-family: var(--sc-font-heading);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  padding: 5px 12px;
  border-radius: 4px;
  z-index: 1;
}

/* Body panel */
.sc-la-archive-card-body {
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
}
.sc-la-archive-card--img-left .sc-la-archive-card-body {
  border-left: 1px solid rgba(0,0,0,.04);
}
.sc-la-archive-card--img-right .sc-la-archive-card-body {
  border-right: 1px solid rgba(0,0,0,.04);
}
.sc-la-archive-card-cat {
  display: block;
  font-family: var(--sc-font-heading);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--sc-amber);
  margin-bottom: 8px;
}
.sc-la-archive-card-title {
  font-family: var(--sc-font-heading);
  font-size: clamp(20px, 2.5vw, 26px);
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 6px;
}
.sc-la-archive-card-title a {
  color: var(--sc-green);
  text-decoration: none;
  transition: color 0.2s;
}
.sc-la-archive-card-title a:hover {
  color: var(--sc-amber);
}
.sc-la-archive-card-dist {
  display: block;
  font-size: 13px;
  color: var(--sc-text-meta);
  margin-bottom: 14px;
}
.sc-la-archive-card-dist svg {
  color: var(--sc-green-light);
}
.sc-la-archive-card-desc {
  font-size: 14px;
  color: var(--sc-text-body);
  line-height: 1.7;
  flex: 1;
  margin-bottom: 20px;
}
.sc-la-archive-card-desc p {
  margin: 0 0 8px;
}
.sc-la-archive-card-desc p:last-child {
  margin-bottom: 0;
}

/* Card CTA buttons */
.sc-la-archive-card-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
}
.sc-la-archive-card-btn {
  display: inline-block;
  font-family: var(--sc-font-heading);
  font-size: 13px;
  font-weight: 700;
  padding: 10px 20px;
  border-radius: var(--sc-radius-card);
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
  line-height: 1;
}
.sc-la-archive-card-btn--visit {
  background: var(--sc-amber);
  color: #fff;
}
.sc-la-archive-card-btn--visit:hover {
  background: #c8870f;
  color: #fff;
}
.sc-la-archive-card-btn--map {
  background: var(--sc-bg-tint);
  color: var(--sc-text-heading);
  border: 1px solid var(--sc-border);
}
.sc-la-archive-card-btn--map:hover {
  background: #e8f0e4;
  color: var(--sc-green);
  border-color: var(--sc-green-light);
}
.sc-la-archive-card-btn--more {
  background: transparent;
  color: var(--sc-text-meta);
  border: 1px solid var(--sc-border);
}
.sc-la-archive-card-btn--more:hover {
  background: var(--sc-bg-tint);
  color: var(--sc-green);
  border-color: var(--sc-green-light);
}

/* No items message */
.sc-la-archive-no-items {
  font-size: 15px;
  color: var(--sc-text-meta);
  text-align: center;
  padding: 48px 0;
}


/* ── 23d. Archive — CTA section ───────────────────────────────── */

.sc-la-archive-cta {
  background: var(--sc-green);
  padding: var(--sc-space-3xl) 32px;
  text-align: center;
  position: relative;
  overflow: hidden !important;
}
.sc-la-archive-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(90,143,68,.3) 0%, transparent 55%),
    radial-gradient(ellipse at 75% 80%, rgba(232,160,32,.08) 0%, transparent 50%);
  pointer-events: none;
}
.sc-la-archive-cta-inner {
  position: relative;
  max-width: 640px;
  margin: 0 auto;
}
.sc-la-archive-cta-h2 {
  font-family: var(--sc-font-heading);
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 700;
  color: #fff;
  margin: 0 0 12px;
}
.sc-la-archive-cta-text {
  font-size: 15px;
  color: rgba(255,255,255,.72);
  line-height: 1.7;
  margin: 0 0 24px;
}
.sc-la-archive-cta-btn {
  display: inline-block;
  background: var(--sc-amber);
  color: #fff;
  font-family: var(--sc-font-heading);
  font-size: 14px;
  font-weight: 700;
  padding: 14px 32px;
  border-radius: var(--sc-radius-card);
  text-decoration: none;
  transition: background 0.2s;
}
.sc-la-archive-cta-btn:hover {
  background: #c8870f;
  color: #fff;
}


/* =============================================================
   23e. Single Attraction — Hero
   ============================================================= */

.sc-la-single-hero {
  position: relative;
  background-color: var(--sc-green);
  text-align: center;
  padding: calc(68px + 48px) 32px var(--sc-space-xl);
  overflow: hidden !important;
}
.sc-la-single-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 65% 0%, rgba(90,143,68,.35) 0%, transparent 65%),
    radial-gradient(ellipse at 15% 100%, rgba(61,107,46,.4) 0%, transparent 55%);
  pointer-events: none;
}
.sc-la-single-hero-inner {
  position: relative;
  max-width: 640px;
  margin: 0 auto;
}
.sc-la-single-breadcrumb {
  font-size: 13px;
  color: rgba(255,255,255,.55);
  margin-bottom: 10px;
}
.sc-la-single-breadcrumb a {
  color: var(--sc-amber);
  text-decoration: none;
  transition: color 0.2s;
}
.sc-la-single-breadcrumb a:hover {
  color: #fff;
}
.sc-la-single-breadcrumb span {
  margin: 0 6px;
}
.sc-la-single-hero-h1 {
  font-family: var(--sc-font-heading);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 700;
  color: #fff;
  line-height: 1.15;
  margin: 0 0 10px;
}
.sc-la-single-hero-badge {
  display: inline-block;
  background: rgba(232,160,32,.15);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: var(--sc-amber);
  font-family: var(--sc-font-heading);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  padding: 5px 14px;
  border-radius: 4px;
}


/* ── 23f. Single Attraction — Content ─────────────────────────── */

.sc-la-single-content {
  background: var(--sc-white);
  padding: var(--sc-space-xl) 32px;
}
.sc-la-single-content-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sc-space-xl);
  align-items: start;
}

/* Left column — text */
.sc-la-single-content-text {
  /* inherits natural flow */
}

/* Right column — featured image */
.sc-la-single-content-img {
  border-radius: var(--sc-radius-card);
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.08);
}
.sc-la-single-content-img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
.sc-la-single-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--sc-border);
}
.sc-la-single-meta-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--sc-text-meta);
}
.sc-la-single-meta-item svg {
  color: var(--sc-green-light);
  flex-shrink: 0;
}
.sc-la-single-desc {
  font-size: 16px;
  color: var(--sc-text-body);
  line-height: 1.8;
  margin-bottom: 28px;
}
.sc-la-single-desc p {
  margin: 0 0 14px;
}
.sc-la-single-desc p:last-child {
  margin-bottom: 0;
}
.sc-la-single-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.sc-la-single-btn {
  display: inline-flex;
  align-items: center;
  font-family: var(--sc-font-heading);
  font-size: 14px;
  font-weight: 700;
  padding: 12px 24px;
  border-radius: var(--sc-radius-card);
  text-decoration: none;
  transition: background 0.2s;
  line-height: 1;
}
.sc-la-single-btn--primary {
  background: var(--sc-amber);
  color: #fff;
}
.sc-la-single-btn--primary:hover {
  background: #c8870f;
  color: #fff;
}
.sc-la-single-btn--secondary {
  background: var(--sc-green);
  color: #fff;
}
.sc-la-single-btn--secondary:hover {
  background: var(--sc-green-mid);
  color: #fff;
}


/* ── 23g. Single Attraction — Related ─────────────────────────── */

.sc-la-single-related {
  background: var(--sc-bg-tint);
  padding: var(--sc-space-3xl) 32px;
}
.sc-la-single-related-inner {
  max-width: 1280px;
  margin: 0 auto;
}
.sc-la-single-related-eyebrow {
  display: block;
  font-family: var(--sc-font-heading);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--sc-amber);
  margin-bottom: 10px;
}
.sc-la-single-related-h2 {
  font-family: var(--sc-font-heading);
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 700;
  color: var(--sc-green);
  line-height: 1.2;
  margin: 0 0 24px;
}
.sc-la-single-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 24px;
}
.sc-la-single-related-card {
  background: var(--sc-white);
  border-radius: var(--sc-radius-card);
  overflow: hidden !important;
  border: 1px solid rgba(0,0,0,.06);
  text-decoration: none;
  display: block;
  transition: box-shadow 0.25s, transform 0.25s;
}
.sc-la-single-related-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  transform: translateY(-2px);
}
.sc-la-single-related-card-img {
  aspect-ratio: 16 / 10;
  overflow: hidden !important;
}
.sc-la-single-related-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.sc-la-single-related-card:hover .sc-la-single-related-card-img img {
  transform: scale(1.05);
}
.sc-la-single-related-card-body {
  padding: 14px 16px 18px;
}
.sc-la-single-related-card-cat {
  display: block;
  font-family: var(--sc-font-heading);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: var(--sc-amber);
  margin-bottom: 4px;
}
.sc-la-single-related-card-title {
  font-family: var(--sc-font-heading);
  font-size: 16px;
  font-weight: 700;
  color: var(--sc-green);
  line-height: 1.3;
  margin: 0 0 4px;
}
.sc-la-single-related-card-dist {
  font-size: 12px;
  color: var(--sc-text-meta);
}
.sc-la-single-back-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--sc-font-heading);
  font-size: 14px;
  font-weight: 500;
  color: var(--sc-green);
  text-decoration: none;
  transition: color 0.2s;
}
.sc-la-single-back-link:hover {
  color: var(--sc-green-mid);
}


/* ─────────────────────────────────────────────────────────────
   ACCOMMODATION CATEGORY ARCHIVE
   /accommodation-category/{slug}/
   Taxonomy: mphb_room_type_category
   ───────────────────────────────────────────────────────────── */

/* ── Section wrapper ── */
.sc-cat-archive-section {
  max-width: var(--sc-wide-width);
  margin: 0 auto;
  padding: var(--sc-space-xl) var(--sc-space-lg) var(--sc-space-3xl);
}

/* ── Hide redundant group headers on category pages ──
     All cards are the same category, so the group heading
     ("Glamping Retreat", "Camping Pitches" etc.) is unnecessary. */
body.tax-mphb_room_type_category .sc-cat-archive-rooms .sc-group-header {
  display: none !important;
}

/* ── Ensure the grid works inside the category wrapper ── */
.sc-cat-archive-rooms .sc-group-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  align-items: stretch;
}

/* ── Remove default WP archive markup styling ── */
body.tax-mphb_room_type_category .page-header {
  display: none;
}
body.tax-mphb_room_type_category .page-content > article.post {
  display: none;
}

/* ── Responsive: 2-col at tablet, 1-col at mobile ── */
@media (max-width: 900px) {
  .sc-cat-archive-rooms .sc-group-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .sc-cat-archive-section {
    padding-left: var(--sc-space-sm);
    padding-right: var(--sc-space-sm);
  }
}
@media (max-width: 600px) {
  .sc-cat-archive-rooms .sc-group-grid {
    grid-template-columns: 1fr;
  }
}


/* ── 23h. Attractions — responsive ────────────────────────────── */

@media (max-width: 991px) {
  .sc-la-archive-intro-inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .sc-la-archive-intro-image {
    max-height: 400px;
  }
  .sc-la-archive-card {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .sc-la-archive-card--img-right {
    direction: ltr;
  }
  .sc-la-archive-card-img {
    min-height: 240px;
  }
  .sc-la-archive-card-body {
    padding: 28px 24px;
    border-left: none !important;
    border-right: none !important;
    border-top: 1px solid rgba(0,0,0,.04);
  }
  .sc-la-single-content-inner {
    grid-template-columns: 1fr;
  }
  .sc-la-single-content-img {
    max-width: 600px;
  }
  .sc-la-single-related-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .sc-la-archive-hero {
    padding: calc(68px + 40px) 20px 40px;
  }
  .sc-la-archive-intro {
    padding: 48px 20px;
  }
  .sc-la-archive-listing {
    padding: 48px 20px;
  }
  .sc-la-archive-listing-inner {
    padding: 0;
  }
  .sc-la-filter-tab {
    padding: 12px 16px;
    font-size: 12px;
  }
  .sc-la-archive-card-body {
    padding: 20px 18px;
  }
  .sc-la-archive-card-ctas {
    flex-direction: column;
  }
  .sc-la-archive-card-btn {
    text-align: center;
  }
  .sc-la-archive-cta {
    padding: 48px 20px;
  }
  .sc-la-single-hero {
    padding: calc(68px + 32px) 20px 32px;
  }
  .sc-la-single-content {
    padding: 32px 20px;
  }
  .sc-la-single-related {
    padding: 48px 20px;
  }
  .sc-la-single-related-grid {
    grid-template-columns: 1fr;
  }
  .sc-la-single-btns {
    flex-direction: column;
  }
  .sc-la-single-btn {
    text-align: center;
    justify-content: center;
  }
}