/* ==========================================================================
   Nordic Alps - shared stylesheet for every page on www.nordicalps.com
   Content pages, and the booking pages (/search, /hotel, checkout) should load it too.
   ========================================================================== */

/* 1. Brand tokens - the booking engine theme uses the same values */
:root {
  --na-navy: #003058;
  --na-navy-dark: #00243F;
  --na-teal: #389098;
  --na-teal-light: #5AA6AC;
  --na-ice: #E8F1F7;
  --na-ink: #242435;
  --na-ink-2: #4a4f63;
  --na-muted: #7c8194;
  --na-line: rgba(0,48,88,.12);
  --na-font: 'Lato', 'Helvetica Neue', Arial, sans-serif;
  --na-font-nav: 'Poppins', 'Lato', Arial, sans-serif;
  --na-font-display: 'Familjen Grotesk', Helvetica, Arial, sans-serif;
}

/* 2. Base */
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--na-font); color: var(--na-ink); background: #fff; }
main { display: block; }
img { max-width: 100%; }
.na .wrap { max-width: 1180px; margin: 0 auto; padding: 0 24px; }

/* 3. Header */
.na-header { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.94);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 1px 0 rgba(0,48,88,.08); }
.na-header-in { max-width: 1180px; margin: 0 auto; padding: 10px 24px; min-height: 76px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.na-logo img { height: 56px; width: auto; display: block; }
.na-tools { display: flex; align-items: center; gap: 12px; font-family: var(--na-font-nav); font-size: 14px; }
@media (max-width: 767px) {
  .na-header-in { min-height: 72px; padding: 8px 76px 8px 16px; }
  .na-logo img { height: 46px; }
  #naNav { display: none; }
  .na-tools { gap: 8px; font-size: 13px; }
}
#naNav{font-family:'Poppins','Lato',Arial,sans-serif;font-size:16px;letter-spacing:.03em}
#naNav *{box-sizing:border-box}
#naNav .naBar{display:flex;align-items:center;justify-content:center;gap:30px;white-space:nowrap}
#naNav .naLink{color:#242435;text-decoration:none;background:none;border:0;padding:6px 0;font:inherit;letter-spacing:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:7px;line-height:1.2;border-bottom:2px solid transparent}
#naNav .naLink:hover{color:#389098}
#naNav .naLink.naOn{border-bottom-color:#389098}
#naNav .naCh{transition:transform .18s ease}
#naNav .naDd.open .naCh{transform:rotate(180deg)}
#naNav .naDd{position:relative}
.naPanel::before{content:'';position:absolute;left:0;right:0;top:-24px;height:24px}
.naPanel{font-family:'Poppins','Lato',Arial,sans-serif;position:fixed;top:0;left:0;transform:translateY(-8px);background:#fff;border-radius:16px;box-shadow:0 20px 55px rgba(0,48,88,.20);padding:22px 24px;opacity:0;visibility:hidden;transition:opacity .16s ease,transform .16s ease;z-index:99999}
.naPanel.open{opacity:1;visibility:visible;transform:translateY(0)}
.naPanel .naGrid{display:grid;grid-template-columns:1fr 1fr;gap:4px 30px}
.naPanel .naHd{margin:0 0 8px 10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#389098;font-weight:700}
.naPanel .naCol a{display:block;padding:8px 10px;border-radius:10px;text-decoration:none;color:#242435;min-width:232px}
.naPanel .naCol a:hover{background:#E8F1F7}
.naPanel .naCol a b{display:block;font-size:15px;font-weight:700;line-height:1.25}
.naPanel .naCol a span{display:block;font-size:12.5px;color:#7c8194;margin-top:2px;line-height:1.3}
.naMobBtn{display:none;position:fixed;top:16px;right:14px;z-index:100001;width:46px;height:46px;border:0;border-radius:12px;background:#003058;color:#fff;align-items:center;justify-content:center;cursor:pointer;padding:0}
.naMobMenu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:100000;background:#003058;color:#fff;overflow-y:auto;padding:78px 22px 40px;font-family:'Poppins','Lato',Arial,sans-serif}
.naMobMenu.open{display:block}
.naMobMenu a{display:block;color:#fff;text-decoration:none;font-size:19px;font-weight:700;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.10)}
.naMobMenu a small{display:block;font-size:12.5px;font-weight:400;color:rgba(255,255,255,.55);margin-top:2px}
.naMobMenu h5{margin:26px 0 4px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#5AA6AC;font-weight:700}
@media (max-width:767px){  .naMobBtn{display:flex} }

/* 4. Footer */
#naFooter{--navy:#00243F;--teal:#7FD3D8;font-family:'Lato','Poppins',Arial,sans-serif;background:var(--navy);color:#fff;width:100%;padding:0}
#naFooter *{box-sizing:border-box}
#naFooter a{color:inherit;text-decoration:none}
#naFooter .fwrap{max-width:1180px;margin:0 auto;padding:56px 24px 28px}
#naFooter .fgrid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:40px}
#naFooter .fbrand .fname{font-size:22px;font-weight:900;letter-spacing:-.01em;line-height:1;margin:0 0 12px}
#naFooter .fbrand .fname span{color:var(--teal)}
#naFooter .fbrand p{margin:0 0 18px;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.72);max-width:34ch}
#naFooter .fsoc{display:flex;gap:10px}
#naFooter .fsoc a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.10);display:flex;align-items:center;justify-content:center;transition:background .15s}
#naFooter .fsoc a:hover{background:var(--teal)}
#naFooter h4{margin:0 0 14px !important;font-size:11px !important;letter-spacing:.2em !important;text-transform:uppercase !important;color:#7FD3D8 !important;font-weight:700 !important;line-height:1.2 !important}
#naFooter ul{list-style:none;margin:0;padding:0}
#naFooter li{margin:0 0 9px;font-size:14.5px}
#naFooter li a{color:rgba(255,255,255,.82)}
#naFooter li a:hover{color:#fff;text-decoration:underline}
#naFooter .fcont{font-size:14.5px;line-height:1.7;color:rgba(255,255,255,.82)}
#naFooter .fcont a:hover{text-decoration:underline}
#naFooter .fbot{border-top:1px solid rgba(255,255,255,.14);margin-top:40px;padding-top:18px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:12.5px;color:rgba(255,255,255,.55)}
@media (max-width:900px){#naFooter .fgrid{grid-template-columns:1fr 1fr;gap:32px}#naFooter .fwrap{padding:44px 20px 24px}}
@media (max-width:560px){#naFooter .fgrid{grid-template-columns:1fr;gap:28px}#naFooter .fbot{flex-direction:column}}

/* 5. Page blocks - hero and mobile fixes that lived in Duda's Head HTML */
.na .hero::before { background: linear-gradient(180deg, rgba(0,48,88,.15), rgba(0,48,88,.8)) !important; }
@media (max-width: 767px) {
  .na .hero { background-color: #00243F !important; background-size: 100% auto !important;
    background-position: 50% 0 !important; background-repeat: no-repeat !important; }
  .na .hero::before { background: linear-gradient(180deg, rgba(0,36,63,0) 0%, rgba(0,36,63,0) 50%, rgba(0,36,63,1) 66%) !important; }
  .na .hero .wrap { padding-top: calc(67vw + 16px) !important; }
  .na .dest { grid-template-columns: 1fr !important; gap: 12px !important; }
  .na .ds { aspect-ratio: 16/8 !important; padding: 20px !important; min-height: 168px; }
  .na .ds div { font-size: 15px !important; line-height: 1.45; }
}

/* 6. Travel guides (Getting here pages) */
.na-gh .cols > * { min-width: 0; }
.na-gh { --gh-navy: #00243F; --gh-deep: #013E5C; --gh-ink: #0A1A26; --gh-frost: #7FD3D8; --gh-frost-ink: #0B5B63; --gh-snow: #F4F8F9; --gh-paper: #FFFFFF; --gh-slate: #5B6E7A; --gh-line: #D9E4E9; --gh-line-soft: #E9F0F2; --gh-shadow: 0 1px 2px rgba(10,26,38,.06),0 8px 24px -12px rgba(10,26,38,.18); --gh-r: 4px; font-family: Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size: 16px; line-height: 1.6; color: var(--gh-ink); background: var(--gh-snow); -webkit-font-smoothing: antialiased; }
.na-gh * { box-sizing: border-box; }
.na-gh img { max-width: 100%; display: block; }
.na-gh a { color: inherit; }
.na-gh h1, .na-gh h2, .na-gh h3 { font-weight: 600; line-height: 1.12; letter-spacing: -0.015em; text-wrap: balance; margin: 0px; font-family: "Familjen Grotesk", Helvetica, Arial, sans-serif !important; color: var(--gh-ink) !important; }
.na-gh h1 { font-size: clamp(29px, 4.4vw, 44px); }
.na-gh h2 { font-size: clamp(21px, 2.6vw, 27px); margin-bottom: 14px; }
.na-gh p { margin: 0px 0px 15px; max-width: 66ch; }
.na-gh .small { font-size: 14px; color: var(--gh-slate); }
.na-gh .lede { color: var(--gh-slate); max-width: 66ch; margin-bottom: 22px; }
.na-gh .wrap, .na-gh-nav { max-width: 1140px; margin: 0px auto; }
.na-gh .wrap { padding-inline: 20px; }
.na-gh-nav { background: var(--gh-navy); color: rgb(207, 228, 234); font-size: 13px; letter-spacing: 0.03em; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; padding: 10px 20px; font-family: Lato, Arial, sans-serif; }
.na-gh-nav span { color: rgb(255, 255, 255); font-weight: 700; margin-right: 4px; }
.na-gh-nav a { text-decoration: none; opacity: 0.72; border-bottom: 1px solid transparent; padding-bottom: 1px; color: rgb(207, 228, 234); }
.na-gh-nav a.on, .na-gh-nav a:hover { opacity: 1; border-bottom-color: var(--gh-frost); }
.na-gh-nav a.on { color: var(--gh-frost); }
.na-gh .titlecard { background: var(--gh-paper); border: 1px solid var(--gh-line); border-radius: var(--gh-r); padding: 26px 28px 24px; box-shadow: var(--gh-shadow); position: relative; z-index: 2; }
@media (max-width: 640px) {
  .na-gh .titlecard { padding: 20px; }
}
.na-gh .crumbs { font-size: 12.5px; color: var(--gh-slate); margin-bottom: 12px; }
.na-gh .crumbs a { text-decoration: none; border-bottom: 1px solid var(--gh-line); }
.na-gh .kicker { font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gh-frost-ink); font-weight: 700; margin-bottom: 9px; }
.na-gh .sub { color: var(--gh-slate); margin-top: 10px; font-size: 17px; max-width: 62ch; }
.na-gh .promise { margin: 20px 0px 0px; padding: 14px 18px; background: var(--gh-snow); border-left: 3px solid var(--gh-frost); border-radius: 0px 3px 3px 0px; font-size: 15.5px; max-width: none; }
.na-gh .promise b, .na-gh th { font-family: "Familjen Grotesk", Helvetica, sans-serif; font-size: 17px; }
.na-gh .cols { display: grid; grid-template-columns: minmax(0px, 1fr) 340px; gap: 48px; padding-block: 52px 64px; align-items: start; }
@media (max-width: 900px) {
  .na-gh .cols { grid-template-columns: 1fr; gap: 36px; padding-block: 36px 48px; }
}
.na-gh section + section { margin-top: 46px; }
.na-gh .tablewrap { overflow-x: auto; border: 1px solid var(--gh-line); border-radius: var(--gh-r); background: var(--gh-paper); }
.na-gh table { border-collapse: collapse; width: 100%; font-size: 14.5px; min-width: 520px; }
.na-gh th { text-align: left; font-weight: 600; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gh-slate); padding: 11px 16px; border-bottom: 1px solid var(--gh-line); white-space: nowrap; background: 0px 0px; }
.na-gh td { padding: 12px 16px; border-bottom: 1px solid var(--gh-line-soft); vertical-align: top; font-variant-numeric: tabular-nums; }
.na-gh tbody tr:last-child td { border-bottom: 0px; }
.na-gh .panel { background: var(--gh-paper); border: 1px solid var(--gh-line); border-radius: var(--gh-r); padding: 22px 24px; }
.na-gh .panel h3 { font-size: 17px; margin-bottom: 10px; }
.na-gh .kv { display: grid; grid-template-columns: auto 1fr; gap: 8px 22px; font-size: 15px; margin: 0px; }
.na-gh .field label, .na-gh .kv dt { color: var(--gh-slate); }
.na-gh .kv dd { margin: 0px; }
@media (max-width: 520px) {
  .na-gh .kv { grid-template-columns: 1fr; gap: 2px 0px; }
  .na-gh .kv dd { margin-bottom: 10px; }
}
.na-gh .field { margin-bottom: 13px; }
.na-gh .field label { display: block; font-size: 11.5px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; margin-bottom: 5px; }
.na-gh .field input, .na-gh .field select { width: 100%; padding: 10px 11px; border: 1px solid var(--gh-line); border-radius: 3px; background: var(--gh-snow); color: var(--gh-ink); font: inherit; font-size: 15px; }
.na-gh .field input:focus, .na-gh .field select:focus { outline: 2px solid var(--gh-frost); outline-offset: 1px; border-color: transparent; }
.na-gh .two { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.na-gh .btn { display: block; width: 100%; text-align: center; background: var(--gh-navy); border: 0px; padding: 14px 16px; border-radius: 3px; font: inherit; font-weight: 700; font-size: 15.5px; cursor: pointer; text-decoration: none; letter-spacing: 0.01em; color: rgb(255, 255, 255) !important; }
.na-gh .btn:hover { background: var(--gh-deep); color: rgb(255, 255, 255) !important; }
.na-gh .book, .na-gh .btn.alt { border: 1px solid var(--gh-line); }
.na-gh .btn.alt { background: 0px 0px; font-weight: 700; color: var(--gh-frost-ink) !important; }
.na-gh .btn.alt:hover { background: var(--gh-snow); border-color: var(--gh-frost); color: var(--gh-frost-ink) !important; }
.na-gh .pricebtns { display: grid; gap: 10px; }
.na-gh .book { position: sticky; top: 20px; background: var(--gh-paper); border-radius: var(--gh-r); padding: 22px; box-shadow: var(--gh-shadow); }
.na-gh .book h3 { font-size: 18px; margin-bottom: 4px; }
.na-gh .book .small { margin-bottom: 18px; }
.na-gh .book .note { font-size: 12.5px; color: var(--gh-slate); margin: 12px 0px 0px; text-align: center; }
.na-gh .layout { list-style: none; padding: 0px; margin: 0px; border-top: 1px solid var(--gh-line-soft); }
.na-gh .layout li { display: flex; gap: 16px; padding: 12px 0px; border-bottom: 1px solid var(--gh-line-soft); }
.na-gh .layout li b { flex: 0 0 168px; font-family: "Familjen Grotesk", Helvetica, sans-serif; font-weight: 600; }
@media (max-width: 560px) {
  .na-gh .layout li { flex-direction: column; gap: 2px; }
  .na-gh .layout li b { flex: 0 0 auto; }
}

/* ===== Unit page (.na-u) — generated pages in full/en/norway/trysil/ ===== */
.na-u *{box-sizing:border-box}
.na-u{font-family:Lato,"Helvetica Neue",Arial,sans-serif;color:#1c2b36;line-height:1.6;font-size:16px}
.na-u h1,.na-u h2,.na-u h3,.na-u b{font-family:"Familjen Grotesk",Lato,Arial,sans-serif}
.na-u .w{max-width:1140px;margin:0 auto;padding-inline:16px}
.na-u p{margin:0 0 12px}
.na-u .main,.na-u aside,.na-u .st div,.na-u .rooms div,.na-u .bk div{min-width:0}
.na-u .main img,.na-u .main table{max-width:100%}
.na-u .ga{margin-bottom:0!important}
.na-u .hd{background:#00243F;padding:26px 0 24px;margin-bottom:26px}
@media(min-width:768px){.na-u .ga{background:#00243F;padding:22px 0 0}}
.na-u .wk-s{position:relative;border-radius:10px;transition:box-shadow .3s ease}
.na-u .wk-s.pulse{box-shadow:0 0 0 3px rgba(26,134,200,.45)}
.na-u .wk-s .nav{position:absolute;top:calc(50% - 4px);transform:translateY(-50%);z-index:3;width:40px;height:40px;padding:0;border-radius:999px;border:1px solid #d7e2ea;background:#fff;box-shadow:0 2px 10px rgba(0,36,63,.18);cursor:pointer;display:none;align-items:center;justify-content:center;color:#00243F;font:400 22px/1 system-ui,sans-serif}
.na-u .wk-s .nav:hover{background:#f4f8fb;border-color:#1a86c8}
.na-u .wk-s .nav:focus-visible{outline:2px solid #1a86c8;outline-offset:2px}
.na-u .wk-s .nav.prev{left:2px}
.na-u .wk-s .nav.next{right:2px}
.na-u .wk-s::before{content:"";position:absolute;top:0;left:0;bottom:8px;width:64px;pointer-events:none;background:linear-gradient(270deg,rgba(255,255,255,0),#fff 78%);opacity:0;transition:opacity .18s ease;z-index:2}
.na-u .wk-s.scrolled::before{opacity:1}
@media(min-width:768px){.na-u .wk-s .nav{display:flex}.na-u .wk-s .nav.off{display:none}}
.na-u .wk-s::after{content:"";position:absolute;top:0;right:0;bottom:8px;width:64px;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,0),#fff 78%);opacity:1;transition:opacity .18s ease}
.na-u .wk-s.atend::after{opacity:0}
.na-u .chips-s{position:relative}
.na-u .chips-s::after{content:"";position:absolute;top:0;right:0;bottom:0;width:56px;pointer-events:none;background:linear-gradient(90deg,rgba(0,36,63,0),#00243F 78%);opacity:1;transition:opacity .18s ease}
.na-u .chips-s.atend::after{opacity:0}
.na-u .swipe{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#7a8b96;margin:0 0 8px}
.na-u .swipe svg{width:15px;height:15px;flex:0 0 auto}
@media(min-width:768px){.na-u .swipe{display:none}}
.na-u .hd .crumb{color:#8fb9d6}
.na-u .hd .crumb a{color:#bcd9ec}
.na-u .hd h1{color:#fff!important}
.na-u .hd .kick{color:#cfe1ee;margin-bottom:16px}
.na-u .hd .chips{margin-bottom:0}
.na-u .hd .chips li{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.24);color:#dbe9f3}
@media(max-width:767px){.na-u .hd{padding:18px 0 16px;margin-bottom:20px}}
/* gallery */
.na-u .ga{position:relative;margin-bottom:18px}
.na-u .ga-t{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0}
.na-u .ga-t::-webkit-scrollbar{display:none}
.na-u .ga-t img{flex:0 0 100%;width:100%;aspect-ratio:4/3;object-fit:cover;scroll-snap-align:center;display:block;cursor:zoom-in;background:#e6edf2}
.na-u .ga-c{position:absolute;right:12px;bottom:12px;background:rgba(0,36,63,.72);color:#fff;font-size:12px;letter-spacing:.04em;padding:5px 11px;border-radius:999px;pointer-events:none}
.na-u .ga-b{position:absolute;right:12px;bottom:12px;display:none;background:#fff;color:#1c2b36;border:1px solid #d7e2ea;border-radius:8px;padding:9px 14px;font:600 13px/1 Lato,Arial,sans-serif;cursor:pointer;box-shadow:0 2px 8px rgba(0,36,63,.14)}
.na-u .ga-b:hover{background:#f4f8fb}
/* head */
.na-u .hd .crumb b{color:#fff;font-weight:700}
.na-u .crumb{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:#6a7c89;margin:0 0 8px}
.na-u .crumb a{color:#2a6f9e;text-decoration:none}
.na-u .crumb a:hover{text-decoration:underline}
.na-u h1{font-size:clamp(24px,5.8vw,38px);line-height:1.14;letter-spacing:-.01em;color:#00243F!important;margin:0 0 10px;text-wrap:balance}
.na-u .kick{color:#41555f;font-size:16px;margin:0 0 14px;max-width:62ch}
.na-u .chips{display:flex;gap:7px;list-style:none;margin:0 0 20px;padding:0 16px 2px;overflow-x:auto;scrollbar-width:none;margin-inline:-16px}
.na-u .chips::-webkit-scrollbar{display:none}
.na-u .chips li{flex:0 0 auto;background:#f4f8fb;border:1px solid #e3eaef;border-radius:999px;padding:6px 13px;font-size:13.5px;color:#35485a;white-space:nowrap}
/* stats */
.na-u .st{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 22px;padding:14px 0;border-top:1px solid #e6edf2;border-bottom:1px solid #e6edf2}
.na-u .st div{text-align:center}
.na-u .st b{display:block;font-size:17px;color:#00243F}
.na-u .st span{display:block;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:#7a8b96;margin-top:2px}
/* booking */
.na-u .bk{background:#fff;border:1px solid #d7e2ea;border-radius:12px;padding:18px;box-shadow:0 2px 14px rgba(0,36,63,.07);margin:0 0 26px}
.na-u .bk .pr{margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid #e6edf2}
.na-u .bk .pr b{font-size:24px;color:#00243F}
.na-u .bk .pr span{color:#6a7c89;font-size:14px;margin-left:6px}
.na-u .bk .row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.na-u .bk label{display:block;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:#7a8b96;margin-bottom:4px}
.na-u .bk input,.na-u .bk select{width:100%;height:46px;border:1px solid #d7e2ea;border-radius:8px;padding:0 10px;font:400 16px/1 Lato,Arial,sans-serif;color:#1c2b36;background:#fff;appearance:none}
.na-u .bk select{background-image:linear-gradient(45deg,transparent 50%,#55707f 50%),linear-gradient(135deg,#55707f 50%,transparent 50%);background-position:calc(100% - 17px) 20px,calc(100% - 12px) 20px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:30px}
.na-u .bk .go{width:100%;height:52px;border:0;border-radius:8px;background:#E4572E;color:#fff;font:700 16px/1 "Familjen Grotesk",Lato,Arial,sans-serif;cursor:pointer}
.na-u .bk .go:hover{background:#c9451f}
.na-u .bk .note{font-size:12.5px;color:#7a8b96;text-align:center;margin:10px 0 0}
/* content */
.na-u h2{font-size:clamp(20px,4.6vw,26px);color:#00243F!important;margin:26px 0 12px;letter-spacing:-.01em}
.na-u .lede{font-size:18px;color:#17384f;margin-bottom:14px}
.na-u .rooms{display:grid;gap:8px;grid-template-columns:1fr;margin-bottom:6px}
.na-u .rooms div{background:#f4f8fb;border:1px solid #e6edf2;border-radius:10px;padding:12px 14px}
.na-u .rooms b{display:block;color:#00243F;font-size:15px}
.na-u .rooms span{color:#41555f;font-size:14.5px}
.na-u .ticks{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:7px;grid-template-columns:1fr}
.na-u .ticks li{position:relative;padding-left:20px;color:#35485a;font-size:15px}
.na-u .ticks li::before{content:"";position:absolute;left:3px;top:9px;width:7px;height:7px;border-radius:50%;background:#1a86c8}
.na-u .quote{background:#00243F;color:#dbe9f3;border-radius:12px;padding:20px;margin:22px 0}
.na-u .quote b{display:block;color:#fff;font-size:17px;margin-bottom:7px}
.na-u .quote p{margin:0;color:#cfe1ee;font-size:15.5px}
.na-u .end{margin:22px 0 10px}
.na-u .end a{color:#2a6f9e;font-weight:700;text-decoration:none}
/* weeks */
.na-u .wk{border-top:1px solid #e6edf2;margin-top:26px;padding-top:20px}
.na-u .wk-g{display:flex;gap:8px;overflow-x:auto;padding:2px 16px 8px;margin-inline:-16px;scrollbar-width:none}
.na-u .wk-g::-webkit-scrollbar{display:none}
.na-u .wk-g button{flex:0 0 auto;background:#fff;border:1px solid #d7e2ea;border-radius:10px;padding:9px 13px;cursor:pointer;text-align:left;font-family:Lato,Arial,sans-serif}
.na-u .wk-g button:hover{border-color:#1a86c8;background:#f4f8fb}
.na-u .wk-g b{display:block;font-size:14px;color:#00243F}
.na-u .wk-g span{display:block;font-size:12px;color:#6a7c89;white-space:nowrap}
/* sticky bar (mobile) */
.na-bar{position:fixed;left:0;right:0;bottom:0;z-index:9000;background:#fff;border-top:1px solid #d7e2ea;box-shadow:0 -3px 16px rgba(0,36,63,.12);padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:12px;transform:translateY(110%);transition:transform .22s ease;font-family:Lato,Arial,sans-serif}
.na-bar.on{transform:translateY(0)}
.na-bar .l{flex:1;min-width:0}
.na-bar .l b{display:block;font:700 15px/1.2 "Familjen Grotesk",Lato,Arial,sans-serif;color:#00243F}
.na-bar .l span{display:block;font-size:12.5px;color:#6a7c89;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.na-bar button{flex:0 0 auto;height:46px;padding:0 18px;border:0;border-radius:8px;background:#E4572E;color:#fff;font:700 15px/1 "Familjen Grotesk",Lato,Arial,sans-serif;cursor:pointer}
/* lightbox */
.na-lb{position:fixed;inset:0;z-index:99999;background:rgba(6,14,22,.96);display:none;align-items:center;justify-content:center;touch-action:pan-y}
.na-lb.on{display:flex}
.na-lb img{max-width:96vw;max-height:84vh;object-fit:contain;border-radius:6px}
.na-lb button{position:absolute;background:rgba(255,255,255,.14);color:#fff;border:0;border-radius:999px;cursor:pointer;width:48px;height:48px;font:400 26px/1 system-ui,sans-serif;display:flex;align-items:center;justify-content:center}
.na-lb button:hover{background:rgba(255,255,255,.28)}
.na-lb .x{top:calc(16px + env(safe-area-inset-top,0px));right:16px;font-size:20px}
.na-lb .p{left:14px;top:50%;transform:translateY(-50%)}
.na-lb .n{right:14px;top:50%;transform:translateY(-50%)}
.na-lb .c{position:absolute;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:0;right:0;text-align:center;color:#fff;opacity:.8;font-size:13px}
@media(max-width:767px){
  .na-u .cols{display:flex;flex-direction:column}
  .na-u .cols aside{order:-1}
  .na-u .bk{margin-bottom:22px}
  .na-u .ga-b{display:none}
  .na-u .st{grid-template-columns:repeat(2,1fr);gap:12px 8px}
}
@media(min-width:768px){
  .na-bar{display:none!important}
  .na-u .ga{margin-bottom:26px}
  .na-u .ga .w{padding-inline:16px}
  .na-u .ga-t{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:6px;overflow:hidden;border-radius:12px;max-width:1140px;margin:0 auto}
  .na-u .ga-t img{flex:none;width:100%;height:100%;aspect-ratio:auto;min-height:150px}
  .na-u .ga-t img:first-child{grid-row:span 2;aspect-ratio:4/3}
  .na-u .ga-t img:nth-child(n+6){display:none}
  .na-u .ga-c{display:none}
  .na-u .ga-b{display:block;right:calc((100% - 1140px)/2 + 28px)}
  .na-u .cols{display:grid;grid-template-columns:1fr 372px;gap:44px;align-items:start}
  .na-u .bk{position:sticky;top:96px}
  .na-u .rooms{grid-template-columns:1fr 1fr}
  .na-u .ticks{grid-template-columns:1fr 1fr;gap:9px 24px}
  .na-u .lb-hide{display:none}
  .na-lb .p{left:24px}.na-lb .n{right:24px}
}
@media(max-width:1200px) and (min-width:768px){ .na-u .ga-b{right:28px} }
@media(prefers-reduced-motion:reduce){ .na-bar{transition:none} }

/* Unit page — "Other apartments in this building" */
.na-u .others-i{color:var(--na-ink-2,#3a4a58);margin:4px 0 12px}
.na-u ul.others{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:1fr;gap:8px}
@media(min-width:640px){.na-u ul.others{grid-template-columns:1fr 1fr}}
.na-u ul.others li a{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--na-rule,#dfe6ec);border-radius:var(--na-radius,8px);text-decoration:none;color:inherit;background:#fff}
.na-u ul.others li a:hover{border-color:var(--na-teal,#389098)}
.na-u ul.others li a b{font-family:var(--na-font-display,'Familjen Grotesk',sans-serif);font-size:16px;color:var(--na-navy,#00243F)}
.na-u ul.others li a span{font-size:14px;color:var(--na-ink-2,#3a4a58)}

/* ===== Catalogue pages (build-catalog-pages.py) ===== */
.na-u .ga-none{display:grid;place-items:center;min-height:220px;background:#17384F;color:#cfe1ee;font-size:15px;grid-column:1/-1}
.na-u .sup{font-size:14px;color:var(--na-ink-2,#4a4f63);border-left:3px solid var(--na-teal,#389098);padding-left:14px;margin:8px 0 16px}
.naPanel .naHd a{color:inherit;text-decoration:none}.naPanel .naHd a:hover{text-decoration:underline}

/* ===== Resort stays listing ===== */
.na-st{max-width:1180px;margin:0 auto;padding:28px 24px 64px}
.na-st h1{font-family:'Lato',Arial,sans-serif;font-weight:900;font-size:clamp(30px,4vw,46px);color:#003058;margin:0 0 8px;line-height:1.1}
.na-st .sub{color:#4a4f63;font-size:17px;max-width:62ch;margin:0 0 18px}
.na-st .crumbs{font-size:13px;color:#7c8194;margin:0 0 10px}.na-st .crumbs a{color:#1F6F76;text-decoration:none}
.na-st .fl{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.na-st .fl button{font:700 13px 'Lato',Arial,sans-serif;border:1.5px solid #003058;color:#003058;background:#fff;border-radius:999px;padding:7px 14px;cursor:pointer}
.na-st .fl button.on{background:#003058;color:#fff}
.na-st .fl .n{align-self:center;font-size:13px;color:#7c8194;margin-left:6px}
.na-st .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.na-st .c{display:flex;flex-direction:column;border:1px solid rgba(0,48,88,.12);border-radius:14px;overflow:hidden;background:#fff;text-decoration:none;color:inherit;transition:transform .15s}
.na-st .c:hover{transform:translateY(-2px);border-color:#389098}
.na-st .c .im{aspect-ratio:4/3;background:#E8F1F7 center/cover}
.na-st .c .b{padding:12px 14px 14px}
.na-st .c b{display:block;font-size:15px;color:#003058;line-height:1.3;margin:0 0 6px}
.na-st .c span{display:block;font-size:12.5px;color:#4a4f63}
.na-st .c em{display:block;font-style:normal;font-size:12px;color:#7c8194;margin-top:6px}
.na-st .c[hidden]{display:none}
.na .stays{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.na .stays a{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.na .stays .im{aspect-ratio:4/3;background:#E8F1F7 center/cover}
.na .stays .b{padding:12px 14px 14px}.na .stays b{display:block;font-size:15px;color:var(--navy);margin:0 0 6px;line-height:1.3}.na .stays span{font-size:13px;color:var(--ink2)}
@media (max-width:860px){.na .stays{grid-template-columns:1fr}}

/* ===== Unit page: supplier text collapsed, ack, request, map, weekend tabs, hotel rooms ===== */
.na-u details.supd{margin:26px 0 8px;border:1px solid var(--na-line,rgba(0,48,88,.12));border-radius:10px;padding:0 16px}
.na-u details.supd summary{cursor:pointer;list-style:none;padding:14px 0;display:flex;flex-direction:column;gap:2px}
.na-u details.supd summary::-webkit-details-marker{display:none}
.na-u details.supd summary h2{margin:0;font-size:18px}.na-u details.supd summary h2::before{content:"▸ ";color:var(--na-teal,#389098)}
.na-u details.supd[open] summary h2::before{content:"▾ "}
.na-u details.supd summary span{font-size:13px;color:var(--na-muted,#7c8194)}
.na-u details.supd .sup{margin:0 0 16px}
.na-u .bk .ack{display:flex;flex-direction:row;gap:8px;align-items:flex-start;font-size:13px;text-transform:none;letter-spacing:0;font-weight:400;color:var(--na-ink-2,#4a4f63);margin:4px 0 2px;line-height:1.4}
.na-u .bk .ack input{width:16px;height:16px;margin:2px 0 0;flex:0 0 auto}.na-u .bk .ack span{flex:1 1 auto;display:inline}.na-u .bk .ack.nag{color:#B3261E}.na-u .bk .ack.nag input{outline:2px solid #B3261E;outline-offset:2px;border-radius:3px}.na-u .bk .pr span{display:block;margin:6px 0 0}.na-u .ack a{color:var(--na-teal-ink,#1F6F76);font-weight:700}
.na-u .go.dis,.na-bar button.dis{opacity:.55}
.na-u .req{display:block;text-align:center;border:1.5px solid var(--na-navy,#003058);color:var(--na-navy,#003058);border-radius:8px;padding:10px 14px;font-weight:700;font-size:14px;text-decoration:none;margin-top:8px}
.na-u .req:hover{background:var(--na-ice,#E8F1F7)}
.na-u .umap{height:340px;border-radius:12px;overflow:hidden;border:1px solid var(--na-line,rgba(0,48,88,.12));background:var(--na-ice,#E8F1F7);margin:0 0 6px}
.na-u .wk-tabs{display:flex;gap:6px;margin:0 0 10px}.na-u .wk-tabs button{font:700 13px Lato,Arial,sans-serif;border:1.5px solid var(--na-navy,#003058);color:var(--na-navy,#003058);background:#fff;border-radius:999px;padding:6px 12px;cursor:pointer}.na-u .wk-tabs button.on{background:var(--na-navy,#003058);color:#fff}
.na-u .rooms-live{border:1px dashed var(--na-line,rgba(0,48,88,.2));border-radius:10px;padding:14px 16px;margin:0 0 10px}.na-u .rooms-live .note{margin:0;font-size:14px;color:var(--na-ink-2,#4a4f63)}

/* hotel room categories */
.na-u .rooms-live.live{border-style:solid;padding:0;overflow:hidden}
.na-u .rooms-live .note.ex{margin:0;padding:10px 16px;background:#FFF4E5;color:#7a4a00;font-size:13px;border-bottom:1px solid #f1dcc0}
.na-u .rt{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border-top:1px solid var(--na-line,rgba(0,48,88,.12))}
.na-u .rt:first-child{border-top:0}
.na-u .rt-i b{display:block;font-size:16px;color:#00243F}.na-u .rt-i span{display:block;font-size:13.5px;color:var(--na-ink-2,#4a4f63);margin-top:2px}.na-u .rt-i em{display:block;font-style:normal;font-size:13px;color:#1F6F76;margin-top:4px}
.na-u .rt-p{text-align:right;flex:0 0 auto}.na-u .rt-p b{display:block;font-size:18px;color:#00243F}.na-u .rt-p span{display:block;font-size:12px;color:var(--na-ink-2,#4a4f63);margin:2px 0 8px}
.na-u .rt-p .go.sm{display:inline-block;padding:10px 16px;border-radius:8px;background:#E4572E;color:#fff;font:700 14px/1 "Familjen Grotesk",Lato,Arial,sans-serif;text-decoration:none}.na-u .rt-p .go.sm:hover{background:#c9451f}
@media (max-width:600px){.na-u .rt{flex-direction:column;gap:8px}.na-u .rt-p{text-align:left}}
.na-u .wk .wk-i{margin:-6px 0 12px;font-size:14px;color:var(--na-ink-2,#4a4f63)}
.na-u .bk .pr .bookNow{display:inline-block;margin:8px 0 4px;background:#E4572E;color:#fff;border-radius:8px;padding:10px 16px;font:700 14px 'Familjen Grotesk',Lato,Arial,sans-serif;text-decoration:none}.na-u .bk .pr .bookNow:hover{background:#c9451f}

/* ===== sjusjoen.ski overrides – A Nordic Alps site ===== */
:root{
  --red:#E63946;        /* brand red */
  --red-dark:#C42E3A;
  --blue:#0B3D91;       /* Nordisk blå */
  --blue-mid:#2E79C6;   /* Fjellblå */
  --sky:#2E79C6;
  --sky-light:#A7D6F0;  /* Isblå */
  --ice:#E3F1FA;        /* ice blue panels */
  --snow:#F7FAFC;
  --white:#FFFFFF;
  --ink:#16212B;
  --muted:#5B6B7A;
  --line:#D7DFE7;
  --radius:14px;
  --head:'Montserrat',system-ui,sans-serif;
  --body:'Nunito',system-ui,sans-serif;
  --max:1180px;
}
body{font-family:var(--body)}
h1,h2,h3,h4{font-family:var(--head);color:var(--blue);font-weight:900;letter-spacing:-.02em}
.bk .bookNow,.bk button,.btn-red{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important;font-family:var(--head);font-weight:800}
a{color:var(--blue-mid)}
.crumb a{color:var(--blue)}
header .wrap.nav{max-width:1180px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:84px}
header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand svg{height:62px;width:260px}
.brand .tag{font-family:var(--head);font-weight:700;font-size:12px;letter-spacing:.06em;color:var(--muted);border-left:1px solid var(--line);padding-left:12px;line-height:1.25}.brand .tag b{display:block;color:var(--blue);font-size:15px}
nav.links{display:flex;gap:20px}nav.links a{font-family:var(--head);font-weight:700;font-size:16px;color:var(--blue);text-decoration:none;white-space:nowrap}
.langs{display:flex;gap:4px;margin-left:8px}.langs a{font-family:var(--head);font-weight:700;font-size:12px;letter-spacing:.06em;color:var(--muted);text-decoration:none;padding:4px 7px;border-radius:999px;border:1px solid var(--line)}.langs a.on,.langs a:hover{color:#fff;background:var(--blue);border-color:var(--blue)}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--head);font-weight:800;font-size:17px;padding:14px 26px;border-radius:999px;border:0;cursor:pointer;text-decoration:none}.btn-red{background:var(--red);color:#fff}
footer{background:var(--blue);color:rgba(255,255,255,.8);padding:56px 0 28px}footer .wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.foot{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}.foot h4{color:#fff;font-size:15px;letter-spacing:.04em;margin-bottom:12px}
.foot a{color:rgba(255,255,255,.8);text-decoration:none;display:block;margin-bottom:8px}.foot .brand svg{height:66px;width:277px}
.foot .brand .tag{color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.25)}.foot p{margin-top:16px;max-width:360px;font-size:15px}
.copy{border-top:1px solid rgba(255,255,255,.15);margin-top:40px;padding-top:20px;font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
@media(max-width:1440px){.brand .tag{display:none}}
@media(max-width:600px){.brand svg{height:48px;width:200px}header .btn-red{display:none}.foot{grid-template-columns:1fr}.foot .brand svg{width:230px;height:55px}}
@media(max-width:900px){nav.links{display:none}.langs{margin-left:auto;margin-right:8px}.foot{grid-template-columns:1fr 1fr}}
