/*
Theme Name: Divi Child
Theme URI: 
Description: Divi Child Theme
Author: Unplug Rentals
Author URI: https://unplugrentals.com
Template: Divi
Version: 2.5.3
Tags: responsive-layout, one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, custom-background, custom-colors, featured-images, full-width-template, post-formats, rtl-language-support, theme-options, threaded-comments, translation-ready
License: GNU General Public License v2
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* =============================================================================
   RECENT CHANGES (Full history: see CHANGELOG.md)
   =============================================================================
   
   v2.5.3 - 2026-02-01 - Calendar picker date colouring fix
   v2.5.2 - 2026-02-01 - Search form input styling, hero video fix
   v2.5.1 - 2026-01-30 - Fleetcard shadow fix

   =============================================================================
   TABLE OF CONTENTS
   =============================================================================
   
   1. Hero Video Section
   2. Search Form Styles
   3. MotoPress Calendar (Date Picker)
   4. Fleet & Search Results (Consolidated)
      4.1  Parent Container Fixes
      4.2  Fleet List & Item Grid
      4.3  Fleet Media (Images)
      4.4  Fleet Panel (White Card)
      4.5  Fleet Typography
      4.6  Fleet Details & Spec Chips
      4.7  Fleet Price Display
      4.8  Fleet Actions (Buttons)
      4.9  Button Styles
      4.10 Search Results Overrides
      4.11 Mobile Responsive
   5. MPHB Single Vehicle Page
   6. Amenities List
   7. UPR Booking Card & Response Styles
   8. Booking Form Wizard
   9. UPR Service Inventory
   10. WooCommerce Checkout
   ============================================================================= */

/* #region ===== 1. HERO VIDEO SECTION ===== */

/* Hero video section - containment only */
#hero-video-section {
    position: relative !important;
    overflow: hidden !important;
}

/* Ensure content stays above video */
#hero-video-section .et_pb_row {
    position: relative;
    z-index: 1;
}

/* #endregion ===== HERO VIDEO SECTION ===== */

/* #region ===== 2. SEARCH FORM STYLES ===== */

/* ===== Form Layout ===== */
.mphb_sc_search-wrapper.horizontal-center form,
.mphb_sc_search-wrapper.horizontal-left form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
    max-width: 100%;
}

/* ===== Date Input Field Styling ===== */

/* Base Input Styling */
.mphb_sc_search-wrapper input[type="text"].mphb-datepick,
.mphb_sc_search-wrapper .mphb_sc_search-check-in-date input,
.mphb_sc_search-wrapper .mphb_sc_search-check-out-date input {
    width: 100% !important;
    height: 38px !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    padding: 8px 12px !important;
    font-family: "Roboto Condensed", sans-serif !important;
    font-size: 15px !important;
    font-weight: 400;
    line-height: normal !important;
    border: 1px solid #ccc;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
    transition: all 0.2s ease-in-out;
}

/* Focus State */
.mphb_sc_search-wrapper input[type="text"].mphb-datepick:focus,
.mphb_sc_search-wrapper .mphb_sc_search-check-in-date input:focus,
.mphb_sc_search-wrapper .mphb_sc_search-check-out-date input:focus {
    border-color: #FF9900;
    outline: none;
    box-shadow: 0 0 0 2px rgba(255, 153, 0, 0.2);
}

/* Placeholder Styling */
.mphb_sc_search-wrapper input[type="text"].mphb-datepick::placeholder {
    color: #888;
    font-weight: 400;
}

/* ===== Submit Button - Width Only ===== */
.mphb_sc_search-wrapper .button,
.mphb_sc_search-wrapper input[type="submit"] {
    width: 100% !important;
}

/* ===== Hide Required Fields Tip ===== */
.mphb_sc_search-wrapper.mphbs-hide-rf-tip .mphb-required-fields-tip {
    display: none;
}

/* ===== No Paddings Variant ===== */
.mphb_sc_search-wrapper.mphbs-no-paddings form {
    margin: 0;
    padding: 0;
}

/* ===== Desktop - 3 Column Layout (33/33/33) ===== */
@media screen and (min-width: 992px) {
    .mphb_sc_search-wrapper.horizontal-center form > p,
    .mphb_sc_search-wrapper.horizontal-left form > p {
        width: calc(33.333% - 7px) !important;
        flex: 1 1 calc(33.333% - 7px);
        margin: 0;
    }
}

/* ===== Tablet - 2 Column Layout (50/50 + full button) ===== */
@media screen and (min-width: 769px) and (max-width: 991px) {
    .mphb_sc_search-wrapper.horizontal-center form > p.mphb_sc_search-check-in-date,
    .mphb_sc_search-wrapper.horizontal-center form > p.mphb_sc_search-check-out-date,
    .mphb_sc_search-wrapper.horizontal-left form > p.mphb_sc_search-check-in-date,
    .mphb_sc_search-wrapper.horizontal-left form > p.mphb_sc_search-check-out-date {
        width: calc(50% - 5px);
        flex: 1 1 calc(50% - 5px);
        margin: 0;
    }
    
    .mphb_sc_search-wrapper.horizontal-center form > p.mphb_sc_search-submit-button-wrapper,
    .mphb_sc_search-wrapper.horizontal-left form > p.mphb_sc_search-submit-button-wrapper {
        width: 100%;
        flex: 0 0 100%;
        margin: 0;
    }
}

/* ===== Mobile - Stack All Fields ===== */
@media screen and (max-width: 768px) {
    .mphb_sc_search-wrapper.horizontal-center form > p,
    .mphb_sc_search-wrapper.horizontal-left form > p {
        width: 100% !important;
        flex: 0 0 100%;
        margin: 0;
    }
}

/* ===== Date Picker Popup Z-Index Fix ===== */
.datepick-popup {
    z-index: 2000000000 !important;
}

/* #endregion ===== SEARCH FORM STYLES ===== */

/* #region ===== 3. MOTOPRESS CALENDAR DATE PICKER ===== */

/* Calendar popup container - clean white with shadow */
.datepick-popup {
    background-color: #fff !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2) !important;
    border-radius: 12px !important;
    padding: 20px !important;
  }
  
  .mphb-calendar .mphb-datepicker-minimal.datepick,
  .mphb-datepicker-minimal .datepick-month {
    background-color: #fff !important;
    border: none !important;
  }
  
  /* -----------------------------------------------------------------------------
   Navigation Arrows
   Positioned inline with month headers using absolute positioning
   ----------------------------------------------------------------------------- */

