/* ═══════════════════════════════════════════════
   VEIHOLMEN 866 — Stylesheet
   veiholmen866.no
════════════════════════════════════════════════ */

/* ─── SELF-HOSTED FONTS ───
   Cormorant Garamond + Jost servert lokalt fra /fonts/ for å unngå
   1-2 sek render-blokkering fra fonts.googleapis.com (~750ms CSS-runde
   + ~1100ms woff2-runde mot fonts.gstatic.com).
   font-display: swap = vis fallback umiddelbart, bytt når custom font er klar. */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;
  src:url('/fonts/cormorant-garamond-latin-300-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300;font-display:swap;
  src:url('/fonts/cormorant-garamond-latin-300-italic.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;
  src:url('/fonts/cormorant-garamond-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;
  src:url('/fonts/cormorant-garamond-latin-400-italic.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;
  src:url('/fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:600;font-display:swap;
  src:url('/fonts/cormorant-garamond-latin-600-italic.woff2') format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;
  src:url('/fonts/jost-latin-300-normal.woff2') format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;
  src:url('/fonts/jost-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;
  src:url('/fonts/jost-latin-500-normal.woff2') format('woff2')}

:root{
  --navy:#0d1b2e; --deep:#091422; --gold:#c8a96e; --gold-light:#e2c98e;
  --cream:#f4efe6; --mist:#b8c9d4; --text:#e8e2d8; --text-dim:#8a9aaa;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--deep);color:var(--text);font-family:'Jost',sans-serif;font-weight:300;overflow-x:hidden}

/* <picture> skal være transparent i layout — slik at CSS som .fact-card>img, .fact-card>picture>img
   fortsatt matcher selv om img er pakket inn i <picture> for AVIF-fallback */
picture{display:contents}

/* ─── NAV ─── */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;justify-content:space-between;align-items:center;
    padding:1.1rem 1.8rem;gap:1.5rem;background:linear-gradient(to bottom,rgba(9,20,34,.88),transparent);
    transition:background .4s}
nav.scrolled{background:rgba(9,20,34,.97)}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:400;letter-spacing:.12em;
          color:var(--gold);text-transform:uppercase;text-decoration:none;flex-shrink:0}
.nav-links{display:flex;gap:1.6rem;list-style:none}
.nav-links a{color:var(--text);text-decoration:none;font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;
             opacity:.8;transition:opacity .2s,color .2s}
.nav-links a:hover{opacity:1;color:var(--gold)}
@media(max-width:820px){
  .nav-links{display:none}
  /* Tighten nav so hamburger fits */
  nav{padding:.9rem 1rem;gap:.5rem}
  .nav-logo{font-size:.85rem;letter-spacing:.08em}
  .lang-btn{padding:.25rem .55rem;font-size:.65rem}
  .lang-switcher{gap:.3rem}
}

.lang-switcher{display:flex;align-items:center;gap:.45rem}
.lang-switcher>span{color:rgba(200,169,110,.3);pointer-events:none}
.lang-btn{background:none;border:1px solid rgba(200,169,110,.25);color:var(--text-dim);
          font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.1em;padding:.28rem .65rem;
          cursor:pointer;transition:all .2s;border-radius:2px;line-height:1}
.lang-btn.active{border-color:var(--gold);color:var(--gold);background:rgba(200,169,110,.08)}
.lang-btn:hover{border-color:var(--gold);color:var(--gold)}

/* ─── HERO ─── */
.hero{position:relative;height:100vh;height:100dvh;min-height:600px;display:flex;align-items:flex-end;overflow:hidden}
/* Dekorative bakgrunns-elementer skal IKKE fange touch-events — særlig viktig
   for Meta/Instagram in-app browser hvor video-elementer ellers kan holde
   første touch i 1-2 sek før det slipper gjennom til body-scroll. */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.52);pointer-events:none}
.hero-gradient{position:absolute;inset:0;background:linear-gradient(to top,rgba(9,20,34,1) 0%,rgba(9,20,34,.45) 35%,rgba(9,20,34,0) 70%);pointer-events:none}
.hero-content{position:relative;z-index:2;width:100%;padding:3rem 2rem 5rem;max-width:900px;margin:0 auto}
.hero-tag{display:inline-block;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);
          border:1px solid var(--gold);padding:.35rem .9rem;margin-bottom:1.5rem;opacity:0;
          animation:fadeUp 1s .3s ease forwards}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,8vw,5.5rem);font-weight:300;line-height:1.1;
         color:var(--cream);margin-bottom:1.2rem;opacity:0;animation:fadeUp 1s .5s ease forwards}
.hero h1 em{font-style:italic;color:var(--gold-light)}
.hero-sub{font-size:clamp(.9rem,2.5vw,1.05rem);color:var(--mist);max-width:560px;line-height:1.7;opacity:0;
          animation:fadeUp 1s .7s ease forwards}
.hero-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:2;
             display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:0;
             animation:fadeIn 1s 1.4s ease forwards}
.hero-scroll span{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);opacity:.7}
.scroll-line{width:1px;height:38px;background:linear-gradient(to bottom,var(--gold),transparent);
             animation:scrollPulse 2s 2s infinite}




/* ─── PRICE STRIP ─── */
.price-wrap{background:var(--navy);border-top:1px solid rgba(200,169,110,.2);border-bottom:1px solid rgba(200,169,110,.2)}
.price-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1.5rem 2rem;
             max-width:1100px;margin:0 auto;padding:2rem}
.stat{text-align:center}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:clamp(1.4rem,4vw,2rem);font-weight:600;
          color:var(--gold);display:block;line-height:1.1}
