/* ============================================================
   style.css: all formgivning, en enda fil.
   Färger och typsnitt ligger som variabler i :root (--ink, --paper, --red, --mustard, --forest).
   Typsnitten (Caprasimo rubriker, Work Sans brödtext, Caveat handskrivet) ligger i fonts/ och hämtas inte från internet.
   Layouten är enkel: .wrap (max 1080 px) med sektioner under varandra. Brytpunkter: 900 px (surfplatta) och 700 px (mobil).
   Mörkt tema för Events-sidan sätts med klassen tema-natt på <html> (från main.js, när ett kommande event har tema 'natt').
   Klasser som g1 till g7 (galleriets sju platser) och nm-c1/nm-c2 (förstorad lapp) skapas av main.js, sök inte efter dem i HTML.
   ============================================================ */
@font-face{font-family:'Caprasimo';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/caprasimo-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Caveat';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/caveat-latin-700-normal.woff2) format('woff2');}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/work-sans-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/work-sans-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/work-sans-latin-700-normal.woff2) format('woff2');}
:root{
  --ink:#241F1C;
  --paper:#F3E9D2;
  --paper-2:#EADFC3;
  --red:#C63328;
  --mustard:#E3A72E;
  --forest:#2B3A2F;
  --line: rgba(36,31,28,0.18);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:'Work Sans', sans-serif; font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;}
img{max-width:100%; display:block;}
.wrap{max-width:1080px; margin:0 auto; padding:0 26px;}
:focus-visible{outline:3px solid var(--red); outline-offset:3px;}
h1,h2,h3{font-family:'Caprasimo', Georgia, serif; font-weight:400; letter-spacing:0; margin:0;}

/* ---------- NAVIGERING (meny överst, mobilmeny) ---------- */
header.site-nav{ position:sticky; top:0; z-index:50; background:var(--paper); border-bottom:3px solid var(--ink); }
.nav-inner{ display:flex; align-items:center; justify-content:space-between; padding:12px 26px; max-width:1080px; margin:0 auto; }
.brand{display:flex; align-items:center; gap:10px; text-decoration:none;}
.brand img{height:50px; width:auto;}
nav.links{display:flex; gap:22px; align-items:center; flex-wrap:wrap;}
nav.links a{ text-decoration:none; color:var(--ink); font-weight:600; font-size:0.9rem; text-transform:uppercase; letter-spacing:0.03em; padding:6px 2px; border-bottom:3px solid transparent; }
nav.links a:hover, nav.links a.active{border-color:var(--red);}
nav.links a.eng{ background:var(--ink); color:var(--paper); padding:8px 14px; border-bottom:none; }
.nav-toggle{display:none;}
@media (max-width:900px){
  nav.links{ position:fixed; inset:77px 0 0 0; background:var(--paper); flex-direction:column; align-items:flex-start; padding:26px; display:none; gap:20px; overflow-y:auto; border-top:3px solid var(--ink); }
  nav.links.open{display:flex;}
  .nav-toggle{ display:block; background:var(--ink); color:var(--paper); border:none; font-size:1.1rem; padding:8px 14px; cursor:pointer; font-weight:700;}
}

/* ---------- HJÄLTE OCH SIDBANNER ---------- */
.hero{ padding:64px 26px 76px; position:relative; overflow:hidden;}
.hero-inner{max-width:1080px; margin:0 auto; position:relative;}
.stamp{
  position:absolute; top:8px; right:26px; width:104px; height:104px;
  border:3px solid var(--red); border-radius:50%; display:flex; align-items:center; justify-content:center;
  text-align:center; transform:rotate(9deg); color:var(--red); font-family:'Caprasimo', Georgia, serif;
  font-size:0.68rem; letter-spacing:0.05em; line-height:1.3; padding:8px;
}
@media (max-width:700px){ .stamp{display:none;} }
.kicker{ font-weight:700; font-size:0.88rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--red); margin-bottom:16px; }
h1.hero-title{ font-size:clamp(2.6rem, 7vw, 4.6rem); line-height:1.02; color:var(--ink); max-width:13ch; }
h1.hero-title .accent{color:var(--red);}
.hero-sub{font-size:1.1rem; max-width:46ch; margin:22px 0 0; opacity:0.85;}
.hero-cta{display:flex; gap:14px; flex-wrap:wrap; margin-top:32px;}

/* smalare banner på undersidor */
.page-banner{ padding:50px 26px 56px; }
.page-banner .kicker{margin-bottom:10px;}
.page-banner h1{font-size:clamp(2.2rem, 6vw, 3.6rem);}

.btn{
  font-family:'Work Sans', sans-serif; font-weight:700; font-size:0.95rem; text-transform:uppercase; letter-spacing:0.03em;
  padding:15px 28px; text-decoration:none; display:inline-block; border:3px solid var(--ink);
}
.btn-primary{background:var(--red); color:var(--paper); border-color:var(--red); box-shadow:5px 5px 0 var(--ink);}
.btn-ghost{background:transparent; color:var(--ink); box-shadow:5px 5px 0 var(--ink);}
.btn:hover{transform:translate(2px,2px); box-shadow:3px 3px 0 var(--ink);}
.hero-meta{display:flex; gap:30px; flex-wrap:wrap; font-size:0.85rem; font-weight:600; margin-top:34px;}
.hero-meta strong{display:block; color:var(--red); font-size:0.68rem; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:3px; font-weight:700;}

/* ---------- SEKTIONER ---------- */
section{padding:70px 0;}
section.forest{background:var(--forest); color:var(--paper);}
section.forest h2, section.forest .count{color:var(--mustard);}
section.mustard{background:var(--mustard); color:var(--ink);}
section.mustard .count{color:var(--forest);}