.mphb-datepicker-minimal .datepick-nav {
    background-color: #fff !important;
    border: none !important;
    padding: 0 !important;
    position: relative !important;
    height: 0 !important;
    overflow: visible !important;
  }
  
  .mphb-datepicker-minimal .datepick-nav a {
    font-size: 0 !important;
    background-color: transparent !important;
    border: none !important;
    padding: 4px !important;
    position: absolute !important;
    top: 8px !important;
    z-index: 10;
    line-height: 1 !important;
    width: 20px !important;
    height: 30px !important;
  }
  
  .mphb-datepicker-minimal .datepick-nav a:before {
    font-size: 24px;
    color: #333;
    font-weight: 900;
    line-height: 0.8;
  }
  
  .mphb-datepicker-minimal .datepick-nav a.datepick-cmd-prev {
    left: 0px !important;
  }
  
  .mphb-datepicker-minimal .datepick-nav a.datepick-cmd-prev:before {
    content: "‹";
  }
  
  .mphb-datepicker-minimal .datepick-nav a.datepick-cmd-next {
    right: 0px !important;
  }
  
  .mphb-datepicker-minimal .datepick-nav a.datepick-cmd-next:before {
    content: "›";
  }
  
  /* Hide "Today" button */
  .mphb-datepicker-minimal .datepick-nav a.datepick-cmd-today {
    display: none !important;
  }
  
  /* -----------------------------------------------------------------------------
     Month Headers
     Bold uppercase with padding to prevent arrow overlap
     ----------------------------------------------------------------------------- */
  
  .mphb-datepicker-minimal .datepick-month-header {
    background-color: #fff !important;
    border: none !important;
    padding: 8px 32px 12px 32px !important;
    text-align: center;
    font-size: 15px;
    font-weight: 700 !important;
    color: #333 !important;
    text-transform: uppercase;
  }
  
  .mphb-datepicker-minimal .datepick-month-header select,
  .mphb-datepicker-minimal .datepick-month-header input {
    background-color: #fff !important;
    border: none !important;
    font-size: 15px;
    font-weight: 700 !important;
    color: #333 !important;
    text-transform: uppercase;
    text-align: center;
  }
  
  /* Target text month name in second calendar */
  .mphb-datepicker-minimal .datepick-month-header > div {
    font-weight: 700 !important;
    color: #333 !important;
  }
  
  /* Month dropdown functionality */
  .mphb-datepicker-minimal .datepick-month-header select.datepick-month-year {
    font-weight: 700 !important;
    color: #333 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    -webkit-appearance: menulist !important;
    -moz-appearance: menulist !important;
    appearance: menulist !important;
  }
  
  /* -----------------------------------------------------------------------------
     Day Labels (Mo, Tu, We, etc.)
     Semi-bold, prominent
     ----------------------------------------------------------------------------- */
  
  .mphb-datepicker-minimal .datepick-month thead th {
    background-color: #fff !important;
    border: none !important;
    color: #333;
    font-weight: 500;
    font-size: 13px;
    padding: 8px 0 !important;
  }
  
  /* -----------------------------------------------------------------------------
     Date Cells
     No grid lines, no backgrounds by default
     ----------------------------------------------------------------------------- */
  
  .mphb-datepicker-minimal .datepick-month td {
    background-color: #fff !important;
    border: none !important;
    padding: 2px !important;
  }
  
  /* Date numbers - clean text with rounded rectangles on interaction */
  .mphb-calendar.mphb-datepick .mphb-datepicker-minimal .datepick-month td a,
  .mphb-calendar.mphb-datepick .mphb-datepicker-minimal .datepick-month td span {
    background-color: transparent !important;
    border: none !important;
    border-radius: 25% !important;
    padding: 8px !important;
    margin: 0 !important;
    max-width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 400;
    transition: background-color 0.2s ease;
  }
  
 /* -----------------------------------------------------------------------------
   Date States - Color Coding
   Uses CSS custom properties for easy adjustments
   ----------------------------------------------------------------------------- */

.datepick-popup .mphb-datepicker-minimal.datepick {
    --mphb-available-date-color: #5a9a3a;
    --mphb-not-available-date-color: #c13515;
    --mphb-booked-date-color: #c13515;
    --mphb-unselectable-date-color: #b0b0b0;
  }
  
  /* Available dates - green text only */
  .datepick-popup .mphb-datepicker-minimal.datepick .datepick-month td a.mphb-available-date,
  .datepick-popup .mphb-datepicker-minimal.datepick .datepick-month td a.mphb-selectable-date {
    color: var(--mphb-available-date-color) !important;
    background-color: transparent !important;
  }
  
  /* Booked/unavailable dates - red text with strikethrough */
  .datepick-popup .mphb-datepicker-minimal.datepick .datepick-month td span.mphb-booked-date,
  .datepick-popup .mphb-datepicker-minimal.datepick .datepick-month td span.mphb-unselectable-date,
  .datepick-popup .mphb-datepicker-minimal.datepick .datepick-month td span.mphb-not-check-in-date {
    color: var(--mphb-not-available-date-color) !important;
    background-color: transparent !important;
    text-decoration: line-through !important;
  }
  
  /* Past dates - grey with strikethrough */
  .datepick-popup .mphb-datepicker-minimal.datepick .datepick-month td .mphb-past-date {
    color: var(--mphb-unselectable-date-color) !important;
    background-color: transparent !important;
    text-decoration: line-through !important;
  }
  
  /* Hover state - light grey rounded rectangle */
  .datepick-popup .mphb-datepicker-minimal.datepick .datepick-month td a:hover {
    background-color: #e8e8e8 !important;
    border-radius: 25% !important;
  }
  
  /* Selected dates - medium grey rounded rectangle */
  .datepick-popup .mphb-datepicker-minimal.datepick .datepick-month td .mphb-selected-date,
  .datepick-popup .mphb-datepicker-minimal.datepick .datepick-month td a.datepick-highlight {
    background-color: #666 !important;
    color: #fff !important;
    border-radius: 25% !important;
  }
  
  /* -----------------------------------------------------------------------------
     Control Bar (Clear / Done)
     Minimal text links with underline on hover
     ----------------------------------------------------------------------------- */
  
  .mphb-datepicker-minimal .datepick-ctrl {
    background-color: #fff !important;
    border: none !important;
    border-top: 1px solid #ebebeb !important;
    padding: 12px 0 0 0 !important;
    margin-top: 12px !important;
  }
  
  .mphb-datepicker-minimal .datepick-ctrl:before {
    display: none !important;
  }
  
  /* Clear and Done buttons - clean text links */
  .mphb-datepicker-minimal .datepick-ctrl a {
    background-color: transparent !important;
    color: #333 !important;
    text-decoration: none !important;
    font-weight: 600;
    padding: 4px 12px !important;
    line-height: 1.5 !important;
    text-transform: uppercase !important;
  }
  
  .mphb-datepicker-minimal .datepick-ctrl a:hover {
    background-color: transparent !important;
    text-decoration: underline !important;
  }
  
  /* #endregion ===== MOTOPRESS CALENDAR DATE PICKER ===== */

