/* Namaste Norge - home page sections (from mockup v8). Loaded on the home page only. */
/* Home: hero → about → menu tiles → parties & catering → group tours band → from the kitchen (photos) → footer.
   Same tokens as every page (site.css). Photos are the restaurant's own cut-outs. */
.hm{gap:72px}
.hm-kick{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
.hm-kick::before{content:"";width:22px;height:1.5px;background:var(--gold)}
.hm-btns{display:flex;flex-wrap:wrap;gap:10px}

/* ---------- hero ---------- */
.hm-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:28px 48px;align-items:center;padding-top:8px}
.hm-copy{display:flex;flex-direction:column;gap:18px;min-width:0}
.hm-h1{margin:0;font-family:var(--f-display);font-weight:700;font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.02em;color:var(--primary);text-wrap:balance}
.hm-h1 em{font-style:italic;font-weight:600;color:var(--ink)}
.hm-lead{margin:0;font-size:clamp(17px,1.5vw,19px);line-height:1.55;color:var(--ink-2);max-width:46ch}
.hm-facts{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 0;padding:0;list-style:none}
.hm-facts li{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px 0 11px;border-radius:999px;background:var(--bar);box-shadow:0 0 0 1px var(--line-2);font-size:14.5px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.hm-facts svg{width:17px;height:17px;color:var(--primary);flex-shrink:0}
.hm-facts .dot{width:9px;height:9px;border-radius:50%;background:var(--live);box-shadow:0 0 0 3px color-mix(in srgb,var(--live) 22%,transparent)}
.hm-facts .dot[data-s="soon"]{background:var(--accent)}
.hm-facts .dot[data-s="closed"]{background:#B4261E}

.hm-vis{position:relative;width:100%;max-width:540px;aspect-ratio:1/1.04;margin-inline:auto}
.hm-arch,.hm-arch-line{position:absolute;inset:3% 13% 0 13%}
.hm-arch{isolation:isolate;overflow:hidden;background:radial-gradient(120% 80% at 50% 100%,#161616,var(--ill-bg) 70%);-webkit-mask:var(--arch) 0 0/100% 100% no-repeat;mask:var(--arch) 0 0/100% 100% no-repeat}
.hm-arch::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ill-pat);opacity:.2;-webkit-mask:var(--jaali) 0 0/36px 36px repeat;mask:var(--jaali) 0 0/36px 36px repeat}
.hm-arch img{position:absolute;left:5%;bottom:5%;width:90%;height:auto;filter:drop-shadow(0 18px 22px rgba(0,0,0,.45))}
.hm-arch-line{background:var(--arch-line) 0 0/100% 100% no-repeat;pointer-events:none}
.hm-fl{position:absolute;height:auto;filter:drop-shadow(0 16px 18px rgba(15,15,15,.38))}
.hm-fl1{left:-3%;bottom:-2%;width:40%}
.hm-fl2{right:-4%;top:36%;width:33%}
.hm-seal{position:absolute;right:5%;top:4%;width:96px;height:96px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--accent);color:#0B0B0B;box-shadow:0 0 0 4px var(--bar),0 0 0 5.5px var(--gold),0 14px 26px -10px rgba(34,34,34,.55);transform:rotate(-8deg)}
.hm-seal b{display:block;font-family:var(--f-display);font-weight:700;font-size:32px;line-height:.9}
.hm-seal span{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.15}

/* ---------- about ---------- */
.hm-about{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px 56px;align-items:center}
.hm-ab-vis{position:relative;border-radius:28px;padding:26px 24px 112px;min-height:420px;display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden;
  background:linear-gradient(160deg,var(--band),var(--card-2));box-shadow:0 0 0 1px var(--line-2)}
.hm-ab-vis::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--gold);opacity:.09;-webkit-mask:var(--jaali) 0 0/44px 44px repeat;mask:var(--jaali) 0 0/44px 44px repeat}
.hm-ab-vis img{width:min(100%,330px);height:auto;filter:drop-shadow(0 18px 20px rgba(15,15,15,.35))}
.hm-chef{position:absolute;left:16px;right:16px;bottom:16px;display:flex;gap:12px;align-items:center;padding:13px 15px;border-radius:18px;background:var(--bar);box-shadow:0 0 0 1px var(--line-2),0 16px 30px -18px var(--shadow)}
.hm-chef svg{width:34px;height:34px;color:var(--primary);flex-shrink:0}
.hm-chef p{margin:0;font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.hm-chef b{color:var(--ink)}
.hm-ab-tx{display:flex;flex-direction:column;gap:16px;min-width:0}
.hm-h2{margin:0;font-family:var(--f-display);font-weight:700;font-size:clamp(30px,3.6vw,44px);line-height:1.04;letter-spacing:-.012em;color:var(--ink);text-wrap:balance}
.hm-ab-tx p{margin:0;font-size:17px;line-height:1.6;color:var(--ink-2);max-width:60ch}
.hm-quote{margin:4px 0;padding:4px 0 4px 20px;border-left:3px solid var(--gold);font-family:var(--f-display);font-style:italic;font-weight:500;font-size:clamp(21px,2.2vw,26px);line-height:1.3;color:var(--primary);max-width:30ch}
.hm-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:6px 0 0;padding:0;list-style:none;max-width:560px}
.hm-stats li{padding:12px 14px;border-radius:16px;background:var(--bar);box-shadow:0 0 0 1px var(--line)}
.hm-stats b{display:block;font-family:var(--f-display);font-weight:700;font-size:30px;line-height:1;color:var(--primary);font-variant-numeric:normal}
.hm-stats span{display:block;margin-top:5px;font-size:13.5px;line-height:1.3;color:var(--muted)}

