/* === Badges === */




/* === Containers / CTA === */







/* ===== Photo header (Airbnb-style) ===== */






















/* === Program (nummereret) === */




/* === Checks === */





/* === Responsive === */
@media (max-width: 991.98px){ .pris-gus{font-size:1.5rem} }

/* SINGLE mobile block */
@media (max-width: 767.98px){
  .photo-wrap{padding:13px}
  .photo-grid{height:auto;background:transparent;grid-template-columns:1fr;grid-template-areas:none;grid-auto-rows:clamp(220px,56vw,360px)}
  .photo-item{display:block}
  .photo-item img{width:100%;height:100%;object-fit:cover;object-position:center center}
  .video-container{display:block!important;height:clamp(220px,56vw,360px)!important}
  .video-container iframe{width:100%!important;height:100%!important}
  .tab-pane{padding:0}
  .ul-diagnose{width:49%;padding:0}
}

@media (prefers-reduced-motion: reduce){
  html:focus-within{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}



/* === Sticky CTA bar (bottom) === */











@media (max-width: 1199.98px){ .sgg-sticky-title{max-width:clamp(120px,36vw,380px)} }
@media (max-width: 991.98px){
  .sgg-sticky-inner{padding:8px 0}
  .sgg-sticky-title{font-size:1rem;max-width:clamp(110px,42vw,320px)}
  .sgg-sticky-price{font-size:1.2rem}
}
@media (max-width: 575.98px){
  .sgg-sticky-title{max-width:52vw}
  .sgg-sticky-right{gap:8px}
  .sgg-sticky-bar #btn-book{min-width:100px;padding:9px 14px}
}






/* Phones & tablets: kun første foto (IKKE video) */
@media (max-width: 991.98px){
  .photo-wrap{padding:13px}
  .saunagus-header{margin-top:0!important;border-top-left-radius:20px;border-top-right-radius:20px}
  
  /* Kun hide photo items når det IKKE er video */
  body:not(.has-video) .photo-grid{display:block!important;height:auto!important;grid-template-columns:none!important;grid-template-rows:none!important;grid-template-areas:none!important;grid-auto-rows:initial!important;background:transparent!important}
  body:not(.has-video) .photo-grid .photo-item{display:none!important}
  body:not(.has-video) .photo-grid .photo-item.photo-1{display:block!important;height:clamp(220px,56vw,360px)!important}
  body:not(.has-video) .photo-grid .photo-item.photo-1 img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important}
  
  /* Video container styling for tablet/mobile */
  .photo-grid .video-container{display:block!important;height:clamp(220px,56vw,360px)!important;border-radius:12px;overflow:hidden}
  .photo-grid .video-container iframe{position:absolute!important;top:50%!important;left:50%!important;width:177.77%!important;height:177.77%!important;transform:translate(-50%,-50%)!important}
  
  .tab-pane{padding:0}
  .ul-diagnose{width:49%;padding:0}
}

/* Desktop højde */
@media (min-width: 992px){ 
  .photo-grid{height:550px}
  .video-container iframe{
    width:177.77%;
    height:177.77%;
  }
}

/* Stop horisontal scroll mobil */
@media (max-width: 991.98px){
  html, body { max-width:100vw; overflow-x:hidden; }
  .container, .container-fluid, .row, [class*="col-"], .photo-shell, .photo-grid, .sgg-sticky-bar, .modal, .modal-dialog, .modal-content, .carousel, .carousel-inner, .carousel-item { max-width:100vw; overflow-x:clip; }
  .photo-grid{width:100%}
  .carousel-item img{max-width:100%;width:100%;height:auto}
  .ratio iframe, .ratio embed, .ratio object { width:100%!important; height:100%!important; display:block; }
  .badge, .sgg-sticky-title { overflow-wrap:anywhere; word-break:break-word; }
}
@supports not (overflow-x: clip){
  @media (max-width: 991.98px){
    .container, .container-fluid, .row, [class*="col-"], .photo-shell, .photo-grid, .sgg-sticky-bar, .modal, .modal-dialog, .modal-content, .carousel, .carousel-inner, .carousel-item { overflow-x:hidden; }
  }
}