/* #region ===== 4. FLEET AND SEARCH RESULTS (CONSOLIDATED) ===== */
  /* Scoped to fleet pages only - prevents horizontal overflow */

/* Fleet-specific overflow control */
.fleet-list,
.fleet-item,
.mphb_sc_search_results-wrapper {
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
    padding-right: 25px; /* Space for shadow to display */
}

/* Allow shadow to be visible on fleet-item */
.fleet-item,
.fleet-list .fleet-item,
.mphb_sc_search_results-wrapper .fleet-item {
    overflow: visible !important; /* Changed from hidden */
    max-width: 100% !important;
    box-sizing: border-box !important;
}
   
   /* -----------------------------------------------------------------------------
      1. FLEET LIST & ITEM GRID
      ----------------------------------------------------------------------------- */
   .fleet-list {
       display: flex;
       flex-direction: column;
       gap: 72px;
   }
   
   .fleet-item {
       position: relative;
       display: grid;
       grid-template-columns: 58% 42%;
       align-items: stretch;
       gap: 0;
       margin-bottom: 40px;
   }
   
   /* -----------------------------------------------------------------------------
      2. FLEET MEDIA (Images)
      ----------------------------------------------------------------------------- */
   .fleet-media {
       display: block;
   }
   
   .fleet-media img {
       width: 100%;
       height: 480px;
       object-fit: cover;
       display: block;
       border-radius: 6px;
   }
   
   /* -----------------------------------------------------------------------------
      3. FLEET PANEL (White Card)
      ----------------------------------------------------------------------------- */
   .fleet-panel {
       background: #fff;
       border-radius: 6px;
       box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
       padding: 32px;
       margin-left: -80px; /* Overlap onto image */
       align-self: center;
       position: relative;
       z-index: 2;
       box-sizing: border-box;
   }
   
   /* -----------------------------------------------------------------------------
      4. FLEET TYPOGRAPHY (Title, Excerpt)
      ----------------------------------------------------------------------------- */
   .fleet-title,
   .fleet-panel .mphb-room-type-title {
       font-family: "Roboto Condensed", "Roboto", sans-serif;
       font-size: 22px;
       font-weight: 700;
       line-height: 1.15;
       margin: 0 0 8px 0;
       white-space: nowrap;
       overflow: hidden;
       text-overflow: ellipsis;
   }
   
   .fleet-panel .mphb-room-type-title a {
       text-decoration: none;
       color: inherit;
   }
   
   .fleet-excerpt {
       font-size: 13px;
       line-height: 1.5;
       color: #666;
       margin: 0 0 14px 0;
       display: -webkit-box;
       -webkit-line-clamp: 5;
       -webkit-box-orient: vertical;
       overflow: hidden;
   }
   
   /* -----------------------------------------------------------------------------
      5. FLEET DETAILS & SPEC CHIPS
      ----------------------------------------------------------------------------- */
   .fleet-facts {
       display: flex;
       flex-direction: column;
       gap: 12px;
       margin-bottom: 8px;
   }
   
   .fleet-fact {
       font-size: 15px;
       color: #333;
   }
   
   /* Specs chips layout */
   .fleet-details .mphb-loop-room-type-attributes {
       display: flex;
       flex-wrap: wrap;
       gap: 8px 12px;
       margin: 0 0 14px 0;
       padding: 0;
   }
   
   /* Chip base */
   .fleet-details .mphb-loop-room-type-attributes li {
       display: inline-flex;
       align-items: center;
       gap: 6px;
       background-color: rgba(150, 150, 150, 0.15);
       border: 1px solid #999;
       padding: 0.35rem 0.55rem;
       margin: 0;
       font-size: 13px;
       line-height: 1.2;
   }
   
   .fleet-spec {
       display: inline-flex;
       align-items: center;
       gap: 6px;
   }
   
   /* Icon base */
   .fleet-details li::before {
       font-family: "Font Awesome 5 Free";
       font-weight: 900;
       font-size: 12px;
       display: inline-block;
       position: static;
       transform: none;
   }
   
   /* Icon assignments */
   .fleet-details li.mphb-room-type-total-capacity::before {
       content: "\f007"; /* user */
   }
   
   .fleet-details li.mphb-room-type-bed-type::before {
       content: "\f236"; /* bed */
   }
   
   .fleet-details li.mphb-room-type-types::before,
   .fleet-details li.mphb-room-type-custom-attribute::before {
       content: "\f8ff"; /* caravan */
   }
   
   /* Remove pseudo icons when using manual icons */
   .fleet-details.no-pseudo-icons li::before {
       content: none !important;
       display: none !important;
   }
   
   /* -----------------------------------------------------------------------------
      6. FLEET PRICE DISPLAY
      ----------------------------------------------------------------------------- */
   .fleet-price {
       margin-top: 5px;
       margin-bottom: 10px;
   }
   
   .fleet-price .mphb-regular-price {
       margin: 0;
       font-family: "Roboto Condensed", sans-serif;
       font-size: 16px;
       color: #333;
       line-height: 1.4;
       display: flex;
       align-items: baseline;
       flex-wrap: wrap;
   }
   
   .fleet-price .mphb-regular-price strong {
       font-weight: 700;
       color: #333;
       margin-right: 5px;
   }
   
   .fleet-price .mphb-price,
   .fleet-price .mphb-regular-price .mphb-price {
       font-size: 22px;
       font-weight: 900;
       color: #212121;
       letter-spacing: -0.5px;
       margin: 10px 0;
   }
   
   .fleet-price .mphb-price-period {
       font-weight: 700;
       margin-left: 5px;
       border-bottom: 1px dotted #888;
       color: #333;
   }
   
   .fleet-price .mphb-tax-information {
       font-size: 12px;
       color: #666;
       font-weight: 400;
       margin-left: 6px;
       align-self: center;
   }
   
   /* -----------------------------------------------------------------------------
      7. FLEET ACTIONS (Button Container)
      ----------------------------------------------------------------------------- */
   .fleet-actions {
       display: flex !important;
       justify-content: space-between !important;
       align-items: center !important;
       width: 100% !important;
       margin-top: 15px !important;
       margin-bottom: 0 !important;
       gap: 10px;
       line-height: 1 !important;
   }
   
   /* Form & wrapper resets */
   .fleet-actions form,
   .fleet-actions .mphb-booking-form,
   .fleet-actions .mphb-to-book-btn-wrapper,
   .fleet-actions .mphb-reserve-room-section,
   .fleet-actions .mphb-rooms-reservation-message-wrapper {
       margin: 0 !important;
       padding: 0 !important;
       display: block !important;
       line-height: 0 !important;
   }
   