/* ---------- menu tiles ---------- */
.hm-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.hm-cat{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 14px 16px;border-radius:22px;text-decoration:none;color:var(--ink);text-align:center;isolation:isolate;
  background:linear-gradient(165deg,color-mix(in srgb,var(--c) 12%,var(--bar)),var(--bar) 64%);box-shadow:0 0 0 1px var(--line-2),0 14px 30px -22px var(--shadow);transition:box-shadow .25s,transform .25s}
.hm-cat::after{content:"";position:absolute;inset:6px;border:1px solid color-mix(in srgb,var(--gold) 38%,transparent);border-radius:17px;pointer-events:none}
.hm-cat:hover{box-shadow:0 0 0 1.5px var(--gold),0 22px 40px -22px var(--shadow);transform:translateY(-2px)}
.hm-cat img{width:132px;height:132px;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(15,15,15,.32));transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.hm-cat:hover img{transform:rotate(-10deg) scale(1.04)}
.hm-cat b{font-family:var(--f-display);font-weight:700;font-size:23px;line-height:1.08;color:var(--c);text-wrap:balance}
.hm-cat small{display:block;margin-top:3px;font-size:14px;color:var(--muted)}
.hm-go{margin-top:auto;display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 15px;border-radius:999px;background:var(--c-btn);color:var(--on-primary);font-weight:700;font-size:14px}
.hm-go svg{width:15px;height:15px}

/* ---------- parties & catering ---------- */
.hm-ev{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.hm-evc{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px 18px;align-items:end;padding:24px 22px 22px 24px;border-radius:24px;background:var(--card);box-shadow:0 0 0 1px var(--line-2),0 16px 34px -26px var(--shadow);overflow:hidden}
.hm-evc > div{display:flex;flex-direction:column;gap:10px;min-width:0;align-self:stretch}
.hm-evc h3{margin:0;font-family:var(--f-display);font-weight:700;font-size:26px;line-height:1.1;color:var(--ink);text-wrap:balance}
.hm-evc p{margin:0;font-size:16px;line-height:1.55;color:var(--ink-2)}
.hm-evc .pg-btn{align-self:flex-start;margin-top:auto}
.hm-evc img{width:150px;height:150px;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(15,15,15,.3))}
.hm-ev-tag{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink)}
.hm-ev-tag svg{width:16px;height:16px;color:var(--primary)}
.hm-ev-mail{margin:0;font-size:15px;color:var(--muted)}
.hm-ev-mail b{color:var(--ink);font-weight:700;user-select:all}