.stat-label{font-size:.67rem;letter-spacing:.13em;text-transform:uppercase;color:var(--text-dim);
            margin-top:.3rem;display:block}

/* ─── FINN BAR + SALGSOPPGAVE BAR ─── */
.finn-bar{background:var(--navy);padding:.9rem 2rem 1.4rem;text-align:center;border-bottom:1px solid rgba(200,169,110,.12);
          display:flex;justify-content:center;align-items:center;gap:.6rem;flex-wrap:wrap}
.finn-btn,.salgs-btn,.visning-btn{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;
          font-family:'Jost',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
          color:var(--gold);background:rgba(200,169,110,.08);
          border:1px solid var(--gold);padding:.55rem 1.6rem;border-radius:2px;
          transition:all .25s}
.visning-btn{color:var(--deep);background:var(--gold)}
.finn-btn:hover,.salgs-btn:hover{color:var(--deep);background:var(--gold);border-color:var(--gold)}
.visning-btn:hover{background:var(--gold-light);border-color:var(--gold-light);color:var(--deep)}
.finn-btn svg,.salgs-btn svg,.visning-btn svg{flex-shrink:0;transition:transform .25s}
.finn-btn:hover svg{transform:translateX(3px)}
.salgs-btn:hover svg{transform:translateY(2px)}
@media(max-width:600px){
  .finn-bar{flex-direction:column;align-items:stretch;padding:.9rem 1.2rem 1.2rem}
  .finn-btn,.salgs-btn,.visning-btn{justify-content:center}
}

/* ─── GENERIC SECTION ─── */
section{padding:6rem 2rem}
.container{max-width:1100px;margin:0 auto}
.section-tag{font-size:.67rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);
             margin-bottom:1rem;display:block}
h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,5vw,3.4rem);font-weight:300;line-height:1.15;
   color:var(--cream);margin-bottom:1.5rem}
h2 em{font-style:italic;color:var(--gold-light)}
p{line-height:1.85;color:rgba(232,226,216,.8);font-size:.97rem;max-width:680px}
.divider{width:60px;height:1px;background:linear-gradient(to right,var(--gold),transparent);margin:1.5rem 0 2rem}
.divider-center{margin-left:auto;margin-right:auto;background:linear-gradient(to right,transparent,var(--gold),transparent)}

/* ─── ABOUT ─── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
@media(max-width:768px){.about-grid{grid-template-columns:1fr;gap:3rem}}
.about-image{position:relative;overflow:hidden}
.about-image img,.about-image video{width:100%;height:520px;object-fit:cover;display:block;transition:transform .8s}
.about-image:hover img{transform:scale(1.04)}
.about-image::after{content:'';position:absolute;inset:0;border:1px solid rgba(200,169,110,.25);pointer-events:none}
@media(max-width:768px){.about-image img,.about-image video{height:340px}}
.about-text p+p{margin-top:1.2rem}

/* ─── FAKTA-SECTION (the killer one) ─── */
.facts-section{background:var(--navy);padding:6rem 2rem}
.facts-section h2{margin-bottom:.5rem}
.facts-section>.container>p{margin-bottom:3rem}
.facts-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem}
@media(max-width:768px){.facts-grid{grid-template-columns:1fr;gap:2rem}}
.fact-card{position:relative;overflow:hidden;background:var(--deep);border:1px solid rgba(200,169,110,.15)}
.fact-card:hover img{transform:scale(1.03)}
.fact-card figcaption{padding:1.5rem}
.fact-label{font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.5rem}
.fact-title{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--cream);display:block;margin-bottom:.7rem}
.fact-desc{font-size:.88rem;color:var(--text-dim);line-height:1.65;display:block}

/* ─── VERANDA SPLIT ─── */
.veranda-section{background:var(--deep);padding:6rem 2rem}
.veranda-single{position:relative;overflow:hidden;max-width:900px;margin-left:auto;margin-right:auto}
.veranda-single img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;transition:transform .6s;filter:brightness(.95)}
.veranda-single:hover img{transform:scale(1.03);filter:brightness(1)}
.veranda-single figcaption{text-align:center;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
                            color:var(--text-dim);margin-top:1.2rem;font-style:italic;font-family:'Cormorant Garamond',serif;letter-spacing:.05em;font-size:.9rem}

/* ─── DETAILS ─── */
.details-section{background:var(--navy);padding:6rem 0}
.details-section>.container{padding:0 2rem}
.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:4px;padding:0 4px;margin-top:3rem}
.detail-item{position:relative;overflow:hidden;aspect-ratio:3/2;background:var(--deep)}
.detail-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s,filter .4s;filter:brightness(.85)}
.detail-item:hover img{transform:scale(1.06);filter:brightness(1)}
.detail-item figcaption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
                        padding:1.5rem;background:linear-gradient(to top,rgba(9,20,34,.92) 0%,rgba(9,20,34,.4) 40%,transparent 70%)}
.detail-title{font-family:'Cormorant Garamond',serif;font-size:1.15rem;color:var(--cream);display:block;margin-bottom:.3rem}
.detail-desc{font-size:.78rem;color:var(--mist);line-height:1.5;display:block}



/* Details: ensure entire card is clickable (figcaption shouldn't block) */
.detail-item{cursor:zoom-in}
.detail-item img.clickable-img{cursor:zoom-in}