@media (max-width: 767px){
  #padd-m{padding-left:20px!important;padding-right:5px!important}
  .photo-shell{overflow:visible}
  
  /* Kun vis hero-wrap for billeder, IKKE for video */
  body:not(.has-video) .hero-wrap{position:fixed;top:0;left:0;right:0;z-index:1}
  body.has-video .hero-wrap{display:none!important}
  body.has-video .hero-spacer{display:none!important}
  
  .hero{height:490px;background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:0!important;position:relative}
  .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 60%, rgba(0,0,0,.35))}
  .hero-spacer{height:450px;background:transparent;pointer-events:none}
  .hero-spacer ~ section, .hero-spacer ~ div, .hero-spacer ~ *{position:relative;z-index:99999;background:#faf9f5}
  
  body:not(.has-video) .photo-shell .photo-grid{display:none!important}
  .photo-wrap{padding:0!important}
  .saunagus-header{margin-top:0!important}
  html, body{overflow-x:hidden!important}
  .top-actions{position:absolute;right:16px;top:16px;display:flex;gap:12px;z-index:2;margin-top:70px}
  .top-actions-left .btn{border-radius:999px;padding:8px 12px;background:#fff;border:1px solid rgba(0,0,0,.08);font-weight:600;font-size:14px;margin-top:70px}
  .view-all-btn{position:absolute;right:16px;bottom:80px;background:#fff;border-radius:999px;border:1px solid rgba(0,0,0,.08);padding:10px 14px;font-weight:600;box-shadow:0 6px 20px rgba(0,0,0,.15);font-size:14px;color:#000!important;z-index:9999}
  
  /* Video special styling for mobile */
  body.has-video .photo-shell{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;height:490px!important;z-index:1!important;overflow:hidden!important;border-radius:0!important}
  body.has-video .photo-shell .photo-grid{display:block!important;height:490px!important;margin:0!important;padding:0!important}
  body.has-video .video-container{height:490px!important;width:100%!important;background:#000!important;position:relative!important;z-index:1!important}
  body.has-video .video-container iframe{position:absolute!important;top:50%!important;left:50%!important;width:177.77%!important;height:177.77%!important;transform:translate(-50%,-50%)!important;z-index:1!important}
  body.has-video .top-actions{z-index:99999!important}
  body.has-video .top-actions-left{z-index:99999!important}
  body.has-video .view-all-btn{z-index:99999!important}
  body.has-video .saunagus-header{margin-top:450px!important}
}
@media (max-width: 767.98px){
  .hero{background-size:cover;background-position:center;will-change:transform;transform-origin:center center;transition:transform .05s linear}
}




@media (max-width: 767.98px){
  .hero-wrap {
    overflow: hidden;
  }
  .hero {
    transform-origin: center center;
    transition: transform 0.05s linear;
  }
}

/* === Adresse sektion === */







/* ========================================
   GALLERY MODAL - COMPLETE STYLES
   ======================================== */








/* Close button - custom SVG */






/* Carousel container */






/* Slide wrapper */




/* Counter */


/* Navigation buttons */








/* Hide default Bootstrap icons */


/* Dot indicators */








/* No images fallback */


/* Mobile gallery styles */
@media (max-width: 767.98px) {
  .sgg-modal-close {
    top: 15px;
    right: 15px;
    width: 44px;
    height: 44px;
  }
  
  .sgg-carousel-counter {
    top: 20px;
    font-size: 13px;
    padding: 6px 14px;
  }
  
  .sgg-slide-wrap {
    padding: 80px 10px 100px;
  }
  
  .sgg-slide-wrap img {
    max-height: calc(100vh - 180px);
  }
  
  #carouselPhotos .carousel-control-prev,
  #carouselPhotos .carousel-control-next {
    width: 50px;
    padding: 30px 0;
  }
  
  .sgg-nav-btn {
    width: 40px;
    height: 40px;
  }
  
  .sgg-nav-btn svg {
    width: 18px;
    height: 18px;
  }
  
  #carouselPhotos .carousel-indicators {
    bottom: 25px;
    padding: 8px 14px;
    gap: 8px;
  }
  
  #carouselPhotos .carousel-indicators button {
    width: 8px;
    height: 8px;
  }
}

/* Tablet adjustments */
@media (min-width: 768px) and (max-width: 991.98px) {
  .sgg-slide-wrap {
    padding: 70px 30px;
  }
}

/* Remove any white flash on modal open - SUPER HIGH Z-INDEX */




/* Ensure touch works on mobile */



/* === Views text === */