/* -----------------------------------------------------------------------------
   8. BUTTON STYLES (View Details & Book)
   ----------------------------------------------------------------------------- */

/* --- View Details Button (Outline Style) --- */
.fleet-view-btn,
.fleet-actions a.fleet-view-btn,
.mphb_sc_search_results-wrapper a.button.fleet-view-btn,
.mphb_sc_search_results-wrapper a.button.fleet-view-btn.mphb-view-details-button,
.mphb_sc_search_results-wrapper .fleet-actions a.button.fleet-view-btn {
    background-color: transparent !important;
    color: #333333 !important;
    border: 1px solid #333333 !important;
    font-family: "Roboto Condensed", sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    padding: 10px 20px !important;
    border-radius: 4px !important;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: all 0.2s ease-in-out;
    display: inline-block !important;
    line-height: normal !important;
}

/* View Details Hover */
.fleet-view-btn:hover,
.fleet-actions a.fleet-view-btn:hover,
.mphb_sc_search_results-wrapper a.button.fleet-view-btn:hover,
.mphb_sc_search_results-wrapper a.button.fleet-view-btn.mphb-view-details-button:hover,
.mphb_sc_search_results-wrapper .fleet-actions a.button.fleet-view-btn:hover {
    background-color: #333333 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    border: 1px solid #333333 !important;
}

/* --- Book / Action Button (Orange Gradient Style) --- */
/* Fleet Actions */
.fleet-actions button,
.fleet-actions input[type="submit"],
.fleet-actions .mphb-book-button,
.mphb_sc_search_results-wrapper .fleet-actions button.button.mphb-button,
.mphb_sc_search_results-wrapper .fleet-actions button.button.mphb-book-button,
.mphb_sc_search_results-wrapper .mphb-reserve-room-section button.mphb-book-button,
/* Search Form */
.mphb_sc_search-wrapper .button,
.mphb_sc_search-wrapper input[type="submit"],
/* Booking Form */
.mphb_sc_search-wrapper.horizontal-center form > p.mphb_sc_search-submit-button-wrapper input.button,
.mphb_sc_search-wrapper.horizontal-center form > p.mphb_sc_search-submit-button-wrapper input[type="submit"] {
    background: linear-gradient(90deg, #FF9900 0%, #FF7700 100%) !important;
    color: #ffffff !important;
    border: none !important;
    font-family: "Roboto Condensed", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    padding: 10px 25px !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    line-height: normal !important;
}

/* Book / Action Button Hover */
.fleet-actions button:hover,
.fleet-actions input[type="submit"]:hover,
.fleet-actions .mphb-book-button:hover,
.mphb_sc_search_results-wrapper .fleet-actions button.button.mphb-button:hover,
.mphb_sc_search_results-wrapper .fleet-actions button.button.mphb-book-button:hover,
.mphb_sc_search_results-wrapper .mphb-reserve-room-section button.mphb-book-button:hover,
.mphb_sc_search-wrapper .button:hover,
.mphb_sc_search-wrapper input[type="submit"]:hover,
.mphb_sc_search-wrapper.horizontal-center form > p.mphb_sc_search-submit-button-wrapper input.button:hover,
.mphb_sc_search-wrapper.horizontal-center form > p.mphb_sc_search-submit-button-wrapper input[type="submit"]:hover {
    background: #e65100 !important;
    color: #ffffff !important;
}

   /* -----------------------------------------------------------------------------
      9. SEARCH RESULTS OVERRIDES
      ----------------------------------------------------------------------------- */
   
   /* Hide default MotoPress empty message */
   .mphb-empty-search-results {
       display: none !important;
   }
   
   /* Main wrapper */
   .mphb_sc_search_results-wrapper {
       display: flex;
       flex-direction: column;
       gap: 0 !important;
       margin-top: 40px;
   }
   
   /* Listings spacing */
   .mphb_sc_search_results-wrapper .fleet-item {
       margin-bottom: 20px !important;
   }
   
   /* Header styling */
   .mphb_sc_search_results-info {
       margin-bottom: 10px !important;
       font-family: "Roboto Condensed", sans-serif;
       font-size: 18px;
       font-weight: 700;
   }
   
   /* Cart form */
   form#mphb-reservation-cart {
       margin-top: 0 !important;
       margin-bottom: 40px !important;
       padding: 0 !important;
   }
   
   #mphb-reservation-cart .mphb-empty-cart-message {
       margin: 0 !important;
       padding: 0 !important;
       color: #666;
   }
   
   #mphb-reservation-cart p:empty {
       display: none;
   }
   
   /* Compact card styling for search results */
   .mphb_sc_search_results-wrapper .fleet-media img {
       height: 350px;
   }
   
   .mphb_sc_search_results-wrapper .fleet-panel {
       padding-top: 20px !important;
       padding-bottom: 20px !important;
       margin-top: 10px;
   }
   
   .mphb_sc_search_results-wrapper .fleet-title-wrapper h2 {
       margin-bottom: 8px !important;
   }
   
   .mphb_sc_search_results-wrapper .fleet-details ul,
   .mphb_sc_search_results-wrapper .fleet-details {
       margin-bottom: 0 !important;
   }
   
   .mphb_sc_search_results-wrapper .fleet-price {
       margin-top: 8px !important;
       margin-bottom: 12px !important;
   }
   
   .mphb_sc_search_results-wrapper .fleet-price p {
       margin: 0 !important;
   }
   
   .mphb_sc_search_results-wrapper .fleet-actions {
       margin-top: 0 !important;
   }
   
/* -----------------------------------------------------------------------------
   10. MOBILE RESPONSIVE
   ----------------------------------------------------------------------------- */