/* ─── NAUST SECTION ─── */
.naust-section{background:var(--deep)}
.naust-intro{text-align:center;padding:5rem 2rem 3rem}
.naust-intro .section-tag,.naust-intro .divider,.naust-intro h2,.naust-intro p{margin-left:auto;margin-right:auto}
.naust-intro p{color:var(--mist);font-size:1.05rem;line-height:1.8;max-width:680px}
.naust-feature{display:block;width:100%;overflow:hidden;background:var(--navy);max-height:75vh}
.naust-feature img{width:100%;height:auto;max-height:75vh;object-fit:cover;display:block;cursor:pointer;transition:transform .6s}
.naust-feature img:hover{transform:scale(1.02)}
.naust-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px}
@media(max-width:768px){.naust-gallery{grid-template-columns:1fr}}
.naust-img{overflow:hidden;aspect-ratio:4/3;background:var(--navy)}
.naust-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s;filter:brightness(.92)}
.naust-img:hover img{transform:scale(1.05);filter:brightness(1)}


/* ─── IMAGE PANEL ─── */
.img-panel{height:65vw;max-height:640px;min-height:380px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.img-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom}
.img-panel-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(9,20,34,.6) 0%,rgba(9,20,34,.05) 35%,rgba(9,20,34,.05) 65%,rgba(9,20,34,.75) 100%)}
.img-panel-text{position:relative;z-index:2;text-align:center;padding:2rem}
.img-panel-text blockquote{font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,3.5vw,2.2rem);
                            font-style:italic;font-weight:300;color:var(--cream);max-width:680px;line-height:1.45}
.img-panel-text cite{display:block;font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.2em;
                     text-transform:uppercase;color:var(--gold);margin-top:1rem;font-style:normal}

/* ─── VIDEO PANEL ─── */
.vid-panel{position:relative;height:60vw;max-height:600px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.vid-panel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.6) saturate(1.2)}
.vid-panel-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(9,20,34,.55) 0%,rgba(9,20,34,.05) 35%,rgba(9,20,34,.05) 60%,rgba(9,20,34,.75) 100%)}
.vid-panel-text{position:relative;z-index:2;text-align:center;padding:2rem}
.vid-panel-text blockquote{font-family:'Cormorant Garamond',serif;font-size:clamp(1.4rem,4vw,2.4rem);font-style:italic;
                           font-weight:300;color:var(--cream);max-width:700px;line-height:1.4}
.vid-panel-text cite{display:block;font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.22em;
                     text-transform:uppercase;color:var(--gold);margin-top:1.1rem;font-style:normal}





/* ─── Clean video presentation (no overlay) ─── */
.video-clean{position:relative;display:block;width:100%;background:var(--deep);margin:0}
.video-clean video{display:block;width:100%;height:auto;max-height:78vh;object-fit:cover}
.video-clean figcaption{padding:1.2rem 2rem 1.5rem;text-align:center;background:var(--navy);
                         border-bottom:1px solid rgba(200,169,110,.1)}
.video-clean-tag{display:block;font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.video-clean-title{display:block;font-family:'Cormorant Garamond',serif;font-size:clamp(1.1rem,2.4vw,1.45rem);
                    font-weight:300;color:var(--cream);font-style:italic}

/* ─── Panel headings (nordlys + new video panels) ─── */
.panel-heading{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,4vw,2.6rem);font-weight:300;
               color:var(--cream);line-height:1.25;margin-bottom:.8rem;text-align:center;max-width:720px}
.panel-heading em{font-style:italic;color:var(--gold-light)}
.panel-body{font-size:clamp(.92rem,2.2vw,1.05rem);color:var(--mist);max-width:560px;line-height:1.7;
            text-align:center;margin:0 auto}
.img-panel-text .panel-heading,.vid-panel-text .panel-heading{margin-left:auto;margin-right:auto}
.vid-panel-text .section-tag{margin-bottom:1rem}

/* Shorter video panels for secondary content */
.vid-panel-short{height:48vw;max-height:440px}

/* ─── SEASONS ─── */
.seasons-section{background:var(--navy);padding:6rem 2rem;border-top:1px solid rgba(200,169,110,.12)}
.seasons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2rem;margin-top:3rem}
.season{text-align:center;padding:2rem 1.5rem;border:1px solid rgba(200,169,110,.1);
        transition:border-color .3s,background .3s}
.season:hover{border-color:rgba(200,169,110,.3);background:rgba(200,169,110,.03)}
.season-icon{font-size:2rem;margin-bottom:1rem;display:block}
.season-name{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--cream);margin-bottom:.7rem;display:block}
.season p{font-size:.85rem;text-align:center;max-width:none}

/* ─── ALBUM ─── */
.album-section{background:var(--deep);padding:6rem 0}
.album-section>.container{padding:0 2rem;margin-bottom:2.5rem}
.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:6px;padding:0 2rem;margin-bottom:4rem}
@media(max-width:480px){.album-grid{grid-template-columns:repeat(2,1fr);gap:4px;padding:0 4px}}
.album-thumb{position:relative;overflow:hidden;cursor:pointer;aspect-ratio:3/2;background:#0a1520}
.album-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s,filter .4s;
                  filter:brightness(.85) saturate(1.05)}
.album-thumb:hover img{transform:scale(1.07);filter:brightness(1) saturate(1.15)}
.album-thumb-overlay{position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(9,20,34,.7));opacity:0;transition:opacity .3s}
.album-thumb:hover .album-thumb-overlay{opacity:1}
.album-thumb-num{position:absolute;bottom:.6rem;right:.8rem;font-size:.65rem;color:var(--gold-light);
                  letter-spacing:.08em;opacity:0;transition:opacity .3s}
.album-thumb:hover .album-thumb-num{opacity:1}


/* ─── LIGHTBOX (modes: stack + fullscreen) ─── */
.lb{position:fixed;inset:0;z-index:1000;background:#050b14;
    opacity:0;pointer-events:none;transition:opacity .22s ease;overflow:hidden}
.lb.open{opacity:1;pointer-events:all}

