    .material-symbols-outlined {
      font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    }
    body { font-family: 'Plus Jakarta Sans', sans-serif; }
    h1, h2, h3 { font-family: 'Epilogue', sans-serif; }

    /* ── Search Bar ── */
    .nav-search {
      display: flex;
      align-items: center;
      gap: 8px;
      background: #fff;
      border: 1.5px solid #C8D0D4;
      border-radius: 9999px;
      padding: 8px 16px;
      transition: border-color .2s, box-shadow .2s;
      min-width: 220px;
    }
    .nav-search:focus-within {
      border-color: #16A5DE;
      box-shadow: 0 0 0 3px rgba(22,165,222,.12);
    }
    .nav-search input {
      border: none;
      outline: none;
      background: transparent;
      font-size: 13px;
      font-family: 'Plus Jakarta Sans', sans-serif;
      color: #1A1A1A;
      width: 100%;
      padding: 0px;
    }
    .nav-search input::placeholder { color: #9AA4AA; }

    /* ── Made-in-India badge ── */
    .india-badge {
      display: flex;
      align-items: center;
      gap: 6px;
      border: 1px solid #e8e8e8;
      border-radius: 8px;
      padding: 4px 10px;
      background: #fff;
    }
    .india-badge .badge-text { line-height: 1.3; }

    /* ── Mobile overlay transition ── */
    #mobile-menu {
      transition: max-height .3s ease, opacity .3s ease;
      max-height: 0;
      opacity: 0;
      overflow: hidden;
    }
    #mobile-menu.open {
      max-height: 600px;
      opacity: 1;
    }
/* ════════════════════════════════════════
   HOME PAGE STYLES
   (header/footer styles live in header.php)
   ════════════════════════════════════════ */
/* ════════════════════════════════════════
   HOME PAGE STYLES
   (header/footer styles live in header.php)
   ════════════════════════════════════════ */