/* Tablet & Mobile (max-width: 980px) */
@media screen and (max-width: 980px) {
    
    /* Reset ALL padding/margins on wrappers */
    .fleet-list,
    .mphb_sc_search_results-wrapper {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        gap: 40px !important; /* Reduced from 72px */
    }

    /* Fleet Item Grid - Stack vertically */
    .fleet-item,
    .mphb_sc_search_results-wrapper .fleet-item {
        grid-template-columns: 1fr !important;
        margin-bottom: 40px !important; /* Reduced from 80px */
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }

    /* Fleet Panel - FULL WIDTH to match image */
    .fleet-panel,
    .mphb_sc_search_results-wrapper .fleet-panel {
        margin: -20px 0 0 0 !important; /* Only top overlap, no side margins */
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 24px !important;
        border-radius: 0 0 6px 6px !important; /* Round bottom corners only */
    }

    /* Fleet Media - Full width */
    .fleet-media,
    .mphb_sc_search_results-wrapper .fleet-media {
        width: 100% !important;
        max-width: 100% !important;
    }

    .fleet-media img,
    .mphb_sc_search_results-wrapper .fleet-media img {
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
        object-fit: cover !important;
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 6px 6px 0 0 !important; /* Round top corners only */
    }

    /* Title - Allow wrapping */
    .fleet-title,
    .fleet-panel .mphb-room-type-title,
    .mphb_sc_search_results-wrapper .fleet-title {
        font-size: 20px;
        white-space: normal !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }

    /* Spec chips - Smaller */
    .fleet-details .mphb-loop-room-type-attributes {
        gap: 6px 8px;
    }

    .fleet-details .mphb-loop-room-type-attributes li {
        font-size: 11px;
        padding: 0.2rem 0.4rem;
    }

    /* Excerpt - Fewer lines */
    .fleet-excerpt {
        -webkit-line-clamp: 3;
        font-size: 12px;
    }

    /* Search results specific - reduced spacing */
    .mphb_sc_search_results-wrapper .fleet-item {
        margin-bottom: 30px !important;
    }
}

/* Small phones (max-width: 480px) */
@media screen and (max-width: 480px) {
    
    /* Even tighter list spacing */
    .fleet-list,
    .mphb_sc_search_results-wrapper {
        gap: 30px !important;
    }

    /* Fleet item spacing */
    .fleet-item,
    .mphb_sc_search_results-wrapper .fleet-item {
        margin-bottom: 30px !important;
    }

    /* Panel - Full width, tighter padding */
    .fleet-panel,
    .mphb_sc_search_results-wrapper .fleet-panel {
        margin: -15px 0 0 0 !important;
        padding: 20px 16px !important;
    }

    /* Images - Better height for small screens */
    .fleet-media img,
    .mphb_sc_search_results-wrapper .fleet-media img {
        height: 200px !important;
        aspect-ratio: unset !important;
    }

    /* Typography - Smaller */
    .fleet-title,
    .fleet-panel .mphb-room-type-title {
        font-size: 18px;
    }

    .fleet-excerpt {
        -webkit-line-clamp: 2;
    }

    .fleet-details .mphb-loop-room-type-attributes li {
        font-size: 10px;
    }

    /* Price - Smaller */
    .fleet-price .mphb-price,
    .fleet-price .mphb-regular-price .mphb-price {
        font-size: 18px;
    }

    /* Search results specific */
    .mphb_sc_search_results-wrapper .fleet-item {
        margin-bottom: 25px !important;
    }
}
   
/* #endregion ===== FLEET AND SEARCH RESULTS (CONSOLIDATED) ===== */

/* #region ===== 5. MPHB SINGLE VEHICLE PAGE STYLES ===== */

/* Container & Layout */
.mphb_room_type-template-default .container {
    max-width: 100% !important;
    width: 100% !important;
    padding-top: 0px !important;
} 

.mphb_room_type-template-default #footer-bottom {
    width: 80%;
    margin: 0 auto;
    max-width: 1080px;
}

.mphb_room_type-template-default .mphb_room_type {
    margin-bottom: 0px!important;
}

.mphb_room_type-template-default #left-area {
    padding-bottom: 0px!important;
}

.mphb_room_type-template-default .entry-title {
    display: none !important;
}

/* List Padding */
.entry-content .mphb_sc_rooms-wrapper ul, 
.entry-content .mphb_sc_search_results-wrapper ul, 
#left-area .mphb_sc_room-wrapper ul {
    padding: 0 0 23px 0 !important;
}

/* Booking Section */
.mphb_room_type-template-default .mphb-reserve-room-section {
    padding-left: 0.5em;
}

.mphb_room_type-template-default .mphb_sc_booking_form-wrapper .button, 
.mphb_room_type-template-default .mphb-booking-form .button {
    width: 245px;
}

/* #endregion ===== MPHB SINGLE VEHICLE PAGE STYLES ===== */

/* #region ===== 6. AMENITIES LIST - FINAL WIDTH FIX ===== */

/* 1. FORCE DIVI BLURB INTERNALS TO FULL WIDTH */
/* This is the missing piece. It unlocks the default Divi constraints. */
.unplug-amenities-list .et_pb_blurb_content,
.unplug-amenities-list .et_pb_blurb_container,
.unplug-amenities-list {
    max-width: 100% !important;
    width: 100% !important;
    display: block !important;
}

/* 2. RESET THE LIST (UL) */
.unplug-amenities-list ul {
    list-style-type: none !important; /* Kill the Disc Dot */
    padding-left: 0 !important;
    margin: 10px 0 !important;
    display: block !important; /* Ensure vertical list */
    width: 100% !important;
}

/* 3. STYLE THE ITEMS (LI) */
.unplug-amenities-list li {
    position: relative !important;
    padding-left: 30px !important;    /* Space for the green tick */
    margin-bottom: 10px !important;
    line-height: 1.5 !important;
    color: #333;
    display: block !important;        /* Force full width line */
    width: 100% !important;
}

/* 4. THE GREEN TICK */
.unplug-amenities-list li::before {
    content: '\2713' !important;      
    display: block !important;
    position: absolute;
    left: 0;
    top: 0;
    color: #6dcc2e;
    font-weight: bold;
    font-size: 16px;
}

/* --- Excerpt Body Reset --- */
/* Ensures excerpt uses normal body font, not chip styling */
.unplug-excerpt-body {
    font-size: 16px;
    line-height: 1.6;
    color: #444;
    margin-bottom: 25px;
}
.unplug-excerpt-body p {
    margin-bottom: 1em;
}