/* Top bar (always visible) */
.lb-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;
        padding:.9rem 1.2rem;background:linear-gradient(to bottom,rgba(5,11,20,.92) 0%,rgba(5,11,20,.5) 70%,transparent 100%);
        z-index:20;gap:1rem;pointer-events:none}
.lb-top > *{pointer-events:auto}
.lb-top-actions{display:flex;gap:.5rem;align-items:center}
.lb-counter{font-size:.72rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;white-space:nowrap;
            font-variant-numeric:tabular-nums}

/* Close button (44px touch target + label) */
.lb-close{display:inline-flex;align-items:center;gap:.5rem;
          background:rgba(200,169,110,.15);border:1px solid var(--gold);color:var(--gold);
          padding:.55rem .9rem;min-height:42px;border-radius:3px;
          font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;
          cursor:pointer;transition:all .2s;flex-shrink:0}
.lb-close:hover{background:var(--gold);color:var(--deep)}
.lb-close svg{flex-shrink:0}
@media(max-width:480px){.lb-close-label{display:none}.lb-close{padding:.5rem .6rem;min-width:42px;justify-content:center}}

/* ── Mode visibility ── */
.lb-stack{display:none}
.lb-fs{display:none}
.lb.lb-mode-stack .lb-stack{display:block}
.lb.lb-mode-fullscreen .lb-fs{display:flex}

/* ── STACK MODE: simple vertical scroll feed (mobile only) ──
   Each image displays with its caption underneath. No snap, no
   highlighting, no IO tracking — just smooth native scrolling. */
.lb-stack{position:absolute;inset:0;width:100%;height:100%;
          overflow-y:auto;overflow-x:hidden;
          -webkit-overflow-scrolling:touch;
          touch-action:pan-y;scrollbar-width:none;
          padding:5rem 0 3rem;box-sizing:border-box}
.lb-stack::-webkit-scrollbar{display:none}
.lb-stack-item{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  padding:1rem 1rem 1.5rem;position:relative;cursor:zoom-in;
  box-sizing:border-box;
}
.lb-stack-item img{max-width:100%;max-height:72dvh;width:auto;height:auto;
                   object-fit:contain;display:block;
                   user-select:none;-webkit-user-drag:none;
                   border-radius:2px;
                   box-shadow:0 6px 28px rgba(0,0,0,.45);
                   background:#0a1520}
.lb-stack-cap{font-family:'Cormorant Garamond',serif;font-style:italic;
              font-size:1rem;color:var(--cream);text-align:center;
              margin-top:.85rem;padding:0 .5rem;max-width:560px;
              line-height:1.45;opacity:.9}

@media(max-width:600px){
  .lb-stack{padding:4.5rem 0 2.5rem}
  .lb-stack-item{padding:.8rem .5rem 1.2rem}
  .lb-stack-item img{max-height:70dvh}
  .lb-stack-cap{font-size:.95rem;margin-top:.7rem}
}

/* In stack mode, the global counter and bottom caption are redundant
   (each item has its own caption inline). */
.lb.lb-mode-stack .lb-counter{display:none}
.lb.lb-mode-stack .lb-bottom{display:none}

/* ── FULLSCREEN MODE: single image with horizontal swipe ── */
.lb-fs{position:absolute;inset:0;width:100%;height:100%;
       align-items:center;justify-content:center}
.lb-img-wrap{flex:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;
              padding:4.5rem 4.5rem 4.5rem;overflow:hidden;touch-action:none}
@media(max-width:600px){.lb-img-wrap{padding:4rem .8rem 4rem}}
.lb-img{max-width:100%;max-height:100%;object-fit:contain;display:block;
        transform-origin:center center;
        touch-action:none;will-change:transform;user-select:none;-webkit-user-drag:none;
        cursor:zoom-out}

/* Bottom caption bar */
.lb-bottom{position:absolute;bottom:0;left:0;right:0;padding:1rem 1.5rem 1.5rem;
            background:linear-gradient(to top,rgba(5,11,20,.97) 0%,rgba(5,11,20,.7) 70%,transparent 100%);
            z-index:15;text-align:center;pointer-events:none}
.lb-caption{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.05rem;
             color:var(--cream);max-width:680px;display:inline-block;line-height:1.4}
@media(max-width:600px){.lb-caption{font-size:.95rem}}

.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(9,20,34,.7);
                  border:1px solid rgba(200,169,110,.3);color:var(--gold);width:48px;height:48px;font-size:1.2rem;
                  cursor:pointer;transition:background .2s,border-color .2s;z-index:15;
                  display:flex;align-items:center;justify-content:center;border-radius:50%}
.lb-prev{left:.8rem}.lb-next{right:.8rem}
.lb-prev:hover,.lb-next:hover{background:rgba(200,169,110,.2);border-color:var(--gold)}
@media(max-width:480px){.lb-prev{left:.4rem}.lb-next{right:.4rem}.lb-prev,.lb-next{width:42px;height:42px}}

/* ─── ALBUM CTA ─── */
.album-cta{text-align:center;padding:2.5rem 2rem 3.5rem;background:var(--deep)}
.album-cta-btn{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;
               font-family:'Jost',sans-serif;font-size:.8rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
               color:var(--deep);background:var(--gold);padding:1.1rem 2.8rem;transition:all .3s;border:none;cursor:pointer}
.album-cta-btn:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 8px 25px rgba(200,169,110,.3)}
.album-cta-btn svg{flex-shrink:0;transition:transform .3s}
.album-cta-btn:hover svg{transform:translateX(4px)}
.album-cta-sub{display:block;margin-top:.9rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}



