/* SMASH – gemensam CSS. Tokens överst; ändra dem inte utan att uppdatera CLAUDE.md (designsystem). */
/* Layout: mörk scen på hela sajten med samma röda ljussken som i headern. Röd för allt klickbart. */
:root{
  /* Färger */
  --red:#D42427; --red-hover:#B81D20; --red-press:#9E181B; --red-text:#FF5A5D;
  --bg:#121212; --surface:rgba(255,255,255,.04); --text:#F4F1EA; --text-2:#B9B5AE; --line:rgba(255,255,255,.12);
  /* Typsnitt */
  --display:"Archivo",system-ui,sans-serif; --body:"Inter",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace;
  /* Spacing 4·8·12·16·24·32·48·64, radier 4·8·12·16 */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px;
  --r1:4px; --r2:8px; --r3:12px; --r4:16px;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:18px;line-height:1.55;position:relative;isolation:isolate;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
/* Röda ljusskenet ligger fast bakom hela sidan (fungerar även på iOS, till skillnad från background-attachment:fixed) */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(ellipse 45% 60% at 85% 0%,rgba(212,36,39,.42),transparent 65%),
  radial-gradient(ellipse 28% 40% at 62% 0%,rgba(255,236,200,.12),transparent 60%),
  radial-gradient(ellipse 50% 50% at 0% 100%,rgba(212,36,39,.18),transparent 65%),
  linear-gradient(180deg,#1A1A1A,#101010)}
.gut{padding-inline:clamp(16px,4vw,48px)}
.wrap{max-width:1200px;margin:0 auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--red-text);outline-offset:2px}

/* nav */
nav.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:rgba(18,18,18,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
nav.top .wrap{display:flex;align-items:center;gap:var(--s5);min-height:72px;flex-wrap:wrap;padding-block:var(--s2)}
.logo{display:inline-flex;align-items:center;line-height:0;text-decoration:none}
.logo img{height:26px;width:auto;display:block}
.links{display:flex;gap:var(--s1);flex-wrap:wrap;margin-left:auto}
.links a{text-decoration:none;padding:8px 10px;font-size:15px;font-weight:500;color:var(--text)}
.links a:hover{color:var(--red-text)}
.links a.on{color:var(--red-text);font-weight:700}

/* knappar */
.btn{display:inline-block;background:var(--red);color:#fff;font-family:var(--display);font-stretch:125%;font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;padding:14px 22px;border-radius:var(--r2);text-decoration:none;border:1.5px solid var(--red);cursor:pointer;line-height:1.2;text-align:center}
.btn:hover{background:var(--red-hover);border-color:var(--red-hover)}
.btn:active{background:var(--red-press);border-color:var(--red-press)}
.btn.ghost{background:transparent;color:#fff;border-color:#fff}
.btn.ghost:hover{background:rgba(255,255,255,.1)}
.cta{display:flex;gap:var(--s3);flex-wrap:wrap;align-items:center}

/* typografi */
section{padding-block:var(--s8);border-bottom:1px solid var(--line)}
.eyebrow{font-family:var(--display);font-stretch:125%;font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--red-text);margin:0 0 var(--s3)}
h1,h2,h3{font-family:var(--display);font-stretch:125%;font-weight:800;color:inherit;text-wrap:balance}
h1{font-size:clamp(36px,6vw,64px);line-height:1.1;letter-spacing:-.01em;margin:0 0 var(--s5);max-width:16ch}
h2{font-size:clamp(28px,3.6vw,40px);line-height:1.2;margin:0 0 var(--s3)}
h3{font-size:20px;font-weight:700;line-height:1.3;margin:0 0 var(--s1)}
p{margin:0 0 var(--s3);max-width:65ch}
.lead{font-size:19px;max-width:56ch;color:#D9D6D0}
.mono{font-family:var(--mono);font-size:14px}

/* hero */
.hero{padding-block:88px 72px}
.hero .wrap{display:grid;gap:var(--s5)}
.hero .yt{margin-top:var(--s5)} /* 24 + 24 = 48 px från knapparna */
.hero .yt.mid{margin-block:36px} /* 36 + 24 (gap) = 60 px över och under */
.hero h1{text-transform:uppercase;color:#fff}

/* youtube – laddas först vid klick */
.yt{position:relative;aspect-ratio:16/9;border-radius:var(--r3);overflow:hidden;background:#0A0A0A;border:1px solid var(--line)}
.yt button{all:unset;cursor:pointer;position:absolute;inset:0;display:grid;place-items:center}
.yt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85}
.yt button:hover img{opacity:1}
.yt .play{position:relative;width:76px;height:76px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-size:24px;padding-left:5px;box-shadow:0 8px 30px rgba(0,0,0,.4)}
.yt button:focus-visible{outline:3px solid #fff;outline-offset:-6px}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ställen i hero */
.places h2{color:#fff;font-size:clamp(22px,2.6vw,30px);margin:var(--s4) 0 var(--s3)}
.places ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px;max-width:760px}
.places li{font-family:var(--display);font-stretch:125%;font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#fff}

/* informationskort */
.center{text-align:center}.center p{margin-inline:auto}
.stack{display:grid;gap:var(--s6);max-width:920px;margin:var(--s6) auto 0}
.info{background:var(--surface);border:1.5px solid var(--red);border-radius:var(--r3);padding:clamp(20px,3vw,32px);display:grid;gap:var(--s3);justify-items:start;scroll-margin-top:90px;backdrop-filter:blur(2px)}
.info h2{color:var(--red-text);margin:0}
.info > p{color:var(--text-2)}
.info .tags{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s1) 0}
.pill{display:inline-block;font-family:var(--display);font-stretch:125%;font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;width:max-content}
.qa,.medley{display:grid;gap:var(--s4);margin:var(--s2) 0 var(--s3)}
.qa h3,.medley h3{font-size:16px;margin:0 0 2px}
.qa p,.medley p{margin:0;font-size:16px;color:var(--text-2)}

/* låttabell */
.songs{width:100%;border-collapse:collapse;font-size:16px;margin:var(--s2) 0 var(--s3)}
.songs th{text-align:left;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);padding:0 12px 10px 0;border-bottom:1px solid rgba(255,255,255,.28)}
.songs td{padding:11px 12px 11px 0;border-bottom:1px solid var(--line);vertical-align:top}
.songs td:first-child{color:var(--text);font-weight:500;width:50%}
.songs td:last-child{color:var(--text-2)}
.songs tr:last-child td{border-bottom:0}
.songs tbody tr:hover td{background:rgba(255,255,255,.03)}

/* kontakt */
.contact{display:grid;gap:var(--s4);justify-items:start;max-width:640px}
.contact p{font-size:20px;margin:0}
.contact a.tel{color:var(--red-text);font-weight:600;white-space:nowrap;text-decoration:none}
.contact a.tel:hover{text-decoration:underline}

/* bildgalleri */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}
.gallery img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r2);display:block}
.gallery img.top{object-position:50% 20%}
@media (max-width:800px){.gallery{grid-template-columns:repeat(2,1fr)}}

/* footer */
footer.site{background:rgba(0,0,0,.55);color:var(--text-2);padding-block:var(--s7);font-size:15px}
footer.site .wrap{display:grid;gap:var(--s5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
footer.site b{color:#fff;font-family:var(--display);font-stretch:125%;font-weight:700}
footer.site .flogo{height:24px;width:auto;display:block;margin-bottom:var(--s3)}
footer.site a{text-decoration:none}footer.site a:hover{color:#fff;text-decoration:underline}

@media (max-width:560px){.hero{padding-block:56px 48px}body{font-size:17px}}
@media (prefers-reduced-motion:no-preference){.btn{transition:background-color .15s,border-color .15s}}