/* --- Fix Double Icons --- */
/* The PHP now adds <i> icons manually. This removes the generic CSS ::before icons */
.fleet-details.no-pseudo-icons li::before {
    content: none !important;
    display: none !important;
}
/* #endregion ===== AMENITIES LIST - FINAL WIDTH FIX ===== */

/* #region ===== 7. UPR BOOKING CARD & RESPONSE STYLES ===== */

/* 1. CONTAINER & RESET (Target BOTH IDs) */
#upr-booking-card,
#upr-booking-card-mobile {
    position: relative !important;
    overflow: visible !important;
    padding: 0 !important;
    width: 100%;
}

/* 2. THE SPACING KILLER */
#upr-booking-card p, #upr-booking-card-mobile p { margin: 0 !important; padding: 0 !important; }
#upr-booking-card br, #upr-booking-card-mobile br { display: none !important; }
#upr-booking-card .mphb-required-fields-tip,
#upr-booking-card-mobile .mphb-required-fields-tip { display: none !important; }

/* 3. PRICE HEADER ALIGNMENT */
#upr-booking-card .upr-price-header,
#upr-booking-card-mobile .upr-price-header {
    margin-bottom: 15px !important;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
}

/* 4. FORM LAYOUT */
#upr-booking-card .mphb-booking-form,
#upr-booking-card-mobile .mphb-booking-form {
    max-width: 100% !important;
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
}

/* 5. INPUT WRAPPERS (50/50 Split) */
#upr-booking-card .mphb-check-in-date-wrapper, #upr-booking-card-mobile .mphb-check-in-date-wrapper,
#upr-booking-card .mphb-check-out-date-wrapper, #upr-booking-card-mobile .mphb-check-out-date-wrapper {
    width: 48% !important;
    margin-bottom: 0 !important;
}

/* 6. LABEL STYLING */
#upr-booking-card label,
#upr-booking-card-mobile label {
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    color: #222 !important;
    display: block !important;
    margin-bottom: 4px !important;
    margin-top: 5px !important;
    line-height: 1 !important;
}

/* 7. INPUT FIELD STYLING */
#upr-booking-card input[type="text"], #upr-booking-card-mobile input[type="text"],
#upr-booking-card input[type="date"], #upr-booking-card-mobile input[type="date"] {
    width: 100% !important;
    min-height: 45px !important;
    padding: 10px 12px !important;
    border: 1px solid #b0b0b0 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    background: #fff !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

/* 8. BUTTON STYLING (UPDATED FOR BOTH BUTTONS) */
#upr-booking-card .mphb-reserve-btn-wrapper,
#upr-booking-card-mobile .mphb-reserve-btn-wrapper {
    width: 100% !important;
    flex: 0 0 100% !important;
    margin-top: 15px !important;
    padding: 0 !important;
}

#upr-booking-card input.mphb-reserve-btn, #upr-booking-card-mobile input.mphb-reserve-btn,
#upr-booking-card .mphb-reserve-btn, #upr-booking-card-mobile .mphb-reserve-btn,
#upr-booking-card input[type="submit"], #upr-booking-card-mobile input[type="submit"],
#upr-booking-card .mphb-confirm-reservation, #upr-booking-card-mobile .mphb-confirm-reservation {
    width: 100% !important;
    display: block !important;
    background: linear-gradient(90deg, #FF9900 0%, #FF7700 100%) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    padding: 14px !important;
    border-radius: 8px !important;
    border: none !important;
  	box-shadow: 0 4px 6px rgba(0,0,0,0.1) !important;
    cursor: pointer !important;
    text-transform: uppercase;
    margin: 0 !important;
}

#upr-booking-card input.mphb-reserve-btn:hover,
#upr-booking-card-mobile input.mphb-reserve-btn:hover,
#upr-booking-card .mphb-confirm-reservation:hover, #upr-booking-card-mobile .mphb-confirm-reservation:hover {
    background: #e65c00 !important;
    color: #ffffff !important;
}

/* 9. FOOTER & TICKS */
#upr-booking-card .card-divider, #upr-booking-card-mobile .card-divider { 
    border: 0; border-top: 1px solid #eee; margin: 15px 0 10px 0 !important; 
}
#upr-booking-card .upr-value-props, #upr-booking-card-mobile .upr-value-props { 
    margin-top: 20px; border-top: 1px solid #eee; padding-top: 15px; 
}
#upr-booking-card .prop-item, #upr-booking-card-mobile .prop-item { 
    font-size: 13px; color: #484848; margin-bottom: 5px; display: flex; align-items: center; 
}
#upr-booking-card .tick, #upr-booking-card-mobile .tick { 
    color: #2ecc71; font-weight: bold; font-size: 16px; margin-right: 8px; 
}

/* RESPONSE CONTAINER */
#upr-booking-card .mphb-reserve-room-section,
#upr-booking-card-mobile .mphb-reserve-room-section {
    width: 100%;
    margin-top: 20px !important;
    padding: 20px !important;
    border-radius: 8px !important;
    background-color: #f7f7f7 !important;
    border: 1px solid #e0e0e0 !important;
    box-sizing: border-box !important;
}

/* ACCOMMODATION TITLE (e.g., "Avan Aspire...") */
#upr-booking-card .mphb-rooms-quantity-single,
#upr-booking-card-mobile .mphb-rooms-quantity-single {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #222 !important;
    margin-bottom: 8px !important;
}

/* PRICE DISPLAY WRAPPER */
#upr-booking-card .mphb-period-price,
#upr-booking-card-mobile .mphb-period-price {
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    margin-bottom: 4px !important;
}

/* MAIN PRICE (e.g., "$921.60") */
#upr-booking-card .mphb-period-price .mphb-price,
#upr-booking-card-mobile .mphb-period-price .mphb-price {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #000 !important;
    margin-right: 8px !important;
    line-height: 1.1 !important;
}

/* PRICE DETAILS (e.g., "for 4 nights") */
#upr-booking-card .mphb-price-period-title,
#upr-booking-card-mobile .mphb-price-period-title {
    font-size: 15px !important;
    color: #555 !important;
    font-weight: 400 !important;
}

/* TAX INFORMATION */
#upr-booking-card .mphb-tax-information,
#upr-booking-card-mobile .mphb-tax-information {
    display: block !important;
    font-size: 12px !important;
    color: #777 !important;
    margin-bottom: 20px !important; /* Pushes the button down */
}

/* HIDE UNNECESSARY ELEMENTS */
#upr-booking-card .mphb-rooms-quantity-wrapper,
#upr-booking-card-mobile .mphb-rooms-quantity-wrapper {
    display: none !important;
}