/* ─── INLINE FINN CTAs + SALGSOPPGAVE CTAs — strategic placement throughout the page ─── */
.finn-inline-cta{padding:1.8rem 2rem;background:var(--navy);text-align:center;
                  border-top:1px solid rgba(200,169,110,.1);border-bottom:1px solid rgba(200,169,110,.1);
                  display:flex;justify-content:center;align-items:center;gap:.85rem;flex-wrap:wrap}
.finn-inline-cta-subtle{padding:1.2rem 2rem;background:var(--deep)}
.finn-inline-btn,.salgs-inline-btn{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;
                  font-family:'Jost',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.18em;
                  text-transform:uppercase;color:var(--deep);background:var(--gold);
                  padding:.85rem 2rem;transition:all .25s}
.finn-inline-btn:hover,.salgs-inline-btn:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 6px 20px rgba(200,169,110,.25)}
.finn-inline-btn svg,.salgs-inline-btn svg{flex-shrink:0;transition:transform .25s}
.finn-inline-btn:hover svg{transform:translateX(3px)}
.salgs-inline-btn:hover svg{transform:translateY(2px)}
.finn-inline-cta-subtle .finn-inline-btn,
.finn-inline-cta-subtle .salgs-inline-btn{background:transparent;color:var(--gold);border:1px solid var(--gold)}
.finn-inline-cta-subtle .finn-inline-btn:hover,
.finn-inline-cta-subtle .salgs-inline-btn:hover{background:rgba(200,169,110,.08);color:var(--gold-light);border-color:var(--gold-light)}
@media(max-width:600px){
  .finn-inline-cta{flex-direction:column;align-items:stretch;padding:1.4rem 1.5rem}
  .finn-inline-cta-subtle{padding:1rem 1.5rem}
  .finn-inline-btn,.salgs-inline-btn{justify-content:center}
}

/* ─── HISTORY ─── */
.history-section{background:linear-gradient(135deg,var(--deep) 0%,#0f2040 50%,var(--deep) 100%);
                 position:relative;overflow:hidden}
.history-section::before{content:'1939';position:absolute;font-family:'Cormorant Garamond',serif;
                          font-size:clamp(8rem,20vw,18rem);font-weight:600;color:rgba(200,169,110,.04);
                          right:-2rem;top:50%;transform:translateY(-50%);line-height:1;pointer-events:none}
.history-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
@media(max-width:768px){.history-layout{grid-template-columns:1fr;gap:3rem}}
.history-text p+p{margin-top:1.2rem}
.timeline{display:flex;flex-direction:column;border-left:1px solid rgba(200,169,110,.3);padding-left:2rem;margin-top:1rem}
.timeline-item{position:relative;padding-bottom:2rem}
.timeline-item::before{content:'';position:absolute;left:-2.4rem;top:.35rem;width:8px;height:8px;
                       border-radius:50%;background:var(--gold);box-shadow:0 0 8px rgba(200,169,110,.5)}
.timeline-year{font-family:'Cormorant Garamond',serif;font-size:.85rem;color:var(--gold);letter-spacing:.1em;
               display:block;margin-bottom:.3rem}
.timeline-text{font-size:.88rem;color:var(--text-dim);line-height:1.65;max-width:none}

/* ─── CTA ─── */
.cta-section{background:var(--navy);text-align:center;padding:7rem 2rem;border-top:1px solid rgba(200,169,110,.15)}
.cta-price{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,7vw,4.5rem);font-weight:300;
           color:var(--gold);display:block;margin-bottom:.5rem}
.cta-address{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);
             margin-bottom:3rem;display:block}
.btn-group{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;text-decoration:none;font-family:'Jost',sans-serif;font-size:.76rem;font-weight:500;
     letter-spacing:.18em;text-transform:uppercase;padding:1.1rem 2.5rem;transition:all .3s;border:none;cursor:pointer}
.btn-primary{background:var(--gold);color:var(--deep)}
.btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 8px 25px rgba(200,169,110,.3)}
.btn-outline{background:transparent;color:var(--cream);border:1px solid rgba(232,226,216,.35)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}

/* ─── CONTACT ─── */
.contact-section{padding:5rem 2rem;background:var(--deep)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
@media(max-width:768px){.contact-grid{grid-template-columns:1fr;gap:2.5rem}}
.megler-card{background:var(--navy);border:1px solid rgba(200,169,110,.15);padding:2.5rem}
.megler-header{display:flex;align-items:center;gap:1.2rem;margin-bottom:1.5rem}
.megler-portrait{width:80px;height:80px;border-radius:50%;border:2px solid var(--gold);object-fit:cover;
                  display:block;box-shadow:0 0 20px rgba(200,169,110,.2);flex-shrink:0}
.megler-name{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--cream);display:block;margin-bottom:.2rem}
.megler-title{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);display:block}
.contact-info{display:flex;flex-direction:column;gap:.8rem}
.contact-row{display:flex;gap:1rem;align-items:center;font-size:.88rem;color:var(--mist)}
.contact-row a{color:var(--mist);text-decoration:none}
.contact-row a:hover{color:var(--gold)}
.contact-icon{color:var(--gold);width:1.2rem;flex-shrink:0}



/* ─── HAMBURGER + MOBILE MENU ─── */
.nav-toggle{display:none;background:transparent;border:none;cursor:pointer;
            width:38px;height:38px;padding:0;align-items:center;justify-content:center;
            position:relative}
.nav-toggle span{display:block;position:absolute;left:7px;width:24px;height:2px;
                 background:var(--gold-light);transition:transform .3s,opacity .2s,top .3s;border-radius:1px}