/* ── HERO ── */
.hm-hero {
    position: relative;
    background: #fff;
    padding: 56px 20px 44px;
    text-align: center;
    overflow: hidden;
}
.hm-hero-bg {
    position: absolute;
    inset: 0;
    background: url('/../assets/images/uploads/home.jpg') center/cover no-repeat;
    opacity: .10;
    pointer-events: none;
}
.hm-hero h1 {
    font-family: 'Epilogue', sans-serif;
    font-size: clamp(22px, 4vw, 40px);
    font-weight: 800;
    color: #111;
    line-height: 1.2;
    margin-bottom: 8px;
}
.hm-hero h1 .hm-brand {
    color: #16A5DE;
    display: block;
}
.hm-hero p {
    font-size: 15px;
    color: #666;
    margin-bottom: 32px;
}
.hm-hero p strong { color: #222; }

/* ── SEARCH ROW ── */
.hm-search-row {
    display: flex;
    align-items: center;
    background: #fff;
    border: 1.5px solid #ddd;
    border-radius: 50px;
    max-width: 820px;
    margin: 0 auto;
    box-shadow: 0 6px 28px rgba(0,0,0,.10);
    overflow: hidden;
}
.hm-sr-field {
    display: flex;
    flex-direction: column;
    padding: 10px 20px;
    border-right: 1px solid #eee;
    flex: 1;
    min-width: 0;
}
.hm-sr-field:last-of-type { border-right: none; }
.hm-sr-label {
    font-size: 10px;
    font-weight: 700;
    color: #9AA4AA;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 3px;
}
.hm-sr-input {
    border: none;
    outline: none;
    font-size: 13px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    color: #222;
    background: transparent;
    width: 100%;
}
.hm-sr-select {
    border: none;
    outline: none;
    font-size: 13px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    color: #222;
    background: transparent;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    width: 100%;
}
.hm-sr-loc {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-right: 1px solid #eee;
    flex: 1.4;
}
.hm-sr-loc-icon { color: #16A5DE; font-size: 18px; flex-shrink: 0; }
.hm-sr-guests {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    border-right: 1px solid #eee;
}
.hm-guest-btn {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1.5px solid #C8D0D4;
    background: #fff;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #555;
    transition: all .15s;
    line-height: 1;
}
.hm-guest-btn:hover { border-color: #16A5DE; color: #16A5DE; }
#g-count { font-size: 15px; font-weight: 800; min-width: 20px; text-align: center; }
.hm-search-go {
    background: #16A5DE;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 4px;
    flex-shrink: 0;
    transition: background .2s, transform .15s;
    box-shadow: 0 3px 10px rgba(22,165,222,.35);
}
.hm-search-go:hover { background: #1298CC; transform: scale(1.05); }
.hm-search-go svg { color: #fff; }

/* ── FILTER BAR ── */
.hm-filter-bar {
    max-width: 1200px;
    margin: 20px auto 0;
    padding: 0 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.hm-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #fff;
    border: 1.5px solid #C8D0D4;
    border-radius: 20px;
    padding: 6px 14px;
    font-size: 12px;
    font-weight: 700;
    color: #555;
    cursor: pointer;
    transition: all .15s;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.hm-filter-chip:hover,
.hm-filter-chip.active { background: #16A5DE; color: #fff; border-color: #16A5DE; }
.hm-filter-count {
    background: #fff;
    color: #16A5DE;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    font-size: 10px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.hm-clear-filters {
    font-size: 12px;
    font-weight: 700;
    color: #e74c3c;
    cursor: pointer;
    text-decoration: none;
    margin-left: auto;
}
.hm-clear-filters:hover { text-decoration: underline; }

/* ── ADVANCED FILTER PANEL ── */
.hm-filter-panel { max-width: 1200px; margin: 10px auto 0; padding: 0 20px; display: none; }
.hm-filter-panel.open { display: block; }
.hm-filter-panel-inner {
    background: #fff;
    border: 1.5px solid #E8E8E8;
    border-radius: 16px;
    padding: 22px 26px;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    box-shadow: 0 4px 16px rgba(0,0,0,.06);
}
.hm-fp-group { flex: 1; min-width: 180px; }
.hm-fp-group h6 {
    font-size: 10px;
    font-weight: 800;
    color: #9AA4AA;
    text-transform: uppercase;
    letter-spacing: .6px;
    margin-bottom: 10px;
}
.hm-fp-group select,
.hm-fp-group input[type=range] {
    width: 100%;
    border: 1.5px solid #E8E8E8;
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 13px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #222;
    outline: none;
}
.hm-fp-group select:focus { border-color: #16A5DE; }
.hm-amenity-list { display: flex; flex-direction: column; gap: 7px; max-height: 140px; overflow-y: auto; }
.hm-amenity-list label { display: flex; align-items: center; gap: 7px; font-size: 12px; color: #555; cursor: pointer; }
.hm-amenity-list input[type=checkbox] { accent-color: #16A5DE; width: 14px; height: 14px; }
.hm-fp-apply {
    background: #16A5DE;
    color: #fff;
    border: none;
    padding: 10px 22px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    margin-top: 8px;
    width: 100%;
    transition: background .2s;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.hm-fp-apply:hover { background: #1298CC; }
.hm-price-display { font-size: 12px; font-weight: 700; color: #16A5DE; margin-top: 5px; }

/* ── RESULTS BAR ── */
.hm-results-bar {
    max-width: 1200px;
    margin: 16px auto 0;
    padding: 0 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.hm-results-count { font-size: 13px; font-weight: 600; color: #666; }
.hm-results-count strong { color: #111; }

/* ── SECTION ── */
.hm-section { max-width: 1200px; margin: 0 auto; padding: 32px 20px 8px; }
.hm-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 18px;
}
.hm-section-head-left h2 {
    font-family: 'Epilogue', sans-serif;
    font-size: 20px;
    font-weight: 800;
    color: #111;
}
.hm-section-head-left p { font-size: 13px; color: #888; margin-top: 3px; }
.hm-view-all {
    font-size: 13px;
    font-weight: 700;
    color: #16A5DE;
    text-decoration: none;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 4px;
    transition: gap .15s;
}
.hm-view-all:hover { gap: 7px; text-decoration: underline; }

/* ── HORIZONTAL SCROLL CARDS ── */
.hm-cards-scroll {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 12px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.hm-cards-scroll::-webkit-scrollbar { display: none; }

/* ── FILTERED GRID ── */
.hm-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 20px;
    padding-bottom: 12px;
}

/* ── PROPERTY CARD ── */
.hm-prop-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    flex-shrink: 0;
    width: 210px;
    box-shadow: 0 2px 14px rgba(0,0,0,.07);
    transition: transform .25s, box-shadow .25s;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    display: block;
    border: 1px solid #F0F0F0;
}
.hm-cards-grid .hm-prop-card { width: auto; flex-shrink: unset; }
.hm-prop-card:hover { transform: translateY(-5px); box-shadow: 0 10px 32px rgba(0,0,0,.12); }
.hm-card-img { position: relative; height: 152px; overflow: hidden; }
.hm-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.hm-prop-card:hover .hm-card-img img { transform: scale(1.07); }
.hm-card-type-badge {
    position: absolute;
    bottom: 8px;
    left: 8px;
    background: #16A5DE;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
}
.hm-card-wish {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(255,255,255,.9);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: transform .2s;
    backdrop-filter: blur(4px);
}
.hm-card-wish:hover { transform: scale(1.2); }
.hm-card-body { padding: 12px 12px 14px; }
.hm-card-name {
    font-size: 13px;
    font-weight: 800;
    color: #111;
    margin-bottom: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: 'Epilogue', sans-serif;
}
.hm-card-loc { font-size: 11px; color: #9AA4AA; display: flex; align-items: center; gap: 3px; margin-bottom: 5px; }
.hm-card-rating { font-size: 11px; color: #555; display: flex; align-items: center; gap: 3px; margin-bottom: 8px; }
.hm-star { color: #f59e0b; }
.hm-review-count { color: #aaa; }
.hm-card-price-row { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.hm-price-old { font-size: 11px; color: #bbb; text-decoration: line-through; }
.hm-price-new { font-size: 15px; font-weight: 800; color: #111; }
.hm-price-off {
    background: #DCFCE7;
    color: #16a34a;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 5px;
}

/* ── EMPTY STATE ── */
.hm-empty-state { text-align: center; padding: 70px 20px; color: #aaa; }
.hm-empty-state .hm-emoji { font-size: 52px; display: block; margin-bottom: 14px; }
.hm-empty-state h3 { font-size: 18px; font-weight: 800; color: #666; margin-bottom: 7px; font-family: 'Epilogue', sans-serif; }
.hm-empty-state p { font-size: 14px; }
.hm-empty-state a { color: #16A5DE; font-weight: 700; text-decoration: none; }
.hm-empty-state a:hover { text-decoration: underline; }

/* ── CITY SECTION HIDDEN ── */
.hm-city-section.hidden { display: none; }

/* ── WHATSAPP FLOAT ── */
.hm-wa-float {
    position: fixed;
    bottom: 24px;
    right: 20px;
    z-index: 200;
    background: #25d366;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    box-shadow: 0 4px 18px rgba(37,211,102,.45);
    cursor: pointer;
    text-decoration: none;
    transition: transform .2s;
}
.hm-wa-float:hover { transform: scale(1.1); }

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
    .hm-search-row { flex-wrap: wrap; border-radius: 18px; padding: 8px; }
    .hm-sr-field, .hm-sr-loc, .hm-sr-guests { border-right: none; border-bottom: 1px solid #eee; width: 100%; }
    .hm-sr-guests { border-bottom: none; }
    .hm-filter-panel-inner { flex-direction: column; }
}
@media (max-width: 480px) {
    .hm-hero h1 { font-size: 20px; }
    .hm-cards-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
    .hm-prop-card { width: 170px; }
}




/* ════════════════════════════════════════
   FARMHOUSES PAGE STYLES
   (header/footer styles live in header.php)
   ════════════════════════════════════════ */

/* ── SEARCH HERO BAR ── */
.search-hero {
    background: #fff;
    border-bottom: 1px solid #E8E8E8;
    padding: 14px 20px;
}
.search-hero-inner { max-width: 1200px; margin: auto; }
.search-hero-top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 6px;
    flex-wrap: wrap;
}
.sh-title {
    font-family: 'Epilogue', sans-serif;
    font-size: 20px;
    font-weight: 800;
    color: #111;
}
.sh-count {
    font-size: 13px;
    color: #9AA4AA;
    font-weight: 600;
    background: #F0F7FB;
    padding: 3px 10px;
    border-radius: 20px;
}
.breadcrumb {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #9AA4AA;
    flex-wrap: wrap;
}
.breadcrumb a {
    color: #16A5DE;
    text-decoration: none;
    font-weight: 600;
}
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb span { color: #C8D0D4; }

/* ── MAIN LAYOUT ── */
.main-layout {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 20px 80px;
    display: grid;
    grid-template-columns: 268px 1fr;
    gap: 22px;
    align-items: start;
}

/* ── SIDEBAR ── */
.sidebar {
    background: #fff;
    border-radius: 16px;
    border: 1.5px solid #E8E8E8;
    overflow: hidden;
    position: sticky;
    top: 80px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #C8D0D4 transparent;
}
.sidebar::-webkit-scrollbar { width: 4px; }
.sidebar::-webkit-scrollbar-thumb { background: #C8D0D4; border-radius: 4px; }

.sidebar-header {
    padding: 16px 18px;
    border-bottom: 1px solid #F0F0F0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #FAFAFA;
}
.sidebar-title {
    font-size: 14px;
    font-weight: 800;
    color: #111;
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: 'Epilogue', sans-serif;
}
.clear-all-btn {
    font-size: 12px;
    font-weight: 700;
    color: #e53e3e;
    text-decoration: none;
    cursor: pointer;
    background: none;
    border: none;
    font-family: 'Plus Jakarta Sans', sans-serif;
    padding: 0;
}
.clear-all-btn:hover { text-decoration: underline; }

.filter-section {
    padding: 14px 18px;
    border-bottom: 1px solid #F5F5F5;
}
.filter-section:last-child { border-bottom: none; }
.filter-label {
    font-size: 10px;
    font-weight: 800;
    color: #9AA4AA;
    text-transform: uppercase;
    letter-spacing: .6px;
    margin-bottom: 10px;
}

/* Sidebar search */
.sb-search {
    display: flex;
    align-items: center;
    gap: 7px;
    background: #F7F7F7;
    border: 1.5px solid #E8E8E8;
    border-radius: 10px;
    padding: 9px 12px;
    transition: border-color .2s;
}
.sb-search:focus-within { border-color: #16A5DE; }
.sb-search input {
    border: none;
    background: transparent;
    font-size: 13px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    outline: none;
    width: 100%;
    color: #333;
}

/* Location select */
.sb-select {
    width: 100%;
    border: 1.5px solid #E8E8E8;
    border-radius: 10px;
    padding: 9px 32px 9px 12px;
    font-size: 13px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #333;
    background: #fff;
    outline: none;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    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='%239AA4AA' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    transition: border-color .2s;
}
.sb-select:focus { border-color: #16A5DE; }

/* Price range */
.price-range-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 10px;
}
.price-input-wrap { position: relative; }
.price-input-wrap span {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    color: #9AA4AA;
    font-weight: 700;
}
.price-input {
    width: 100%;
    border: 1.5px solid #E8E8E8;
    border-radius: 10px;
    padding: 8px 8px 8px 22px;
    font-size: 13px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #333;
    background: #fff;
    outline: none;
    transition: border-color .2s;
}
.price-input:focus { border-color: #16A5DE; }
.price-slider { width: 100%; accent-color: #16A5DE; cursor: pointer; margin-top: 4px; }
.price-note { font-size: 11px; color: #16A5DE; font-weight: 700; margin-top: 5px; }

/* Amenity checkboxes */
.amenity-cat-label {
    font-size: 10px;
    font-weight: 800;
    color: #C8D0D4;
    text-transform: uppercase;
    letter-spacing: .4px;
    margin: 10px 0 5px;
}
.amenity-check-list { display: flex; flex-direction: column; gap: 7px; }
.amenity-check-item {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 2px 0;
}
.amenity-check-item input[type=checkbox] {
    width: 15px;
    height: 15px;
    accent-color: #16A5DE;
    cursor: pointer;
    flex-shrink: 0;
}
.amenity-check-item label {
    font-size: 12px;
    color: #555;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
}
.amenity-icon-sm { font-size: 13px; }

/* Sort */
.sort-options { display: flex; flex-direction: column; gap: 8px; }
.sort-radio { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.sort-radio input[type=radio] { accent-color: #16A5DE; width: 14px; height: 14px; cursor: pointer; }
.sort-radio label { font-size: 12px; color: #555; font-weight: 600; cursor: pointer; }

/* Apply button */
.apply-btn {
    width: 100%;
    background: #16A5DE;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 11px;
    font-size: 13px;
    font-weight: 800;
    font-family: 'Plus Jakarta Sans', sans-serif;
    cursor: pointer;
    transition: background .2s;
}
.apply-btn:hover { background: #1298CC; }

/* ── RESULTS PANEL ── */
.toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.toolbar-left { display: flex; align-items: center; gap: 8px; flex: 1; flex-wrap: wrap; }
.result-count {
    font-family: 'Epilogue', sans-serif;
    font-size: 15px;
    font-weight: 800;
    color: #111;
}
.result-sub { font-size: 12px; color: #9AA4AA; font-weight: 500; }
.toolbar-right { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.view-toggle {
    display: flex;
    border: 1.5px solid #E8E8E8;
    border-radius: 10px;
    overflow: hidden;
}
.view-btn {
    padding: 7px 11px;
    background: #fff;
    border: none;
    cursor: pointer;
    font-size: 14px;
    transition: background .15s, color .15s;
    color: #9AA4AA;
}
.view-btn.active { background: #16A5DE; color: #fff; }

/* Active filter chips */
.active-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.active-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #EBF7FD;
    border: 1px solid #B3E1F5;
    color: #0B6F96;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
}
.active-chip button {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 13px;
    color: #16A5DE;
    line-height: 1;
    padding: 0;
    margin-left: 2px;
}
.active-chip button:hover { color: #e53e3e; }

/* ── CARD GRID ── */
.cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
}
.cards-grid.list-view { grid-template-columns: 1fr; }

/* ── PROPERTY CARD ── */
.prop-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,.07);
    transition: transform .25s, box-shadow .25s;
    text-decoration: none;
    color: inherit;
    display: block;
    border: 1.5px solid #F0F0F0;
}
.prop-card:hover { transform: translateY(-5px); box-shadow: 0 10px 32px rgba(0,0,0,.11); }
.card-img { position: relative; height: 160px; overflow: hidden; }
.card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; display: block; }
.prop-card:hover .card-img img { transform: scale(1.06); }
.card-badge {
    position: absolute;
    bottom: 9px;
    left: 9px;
    background: #16A5DE;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
}
.card-wish-btn {
    position: absolute;
    top: 9px;
    right: 9px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    transition: transform .2s;
    box-shadow: 0 1px 5px rgba(0,0,0,.12);
    backdrop-filter: blur(4px);
}
.card-wish-btn:hover { transform: scale(1.18); }
.card-wish-btn.wishlisted { background: #fff0f0; }
.card-body { padding: 12px 12px 14px; }
.card-name {
    font-family: 'Epilogue', sans-serif;
    font-size: 13px;
    font-weight: 800;
    color: #111;
    margin-bottom: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.card-loc { font-size: 11px; color: #9AA4AA; margin-bottom: 5px; display: flex; align-items: center; gap: 3px; }
.card-amenities { display: flex; gap: 5px; flex-wrap: wrap; margin-bottom: 7px; }
.am-tag {
    font-size: 10px;
    background: #F0F7FB;
    color: #0B6F96;
    padding: 2px 8px;
    border-radius: 10px;
    font-weight: 600;
}
.card-rating { font-size: 11px; color: #666; display: flex; align-items: center; gap: 3px; margin-bottom: 8px; }
.star { color: #f59e0b; }
.card-price-row { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.price-old { font-size: 11px; color: #C8D0D4; text-decoration: line-through; }
.price-new { font-size: 16px; font-weight: 900; color: #111; font-family: 'Epilogue', sans-serif; }
.price-off {
    background: #DCFCE7;
    color: #16a34a;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 5px;
}
.price-nego {
    background: #FFF7ED;
    color: #c2410c;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 5px;
    border: 1px solid #fed7aa;
}

/* ── LIST VIEW ── */
.cards-grid.list-view .prop-card { display: grid; grid-template-columns: 220px 1fr; }
.cards-grid.list-view .card-img { height: 100%; min-height: 140px; }
.cards-grid.list-view .card-body { display: flex; flex-direction: column; justify-content: center; padding: 16px 18px; }
.cards-grid.list-view .card-name { font-size: 15px; white-space: normal; }
.list-desc {
    font-size: 12px;
    color: #777;
    margin: 4px 0 8px;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.list-actions { display: flex; align-items: center; gap: 10px; margin-top: 8px; }
.list-book-btn {
    background: #16A5DE;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 8px 18px;
    font-size: 13px;
    font-weight: 700;
    font-family: 'Plus Jakarta Sans', sans-serif;
    cursor: pointer;
    text-decoration: none;
    transition: background .2s;
}
.list-book-btn:hover { background: #1298CC; }
.list-wa-btn {
    background: #e7f8ef;
    color: #128c7e;
    border: 1.5px solid #a0ddb8;
    border-radius: 8px;
    padding: 7px 14px;
    font-size: 13px;
    font-weight: 700;
    font-family: 'Plus Jakarta Sans', sans-serif;
    cursor: pointer;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 5px;
    transition: background .2s;
}
.list-wa-btn:hover { background: #d0f0e0; }

/* ── EMPTY STATE ── */
.empty-state { text-align: center; padding: 70px 20px; grid-column: 1 / -1; }
.empty-emoji { font-size: 52px; display: block; margin-bottom: 14px; }
.empty-title { font-family: 'Epilogue', sans-serif; font-size: 18px; font-weight: 800; color: #555; margin-bottom: 7px; }
.empty-sub { font-size: 14px; color: #aaa; margin-bottom: 20px; }
.empty-cta {
    display: inline-block;
    background: #16A5DE;
    color: #fff;
    padding: 10px 24px;
    border-radius: 10px;
    font-weight: 700;
    text-decoration: none;
    font-size: 14px;
    transition: background .2s;
}
.empty-cta:hover { background: #1298CC; }

/* ── MOBILE FILTER TOGGLE ── */
.mobile-filter-btn {
    display: none;
    align-items: center;
    gap: 6px;
    background: #16A5DE;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 9px 16px;
    font-size: 13px;
    font-weight: 700;
    font-family: 'Plus Jakarta Sans', sans-serif;
    cursor: pointer;
    margin-bottom: 12px;
    transition: background .2s;
}
.mobile-filter-btn:hover { background: #1298CC; }
.mobile-filter-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 200;
    backdrop-filter: blur(2px);
}
.mobile-filter-overlay.open { display: block; }
.mobile-sidebar {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    width: 300px;
    background: #fff;
    z-index: 201;
    overflow-y: auto;
    transform: translateX(-100%);
    transition: transform .3s ease;
    box-shadow: 4px 0 24px rgba(0,0,0,.15);
}
.mobile-sidebar.open { transform: translateX(0); }
.mobile-sidebar-header {
    padding: 16px 18px;
    border-bottom: 1px solid #eee;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #FAFAFA;
    position: sticky;
    top: 0;
    z-index: 1;
}
.mobile-sidebar-close {
    background: none;
    border: none;
    font-size: 22px;
    cursor: pointer;
    color: #9AA4AA;
    line-height: 1;
}
.mobile-sidebar-close:hover { color: #111; }

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
    .main-layout { grid-template-columns: 1fr; }
    .sidebar { display: none; }
    .mobile-filter-btn { display: flex; }
}
@media (max-width: 640px) {
    .cards-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
    .cards-grid.list-view { grid-template-columns: 1fr; }
    .cards-grid.list-view .prop-card { grid-template-columns: 1fr; }
    .cards-grid.list-view .card-img { min-height: 180px; }
    .toolbar { flex-direction: column; align-items: flex-start; }
    .toolbar-right { margin-left: 0; }
    .sh-title { font-size: 16px; }
}






/* ══════════════════════════════════════════════
   farmhouse_details.php — scoped with frd- prefix
   ══════════════════════════════════════════════ */

/* ── SUCCESS BANNER ── */
.frd-success-banner{background:#e8f5ee;border:1px solid #b2dfcb;border-radius:10px;padding:14px 20px;display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.frd-success-banner .frd-sb-icon{font-size:22px;}
.frd-success-banner p{font-size:14px;font-weight:700;color:#1a6633;}
.frd-success-banner .frd-sb-close{margin-left:auto;cursor:pointer;font-size:18px;color:#888;background:none;border:none;}

/* ── PAGE LAYOUT ── */
.frd-page-wrap{max-width:1100px;margin:0 auto;padding:20px 20px 60px;}

/* ── BREADCRUMB ── */
.frd-breadcrumb{font-size:12px;color:#888;margin-bottom:14px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.frd-breadcrumb a{color:#16a5de;text-decoration:none;font-weight:600;}
.frd-breadcrumb a:hover{text-decoration:underline;}
.frd-breadcrumb span{color:#ccc;}

/* ── TITLE AREA ── */
.frd-prop-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:10px;}
.frd-prop-title-left h1{font-size:20px;font-weight:800;color:#111;line-height:1.3;margin-bottom:6px;}
.frd-prop-location{display:flex;align-items:center;gap:6px;font-size:13px;color:#555;}
.frd-prop-location .frd-pin{color:#16a5de;}
.frd-loc-badge{background:#e8ecf5;color:#16a5de;border:1px solid #b2dfcb;font-size:11px;font-weight:700;padding:2px 10px;border-radius:20px;margin-left:6px;}
.frd-price-area{text-align:right;flex-shrink:0;}
.frd-price-old{font-size:14px;color:#aaa;text-decoration:line-through;font-weight:600;}
.frd-price-row{display:flex;align-items:center;gap:8px;margin-top:2px;}
.frd-price-new{font-size:24px;font-weight:900;color:#111;}
.frd-price-off-badge{background:#fff3e0;color:#e65100;border:1px solid #ffcc80;font-size:12px;font-weight:800;padding:3px 10px;border-radius:6px;}
.frd-rating-row{display:flex;align-items:center;gap:4px;margin-top:4px;justify-content:flex-end;}
.frd-star{color:#f59e0b;font-size:14px;}
.frd-rating-txt{font-size:13px;color:#555;font-weight:600;}

/* ── TAGS ROW ── */
.frd-tags-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.frd-tag-chip{display:flex;align-items:center;gap:5px;background:#f0f0f0;border:1px solid #e0e0e0;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600;color:#444;}
.frd-tag-chip .frd-tag-icon{font-size:13px;}
.frd-tag-chip.frd-green-chip{background:#e8ebf5;border-color:#b2c7df;color:#16a5de;}

/* ── PHOTO GRID ── */
.frd-photo-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:6px;border-radius:16px;overflow:hidden;margin-bottom:24px;max-height:420px;}
.frd-photo-main{grid-row:1/3;position:relative;overflow:hidden;}
.frd-photo-main img{width:100%;height:100%;object-fit:cover;min-height:300px;max-height:420px;display:block;}
.frd-photo-right{display:grid;grid-template-rows:1fr 1fr;gap:6px;}
.frd-photo-small{position:relative;overflow:hidden;}
.frd-photo-small img{width:100%;height:100%;object-fit:cover;display:block;max-height:207px;}
.frd-photo-overlay-btns{position:absolute;bottom:10px;right:10px;display:flex;gap:8px;}
.frd-overlay-btn{background:rgba(0,0,0,.65);color:#fff;border:none;border-radius:8px;padding:7px 13px;font-size:12px;font-weight:700;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:5px;transition:background .2s;}
.frd-overlay-btn:hover{background:rgba(0,0,0,.85);}

/* ── FULLSCREEN GALLERY ── */
.frd-gallery-overlay{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:999;display:none;flex-direction:column;align-items:center;justify-content:center;}
.frd-gallery-overlay.frd-open{display:flex;}
.frd-gallery-close{position:absolute;top:16px;right:20px;color:#fff;font-size:28px;cursor:pointer;background:none;border:none;font-family:inherit;font-weight:800;}
.frd-gallery-img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:10px;}
.frd-gallery-nav{display:flex;align-items:center;gap:20px;margin-top:14px;}
.frd-gallery-nav-btn{background:rgba(255,255,255,.15);color:#fff;border:none;border-radius:8px;padding:8px 18px;font-size:16px;cursor:pointer;font-family:inherit;font-weight:700;transition:background .2s;}
.frd-gallery-nav-btn:hover{background:rgba(255,255,255,.3);}
.frd-gallery-counter{color:#aaa;font-size:13px;font-weight:600;}

/* ── CONTENT GRID ── */
.frd-content-grid{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start;}

/* ── SECTION CARD ── */
.frd-section-card{background:#fff;border-radius:14px;padding:20px;margin-bottom:16px;border:1px solid #eee;}
.frd-sec-header{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.frd-sec-header::before{content:'';display:block;width:4px;height:20px;background:#16a5de;border-radius:2px;flex-shrink:0;}
.frd-sec-header h2{font-size:16px;font-weight:800;color:#111;}

/* Description */
.frd-desc-text{font-size:13.5px;color:#444;line-height:1.7;white-space:pre-line;}
.frd-desc-text.frd-clamped{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.frd-read-more{color:#16a5de;font-size:13px;font-weight:700;cursor:pointer;margin-top:8px;display:inline-block;background:none;border:none;font-family:inherit;padding:0;}
.frd-read-more:hover{text-decoration:underline;}

/* Amenities */
.frd-amenity-group-wrap{margin-bottom:18px;}
.frd-amenity-group-title{font-size:12px;font-weight:800;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid #f0f0f0;}
.frd-amenity-items{display:flex;flex-wrap:wrap;gap:10px;}
.frd-amenity-item{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;width:72px;}
.frd-amenity-icon{width:40px;height:40px;background:#f5f5f5;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:19px;}
.frd-amenity-label{font-size:10px;color:#555;font-weight:600;line-height:1.2;}

/* Rules */
.frd-rules-grid-full{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;}
.frd-rule-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f9f9f9;border-radius:8px;border:1px solid #eee;}
.frd-rule-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.frd-rule-dot.frd-allowed{background:#16a5de;}
.frd-rule-dot.frd-not-allowed{background:#e53e3e;}
.frd-rule-label{font-size:12px;color:#444;font-weight:600;}
.frd-rule-badge{font-size:10px;padding:2px 7px;border-radius:4px;font-weight:700;margin-left:auto;}
.frd-rule-badge.frd-yes{background:#e8f5ee;color:#16a5de;}
.frd-rule-badge.frd-no{background:#fff5f5;color:#e53e3e;}

/* Policies */
.frd-policy-row-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.frd-policy-item{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid #eee;border-radius:10px;cursor:pointer;transition:background .15s;}
.frd-policy-item:hover{background:#f9f9f9;}
.frd-policy-icon{font-size:20px;}
.frd-policy-label{font-size:13px;font-weight:700;color:#333;}

/* About */
.frd-about-txt{font-size:13.5px;color:#444;line-height:1.7;}
.frd-about-txt.frd-clamped{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}

/* ── CALENDAR ── */
.frd-cal-title{font-size:16px;font-weight:800;color:#111;margin-bottom:16px;}
.frd-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.frd-cal-nav-btn{width:30px;height:30px;border:1px solid #ddd;border-radius:50%;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:background .15s;}
.frd-cal-nav-btn:hover{background:#f0f0f0;}
.frd-cal-months{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.frd-month-title{font-size:14px;font-weight:800;color:#111;text-align:center;margin-bottom:10px;}
.frd-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.frd-cal-dow{text-align:center;font-size:11px;font-weight:700;color:#888;padding:4px 0;}
.frd-cal-day{text-align:center;font-size:12px;font-weight:600;color:#333;padding:6px 3px;border-radius:6px;cursor:pointer;transition:background .15s;position:relative;user-select:none;}
.frd-cal-day:hover:not(.frd-booked):not(.frd-past):not(.frd-empty){background:#e8f5ee;}
.frd-cal-day.frd-empty{cursor:default;}
.frd-cal-day.frd-past{color:#ccc;cursor:not-allowed;}
.frd-cal-day.frd-today-mark{font-weight:900;color:#16a5de;}
.frd-cal-day.frd-booked{background:#f0f0f0;color:#bbb;cursor:not-allowed;}
.frd-cal-day.frd-requested{background:#fff8e1;color:#f57f17;cursor:not-allowed;}
.frd-cal-day.frd-requested::after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:#f57f17;}
.frd-cal-day.frd-range-start,.frd-cal-day.frd-range-end{background:#16a5de;color:#fff;border-radius:50%;}
.frd-cal-day.frd-in-range{background:#e8f5ee;color:#16a5de;border-radius:0;}
.frd-cal-day.frd-range-start{border-radius:50% 0 0 50%;}
.frd-cal-day.frd-range-end{border-radius:0 50% 50% 0%;}
.frd-cal-day.frd-single-selected{background:#16a5de;color:#fff;border-radius:50%;}
.frd-cal-legend{display:flex;align-items:center;gap:14px;margin-top:10px;flex-wrap:wrap;}
.frd-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:#555;}
.frd-legend-dot{width:12px;height:12px;border-radius:3px;}
.frd-legend-dot.frd-booked{background:#f0f0f0;border:1px solid #ddd;}
.frd-legend-dot.frd-requested{background:#fff8e1;border:1px solid #ffd54f;}
.frd-legend-dot.frd-selected{background:#16a5de;}

/* Checkin/Checkout row */
.frd-checkinout-row{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #eee;border-radius:12px;overflow:hidden;margin-top:14px;}
.frd-co-block{padding:14px 16px;background:#fff;}
.frd-co-block:first-child{border-right:1px solid #eee;}
.frd-co-label{font-size:11px;color:#888;font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px;}
.frd-co-date{font-size:14px;font-weight:800;color:#111;}
.frd-time-chips{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;}
.frd-time-chip{padding:6px 14px;border:1.5px solid #ddd;border-radius:20px;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s;background:#fff;color:#444;}
.frd-time-chip.frd-active{background:#16a5de;color:#fff;border-color:#16a5de;}
.frd-time-chip:hover:not(.frd-active){border-color:#16a5de;color:#16a5de;}

/* My Pending Requests */
.frd-my-requests{background:#fffde7;border:1px solid #ffd54f;border-radius:10px;padding:14px;margin-top:14px;}
.frd-my-requests h4{font-size:13px;font-weight:800;color:#e65100;margin-bottom:8px;}
.frd-req-row{display:flex;align-items:center;gap:8px;font-size:12px;color:#555;padding:5px 0;border-bottom:1px solid #fff3cd;}
.frd-req-row:last-child{border-bottom:none;}
.frd-req-badge{background:#ff9800;color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;}

/* Services */
.frd-services-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;}
.frd-service-item{display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid #eee;border-radius:8px;font-size:12px;font-weight:700;color:#333;background:#fff;}
.frd-service-note{font-size:11px;color:#aaa;margin-top:6px;}

/* ── BOOKING CARD ── */
.frd-booking-card{background:#fff;border-radius:16px;padding:20px;border:1px solid #eee;box-shadow:0 4px 20px rgba(0,0,0,.07);position:sticky;top:90px;}
.frd-bc-price-top{font-size:22px;font-weight:900;color:#111;margin-bottom:4px;}
.frd-bc-price-top span{font-size:14px;color:#777;font-weight:600;}
.frd-bc-nego{font-size:12px;color:#f57f17;font-weight:700;margin-bottom:12px;}
.frd-bc-guest-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:12px 0;border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0;}
.frd-bc-guest-label{font-size:13px;font-weight:800;color:#111;}
.frd-bc-guest-sub{font-size:11px;color:#999;font-weight:500;}
.frd-bc-guest-ctrl{display:flex;align-items:center;gap:8px;}
.frd-bc-btn{width:28px;height:28px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;transition:all .15s;}
.frd-bc-btn.frd-minus{background:#f0f0f0;color:#555;}
.frd-bc-btn.frd-plus{background:#16a5de;color:#fff;}
.frd-bc-btn.frd-minus:hover{background:#e0e0e0;}
.frd-bc-btn.frd-plus:hover{background:#157a41;}
.frd-bc-gcount{font-size:16px;font-weight:900;color:#111;min-width:18px;text-align:center;}
.frd-bc-dates-display{background:#f9f9f9;border:1px solid #eee;border-radius:10px;padding:10px 14px;margin-bottom:12px;font-size:12.5px;color:#555;font-weight:600;}
.frd-bc-dates-display strong{color:#111;font-weight:800;}

/* Price breakdown */
.frd-bc-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#555;margin-bottom:6px;}
.frd-bc-row.frd-total{border-top:1px solid #eee;padding-top:10px;margin-top:4px;}
.frd-bc-row.frd-total .frd-bc-label{font-size:14px;font-weight:800;color:#111;}
.frd-bc-row.frd-total .frd-bc-val{font-size:16px;font-weight:900;color:#16a5de;}
.frd-bc-label{font-weight:600;}
.frd-bc-val{font-weight:700;color:#333;}
.frd-bc-val.frd-green{color:#16a5de;}

/* Rules mini */
.frd-rules-card-mini{background:#f9f9f9;border:1px solid #eee;border-radius:10px;padding:12px 14px;margin:12px 0;}
.frd-rules-card-mini h5{font-size:13px;font-weight:800;color:#111;margin-bottom:8px;}
.frd-rules-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;}
.frd-rule-mini{display:flex;align-items:center;gap:6px;font-size:12px;color:#444;font-weight:600;}
.frd-rdot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.frd-rdot.frd-ok{background:#16a5de;}
.frd-rdot.frd-no{background:#e53e3e;}

/* Security deposit */
.frd-deposit-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#f0faf5;border:1px solid #b2dfcb;border-radius:10px;margin-bottom:10px;}
.frd-deposit-icon{font-size:20px;}
.frd-deposit-amount{font-size:16px;font-weight:900;color:#111;}
.frd-deposit-label{font-size:11px;color:#888;font-weight:600;}
.frd-deposit-badge{background:#16a5de;color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:6px;}
.frd-deposit-note{font-size:11px;color:#888;margin-bottom:10px;}

/* Agree */
.frd-agree-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:12px;}
.frd-agree-row input{width:15px;height:15px;accent-color:#16a5de;margin-top:2px;flex-shrink:0;cursor:pointer;}
.frd-agree-row label{font-size:12px;color:#555;}
.frd-agree-row a{color:#16a5de;font-weight:700;text-decoration:none;}

/* Booking form buttons */
.frd-book-btn{width:100%;background:#16a5de;color:#fff;border:none;border-radius:10px;padding:13px;font-size:14px;font-weight:800;font-family:inherit;cursor:pointer;transition:background .2s;margin-bottom:8px;}
.frd-book-btn:hover{background:#157a41;}
.frd-book-btn:disabled{background:#a8d5bc;cursor:not-allowed;}
.frd-login-prompt{width:100%;background:#16a5de;color:#fff;border:none;border-radius:10px;padding:13px;font-size:14px;font-weight:800;font-family:inherit;cursor:pointer;text-align:center;display:block;text-decoration:none;margin-bottom:8px;}
.frd-login-prompt:hover{background:#157a41;}

/* Contact buttons */
.frd-contact-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;}
.frd-contact-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border-radius:10px;font-size:13px;font-weight:700;text-decoration:none;transition:all .2s;border:none;cursor:pointer;font-family:inherit;}
.frd-contact-btn.frd-call{background:#e8f5ee;color:#1a6633;border:1.5px solid #b2dfcb;}
.frd-contact-btn.frd-call:hover{background:#d4edda;}
.frd-contact-btn.frd-wa{background:#e7f8ef;color:#128c7e;border:1.5px solid #a0ddb8;}
.frd-contact-btn.frd-wa:hover{background:#d0f0e0;}

/* Help */
.frd-help-section{margin-top:12px;border-top:1px solid #f0f0f0;padding-top:12px;}
.frd-help-title{font-size:13px;font-weight:800;color:#111;margin-bottom:8px;}
.frd-help-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#333;margin-bottom:6px;font-weight:600;text-decoration:none;}
.frd-help-item:hover{color:#16a5de;}
.frd-help-icon{font-size:17px;}

/* Modal backdrop */
.frd-modal-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:500;align-items:center;justify-content:center;}
.frd-modal-box{background:#fff;border-radius:16px;padding:28px;max-width:460px;width:90%;position:relative;}
.frd-modal-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:22px;cursor:pointer;color:#888;}
.frd-modal-title{font-size:16px;font-weight:800;margin-bottom:14px;}
.frd-modal-note{font-size:12px;color:#aaa;margin-top:14px;}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .frd-content-grid{grid-template-columns:1fr;}
  .frd-booking-card{position:static;}
  .frd-cal-months{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .frd-prop-title-row{flex-direction:column;gap:10px;}
  .frd-price-area{text-align:left;}
  .frd-rating-row{justify-content:flex-start;}
  .frd-policy-row-grid{grid-template-columns:1fr;}
  .frd-photo-grid{grid-template-columns:1fr;}
  .frd-photo-right{grid-template-rows:auto;}
  .frd-photo-main{grid-row:auto;}
  .frd-photo-main img{min-height:220px;max-height:280px;}
  .frd-photo-small img{max-height:180px;}
  .frd-contact-btns{grid-template-columns:1fr;}
}
@media(max-width:400px){
  .frd-checkinout-row{grid-template-columns:1fr;}
  .frd-co-block:first-child{border-right:none;border-bottom:1px solid #eee;}
  .frd-rules-mini-grid{grid-template-columns:1fr;}
}

.frd-custom-time-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}

.frd-custom-time-input {
  border: 1.5px solid #16a5de;
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 13px;
  color: #1a3c2e;
  outline: none;
  background: #f0faf5;
  width: 120px;
}

.frd-custom-time-input:focus {
  border-color: #0f5c34;
  background: #fff;
}

.frd-custom-time-hint {
  font-size: 11px;
  color: #888;
}

.frd-custom-chip {
  font-size: 11px;
  background: #fff8e1;
  border-color: #f59e0b !important;
  color: #92400e;
}

.frd-custom-chip.frd-active {
  background: #fef3c7;
  border-color: #d97706 !important;
}