/* --- Layout --- */








@media (max-width: 991.98px){
  .desktop-row{ display:none; }
  .mobile-wrap{ display:block; }
  .map-col{ position:static; height:auto; }
}


.card-address {

  font-size: 12px;
}
/* --- Card polish --- */





/* --- Utilities --- */


/* ---------- Eksisterende styles / generelt (BEHOLDT) ---------- */





.leaflet-container a.leaflet-popup-close-button { position:absolute; top:0; right:0; border:none; text-align:center; width:24px; height:24px; color:#000; background:transparent; display: none;}










.h3, h3 { font-size:1.45rem; }



/* Kortliste grid (beholdt) */






/* Cards (beholdt) */














/* ---------- Pris-bobler & clusters (HVID BG) ---------- */





/* ---------- Fullscreen kort ---------- */



/* ---------- Popup ---------- */



.sgg-popup .popup-img{ width:100%; height:230px; object-fit:cover; display:block; }
.sgg-popup .fsg-popup-placeholder{ background:#f3f4f6; }
.sgg-popup .card-body{ min-height:88px; padding:16px 18px 10px; }
.sgg-popup .card-address,
.sgg-popup .card-locations{ font-size:14px; }
.sgg-popup .price-section{ padding:.5rem 1rem 1rem 1.25rem; }
.sgg-popup .price-section .btn{ flex:0 0 auto; text-decoration:none; }



/* ---------- Popup adresse (ingen baggrund) ---------- */
.sgg-popup .popup-address {
    font-size: .85rem;
    color: #6c757d;
    margin: 0 0 8px 0;
    line-height: 1.4;
}
.sgg-popup .popup-address i {
    margin-right: 6px;
    color: #6c757d;
}

/* ---------- Popup lokationer (grå baggrund) ---------- */
.sgg-popup .popup-locations {
    display: inline-block;
    background: #f3f4f6;
    color: #374151;
    font-size: .8rem;
    font-weight: 500;
    padding: 6px 12px;
    border-radius: 8px;
    margin-top: 4px;
}
.sgg-popup .popup-locations i {
    margin-right: 6px;
    color: #6b7280;
}

/* Close-knap */
.sgg-popup .leaflet-popup-close-button{
  display:flex !important; align-items:center; justify-content:center;
  right:10px; top:10px; width:34px; height:34px; line-height:34px;
  background:#fff; color:#000 !important; border-radius:50%; font-size:20px;
  box-shadow:0 2px 8px rgba(0,0,0,.2); opacity:1; z-index:6;
}



@media (max-width: 575.98px){
  .sgg-popup .popup-card{ width:min(300px, calc(100vw - 64px)); }
  .sgg-popup .popup-img{ height:210px; }
}

/* ---------- Mobil: map + bottom-sheet ---------- */

@media (max-width: 991.98px){
  .mobile-wrap{ display:block; }
  :root { --vh: 1svh; --hdr: 0px; }

  .mobile-map {
    position: sticky;
    top: var(--hdr);
    z-index: 1;
    height: calc(var(--vh) * 57);
    border-bottom-left-radius: 18px;
    border-bottom-right-radius: 18px;
    overflow: hidden;
    background: #f5f7fb;
  }
  .mobile-map.map-mobile-full {
    height: calc((var(--vh) * 100) - var(--hdr));
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }

  #map-mobile{ width:100%; height:100%; touch-action: pan-x pan-y; margin-top:65px; }

  .mobile-sheet{
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999;
    background:#faf9f5; border-top-left-radius:18px; border-top-right-radius:18px;
    box-shadow:0 -8px 24px rgba(0,0,0,.08);
    max-height: calc((var(--vh) * 100) - var(--hdr));
    display:flex; flex-direction:column; will-change: transform; transition: transform .22s ease;
  }
  .mobile-sheet.state-expanded{ border-radius: 0; box-shadow: 0 0 0 rgba(0,0,0,.08); }
  .mobile-sheet.state-mid{}
  .mobile-sheet.state-peek{ top: -40px; }
  .mobile-sheet.state-hidden{ display:none; }
  .mobile-sheet.hidden{ opacity:0; transform:translateY(12px); pointer-events:none; }

  .grabber { width:55px; height:5px; border-radius:999px; background:#d1d5db; margin:10px auto 6px; }
  .sheet-header { padding:12px 16px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px; touch-action:none; }

  #sauna-places-list-mobile{
    flex:1 1 auto; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch;
    padding:0 16px 18px; display:grid; grid-template-columns:1fr; gap:16px;
  }
}