/* ---------- group tours band ---------- */
.hm-tours{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px 40px;align-items:center;padding:40px 44px;border-radius:30px;isolation:isolate;overflow:hidden;
  background:radial-gradient(90% 120% at 100% 100%,#161616,var(--deep) 62%);color:var(--on-deep);box-shadow:0 26px 50px -30px rgba(12,12,12,.75)}
.hm-tours::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--gold-bright);opacity:.08;-webkit-mask:var(--jaali) 0 0/44px 44px repeat;mask:var(--jaali) 0 0/44px 44px repeat}
.hm-tours::after{content:"";position:absolute;inset:8px;border:1px solid color-mix(in srgb,var(--gold-bright) 35%,transparent);border-radius:24px;pointer-events:none}
.hm-tours .hm-kick{color:var(--gold-bright)}
.hm-tours .hm-kick::before{background:var(--gold-bright)}
.hm-tours h2{margin:10px 0 12px;font-family:var(--f-display);font-weight:700;font-size:clamp(30px,3.6vw,44px);line-height:1.04;letter-spacing:-.012em;color:#FFFFFF;text-wrap:balance}
.hm-tours p{margin:0 0 18px;font-size:17px;line-height:1.55;color:color-mix(in srgb,var(--on-deep) 88%,transparent);max-width:52ch}
.hm-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:0;list-style:none}
.hm-chips li{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 13px 0 10px;border-radius:999px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(187,187,187,.35);font-size:14.5px;font-weight:600;color:#FFFFFF;white-space:nowrap}
.hm-chips svg{width:16px;height:16px;color:var(--gold-bright)}
.hm-tours-vis{position:relative;display:flex;justify-content:center}
.hm-tours-vis img{width:min(100%,330px);height:auto;filter:drop-shadow(0 20px 24px rgba(0,0,0,.5))}

/* ---------- from the kitchen ---------- */
.hm-gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.hm-ph{position:relative;margin:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px 14px;border-radius:22px;background:var(--card);box-shadow:0 0 0 1px var(--line)}
.hm-ph:nth-child(4n+2),.hm-ph:nth-child(4n+3){background:var(--card-2)}
.hm-ph img{width:100%;max-width:200px;aspect-ratio:1;height:auto;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(15,15,15,.28))}
.hm-ph figcaption{font-size:14.5px;font-weight:600;color:var(--ink-2);text-align:center}
.hm-ph figcaption span{color:var(--muted);font-weight:500;margin-right:5px;font-variant-numeric:normal}
.hm-more{display:flex;justify-content:center}