/* #endregion ===== UPR BOOKING CARD & RESPONSE STYLES ===== */

/* #region ===== 8. UPR BOOKING FORM CUSTOM STYLING ===== */

/* --- 1. Sticky Progress Bar (Updated) --- */
#booking-progress-bar {
    display: flex;
    justify-content: space-between;
    counter-reset: step;
    position: relative;
    
    /* STICKY SETTINGS */
    position: -webkit-sticky;
    position: sticky;
    
    /* Adjusted to 100px to clear your header and admin bar */
    /* You can tweak this number (e.g., 80px or 120px) to fit your specific header height */
    top: 0px; 
    
    z-index: 999; 
    background-color: #fafafa;
    padding: 20px 0;
    
    /* Removed Shadow, added a subtle line instead */
    box-shadow: none; 
    border-bottom: 1px solid #eee; 
    
    margin-bottom: 30px;
}

#booking-progress-bar::before {
    content: "";
    position: absolute;
    top: 35px; /* Adjusted for padding */
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #e0e0e0;
    z-index: 0;
}

#booking-progress-bar li {
    list-style: none;
    position: relative;
    text-align: center;
    width: 33%;
    z-index: 1;
    color: #999;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer; /* Makes it look clickable */
    transition: color 0.3s ease;
}

#booking-progress-bar li::before {
    content: counter(step);
    counter-increment: step;
    width: 30px;
    height: 30px;
    line-height: 30px;
    border: 2px solid #e0e0e0;
    display: block;
    text-align: center;
    margin: 0 auto 10px auto;
    border-radius: 50%;
    background-color: #fff;
    color: #999;
    transition: all 0.3s ease;
}

/* Active State */
#booking-progress-bar li.active {
    color: #333; 
}

#booking-progress-bar li.active::before {
    border-color: #ff6600; 
    background-color: #ff6600;
    color: #fff;
}

/* Validation Error Styling */
.input-error {
    border: 2px solid #ff0000 !important; /* Thicker red border */
    background-color: #fff5f5 !important;
}

/* --- Keep the rest of the previous CSS (Step Wrappers, Nav Buttons, 2-Col Layout) --- */
.mphb-step-wrapper {
    display: none; 
    animation: fadeIn 0.5s;
    /* Add padding so content isn't right up against sticky bar */
    padding-top: 20px; 
}
.mphb-step-wrapper.active-step { display: block; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.mphb-wizard-nav {
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.mphb-btn-next, .mphb-btn-prev {
    background-color: #ff6600;
    color: #fff;
    border: none;
    padding: 12px 24px;
    cursor: pointer;
    font-weight: bold;
    border-radius: 4px;
}
.mphb-btn-prev { background-color: #999; }

#mphb-customer-details { display: flex; flex-wrap: wrap; justify-content: space-between; }
#mphb-customer-details h3, #mphb-customer-details h4, #mphb-customer-details .mphb-required-fields-tip, #mphb-customer-details .mphb-customer-note, #mphb-customer-details .mphb-customer-campinfo, #mphb-customer-details .mphb-customer-desc-self-tow, #mphb-customer-details .mphb-customer-self-tow-info, #mphb-customer-details .mphb-customer-self-tow-agreed { width: 100%; }
#mphb-customer-details p { width: 48%; margin-bottom: 15px; }
@media (max-width: 768px) { #mphb-customer-details p { width: 100%; } }

/* #endregion ===== UPR BOOKING FORM CUSTOM STYLING ===== */

/* #region ===== 9. UPR SERVICE INVENTORY ===== */

/* Unavailable service */
#addons-section .service-unavailable {
    opacity: 0.5;
}

#addons-section .service-unavailable label {
    color: #999;
}

#addons-section .service-unavailable input[type="checkbox"] {
    cursor: not-allowed;
}

/* Inventory notices */
.inventory-notice {
    display: inline-block;
    font-size: 11px;
    margin-left: 10px;
    padding: 3px 8px;
    border-radius: 3px;
    font-weight: 600;
    vertical-align: middle;
}

.inventory-notice.unavailable {
    background: #f8d7da;
    color: #721c24;
}

.inventory-notice.limited {
    background: #fff3cd;
    color: #856404;
}

/* #region ===== UPR SERVICE INVENTORY ===== */

/* #region ===== 10. WooCommerce Checkout - Matching Booking Wizard ===== */

/* ----- Hide duplicate "Your Booking" card ----- */
.booking-summary-card {
    display: none;
}

/* ----- Layout: Main Columns ----- */
@media (min-width: 768px) {
    #customer_details {
        width: 55%;
        float: left;
        padding-right: 40px;
        box-sizing: border-box;
    }
    #order_review_heading,
    #order_review {
        width: 45%;
        float: left;
    }
    .woocommerce .col2-set .col-1,
    .woocommerce-page .col2-set .col-1,
    .woocommerce .col2-set .col-2,
    .woocommerce-page .col2-set .col-2 {
        width: 100%;
        padding: 0;
    }
}

/* Desktop: 60/40 split */
@media (min-width: 1200px) {
    #customer_details {
        width: 60%;
        padding-right: 50px;
    }
    #order_review_heading,
    #order_review {
        width: 40%;
    }
}

/* Mobile */
@media (max-width: 767px) {
    #customer_details,
    #order_review_heading,
    #order_review {
        width: 100%;
        float: none;
        padding-right: 0;
    }
    #order_review {
        margin-top: 32px;
    }
}

/* ----- Field Layout Within Billing ----- */
.woocommerce-billing-fields__field-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px;
}

.woocommerce-billing-fields__field-wrapper .form-row {
    width: 100%;
    flex: 0 0 100%;
    margin: 0;
    float: none !important;
    padding-right: 0 !important;
    clear: none !important;
}

@media (min-width: 480px) {
    /* First Name | Last Name - 50/50 */
    #billing_first_name_field,
    #billing_last_name_field {
        width: calc(50% - 8px);
        flex: 0 0 calc(50% - 8px);
    }
    
    /* Suburb | State | Postcode - 40/30/30 */
    #billing_city_field {
        width: calc(40% - 11px);
        flex: 0 0 calc(40% - 11px);
    }
    #billing_state_field {
        width: calc(30% - 11px);
        flex: 0 0 calc(30% - 11px);
    }
    #billing_postcode_field {
        width: calc(30% - 11px);
        flex: 0 0 calc(30% - 11px);
    }
}