.nav-toggle span:nth-child(1){top:12px}
.nav-toggle span:nth-child(2){top:18px}
.nav-toggle span:nth-child(3){top:24px}
.nav-toggle.open span:nth-child(1){top:18px;transform:rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){top:18px;transform:rotate(-45deg)}
.nav-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

@media(max-width:820px){.nav-toggle{display:flex}}

.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:340px;
             background:var(--navy);z-index:300;padding:5rem 2rem 2rem;
             transform:translateX(100%);transition:transform .35s ease;
             box-shadow:-10px 0 40px rgba(0,0,0,.4);overflow-y:auto;
             padding-bottom:calc(2rem + env(safe-area-inset-bottom, 0))}
.mobile-menu.open{transform:translateX(0)}
.mobile-menu[aria-hidden="true"]{visibility:hidden;transition:transform .35s ease, visibility 0s .35s}
.mobile-menu.open[aria-hidden="false"]{visibility:visible;transition:transform .35s ease}

.mobile-menu-close{position:absolute;top:1.2rem;right:1.5rem;background:transparent;
                   border:1px solid rgba(200,169,110,.3);color:var(--gold);
                   width:38px;height:38px;font-size:1rem;cursor:pointer;
                   display:flex;align-items:center;justify-content:center;border-radius:2px}
.mobile-menu-close:hover{background:rgba(200,169,110,.1)}

.mobile-menu-links{list-style:none;padding:0;margin:0 0 2rem}
.mobile-menu-links li{margin-bottom:.3rem}
.mobile-menu-links a{display:block;padding:1rem .5rem;color:var(--cream);text-decoration:none;
                     font-family:'Jost',sans-serif;font-size:.85rem;letter-spacing:.18em;
                     text-transform:uppercase;border-bottom:1px solid rgba(200,169,110,.08);
                     transition:color .2s,padding-left .2s}
.mobile-menu-links a:hover{color:var(--gold);padding-left:1rem}

.mobile-menu-divider{height:1px;background:rgba(200,169,110,.15);margin:1.5rem 0}

.mobile-menu-cta,.mobile-menu-salgs-cta,.mobile-menu-visning-cta{display:flex;align-items:center;justify-content:center;gap:.5rem;
                 background:var(--gold);color:var(--deep);text-decoration:none;
                 padding:1rem 1.5rem;font-family:'Jost',sans-serif;font-size:.75rem;
                 font-weight:500;letter-spacing:.18em;text-transform:uppercase;
                 border-radius:2px;transition:transform .2s,background .2s}
.mobile-menu-cta,.mobile-menu-salgs-cta{background:rgba(200,169,110,.08);color:var(--gold);border:1px solid var(--gold)}
.mobile-menu-cta:hover,.mobile-menu-salgs-cta:hover,.mobile-menu-visning-cta:hover{background:var(--gold-light);transform:translateY(-2px)}
.mobile-menu-cta:hover,.mobile-menu-salgs-cta:hover{color:var(--deep)}
.mobile-menu-cta,.mobile-menu-salgs-cta{margin-top:.6rem}
.mobile-menu-salgs-cta svg{flex-shrink:0;transition:transform .25s}
.mobile-menu-salgs-cta:hover svg{transform:translateY(2px)}

/* Backdrop when menu is open */
body.menu-open::after{content:'';position:fixed;inset:0;background:rgba(9,20,34,.6);
                      z-index:250;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
body.menu-open{overflow:hidden}

/* ─── FOOTER ─── */
footer{background:var(--deep);border-top:1px solid rgba(200,169,110,.12);padding:2rem;text-align:center;
       font-size:.75rem;color:var(--text-dim);letter-spacing:.08em}
footer a{color:var(--gold);text-decoration:none}
footer p+p{margin-top:.8rem}
.footer-disclaimer{max-width:600px;margin-left:auto!important;margin-right:auto!important;opacity:.75;line-height:1.7}
.footer-disclaimer strong{color:var(--gold)}
.footer-copy{opacity:.4}



/* ─── Clickable property images ─── */
.clickable-img{cursor:zoom-in;transition:transform .4s,filter .3s}
.clickable-img:hover{filter:brightness(1.06)}

/* nordlys panel — text shouldn't intercept clicks */
#nordlys .img-panel-text{pointer-events:none}
#nordlys img{cursor:zoom-in}





/* ─── Nordlys text positioning — over the aurora, not over the property ─── */
#nordlys{align-items:flex-start;padding-top:3rem}
#nordlys .img-panel-text{padding-top:1rem}
#nordlys .img-panel-overlay{background:linear-gradient(to bottom,rgba(9,20,34,.7) 0%,rgba(9,20,34,.15) 40%,rgba(9,20,34,0) 70%,rgba(9,20,34,.4) 100%)}

/* ─── MOBILE: Robust image containers (padding-top fallback) ─── */
/* Naust gallery */
.naust-img{position:relative}
.naust-img::before{content:'';display:block;padding-top:66.6%}
.naust-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s;filter:brightness(.92)}

/* Album thumbnails */
.album-thumb{position:relative}
.album-thumb::before{content:'';display:block;padding-top:66.6%}
.album-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s,filter .4s;filter:brightness(.85) saturate(1.05)}
.album-thumb:hover img{filter:brightness(1) saturate(1.15)}

/* Plan thumbnails */
.plan-thumb{position:relative}
.plan-thumb::before{content:'';display:block;padding-top:75%}
.plan-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:1rem;background:transparent;display:block;transition:transform .5s}

/* Detail items */
.detail-item{position:relative}
.detail-item::before{content:'';display:block;padding-top:66.6%}
.detail-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s,filter .4s;filter:brightness(.85)}

