/* Mobile-isolated baseline snapshot. Source: assets/css/bungalows.css */
/* Bungalov archive – isolated component. Do not merge into main.css. */
.bungalows-page{background:#f7faf7;padding:48px 0 64px;color:#21342a}.bungalows-shell{width:min(calc(100% - 48px),1180px);margin:0 auto}.bungalows-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.bungalows-kicker{display:block;margin-bottom:7px;font-size:11px;font-weight:700;letter-spacing:.12em;color:#16804f}.bungalows-heading h1{margin:0 0 8px;font-size:38px;line-height:1.1;font-weight:600;letter-spacing:-.035em}.bungalows-heading p{max-width:650px;margin:0;color:#66736b;font-size:15px;line-height:1.65}.bungalows-mobile-filter{display:none;border:1px solid #d8e4da;background:#fff;border-radius:12px;padding:10px 14px;font-weight:600;color:#204b36}.bungalows-mobile-filter span{margin-left:6px;background:#e8f3ea;border-radius:999px;padding:2px 7px;font-size:11px}.bungalows-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:26px;align-items:start}.bungalows-filter{position:sticky;top:96px;border:1px solid #dce6dd;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(27,55,40,.04)}.bungalows-filter__mobile-head{display:none}.bungalows-filter__form{display:block}.bungalows-filter__head{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 14px;border-bottom:1px solid #edf1ed}.bungalows-filter__head>div{display:grid;gap:2px}.bungalows-filter__head strong{font-size:18px}.bungalows-filter__head small{font-size:12px;color:#849087}.bungalows-filter__head a{font-size:12px;color:#16804f;font-weight:600}.bungalows-search{margin:16px 16px 6px;height:44px;display:flex;align-items:center;gap:8px;border:1px solid #dce5dd;border-radius:11px;padding:0 11px;background:#fbfdfb}.bungalows-search span{color:#428460}.bungalows-search input{border:0;outline:0;background:transparent;min-width:0;width:100%;font-size:13px;color:#2d4035}.bungalows-filter-group{padding:16px;border-top:1px solid #edf1ed}.bungalows-filter-group h2{margin:0 0 11px;font-size:14px;font-weight:700;color:#273a30}.bungalows-destination-selects{display:grid;gap:8px}.bungalows-destination-selects select{width:100%;height:40px;border:1px solid #dce5dd;border-radius:9px;background:#fff;padding:0 9px;font-size:12px;color:#34473c;outline:0}.bungalows-check-list{display:grid;gap:4px}.bungalows-check-list--scroll{max-height:252px;overflow:auto;padding-right:4px}.bungalows-check-list label{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;padding:5px 6px;border-radius:8px;cursor:pointer}.bungalows-check-list label:hover{background:#f4f9f4}.bungalows-check-list input{width:16px;height:16px;accent-color:#16804f}.bungalows-check-list span{font-size:12.5px;color:#34463b}.bungalows-check-list small{min-width:23px;height:23px;border-radius:999px;display:grid;place-items:center;background:#f0f4f0;color:#758078;font-size:10px}.bungalows-filter-submit{width:calc(100% - 32px);height:42px;margin:0 16px 18px;border:0;border-radius:10px;background:#24794d;color:#fff;font-size:13px;font-weight:700;cursor:pointer}.bungalows-filter-submit:hover{background:#1d6841}.bungalows-results{min-width:0}.bungalows-results__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.bungalows-results__head span{display:block;margin-bottom:3px;color:#7c897f;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.bungalows-results__head h1,.bungalows-results__head h2{margin:0;font-size:25px;font-weight:600;letter-spacing:-.025em}.bungalows-results__head>strong{color:#65736a;font-size:12px;font-weight:600}.bungalows-active-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}.bungalows-active-filters span,.bungalows-active-filters a{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;border:1px solid #dbe6dc;background:#fff;font-size:11px;color:#466050}.bungalows-active-filters a{color:#16804f;font-weight:700}.bungalows-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.bungalows-grid .bungalow-card{min-width:0}.bungalows-grid .bungalow-card-media{aspect-ratio:1.55/1}.bungalows-grid .bungalow-card h3{font-size:16px}.bungalows-grid .bungalow-card-body{min-height:118px}.bungalows-pagination{margin-top:28px}.bungalows-pagination ul{list-style:none;display:flex;gap:7px;padding:0;margin:0}.bungalows-pagination a,.bungalows-pagination span{width:36px;height:36px;border-radius:9px;border:1px solid #d9e4da;background:#fff;display:grid;place-items:center;font-size:12px;color:#36513f}.bungalows-pagination .current{background:#24794d;border-color:#24794d;color:#fff}.bungalows-empty{padding:50px 30px;text-align:center;border:1px solid #dce6dd;border-radius:16px;background:#fff}.bungalows-empty strong{display:block;font-size:19px}.bungalows-empty p{margin:8px 0 15px;color:#6c786f;font-size:13px}.bungalows-empty a{color:#16804f;font-weight:700;font-size:13px}.bungalows-filter-backdrop{display:none}
@media(max-width:1000px){.bungalows-layout{grid-template-columns:220px minmax(0,1fr);gap:20px}.bungalows-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.bungalows-page{padding:30px 0 48px}.bungalows-shell{width:calc(100% - 28px)}.bungalows-heading{align-items:center}.bungalows-heading h1{font-size:30px}.bungalows-heading p{font-size:13px}.bungalows-mobile-filter{display:inline-flex}.bungalows-layout{display:block}.bungalows-filter{position:fixed;z-index:1002;top:0;bottom:0;left:0;width:min(86vw,330px);border-radius:0 18px 18px 0;transform:translateX(-105%);transition:transform .22s ease;overflow:auto}.bungalows-filter.is-open{transform:translateX(0)}.bungalows-filter__mobile-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #e8eee9}.bungalows-filter__mobile-head button{border:0;background:transparent;font-size:28px;line-height:1;color:#526158}.bungalows-filter-backdrop{position:fixed;z-index:1001;inset:0;background:rgba(12,27,19,.36)}.bungalows-filter-backdrop.is-open{display:block}.bungalows-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bungalows-results__head h1,.bungalows-results__head h2{font-size:21px}}
@media(max-width:520px){.bungalows-heading p{display:none}.bungalows-grid{grid-template-columns:1fr}.bungalows-results__head{align-items:center}.bungalows-results__head>strong{white-space:nowrap}}

/* ==========================================================
   BungalovTR Mobile — Bungalov archive polish v21
   Visual-only mobile refinement. Desktop is isolated.
   ========================================================== */
@media (max-width: 820px) {
  .bungalows-page {
    padding: 14px 0 36px !important;
    background: #f7faf7 !important;
  }

  .bungalows-shell {
    width: calc(100% - 20px) !important;
  }

  .bungalows-mobile-filter {
    width: 100% !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    margin: 4px 0 14px !important;
    padding: 0 14px !important;
    border: 1px solid #dbe6dc !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: 0 5px 16px rgba(29, 62, 42, .045) !important;
    color: #214d3b !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  .bungalows-mobile-filter span {
    min-width: 22px !important;
    height: 22px !important;
    display: inline-grid !important;
    place-items: center !important;
    margin: 0 !important;
    padding: 0 6px !important;
    border-radius: 999px !important;
    background: #e8f3ea !important;
    color: #24794d !important;
    font-size: 10px !important;
  }

  .bungalows-layout {
    display: block !important;
  }

  .bungalows-results__head {
    align-items: flex-end !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
    padding: 0 2px !important;
  }

  .bungalows-results__head span {
    margin-bottom: 3px !important;
    font-size: 9px !important;
    letter-spacing: .1em !important;
  }

  .bungalows-results__head h1,
  .bungalows-results__head h2 {
    font-size: 20px !important;
    line-height: 1.16 !important;
    letter-spacing: -.025em !important;
  }

  .bungalows-results__head > strong {
    padding-bottom: 2px !important;
    color: #78857d !important;
    font-size: 10.5px !important;
    white-space: nowrap !important;
  }

  .bungalows-active-filters {
    flex-wrap: nowrap !important;
    gap: 6px !important;
    margin: 0 -2px 12px !important;
    padding: 0 2px 3px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }

  .bungalows-active-filters::-webkit-scrollbar {
    display: none !important;
  }

  .bungalows-active-filters span,
  .bungalows-active-filters a {
    flex: 0 0 auto !important;
    min-height: 28px !important;
    padding: 4px 9px !important;
    font-size: 10px !important;
  }

  .bungalows-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  .bungalows-grid .bungalow-card {
    border-radius: 13px !important;
    overflow: hidden !important;
    box-shadow: 0 7px 20px rgba(27, 55, 40, .055) !important;
  }

  .bungalows-grid .bungalow-card-media {
    aspect-ratio: 1.28 / 1 !important;
  }

  .bungalows-grid .bungalow-card-body {
    min-height: 0 !important;
    padding: 9px !important;
  }

  .bungalows-grid .bungalow-card h3 {
    min-height: 34px !important;
    margin: 0 0 4px !important;
    font-size: 13px !important;
    line-height: 1.28 !important;
  }

  .bungalows-grid .bungalow-card .location {
    margin-bottom: 5px !important;
    font-size: 9.5px !important;
  }

  .bungalows-grid .bungalow-card .card-link {
    font-size: 9.5px !important;
  }

  .bungalows-pagination {
    margin-top: 22px !important;
  }

  .bungalows-pagination ul {
    justify-content: center !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
  }

  .bungalows-pagination a,
  .bungalows-pagination span {
    width: 34px !important;
    height: 34px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
  }

  .bungalows-empty {
    padding: 30px 18px !important;
    border-radius: 14px !important;
  }

  .bungalows-empty strong {
    font-size: 16px !important;
  }

  .bungalows-empty p,
  .bungalows-empty a {
    font-size: 12px !important;
  }
}

@media (max-width: 380px) {
  .bungalows-shell {
    width: calc(100% - 16px) !important;
  }

  .bungalows-grid {
    gap: 7px !important;
  }

  .bungalows-grid .bungalow-card-body {
    padding: 8px !important;
  }

  .bungalows-grid .bungalow-card h3 {
    font-size: 12px !important;
  }
}

/* ==========================================================
   Mobile filter sticky action fix v197
   Keep the submit action visible above the fixed bottom nav.
   ========================================================== */
@media (max-width: 820px) {
  .bungalows-filter {
    padding-bottom: calc(var(--btr-mobile-nav-h, 72px) + env(safe-area-inset-bottom, 0px) + 12px) !important;
    overscroll-behavior: contain;
  }

  .bungalows-filter__mobile-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 6 !important;
    background: #fff !important;
  }

  .bungalows-filter__form {
    position: relative !important;
    padding-bottom: calc(var(--btr-mobile-nav-h, 72px) + env(safe-area-inset-bottom, 0px) + 18px) !important;
  }

  .bungalows-filter-submit {
    position: sticky !important;
    bottom: calc(var(--btr-mobile-nav-h, 72px) + env(safe-area-inset-bottom, 0px) + 10px) !important;
    z-index: 7 !important;
    width: calc(100% - 32px) !important;
    min-height: 46px !important;
    margin: 12px 16px 0 !important;
    border-radius: 12px !important;
    background: #24794d !important;
    color: #fff !important;
    box-shadow: 0 8px 24px rgba(22, 76, 47, .24), 0 0 0 8px rgba(255,255,255,.96) !important;
  }

  .bungalows-filter-submit:hover,
  .bungalows-filter-submit:focus-visible {
    background: #1d6841 !important;
  }
}

/* ==========================================================
   Mobile filter submit in natural document flow v198
   Submit appears only at the real end of the filter list.
   ========================================================== */
@media (max-width: 820px) {
  .bungalows-filter {
    padding-bottom: 0 !important;
  }

  .bungalows-filter__form {
    position: relative !important;
    padding-bottom: calc(var(--btr-mobile-nav-h, 72px) + env(safe-area-inset-bottom, 0px) + 24px) !important;
  }

  .bungalows-filter-submit {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    width: calc(100% - 32px) !important;
    min-height: 46px !important;
    margin: 16px 16px 0 !important;
    border-radius: 12px !important;
    background: #24794d !important;
    color: #fff !important;
    box-shadow: none !important;
  }

  .bungalows-filter-submit:hover,
  .bungalows-filter-submit:focus-visible {
    background: #1d6841 !important;
  }
}

/* ==========================================================
   Mobile archive destination bottom-sheet picker v199
   Keeps desktop selects untouched. Native mobile selects are hidden and
   replaced by buttons that open the shared BungalovTR bottom-sheet UI.
   ========================================================== */
@media (max-width: 820px) {
  .bungalows-destination-selects {
    display: grid !important;
    gap: 8px !important;
  }

  .bungalows-destination-selects .btr-mobile-native-select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .bungalows-destination-selects .btr-bungalows-select-trigger {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0 36px 0 12px !important;
    border: 1px solid #dfe7df !important;
    border-radius: 10px !important;
    outline: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #69766d !important;
    font: inherit !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }

  .bungalows-destination-selects .btr-bungalows-select-trigger.has-value {
    color: #314139 !important;
    font-weight: 600 !important;
  }

  .bungalows-destination-selects .btr-bungalows-select-trigger::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    right: 13px !important;
    width: 7px !important;
    height: 7px !important;
    border-right: 1.5px solid #607168 !important;
    border-bottom: 1.5px solid #607168 !important;
    transform: translateY(-68%) rotate(45deg) !important;
    pointer-events: none !important;
  }

  .btr-bungalows-destination-picker {
    z-index: 1700 !important;
  }
}