/* ----- Form Fields ----- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 10px 14px;
    font-size: 15px;
    color: #333;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.2s ease;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    border-color: #FF9900;
    outline: none;
    box-shadow: none;
}

/* Select Dropdown Arrow */
.woocommerce form .form-row select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-color: #fff;
    padding-right: 36px;
}

/* ----- Labels (Uppercase) ----- */
.woocommerce form .form-row label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #555;
    margin-bottom: 6px;
    display: block;
}

.woocommerce form .form-row label .required {
    color: #ff6600;
}

/* ----- Section Headings ----- */
.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading {
    font-family: "Roboto Condensed", sans-serif !important;
    font-size: 1.3em;
    font-weight: 700;
    color: #ff6600;
    border-bottom: 2px solid #eee;
    padding-bottom: 10px;
    margin: 0 0 20px 0;
}

/* ----- Newsletter Checkbox Fix ----- */
p.form-row.mailchimp-newsletter {
    margin: 16px 0 24px 0 !important;
}

p.form-row.mailchimp-newsletter label {
    display: block !important;
    position: relative !important;
    padding-left: 28px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #555 !important;
    line-height: 1.5 !important;
    cursor: pointer;
}

p.form-row.mailchimp-newsletter input[type="checkbox"] {
    position: absolute !important;
    left: 0 !important;
    top: 2px !important; /* Adjust this: 0-4px depending on what looks right */
    margin: 0 !important;
}

/* ----- Order Review Box ----- */
#order_review {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 4px;
    padding: 24px;
}

/* Order Table */
.woocommerce-checkout-review-order-table {
    border: none !important;
    margin: 0;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 10px 0;
    border: none;
    background: transparent;
}

.woocommerce-checkout-review-order-table thead {
    display: none;
}

.woocommerce-checkout-review-order-table .cart_item td {
    padding: 0 0 16px 0;
    border-bottom: 1px solid #eee;
}

.woocommerce-checkout-review-order-table .cart_item .product-name {
    font-size: 14px;
    color: #ff6600;
}

.woocommerce-checkout-review-order-table .cart_item .product-total,
.woocommerce-checkout-review-order-table .cart-subtotal td,
.woocommerce-checkout-review-order-table .order-total td {
    text-align: right;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    padding-top: 16px;
    border-top: 1px solid #eee;
    font-weight: 600;
}

.woocommerce-checkout-review-order-table .order-total td {
    font-size: 20px;
    color: #333;
}

/* ----- Payment Section ----- */
.woocommerce-checkout #payment {
    background: transparent;
    padding: 0;
    margin-top: 20px;
}

.woocommerce-checkout #payment ul.payment_methods {
    padding: 0;
    margin: 0 0 16px 0;
    border: none;
}

.woocommerce-checkout #payment ul.payment_methods li {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-bottom: 10px;
    padding: 14px 16px;
    list-style: none;
}

.woocommerce-checkout #payment ul.payment_methods li label {
    text-transform: none;
}

.woocommerce-checkout #payment div.payment_box {
    background: #f9f9f9;
    border-radius: 4px;
    padding: 16px;
    margin-top: 10px;
}

.woocommerce-checkout #payment div.payment_box::before {
    display: none;
}

/* ----- Place Order Button ----- */
.woocommerce #payment #place_order {
    background: linear-gradient(90deg, #FF9900 0%, #FF7700 100%) !important;
    color: #ffffff !important;
    border: none !important;
    font-family: "Roboto Condensed", sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    padding: 14px 25px !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: background 0.2s ease-in-out;
    cursor: pointer;
    line-height: normal !important;
    width: 100%;
    margin-top: 16px;
}

.woocommerce #payment #place_order:hover {
    background: #e65100 !important;
}

.woocommerce #payment #place_order::after,
.woocommerce #payment #place_order::before {
    display: none !important;
    content: none !important;
}

/* ----- Terms & Checkboxes ----- */
.woocommerce-terms-and-conditions-wrapper {
    font-size: 13px;
    color: #666;
}

.woocommerce-terms-and-conditions-wrapper a {
    color: #ff6600;
}

.woocommerce form .form-row input[type="checkbox"] {
    accent-color: #FF9900;
}

/* ----- Section Headings (Override Divi font) ----- */
.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading {
    font-family: "Roboto Condensed", sans-serif !important;
    font-size: 1.3em;
    font-weight: 700;
    color: #ff6600;
    border-bottom: 2px solid #eee;
    padding-bottom: 10px;
    margin: 0 0 20px 0;
}

/* ----- Error Notice Bar (Override Divi) ----- */
.woocommerce-error,
.woocommerce-NoticeGroup-checkout .woocommerce-error,
div.woocommerce-error,
.woocommerce .woocommerce-error {
    background-color: #fff5f5 !important;
    border: 1px solid #dc3545 !important;
    border-left: 4px solid #dc3545 !important;
    border-radius: 4px !important;
    padding: 16px 20px !important;
    margin-bottom: 24px !important;
    list-style: none !important;
    color: #393735 !important;
}

.woocommerce-error li,
div.woocommerce-error li,
.woocommerce .woocommerce-error li,
body .woocommerce-error li,
body.woocommerce-page .woocommerce-error li {
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: #393735 !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    background: none !important;
}

.woocommerce-error::before,
.woocommerce-error li::before,
div.woocommerce-error::before,
div.woocommerce-error li::before,
body .woocommerce-error::before,
body .woocommerce-error li::before {
    display: none !important;
    content: none !important;
    color: #393735 !important;
}

.woocommerce-error a {
    color: #dc3545 !important;
    text-decoration: underline !important;
}

.woocommerce-error a:hover {
    color: #a71d2a !important;
}

/* ----- Invalid Field Styling ----- */
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select,
.woocommerce form .form-row.woocommerce-invalid textarea {
    border-color: #e74c3c;
    background-color: #fff9f9;
}

.woocommerce form .form-row.woocommerce-invalid input.input-text:focus,
.woocommerce form .form-row.woocommerce-invalid select:focus,
.woocommerce form .form-row.woocommerce-invalid textarea:focus {
    border-color: #e74c3c;
    box-shadow: 0 0 0 2px rgba(231, 76, 60, 0.1);
}

.woocommerce form .form-row.woocommerce-invalid label {
    color: #e74c3c;
}

/* ----- Valid Field Styling ----- */
.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select {
    border-color: #27ae60;
}

/* #endregion ===== WooCommerce Checkout - Matching Booking Wizard ===== */