.fes-empty, .fes-empty * { box-sizing: border-box; }
      .fes-empty p, .fes-empty ul { margin: 0; padding: 0; }
      .fes-empty strong { font-weight: 700; }

      .fes-empty--flat{
        --fes-bg: #fff;
        --fes-text: #0e0f11;
        --fes-muted: #6b7280;
        --fes-accent: #0c9b87;
        --fes-border: #e6e6e9;
        --fes-radius: 16px;
        --fes-radius-sm: 10px;
        --fes-gap: 24px;
        --fes-line: 1px solid var(--fes-border);
        background: var(--fes-bg);
        border: var(--fes-line);
        border-radius: var(--fes-radius);
      }

      .fes-empty__grid{
        display: grid;
        grid-template-columns: 1fr minmax(280px, 340px);
        gap: var(--fes-gap);
        padding: 24px;
        align-items: start;
      }

      .fes-empty__content{ min-width: 0; }

      .fes-title{
        margin:0 0 8px 0;
        font-size: clamp(1.15rem, 0.9rem + 1.3vw, 1.6rem);
        font-weight: 800;
        color: var(--fes-text);
        line-height: 1.2;
      }

      .fes-lead{
        color: var(--fes-text);
        opacity:.9;
        margin:0 0 14px 0;
        line-height:1.5;
      }

      .fes-feature-cols{
        display:grid;
        grid-template-columns: 1fr;
        gap: 8px 24px;
        margin: 6px 0 10px 0;
      }

      .fes-list{ list-style:none; }
      .fes-list li{
        display:flex; align-items:flex-start; gap:12px;
        padding:6px 0;
        line-height: 1.45;
      }

      .fes-ic{
        width:20px; height:20px; flex:0 0 20px; border-radius:50%;
        border: 2px solid var(--fes-accent);
        position: relative; display:inline-block;
      }
      .fes-ic--check::after{
        content:"";
        position:absolute; left:50%; top:50%;
        width:10px; height:6px;
        transform: translate(-50%,-58%) rotate(-45deg);
        border-left: 2px solid var(--fes-accent);
        border-bottom:2px solid var(--fes-accent);
      }

      .fes-btn{
        display:inline-flex; align-items:center; justify-content:center;
        padding: .7rem 1rem; border-radius: var(--fes-radius-sm);
        border: 1px solid transparent; text-decoration:none; font-weight:700;
        line-height:1; cursor:pointer; transition: all 0.15s ease;
      }
      .fes-btn--primary{ background:#111; color:#fff; border-color:#111; }
      .fes-btn--primary:hover, .fes-btn--primary:focus{ background:#000; border-color:#000; color:#fff; transform: translateY(-1px); }
      .fes-btn--block{ width:100%; }

      .fes-empty__aside{
        border-left: var(--fes-line);
        padding-left: 24px;
      }
      .fes-price{
        position:sticky; top: 16px;
        display:flex; flex-direction:column; gap:12px;
      }
      
      .fes-price__header{
        margin-bottom: 4px;
      }
      
      .fes-price__big{
        font-size: 1.75rem;
        font-weight: 700;
        color: var(--fes-text);
      }

      .fes-price__points{
        list-style:none; padding:0; margin:6px 0 8px 0; display:grid; gap:8px;
      }
      .fes-price__points li{ display:flex; align-items:center; gap:12px; line-height:1.45; }

      .mt-3{ margin-top: 12px; }

      @media (max-width: 991.98px){
        .fes-empty__grid{
          grid-template-columns: 1fr;
          padding: 20px;
          gap: 18px;
        }
        .fes-empty__aside{
          border-left:none; padding-left:0; border-top: var(--fes-line); padding-top:16px;
        }
        .fes-price{ position:static; }
      }

.facility-check {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    border-radius: 50%;
    border: 2px solid #0c9b87;
    position: relative;
    display: inline-block;
}

.facility-check::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10px;
    height: 6px;
    transform: translate(-50%, -58%) rotate(-45deg);
    border-left: 2px solid #0c9b87;
    border-bottom: 2px solid #0c9b87;
}

.facility-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.facility-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    line-height: 1.45;
}

.facility-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 24px;
    margin: 24px 0;
}

.facility-col h3 {
    margin-bottom: 12px;
    font-size: 18px;
    color: #1a1a1a;
}

@media (max-width: 768px) {
    .facility-row {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}