.section-head{margin-bottom:40px; max-width:620px;}
.count{ font-weight:700; font-size:0.85rem; color:var(--red); letter-spacing:0.1em; display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.count .rest{opacity:0.35;}
.eq{display:inline-flex; align-items:flex-end; gap:2px; height:14px;}
.eq span{width:3px; background:currentColor; opacity:0.55; animation:eqbounce 1.8s ease-in-out infinite;}
.eq span:nth-child(1){height:40%; animation-delay:0s;}
.eq span:nth-child(2){height:100%; animation-delay:0.2s;}
.eq span:nth-child(3){height:65%; animation-delay:0.4s;}
.eq span:nth-child(4){height:85%; animation-delay:0.6s;}
@keyframes eqbounce{0%,100%{transform:scaleY(0.4);} 50%{transform:scaleY(1);}}
@media (prefers-reduced-motion: reduce){ .eq span{animation:none; height:70% !important;} }
h2.section-title{font-size:clamp(2rem, 4vw, 2.8rem); margin-bottom:12px;}
.section-lede{opacity:0.85; font-size:1.03rem; max-width:52ch;}

/* upphängt kort (nål, skugga). Används överallt, även kurskorten */
.pin-card{ background:var(--paper); border:3px solid var(--ink); padding:28px; box-shadow:7px 7px 0 var(--ink); position:relative; }
.pin-card::before{ content:""; position:absolute; top:-11px; left:50%; transform:translateX(-50%); width:20px; height:20px; background:var(--red); border-radius:50%; border:2px solid var(--ink); }
.rot-l{ transform:rotate(-1.4deg); }
.rot-r{ transform:rotate(1.2deg); }

.ticket-row{display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:start;}
@media (max-width:820px){ .ticket-row{grid-template-columns:1fr;} }
.tk-label{font-weight:700; text-transform:uppercase; font-size:0.72rem; letter-spacing:0.08em; color:var(--red); display:block; margin-bottom:6px;}
.tk-val{font-family:'Caprasimo', Georgia, serif; font-size:1.9rem; margin-bottom:4px;}
.tk-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px 28px; margin-top:20px; padding-top:20px; border-top:2px dashed var(--ink);}
.map-link{font-weight:700; font-size:0.9rem; text-decoration:underline; text-underline-offset:3px; color:var(--red);}
.fb-rad{margin:2px 0 14px;}

.duo{display:flex; flex-direction:column; gap:18px;}
.duo .pin-card h3{font-size:1.25rem; margin-bottom:8px;}
.duo .pin-card p{margin:0; opacity:0.82; font-size:0.96rem;}

/* KURSER (kurskort, pris, stämpel för inställd kurs) */
.course-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px 24px; margin-top:6px;}
@media (max-width:900px){ .course-grid{grid-template-columns:1fr;} }
.course-card h3{font-size:1.5rem; margin:6px 0 4px;}
.course-card .lvl{font-weight:700; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--red);}
.course-card .time{opacity:0.75; font-size:0.92rem; margin:6px 0 16px;}
.price-row{display:flex; align-items:baseline; gap:10px; padding-top:16px; border-top:2px dashed var(--ink);}
.price{font-family:'Caprasimo', Georgia, serif; font-size:1.9rem; color:var(--red);}

.pay-info{ margin-top:28px; padding:22px 26px; border-left:4px solid var(--ink); background:rgba(36,31,28,0.06); font-size:0.95rem; }
.pay-info b{color:var(--red);}

/* FÖRENING (om oss-sidan) */
.about-grid{display:grid; grid-template-columns:1.15fr 1fr; gap:46px; align-items:start;}
@media (max-width:900px){ .about-grid{grid-template-columns:1fr;} }
.about-copy p{opacity:0.88; margin:0 0 18px; font-size:1.02rem;}
.stat-row{display:flex; gap:16px;}
.stat{border:3px solid var(--ink); padding:18px 20px; flex:1; text-align:center;}
.stat .num{font-family:'Caprasimo', Georgia, serif; font-size:1.6rem; color:var(--red); display:block;}
.stat .lbl{font-size:0.72rem; text-transform:uppercase; letter-spacing:0.05em; opacity:0.7;}