/* Fact cards
   Uses the classic padding-bottom aspect-ratio hack (IE7+) instead of CSS aspect-ratio.
   Why: aspect-ratio on flex children is unreliable in older WebViews (notably Facebook's
   in-app browser, where flex layout computes child sizes before aspect-ratio is applied,
   resulting in a tall container that crops the image via object-fit:cover).
   Padding-bottom approach works identically in every browser. */
.fact-card{display:flex;flex-direction:column}
.fact-card>picture{display:block;position:relative;width:100%;height:0;padding-bottom:75%;overflow:hidden}
.fact-card>picture>img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
/* Direct img fallback (no picture wrapper) — use same hack via a wrapping pseudo */
.fact-card>img{width:100%;height:auto;object-fit:cover;display:block;transition:transform .6s}

/* Veranda single */
.veranda-single{position:relative}
.veranda-single img{width:100%;height:auto;display:block;transition:transform .6s;filter:brightness(.95)}

/* About-image: ensure consistent height fallback */
@supports not (aspect-ratio:1/1){
  .about-image img,.about-image video{height:520px}
}

/* Detail figcaption needs to stay absolute over image (was hidden by inset:0 image) */
.detail-item figcaption{z-index:2;pointer-events:none}



/* ─── #8 Prevent layout shift — explicit aspect ratios ─── */
.hero-video,.vid-panel video,.video-clean video{
  aspect-ratio:16/9; /* hint for browser before video loads */
}
.about-image img,.about-image video{aspect-ratio:auto} /* keep fixed height */



/* ─── #11 ACCESSIBILITY ─── */

/* Skip-to-content link (hidden until focused) */
.skip-link{position:absolute;top:-100px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--deep);
           padding:.8rem 1.5rem;text-decoration:none;font-family:'Jost',sans-serif;font-size:.75rem;
           letter-spacing:.18em;text-transform:uppercase;z-index:9999;border-radius:2px;
           transition:top .2s}
.skip-link:focus{top:.6rem;outline:2px solid var(--cream);outline-offset:2px}

/* Keyboard focus styles — visible on all interactive elements */
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.album-thumb:focus-visible,.detail-item:focus-visible,.clickable-img:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}

/* Improve contrast on dim text — was rgba(200,169,110,.4)+ for some labels */
:root{
  --text-dim: #a4b2bf;  /* lighter, better WCAG contrast on dark navy */
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  .reveal{opacity:1 !important;transform:none !important}
}



/* ─── Plan thumbnails inside album (white bg, contain not cover) ─── */
.album-thumb-plan{background:rgba(255,255,255,.96)}
.album-thumb-plan img{object-fit:contain!important;padding:8%;filter:none!important;mix-blend-mode:normal}
.album-thumb-plan:hover img{transform:scale(1.04);filter:none!important}
.album-thumb-plan .album-thumb-overlay{background:linear-gradient(transparent 60%,rgba(9,20,34,.5))}
.album-thumb-plan .album-thumb-num{color:var(--gold)}

/* ─── ANIMATIONS ─── */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scrollPulse{0%,100%{opacity:1}50%{opacity:.4}}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s ease,transform .9s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.15s}.reveal-delay-2{transition-delay:.3s}.reveal-delay-3{transition-delay:.45s}


/* ─── Safety: no horizontal overflow on mobile ─── */
html,body{overflow-x:hidden;max-width:100%}
section,figure,.container{max-width:100%}
img,video{max-width:100%}

/* ─── GALLERY PREVIEW (swipeable carousel on page) ─── */
.gallery-preview{position:relative;user-select:none;-webkit-user-select:none;scroll-margin-top:5.5rem}
.gallery-preview-heading{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;
  font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.15;
  color:var(--cream);text-align:center;
  margin:0 0 1.2rem 0;letter-spacing:0;
}
.gallery-preview-img-wrap{position:relative;overflow:hidden;background:var(--navy);
                          border:1px solid rgba(200,169,110,.18);cursor:pointer;
                          aspect-ratio:3/2;touch-action:pan-y}
.gallery-preview-img-wrap:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.gallery-preview-img-wrap>img, .gallery-preview-img-wrap>picture>img{
  width:100%;height:100%;object-fit:contain;display:block;
  -webkit-user-drag:none;user-select:none;
  will-change:transform,opacity;
  transition:transform .28s cubic-bezier(.22,.61,.36,1);
}
.gallery-preview-img-wrap>img.gp-img-shift-out, .gallery-preview-img-wrap>picture>img.gp-img-shift-out{opacity:0;transform:scale(.985)}