/* ==========================================================
   Mobile archive city/district picker repair v234
   - Desktop custom dropdown UI is hidden on mobile.
   - Native selects stay as the data source only.
   - Shared mobile app turns each select into its own bottom-sheet trigger.
   ========================================================== */
@media (max-width: 820px) {
  .bungalows-filter .bungalows-destination-pickers {
    display: none !important;
  }

  .bungalows-filter .bungalows-destination-selects {
    position: relative !important;
    display: grid !important;
    gap: 8px !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
  }

  /* The native selects are only the backing data model on mobile. */
  .bungalows-filter .bungalows-destination-selects select,
  .bungalows-filter .bungalows-destination-selects .btr-mobile-native-select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /* app.js creates this trigger for each select. Keep city and district separate. */
  .bungalows-filter .bungalows-destination-selects .btr-mobile-select-trigger {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0 38px 0 12px !important;
    border: 1px solid #dfe7df !important;
    border-radius: 10px !important;
    outline: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #69766d !important;
    font: inherit !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }

  .bungalows-filter .bungalows-destination-selects .btr-mobile-select-trigger.has-value {
    color: #314139 !important;
    font-weight: 600 !important;
  }

  .bungalows-filter .bungalows-destination-selects .btr-mobile-select-trigger::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    right: 14px !important;
    width: 7px !important;
    height: 7px !important;
    border-right: 1.5px solid #607168 !important;
    border-bottom: 1.5px solid #607168 !important;
    transform: translateY(-68%) rotate(45deg) !important;
    pointer-events: none !important;
  }
}