/* GALLERI, grund (anslagstavlans utseende finns längre ner under "galleri som en riktig anslagstavla") */
.board-wrap{ background:#5c4630; border:3px solid var(--ink); padding:38px 26px; background-image:radial-gradient(rgba(0,0,0,0.18) 1px, transparent 1px); background-size:14px 14px; }
.photo{background:#fff; padding:10px 10px 26px; box-shadow:0 8px 16px rgba(0,0,0,0.35); position:relative; text-decoration:none; display:block;}
.photo:nth-child(odd){transform:rotate(-3deg);}
.photo:nth-child(even){transform:rotate(2.5deg);}
.photo:hover{transform:rotate(0deg) scale(1.03); transition:transform .25s ease;}
.photo img{width:100%; height:100%; aspect-ratio:1/1; object-fit:cover;}
.photo::before{ content:""; position:absolute; top:-9px; left:50%; transform:translateX(-50%); width:16px; height:16px; border-radius:50%; background:var(--red); border:2px solid #7a1c11; }

/* lapp (post-it), grundutseende */
.note{
  background:#F6DE6B; padding:22px 20px; box-shadow:0 8px 16px rgba(0,0,0,0.35);
  position:relative; font-family:'Caveat', cursive; color:#3a2f10; font-size:1.44rem; line-height:1.4;
  display:flex; align-items:center; justify-content:center; text-align:center;
}
.note:nth-child(odd){transform:rotate(-2.2deg);}
.note:nth-child(even){transform:rotate(2deg);}
.note::before{ content:""; position:absolute; top:-9px; left:50%; transform:translateX(-50%); width:16px; height:16px; border-radius:50%; background:var(--red); border:2px solid #7a1c11; }
.note .who{display:block; font-family:'Work Sans', sans-serif; font-weight:700; font-size:0.7rem; text-transform:uppercase; letter-spacing:0.06em; margin-top:12px; opacity:0.75;}

/* NYHETER, grund */
.news-preview{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
@media (max-width:900px){ .news-preview{grid-template-columns:1fr;} }

/* KONTAKT */
.contact-grid{display:grid; grid-template-columns:1.2fr 1fr; gap:46px;}
@media (max-width:900px){ .contact-grid{grid-template-columns:1fr;} }
.contact-row{display:flex; justify-content:space-between; align-items:center; padding:18px 0; border-bottom:2px dotted var(--line);}
.contact-row .lbl{font-weight:700; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.06em; opacity:0.65;}
.contact-row a{font-size:1.05rem; font-weight:600; text-decoration:none; border-bottom:2px solid var(--red);}
.socials{display:flex; gap:12px; margin-top:22px;}
.socials a{ width:44px; height:44px; border:3px solid var(--ink); display:flex; align-items:center; justify-content:center; text-decoration:none; font-weight:700; font-size:0.75rem; }
.socials a:hover{background:var(--ink); color:var(--paper);}
.kar-badge{ display:inline-flex; align-items:center; gap:8px; margin-top:28px; font-weight:700; font-size:0.8rem; text-decoration:none; color:var(--ink); border:2px solid var(--ink); padding:9px 16px; }
.kar-badge:hover{background:var(--ink); color:var(--paper);}

footer{border-top:3px solid var(--ink); padding:32px 0; font-size:0.85rem; font-weight:600;}
.foot-inner{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;}


/* små tillägg: grid, knappar, Instagram-band */
html,body{overflow-x:clip;}
.about-grid > *{min-width:0;}
.stat-row{flex-wrap:wrap;}
.nav-toggle{font-family:'Work Sans', sans-serif;}
.join-steps{margin:0; padding:0; list-style:none; counter-reset:j;}
.join-steps li{counter-increment:j; display:flex; gap:14px; align-items:flex-start; padding:12px 0; border-bottom:2px dashed var(--ink);}
.join-steps li:last-child{border-bottom:none;}
.join-steps li::before{content:counter(j); flex:none; width:32px; height:32px; border-radius:50%; background:var(--red); color:var(--paper); font-family:'Caprasimo', Georgia, serif; display:flex; align-items:center; justify-content:center;}
.photo.more{display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; background:var(--mustard); color:var(--ink); padding:30px 20px; gap:6px; aspect-ratio:1/1;}
.photo.more span{font-family:'Caveat', cursive; font-size:1.88rem;}
.photo.more strong{font-family:'Caprasimo', Georgia, serif; font-weight:400; font-size:1.3rem;}


/* ---- polaroider som tonar mellan bilder ---- */
.hero-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:30px; align-items:center;}
@media (max-width:900px){ .hero-grid{grid-template-columns:1fr;} }
.polaroids{position:relative; height:500px;}
@media (max-width:900px){ .polaroids{height:400px; margin-top:26px;} }
.polaroid{margin:0; background:#fff; border:3px solid var(--ink); box-shadow:7px 7px 0 var(--ink); padding:10px 10px 0; position:relative;}
.polaroid::before{content:""; position:absolute; top:-11px; left:50%; transform:translateX(-50%); width:20px; height:20px; background:var(--red); border-radius:50%; border:2px solid var(--ink); z-index:2;}
.pl-frame{position:relative; aspect-ratio:1/1; background:var(--paper-2); overflow:hidden;}
.pl-slide{position:absolute; inset:0; opacity:0; transition:opacity 1.4s ease;}
.pl-slide.on{opacity:1;}
.pl-slide img{width:100%; height:100%; object-fit:cover;}
.pl-caption{position:relative; height:56px;}
.pl-caption span{text-align:center; line-height:1.05; padding:0 6px; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:'Caveat', cursive; font-size:1.62rem; color:var(--ink); opacity:0; transition:opacity 1.4s ease;}
.pl-caption span.on{opacity:1;}
section.news{background:var(--paper-2); border-top:3px solid var(--ink); border-bottom:3px solid var(--ink);}
@media (prefers-reduced-motion: reduce){ .pl-slide,.pl-caption span{transition:none;} }


/* ---- klickbara polaroider ---- */
a.polaroid{display:block; text-decoration:none; color:inherit; transition:transform .25s ease, box-shadow .25s ease;}
.btn-xl{font-size:1.2rem; padding:22px 40px;}
section.forest .btn-primary{box-shadow:6px 6px 0 var(--paper);}
section.forest .btn-primary:hover{box-shadow:3px 3px 0 var(--paper);}
.insta-band{text-align:center; margin-top:56px;}
.insta-band p{color:var(--paper); font-size:1.15rem; margin:0 0 22px;}
.insta-band .btn-primary{box-shadow:6px 6px 0 var(--paper);}

/* ---- nyheter som post-it ---- */
section.news{background:var(--paper-2); border-top:3px solid var(--ink); border-bottom:3px solid var(--ink);}
.postits{display:grid; grid-template-columns:repeat(3,1fr); gap:40px 30px; align-items:start;}
@media (max-width:900px){ .postits{grid-template-columns:1fr; max-width:440px; margin:0 auto;} }
.postit{position:relative; padding:38px 26px 30px; min-height:240px; background:#F6DE6B; color:var(--ink); box-shadow:0 12px 20px rgba(36,31,28,.22); display:flex; flex-direction:column; gap:2px;
  background-image:linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,0) 45%);}
.postit::before{content:""; position:absolute; top:-13px; left:50%; width:92px; height:28px; margin-left:-46px; background:rgba(255,255,255,.6); box-shadow:0 1px 3px rgba(0,0,0,.15); transform:rotate(-3deg);}
.postit:nth-child(3n+1){transform:rotate(-1.8deg);}
.postit:nth-child(3n+2){background-color:#F5BFB2; transform:rotate(1.5deg);}
.postit:nth-child(3n+3){background-color:#CDE8D5; transform:rotate(-0.8deg);}
.pi-date{font-family:'Caveat', cursive; font-size:1.56rem; opacity:.8;}
.postit h3{font-size:1.5rem; margin:4px 0 10px; line-height:1.1;}
.postit p{margin:0; font-size:1rem; line-height:1.5;}
.pi-link{margin-top:auto; padding-top:18px; font-weight:700; color:var(--ink); text-underline-offset:3px;}


/* ---- tre polaroider i hjälten ---- */
.hero-side{position:relative;}
.polaroids{height:560px;}
@media (max-width:900px){ .polaroids{height:440px;} }
.ig-wrap{margin-top:34px; text-align:center;}
.btn-lg{font-size:1.05rem; padding:18px 30px;}
section.forest .postit:nth-child(3n+1){transform:rotate(-1.8deg);}

/* justering: inget kort täcker ett annat korts text */
.polaroids{height:630px;}

/* ---- mobil: kompakt polaroidrad så att nyheterna syns snabbt ---- */
@media (max-width:900px){
  .hero{padding-bottom:44px;}
  .hero-side{max-width:480px; margin:6px auto 0;}
  .polaroids{height:215px; margin-top:0;}
  .polaroid{padding:6px 6px 0; border-width:2px; box-shadow:4px 4px 0 var(--ink);}
  .polaroid::before{width:14px; height:14px; top:-8px; border-width:2px;}
  .pl-caption{height:34px;}
  .pl-caption span{font-size:.95rem;}
  .ig-wrap{margin-top:22px;}
  .btn-lg{font-size:.95rem; padding:15px 22px;}
}
@media (max-width:900px){
  .hero{padding-top:34px;}
  .hero-cta{gap:12px; margin-top:24px; flex-wrap:nowrap;}
  .hero-cta .btn{padding:13px 16px; font-size:.82rem; box-shadow:4px 4px 0 var(--ink); border-width:2px;}
  .hero-meta{gap:14px 24px; margin-top:26px;}
  .hero-sub{margin-top:16px;}
}
@media (max-width:360px){ .hero-cta{flex-wrap:wrap;} }
h1.hero-title{line-height:1.05;}


/* ---- hjälten: polaroider placeras så att rubriken inte krockar ---- */
h1.hero-title{line-height:1.14;}
.hero{overflow:visible;}
.hero-side{display:flex; flex-direction:column; align-items:center;}
.explore{position:relative;}
.ig-wrap{margin-top:36px;}
@media (max-width:900px){
  .hero-side{margin-top:10px;}
  .ig-wrap{margin-top:26px;}
}


/* ---- hjälten: tre polaroider, två hänger över kanterna ---- */
.hero-side{display:flex; flex-direction:column; align-items:stretch;}
.hero-side .polaroids{position:relative; height:600px; width:100%;}
.hp1{position:absolute; width:262px; top:10px; left:0; transform:rotate(-4deg);}
.hp2{position:absolute; width:236px; top:130px; right:0; transform:rotate(5deg);}
.hp3{position:absolute; width:222px; top:330px; left:70px; transform:rotate(-2deg);}
a.hp1:hover{transform:rotate(-1.5deg) translateY(-6px); box-shadow:11px 11px 0 var(--ink);}
a.hp2:hover{transform:rotate(2deg) translateY(-6px); box-shadow:11px 11px 0 var(--ink);}
a.hp3:hover{transform:rotate(1deg) translateY(-6px); box-shadow:11px 11px 0 var(--ink);}
.hero-side .ig-wrap{align-self:center; margin-top:30px;}
.hero > .sp1{position:absolute; left:1%; bottom:-150px; width:190px; transform:rotate(-6deg); z-index:6;}
.hero > .sp1m{display:none;}
.explore > .sp2{position:absolute; right:15%; top:-175px; left:auto; bottom:auto; width:210px; transform:rotate(4deg); z-index:6;}
a.sp1:hover{transform:rotate(-3deg) translateY(-6px); box-shadow:11px 11px 0 var(--ink);}
a.sp2:hover{transform:rotate(1deg) translateY(-6px); box-shadow:11px 11px 0 var(--ink);}
@media (max-width:900px){
  .hero-side .polaroids{display:none;}
  .hero-side{margin-top:6px;}
  .hero{padding-bottom:125px;}
  .hero > .sp1{left:14px; bottom:-40px; width:112px;}
  .hero > .sp1m{display:block; position:absolute; right:16px; bottom:-30px; width:104px; transform:rotate(5deg); z-index:6;}
  .explore > .sp2{right:18px; top:-62px; width:112px;}
  .hero-side .ig-wrap{margin-top:22px;}
}
@media (min-width:901px){
  .hero > .sp1{left:-30px; bottom:-60px; width:176px;}
  .explore > .sp2{top:-185px;}
}
@media (min-width:901px) and (max-width:1360px){ .hero > .sp1{display:none;} }


/* ---- hjälten: finjusteringar ---- */
.hero > .sp1c{display:none;}
@media (min-width:901px){
  .hero > .sp1{left:max(-12px, calc(50% - 735px)); bottom:-60px; width:176px;}
}
@media (min-width:901px) and (max-width:1439px){ .hero > .sp1{display:none;} }
@media (max-width:900px){
  .hero{padding-bottom:108px;}
  .hero > .sp1{left:10px; bottom:-40px; width:100px;}
  .hero > .sp1c{display:block; position:absolute; left:50%; margin-left:-48px; bottom:-52px; width:96px; transform:rotate(3deg); z-index:6;}
  .hero > .sp1m{right:10px; bottom:-34px; width:100px;}
  .hero-side .ig-wrap{margin-top:18px;}
  .hero-side .ig-wrap .btn{font-size:.8rem; padding:11px 18px; border-width:2px; box-shadow:3px 3px 0 var(--ink);}
}

/* klubb: intro */
.club-intro{max-width:720px; margin:0 0 38px;}
.club-intro p{margin:0 0 12px; font-size:1.05rem; line-height:1.6;}
.club-intro .club-lead{font-family:'Caveat', cursive; font-size:2.12rem; line-height:1.3; color:var(--red); margin-bottom:14px;}

/* bannertexten linjerar med innehållet under */
.page-banner{padding-left:0; padding-right:0;}
.page-banner .hero-inner{padding:0 26px;}

/* kurser: utfällbar info */
.course-duo{display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:start;}
@media (max-width:820px){ .course-duo{grid-template-columns:1fr;} }
.price-note{font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em;}
.price-info{font-size:0.85rem; margin:6px 0 0;}
.course-card{position:relative;}
.course-card .stamp{position:absolute; top:16px; right:16px; transform:rotate(6deg); border:3px solid var(--red); color:var(--red); font-family:'Caprasimo', Georgia, serif; text-transform:uppercase; letter-spacing:0.06em; font-size:0.95rem; padding:3px 10px; background:var(--paper);}
html[lang="en"] .course-card .stamp{font-size:0.74rem; letter-spacing:0.02em;}
.course-card.is-off .time, .course-card.is-off .price-row{opacity:0.55;}
.more{margin-top:18px;}
.more summary{display:inline-block; cursor:pointer; list-style:none; font-weight:700; font-size:0.85rem; text-transform:uppercase; letter-spacing:0.06em; border:3px solid var(--ink); padding:9px 18px; background:var(--paper); box-shadow:3px 3px 0 var(--ink);}
.more summary::-webkit-details-marker{display:none;}
.more summary::after{content:' +';}
.more[open] summary::after{content:' \2212';}
.more summary:focus-visible{outline:3px solid var(--red); outline-offset:3px;}
.more-body{margin-top:18px; padding-top:18px; border-top:2px dashed var(--ink);}
.more-body p{margin:0 0 12px; font-size:0.96rem; line-height:1.6;}
.more-body a{color:var(--red); text-decoration:underline; text-underline-offset:3px;}
.price-other{margin-left:auto; font-size:0.85rem; opacity:0.75;}
.price-other b{font-family:'Caprasimo', Georgia, serif; font-size:1.2rem; font-weight:400;}
.price{white-space:nowrap;}
.price-row{flex-wrap:wrap; row-gap:4px;}
.price-note,.price-other{white-space:nowrap;}
@media (max-width:480px){ .price-other{margin-left:0; flex-basis:100%;} }
.course-card .where{margin:-8px 0 16px; font-size:0.92rem; line-height:1.5;}
.course-card .where .map-link{white-space:nowrap; margin-left:4px;}
.course-card.is-off .where{opacity:0.55;}
.course-card .walkin{margin:-6px 0 16px; font-weight:700; font-size:0.9rem; color:var(--red);}
.about-copy p.club-lead{font-family:'Caveat', cursive; font-size:2.25rem; line-height:1.3; color:var(--red); opacity:1; margin-bottom:18px;}
.about-copy .about-h{font-family:'Caprasimo', Georgia, serif; font-weight:400; font-size:1.5rem; letter-spacing:0; margin:34px 0 10px; color:var(--ink);}
.about-copy p.club-lead + .about-h{margin-top:22px;}
.foot-social{display:flex; gap:22px; flex-wrap:wrap;}
.foot-social a{text-decoration:underline; text-underline-offset:3px; text-decoration-color:transparent; transition:text-decoration-color .15s, color .15s;}
.foot-social a:hover,.foot-social a:focus-visible{color:var(--red); text-decoration-color:var(--red);}

/* ---- galleri: polaroider och förstoring ---- */
.gal-board{display:grid; grid-template-columns:repeat(3,1fr); gap:46px 34px; padding:14px 6px 8px;}
@media (max-width:900px){ .gal-board{grid-template-columns:repeat(2,1fr); gap:34px 18px; padding:14px 0 6px;} }
.gal-pl{cursor:zoom-in; transition:transform .25s ease, box-shadow .25s ease; min-width:0;}
.gal-pl:nth-child(3n+1){transform:rotate(-3deg);} .gal-pl:nth-child(3n+2){transform:rotate(2deg);} .gal-pl:nth-child(3n){transform:rotate(-1.5deg);}
@media (max-width:900px){ .gal-pl:nth-child(odd){transform:rotate(-2.5deg);} .gal-pl:nth-child(even){transform:rotate(2deg);} }
.gal-pl:hover,.gal-pl:focus-visible{transform:rotate(0) translateY(-6px); box-shadow:11px 11px 0 var(--ink); outline:none;}
.gal-pl:focus-visible{outline:3px solid var(--mustard); outline-offset:4px;}
.lb{position:fixed; inset:0; z-index:100; background:rgba(20,16,14,.9); display:grid; place-items:center; padding:20px; opacity:0; transition:opacity .2s ease;}
.lb[hidden]{display:none;}
.lb.on{opacity:1;}
.lb-card{margin:0; background:#fff; border:3px solid var(--ink); box-shadow:9px 9px 0 rgba(0,0,0,.5); padding:14px 14px 0; max-width:min(92vw,820px); transform:rotate(-1deg);}
.lb-card img{display:block; max-width:100%; max-height:70vh; width:auto; height:auto; margin:0 auto; object-fit:contain; background:var(--paper-2);}
.lb-cap{height:64px; display:flex; align-items:center; justify-content:center; font-family:'Caveat', cursive; font-size:2.12rem; color:var(--ink);}
.lb-btn{position:absolute; width:48px; height:48px; border:3px solid var(--ink); background:var(--paper); color:var(--ink); font-size:1.9rem; line-height:1; cursor:pointer; box-shadow:3px 3px 0 var(--ink); display:grid; place-items:center; padding:0 0 4px;}
.lb-btn:hover,.lb-btn:focus-visible{background:var(--mustard); outline:none;}
.lb-close{top:16px; right:16px;}
.lb-prev{left:16px; top:50%; margin-top:-24px;}
.lb-next{right:16px; top:50%; margin-top:-24px;}
@media (max-width:700px){ .lb-prev,.lb-next{top:auto; bottom:18px; margin-top:0;} .lb-prev{left:calc(50% - 64px);} .lb-next{right:calc(50% - 64px);} .lb-card img{max-height:62vh;} }
html.lb-open{overflow:hidden;}
@media (prefers-reduced-motion: reduce){ .lb,.gal-pl{transition:none;} }

/* ---- galleri som anslagstavla: sju polaroider g1 till g7 placeras med absolut position, olika storlek och lutning ---- */
.board-wrap{background-color:#a8764a; background-image:radial-gradient(rgba(60,35,15,0.32) 1.2px, transparent 1.4px), radial-gradient(rgba(255,235,200,0.18) 1px, transparent 1.2px); background-size:13px 13px, 19px 19px; background-position:0 0, 6px 7px; padding:34px 28px; box-shadow:6px 6px 0 var(--ink);}
.gal-board{display:block; position:relative; width:100%; aspect-ratio:1 / 1.82; padding:0;}
.gal-board .gal-pl{position:absolute; transform:rotate(var(--r,0deg)); z-index:var(--z,1);}
.gal-board .gal-pl:hover,.gal-board .gal-pl:focus-visible{transform:rotate(0deg) translateY(-6px) scale(1.03); z-index:20;}
.gal-board .pl-caption{height:34px;} .gal-board .pl-caption span{font-size:1rem;}
.gal-board .g1{width:60%; left:3%;  top:1.2%; --r:-3deg; --z:2;}
.gal-board .g2{width:36%; left:62%; top:2.7%; --r:4deg;  --z:3;}
.gal-board .g3{width:34%; left:60%; top:30.8%; --r:-3deg; --z:4;}
.gal-board .g4{width:40%; left:4%;  top:38.5%; --r:3deg;  --z:5;}
.gal-board .g5{width:34%; left:58%; top:57.1%; --r:2deg;  --z:6;}
.gal-board .g6{width:34%; left:16%; top:72%; --r:-2deg; --z:7;}
.gal-board .g7{display:none;}
@media (min-width:901px){
  .board-wrap{padding:40px 36px;}
  .gal-board{aspect-ratio:1 / 0.97;}
  .gal-board .pl-caption{height:56px;} .gal-board .pl-caption span{font-size:1.3rem;}
  .gal-board .g1{width:40%; left:2%;  top:3.1%;  --r:-3deg; --z:2;}
  .gal-board .g2{width:24%; left:47%; top:2.1%;  --r:4deg;  --z:3;}
  .gal-board .g3{width:24%; left:73%; top:6.2%;  --r:-3deg; --z:4;}
  .gal-board .g4{width:25%; left:44%; top:32%; --r:-2deg; --z:5;}
  .gal-board .g5{width:22%; left:74%; top:39.2%; --r:3deg;  --z:6;}
  .gal-board .g6{width:30%; left:12%; top:51.8%; --r:2deg; --z:7;}
  .gal-board .g7{display:block; width:31%; left:57%; top:60%; --r:-2.5deg; --z:9;}
}
.insta-band p{color:var(--ink);}
.insta-band .btn-primary{box-shadow:6px 6px 0 var(--ink);}
.gal-board .pl-caption span{overflow:hidden; padding:0 6px;}
.socials{flex-wrap:wrap;}
.socials a{width:auto; height:auto; padding:11px 18px; font-size:0.85rem; text-transform:uppercase; letter-spacing:0.05em; box-shadow:3px 3px 0 var(--ink); background:var(--paper);}
.socials a:hover{box-shadow:none; transform:translate(3px,3px);}

/* nyheter: radbrytningar i text, förkortade lappar på startsidan, avslutande rad */
.postit p{white-space:pre-line;}

/* ---- korta lappar och egna nyhetssidor ---- */
.postit p{display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; white-space:normal;}
.event-layout{display:grid; grid-template-columns:1.5fr 1fr; gap:46px; align-items:start;}
@media (max-width:900px){ .event-layout{grid-template-columns:1fr; gap:34px;} }
.event-main{min-width:0;}
.event-img{margin:0 0 26px; border:3px solid var(--ink); box-shadow:7px 7px 0 var(--ink); background:#fff; padding:10px;}
.event-img img{display:block; width:100%; height:auto;}
.event-body p{margin:0 0 16px; font-size:1.05rem; line-height:1.65; max-width:62ch;}
.event-facts dl{margin:0 0 22px;}
.event-facts dl > div{padding:12px 0; border-bottom:2px dotted var(--line);}
.event-facts dl > div:first-child{padding-top:0;}
.event-facts dt{font-weight:700; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--red);}
.event-facts dd{margin:3px 0 0; font-weight:600; font-size:1.05rem;}
.nd-title{font-size:clamp(1.9rem,5.2vw,3.2rem);}
.nd-back{margin:46px 0 0;}
.page-banner h1.nd-title{font-size:clamp(1.8rem,4.2vw,2.7rem); line-height:1.12;}

/* ---- förstorad lapp (ruta som öppnas när man klickar på en nyhet) ---- */
button.pi-link{background:none; border:0; padding:18px 0 0; margin-top:auto; font:inherit; font-weight:700; color:var(--ink); text-decoration:underline; text-underline-offset:3px; cursor:pointer; text-align:left; align-self:flex-start;}
button.pi-link:hover,button.pi-link:focus-visible{color:var(--red);}
.nm{position:fixed; inset:0; z-index:100; background:rgba(20,16,14,.82); display:grid; place-items:center; padding:20px; opacity:0; transition:opacity .2s ease;}
.nm[hidden]{display:none;}
.nm.on{opacity:1;}
.nm-card{position:relative; width:min(640px,100%); max-height:88vh; overflow:auto; background:#F6DE6B; color:var(--ink); padding:46px 38px 38px; box-shadow:0 18px 40px rgba(0,0,0,.45); transform:scale(.96) rotate(-.6deg); transition:transform .25s ease;}
.nm.on .nm-card{transform:scale(1) rotate(-.6deg);}
.nm-c1{background:#F5BFB2;} .nm-c2{background:#CDE8D5;}
.nm-card::before{content:""; position:absolute; top:12px; left:50%; width:92px; height:26px; margin-left:-46px; background:rgba(255,255,255,.6); box-shadow:0 1px 3px rgba(0,0,0,.18);}
.nm-inner .pi-date{display:block; font-family:'Caveat', cursive; font-size:1.62rem; opacity:.8;}
.nm-inner h2{font-family:'Caprasimo', Georgia, serif; font-weight:400; font-size:clamp(1.7rem,5vw,2.3rem); line-height:1.08; margin:4px 0 18px;}
.nm-inner p{margin:0 0 14px; font-size:1.05rem; line-height:1.6;}
.nm-img{margin:0 0 20px; background:#fff; padding:8px; box-shadow:0 6px 14px rgba(0,0,0,.25);}
.nm-img img{display:block; width:100%; height:auto;}
.nm-facts{margin:0 0 20px; padding:14px 0; border-top:2px dotted rgba(36,31,28,.45); border-bottom:2px dotted rgba(36,31,28,.45); display:grid; gap:10px;}
.nm-facts dt{font-weight:700; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--red);}
.nm-facts dd{margin:2px 0 0; font-weight:600;}
.nm-inner .btn{margin-top:8px;}
.nm-close{position:absolute; top:10px; right:10px; width:42px; height:42px; border:3px solid var(--ink); background:var(--paper); color:var(--ink); font-size:1.7rem; line-height:1; cursor:pointer; padding:0 0 3px; box-shadow:3px 3px 0 var(--ink); z-index:2;}
.nm-close:hover,.nm-close:focus-visible{background:var(--mustard); outline:none;}
@media (max-width:600px){ .nm-card{padding:44px 22px 28px;} }
@media (prefers-reduced-motion: reduce){ .nm,.nm-card{transition:none;} }

/* ---- vanliga frågor (<details>) ---- */
.faq-sec{padding:20px 0 64px;}
.faq{max-width:780px;}
.faq h2{font-family:'Caprasimo', Georgia, serif; font-weight:400; font-size:clamp(1.6rem,4vw,2.1rem); margin:0 0 10px;}
.faq details{border-bottom:2px dotted var(--line);}
.faq summary{cursor:pointer; list-style:none; position:relative; padding:18px 44px 18px 0; font-weight:700; font-size:1.06rem; line-height:1.4;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+'; position:absolute; right:4px; top:50%; transform:translateY(-50%); font-size:1.6rem; font-weight:400; color:var(--red);}
.faq details[open] summary::after{content:'\2212';}
.faq summary:hover{color:var(--red);}
.faq summary:focus-visible{outline:3px solid var(--red); outline-offset:2px;}
.faq details p{margin:0 0 20px; max-width:62ch; line-height:1.65;}

/* nyhetslappar: övrigt */
/* v52: optisk justering av vänsterkant (Caveat och Caprasimo har extra utrymme till vänster om bokstäverna) */
.club-intro .club-lead, .about-copy p.club-lead{margin-left:-0.06em;}
.page-banner h1, h1.hero-title{margin-left:-0.035em;}
/* v53: Caveat-rad under hero-texten */
.hero-note{font-family:'Caveat', cursive; font-size:1.7rem; line-height:1.3; color:var(--red); margin:16px 0 26px -0.06em; max-width:26em;}
.hero-note a{text-decoration:none; color:inherit; background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat; transition:background-size .25s;}
.hero-note a:hover, .hero-note a:focus-visible{background-size:100% 2px;}
/* v55: hoppa-över-länk (syns bara vid tangentbordsfokus) och länkar i hero-texten */
.skip-link{position:absolute; left:-9999px; top:8px; z-index:200; background:var(--ink); color:var(--paper); padding:10px 16px; font-weight:700; text-decoration:none;}
.skip-link:focus{left:8px;}
.hero-sub a{text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px;}

/* ---- Events-sidan ---- */
.ev-poster{display:block; margin:30px 0 60px;}
.ev-img{margin:0 auto 44px; max-width:620px; transform:rotate(-1deg); position:relative;}
.ev-img::before{content:""; position:absolute; top:-14px; left:50%; width:100px; height:28px; margin-left:-50px; background:rgba(255,255,255,.6); box-shadow:0 1px 4px rgba(0,0,0,.2); transform:rotate(2deg); z-index:2;}
.ev-img img{display:block; width:100%; height:auto; border:3px solid var(--ink); box-shadow:10px 10px 0 var(--ink);}
.ev-body{max-width:620px; margin:0 auto; padding:0;}
.ev-poster:not(:has(.ev-img)) .ev-body{padding:34px 34px 30px; background:#F6DE6B; border:3px solid var(--ink); box-shadow:10px 10px 0 var(--ink); transform:rotate(-.5deg);}
.ev-date{display:block; font-family:'Caveat', cursive; font-size:2rem; color:var(--red); line-height:1;}
.ev-body h2{font-family:'Caprasimo', Georgia, serif; font-weight:400; font-size:clamp(2.1rem,5vw,3.2rem); line-height:1.05; margin:6px 0 20px;}
.ev-body p{font-size:1.1rem; line-height:1.6; margin:0 0 14px;}
.ev-body .btn{margin-top:10px;}
@media (max-width:600px){ .ev-img img{box-shadow:6px 6px 0 var(--ink);} .ev-poster:not(:has(.ev-img)) .ev-body{padding:28px 20px 24px; box-shadow:6px 6px 0 var(--ink);} }
.ev-none{max-width:620px; margin:30px auto 60px; text-align:center;}
.ev-none h2{font-family:'Caprasimo', Georgia, serif; font-weight:400; font-size:clamp(1.8rem,4.5vw,2.6rem); line-height:1.1; margin:0 0 14px;}
.ev-none p{font-size:1.1rem; line-height:1.6; margin:0 0 18px;}
.ev-past-h{font-family:'Caprasimo', Georgia, serif; font-weight:400; font-size:clamp(1.6rem,4vw,2.2rem); margin:20px 0 26px; padding-top:30px; border-top:3px dotted var(--ink);}
/* korridorsvägg: tidigare events som lappar på varandra */
.ev-past{display:flex; flex-wrap:wrap; justify-content:center; padding:20px 0 70px;}
.ev-lapp{position:relative; display:block; width:250px; margin:-6px -2px; padding:30px 20px 24px; text-align:left; font:inherit; color:#241F1C; background:#F6DE6B; border:0; box-shadow:0 10px 18px rgba(0,0,0,.28); cursor:pointer; transition:transform .2s ease, box-shadow .2s ease;}
.ev-lapp::before{content:""; position:absolute; top:-9px; left:50%; width:74px; height:22px; margin-left:-37px; background:rgba(255,255,255,.55); box-shadow:0 1px 3px rgba(0,0,0,.2); transform:rotate(-3deg);}
.ev-lapp:nth-child(7n+1){transform:rotate(-2.5deg); z-index:7; background:#F6DE6B;}
.ev-lapp:nth-child(7n+2){transform:rotate(2deg) translateY(14px); z-index:6; background:#F5BFB2;}
.ev-lapp:nth-child(7n+3){transform:rotate(-1deg) translateY(-8px); z-index:5; background:#CDE8D5;}
.ev-lapp:nth-child(7n+4){transform:rotate(3deg) translateY(10px); z-index:4; background:#F6DE6B;}
.ev-lapp:nth-child(7n+5){transform:rotate(-3deg) translateY(-4px); z-index:3; background:#F5BFB2;}
.ev-lapp:nth-child(7n+6){transform:rotate(1.5deg) translateY(12px); z-index:2; background:#CDE8D5;}
.ev-lapp:nth-child(7n+7){transform:rotate(-1.5deg); z-index:1; background:#F6DE6B;}
.ev-lapp:hover,.ev-lapp:focus-visible{z-index:20; transform:rotate(0) scale(1.06); box-shadow:0 16px 28px rgba(0,0,0,.35); outline:none;}
.ev-lapp .pi-date{display:block; font-family:'Caveat', cursive; font-size:1.5rem; line-height:1.1; opacity:.8;}
.ev-lapp strong{display:block; font-family:'Caprasimo', Georgia, serif; font-weight:400; font-size:1.4rem; line-height:1.1; margin:2px 0 8px;}
.ev-lapp-text{display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; font-size:.98rem; line-height:1.45;}
.ev-lapp-poster{padding:22px 12px 14px; width:210px;}
.ev-lapp-poster img{display:block; width:100%; height:auto; max-height:290px; object-fit:cover; margin:0 0 10px; border:2px solid #241F1C;}
.ev-lapp-poster strong{font-size:1.15rem; margin-bottom:0;}
.ev-lapp.natt{background:#1B1530 !important; color:#F3E9D2; box-shadow:0 0 0 2px #FF5C8A, 0 10px 18px rgba(0,0,0,.4);}
.ev-lapp.natt img{border-color:#FF5C8A;}
@media (max-width:620px){ .ev-lapp{width:46%; margin:-4px 0; padding:26px 14px 18px;} .ev-lapp-poster{width:46%; padding:20px 8px 10px;} .ev-lapp strong{font-size:1.15rem;} }
/* förstoringsrutan: ingen vit ram, mörka teman */
.nm-img{background:transparent; padding:0; box-shadow:none; border:3px solid #241F1C;}
.nm-card{color:#241F1C;}
.nm-natt{background:#1B1530 !important; color:#F3E9D2; box-shadow:0 0 0 3px #FF5C8A;}
.nm-natt .pi-date{color:#F3E9D2;} .nm-natt .nm-img{border-color:#FF5C8A;} .nm-natt .nm-facts{border-color:rgba(243,233,210,.5);} .nm-natt .nm-facts dt{color:#FF5C8A;}
.nm-natt .nm-close{background:#1B1530; color:#F3E9D2; border-color:#F3E9D2;}
/* mörkt tema för hela sidan medan ett kommande event har tema:'natt' */
html.tema-natt{--ink:#F3E9D2; --paper:#16101F; --paper-2:#211A30; --red:#FF5C8A; --mustard:#F2B84B; --line:rgba(243,233,210,.2);}
html.tema-natt .ev-img img{box-shadow:10px 10px 0 #FF5C8A; border-color:#FF5C8A;}
html.tema-natt .btn-primary{color:#16101F;}
html.tema-natt .ev-past-h{border-color:rgba(243,233,210,.5);}

html.tema-natt .ev-poster:not(:has(.ev-img)) .ev-body{background:#1B1530; border-color:#FF5C8A; box-shadow:10px 10px 0 #FF5C8A;}

/* ---- startsidan: prio 1-event i eget block under hjälten, övriga som post-it ---- */
.home-event{padding:80px 0 76px; background:var(--paper-2); overflow:hidden;}
.home-event.natt{background:#16101F; color:#F3E9D2; --ink:#F3E9D2; --red:#FF5C8A;}
.home-event{transition:background-color .7s ease;}
.he-slide{display:flex; align-items:center; justify-content:center; gap:64px;}
.he-poster{display:block; flex:0 0 340px; max-width:340px; position:relative; transform:rotate(-1.8deg); transition:transform .2s;}
.he-slide:nth-child(even) .he-poster{transform:rotate(1.8deg);}
.he-poster:hover{transform:rotate(0) scale(1.02);}
.he-poster::before{content:""; position:absolute; top:-13px; left:50%; width:90px; height:26px; margin-left:-45px; background:rgba(255,255,255,.6); box-shadow:0 1px 4px rgba(0,0,0,.25); transform:rotate(2deg); z-index:2;}
.he-poster img{display:block; width:100%; height:auto; border:3px solid var(--ink); box-shadow:8px 8px 0 var(--ink);}
.he-text{max-width:440px;}
.he-date{display:block; font-family:'Caveat', cursive; font-size:2rem; color:var(--red); line-height:1;}
.he-text h2{font-size:clamp(2.1rem,5vw,3.2rem); line-height:1.05; margin:6px 0 16px;}
.he-text p{font-size:1.15rem; line-height:1.55; margin:0 0 24px;}
.he-slide:not(:has(.he-poster)) .he-text{padding:34px; background:#F6DE6B; border:3px solid #241F1C; box-shadow:8px 8px 0 #241F1C; color:#241F1C; transform:rotate(-.6deg);}
.he-slide:not(:has(.he-poster)) .he-date{color:#C63328;}
.home-event.natt .btn-primary{color:#16101F;}
.home-event.natt .he-poster img{border-color:#FF5C8A; box-shadow:8px 8px 0 #FF5C8A;}
.home-event.natt .he-slide:not(:has(.he-poster)) .he-text{background:#1B1530; color:#F3E9D2; border-color:#FF5C8A; box-shadow:8px 8px 0 #FF5C8A;}
.postit.natt{background:#1B1530 !important; color:#F3E9D2; box-shadow:0 0 0 2px #FF5C8A, 0 12px 20px rgba(0,0,0,.35);}
.postit.natt .pi-link,.postit.natt button.pi-link{color:#F3E9D2;}
@media (max-width:760px){ .he-slide{flex-direction:column; gap:34px; text-align:center;} .he-poster{flex:none; width:min(300px,82%);} .he-text{max-width:none;} .home-event{padding:70px 0 60px;} .he-slide:not(:has(.he-poster)) .he-text{text-align:left;} }
@media (prefers-reduced-motion: reduce){ .home-event{transition:none;} }


/* affisch som anslag, utan lapp */
.anslag{position:relative; display:block; width:100%; padding:0; border:0; background:none; cursor:pointer; font:inherit; transition:transform .2s ease;}
.anslag img{display:block; width:100%; height:auto; box-shadow:0 12px 22px rgba(0,0,0,.35);}
.anslag::before{content:""; position:absolute; top:-12px; left:50%; width:90px; height:26px; margin-left:-45px; z-index:2; background:rgba(255,255,255,.6); box-shadow:0 1px 3px rgba(0,0,0,.2); transform:rotate(-3deg);}
.anslag:nth-child(3n+1){transform:rotate(-1.8deg);}
.anslag:nth-child(3n+2){transform:rotate(1.5deg);}
.anslag:nth-child(3n+3){transform:rotate(-0.8deg);}
.anslag:hover,.anslag:focus-visible{transform:rotate(0) scale(1.03); outline:none;}

/* affisch på väggen med tidigare events: bara affischen, ingen lapp */
.ev-lapp.ev-lapp-poster{background:none !important; padding:0; width:210px; box-shadow:none;}
.ev-lapp.ev-lapp-poster::before{top:-10px;}
.ev-lapp.ev-lapp-poster img{margin:0; border:0; max-height:300px; box-shadow:0 10px 18px rgba(0,0,0,.35);}
@media (max-width:620px){ .ev-lapp.ev-lapp-poster{width:46%; padding:0;} }

.stamp[hidden]{display:none;}

/* gula rutan överst på startsidan (.kstart): nästa kursstart, event. Även små gula rutor på kurskorten (.kstart-card) */
.kstart{display:inline-block;background:var(--mustard,#E3A72F);color:#241F1C;font-weight:700;font-size:.95rem;line-height:1.35;padding:7px 12px;margin:-4px 0 16px;border:2px solid #241F1C;box-shadow:3px 3px 0 #241F1C;transform:rotate(-1deg);max-width:100%;}
.kstart[hidden]{display:none;}
.kstart a{color:inherit;text-decoration:underline;text-underline-offset:3px;}
.kstart a:hover{color:var(--red);}
.kstart-card{font-size:.85rem;margin:0 0 12px;transform:none;}
.kstart a.nw{white-space:nowrap;}
.kstack{display:flex;flex-direction:column;align-items:flex-start;}
.kstack:has(.kstart:not([hidden])){margin-top:-6px;}
.kstack .kstart{margin:0 0 14px;}
.nw{white-space:nowrap;}
.gal-note{margin:22px 0 0; font-size:.92rem; color:var(--ink); opacity:.85; max-width:640px;}
.gal-note a{color:inherit; text-decoration:underline; text-underline-offset:3px;}

/* förstorad bild i galleriet: remsa med miniatyrer under den stora */
.lb{grid-template-rows:1fr auto;}
.lb-card{align-self:center;}
.lb-strip{display:flex; gap:8px; overflow-x:auto; max-width:min(92vw,820px); width:100%; margin:12px auto 0; padding:6px 4px 10px; scrollbar-width:thin; justify-self:center;}
.lb-strip button{flex:0 0 auto; width:58px; height:58px; padding:0; border:3px solid var(--paper); background:#fff; cursor:pointer; opacity:.55; box-shadow:2px 2px 0 rgba(0,0,0,.5);}
.lb-strip button img{width:100%; height:100%; object-fit:cover; display:block;}
.lb-strip button:hover,.lb-strip button:focus-visible{opacity:1; outline:none;}
.lb-strip button.on{opacity:1; border-color:var(--mustard); transform:translateY(-3px);}
@media (max-width:700px){ .lb-strip button{width:46px; height:46px;} .lb-card img{max-height:50vh;} .lb-prev,.lb-next{bottom:92px;} }