/* Counter chip */
.gp-counter{position:absolute;top:.85rem;right:.85rem;z-index:3;
            background:rgba(9,20,34,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
            color:var(--gold);padding:.4rem .85rem;border-radius:99px;
            font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.12em;
            border:1px solid rgba(200,169,110,.25);font-variant-numeric:tabular-nums;
            pointer-events:none}

/* Side arrows (visible at all times so users see the affordance) */
.gp-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;
          background:rgba(9,20,34,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
          border:1px solid rgba(200,169,110,.35);color:var(--gold);
          width:44px;height:44px;border-radius:50%;padding:0;cursor:pointer;
          display:flex;align-items:center;justify-content:center;
          transition:background .2s,border-color .2s,transform .15s,opacity .25s;
          opacity:.92}
.gp-arrow:hover{background:rgba(200,169,110,.22);border-color:var(--gold);opacity:1}
.gp-arrow:active{transform:translateY(-50%) scale(.9)}
.gp-arrow-prev{left:.7rem}
.gp-arrow-next{right:.7rem}
.gp-arrow svg{display:block}
.gp-arrow:disabled{opacity:.35;cursor:default}
@media(max-width:600px){
  .gp-arrow{width:40px;height:40px}
  .gp-arrow-prev{left:.5rem}
  .gp-arrow-next{right:.5rem}
}

/* Open-hint badge bottom-right */
.gp-open-hint{position:absolute;bottom:.85rem;right:.85rem;z-index:3;pointer-events:none;
              background:rgba(9,20,34,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
              color:var(--cream);font-family:'Jost',sans-serif;font-size:.66rem;letter-spacing:.18em;
              text-transform:uppercase;padding:.45rem .8rem;
              border:1px solid rgba(200,169,110,.3);border-radius:2px;
              display:inline-flex;align-items:center;gap:.45rem}
.gp-open-hint svg{flex-shrink:0;color:var(--gold)}
@media(max-width:480px){
  .gp-open-hint{font-size:.6rem;padding:.4rem .65rem;letter-spacing:.15em;gap:.35rem}
}

/* Label below preview */
.gallery-preview-label{margin-top:1rem;text-align:center}
.gallery-preview-label-tag{display:block;font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;
                            color:var(--gold);margin-bottom:.4rem}
.gallery-preview-label-text{display:block;font-size:.78rem;color:var(--text-dim);line-height:1.5}

/* Sizing of preview wrap on desktop/mobile */
@media(min-width:769px){
  .gallery-preview-img-wrap{max-height:340px;aspect-ratio:5/4}
}
@media(max-width:768px){
  .gallery-preview-img-wrap{
    aspect-ratio:3/2;
    /* Break out of section's 2rem horizontal padding so image fills the entire screen width */
    margin-left:-2rem;
    margin-right:-2rem;
    border-radius:0;
  }
  .gallery-preview-heading{
    margin-bottom:1rem;
  }
}

/* ═══ MAP EMBED (i Fakta-seksjonen) ═══
   OpenStreetMap iframe med "trykk for å bruke" overlay — best practice på mobil
   så kartet ikke kaprer scroll når brukeren bare bla forbi.

   OSM iframe sin innebygde attribusjon-baren skjules ved at iframen er høyere
   enn containeren — sin bunn (med disclaimer) blir kuttet bort av overflow:hidden.
   Attribusjon vises i stedet diskret som tekst under kartet (kompatibelt med
   OSM sine vilkår). */
.map-wrap{margin:2.5rem auto 0;max-width:1000px}
.map-embed{position:relative;border:1px solid rgba(200,169,110,.18);border-radius:2px;
           overflow:hidden;background:#1a2434;height:420px}
.map-embed-iframe{display:block;width:100%;height:calc(100% + 140px);border:0;
                   filter:saturate(.92) brightness(.96)}
@media(max-width:768px){
  /* edge-to-edge: bryt ut av seksjonens 2rem padding på mobil */
  .map-wrap{padding:0;margin-top:2rem}
  .map-embed{margin-left:-2rem;margin-right:-2rem;border-radius:0;border-left:0;border-right:0;
             height:340px}
  .map-meta,.map-attribution{padding:0 1rem}
}
@media(max-width:480px){
  .map-embed{height:300px}
}

.map-embed-activate{position:absolute;inset:0;
                    background:rgba(9,20,34,.32);
                    -webkit-backdrop-filter:blur(.5px);backdrop-filter:blur(.5px);
                    border:0;cursor:pointer;
                    display:flex;align-items:center;justify-content:center;
                    transition:opacity .3s ease;padding:0}
.map-embed.active .map-embed-activate{opacity:0;pointer-events:none}
.map-embed-activate-pill{display:inline-flex;align-items:center;gap:.55rem;
                         background:var(--gold);color:var(--deep);
                         padding:.75rem 1.4rem;border-radius:99px;
                         font-family:'Jost',sans-serif;font-size:.7rem;font-weight:500;
                         letter-spacing:.18em;text-transform:uppercase;
                         box-shadow:0 6px 20px rgba(0,0,0,.45);
                         transition:transform .2s ease,background .2s ease}
.map-embed-activate:hover .map-embed-activate-pill,
.map-embed-activate:focus-visible .map-embed-activate-pill{
  background:var(--gold-light);transform:translateY(-2px)}

.map-meta{display:flex;justify-content:space-between;align-items:center;
          margin-top:.9rem;font-family:'Jost',sans-serif;gap:1rem}
.map-meta-addr{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
               color:var(--text-dim)}
.map-meta-link{display:inline-flex;align-items:center;gap:.4rem;
               color:var(--gold);text-decoration:none;
               font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
               transition:color .2s}
.map-meta-link:hover{color:var(--gold-light)}
.map-meta-link svg{transition:transform .2s}
.map-meta-link:hover svg{transform:translate(2px,-2px)}
@media(max-width:600px){
  .map-meta{flex-direction:column;align-items:flex-start;gap:.55rem}
  .map-meta-addr{font-size:.65rem}
}

/* ─── SMS-knapp i btn-group (har ikon + tekst, må flex'es) ─── */
.btn-sms{display:inline-flex;align-items:center;gap:.55rem}
.btn-sms svg{flex-shrink:0;transition:transform .25s}
.btn-sms:hover svg{transform:translateY(-1px) rotate(-8deg)}

/* Diskret OSM-attribusjon (erstatter den klumpete iframe-disclaimeren) */
.map-attribution{margin-top:.6rem;font-family:'Jost',sans-serif;
                 font-size:.62rem;letter-spacing:.06em;color:var(--text-dim);
                 opacity:.55;text-align:right}
.map-attribution a{color:var(--text-dim);text-decoration:underline;text-underline-offset:2px}
.map-attribution a:hover{color:var(--gold)}
@media(max-width:600px){
  .map-attribution{text-align:left;margin-top:.4rem}
}
