/* ===== Homepage — clean Nordic store layout ===== */
:root{--kt-g:16px;--kt-r:8px;--kt-ink:#111;--kt-mut:#5f6368;--kt-soft:#fff;--kt-line:#e5e5e2}
body{background:#fff;color:var(--kt-ink)}
/* header */
.yh{border-bottom:1px solid var(--kt-line)!important;background:#fff}
.yh-in{max-width:none!important;height:56px!important;padding:0 var(--kt-g)!important}
.yh-logo{width:46px!important;height:46px!important}
.yh-nav a{font-size:14px!important;font-weight:500!important;letter-spacing:.01em!important;text-transform:uppercase;padding:8px 9px!important;color:var(--kt-ink)!important;background:none!important}
.yh-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.yh-right{gap:6px!important}
.yh-right>.pill{height:34px!important;padding:0 14px!important;border-radius:999px!important;font-size:12px!important;letter-spacing:.06em!important;background:#fff!important;color:var(--kt-ink)!important;border:1px solid var(--kt-ink)!important}
.yh-right>.pill:hover{background:var(--kt-ink)!important;color:#fff!important}
.hsrch{position:relative;width:210px;margin:0!important}
.hsrch form{height:32px!important;border:1px solid #cfd0cc;border-radius:6px!important;box-shadow:none!important;padding:0 6px 0 10px!important}
.hsrch svg.mg{width:15px!important;height:15px!important}
.hsrch input{font-size:13.5px!important;padding:0 8px!important;font-weight:400!important}
.hsrch .pill{display:none!important}
.hsrch .srch-res{top:38px!important;width:340px;left:auto!important}
@media(max-width:1180px){.hsrch{display:none}}
/* announcement bar */
.kt-bar{border:1px solid var(--kt-ink);margin:6px var(--kt-g) 0;text-align:center;font-size:13px;font-weight:600;padding:3px 10px}
.kt-bar a{text-decoration:underline;text-underline-offset:3px}
/* page */
.kt{padding:0 var(--kt-g) 0;display:flex;flex-direction:column;gap:clamp(48px,6vw,96px)}
.kt *{box-sizing:border-box}
.kt-hero{position:relative;margin-top:10px;height:min(78vh,760px);min-height:440px;border-radius:var(--kt-r);overflow:hidden;color:#fff;background:#203040}
.kt-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.kt-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.42),rgba(0,0,0,0) 55%)}
.kt-hero .in{position:absolute;left:clamp(16px,2.2vw,32px);right:16px;bottom:clamp(20px,3vw,40px);z-index:2}
.kt-eye{margin:0 0 6px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.01em}
.kt-hero h1{margin:0 0 18px;font-size:clamp(40px,5.6vw,88px);font-weight:800;letter-spacing:-.035em;line-height:.98}
.kt-btn{display:inline-flex;align-items:center;height:38px;padding:0 18px;border-radius:999px;background:#fff;color:var(--kt-ink);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.01em;text-decoration:none;border:1px solid #fff;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s}
.kt-btn:hover{background:var(--kt-ink);color:#fff;border-color:var(--kt-ink)}
.kt-btn.dark{background:var(--kt-ink);color:#fff;border-color:var(--kt-ink)}
.kt-btn.dark:hover{background:#fff;color:var(--kt-ink)}
/* rail sections: text column + carousel */
.kt-row{display:grid;grid-template-columns:minmax(220px,1fr) 3fr;gap:clamp(20px,3vw,48px)}
.kt-side{display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding-top:4px}
.kt-side h2{margin:0 0 14px;font-size:clamp(28px,2.5vw,40px);font-weight:800;letter-spacing:-.03em;line-height:1.02}
.kt-side p{margin:0;font-size:15.5px;line-height:1.5;max-width:300px}
.kt-side .lnk{display:inline-block;margin-top:14px;font-size:14px;font-weight:600;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px}
.kt-arw{display:flex;gap:8px}
.kt-arw button{width:30px;height:30px;border-radius:50%;border:1px solid var(--kt-ink);background:#fff;display:grid;place-items:center;cursor:pointer;padding:0}
.kt-arw button:disabled{opacity:.3;cursor:default}
.kt-arw svg{width:14px;height:14px}
.kt-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}
.kt-rail::-webkit-scrollbar{display:none}
.kt-rail>*{scroll-snap-align:start}
/* product card */
.kt-p{display:block;text-decoration:none;color:var(--kt-ink)}
.kt-p .im{position:relative;aspect-ratio:4/5;border-radius:var(--kt-r);overflow:hidden;background:var(--kt-soft)}
.kt-p .im img{width:100%;height:100%;object-fit:contain;padding:10%;mix-blend-mode:multiply;transition:transform .5s}
.kt-p:hover .im img{transform:scale(1.04)}
.kt-p .tagl{position:absolute;top:8px;left:8px;font-size:12px;font-weight:600;text-transform:uppercase}
.kt-p .tagl.sale{color:#d70302}
.kt-p .tx{padding:8px 4px 0}
.kt-p h3{margin:0 0 4px;font-size:14.5px;font-weight:700;line-height:1.25}
.kt-p .pz{font-size:13px;font-weight:600}
.kt-p .pz s{color:var(--kt-mut);font-weight:400;margin-left:6px}
.kt-p .sub{font-size:12.5px;color:var(--kt-mut);margin-top:2px}
/* resort card (photo variant) */
.kt-p.ph .im img{object-fit:cover;padding:0;mix-blend-mode:normal}
/* snow card */
.kt-s{display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:4/5;padding:16px;border-radius:var(--kt-r);background:var(--kt-soft);text-decoration:none;color:var(--kt-ink)}
.kt-s .c{font-size:12px;font-weight:600;text-transform:uppercase}
.kt-s h3{margin:4px 0 0;font-size:18px;font-weight:700;line-height:1.15}
.kt-s .v{font-size:clamp(48px,4.4vw,72px);font-weight:800;letter-spacing:-.04em;line-height:1}
.kt-s .v small{font-size:.32em;letter-spacing:0;margin-left:4px}
.kt-s .bars{display:flex;align-items:flex-end;gap:4px;height:40px}
.kt-s .bars i{flex:1;background:#c8cacd;border-radius:2px;min-height:3px}
.kt-s .bars i.t{background:var(--kt-ink)}
.kt-s .ft{display:flex;justify-content:space-between;font-size:12.5px;margin-top:8px}
.kt-s.pow{background:#e8f1f9}
.kt-s .badge{align-self:flex-start;font-size:12px;font-weight:600;text-transform:uppercase;color:#d70302}
/* two tiles */
.kt-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,48px)}
.kt-tile{position:relative;display:block;aspect-ratio:1/1;border-radius:var(--kt-r);overflow:hidden;color:#fff;text-decoration:none;background:#2a3a4a}
.kt-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.kt-tile:hover img{transform:scale(1.03)}
.kt-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.45),rgba(0,0,0,0) 55%)}
.kt-tile .in{position:absolute;left:clamp(14px,1.6vw,24px);right:16px;bottom:clamp(16px,2vw,28px);z-index:2}
.kt-tile h2{margin:0 0 14px;font-size:clamp(32px,3.6vw,56px);font-weight:800;letter-spacing:-.035em;line-height:1}
.kt-tile p{margin:-6px 0 16px;max-width:440px;font-size:15px;line-height:1.45}
.kt-tile.center .in{left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(80%,520px);text-align:center}
.kt-tile.center::after{background:rgba(10,30,50,.38)}
/* wide banner */
.kt-wide{position:relative;display:block;height:min(62vh,600px);min-height:380px;border-radius:var(--kt-r);overflow:hidden;color:#fff;text-decoration:none;background:#123}
.kt-wide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.kt-wide::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.45),rgba(0,0,0,0) 60%)}
.kt-wide .in{position:absolute;left:clamp(16px,2.2vw,32px);bottom:clamp(20px,3vw,40px);z-index:2;max-width:640px}
.kt-wide h2{margin:0 0 10px;font-size:clamp(34px,4.4vw,68px);font-weight:800;letter-spacing:-.035em;line-height:1}
.kt-wide p{margin:0 0 18px;font-size:16px;line-height:1.45}
/* app features as compact list */
.kt-feat{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.kt-f{padding:18px;border-radius:var(--kt-r);background:var(--kt-soft);text-decoration:none;color:var(--kt-ink)}
.kt-f b{display:block;font-size:17px;font-weight:700;margin-bottom:4px}
.kt-f span{font-size:14px;color:var(--kt-mut);line-height:1.45}
/* newsletter */
.kt-news{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,64px);align-items:center;padding:clamp(28px,4vw,56px);border-radius:var(--kt-r);background:var(--kt-soft)}
.kt-news h2{margin:0 0 10px;font-size:clamp(28px,2.8vw,44px);font-weight:800;letter-spacing:-.03em;line-height:1.02}
.kt-news p{margin:0;font-size:15.5px;line-height:1.5;color:var(--kt-mut);max-width:440px}
.kt-news form{display:grid;gap:10px}
.kt-news .r{display:flex;gap:8px}
.kt-news input[type=text],.kt-news input[type=email]{flex:1;min-width:0;height:44px;border:1px solid #cfd0cc;border-radius:6px;padding:0 14px;font-size:15px;background:#fff}
.kt-news input:focus{outline:2px solid var(--kt-ink);outline-offset:-1px}
.kt-news label.ck{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--kt-mut);line-height:1.4}
.kt-news label.ck input{margin-top:2px}
.kt-news .msg{min-height:20px;font-size:14px;font-weight:600}
.kt-news .msg.ok{color:#127a3a}.kt-news .msg.err{color:#d70302}
/* ad slot keeps its own look but rounded */
.kt [data-slot] .ad{border-radius:var(--kt-r)}
/* footer — white */
.yf{background:#fff!important;color:var(--kt-ink)!important;border-top:1px solid var(--kt-line);margin:clamp(48px,6vw,96px) 0 0!important;max-width:none!important;padding:48px var(--kt-g) 28px!important}
.yf a{color:var(--kt-ink)!important;opacity:1!important;font-weight:400!important;font-size:14.5px!important}
.yf h4{color:var(--kt-ink)!important;font-size:13px!important;font-weight:700!important;letter-spacing:.02em!important}
.yf .slog{font-size:clamp(22px,2vw,30px)!important;font-weight:800!important;text-transform:none!important}
.yf-bot{border-top:1px solid var(--kt-line)!important;color:var(--kt-mut)!important;font-size:12.5px!important}
.yf .pw b{font-size:20px!important}
/* drawer white */
.yd-p{background:#fff!important;color:var(--kt-ink)!important}
.yd-p .x{border:1px solid var(--kt-ink)!important;color:var(--kt-ink)!important}
.yd-p nav a{border-bottom-color:var(--kt-line)!important;font-size:17px!important;font-weight:500!important;text-transform:uppercase!important}
/* responsive */
@media(max-width:1000px){
  .kt-row{grid-template-columns:1fr}
  .kt-side{flex-direction:row;align-items:flex-end}
  .kt-rail{grid-auto-columns:calc((100% - 16px)/2)}
  .kt-feat{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  :root{--kt-g:10px}
  .kt-two,.kt-news,.kt-feat{grid-template-columns:1fr}
  .kt-rail{grid-auto-columns:72%}
  .kt-side p{display:none}
  .kt-tile{aspect-ratio:4/5}
  .kt-news .r{flex-direction:column}
}
.kt-s,.kt-f,.kt-news{border:1px solid var(--kt-line)}