@media (max-width:980px){
  .hm-menu,.hm-gal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hm-tours{grid-template-columns:minmax(0,1fr);padding:32px 26px}
  .hm-tours-vis{display:none}
}
@media (max-width:900px){
  .hm-hero,.hm-about{grid-template-columns:minmax(0,1fr)}
  .hm-vis{max-width:420px}
  .hm-ab-vis{min-height:340px;order:2}
  .hm-ev{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .hm{gap:56px}
  .hm-h1{font-size:44px}
  .hm-facts li{height:36px;font-size:14px}
  .hm-fl1{left:0;width:36%}.hm-fl2{right:0;width:30%}
  .hm-ab-vis{padding-bottom:128px}
  .hm-seal{width:78px;height:78px}.hm-seal b{font-size:26px}.hm-seal span{font-size:10px}
  .hm-stats b{font-size:26px}
  .hm-cat{padding:14px 10px 13px}
  .hm-cat img{width:96px;height:96px}
  .hm-cat b{font-size:19px}
  .hm-go{height:34px;padding:0 12px;font-size:13px}.hm-go svg{display:none}
  .hm-evc{grid-template-columns:minmax(0,1fr);padding:20px 18px}
  .hm-evc img{position:absolute;right:-18px;top:-14px;width:96px;height:96px;opacity:.9}
  .hm-evc h3{padding-right:62px;font-size:23px}
  .hm-tours{padding:28px 20px;border-radius:24px}
  .hm-ph{padding:12px 8px 10px}
  .hm-ph figcaption{font-size:13.5px}
}

/* v7: the way from the eight tiles to the whole menu */
.hm-all{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:6px;text-align:center}
.hm-all .pg-btn{height:52px;padding:0 26px;font-size:16px}
.hm-all .pg-btn svg{width:18px;height:18px;transition:transform .2s}
.hm-all .pg-btn:hover svg{transform:translateX(3px)}
.hm-all span{font-size:14.5px;color:var(--muted)}

/* ===== v28 (Norsk + the owner, 1 Nov 2026): the hero of the old namastenorge.no — the restaurant's own photo, full
   width, darker on the left so the text reads; their heading with "autentisk indisk mat" in orange (#AEAEAE).
   Our buttons and live chips stay. The photo is an <img> (fetchpriority high), so it loads first. ===== */
body:has(.hm-photo){overflow-x:clip}
.nn-sec.hm:has(.hm-photo){padding-top:0}
.hm-hero.hm-photo{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(560px,76vh,720px);width:100vw;max-width:none;margin-inline:calc(50% - 50vw);padding:64px max(22px,calc(50vw - 598px));box-sizing:border-box;overflow:hidden;background:#070707}
.hm-bg{position:absolute;inset:0;z-index:-2}
.hm-bg img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.hm-photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.58) 42%,rgba(0,0,0,.16) 82%),linear-gradient(0deg,rgba(0,0,0,.38),transparent 32%)}
.hm-photo .hm-copy{max-width:640px;gap:20px}
.hm-photo .hm-kick{color:#AEAEAE}
.hm-photo .hm-kick::before{background:#AEAEAE}
.hm-photo .hm-h1{color:#FFFFFF;font-size:clamp(40px,4.7vw,66px);line-height:1.03;text-shadow:0 2px 20px rgba(0,0,0,.35)}
.hm-photo .hm-hi{color:#AEAEAE}
.hm-photo .hm-lead{color:#FFFFFF;font-size:clamp(17px,1.45vw,20px);max-width:34em;text-shadow:0 1px 12px rgba(0,0,0,.45)}
.hm-photo .pg-btn-sun{background:linear-gradient(180deg,#B9B9B9,#A5A5A5);color:#080808}
.hm-btn-glass{background:rgba(0,0,0,.55);color:#FFFFFF;box-shadow:inset 0 0 0 2px #FFFFFF;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hm-btn-glass:hover,.hm-btn-glass:focus-visible{background:#FFFFFF;color:#080808}
.hm-photo .hm-facts li{background:rgba(0,0,0,.55);box-shadow:0 0 0 1px rgba(255,255,255,.3);color:#FFFFFF;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hm-photo .hm-facts svg{color:#AEAEAE}
.hm-photo :focus-visible{outline:3px solid #AEAEAE;outline-offset:3px}
@media (max-width:900px){
  .hm-hero.hm-photo{min-height:0;padding:56px 22px 48px}
  .hm-photo::before{background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.5)),linear-gradient(0deg,rgba(0,0,0,.4),transparent 40%)}
}
@media (max-width:560px){
  .hm-hero.hm-photo{padding:36px 16px 30px}
  .hm-bg img{object-position:58% 30%}
  .hm-photo::before{background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.72) 60%,rgba(0,0,0,.8))}
  .hm-photo .hm-copy{gap:14px}
  .hm-photo .hm-kick{font-size:11px;letter-spacing:.12em}
  .hm-photo .hm-h1{font-size:34px;line-height:1.06}
  .hm-photo .hm-lead{font-size:16.5px}
  .hm-photo .hm-lead-2,.hm-photo .hm-f3{display:none}
  .hm-photo .hm-btns .pg-btn{flex:1 1 0;padding:0 14px;height:50px}
  .hm-photo .hm-facts{gap:6px}
  .hm-photo .hm-facts li{height:34px;font-size:13.5px;padding:0 12px 0 10px}
}

/* 0.23.1 / 1.14.1 (Norsk, 1 Nov 2026): no chips under the buttons; the two buttons sit low in the hero, using its space */
.hm-hero.hm-photo{align-items:stretch}
.hm-photo .hm-copy{justify-content:flex-start;padding-top:clamp(8px,4vh,40px)}
.hm-photo .hm-btns{margin-top:auto;padding-top:28px}
.hm-photo .hm-btns .pg-btn{height:54px;padding:0 28px;font-size:16px}
@media (max-width:900px){.hm-photo .hm-copy{padding-top:0}.hm-photo .hm-btns{margin-top:10px;padding-top:0}}
@media (max-width:560px){.hm-photo .hm-btns .pg-btn{height:50px;padding:0 14px;font-size:15.5px}}
/* v30 (Norsk, 8 Nov 2026): the two hero buttons the same width (the wider one sets it), not sized by their text */
.hm-photo .hm-btns{display:grid;grid-template-columns:1fr 1fr;width:fit-content;max-width:100%}
.hm-photo .hm-btns .pg-btn{justify-content:center;text-align:center}
@media (max-width:560px){.hm-photo .hm-btns{width:100%}}

/* v34 (Norsk, 14 Nov 2026): phones: the hero title in 3 lines in both languages ("A panoramic / range of authentic / Indian food"),
   so the photo shows and NO + EN have the same height. Wider screens: one flowing title. */
.hm-br{display:none}
@media (max-width:700px){.hm-photo .hm-br{display:inline}.hm-photo .hm-h1{text-wrap:wrap}}

/* v35 (Norsk, 14 Nov 2026): black & white home page */
.hm-photo .hm-kick{display:none}
.hm-photo .hm-h1{font-weight:600;letter-spacing:-.025em}
.hm-photo .hm-hi{color:#FFFFFF}
.hm-photo::before{background:linear-gradient(90deg,rgba(0,0,0,.66) 0%,rgba(0,0,0,.42) 42%,rgba(0,0,0,.06) 82%),linear-gradient(0deg,rgba(0,0,0,.3),transparent 32%)}
@media (max-width:900px){.hm-photo::before{background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.36)),linear-gradient(0deg,rgba(0,0,0,.34),transparent 40%)}}
@media (max-width:560px){.hm-photo::before{background:linear-gradient(180deg,rgba(0,0,0,.36),rgba(0,0,0,.58) 60%,rgba(0,0,0,.7))}}
.hm-photo .pg-btn-sun{background:#FFFFFF;color:#111111}
.hm-photo .pg-btn-sun:hover{background:#E6E6E6}
.hm-photo .hm-facts svg{color:#FFFFFF}
.hm-photo :focus-visible{outline-color:#FFFFFF}
.hm-kick{color:var(--muted)}.hm-kick::before{background:var(--muted)}
.hm-ab-vis{background:#FFFFFF;box-shadow:0 0 0 1px var(--line)}
.hm-cat{background:#FFFFFF;box-shadow:0 0 0 1px var(--line)}
.hm-cat::after{display:none}
.hm-cat:hover{box-shadow:0 0 0 1.5px #111111}
.hm-cat b{color:#111111}
.hm-tours{background:#111111;box-shadow:none}
.hm-tours::after{display:none}
.hm-tours .hm-kick{color:#BDBDBD}.hm-tours .hm-kick::before{background:#BDBDBD}
.hm-tours h2{color:#FFFFFF}
.hm-tours .pg-btn-sun{background:#FFFFFF;color:#111111}
.hm-tours .pg-btn-sun:hover{background:#E6E6E6}
.hm-chips li{background:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
