@charset "UTF-8";

/* ══════════════════════════════════════════════════════
   HUSrf — Hangö Udds Segelsällskap rf
   Template: nordpricken
   CSS: colors.css — complete design system
   ══════════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }


@font-face {
    font-family: 'D-DIN';
    src: url('/templates/nordpricken/fonts/nordpricken-webfont.woff2') format('woff2'),
         url('/templates/nordpricken/fonts/nordpricken-webfont.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'D-DIN';
    src: url('/templates/nordpricken/fonts/nordpricken-italic-webfont.woff2') format('woff2'),
         url('/templates/nordpricken/fonts/nordpricken-italic-webfont.woff') format('woff');
    font-weight: 400;
    font-style: italic;
}
@font-face {
    font-family: 'D-DIN';
    src: url('/templates/nordpricken/fonts/nordpricken-bold-webfont.woff2') format('woff2'),
         url('/templates/nordpricken/fonts/nordpricken-bold-webfont.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'D-DIN Condensed';
    src: url('/templates/nordpricken/fonts/nordprickencondensed-webfont.woff2') format('woff2'),
         url('/templates/nordpricken/fonts/nordprickencondensed-webfont.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'D-DIN Condensed';
    src: url('/templates/nordpricken/fonts/nordprickencondensed-bold-webfont.woff2') format('woff2'),
         url('/templates/nordpricken/fonts/nordprickencondensed-bold-webfont.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'D-DIN Exp';
    src: url('/templates/nordpricken/fonts/nordprickenexp-webfont.woff2') format('woff2'),
         url('/templates/nordpricken/fonts/nordprickenexp-webfont.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'D-DIN Exp';
    src: url('/templates/nordpricken/fonts/nordprickenexp-italic-webfont.woff2') format('woff2'),
         url('/templates/nordpricken/fonts/nordprickenexp-italic-webfont.woff') format('woff');
    font-weight: 400;
    font-style: italic;
}
@font-face {
    font-family: 'D-DIN Exp';
    src: url('/templates/nordpricken/fonts/nordprickenexp-bold-webfont.woff2') format('woff2'),
         url('/templates/nordpricken/fonts/nordprickenexp-bold-webfont.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

:root {
  --white:     #fefefe;
  --ink:       #111210;
  --blue:      #0047ff;
  --blue-lt:   #d6e0ff;
  --blue-dk:   #002299;
  --red:       #fdaaaa;
  --red-lt:    #fff0f2;
  --red-strong:#e8829a;
  --green:    #1a7a3c;
  --green-lt: #d4f0dd;
  --yellow:    #ffef00;
  --yellow-lt: #fffbe6;
  --orange:    #ff5e00;
  --grey:      #8c8c85;
  --rule:      #cccbc4;
  --rule-dk:   #2a2a26;
  --sans:      'IBM Plex Sans Condensed', sans-serif;
  /*--sans:      'Newsreader', Georgia, serif; */
  /*--sans:      'D-DIN', sans-serif; */
  /*--sans:      'Barlow', sans-serif; */
  /*--mono:      'IBM Plex Mono', monospace; */
   --mono:      'D-DIN Exp', monospace;
  --serif:     'Newsreader', Georgia, serif;
  /*--serif:     'IBM Plex Sans Condensed', Georgia, serif;*/
}

/* Override cassiopeia site-grid — go full bleed */
.site-grid {
    display: block !important;
}

.site-grid > [class^="container-"],
.site-grid > [class*=" container-"] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}

html { font-size: 18px; scroll-behavior: smooth; }
body { 
      display: flex;
    flex-direction: column;
    min-height: 100dvh;
  /* */
  background: var(--white); 
  color: var(--ink); font-family: 
    var(--serif); 
  overflow-x: hidden; }

.page-main {
    flex: 1;
}

h1 { font-weight: 700; }


.error-page {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    margin: 0;
    background: var(--white);
}
.error-wrap {
    text-align: center;
    padding: 2rem;
    max-width: 480px;
}
.error-gif {
    max-width: 240px;
    width: 100%;
    height: auto;
    border-radius: 8px;
    margin-bottom: 1.5rem;
}
.error-code {
    font-size: 3rem;
    font-weight: 700;
    color: var(--ink);
    line-height: 1;
}
.error-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0.75rem 0 0.5rem;
    color: var(--ink);
}
.error-body {
    color: var(--ink);
    opacity: 0.75;
    margin-bottom: 1.5rem;
}
.error-btn {
    display: inline-block;
    padding: 0.6rem 1.4rem;
    border-radius: 6px;
    background: var(--blue);
    color: var(--white);
    text-decoration: none;
    font-weight: 500;
}
.error-btn:hover {
    background: var(--blue-dk);
    color: var(--white);
}


/* ── NAV ── */

.nav-mobile-overlay {
    display: none;
}

nav.site-nav {
  position: sticky; top: 0; z-index: 100;
  display: grid; grid-template-columns: auto 1fr auto;
  align-items: center; padding: 0 2.5rem; height: 3.4rem;
  border-bottom: 1px solid var(--blue-lt); background: var(--white); 
}

.nav-mark {
    height: 1.6rem;
    width: 1.56rem;
    margin-right: 0.6rem;
    
    vertical-align: middle;
    flex-shrink: 0;
}

.nav-logo {
  font-family: var(--sans); font-weight: 400; font-size: 0.9rem;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--blue);
  text-decoration: none;
}
.nav-logo sup { font-size: 0.52rem; letter-spacing: 0.05em; vertical-align: super; color: var(--blue); }
.nav-links {
  display: flex; justify-content: center; gap: 3rem;
  font-family: var(--mono); font-size: 0.6rem;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--blue);
}
.nav-links a { color: inherit; text-decoration: none; transition: color .18s; }
.nav-links a:hover { color: var(--orange); }
.nav-right {
  display: flex; align-items: center; gap: 1.8rem;
  font-family: var(--mono); font-size: 0.6rem;
  letter-spacing: 0.14em; text-transform: uppercase;
}
.nav-right a { color: var(--grey); text-decoration: none; transition: color .18s; }
.nav-right a:hover { color: var(--ink); }
.nav-cta { background: var(--blue); color: var(--white) !important; padding: 0.45rem 1.1rem; transition: background .18s !important; }
.nav-cta:hover { background: var(--orange) !important; color: var(--white) !important;}


.mod-languages p {
  display: none;
}

.mod-languages ul {
  padding: 0rem;
  
}
.mod-languages li {
  padding: 0rem;
  
}
.mod-languages a{
  padding: 0rem !important;
}

.mod-languages__list {
    display: flex;
    gap: 0;
    list-style: none;
    padding: 0;
    margin: 0;
}

.mod-languages__list li {
    padding: 0;
    margin: 0;
}

.mod-languages__list a {
    font-family: var(--mono);
    font-size: 0.6rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--blue);
    text-decoration: none;
    padding: 0rem !important;
}

.mod-languages__list .lang-active {
    background: transparent;
}

.mod-languages__list .lang-active a,
.mod-languages__list a[aria-current="true"] {
    color: var(--orange);
    background: transparent !important;
}


.mod-languages__list .lang-active,
.mod-languages__list .lang-active a {
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}


/* ── WEATHER BAR (all pages) ── */
.hero-meta {
  display: flex; align-items: center; justify-content: space-between;
  gap: 0; padding: 0 2.5rem; height: 2.75rem;
  border-bottom: 1px solid var(--blue-lt); background: var(--white);
  width: 100%; box-sizing: border-box;
  position: relative; z-index: 2; overflow: hidden;
}
.meta-item {
  font-family: var(--mono); font-size: 0.58rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--grey);
  white-space: nowrap; display: flex; align-items: center; gap: 0.5rem;
}
.meta-item strong { color: var(--ink); font-weight: 400; }
.meta-divider { width: 1px; height: 1rem; background: var(--blue-lt); flex-shrink: 0; }
.live-dot {
  display: inline-block; width: 5px; height: 5px; border-radius: 50%;
  background: var(--orange); margin-left: 0.4rem; margin-right: 0.5rem;
  animation: pulse 2.0s ease-in-out infinite;
}
@keyframes pulse { 0%,100% { opacity:1; } 50% { opacity:0.3; } }


/* ── HERO (frontpage only) ── */
.hero {
  min-height: calc(100vh - 3.4rem - 2.75rem);
  display: grid; grid-template-columns: repeat(12, 1fr);
  grid-template-rows: auto 1fr auto;
  padding: 0 2.5rem; position: relative; overflow: hidden;

  background-image: url('/images/hero-bg.jpg');
  background-size: cover;
  background-position: center;
}
/*
.hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(254,254,254,0.7); 
    z-index: 0;
}
*/
.hero-main, .hero-aside, .hero-bottom {
    position: relative;
    z-index: 1;
}

.hero-main, .hero-aside {
    text-shadow: 0 1px 8px rgba(0,0,0,0.4);
}

.hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to left, rgba(0,0,0,0.4) 0%, transparent 50%);
    z-index: 0;
}

.hero-horizon { position: absolute; top: 62%; left: 0; right: 0; height: 1px; background: var(--rule); }
#wind-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-spacer { grid-column: 1 / -1; height: 2rem; }
.hero-main {
  grid-column: 1 / 8; align-self: center;
  padding: 4.5rem 3rem 4.5rem 0; position: relative; z-index: 1;
}
.hero-eyebrow {
  font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--white); margin-bottom: 2rem;
  display: flex; align-items: center; gap: 0.8rem;
  animation: fadeUp .5s ease both;
}
.hero-eyebrow::before { content: ''; display: block; width: 1.6rem; height: 1px; background: var(--white); }
h1 {
  font-family: var(--sans); font-weight: 400; font-optical-sizing: auto;
  font-size: clamp(3.2rem, 6.5vw, 6.5rem);
  line-height: 1.0; letter-spacing: -0.01em; color: var(--white); margin-bottom: 0.6rem;
}
/*h1 em { font-style: italic; font-family: var(--serif); font-weight: 400; font-size: 0.88em; color: var(--ink); }*/
h1 em { font-style: italic; font-family: var(--serif); font-weight: 400; font-size: 0.96em; color: var(--white); }
.hero-body {
  font-family: var(--serif); font-weight: 300; font-size: 1.05rem;
  line-height: 1.75; color: var(--white) !important; max-width: 44ch; margin: 2.2rem 0 2.8rem;
}
.hero-actions { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.btn-primary {
  
  font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--white); background: transparent;
  border: 1.5px solid var(--white); padding: 0.85rem 1.8rem; cursor: pointer;
  text-decoration: none; display: inline-block; transition: background .18s;
}
.btn-primary:hover { background: var(--white); color: var(--ink);  text-shadow: 0px rgba(0,0,0,0); }
.btn-secondary {
  display: none;
  font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--orange); text-decoration: none;
  border-bottom: 1px solid var(--orange); padding-bottom: 2px; transition: opacity .18s;
}
.btn-secondary:hover { opacity: 0.65; }
.hero-aside {
  grid-column: 8 / 13; align-self: center;
  padding: 4.5rem 0 4.5rem 3rem;
}
.aside-label {
  font-family: var(--mono); font-size: 0.55rem; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--white) !important; margin-bottom: 1.8rem;
  display: flex; align-items: center; gap: 0.6rem;
}
.aside-label::before { content: ''; display: block; width: 1.6rem; height: 1px; background: var(--white); }
.race-item { padding: 1.1rem 0; border-top: 1px solid var(--white); }
.race-date { font-family: var(--mono); font-size: 0.58rem; letter-spacing: 0.12em; color: var(--white); margin-bottom: 0.35rem; text-transform: uppercase; }
.race-name { font-family: var(--sans); font-weight: 400; font-size: 1.1rem; line-height: 1.2; color: var(--white); margin-bottom: 0.25rem; }
.race-detail { font-family: var(--mono); font-size: 0.56rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--white); }
.race-tag {
  display: inline-block; font-family: var(--mono); font-size: 0.5rem;
  letter-spacing: 0.1em; text-transform: uppercase; padding: 0.2rem 0.5rem;
  border: 1px solid var(--orange); color: var(--orange);
}
.aside-all-link { margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--rule); }
.aside-all-link a {
  font-family: var(--mono); font-size: 0.58rem; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--white); text-decoration: none;
}
.aside-all-link a:hover { color: var(--orange); }
.hero-bottom {
  grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center;
  padding: 1.5rem 0; border-top: 1px solid var(--white); position: relative; z-index: 1;
}
.wind-data { display: flex; gap: 2rem; font-family: var(--mono); font-size: 0.58rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--white); }
.wind-data strong { color: var(--ink); font-weight: 400; }
.hero-year { font-family: var(--sans); font-weight: 300; font-size: 0.6rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--white); }

/* hero fade-in animations */
@keyframes fadeUp { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
.hero-main h1 { animation: fadeUp .6s .08s ease both; }
.hero-body { animation: fadeUp .6s .18s ease both; }
.hero-actions { animation: fadeUp .6s .28s ease both; }
.hero-aside { animation: fadeUp .7s .35s ease both; }


/* ── EVENEMANG PAGE TABLE ── */
.ev-header,
.ev-row,
a.ev-row {
  display: grid; 
  grid-template-columns: 1.5fr 4fr 2fr 2fr 1.5fr;
  gap: 0;
  padding: 0.9rem 0 0.9rem 1rem;
  border-bottom: 1px solid #c8c7c0;
  align-items: center;
}
.ev-header {
  font-family: var(--mono); font-size: .6rem; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--ink);
  border-bottom: 1px solid var(--rule-dk);
  padding-bottom: 0.75rem; margin-bottom: 0.25rem;
}
.ev-col-date { font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.1em; color: var(--blue); text-transform: uppercase; }
.ev-name { font-family: var(--sans); font-size: 1rem; font-weight: 400; color: var(--ink); }
.ev-col-cal, .ev-col-area { font-family: var(--mono); font-size: 0.58rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink); }
.ev-col-status { text-align: right; }
.pill.tulossa { border-color: var(--rule-dk); color: var(--rule-dk); }
a.ev-row {
  text-decoration: none; color: inherit;
  cursor: pointer;
  border-left: 4px solid transparent;
}
a.ev-row:hover { background: #f4f6ff; }


/* ── EDITORIAL CAROUSELS ── */
.ed-carousel {
  display: grid; grid-template-columns: 9rem 1fr 9rem;
  height: 25vh; min-height: 200px; overflow: hidden;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.ed-col-label {
  display: flex; flex-direction: column; justify-content: flex-start;
  padding: 15% 0 0 2.5rem;
  font-family: var(--mono); font-size: .5rem; letter-spacing: .18em; text-transform: uppercase;
}
.ed-col-action {
  display: flex; flex-direction: column; justify-content: flex-start;
  align-items: flex-end; padding: 15% 2.5rem 0 0;
  font-family: var(--mono); font-size: .5rem; letter-spacing: .18em; text-transform: uppercase;
  text-decoration: none; transition: opacity .18s;
}
.ed-col-action:hover { opacity: .6; }
.ed-stage { position: relative; overflow: hidden; }
.ed-slide {
  position: absolute; inset: 0; display: flex; align-items: center; padding: 0 1rem;
  opacity: 0; transition: transform .45s cubic-bezier(.86,0,.07,1), opacity .45s cubic-bezier(.86,0,.07,1);
  transform: translateX(100%); pointer-events: none; text-decoration: none;
}
.ed-slide.active { opacity: 1; transform: translateX(0); pointer-events: all; }
.ed-slide.exit { opacity: 0; transform: translateX(-100%); }
.ed-title {
  font-family: var(--sans); font-weight: 400;
  font-size: clamp(2rem, 3.5vw, 3.8rem);
  line-height: 1.05; letter-spacing: -.02em; user-select: none;
}

.ed-slide-label {
    display: none;
    font-family: var(--mono);
    font-size: 0.5rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(0,0,0,.38);
    margin-bottom: 35%;
    text-align: center;
}

.ed-dots { position: absolute; bottom: 1.2rem; left: 0; right: 0; display: flex; justify-content: center; gap: 6px; }
.ed-dot {
  width: 5px; height: 5px; border-radius: 50%; border: none; cursor: pointer; padding: 0;
  transition: background .2s, transform .2s; background: rgba(0,0,0,.18);
}
.ed-dot.active { background: rgba(0,0,0,.55); transform: scale(1.3); }

.ed-carousel--loggbok                { background: var(--yellow); }
.ed-carousel--loggbok .ed-col-label  { color: rgba(0,0,0,.38); }
.ed-carousel--loggbok .ed-col-action { color: rgba(0,0,0,.38); }
.ed-carousel--loggbok .ed-title      { color: var(--blue); }

.ed-carousel--recept                { background: var(--red); }
.ed-carousel--recept .ed-col-label  { color: rgba(0,0,0,.35); }
.ed-carousel--recept .ed-col-action { color: rgba(0,0,0,.35); }
.ed-carousel--recept .ed-title      { color: var(--ink); }


/* ── WEATHER SECTION (frontpage dark block) ── */



.weather { background: var(--ink); color: var(--white); padding: 5rem 2.5rem; border-top: 1px solid var(--rule-dk); }
.wx-header {
  display: grid; grid-template-columns: repeat(12, 1fr); gap: 0;
  margin-bottom: 2.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--rule-dk); align-items: baseline;
}
.wx-num { grid-column: 1/2; font-family: var(--mono); font-size: 0.55rem; letter-spacing: 0.18em; color: #333330; }
.wx-title { grid-column: 2/7; font-family: var(--sans); font-weight: 400; font-size: clamp(2rem, 3.8vw, 3.4rem); line-height: 1.05; letter-spacing: -0.01em; color: var(--white); }
.wx-title em { font-family: var(--serif); font-style: italic; letter-spacing: 0.02em; font-weight: 300; color: var(--white); }
.wx-note { grid-column: 8/13; font-family: var(--serif); font-weight: 300; font-size: 0.9rem; line-height: 1.7; color: #555550; align-self: end; }
.wx-updated { font-family: var(--mono); font-size: 0.55rem; letter-spacing: 0.14em; text-transform: uppercase; color: #444440; margin-top: 0.4rem; }
.wx-stations { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--rule-dk); border: 1px solid var(--rule-dk); margin-bottom: 1px; }
.wx-station { background: #161614; padding: 1.5rem; }
.wx-shead { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.2rem; }
.wx-sname { font-family: var(--mono); font-size: 0.58rem; letter-spacing: 0.18em; text-transform: uppercase; color: #666660; }
.wx-sdot { display: flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 0.55rem; color: #444440; }
.wdot { width: 6px; height: 6px; border-radius: 50%; background: #22c55e; flex-shrink: 0; }
.wdot.loading { background: #f59e0b; animation: wpulse 1s ease-in-out infinite; }
.wdot.error { background: #ef4444; }
@keyframes wpulse { 0%,100%{opacity:1;} 50%{opacity:.2;} }
.wx-metrics { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
.wx-met { background: #1e1e1c; padding: 0.8rem 0.9rem; }
.wx-met.wide { grid-column: 1/-1; }
.wx-mlbl { font-family: var(--mono); font-size: 0.5rem; letter-spacing: 0.16em; text-transform: uppercase; color: #444440; margin-bottom: 5px; }
.wx-mval { font-family: var(--sans); font-weight: 400; font-size: 2rem; line-height: 1; color: var(--white); }
.wx-mval.md { font-size: 1.5rem; }
.wx-mval.sm { font-size: 1.1rem; }
.bft { display: inline-block; font-family: var(--mono); font-size: 0.5rem; letter-spacing: 0.08em; padding: 2px 5px; margin-left: 6px; vertical-align: middle; }
.bft.low { background: #052e16; color: #4ade80; }
.bft.mid { background: #431407; color: #fb923c; }
.bft.high { background: #450a0a; color: var(--white); }
.wx-arrow { display: inline-block; vertical-align: middle; margin-right: 4px; }
.wx-wave { background: #161614; border: 1px solid var(--rule-dk); padding: 1.5rem; margin-bottom: 1px; }
.wx-whead { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 1.2rem; }
.wx-wttl { font-family: var(--mono); font-size: 0.58rem; letter-spacing: 0.16em; text-transform: uppercase; color: #666660; }
.wx-wnote { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: 0.78rem; color: #444440; }
.wx-wavemets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.wx-timeline { background: #161614; border: 1px solid var(--rule-dk); }
.wx-tlhead { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1rem; padding: 1rem 1.5rem; border-bottom: 1px solid var(--rule-dk); }
.wx-tlttl { font-family: var(--mono); font-size: 0.58rem; letter-spacing: 0.16em; text-transform: uppercase; color: #666660; }
.wx-tlnote { font-family: var(--mono); font-size: 0.5rem; letter-spacing: 0.1em; text-transform: uppercase; color: #333330; text-align: right; }
.wx-tlgrid { display: grid; grid-template-columns: repeat(4, 1fr); }
.wx-tlcol { padding: 1.2rem 1.5rem; border-right: 1px solid var(--rule-dk); transition: background .15s; }
.wx-tlcol:last-child { border-right: none; }
.wx-tlcol.now { background: #1e1e1c; }
.wx-tltime { font-family: var(--mono); font-size: 0.5rem; letter-spacing: 0.14em; text-transform: uppercase; color: #444440; margin-bottom: 0.6rem; }
.wx-tlwind { font-family: var(--sans); font-weight: 400; font-size: 1.3rem; color: var(--white); line-height: 1; }
.wx-tldir { font-family: var(--mono); font-size: 0.52rem; letter-spacing: 0.1em; color: #666660; margin-top: 4px; }
.wx-tltmp { font-family: var(--mono); font-size: 0.52rem; letter-spacing: 0.1em; color: #555550; margin-top: 5px; }
.wx-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 1.5rem; }
.wx-footnote { font-family: var(--mono); font-size: 0.52rem; letter-spacing: 0.1em; text-transform: uppercase; color: #333330; line-height: 1.7; }
.wx-footnote a { color: #444440; text-decoration: none; border-bottom: 1px solid #333330; }
.wx-rbtn { font-family: var(--mono); font-size: 0.55rem; letter-spacing: 0.12em; text-transform: uppercase; color: #666660; background: none; border: 1px solid var(--rule-dk); padding: 0.45rem 1rem; cursor: pointer; transition: border-color .18s, color .18s; }
.wx-rbtn:hover { border-color: #444440; color: var(--white); }
.skel { background: #222220; height: 20px; width: 55%; animation: wpulse 1.3s ease-in-out infinite; }
.skel.w40 { width: 40%; }
.skel.w70 { width: 70%; }
.skel.h14 { height: 14px; }
.wx-errm { font-family: var(--mono); font-size: 0.58rem; letter-spacing: 0.08em; color: var(--white); padding: 0.4rem 0; grid-column: 1/-1; }


/* ── SECTION SHARED LAYOUT ── */
.section-row {
  display: grid; grid-template-columns: repeat(12, 1fr); gap: 0;
  margin-bottom: 3.5rem; padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--ink); align-items: baseline;
}
.section-num { grid-column: 1/2; font-family: var(--mono); font-size: 0.55rem; letter-spacing: 0.18em; color: var(--grey); }
.section-title { grid-column: 2/7; font-family: var(--sans); font-weight: 400; font-size: clamp(2rem, 3.8vw, 3.6rem); line-height: 1.05; letter-spacing: -0.01em; color: var(--ink); }
.section-title em { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: 0.02em; color: var(--ink); }
.section-note { grid-column: 8/13; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: clamp(1.3rem, 2.5vw, 2.4rem); line-height: 1.7; color: var(--ink); align-self: end; }


/* ── NEWS SECTION ── */
.news { padding: 6rem 2.5rem; }
.news .section-row { margin-bottom: 0; }
.news-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }

.news-featured { display: flex; flex-direction: column; }
.news-featured-card {
  flex: 1; display: flex; flex-direction: column;
  text-decoration: none; color: var(--ink);
  border-right: 1px solid var(--ink); transition: background .15s;
}
/*.news-featured-card:hover { background: var(--blue); } */
.news-featured-img { aspect-ratio: 3/2; overflow: hidden; background: var(--blue-lt); flex-shrink: 0; }
.news-featured-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.news-featured-card:hover .news-featured-img img { transform: scale(1.03); }
.news-featured-body { padding: 2rem; display: flex; flex-direction: column; flex: 1; }

.news-stack-card {
  display: block; padding: 1.8rem 2rem; text-decoration: none;
  color: var(--ink); border-bottom: 1px solid var(--ink); transition: background .15s;
}
.news-stack-card:last-child { border-bottom: none; }
.news-stack-card:hover { background: #f2f0ea; }
.news-stack-card .news-card-title { font-size: clamp(1rem, 1.4vw, 1.25rem); margin-bottom: .5rem; }
.news-stack-card .news-card-body-text {
  font-size: .82rem; -webkit-line-clamp: 3;
  display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden;
}

.news-cat {
  font-family: var(--mono); font-size: .5rem; letter-spacing: .16em;
  text-transform: uppercase; color: var(--blue); margin-bottom: .8rem;
  display: flex; gap: .5rem; align-items: center;
}
.news-cat-div { color: var(--ink); }
.news-card-date { color: var(--ink); }
.news-card-title {
  font-family: var(--sans); font-weight: 400; font-size: clamp(1.2rem, 1.8vw, 1.6rem);
  line-height: 1.1; color: var(--ink); margin-bottom: .8rem; letter-spacing: -.01em;
}

.news-featured-card:hover .news-card-date,
.news-stack-card:hover .news-card-date {
    color: var(--white);
}

.news-card-body-text {
  font-family: var(--serif); font-weight: 300; font-size: .92rem;
  line-height: 1.72; color: var(--ink); margin-bottom: 1.4rem; flex: 1;
}
.news-card-footer {
  display: flex; justify-content: space-between; align-items: center;
  margin-top: auto; padding-top: 1rem; /*border-top: 1px solid var(--rule);*/
}
.news-read-more {
  font-family: var(--mono); font-size: .52rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--blue)
}
.news-author { display: none; font-family: var(--mono); font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; color: var(--grey); }


.news-featured-card:hover,
.news-stack-card:hover,
.husrf-news-card:hover {
    background: var(--blue);
}

.news-featured-card:hover .news-card-title,
.news-stack-card:hover .news-card-title,
.husrf-news-card:hover .news-card-title {
    color: var(--white);
}

.news-featured-card:hover .news-card-body-text,
.news-stack-card:hover .news-card-body-text,
.husrf-news-card:hover .news-card-body-text {
    color: var(--white);
}

.news-featured-card:hover .news-cat,
.news-stack-card:hover .news-cat,
.husrf-news-card:hover .news-cat {
    color: var(--orange);
}

.news-featured-card:hover .news-read-more,
.news-stack-card:hover .news-read-more,
.husrf-news-card:hover .news-read-more {
    color: var(--orange);
}

.news-featured-card:hover .news-card-date,
.news-stack-card:hover .news-card-date,
.husrf-news-card:hover .news-card-date {
    color: var(--white) !important;
}

/* ── CALENDAR (frontpage dark block) ── */
.calendar { background: var(--ink); color: var(--white); padding: 6rem 2.5rem; }
.calendar .section-title { color: var(--white); }
.calendar .section-title em { font-weight: 300; color: var(--white); }
.calendar .section-num { color: #333330; }
.calendar .section-note { color: #555550; }
.calendar .section-row { border-bottom-color: var(--rule-dk); }
.cal-cols {
  display: grid; grid-template-columns: 2fr 4fr 2fr 2fr 1.5fr; gap: 0;
  padding-bottom: 0.8rem; border-bottom: 1px solid #333330;
  font-family: var(--mono); font-size: 0.52rem; letter-spacing: 0.18em;
  text-transform: uppercase; color: #333330;
}
.cal-row {
  display: grid; grid-template-columns: 2fr 4fr 2fr 2fr 1.5fr; gap: 0;
  padding: 1.3rem 2.5rem; border-bottom: 1px solid #242420;
  align-items: baseline; transition: background .15s;
  margin: 0 -2.5rem; color: inherit;
}
.cal-date { font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.1em; color: var(--blue); text-transform: uppercase; }
.cal-name { font-family: var(--sans); font-weight: 400; font-size: 1.05rem; color: var(--white); line-height: 1.2; }
.cal-sub { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: 0.8rem; color: #555550; display: block; margin-top: 0.15rem; }
.cal-class, .cal-area { font-family: var(--mono); font-size: 0.58rem; letter-spacing: 0.08em; text-transform: uppercase; color: #555550; align-self: center; }
.pill { display: inline-block; font-family: var(--mono); font-size: 0.5rem; letter-spacing: 0.12em; text-transform: uppercase; padding: 0.2rem 0.55rem; border: 1px solid #333330; color: #555550; }
.pill.open   { border-color: var(--blue); color: var(--blue); }
.pill.soon   { border-color: var(--orange); color: var(--orange); }
.pill.full   { border-color: #ef4444; color: #ef4444; }
.pill.closed { border-color: var(--grey); color: var(--grey); opacity: 0.6; }

/* Joomla module wrapper fixes */
.calendar .mod_husrf_events { display: contents; }
.about > div { display: contents; }
.about .mod-custom { display: contents; }
.news-featured .mod-custom { display: contents; }
.news-stack .mod-custom { display: contents; }
footer .mod-custom { display: contents; }


/* ── ABOUT (frontpage) ── */
.about {
  padding: 7rem 2.5rem; display: grid; grid-template-columns: repeat(12, 1fr);
  gap: 0; border-top: 1px solid var(--rule); align-items: center;
}
.about-label {
  grid-column: 1/2; font-family: var(--mono); font-size: 0.55rem;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--grey);
  writing-mode: vertical-rl; transform: rotate(180deg); align-self: start; padding-top: 0.4rem;
}
.about-headline { grid-column: 2/7; font-family: var(--sans); font-weight: 400; font-size: clamp(2.2rem, 4.5vw, 4.2rem); line-height: 1.05; letter-spacing: -0.01em; color: var(--ink); }
.about-headline em { font-family: var(--serif); font-style: italic; font-weight: 300; color: var(--ink); }
.about-text { grid-column: 7/11; padding: 0 2rem; border-left: 1px solid var(--ink); }
.about-text p { font-family: var(--serif); font-weight: 300; font-size: 1rem; line-height: 1.8; color: var(--ink); margin-bottom: 1.2rem; }
.about-text p:last-child { margin-bottom: 0; }
.about-stats { grid-column: 11/13; padding-left: 2rem; border-left: 1px solid var(--ink); display: flex; flex-direction: column; gap: 2rem; }
.stat-val { font-family: var(--sans); font-weight: 300; font-size: 2.8rem; text-align: justify; color: var(--ink); line-height: 1; }
.stat-val span { font-size: 1rem; color: var(--blue); }
.stat-label { font-family: var(--mono); font-size: 0.52rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ink); margin-top: 0.3rem; }


/* ── CTA BAND ── */
.cta-band { display: grid; grid-template-columns: 1fr 1fr; min-height: 320px; }
.cta-card { padding: 3.5rem 3rem; display: flex; flex-direction: column; gap: 0.75rem; }
.cta-gastborsen { background: var(--orange); color: var(--white); }
.cta-membership { background: var(--blue); color: var(--white); }
.cta-membership .cta-eyebrow { opacity: 0.55; }
.cta-membership .cta-body { color: var(--white); opacity: 0.75; }
.cta-membership .cta-note { color: var(--white); opacity: 0.45; }
.cta-membership .btn-white {
  background: transparent; color: var(--white);
  border: 1.5px solid rgba(255,255,255,0.6); padding: 0.65rem 1.4rem;
  font-family: var(--sans); font-size: 0.85rem; text-decoration: none;
  border-radius: 2px; display: inline-block; margin-top: 0.5rem;
  align-self: flex-start; transition: border-color 0.15s, background 0.15s;
}
.cta-membership .btn-white:hover { border-color: var(--white); background: var(--orange); color: var(--white); }
.cta-eyebrow { font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; opacity: 0.6; }
.cta-headline { font-family: var(--serif); font-size: 2rem; line-height: 1.15; }
.cta-headline em { font-style: italic; opacity: 0.75; }
.cta-body { font-size: 0.9rem; opacity: 0.75; line-height: 1.5; max-width: 340px; margin: 0; }
.btn-outline {
  display: inline-block; margin-top: 0.5rem; padding: 0.65rem 1.4rem;
  border: 1.5px solid rgba(255,255,255,0.6); color: var(--white);
  font-family: var(--sans); font-size: 0.85rem; text-decoration: none;
  border-radius: 2px; transition: border-color 0.15s, background 0.15s; align-self: flex-start;
}
.btn-outline:hover { border-color: var(--white); background: rgba(255,255,255,0.08); }
.cta-note { font-size: 0.75rem; opacity: 0.45; margin-top: 0.25rem; }

.cta-band:has(> .cta-card:only-child) {
    grid-template-columns: 2fr;
}

.cta-band:has(> .cta-card:only-child) .cta-card {
  /*  max-width: 640px; */
}

/* ── CTA membership section (single, gastborsen hidden) ── */
.cta-membership-section {
    background: var(--blue);
    color: var(--white);
    padding: 6rem 2.5rem;
}

.cta-membership-section .section-row {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.cta-membership-section .section-num { color: rgba(255,255,255,0.2); }
.cta-membership-section .section-title { color: var(--white); }
.cta-membership-section .section-title em { color: var(--white); font-weight: 300; }
.cta-membership-section .section-note {
    color: rgba(255,255,255,0.7);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-self: center;
    font-family: var(--serif);
    font-style: normal;
    font-size: 0.9rem;
}

.cta-membership-section .btn-white {
    background: transparent;
    color: var(--white);
    border: 1.5px solid rgba(255,255,255,0.6);
    padding: 0.65rem 1.4rem;
    font-family: var(--mono);
    font-size: 0.62rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    display: inline-block;
    transition: border-color 0.15s, background 0.15s;
    align-self: flex-start;
}
.cta-membership-section .btn-white:hover {
    border-color: var(--orange);
    background: var(--orange);
    color: var(white);
}

.cta-membership-section .cta-note {
    font-family: var(--mono);
    font-size: 0.52rem;
    letter-spacing: 0.1em;
    color: rgba(255,255,255,0.35);
}

/* ══════════════════════════════════════════════════════
   INNER PAGES
   ══════════════════════════════════════════════════════ */

.page-header {
  display: grid; grid-template-columns: repeat(12, 1fr); gap: 0;
  padding: 3rem 2.5rem 0; border-bottom: 1px solid var(--ink); align-items: end;
}
.ph-num { grid-column: 1/2; font-family: var(--mono); font-size: 0.55rem; letter-spacing: 0.18em; color: var(--grey); padding-bottom: 1.5rem; }
.ph-title { grid-column: 2/12; padding-bottom: 1.5rem; }
.page-h1 { font-family: var(--sans); font-weight: 400; font-size: clamp(2.6rem, 5vw, 5rem); line-height: 1.0; letter-spacing: -0.01em; color: var(--ink); }

.page-sub {
  font-family: var(--serif); font-style: italic; font-weight: 300;
  font-size: 1rem; color: var(--ink); margin-top: .5rem;
}
.page-119 .page-sub { color: var(--blue); opacity: .6; }

.page-content p { margin-bottom: 1.4rem; }
.page-content h1 {
  font-family: var(--sans); font-weight: 400; font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1.05; letter-spacing: -0.01em; color: var(--ink); margin-bottom: 2rem;
}
.page-content h2 {
  font-family: var(--sans); font-weight: 400; font-size: clamp(1.4rem, 2.5vw, 2rem);
  line-height: 1.1; color: var(--ink); margin: 3rem 0 1rem;
}
.page-content h3 {
  font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--ink); margin: 2rem 0 0.8rem;
}
.page-content a { color: var(--blue); text-decoration: none; border-bottom: 1px solid var(--blue-lt); }
.page-content a:hover { border-bottom-color: var(--blue); }
.page-content ul, .page-content ol { margin: 0 0 1.4rem 1.5rem; }
.page-content li { margin-bottom: 0.4rem; }

.page-content .article-info,
.page-content dl.article-info,
.page-content .com-content-article__info,
.page-content .com-content-article__header h1,
.page-content h1.page-title,
.page-content .pager-nav,
.page-content nav.article-info,
.page-content .com-content-article__pagination { display: none; }

.page-130 .page-main { display: block; padding: 0 2.5rem; }
.page-130 .page-content {
  max-width: 68ch; margin: 0 auto; padding: 4rem 0 6rem;
  font-family: var(--serif); font-weight: 300; font-size: 1.05rem; line-height: 1.85; color: #444440;
}


/* ══════════════════════════════════════════════════════════════
   OM SÄLLSKAPET (page-113)
   ══════════════════════════════════════════════════════════════ */

.about-page-layout .page-content { max-width: none; padding: 0 2.5rem; font-size: inherit; line-height: inherit; color: inherit; }
.about-page-layout .page-header { display: none; }

.masthead { position: relative; margin: 0 -2.5rem; }
.masthead-img { width: 100%; aspect-ratio: 16/7; background: #1e2a38; overflow: hidden; display: block; position: relative; }
.masthead-img img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; display: block; filter: brightness(.85) saturate(.7); }
.masthead-img::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 60%; background: linear-gradient(to bottom, transparent, rgba(17,18,16,.78)); }
.about-img-ph { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; pointer-events: none; }
.about-img-ph span { font-family: var(--mono); font-size: .52rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.22); }
.masthead-caption { position: absolute; bottom: 0; left: 0; right: 0; z-index: 1; padding: 0 2.5rem 2.8rem; display: grid; grid-template-columns: repeat(12,1fr); gap: 0; align-items: end; }
.mc-title { grid-column: 2/9; font-family: var(--sans); font-weight: 400; font-size: clamp(3rem,7vw,7.5rem); line-height: .95; letter-spacing: -.02em; color: var(--white); }
.mc-title em { display: block; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: .52em; color: var(--white); letter-spacing: -.01em; line-height: 1.4; margin-top: .18em; }
.mc-credit { grid-column: 9/13; text-align: right; font-family: var(--mono); font-size: .46rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.22); align-self: end; padding-bottom: .2rem; }

.byline { display: grid; grid-template-columns: repeat(12,1fr); gap: 0; padding: 1.4rem 0; border-bottom: 1px solid var(--ink); align-items: center; margin: 0 -2.5rem; padding-left: 2.5rem; padding-right: 2.5rem; }
.bl-left { grid-column: 1/8; display: flex; align-items: center; gap: 2.5rem; flex-wrap: wrap; }
.bl-item { font-family: var(--mono); font-size: .55rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); }
.bl-item strong { color: var(--ink); font-weight: 400; }
.bl-div { width: 1px; height: .8rem; background: var(--ink); }
.bl-right { grid-column: 9/13; text-align: right; font-family: var(--mono); font-size: .52rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink); }
.bl-right a { color: var(--blue); text-decoration: none; }

.article { display: grid; grid-template-columns: repeat(12,1fr); gap: 0; padding: 5rem 0; }
.article-body { grid-column: 2/9; }
.article-body p { font-family: var(--serif); font-weight: 300; font-size: 1.12rem; line-height: 1.84; color: var(--ink); margin-bottom: 1.6em; }
.article-body p:first-child::first-letter {
  font-family: var(--serif);
  font-weight: 400;
  color: var(--ink);
  initial-letter: 2;
  padding-right: .18em;
}

.pull-quote { grid-column: 1/13; padding: 3.5rem 2.5rem 3.5rem calc(8.333% + 2.5rem); margin: 1rem 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); position: relative; }
.pull-quote::before { content: ''; position: absolute; left: calc(8.333% + 2.5rem); top: 3.5rem; bottom: 3.5rem; width: 2px; background: var(--blue); }
.pq-text { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: clamp(1.4rem,2.4vw,2.1rem); line-height: 1.35; color: var(--ink); max-width: 52ch; padding-left: 2rem; }
.pq-attr { font-family: var(--mono); font-size: .52rem; letter-spacing: .16em; text-transform: uppercase; color: var(--grey); margin-top: 1.2rem; padding-left: 2rem; }

.article-aside { grid-column: 10/13; padding-left: 2.5rem; border-left: 1px solid var(--ink); align-self: start; position: sticky; top: 5rem; }
.aside-block { margin-bottom: 2.5rem; padding-bottom: 2.5rem; border-bottom: 1px solid var(--ink); }
.aside-block:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.aside-label { font-family: var(--mono); font-size: .48rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ink); margin-bottom: .8rem; }
.aside-text { font-family: var(--serif); font-weight: 300; font-size: .88rem; line-height: 1.72; color:var(--ink); }
.aside-text a { color: var(--blue); text-decoration: none; border-bottom: 1px solid var(--blue-lt); }

.img-full { grid-column: 1/13; margin: 2.5rem 0; }
.img-half { grid-column: 2/9; margin: 2.5rem 0; }
.img-frame { width: 100%; overflow: hidden; background: #e4e2da; position: relative; }
.img-frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.img-frame.r-wide { aspect-ratio: 21/7; }
.img-frame.r-std  { aspect-ratio: 3/2; }
.img-frame.r-tall { aspect-ratio: 3/5; }
.about-img-ph-inner { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.about-img-ph-inner span { font-family: var(--mono); font-size: .48rem; letter-spacing: .16em; text-transform: uppercase; color: var(--grey); }
.img-credit { font-family: var(--mono); font-size: .46rem; letter-spacing: .1em; text-transform: uppercase; color: var(--grey); margin-top: .5rem; text-align: right; }

.history { border-top: 1px solid var(--ink); margin: 0 -2.5rem; }
.history-intro { display: grid; grid-template-columns: repeat(12,1fr); gap: 0; padding: 5rem 2.5rem 4rem; border-bottom: 1px solid var(--ink); }
.hi-eyebrow { grid-column: 2/7; font-family: var(--mono); font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ink); margin-bottom: 1.5rem; display: flex; align-items: center; gap: .8rem; }
.hi-eyebrow::before { content: ''; width: 1.2rem; height: 1px; background: var(--ink); display: block; }
.hi-title { grid-column: 2/8; font-family: var(--sans); font-weight: 400; font-size: clamp(2.2rem,4vw,3.8rem); line-height: 1.04; letter-spacing: -.01em; }
.hi-title em { font-family: var(--serif); font-style: italic; font-weight: 300; color: var(--ink); }
.hi-body { grid-column: 8/13; padding-left: 3rem; border-left: 1px solid var(--ink); align-self: end; font-family: var(--serif); font-weight: 300; font-size: .95rem; line-height: 1.8; color: var(--ink); }

.timeline { padding: 0 2.5rem; }
.tl-entry { display: grid; grid-template-columns: calc(8.333% - 2.5rem) 5rem 1fr; gap: 0; padding: 3.5rem 0; border-bottom: 1px solid var(--ink); }
.tl-entry:last-child { border-bottom: none; }
.tl-year { font-family: var(--sans); font-weight: 300; font-size: 1.1rem; letter-spacing: .04em; color: var(--ink); padding-top: .28rem; }
.tl-entry.ms .tl-year { color: var(--ink); font-weight: 400; }
.tl-content { padding-left: 3rem; border-left: 1px solid var(--ink); }
.tl-tag { font-family: var(--mono); font-size: .48rem; letter-spacing: .18em; text-transform: uppercase; color: var(--ink); margin-bottom: .7rem; }
.tl-entry.ms .tl-tag { color: var(--orange); }
.tl-title { font-family: var(--sans); font-weight: 400; font-size: clamp(1.15rem,1.6vw,1.45rem); line-height: 1.1; letter-spacing: -.005em; color: var(--ink); margin-bottom: .9rem; }
.tl-text { font-family: var(--serif); font-weight: 300; font-size: .98rem; line-height: 1.8; color: var(--ink); max-width: 60ch; }
.tl-text p + p { margin-top: .8em; }
.tl-imgs { margin-top: 1.8rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--rule); }
.tl-imgs.one { grid-template-columns: 1fr; max-width: 400px; }

.board { padding: 5rem 2.5rem; border-top: 1px solid var(--ink); display: grid; grid-template-columns: repeat(12,1fr); gap: 0; margin: 0 -2.5rem; }
.board-intro { grid-column: 2/7; margin-bottom: 4rem; }
.board-eyebrow { font-family: var(--mono); font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ink); margin-bottom: 1rem; display: flex; align-items: center; gap: .8rem; }
.board-eyebrow::before { content: ''; width: 1.2rem; height: 1px; background: var(--ink); display: block; }
.board-title { font-family: var(--sans); font-weight: 400; font-size: clamp(1.8rem,2.8vw,2.8rem); line-height: 1.05; letter-spacing: -.01em; }
.board-title em { font-family: var(--serif); font-style: italic; font-weight: 300; color: var(--ink); }
.board-list { grid-column: 1/13; }
.btable { width: 100%; border-collapse: collapse; }
.btable tr { border-top: 1px solid var(--ink); }
.btable tr:last-child { border-bottom: 1px solid var(--ink); }
.btable td { padding: 1.2rem 0; vertical-align: top; }
.btable td:first-child { width: calc(8.333% + 5rem); font-family: var(--mono); font-size: .52rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); padding-top: 1.35rem; padding-right: 2rem; }
.btable td:nth-child(2) { width: calc(8.333% * 3); font-family: var(--sans); font-weight: 400; font-size: 1.05rem; color: var(--ink); padding-right: 2rem; }
.btable td:nth-child(3) { width: calc(8.333% * 2); font-family: var(--serif); font-weight: 300; font-size: .95rem; color: var(--ink); padding-right: 2rem; }
.btable td:last-child { font-family: var(--serif); font-weight: 300; font-size: .95rem; color: #555550; }
.btable td a { color: var(--blue);     text-decoration: none !important;
    border-bottom: none !important;
    white-space: nowrap; transition: opacity .18s; }
.btable td a:hover { opacity: .7; }

.location { border-top: 1px solid var(--ink); display: grid; grid-template-columns: repeat(12,1fr); gap: 0; margin: 0 -2.5rem; }
.loc-text { grid-column: 1/6; padding: 5rem 2.5rem; border-right: 1px solid var(--ink); }
.loc-eyebrow { font-family: var(--mono); font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ink); margin-bottom: 1.5rem; display: flex; align-items: center; gap: .8rem; }
.loc-eyebrow::before { content: ''; width: 1.2rem; height: 1px; background: var(--ink); display: block; }
.loc-title { font-family: var(--sans); font-weight: 400; font-size: clamp(1.8rem,2.5vw,2.6rem); line-height: 1.05; letter-spacing: -.01em; margin-bottom: 1.5rem; }
.loc-title em { font-family: var(--serif); font-style: italic; font-weight: 300; color: var(--ink); }
.loc-prose { font-family: var(--serif); font-weight: 300; font-size: .95rem; line-height: 1.82; color: var(--ink); margin-bottom: 2.5rem; }
.loc-row { display: flex; gap: 2rem; padding: .65rem 0; border-top: 1px solid var(--ink); align-items: baseline; }
.loc-k { font-family: var(--mono); font-size: .5rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); min-width: 6.5rem; flex-shrink: 0; }
.loc-v { font-family: var(--serif); font-weight: 300; font-size: .92rem; color: var(--ink); }
.loc-v a { color: var(--blue); text-decoration: none; }
.loc-map { grid-column: 6/13; position: relative; overflow: hidden; background: #0d1e32; min-height: 480px; }
.loc-map img { width: 100%; height: 100%; object-fit: cover; display: block; filter: brightness(.7) saturate(.5); }
.map-svg { position: absolute; inset: 0; width: 100%; height: 100%; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.d1 { transition-delay: .1s; }
.d2 { transition-delay: .2s; }


/* ══════════════════════════════════════════════════════════════
   NYHETER (page-115) & LOGGBOKEN (page-119)
   ══════════════════════════════════════════════════════════════ */

.page-115 .page-main,
.page-149 .page-main,
.page-157 .page-main,
.page-119 .page-main { padding: 0 2.5rem; }

.page-115 .page-content:has(.com-content-category-blog),
.page-119 .page-content:has(.com-content-category-blog) { max-width: none; padding: 0; }

.page-115 .item-page,
.page-149 .item-page,
.page-157 .item-page,
.page-119 .item-page {
    
}

.page-115 .page-content:has(.item-page),
.page-149 .page-content:has(.item-page),
.page-157 .page-content:has(.item-page),
.page-119 .page-content:has(.item-page) { 
    max-width: 68ch; 
    margin: 0; 
    padding: 4rem 0 6rem;
  
}

.page-main:has(.com-content-category-blog) .page-content { max-width: none; margin: 0; padding: 0; }
.page-content .com-content-category-blog { padding: 2rem 0 4rem; }

.page-115 .item-page .page-header,
.page-149 .item-page .page-header,
.page-157 .item-page .page-header,
.page-119 .item-page .page-header {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border: none;
}

.page-115 .item-page .page-header h1,
.page-149 .item-page .page-header h1,
.page-157 .item-page .page-header h1,
.page-119 .item-page .page-header h1 {
    grid-column: 1 / -1;
    font-family: var(--sans);
    font-weight: 400;
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 1.05;
    letter-spacing: -0.01em;
    color: var(--ink);
    max-width: none;
    margin: 0 !important;
    padding-bottom: 2rem;
    
}

.page-115 .item-page img,
.page-149 .item-page img,
.page-157 .item-page img,
.page-119 .item-page img {
    max-width: 100%;
    height: auto;
    display: block;
}


.page-115 .item-page figure.item-image,
.page-149 .item-page figure.item-image,
.page-157 .item-page figure.item-image,
.page-119 .item-page figure.item-image {
    float: none;
    margin: 0 0 2rem;
}

.page-115 .item-page figure.item-image img,
.page-149 .item-page figure.item-image img,
.page-157 .item-page figure.item-image img,
.page-119 .item-page figure.item-image img {
    max-width: 100%;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

.page-115 .item-page,
.page-149 .item-page,
.page-157 .item-page,
.page-119 .item-page {
    display: flex;
    flex-direction: column;
}

.page-115 .item-page figure.item-image,
.page-149 .item-page figure.item-image,
.page-157 .item-page figure.item-image,
.page-119 .item-page figure.item-image {
    order: -1;
    float: none;
    margin: 0 0 2rem;
}

.page-115 .item-page p,
.page-149 .item-page p,
.page-157 .item-page p,
.page-119 .item-page p {
  font-family: var(--serif); font-weight: 300; font-size: 1.05rem;
  line-height: 1.85; color: #444440; margin-bottom: 1.4rem;
}
.page-115 .item-page h1, .page-115 .item-page h2,
.page-119 .item-page h1, .page-119 .item-page h2 {
  font-family: var(--sans); font-weight: 400; font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1.05; letter-spacing: -0.01em; color: var(--ink); margin-bottom: 2rem;
}
.page-115 .article-info,
.page-149 .article-info,
.page-157 .article-info,
.page-119 .article-info { display: none; }

/* Remove double border on Nyheter */
.page-115 .husrf-news-grid,
.page-149 .husrf-news-grid,
.page-157 .husrf-news-grid { border-top: none; }

/* Remove double border on Loggboken */
/*.page-119 .page-header {
    border-bottom: none;
} */

.page-119 .page-content:has(.item-page) .page-header {
  /*  border-bottom: 1px solid rgba(0,0,0,.08); */
}

/* News/blog grid */
.husrf-news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--ink); }
.husrf-news-card-wrap { border-right: 1px solid var(--ink); }
.husrf-news-card-wrap:last-child { border-right: none; }
.husrf-news-card { background: var(--white); transition: background 0.15s; height: 100%; }
.husrf-news-card:hover { background: var(--blue); }
.news-card-link { display: block; text-decoration: none; color: inherit; padding: 2.5rem 2rem; }
.husrf-edit-link { padding: 0.4rem 2rem; border-top: 1px solid var(--ink); }
.husrf-edit-link a { font-family: var(--mono); font-size: 0.48rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--grey); text-decoration: none; }

/* Loggboken yellow treatment */
.page-119 { background: var(--yellow-lt); }
.page-119 nav { background: var(--yellow); border-bottom-color: rgba(0,0,0,.08); }
.page-119 .nav-logo { color: var(--ink); }
.page-119 .nav-links a { color: rgba(0,0,0,.45); }
.page-119 .nav-links a:hover { color: var(--ink); }
.page-119 .nav-right a { color: rgba(0,0,0,.45); }
.page-119 .nav-cta { background: var(--blue) !important; color: var(--white) !important; }
.page-119 .hero-meta { background: var(--yellow); border-bottom: 1px solid rgba(0,0,0,.1); }
.page-119 .hero-meta .meta-divider { background: rgba(0,0,0,.12); }
.page-119 .hero-meta .meta-item { color: rgba(0,0,0,.5); }
.page-119 .hero-meta .meta-item strong { color: var(--ink); }
.page-119 .live-dot { background: var(--blue); }
.page-119 .page-header { background: var(--yellow-lt); border-bottom-color: rgba(0,0,0,.08); }
.page-119 .page-header .page-h1 { color: var(--blue); }
.page-119 .ph-num { color: rgba(0,0,0,.2); }
.page-119 .page-main, .page-119 .page-content { background: var(--yellow-lt); }
.page-119 .husrf-news-card { background: var(--yellow-lt); }
.page-119 .husrf-news-card:hover { background: #fff8cc; }
.page-119 .husrf-news-card-wrap { border-right-color: rgba(0,0,0,.08); }
.page-119 .husrf-news-grid { border-top-color: rgba(0,0,0,.08); }
.page-119 .news-cat { color: var(--blue); }
.page-119 .news-card-title { color: var(--blue); }
.page-119 .news-card-body-text { color: rgba(0,0,0,.55); }
.page-119 .news-card-footer { /* border-top-color: rgba(0,0,0,.08); */ }
.page-119 .news-read-more { color: var(--blue); border-bottom-color: var(--blue); }
.page-119 .news-author { color: rgba(0,0,0,.35); }
.page-119 .page-main { background: var(--yellow-lt); }
.page-119 .item-page p { color: var(--blue); }
.page-119 footer { background: #0d0d0c !important; }



/* ══════════════════════════════════════════════════════════════
   UTHYRNING (page-116)
   ══════════════════════════════════════════════════════════════ */

.page-main:has(.uth-page) .page-content,
.page-116 .page-content { max-width: none; padding: 0; font-size: inherit; line-height: inherit; color: inherit; }

.uth-page { font-family: var(--serif); padding: 3rem 2.5rem 6rem; }

.uth-header {
  display: grid; grid-template-columns: repeat(12, 1fr); gap: 0;
  align-items: end; padding-bottom: 1.5rem; border-bottom: 0px solid var(--rule);
  margin: 0 -2.5rem; padding-left: 2.5rem; padding-right: 2.5rem;
}
.uth-ph-num { grid-column: 1/2; font-family: var(--mono); font-size: .55rem; letter-spacing: .18em; text-transform: uppercase; color: var(--grey); }
.uth-ph-title { grid-column: 2/7; font-family: var(--sans); font-weight: 400; font-size: clamp(2.6rem, 5vw, 5rem); line-height: 1; letter-spacing: -.01em; }
.uth-ph-title em { font-family: var(--serif); font-style: italic; font-weight: 300; color: var(--ink); }
.uth-ph-desc { grid-column: 7/13; font-family: var(--serif); font-weight: 300; font-size: .95rem; line-height: 1.75; color: var(--ink); padding-left: 3rem; border-left: 1px solid var(--ink); }
/*
.uth-tab-bar { display: flex; margin: 0 -2.5rem; padding: 0 2.5rem; border-bottom: 1px solid var(--rule); }
.uth-tab-btn {
  font-family: var(--mono); font-size: .6rem; letter-spacing: .14em; text-transform: uppercase;
  background: none; border: none; border-bottom: 2px solid transparent;
  padding: 1.1rem 2rem 1.1rem 0; margin-right: 2rem; cursor: pointer;
  color: var(--grey); transition: color .18s; position: relative; bottom: -1px;
}
.uth-tab-btn.active { color: var(--ink); border-bottom-color: var(--ink); }
.uth-tab-btn:hover  { color: var(--ink); }
*/

.uth-cal-day {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--mono);
    font-size: 0.7rem;
    color: var(--grey);
    position: relative;
}

.uth-options-label {
    display: none;
    font-family: var(--mono);
    font-size: 0.48rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--grey);
    margin-bottom: 0.6rem;
}
.uth-options-intro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: var(--ink);
    border: 1px solid var(--ink);
    margin-bottom: 2rem;
}
.uth-option-card {
    background: var(--white);
    padding: 1.25rem 1.5rem;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s;
}
.uth-option-card:hover:not(.active) {
    background: var(--blue);
    border-color: var(--white);
    color: var(--white);
}
.uth-option-card.active {
    background: var(--ink);
}
.uth-oc-title {
    font-family: var(--sans);
    font-weight: 400;
    font-size: 1.3rem;
    color: var(--ink);
    margin-bottom: 0.25rem;
    line-height: 1.1;
}

.uth-option-card:hover:not(.active) .uth-oc-title {
   
   
    color: var(--white);
}

.uth-option-card.active .uth-oc-title {
    color: var(--white);
}
.uth-oc-desc {
    font-family: var(--mono);
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ink);
}


.uth-option-card:hover:not(.active) .uth-oc-desc {
   
   
    color: var(--white);
}

.uth-option-card.active .uth-oc-desc {
    color: var(--rule-dk);
}

.uth-panel { display: none; }
.uth-panel.active { display: block; }

.uth-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 0; align-items: start; }
.uth-col-left { padding-right: 3rem; }
.uth-col-right { border-left: 1px solid var(--ink); padding-left: 3rem; }

.uth-section-block { padding: 3.5rem 0; border-bottom: 1px solid var(--ink); }
.uth-section-block:last-child { border-bottom: none; }
.uth-subsection { margin-top: 2rem; }

.uth-block-label {
  font-family: var(--mono); font-size: 0.62rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--ink); margin-bottom: 1.5rem; display: flex; align-items: center; gap: .8rem;
}
.uth-block-label::before { content: ''; display: block; width: 1.2rem; height: 1px; background: var(--ink); }

.uth-member-select { display: flex; gap: 8px; margin-bottom: 2rem; flex-wrap: wrap; }
.uth-ms-btn {
  font-family: var(--mono); font-size: .58rem; letter-spacing: .12em; text-transform: uppercase;
  background: none; border: 1px solid var(--ink); padding: .6rem 1.2rem;
  cursor: pointer; color: var(--ink); transition: all .18s;
}
.uth-ms-btn:hover  { border-color: var(--blue); background:var(--blue); color: var(--white) }
.uth-ms-btn.active { background: var(--ink); border-color: var(--ink); color: var(--white); }

.uth-price-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--ink); }
.uth-price-card { background: var(--white); padding: 1.4rem 1.4rem 1.2rem; }
.uth-pc-type { font-family: var(--mono); font-size: 0.62rem; letter-spacing: .16em; text-transform: uppercase; color: var(--ink); margin-bottom: .7rem; }
.uth-pc-price { font-family: var(--sans); font-weight: 400; font-size: 2.4rem; line-height: 1; color: var(--ink); margin-bottom: .3rem; }
.uth-pc-price sup { font-size: 1rem; vertical-align: super; color: var(--ink); }
.uth-pc-period { font-family: var(--mono); font-size: 0.62rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); }
.uth-pc-includes { font-family: var(--serif); font-weight: 300; font-size: .82rem; color: #555550; margin-top: .4rem; }
.uth-pc-tag { display: inline-block; font-family: var(--mono); font-size: .48rem; letter-spacing: .12em; text-transform: uppercase; padding: .18rem .5rem; border: 1px solid var(--blue); color: var(--blue); margin-bottom: .6rem; }
.uth-pc-tag.orange { border-color: var(--orange); color: var(--orange); }

.uth-extras-row { display: flex; justify-content: space-between; align-items: baseline; padding: .7rem 0; border-top: 1px solid var(--rule); font-family: var(--serif); font-weight: 300; font-size: .9rem; color: #555550; }
.uth-extras-row:first-child { border-top: none; }
.uth-extras-price { font-family: var(--mono); font-size: .7rem; letter-spacing: .08em; color: var(--ink); }
.uth-muted-italic { color: var(--grey); font-style: italic; }

.uth-spec-row { display: flex; justify-content: space-between; align-items: baseline; padding: .8rem 0; border-top: 1px solid var(--ink); }
.uth-spec-label { font-family: var(--mono); font-size: 0.62rem; letter-spacing: .16em; text-transform: uppercase; color: var(--ink); }
.uth-spec-val { font-family: var(--sans); font-weight: 400; font-size: 1.1rem; color: var(--ink); }

.uth-info-block { background: #f0f0ec; padding: 1.2rem 1.4rem; margin-bottom: .8rem; }
.uth-info-block p { font-family: var(--serif); font-weight: 300; font-size: .88rem; line-height: 1.7; color: #555550; }
.uth-info-block strong { font-weight: 400; color: var(--ink); }

.uth-cal-wrap { margin-bottom: 1.5rem; }
.uth-cal-nav { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.uth-cal-month { font-family: var(--sans); font-weight: 400; font-size: 1.1rem; color: var(--ink); }
.uth-cal-arrow { font-family: var(--mono); font-size: .6rem; letter-spacing: .1em; background: none; border: 1px solid var(--ink); padding: .4rem .8rem; cursor: pointer; color: var(--ink); transition: all .18s; }
.uth-cal-arrow:hover { border-color: var(--blue); background: var(--blue); color: var(--white); }
.uth-cal-grid { display: grid; grid-template-columns: repeat(7,1fr); gap: 3px; }
/*
.uth-cal-dayname { font-family: var(--mono); font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--grey); text-align: center; padding: .4rem 0; }
.uth-cal-day { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; font-family: var(--mono); font-size: .7rem; color: var(--grey); position: relative; cursor: default; }
.uth-cal-day.uth-cur-month { color: var(--ink); font-size: .7rem; }
.uth-cal-day.uth-today { color: var(--blue); font-weight: 500; }
.uth-cal-day.uth-today::after { content: ''; position: absolute; bottom: 3px; left: 50%; transform: translateX(-50%); width: 3px; height: 3px; border-radius: 50%; background: var(--blue); }
.uth-cal-day.uth-booked { color: var(--white) !important; background: var(--ink); cursor: not-allowed; }
.uth-cal-day.uth-available.uth-cur-month { cursor: pointer; transition: background .12s, color .12s; }
.uth-cal-day.uth-available.uth-cur-month:hover { background: var(--blue-lt); color: var(--blue); }
.uth-cal-day.uth-selected { background: var(--blue) !important; color: var(--white) !important; }
*/

.uth-cal-day.uth-selected {
    background: var(--green) !important;
    color: var(--white) !important;
    font-weight: 500;
}
.uth-weekend-day {
    background: var(--green-lt);
    color: var(--green);
    font-weight: 500;
    cursor: pointer;
}
.uth-weekend-day:hover { background: var(--green); color: var(--white); }
.uth-available {
    background: var(--green-lt);
    color: var(--green);
    cursor: pointer;
}
.uth-available:hover { background: var(--green); color: var(--white); }
.uth-selected {
    background: var(--green) !important;
    color: var(--white) !important;
}
.uth-booked {
    background: var(--red);
    color: #8b0000;
    cursor: not-allowed;
    text-decoration: none;
}
.uth-past {
    color: var(--ink);
    cursor: default;
}
.uth-today {
    outline: 2px solid var(--orange);
    outline-offset: -2px;
}
.uth-weekday-muted {
    color: var(--rule);
}
.uth-sunday {
    color: var(--rule);
}
.uth-weekend-muted {
    color: var(--rule);
}

.uth-cal-legend { display: flex; gap: 1.5rem; margin-top: .8rem; flex-wrap: wrap; }
.uth-leg-item { display: flex; align-items: center; gap: .5rem; font-family: var(--mono); font-size: 0.62rem; letter-spacing: .1em; text-transform: uppercase; color: var(--grey); }
.uth-leg-dot { width: 10px; height: 10px; flex-shrink: 0; }
.uth-leg-dot.uth-avail { background: var(--green-lt); border: 1px solid var(--green); }
.uth-leg-dot.uth-weekend-dot { background: var(--green-lt); border: 1px solid var(--green); }
.uth-leg-dot.uth-booked { background: var(--red); border: none; }
.uth-leg-dot.uth-today { background: none; border: 1px solid var(--orange); border-radius: 50%; }

.uth-booking-form { margin-top: 2rem; }
.uth-form-row { margin-bottom: 1.2rem; }
.uth-form-label { font-family: var(--mono); font-size: 0.62rem; letter-spacing: .16em; text-transform: uppercase; color: var(--grey); margin-bottom: .5rem; display: block; }
.uth-form-input { width: 100%; font-family: var(--serif); font-weight: 300; font-size: .95rem; color: var(--ink); background: var(--white); border: 1px solid var(--rule); padding: .7rem .9rem; transition: border-color .18s; outline: none; }
.uth-form-input:focus { border-color: var(--blue); }
.uth-form-select { width: 100%; font-family: var(--mono); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); background: var(--white); border: 1px solid var(--rule); padding: .7rem .9rem; outline: none; cursor: pointer; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238c8c85' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .9rem center; }
.uth-form-select:focus { border-color: var(--blue); }
.uth-form-note { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: .8rem; color: var(--grey); margin-top: .4rem; }
.uth-form-2col { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }

.uth-price-summary { background: var(--ink); color: var(--white); padding: 1.4rem; margin-top: 1.5rem; }
.uth-ps-row { display: flex; justify-content: space-between; align-items: baseline; padding: .4rem 0; border-bottom: 1px solid var(--rule-dk); }
.uth-ps-row:last-child { border-bottom: none; padding-top: .8rem; }
.uth-ps-label { font-family: var(--mono); font-size: 0.62rem; letter-spacing: .14em; text-transform: uppercase; color: #666660; }
.uth-ps-val { font-family: var(--sans); font-weight: 400; font-size: .95rem; color: var(--white); }
.uth-ps-total .uth-ps-label { color: #aaa9a0; }
.uth-ps-total .uth-ps-val { font-size: 1.4rem; }
.uth-ps-note { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: .88rem; color: #555550; margin-top: .8rem; line-height: 1.6; }

.uth-btn-submit { width: 100%; font-family: var(--mono); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; background: var(--blue); color: var(--white); border: none; padding: 1rem; margin-top: 1rem; cursor: pointer; transition: background .18s; }
.uth-btn-submit:hover { background: var(--blue-dk); }
.uth-btn-submit:disabled { background: var(--grey); cursor: not-allowed; }

.uth-btn-submit.uth-sent {
    background: var(--green, #2a7a4b);
    cursor: default;
}

.uth-contact-alt { margin-top: 1.2rem; font-family: var(--serif); font-weight: 300; font-size: .95rem; line-height: 1.7; color: var(--grey); text-align: center; }
.uth-contact-alt a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--rule); }
.uth-contact-alt a:hover { border-color: var(--ink); }

.uth-slot-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-bottom: 1.5rem; }
.uth-slot { border: 1px solid var(--rule); padding: .9rem .8rem; cursor: pointer; transition: all .18s; }
.uth-slot:hover { border-color: var(--blue); background: var(--blue-lt); }
.uth-slot.uth-taken { border-color: var(--rule); background: #f0f0ec; cursor: not-allowed; opacity: .5; }
.uth-slot.uth-selected { border-color: var(--blue); background: var(--blue); color: var(--white); }
.uth-slot-time { font-family: var(--mono); font-size: .62rem; letter-spacing: .1em; }
.uth-slot-status { font-family: var(--mono); font-size: .48rem; letter-spacing: .12em; text-transform: uppercase; color: var(--grey); margin-top: .3rem; }
.uth-slot.uth-selected .uth-slot-time,
.uth-slot.uth-selected .uth-slot-status { color: var(--white); }

.uth-confirm-box { background: #f0f7ff; border: 1px solid #b0c8ff; padding: 1.4rem; margin-top: 1rem; display: none; }
.uth-confirm-box.uth-visible { display: block; }
.uth-confirm-title { font-family: var(--sans); font-weight: 400; font-size: 1.1rem; color: var(--blue); margin-bottom: .6rem; }
.uth-confirm-body { font-family: var(--serif); font-weight: 300; font-size: .9rem; line-height: 1.7; color: #333380; }

.uth-error-box { background: #fff0f0; border: 1px solid #ffb0b0; padding: 1.4rem; margin-top: 1rem; display: none; }
.uth-error-box.uth-visible { display: block; }
.uth-error-title { font-family: var(--sans); font-weight: 400; font-size: 1rem; color: #cc0000; margin-bottom: .4rem; }
.uth-error-body { font-family: var(--serif); font-weight: 300; font-size: .85rem; color: #660000; }

.uth-season-note { font-family: var(--mono); font-size: .52rem; letter-spacing: .1em; text-transform: uppercase; color: var(--orange); margin-bottom: 1rem; display: none; }

.uth-cal-day.uth-weekday-muted,
.uth-cal-day.uth-sunday,
.uth-cal-day.uth-weekend-muted { color: var(--orange); cursor: not-allowed; }

.uth-weekend-dot { background: var(--blue-lt); border: 1px solid #b0c0ff; }
.uth-cal-hint { font-family: var(--mono); font-size: 0.62rem; letter-spacing: .08em; color: var(--grey); margin-bottom: 1rem; }

.uth-weekend-picker { margin-top: 1.2rem; padding: 1.2rem; background: var(--green-lt); border: 1px solid var(--green); }
.uth-picker-label { font-family: var(--mono); font-size: .55rem; letter-spacing: .1em; text-transform: uppercase; color: var(--green); margin-bottom: 1rem; }
.uth-picker-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: .8rem; }
.uth-picker-btn { background: var(--white); border: 1.5px solid var(--rule); padding: .9rem .8rem; cursor: pointer; text-align: left; transition: all .15s; display: flex; flex-direction: column; gap: .3rem; }
.uth-picker-btn:disabled { opacity: .35; cursor: not-allowed; }
.uth-picker-btn-title { font-family: var(--sans); font-weight: 400; font-size: .9rem; color: var(--ink); display: block; pointer-events: none; }
.uth-picker-btn-sub { font-family: var(--mono); font-size: .5rem; letter-spacing: .08em; color: var(--grey); display: block; pointer-events: none; }
.uth-picker-cancel { font-family: var(--mono); font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; background: none; border: none; color: var(--grey); cursor: pointer; padding: 0; text-decoration: underline; }
.uth-picker-cancel:hover { color: var(--ink); }

.uth-booking-summary { margin-top: 1.2rem; }
.uth-booking-summary-inner { background: var(--ink); color: var(--white); padding: 1rem 1.2rem; display: flex; align-items: center; gap: 1.2rem; flex-wrap: wrap; }
.uth-bs-label { font-family: var(--mono); font-size: .5rem; letter-spacing: .14em; text-transform: uppercase; color: var(--grey); white-space: nowrap; }
.uth-bs-dates { font-family: var(--sans); font-weight: 400; font-size: 1rem; color: var(--white); }
.uth-bs-type { font-family: var(--mono); font-size: .52rem; letter-spacing: .06em; color: #888880; flex: 1; }
.uth-bs-change { font-family: var(--mono); font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; background: none; border: 1px solid #444440; color: var(--grey); padding: .3rem .7rem; cursor: pointer; transition: all .15s; white-space: nowrap; }
.uth-bs-change:hover { border-color: var(--white); color: var(--white); }

.uth-ms-btn.uth-ms-locked,
.uth-ms-btn.uth-ms-disabled { opacity: .3; cursor: not-allowed; pointer-events: none; }

.uth-extras-select { display: flex; flex-direction: column; gap: 4px; margin-bottom: .4rem; }
.uth-extra-opt { display: flex; justify-content: space-between; align-items: center; padding: .65rem .9rem; border: 1px solid var(--ink); cursor: pointer; transition: all .15s; user-select: none; }
.uth-extra-label { font-family: var(--serif); font-weight: 300; font-size: .88rem; color: var(--ink); pointer-events: none; }
.uth-extra-price { font-family: var(--mono); font-size: .58rem; letter-spacing: .08em; color: var(--ink); pointer-events: none; }
.uth-extra-opt:hover { border-color: var(--blue); background: var(--blue); color: var(--white) }
.uth-extra-opt:hover .uth-extra-label { color: var(--white); }
.uth-extra-opt:hover .uth-extra-price { color: var(--white); }
.uth-extra-opt.uth-selected { border-color: var(--blue); background: var(--green); color:var(--white); }
.uth-extra-opt.uth-selected .uth-extra-label { color: var(--white); }
.uth-extra-opt.uth-selected .uth-extra-price { color: var(--white); }

.uth-mode-toggle { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--rule); margin-bottom: 1.5rem; }
.uth-mode-btn { background: var(--white); border: none; padding: .9rem 1rem; cursor: pointer; text-align: left; transition: background .15s; display: flex; flex-direction: column; gap: .25rem; }
.uth-mode-btn:hover:not(.active) { background: #f0f0ec; }
.uth-mode-btn.active { background: var(--ink); }
.uth-mode-btn-title { font-family: var(--sans); font-weight: 400; font-size: .88rem; color: var(--ink); display: block; pointer-events: none; transition: color .15s; }
.uth-mode-btn-sub { font-family: var(--mono); font-size: .48rem; letter-spacing: .08em; color: var(--grey); display: block; pointer-events: none; transition: color .15s; }
.uth-mode-btn.active .uth-mode-btn-title { color: var(--white); }
.uth-mode-btn.active .uth-mode-btn-sub { color: #888880; }

.uth-cal-day.uth-past { opacity: .25; cursor: not-allowed; }


/* ══════════════════════════════════════════════════════════════
   RECEPT (page-132)
   ══════════════════════════════════════════════════════════════ */

.page-main:has(.rcp-page) .page-content,
.page-main:has(.rcp-item-page) .page-content { max-width: none; padding: 0; }

.rcp-header { display: grid; grid-template-columns: repeat(12,1fr); gap: 0; align-items: end; padding: 5rem 2.5rem 4rem; border-bottom: 1px solid var(--rule); }
.rcp-ph-num { grid-column: 1/2; font-family: var(--mono); font-size: .52rem; letter-spacing: .18em; text-transform: uppercase; color: var(--grey); }
.rcp-ph-title { grid-column: 2/8; font-family: var(--sans); font-weight: 400; font-size: clamp(3rem,6vw,6rem); line-height: .96; letter-spacing: -.02em; }
.rcp-ph-title em { font-family: var(--serif); font-style: italic; font-weight: 300; color: var(--grey); display: block; font-size: .52em; line-height: 1.4; margin-top: .15em; }
.rcp-ph-desc { grid-column: 8/13; padding-left: 3rem; border-left: 1px solid var(--rule); font-family: var(--serif); font-weight: 300; font-size: .95rem; line-height: 1.8; color: #666660; align-self: end; }

.rcp-category { padding: 4rem 2.5rem 0; }
.rcp-cat-hd { display: grid; grid-template-columns: repeat(12,1fr); gap: 0; padding-bottom: 1.2rem; border-bottom: 1px solid var(--rule); align-items: baseline; }
.rcp-cat-num { grid-column: 1/2; font-family: var(--mono); font-size: .52rem; letter-spacing: .18em; color: var(--grey); }
.rcp-cat-title { grid-column: 2/6; font-family: var(--sans); font-weight: 400; font-size: clamp(1.8rem,3vw,2.8rem); letter-spacing: -.01em; }
.rcp-cat-note { grid-column: 7/13; align-self: end; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: .88rem; color: var(--grey); text-align: right; }

.rcp-grid { display: grid; grid-template-columns: repeat(12,1fr); gap: 0; background: var(--rule); border-bottom: 1px solid var(--rule); margin-bottom: 4rem; }

.rcp-recipe-card { grid-column: span 4; background: var(--white); text-decoration: none; color: var(--ink); display: flex; flex-direction: column; border-right: 1px solid var(--rule); transition: background .2s; overflow: hidden; }
.rcp-recipe-card:hover { background: #f2f0ea; }
.rcp-recipe-card:nth-child(3n) { border-right: none; }
.rcp-recipe-card.rcp-wide { grid-column: span 6; }
.rcp-recipe-card.rcp-wide:nth-child(3n) { border-right: 1px solid var(--rule); }
.rcp-recipe-card.rcp-wide:nth-child(2n) { border-right: none; }

.rcp-rc-img { aspect-ratio: 4/3; background: #eae9e3; overflow: hidden; position: relative; flex-shrink: 0; }
.rcp-rc-img-tag { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.rcp-recipe-card:hover .rcp-rc-img-tag { transform: scale(1.03); }
.rcp-rc-img-ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: var(--mono); font-size: .46rem; letter-spacing: .14em; text-transform: uppercase; color: var(--grey); }

.rcp-rc-body { padding: 1.4rem 1.4rem 1.6rem; flex: 1; display: flex; flex-direction: column; }
.rcp-rc-cat { font-family: var(--mono); font-size: .48rem; letter-spacing: .18em; text-transform: uppercase; color: var(--grey); margin-bottom: .6rem; }
.rcp-rc-name { font-family: var(--sans); font-weight: 400; font-size: clamp(1.1rem,1.5vw,1.4rem); line-height: 1.1; color: var(--ink); margin-bottom: .5rem; }
.rcp-rc-desc { font-family: var(--serif); font-weight: 300; font-size: .82rem; line-height: 1.6; color: #666660; flex: 1; margin-bottom: 1.2rem; }
.rcp-rc-foot { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--rule); padding-top: .8rem; margin-top: auto; }
.rcp-rc-time { font-family: var(--mono); font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; color: var(--grey); }
.rcp-rc-arrow { font-family: var(--mono); font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; color: var(--blue); transition: letter-spacing .2s; }
.rcp-recipe-card:hover .rcp-rc-arrow { letter-spacing: .18em; }

.rcp-hero { display: grid; grid-template-columns: repeat(12,1fr); gap: 0; min-height: 52vh; border-bottom: 1px solid var(--rule); }
.rcp-hero-img { grid-column: 1/7; background: #eae9e3; position: relative; overflow: hidden; min-height: 400px; }
.rcp-hero-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rcp-hero-img-ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: var(--mono); font-size: .5rem; letter-spacing: .16em; text-transform: uppercase; color: var(--grey); }
.rcp-hero-body { grid-column: 7/13; padding: 4rem 3.5rem; display: flex; flex-direction: column; justify-content: flex-end; border-left: 1px solid var(--rule); background: #f2f0ea; }
.rcp-hero-eyebrow { font-family: var(--mono); font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--grey); margin-bottom: 1.5rem; }
.rcp-hero-eyebrow a { color: var(--blue); text-decoration: none; border-bottom: 1px solid var(--blue-lt); }
.rcp-hero-title { font-family: var(--sans); font-weight: 400; font-size: clamp(2.2rem,4vw,4rem); line-height: 1; letter-spacing: -.02em; margin-bottom: .5rem; }
.rcp-hero-sub { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: 1.05rem; color: var(--grey); margin-bottom: 2rem; }
.rcp-hero-meta { display: flex; flex-direction: column; gap: .5rem; border-top: 1px solid var(--rule); padding-top: 1.5rem; }
.rcp-meta-row { display: flex; justify-content: space-between; align-items: baseline; }
.rcp-mk { font-family: var(--mono); font-size: .5rem; letter-spacing: .14em; text-transform: uppercase; color: var(--grey); }
.rcp-mv { font-family: var(--serif); font-weight: 300; font-size: .92rem; color: var(--ink); }

.rcp-body { display: grid; grid-template-columns: repeat(12,1fr); gap: 0; padding: 5rem 2.5rem; border-bottom: 1px solid var(--rule); }
.rcp-col-label { font-family: var(--mono); font-size: .5rem; letter-spacing: .2em; text-transform: uppercase; color: var(--grey); margin-bottom: 1.5rem; display: flex; align-items: center; gap: .8rem; }
.rcp-col-label::before { content: ''; width: 1rem; height: 1px; background: var(--grey); display: block; }

.rcp-story { grid-column: 1/5; padding-right: 3rem; border-right: 1px solid var(--rule); }
.rcp-story-text { font-family: var(--serif); font-weight: 300; font-size: .95rem; line-height: 1.82; color: #555550; }
.rcp-story-text p + p { margin-top: 1em; }

.rcp-ingredients { grid-column: 5/9; padding: 0 3rem; border-right: 1px solid var(--rule); }
.rcp-portions-row { display: flex; align-items: center; gap: .8rem; margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--rule); }
.rcp-port-label { font-family: var(--mono); font-size: .5rem; letter-spacing: .14em; text-transform: uppercase; color: var(--grey); }
.rcp-port-btn { width: 28px; height: 28px; background: none; border: 1px solid var(--rule); font-family: var(--mono); font-size: .9rem; color: var(--ink); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all .15s; }
.rcp-port-btn:hover { background: var(--ink); color: var(--white); border-color: var(--ink); }
.rcp-port-val { font-family: var(--sans); font-weight: 400; font-size: 1.1rem; color: var(--ink); min-width: 1.5rem; text-align: center; }

.rcp-ing-group { margin-bottom: 2rem; }
.rcp-ing-group-name { font-family: var(--mono); font-size: .48rem; letter-spacing: .16em; text-transform: uppercase; color: var(--grey); margin-bottom: .8rem; padding-bottom: .5rem; border-bottom: 1px solid var(--rule); }
.rcp-ing-row { display: flex; justify-content: space-between; align-items: baseline; padding: .45rem 0; border-bottom: 1px solid #eeece7; }
.rcp-ing-row:last-child { border-bottom: none; }
.rcp-ing-name { font-family: var(--serif); font-weight: 300; font-size: .92rem; color: var(--ink); }
.rcp-ing-amount { font-family: var(--mono); font-size: .58rem; letter-spacing: .06em; color: var(--grey); white-space: nowrap; margin-left: 1rem; }

.rcp-method { grid-column: 9/13; padding-left: 3rem; }
.rcp-steps { list-style: none; counter-reset: rcp-steps; }
.rcp-step { counter-increment: rcp-steps; display: grid; grid-template-columns: 2rem 1fr; gap: .8rem; padding-bottom: 1.8rem; margin-bottom: 1.8rem; border-bottom: 1px solid var(--rule); }
.rcp-step:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.rcp-step-num { font-family: var(--mono); font-size: .55rem; letter-spacing: .1em; color: var(--grey); padding-top: .25rem; }
.rcp-step-num::before { content: counter(rcp-steps, decimal-leading-zero); }
.rcp-step-title { font-family: var(--sans); font-weight: 400; font-size: .98rem; color: var(--ink); margin-bottom: .5rem; }
.rcp-step-text { font-family: var(--serif); font-weight: 300; font-size: .88rem; line-height: 1.72; color: #555550; }
.rcp-step-note { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: .8rem; color: var(--grey); margin-top: .5rem; padding-left: .8rem; border-left: 2px solid var(--rule); }

.rcp-tips { grid-column: 1/-1; margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--rule); }
.rcp-tips-inner { padding-left: calc(4 * (100% / 12)); }
.rcp-tips-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: -.5rem; }
.rcp-tip-card { background: #f2f0ea; padding: 1.2rem; border-left: 2px solid var(--rule); }
.rcp-tip-title { font-family: var(--mono); font-size: .5rem; letter-spacing: .14em; text-transform: uppercase; color: var(--grey); margin-bottom: .5rem; }
.rcp-tip-text { font-family: var(--serif); font-weight: 300; font-size: .85rem; line-height: 1.65; color: #555550; }

.rcp-related { padding: 4rem 2.5rem 5rem; }
.rcp-related-hd { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--rule); }
.rcp-related-title { font-family: var(--sans); font-weight: 400; font-size: 1.4rem; letter-spacing: -.01em; }
.rcp-related-all { font-family: var(--mono); font-size: .52rem; letter-spacing: .12em; text-transform: uppercase; color: var(--blue); text-decoration: none; }
.rcp-related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--rule); }
.rcp-rel-card { background: var(--white); padding: 1.4rem; text-decoration: none; color: var(--ink); display: flex; flex-direction: column; transition: background .18s; }
.rcp-rel-card:hover { background: #f2f0ea; }
.rcp-rel-name { font-family: var(--sans); font-weight: 400; font-size: 1.05rem; line-height: 1.1; color: var(--ink); margin-bottom: .5rem; }
.rcp-rel-desc { font-family: var(--serif); font-weight: 300; font-size: .8rem; line-height: 1.55; color: #666660; flex: 1; margin-bottom: .9rem; }
.rcp-rel-arrow { font-family: var(--mono); font-size: .48rem; letter-spacing: .1em; text-transform: uppercase; color: var(--blue); }

/* Recept page color treatment */
.page-132 .page-header,
.page-132 .page-main,
.page-132 .page-content,
.page-132 .rcp-page,
.page-132 .rcp-item-page { background: var(--red-lt) !important; }
.page-132 .page-content { max-width: none !important; padding: 0 !important; width: 100% !important; }
.page-132 nav { background: var(--red) !important; border-bottom-color: rgba(0,0,0,.08) !important; }
.page-132 .nav-logo { color: var(--ink) !important; }
.page-132 .nav-links a { color: rgba(0,0,0,.45) !important; }
.page-132 .nav-links a:hover { color: var(--ink) !important; }
.page-132 .nav-right a { color: rgba(0,0,0,.45) !important; }
.page-132 .nav-cta { background: var(--ink) !important; color: var(--white) !important; }
.page-132 .hero-meta { background: var(--red) !important; border-bottom-color: rgba(0,0,0,.08) !important; }
.page-132 .hero-meta .meta-divider { background: rgba(0,0,0,.12) !important; }
.page-132 .hero-meta .meta-item { color: rgba(0,0,0,.5) !important; }
.page-132 .hero-meta .meta-item strong { color: var(--ink) !important; }
.page-132 .live-dot { background: var(--ink) !important; }
.page-132 .rcp-hero-body { background: #fce8ec !important; }
.page-132 .rcp-recipe-card { background: var(--red-lt) !important; }
.page-132 .rcp-recipe-card:hover { background: #fce8ec !important; }
.page-132 .rcp-tip-card { border-left-color: var(--red) !important; background: #fce8ec !important; }
.page-132 .rcp-rel-card { background: var(--red-lt) !important; }
.page-132 .rcp-rel-card:hover { background: #fce8ec !important; }
.page-132 .rcp-rc-arrow { color: var(--red) !important; }
.page-132 .rcp-related-all { color: var(--red) !important; }
.page-132 .rcp-rel-arrow { color: var(--red) !important; }
.page-132 .rcp-hero-eyebrow a { color: var(--red) !important; }
.page-132 .rcp-port-btn:hover { background: var(--red) !important; border-color: var(--red) !important; }
.page-132 .rcp-header { background: var(--red-lt) !important; }
.page-132 .rcp-category { background: var(--red-lt) !important; }
.page-132 footer { background: #0d0d0c !important; }


/* ══════════════════════════════════════════════════════════════
   TÄVLINGAR / EVENEMANG PAGE (page-114)
   ══════════════════════════════════════════════════════════════ */

.page-114 .page-main,
.page-139 .page-main,
.page-156 .page-main {
    padding: 0 2.5rem;
}

.husrf-tavlingar-wrap { padding: 4rem 0 6rem; }
.husrf-tavlingar-wrap h1,
.husrf-tavlingar-wrap .section-sub { padding-left: 2.5rem; }


.husrf-tavlingar-wrap h1 { font-family: var(--sans); font-weight: 400; font-size: clamp(2.4rem, 5vw, 5rem); line-height: 1; letter-spacing: -.01em; color: var(--ink); margin-bottom: 0.5rem; }
.husrf-tavlingar-wrap .section-sub { font-family: var(--serif); font-weight: 300; font-size: 0.95rem; line-height: 1.75; color: var(--ink); margin-bottom: 2.5rem; font-style: italic; }


/* ══════════════════════════════════════════════════════════════
   DPCALENDAR EVENT DETAIL PAGE (page-133)
   ══════════════════════════════════════════════════════════════ */

.page-133 .page-header,
.page-164 .page-header,
.page-165 .page-header { display: none; }
.page-133 .page-content,
.page-164 .page-content,
.page-165 .page-content{ max-width: none; padding: 0; }
.page-133 .page-main,
.page-164 .page-main,
.page-165 .page-main { padding: 0 2.5rem; }
.page-133 .com-dpcalendar-event,
.page-164 .com-dpcalendar-event,
.page-165 .com-dpcalendar-event { display: none !important; }

.husrf-ev-detail { font-family: var(--serif); }

.husrf-ev-detail a {
    border-bottom: none !important;
}

.husrf-ev-header { margin: 0 -2.5rem; padding: 3.5rem 2.5rem 3rem; }
.husrf-ev-header-inner { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; }
.husrf-ev-header-left { flex: 1; }
.husrf-ev-eyebrow { font-family: var(--mono); font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--white); margin-bottom: 1.2rem; display: flex; align-items: center; gap: .8rem; }
.husrf-ev-eyebrow-line { display: block; width: 1.6rem; height: 1px; background: var(--white); }
.husrf-ev-title { font-family: var(--sans); font-weight: 400; font-size: clamp(2.4rem, 5vw, 5rem); line-height: .96; letter-spacing: -.02em; color: var(--white) !important; margin: 0; padding: 0; border: none; }
.husrf-ev-header-right { text-align: right; flex-shrink: 0; }
.husrf-ev-big-date { display: flex; flex-direction: column; align-items: flex-end; line-height: 1; margin-bottom: .4rem; }
.husrf-ev-big-day { font-family: var(--sans); font-weight: 300; font-size: clamp(3rem, 6vw, 5.5rem); color: var(--white); line-height: .9; }
.husrf-ev-big-month { font-family: var(--sans); font-weight: 400; font-size: clamp(2rem, 4vw, 3.8rem); color: var(--white); line-height: 1; }
.husrf-ev-header-meta { font-family: var(--mono); font-size: .55rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55); text-align: right; line-height: 1.7; }

.husrf-ev-strip { display: flex; margin: 0 -2.5rem; border-bottom: 1px solid var(--ink); }
.husrf-ev-strip-cell { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; padding: 1.4rem 2rem 1.4rem 2.5rem; border-right: 1px solid var(--ink); min-width: 0; }
.husrf-ev-strip-cell:first-child { padding-left: 2.5rem; }
.husrf-ev-strip-cell:last-child { border-right: none; }
.husrf-ev-strip-label { font-family: var(--mono); font-size: .48rem; letter-spacing: .18em; text-transform: uppercase; color: var(--ink); margin-bottom: .5rem; }
.husrf-ev-strip-val { font-family: var(--serif); font-weight: 300; font-size: 1rem; color: var(--ink); line-height: 1.2; }
.husrf-ev-strip-val--accent { font-weight: 400; }
.husrf-ev-strip-val--muted { color: var(--grey); }
.husrf-ev-strip-sub { display: none; }

.husrf-ev-pill { display: inline-block; font-family: var(--mono); font-size: .46rem; letter-spacing: .12em; text-transform: uppercase; padding: .25rem .6rem; margin-top: .5rem; border: 1px solid currentColor; width: fit-content; }
.husrf-ev-pill--soon  { color: var(--orange); border-color: var(--orange); }
.husrf-ev-pill--open  { color: var(--blue); border-color: var(--blue); }
.husrf-ev-pill--closed { color: var(--grey); border-color: var(--grey); opacity: .6; }

.husrf-ev-body { display: grid; grid-template-columns: 1fr 22rem; gap: 0; padding-top: 4rem; align-items: start; }

.husrf-ev-col-main { padding-right: 4rem; border-right: 1px solid var(--ink); }
.husrf-ev-section { margin-bottom: 3rem; padding-bottom: 3rem; border-bottom: 1px solid var(--ink); }
.husrf-ev-section:last-of-type { border-bottom: none; }
.husrf-ev-section-label { font-family: var(--mono); font-size: .54rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ink); margin-bottom: 1.4rem; display: flex; align-items: center; gap: .8rem; }
.husrf-ev-section-label::before { content: ''; width: 1rem; height: 1px; background: var(--ink); display: block; }

.husrf-ev-description p { font-family: var(--serif); font-weight: 300; font-size: 1.05rem; line-height: 1.84; color: #333330; margin-bottom: 1em; max-width: 60ch; }
.husrf-ev-description strong { font-weight: 400; color: var(--ink); }

.husrf-ev-dl { display: flex; flex-direction: column; }
.husrf-ev-dl-row { display: grid; grid-template-columns: 10rem 1fr; gap: 0; padding: .75rem 0; border-top: 1px solid var(--ink); align-items: baseline; }
.husrf-ev-dl-row:last-child { border-bottom: 1px solid var(--ink); }
.husrf-ev-dl-key { font-family: var(--mono); font-size: .52rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); }
.husrf-ev-dl-val { font-family: var(--serif); font-weight: 300; font-size: .92rem; color: var(--ink); line-height: 1.5; }

.husrf-ev-loc-name { font-family: var(--mono); font-size: .6rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 400; margin-bottom: .4rem; }
.husrf-ev-loc-city { font-family: var(--serif); font-weight: 300; font-size: .88rem; color: var(--grey); margin-bottom: 1rem; }
.husrf-ev-loc-btns { display: flex; gap: .5rem; margin-bottom: 1.2rem; }
.husrf-ev-loc-btn { font-family: var(--mono); font-size: .52rem; letter-spacing: .12em; text-transform: uppercase; background: none; border: 1px solid var(--ink); color: var(--ink); padding: .5rem 1rem; cursor: pointer; transition: border-color .18s, color .18s; }
.husrf-ev-loc-btn:hover { border-color: var(--blue); background: var(--blue); color: var(--white); }
.husrf-ev-dl--addr .husrf-ev-dl-row { max-width: 36rem; }
.husrf-ev-loc-desc { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: .85rem; color: var(--grey); margin-top: .8rem; line-height: 1.6; }

.husrf-ev-actions { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--ink); }
.husrf-ev-back { font-family: var(--mono); font-size: .52rem; letter-spacing: .12em; text-transform: uppercase; color: var(--grey); text-decoration: none; border-bottom: 1px solid var(--rule); transition: color .18s, border-color .18s; }
.husrf-ev-back:hover { color: var(--ink); border-color: var(--ink); }

.husrf-ev-col-aside { padding-left: 3rem; display: flex; flex-direction: column; gap: 1.5rem; position: sticky; top: 5rem; }

.husrf-ev-aside-card { border: 1px solid var(--ink); padding: 1.4rem; }
.husrf-ev-aside-card--dark { background: var(--ink); border-color: var(--ink); }
.husrf-ev-aside-card-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--rule-dk); }
.husrf-ev-aside-card--dark .husrf-ev-aside-card-head { border-bottom-color: #2a2a26; }
.husrf-ev-aside-card-title { font-family: var(--sans); font-weight: 400; font-size: 1rem; color: var(--white); }
.husrf-ev-aside-label { font-family: var(--mono); font-size: .48rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ink); margin-bottom: 1rem; }
.husrf-ev-aside-dl { display: flex; flex-direction: column; }
.husrf-ev-aside-row { display: flex; justify-content: space-between; align-items: baseline; padding: .5rem 0; border-bottom: 1px solid #2a2a26; gap: 1rem; }
.husrf-ev-aside-card:not(.husrf-ev-aside-card--dark) .husrf-ev-aside-row { border-bottom-color: var(--ink); }
.husrf-ev-aside-row:last-child { border-bottom: none; }
.husrf-ev-aside-key { font-family: var(--mono); font-size: .52rem; letter-spacing: .12em; text-transform: uppercase; color: #666660; flex-shrink: 0; }
.husrf-ev-aside-val { font-family: var(--serif); font-weight: 300; font-size: .9rem; color: var(--white); text-align: right; }
.husrf-ev-aside-card:not(.husrf-ev-aside-card--dark) .husrf-ev-aside-key { color: var(--ink); }
.husrf-ev-aside-card:not(.husrf-ev-aside-card--dark) .husrf-ev-aside-val { color: var(--ink); }

.husrf-ev-aside-btn { display: block; width: 100%; font-family: var(--mono); font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; background: #2a2a26; color: #aaa9a0; border: none; padding: .9rem 1rem; margin-top: 1rem; cursor: pointer; text-align: center; text-decoration: none; transition: background .18s; }
.husrf-ev-aside-btn:hover:not(:disabled) { background: #3a3a36; color: var(--white); }
.husrf-ev-aside-btn--disabled { opacity: .6; cursor: not-allowed; }
.husrf-ev-aside-note { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: .75rem; color: #555550; line-height: 1.65; margin-top: .9rem; }

.husrf-ev-aside-next { padding: 1.2rem 1.4rem; border-left: 3px solid var(--blue); background: var(--white); border-top: 1px solid var(--ink); border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.husrf-ev-aside-next-link { display: flex; flex-direction: column; gap: .4rem; text-decoration: none; }
.husrf-ev-aside-next-title { font-family: var(--sans); font-weight: 400; font-size: 1.05rem; color: var(--ink); line-height: 1.1; transition: color .18s; }
.husrf-ev-aside-next-link:hover .husrf-ev-aside-next-title { color: var(--blue); }
.husrf-ev-aside-next-date { font-family: var(--mono); font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; color: var(--grey); }

/* DPCalendar default output suppression */
.page-133 .com-dpcalendar-event__header { margin: 0 -2.5rem; padding: 3.5rem 2.5rem 3rem; }
.page-133 .dp-information { margin: 0 -2.5rem 2.5rem; padding: 0 2.5rem !important; background: transparent !important; box-shadow: none !important; display: flex; gap: 0; border-bottom: 1px solid var(--rule); border-left: none !important; }
.page-133 .dp-information dl.dp-description { display: flex; flex-direction: column; justify-content: flex-end; padding: 1.2rem 2.5rem 1.2rem 0; margin: 0; border-right: 1px solid var(--rule); width: 16rem; flex-shrink: 0; flex-grow: 0; }
.page-133 .dp-information dl.dp-description:last-of-type { border-right: none; flex-grow: 1; }
.page-133 .dp-information dl.dp-description dt.dp-description__label { font-family: var(--mono); font-size: .48rem; letter-spacing: .18em; text-transform: uppercase; color: var(--grey); margin: 0 0 .5rem; padding: 0; border: none; }
.page-133 .dp-information dl.dp-description dd.dp-description__description { font-family: var(--serif); font-weight: 300; font-size: .95rem; color: var(--ink); line-height: 1.4; margin: 0; padding: 0; border: none; }
.page-133 .com-dpcalendar-event__actions { display: flex; gap: .5rem; flex-wrap: wrap; margin: 0 0 2.5rem; padding: 1.5rem 0; border-bottom: 1px solid var(--rule); }
.page-133 .dp-button { font-family: var(--mono) !important; font-size: .52rem !important; letter-spacing: .12em !important; text-transform: uppercase !important; background: none !important; border: 1px solid var(--rule) !important; border-radius: 0 !important; color: var(--grey) !important; padding: .5rem 1rem !important; cursor: pointer; transition: border-color .18s, color .18s !important; display: inline-flex !important; align-items: center; gap: .5rem; }
.page-133 .dp-button:hover { border-color: var(--ink) !important; color: var(--ink) !important; background: transparent !important; }
.page-133 .dp-button .dp-icon { display: none; }
.page-133 [itemtype="http://schema.org/Event"] { display: none; }
.page-133 .com-dpcalendar-event a { color: var(--blue); text-decoration: none; 

                                  /*border-bottom: 1px solid var(--blue-lt); transition: border-color .18s;*/ }
.page-133 .com-dpcalendar-event a:hover {/* border-color: var(--blue);*/ }


/* ══════════════════════════════════════════════════════════════
   BLI MEDLEM (page-118)
   ══════════════════════════════════════════════════════════════ */

.page-main:has(.mem-page) .page-content,
.page-118 .page-content { max-width: none; padding: 0; font-size: inherit; line-height: inherit; color: inherit; }

.mem-page { display: grid; grid-template-columns: 4fr 8fr; min-height: calc(100vh - 3.4rem); font-family: var(--serif); }

.mem-left { background: var(--blue); color: var(--white); padding: 5rem 3.5rem 6rem; position: sticky; top: 3.4rem; height: calc(100vh - 3.4rem); display: flex; flex-direction: column; overflow: hidden; }
.mem-left-ghost { position: absolute; bottom: -.05em; left: -.02em; font-family: var(--sans); font-weight: 300; font-size: 16rem; line-height: 1; color: transparent; -webkit-text-stroke-color: rgba(255,255,255,.06); pointer-events: none; user-select: none; }
.mem-left-inner { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; }
.mem-eyebrow { font-family: var(--mono); font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-bottom: 2rem; display: flex; align-items: center; gap: .8rem; }
.mem-eyebrow::before { content: ''; width: 1.2rem; height: 1px; background: rgba(255,255,255,.4); display: block; }
.mem-left-h { font-family: var(--sans); font-weight: 400; font-size: clamp(2.2rem, 3.5vw, 3.4rem); line-height: 1.02; letter-spacing: -.01em; color: var(--white); margin-bottom: .4rem; }
.mem-left-h em { font-family: var(--serif); font-style: italic; font-weight: 300; color: var(--white); }
.mem-left-body { font-family: var(--serif); font-weight: 300; font-size: .9rem; line-height: 1.8; color: rgba(255,255,255,.65); margin-top: 1.8rem; max-width: 34ch; }

.mem-prog { margin-top: 3rem; }
.mem-prog-label { font-family: var(--mono); font-size: .48rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.35); margin-bottom: 1.2rem; }
.mem-prog-steps { display: flex; flex-direction: column; }
.mem-ps { display: flex; align-items: stretch; gap: .9rem; }
.mem-ps-left { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; }
.mem-ps-num { width: 20px; height: 20px; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); display: flex; align-items: center; justify-content: center; font-family: var(--mono); font-size: .48rem; color: rgba(255,255,255,.4); flex-shrink: 0; background: transparent; z-index: 1; transition: all .35s; }
.mem-ps-line { width: 1px; flex: 1; background: rgba(255,255,255,.15); min-height: 20px; }
.mem-ps-right { padding: .1rem 0 1.5rem; }
.mem-ps-title { font-family: var(--mono); font-size: .52rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.45); transition: color .35s; }
.mem-ps-sub { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: .78rem; color: rgba(255,255,255,.35); margin-top: .2rem; }
.mem-ps.mem-active .mem-ps-num { background: var(--white); border-color: var(--white); color: var(--blue); }
.mem-ps.mem-active .mem-ps-title { color: var(--white); }
.mem-ps.mem-active .mem-ps-sub { color: rgba(255,255,255,.65); }
.mem-ps.mem-done .mem-ps-num { background: var(--white); border-color: var(--white); color: var(--blue); font-size: .6rem; }

.mem-tiers { margin-top: auto; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.12); }
.mem-tier-note { font-family: var(--mono); font-size: .48rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.35); margin-bottom: 1rem; }
.mem-tier-row { display: flex; justify-content: space-between; align-items: baseline; padding: .5rem 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.mem-tier-row:last-child { border-bottom: none; }
.mem-tn { font-family: var(--mono); font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.45); }
.mem-tp { font-family: var(--sans); font-weight: 400; font-size: .95rem; color: rgba(255,255,255,.55); }
.mem-tp em { font-size: .6rem; font-family: var(--mono); font-style: normal; color: rgba(255,255,255,.3); }
.mem-tier-row.mem-hl .mem-tn { color: var(--white); }
.mem-tier-row.mem-hl .mem-tp { color: var(--white); }

.mem-right { padding: 5rem 5rem 5rem 4rem; max-width: 700px; }
.mem-step { display: none; }
.mem-step.mem-active { display: block; animation: mem-up .28s ease both; }
@keyframes mem-up { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }

.mem-step-hd { margin-bottom: 3rem; }
.mem-step-counter { font-family: var(--mono); font-size: .5rem; letter-spacing: .2em; text-transform: uppercase; color: var(--grey); margin-bottom: .7rem; }
.mem-step-h { font-family: var(--sans); font-weight: 400; font-size: clamp(1.8rem, 2.8vw, 2.8rem); line-height: 1.05; letter-spacing: -.01em; }
.mem-step-h em { font-family: var(--serif); font-style: italic; font-weight: 300; color: var(--ink); }
.mem-step-desc { font-family: var(--serif); font-weight: 300; font-size: .92rem; line-height: 1.78; color: #555550; margin-top: .8rem; max-width: 46ch; }

.mem-type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 2.5rem; }
.mem-tc { border: 1px solid var(--rule); padding: 1.3rem 1.2rem 1.2rem; cursor: pointer; transition: all .2s; position: relative; user-select: none; }
.mem-tc:hover { border-color: #b0b8ff; background: #f4f6ff; }
.mem-tc.mem-sel { border-color: var(--blue); background: var(--blue); color: var(--white); }
.mem-tc-wide { grid-column: 1/-1; }
.mem-tc-badge { font-family: var(--mono); font-size: .46rem; letter-spacing: .14em; text-transform: uppercase; color: var(--blue); margin-bottom: .5rem; }
.mem-tc.mem-sel .mem-tc-badge { color: #a0b4ff; }
.mem-tc-name { font-family: var(--sans); font-weight: 400; font-size: 1.1rem; color: var(--ink); margin-bottom: .4rem; }
.mem-tc.mem-sel .mem-tc-name { color: var(--white); }
.mem-tc-price { font-family: var(--mono); font-size: .72rem; letter-spacing: .08em; color: var(--grey); margin-bottom: .6rem; }
.mem-tc.mem-sel .mem-tc-price { color: #a0b4ff; }
.mem-tc-desc { font-family: var(--serif); font-weight: 300; font-size: .8rem; line-height: 1.55; color: #666660; }
.mem-tc.mem-sel .mem-tc-desc { color: #c0cdff; }
.mem-tc-radio { position: absolute; top: .9rem; right: .9rem; width: 16px; height: 16px; border-radius: 50%; border: 1px solid var(--rule); display: flex; align-items: center; justify-content: center; }
.mem-tc.mem-sel .mem-tc-radio { border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.15); }
.mem-tc-radio-dot { width: 7px; height: 7px; border-radius: 50%; }
.mem-tc.mem-sel .mem-tc-radio-dot { background: var(--white); }

.mem-fieldset-title { font-family: var(--mono); font-size: .5rem; letter-spacing: .2em; text-transform: uppercase; color: var(--grey); margin-bottom: 1.4rem; display: flex; align-items: center; gap: .8rem; }
.mem-fieldset-title::before { content: ''; width: 1rem; height: 1px; background: var(--grey); display: block; }
.mem-f { margin-bottom: 1.4rem; }
.mem-fl { font-family: var(--mono); font-size: .5rem; letter-spacing: .16em; text-transform: uppercase; color: var(--grey); margin-bottom: .5rem; display: flex; gap: .3rem; }
.mem-req { color: var(--blue); }
.mem-fi { width: 100%; font-family: var(--serif); font-weight: 300; font-size: .98rem; color: var(--ink); background: transparent; border: none; border-bottom: 1px solid var(--rule); padding: .5rem 0; outline: none; transition: border-color .18s; line-height: 1.4; }
.mem-fi:focus { border-bottom-color: var(--ink); }
.mem-fi::placeholder { color: var(--rule); }
.mem-fn { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: .76rem; color: var(--grey); margin-top: .35rem; }
.mem-f2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.mem-f3 { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 1.5rem; }
.mem-f-ta { width: 100%; font-family: var(--serif); font-weight: 300; font-size: .95rem; color: var(--ink); background: #f0efe9; border: none; border-left: 2px solid var(--rule); padding: .8rem 1rem; outline: none; resize: vertical; min-height: 80px; transition: border-color .18s; line-height: 1.7; }
.mem-f-ta:focus { border-left-color: var(--ink); }
.mem-f-ta::placeholder { color: var(--grey); }
.mem-sep { border: none; border-top: 1px solid var(--rule); margin: 2.5rem 0; }

.mem-toggle-row { display: flex; align-items: center; gap: 1rem; cursor: pointer; margin-bottom: 1.5rem; }
.mem-ttrack { width: 34px; height: 18px; background: var(--rule); border-radius: 9px; position: relative; transition: background .2s; flex-shrink: 0; }
.mem-ttrack.mem-on { background: var(--ink); }
.mem-tthumb { width: 12px; height: 12px; background: var(--white); border-radius: 50%; position: absolute; top: 3px; left: 3px; transition: transform .2s; box-shadow: 0 1px 2px rgba(0,0,0,.2); }
.mem-ttrack.mem-on .mem-tthumb { transform: translateX(16px); }
.mem-tlabel { font-family: var(--mono); font-size: .52rem; letter-spacing: .14em; text-transform: uppercase; color: var(--grey); }
.mem-collapsible { display: none; padding: 1.4rem; background: #f2f1ee; border-left: 2px solid var(--rule); margin-bottom: 1.5rem; }
.mem-collapsible.mem-open { display: block; animation: mem-up .2s ease both; }

.mem-sponsor-note { background: #f5f4f0; border-left: 2px solid var(--rule); padding: 1rem 1.2rem; margin-bottom: 1.5rem; }
.mem-sponsor-note p { font-family: var(--serif); font-weight: 300; font-size: .85rem; line-height: 1.7; color: #555550; }
.mem-sponsor-note strong { font-weight: 400; color: var(--ink); }
.mem-sponsor-card { border: 1px solid var(--rule); padding: 1.4rem; }
.mem-sc-num { font-family: var(--mono); font-size: .48rem; letter-spacing: .16em; text-transform: uppercase; color: var(--grey); margin-bottom: .8rem; }
.mem-no-sponsor { margin-top: 1.5rem; padding: 1rem 1.2rem; border: 1px solid var(--rule); }
.mem-no-sponsor-label { font-family: var(--mono); font-size: .5rem; letter-spacing: .14em; text-transform: uppercase; color: var(--grey); margin-bottom: .5rem; }
.mem-no-sponsor-body { font-family: var(--serif); font-weight: 300; font-size: .88rem; line-height: 1.7; color: #555550; }
.mem-no-sponsor-body a { color: var(--ink); border-bottom: 1px solid var(--rule); text-decoration: none; }

.mem-review-block { margin-bottom: 2rem; }
.mem-rb-label { font-family: var(--mono); font-size: .48rem; letter-spacing: .2em; text-transform: uppercase; color: var(--grey); padding-bottom: .6rem; border-bottom: 1px solid var(--rule); margin-bottom: .8rem; display: flex; justify-content: space-between; align-items: center; }
.mem-rb-edit { font-family: var(--mono); font-size: .48rem; letter-spacing: .1em; text-transform: uppercase; color: var(--blue); background: none; border: none; cursor: pointer; padding: 0; }
.mem-rb-edit:hover { text-decoration: underline; }
.mem-rr { display: flex; justify-content: space-between; align-items: baseline; padding: .35rem 0; border-bottom: 1px solid #eeece7; }
.mem-rr:last-child { border-bottom: none; }
.mem-rk { font-family: var(--mono); font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; color: var(--grey); }
.mem-rv { font-family: var(--serif); font-weight: 300; font-size: .9rem; color: var(--ink); }

.mem-pay-box { background: var(--ink); color: var(--white); padding: 1.8rem; margin-bottom: 1.5rem; }
.mem-pay-row { display: flex; justify-content: space-between; align-items: baseline; padding: .45rem 0; border-bottom: 1px solid #2a2a26; }
.mem-pay-row:last-child { border-bottom: none; padding-top: .9rem; }
.mem-pk { font-family: var(--mono); font-size: .5rem; letter-spacing: .14em; text-transform: uppercase; color: #8a8a80; }
.mem-pv { font-family: var(--sans); font-weight: 400; font-size: .95rem; color: var(--white); }
.mem-pay-total .mem-pk { color: #aaa9a0; }
.mem-pay-total .mem-pv { font-size: 1.5rem; }
.mem-pay-note { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: .78rem; color: #6b6b62; margin-top: 1rem; line-height: 1.65; }

.mem-ck-row { display: flex; align-items: flex-start; gap: .8rem; margin-bottom: 1rem; cursor: pointer; }
.mem-ck-box { width: 16px; height: 16px; border: 1px solid var(--rule); flex-shrink: 0; margin-top: .2rem; display: flex; align-items: center; justify-content: center; transition: all .18s; }
.mem-ck-box.mem-on { background: var(--ink); border-color: var(--ink); }
.mem-ck-mark { width: 8px; height: 5px; border-left: 1.5px solid var(--white); border-bottom: 1.5px solid var(--white); transform: rotate(-45deg) translateY(-1px); opacity: 0; transition: opacity .15s; }
.mem-ck-box.mem-on .mem-ck-mark { opacity: 1; }
.mem-ck-label { font-family: var(--serif); font-weight: 300; font-size: .85rem; line-height: 1.65; color: #555550; }
.mem-ck-label a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--rule); }

.mem-step-nav { display: flex; justify-content: space-between; align-items: center; margin-top: 3.5rem; padding-top: 2rem; border-top: 1px solid var(--rule); }
.mem-btn-next { font-family: var(--mono); font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; background: var(--ink); color: var(--white); border: none; padding: .85rem 2.2rem; cursor: pointer; transition: background .18s; }
.mem-btn-next:hover:not(:disabled) { background: #1a1a18; }
.mem-btn-next:disabled { opacity: .4; cursor: not-allowed; }
.mem-btn-next.mem-btn-primary { background: var(--blue); }
.mem-btn-next.mem-btn-primary:hover { background: var(--blue-dk); }
.mem-btn-back { font-family: var(--mono); font-size: .55rem; letter-spacing: .14em; text-transform: uppercase; color: var(--grey); background: none; border: none; cursor: pointer; padding: 0; }
.mem-btn-back:hover { color: var(--ink); }

.mem-error-box { background: #fff0f0; border: 1px solid #ffb0b0; padding: 1.4rem; margin-top: 1rem; display: none; }
.mem-error-title { font-family: var(--sans); font-weight: 400; font-size: 1rem; color: #cc0000; margin-bottom: .4rem; }
.mem-error-body { font-family: var(--serif); font-weight: 300; font-size: .85rem; color: #660000; }
.mem-fi.mem-fi-err { border-bottom-color: var(--orange); }

.mem-confirm { display: none; text-align: center; padding: 4rem 2rem; }
.mem-confirm.mem-visible { display: block; animation: mem-up .4s ease both; }
.mem-confirm-icon { width: 60px; height: 60px; border-radius: 50%; background: #bbf7d0; display: flex; align-items: center; justify-content: center; margin: 0 auto 2rem; }
.mem-confirm-h { font-family: var(--sans); font-weight: 400; font-size: 2.2rem; letter-spacing: -.01em; color: var(--ink); margin-bottom: .6rem; }
.mem-confirm-sub { font-family: var(--serif); font-weight: 300; font-size: 1rem; line-height: 1.75; color: #555550; max-width: 38ch; margin: 0 auto 2.5rem; }
.mem-confirm-ref { font-family: var(--mono); font-size: .55rem; letter-spacing: .16em; text-transform: uppercase; color: var(--grey); background: #f2f1ee; padding: .6rem 1.2rem; display: inline-block; }
.mem-confirm-next { margin-top: 3rem; border-top: 1px solid var(--rule); padding-top: 2rem; }
.mem-confirm-next-label { font-family: var(--mono); font-size: .5rem; letter-spacing: .18em; text-transform: uppercase; color: var(--grey); margin-bottom: 1rem; }
.mem-confirm-steps { display: flex; flex-direction: column; gap: .6rem; text-align: left; max-width: 38ch; margin: 0 auto; }
.mem-cs { display: flex; align-items: flex-start; gap: .8rem; font-family: var(--serif); font-weight: 300; font-size: .88rem; line-height: 1.6; color: #555550; }
.mem-cs-num { font-family: var(--mono); font-size: .5rem; color: var(--blue); flex-shrink: 0; padding-top: .2rem; }


/* ══════════════════════════════════════════════════════════════
   GASTBÖRSEN (page-128)
   ══════════════════════════════════════════════════════════════ */

.page-main:has(.gb-page) .page-content,
.page-128 .page-content { max-width: none; padding: 0; font-size: inherit; line-height: inherit; color: inherit; }

.gb-page { display: grid; grid-template-columns: 4fr 8fr; min-height: calc(100vh - 3.4rem); font-family: var(--serif); }

.gb-left { background: var(--orange); color: var(--white); padding: 5rem 3.5rem 6rem; position: sticky; top: 3.4rem; height: calc(100vh - 3.4rem); display: flex; flex-direction: column; overflow: hidden; }
.gb-left-ghost { position: absolute; bottom: -.05em; left: -.02em; font-family: var(--sans); font-weight: 300; font-size: 14rem; line-height: 1; color: transparent; -webkit-text-stroke-color: rgba(255,255,255,.06); pointer-events: none; user-select: none; white-space: nowrap; }
.gb-left-inner { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; }
.gb-eyebrow { font-family: var(--mono); font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-bottom: 2rem; display: flex; align-items: center; gap: .8rem; }
.gb-eyebrow::before { content: ''; width: 1.2rem; height: 1px; background: rgba(255,255,255,.4); display: block; }
.gb-left-h { font-family: var(--sans); font-weight: 400; font-size: clamp(2rem, 3.2vw, 3.2rem); line-height: 1.02; letter-spacing: -.01em; color: var(--white); }
.gb-left-h em { font-family: var(--serif); font-style: italic; font-weight: 300; color: rgba(255,255,255,.45); }
.gb-left-body { font-family: var(--serif); font-weight: 300; font-size: .9rem; line-height: 1.8; color: rgba(255,255,255,.7); margin-top: 1.6rem; max-width: 32ch; }

.gb-how { margin-top: 2.5rem; border-top: 1px solid rgba(255,255,255,.15); padding-top: 2rem; }
.gb-how-label { font-family: var(--mono); font-size: .48rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.35); margin-bottom: 1.2rem; }
.gb-how-items { display: flex; flex-direction: column; gap: .8rem; }
.gb-hi { display: flex; gap: .9rem; }
.gb-hi-n { font-family: var(--mono); font-size: .5rem; color: rgba(255,255,255,.3); flex-shrink: 0; padding-top: .18rem; min-width: 1.2rem; }
.gb-hi-t { font-family: var(--serif); font-weight: 300; font-size: .85rem; line-height: 1.6; color: rgba(255,255,255,.7); }

.gb-prog { margin-top: auto; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.15); }
.gb-prog-label { font-family: var(--mono); font-size: .48rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.35); margin-bottom: 1rem; }
.gb-prog-track { display: flex; gap: 6px; align-items: center; }
.gb-pd { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.2); transition: all .3s; flex-shrink: 0; }
.gb-pd.gb-active { background: var(--white); width: 20px; border-radius: 3px; }
.gb-pd.gb-done { background: rgba(255,255,255,.6); }
.gb-prog-name { font-family: var(--mono); font-size: .5rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-left: .8rem; }

.gb-right { padding: 5rem 5rem 5rem 4rem; max-width: 680px; }
.gb-step { display: none; }
.gb-step.gb-active { display: block; animation: gb-up .28s ease both; }
@keyframes gb-up { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }

.gb-shd { margin-bottom: 2.5rem; }
.gb-sc { font-family: var(--mono); font-size: .5rem; letter-spacing: .2em; text-transform: uppercase; color: var(--grey); margin-bottom: .6rem; }
.gb-sh { font-family: var(--sans); font-weight: 400; font-size: clamp(1.8rem,2.8vw,2.8rem); line-height: 1.05; letter-spacing: -.01em; }
.gb-sh em { font-family: var(--serif); font-style: italic; font-weight: 300; color: var(--grey); }
.gb-sd { font-family: var(--serif); font-weight: 300; font-size: .9rem; line-height: 1.75; color: #555550; margin-top: .7rem; max-width: 44ch; }

.gb-ec-list { display: flex; flex-direction: column; gap: 6px; margin-bottom: 1.8rem; }
.gb-ec { border: 1px solid var(--rule); padding: 1.2rem 1.4rem; cursor: pointer; transition: all .18s; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1rem; user-select: none; }
.gb-ec:hover { border-color: #b0b8ff; background: #f6f8ff; }
.gb-ec.gb-sel { border-color: var(--blue); background: var(--blue); }
.gb-ec-name { font-family: var(--sans); font-weight: 400; font-size: 1.05rem; color: var(--ink); }
.gb-ec-sub { font-family: var(--serif); font-weight: 300; font-size: .82rem; line-height: 1.5; color: #888882; margin-top: .2rem; }
.gb-ec.gb-sel .gb-ec-name { color: var(--white); }
.gb-ec.gb-sel .gb-ec-sub { color: #a0b4ff; }
.gb-ec-dot { width: 14px; height: 14px; border-radius: 50%; border: 1px solid var(--rule); flex-shrink: 0; position: relative; }
.gb-ec-dot::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 6px; height: 6px; border-radius: 50%; }
.gb-ec.gb-sel .gb-ec-dot { border-color: rgba(255,255,255,.4); background: rgba(255,255,255,.15); }
.gb-ec.gb-sel .gb-ec-dot::after { background: var(--white); }

.gb-course-box { background: var(--ink); border: 1px solid var(--rule-dk); padding: 1.3rem 1.5rem; margin-bottom: 1.8rem; display: none; }
.gb-course-box.gb-show { display: block; animation: gb-up .22s ease both; }
.gb-cb-title { font-family: var(--sans); font-weight: 400; font-size: .98rem; color: var(--white); margin-bottom: .4rem; }
.gb-cb-body { font-family: var(--serif); font-weight: 300; font-size: .82rem; line-height: 1.65; color: #8a8a80; margin-bottom: 1rem; }

.gb-av-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 1.8rem; }
.gb-av-grid.gb-three { grid-template-columns: 1fr 1fr 1fr; }
.gb-av { border: 1px solid var(--rule); padding: .9rem 1.1rem; cursor: pointer; transition: all .18s; user-select: none; }
.gb-av:hover { border-color: #b0b8ff; background: #f6f8ff; }
.gb-av.gb-sel { border-color: var(--blue); background: var(--blue-lt); }
.gb-av-name { font-family: var(--sans); font-weight: 400; font-size: .98rem; color: var(--ink); }
.gb-av.gb-sel .gb-av-name { color: var(--blue); }
.gb-av-sub { font-family: var(--mono); font-size: .48rem; letter-spacing: .1em; text-transform: uppercase; color: var(--grey); margin-top: .25rem; }

.gb-months { display: grid; grid-template-columns: repeat(6,1fr); gap: 4px; margin-bottom: 1.8rem; }
.gb-mb { font-family: var(--mono); font-size: .54rem; letter-spacing: .1em; text-transform: uppercase; background: none; border: 1px solid var(--rule); padding: .5rem .3rem; cursor: pointer; color: var(--grey); transition: all .18s; text-align: center; }
.gb-mb:hover:not(:disabled) { border-color: var(--ink); color: var(--ink); }
.gb-mb.gb-on { background: var(--ink); border-color: var(--ink); color: var(--white); }
.gb-mb.gb-off { opacity: .3; cursor: not-allowed; }

.gb-seasick-note { display: none; margin: .2rem 0 .8rem 1.7rem; padding: .8rem 1rem; background: #f5f4f0; border-left: 2px solid var(--rule); }
.gb-seasick-note.gb-show { display: block; }
.gb-seasick-note p { font-family: var(--serif); font-weight: 300; font-size: .82rem; line-height: 1.68; color: #555550; }

.gb-sep { border: none; border-top: 1px solid var(--rule); margin: 2rem 0; }
.gb-fl-label { font-family: var(--mono); font-size: .5rem; letter-spacing: .2em; text-transform: uppercase; color: var(--grey); margin-bottom: 1.2rem; display: flex; align-items: center; gap: .8rem; }
.gb-fl-label::before { content: ''; width: 1rem; height: 1px; background: var(--grey); display: block; }
.gb-f { margin-bottom: 1.4rem; }
.gb-fl { font-family: var(--mono); font-size: .5rem; letter-spacing: .16em; text-transform: uppercase; color: var(--grey); margin-bottom: .5rem; display: flex; gap: .3rem; }
.gb-req { color: var(--blue); }
.gb-fi { width: 100%; font-family: var(--serif); font-weight: 300; font-size: .98rem; color: var(--ink); background: transparent; border: none; border-bottom: 1px solid var(--rule); padding: .5rem 0; outline: none; transition: border-color .18s; line-height: 1.4; }
.gb-fi:focus { border-bottom-color: var(--ink); }
.gb-fi::placeholder { color: var(--rule); }
.gb-fi.gb-fi-err { border-bottom-color: var(--orange); }
.gb-f2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.gb-f-ta { width: 100%; font-family: var(--serif); font-weight: 300; font-size: .95rem; color: var(--ink); background: #f5f4f0; border: none; border-left: 2px solid var(--rule); padding: .8rem 1rem; outline: none; resize: vertical; min-height: 72px; transition: border-color .18s; line-height: 1.7; }
.gb-f-ta:focus { border-left-color: var(--ink); }
.gb-f-ta::placeholder { color: var(--grey); }
.gb-f-note { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: .76rem; color: var(--grey); margin-top: .4rem; }

.gb-ck { display: flex; align-items: flex-start; gap: .9rem; margin-bottom: .9rem; cursor: pointer; }
.gb-ck-box { width: 15px; height: 15px; border: 1px solid var(--rule); flex-shrink: 0; margin-top: .22rem; display: flex; align-items: center; justify-content: center; transition: all .18s; }
.gb-ck-box.gb-on { background: var(--ink); border-color: var(--ink); }
.gb-ck-mark { width: 7px; height: 4.5px; border-left: 1.5px solid var(--white); border-bottom: 1.5px solid var(--white); transform: rotate(-45deg) translateY(-1px); opacity: 0; transition: opacity .15s; }
.gb-ck-box.gb-on .gb-ck-mark { opacity: 1; }
.gb-ck-label { font-family: var(--serif); font-weight: 300; font-size: .88rem; line-height: 1.65; color: #555550; }
.gb-ck-label strong { font-weight: 400; color: var(--ink); }

.gb-rv-block { margin-bottom: 2rem; }
.gb-rv-lbl { font-family: var(--mono); font-size: .48rem; letter-spacing: .2em; text-transform: uppercase; color: var(--grey); padding-bottom: .6rem; border-bottom: 1px solid var(--rule); margin-bottom: .8rem; display: flex; justify-content: space-between; align-items: center; }
.gb-rv-edit { font-family: var(--mono); font-size: .48rem; letter-spacing: .1em; text-transform: uppercase; color: var(--blue); background: none; border: none; cursor: pointer; padding: 0; }
.gb-rv-edit:hover { text-decoration: underline; }
.gb-rr { display: flex; justify-content: space-between; align-items: baseline; padding: .35rem 0; border-bottom: 1px solid #eeece7; }
.gb-rr:last-child { border-bottom: none; }
.gb-rk { font-family: var(--mono); font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; color: var(--grey); min-width: 8rem; flex-shrink: 0; }
.gb-rv { font-family: var(--serif); font-weight: 300; font-size: .9rem; color: var(--ink); }
.gb-note-box { font-family: var(--serif); font-weight: 300; font-size: .85rem; line-height: 1.7; color: #555550; padding: .9rem 1.1rem; background: #f5f4f0; border-left: 2px solid var(--rule); margin-bottom: 1.8rem; }

.gb-snav { display: flex; justify-content: space-between; align-items: center; margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--rule); }
.gb-btn-next { font-family: var(--mono); font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; background: var(--ink); color: var(--white); border: none; padding: .82rem 2.1rem; cursor: pointer; transition: background .18s; }
.gb-btn-next:hover:not(:disabled) { background: #1a1a18; }
.gb-btn-next:disabled { background: var(--grey); opacity: .45; cursor: not-allowed; }
.gb-btn-next.gb-blue { background: var(--blue); }
.gb-btn-next.gb-blue:hover { background: var(--blue-dk); }
.gb-btn-back { font-family: var(--mono); font-size: .55rem; letter-spacing: .14em; text-transform: uppercase; color: var(--grey); background: none; border: none; cursor: pointer; padding: 0; }
.gb-btn-back:hover { color: var(--ink); }

.gb-error-box { background: #fff0f0; border: 1px solid #ffb0b0; padding: 1.4rem; margin-top: 1rem; display: none; }
.gb-error-title { font-family: var(--sans); font-weight: 400; font-size: 1rem; color: #cc0000; margin-bottom: .4rem; }
.gb-error-body { font-family: var(--serif); font-weight: 300; font-size: .85rem; color: #660000; }

.gb-confirm { display: none; padding: 4rem 2rem; text-align: center; }
.gb-confirm.gb-show { display: block; animation: gb-up .4s ease both; }
.gb-conf-icon { width: 52px; height: 52px; border-radius: 50%; background: #bbf7d0; display: flex; align-items: center; justify-content: center; margin: 0 auto 2rem; }
.gb-conf-h { font-family: var(--sans); font-weight: 400; font-size: 2.2rem; letter-spacing: -.01em; margin-bottom: .5rem; }
.gb-conf-sub { font-family: var(--serif); font-weight: 300; font-size: .95rem; line-height: 1.75; color: #555550; max-width: 38ch; margin: 0 auto 2.5rem; }
.gb-conf-next { border-top: 1px solid var(--rule); padding-top: 2rem; text-align: left; max-width: 40ch; margin: 0 auto; }
.gb-cn-label { font-family: var(--mono); font-size: .5rem; letter-spacing: .18em; text-transform: uppercase; color: var(--grey); margin-bottom: 1rem; }
.gb-cn-items { display: flex; flex-direction: column; gap: .6rem; }
.gb-ci { display: flex; gap: .8rem; font-family: var(--serif); font-weight: 300; font-size: .88rem; line-height: 1.6; color: #555550; }
.gb-ci-n { font-family: var(--mono); font-size: .5rem; color: var(--blue); flex-shrink: 0; padding-top: .18rem; }


/* ══════════════════════════════════════════════════════════════
   BUTIK (page-117)
   ══════════════════════════════════════════════════════════════ */

.page-main:has(.bk-page) .page-content,
.page-117 .page-content { max-width: none; padding: 0; font-size: inherit; line-height: inherit; color: inherit; }

.bk-page { font-family: var(--serif); }

.bk-header { display: grid; grid-template-columns: repeat(12,1fr); gap: 0; align-items: end; padding: 4rem 2.5rem 3rem; border-bottom: 1px solid var(--rule); }
.bk-ph-num { grid-column: 1/2; font-family: var(--mono); font-size: .52rem; letter-spacing: .18em; text-transform: uppercase; color: var(--grey); padding-bottom: .2rem; }
.bk-ph-title { grid-column: 2/7; font-family: var(--sans); font-weight: 400; font-size: clamp(2.8rem,5vw,5rem); line-height: 1; letter-spacing: -.01em; }
.bk-ph-title em { font-family: var(--serif); font-style: italic; font-weight: 300; color: var(--grey); }
.bk-ph-desc { grid-column: 7/13; font-family: var(--serif); font-weight: 300; font-size: .92rem; line-height: 1.78; color: #555550; padding-left: 3rem; border-left: 1px solid var(--rule); }

.bk-filter-bar { padding: 1.2rem 2.5rem; border-bottom: 1px solid var(--rule); display: flex; align-items: center; gap: 0; position: sticky; top: 3.4rem; background: var(--white); z-index: 50; }
.bk-filter-label { font-family: var(--mono); font-size: .52rem; letter-spacing: .18em; text-transform: uppercase; color: var(--grey); margin-right: 1.5rem; flex-shrink: 0; }
.bk-filter-pills { display: flex; gap: 6px; flex-wrap: wrap; }
.bk-fp { font-family: var(--mono); font-size: .55rem; letter-spacing: .12em; text-transform: uppercase; background: none; border: 1px solid var(--rule); padding: .38rem .9rem; cursor: pointer; color: var(--grey); transition: all .18s; }
.bk-fp:hover { border-color: var(--ink); color: var(--ink); }
.bk-fp.active { background: var(--ink); border-color: var(--ink); color: var(--white); }
.bk-filter-right { margin-left: auto; font-family: var(--mono); font-size: .52rem; letter-spacing: .12em; text-transform: uppercase; color: var(--grey); }

.bk-shop-main { padding: 0 2.5rem 6rem; }
.bk-products { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--rule); margin: 0 -2.5rem; }
.bk-no-products { grid-column: 1/-1; background: var(--white); padding: 4rem; text-align: center; font-family: var(--serif); font-style: italic; color: var(--grey); }

.bk-product-card { background: var(--white); cursor: pointer; position: relative; transition: background .15s; }
.bk-product-card:hover { background: #f2f0ea; }
.bk-product-card:hover .bk-pc-img-tag { transform: scale(1.03); }
.bk-product-card.bk-sold-out { opacity: .7; }

.bk-pc-img { overflow: hidden; aspect-ratio: 1; background: #eae9e3; position: relative; }
.bk-pc-img-inner { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.bk-pc-img-tag { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; display: block; }
.bk-img-ph { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: #eae9e3; }
.bk-img-ph span { font-family: var(--mono); font-size: .5rem; letter-spacing: .16em; text-transform: uppercase; color: var(--grey); }

.bk-pc-badge { position: absolute; top: .8rem; left: .8rem; font-family: var(--mono); font-size: .46rem; letter-spacing: .14em; text-transform: uppercase; padding: .22rem .55rem; z-index: 1; }
.bk-badge-new     { background: var(--blue);   color: var(--white); }
.bk-badge-limited { background: var(--orange);  color: var(--white); }
.bk-badge-soldout { background: #888;           color: var(--white); }

.bk-pc-body { padding: 1.2rem 1.4rem 1.4rem; }
.bk-pc-cat  { font-family: var(--mono); font-size: .48rem; letter-spacing: .16em; text-transform: uppercase; color: var(--grey); margin-bottom: .4rem; }
.bk-pc-name { font-family: var(--sans); font-weight: 400; font-size: 1.05rem; line-height: 1.15; color: var(--ink); margin-bottom: .3rem; }
.bk-pc-desc { font-family: var(--serif); font-weight: 300; font-size: .8rem; line-height: 1.55; color: #666660; margin-bottom: .9rem; }
.bk-pc-footer { display: flex; justify-content: space-between; align-items: center; }
.bk-pc-price { font-family: var(--mono); font-size: .7rem; letter-spacing: .08em; color: var(--ink); }
.bk-pc-cta { font-family: var(--mono); font-size: .5rem; letter-spacing: .12em; text-transform: uppercase; color: var(--blue); border-bottom: 1px solid transparent; transition: border-color .18s; }
.bk-product-card:hover .bk-pc-cta { border-color: var(--blue); }

.bk-cart-btn { position: fixed; bottom: 2rem; right: 2rem; font-family: var(--mono); font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; background: var(--ink); color: var(--white); border: none; padding: .7rem 1.4rem; cursor: pointer; z-index: 90; display: flex; align-items: center; gap: .7rem; transition: background .18s; }
.bk-cart-btn:hover { background: #1a1a18; }
.bk-cart-count { background: var(--blue); color: var(--white); font-size: .48rem; width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .2s; }
.bk-cart-count.bk-visible { opacity: 1; }

.bk-overlay, .bk-modal-overlay, .bk-order-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.35); z-index: 200; opacity: 0; pointer-events: none; transition: opacity .25s; }
.bk-overlay.bk-open, .bk-modal-overlay.bk-open, .bk-order-overlay.bk-open { opacity: 1; pointer-events: all; }
.bk-modal-overlay { z-index: 300; }
.bk-order-overlay { z-index: 400; }

.bk-cart-drawer { position: fixed; top: 0; right: -480px; width: 480px; height: 100vh; background: var(--white); z-index: 201; transition: right .3s cubic-bezier(.25,.46,.45,.94); display: flex; flex-direction: column; border-left: 1px solid var(--rule); }
.bk-cart-drawer.bk-open { right: 0; }
.bk-cd-head { display: flex; justify-content: space-between; align-items: center; padding: 1.4rem 2rem; border-bottom: 1px solid var(--rule); }
.bk-cd-title { font-family: var(--sans); font-weight: 400; font-size: 1.1rem; }
.bk-cd-close { font-family: var(--mono); font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; background: none; border: none; cursor: pointer; color: var(--grey); transition: color .18s; }
.bk-cd-close:hover { color: var(--ink); }
.bk-cd-items { flex: 1; overflow-y: auto; padding: 1.5rem 2rem; }
.bk-cd-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; text-align: center; gap: 1rem; }
.bk-cd-empty-icon { font-size: 2rem; opacity: .2; }
.bk-cd-empty-text { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: .95rem; color: var(--grey); }
.bk-cd-item { display: grid; grid-template-columns: 52px 1fr auto; gap: 1rem; align-items: start; padding: 1.2rem 0; border-bottom: 1px solid var(--rule); }
.bk-cd-item:last-child { border-bottom: none; }
.bk-cd-item-img { width: 52px; height: 52px; background: #eae9e3; overflow: hidden; flex-shrink: 0; }
.bk-cd-item-name { font-family: var(--sans); font-weight: 400; font-size: .95rem; color: var(--ink); margin-bottom: .2rem; }
.bk-cd-item-meta { font-family: var(--mono); font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; color: var(--grey); }
.bk-cd-item-remove { font-family: var(--mono); font-size: .48rem; letter-spacing: .1em; text-transform: uppercase; color: var(--grey); background: none; border: none; cursor: pointer; transition: color .18s; margin-top: .3rem; display: block; }
.bk-cd-item-remove:hover { color: var(--orange); }
.bk-cd-item-price { font-family: var(--mono); font-size: .65rem; letter-spacing: .08em; color: var(--ink); white-space: nowrap; }
.bk-cd-foot { padding: 1.5rem 2rem; border-top: 1px solid var(--rule); }
.bk-cd-subtotal { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: .5rem; }
.bk-cd-subtotal-label { font-family: var(--mono); font-size: .52rem; letter-spacing: .14em; text-transform: uppercase; color: var(--grey); }
.bk-cd-subtotal-val { font-family: var(--sans); font-weight: 400; font-size: 1.3rem; color: var(--ink); }
.bk-cd-note { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: .78rem; color: var(--grey); line-height: 1.6; margin-bottom: 1.2rem; }
.bk-cd-checkout { width: 100%; font-family: var(--mono); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; background: var(--blue); color: var(--white); border: none; padding: .9rem; cursor: pointer; transition: background .18s; }
.bk-cd-checkout:hover { background: var(--blue-dk); }

.bk-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%,-48%); width: min(900px, 92vw); max-height: 90vh; background: var(--white); z-index: 301; overflow-y: auto; opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; }
.bk-modal.bk-open { opacity: 1; transform: translate(-50%,-50%); pointer-events: all; }
.bk-modal-inner { display: grid; grid-template-columns: 1fr 1fr; min-height: 440px; }
.bk-modal-img { background: #eae9e3; display: flex; flex-direction: column; position: relative; min-height: 360px; }
.bk-modal-img-main { flex: 1; overflow: hidden; }
.bk-modal-img-tag { width: 100%; height: 100%; object-fit: cover; display: block; }
.bk-modal-img-thumbs { display: flex; gap: 4px; padding: 8px; background: #e4e2da; }
.bk-modal-thumb { width: 52px; height: 52px; overflow: hidden; cursor: pointer; opacity: .6; transition: opacity .18s; flex-shrink: 0; }
.bk-modal-thumb:hover, .bk-modal-thumb.bk-active { opacity: 1; outline: 2px solid var(--blue); }
.bk-modal-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bk-modal-close { position: absolute; top: 1rem; right: 1rem; width: 32px; height: 32px; background: var(--white); border: 1px solid var(--rule); display: flex; align-items: center; justify-content: center; cursor: pointer; font-family: var(--mono); font-size: .8rem; color: var(--grey); transition: all .18s; z-index: 1; }
.bk-modal-close:hover { background: var(--ink); color: var(--white); border-color: var(--ink); }
.bk-modal-body { padding: 2.5rem 2.5rem 2rem; display: flex; flex-direction: column; }
.bk-modal-cat { font-family: var(--mono); font-size: .5rem; letter-spacing: .18em; text-transform: uppercase; color: var(--grey); margin-bottom: .6rem; }
.bk-modal-name { font-family: var(--sans); font-weight: 400; font-size: clamp(1.6rem,2.5vw,2.2rem); line-height: 1.05; letter-spacing: -.01em; color: var(--ink); margin-bottom: .5rem; }
.bk-modal-price { font-family: var(--mono); font-size: .8rem; letter-spacing: .08em; color: var(--blue); margin-bottom: 1.4rem; }
.bk-modal-desc { font-family: var(--serif); font-weight: 300; font-size: .92rem; line-height: 1.78; color: #555550; margin-bottom: 1.8rem; }
.bk-modal-label { font-family: var(--mono); font-size: .5rem; letter-spacing: .16em; text-transform: uppercase; color: var(--grey); margin-bottom: .6rem; }
.bk-variants { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 1.5rem; }
.bk-variant-btn { font-family: var(--mono); font-size: .55rem; letter-spacing: .1em; text-transform: uppercase; background: none; border: 1px solid var(--rule); padding: .45rem .9rem; cursor: pointer; color: var(--grey); transition: all .18s; }
.bk-variant-btn:hover { border-color: var(--ink); color: var(--ink); }
.bk-variant-btn.bk-active { background: var(--ink); border-color: var(--ink); color: var(--white); }
.bk-qty-row { display: flex; align-items: center; gap: 0; margin-bottom: 1.8rem; }
.bk-qty-btn { width: 32px; height: 32px; background: none; border: 1px solid var(--rule); cursor: pointer; font-family: var(--mono); font-size: .9rem; color: var(--ink); transition: all .18s; display: flex; align-items: center; justify-content: center; }
.bk-qty-btn:hover { background: var(--ink); color: var(--white); border-color: var(--ink); }
.bk-qty-val { width: 44px; text-align: center; font-family: var(--mono); font-size: .7rem; letter-spacing: .1em; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); height: 32px; display: flex; align-items: center; justify-content: center; color: var(--ink); }
.bk-modal-add { width: 100%; font-family: var(--mono); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; background: var(--blue); color: var(--white); border: none; padding: .85rem; cursor: pointer; transition: background .18s; margin-top: auto; }
.bk-modal-add:hover { background: var(--blue-dk); }
.bk-modal-add:disabled { background: var(--grey); cursor: not-allowed; }
.bk-modal-details { margin-top: 1.2rem; padding-top: 1.2rem; border-top: 1px solid var(--rule); }
.bk-md-row { display: flex; justify-content: space-between; padding: .3rem 0; border-bottom: 1px solid #eeece7; }
.bk-md-row:last-child { border-bottom: none; }
.bk-md-k { font-family: var(--mono); font-size: .48rem; letter-spacing: .12em; text-transform: uppercase; color: var(--grey); }
.bk-md-v { font-family: var(--serif); font-weight: 300; font-size: .82rem; color: var(--ink); }

.bk-order-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%,-48%); width: min(560px, 92vw); background: var(--white); z-index: 401; opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; max-height: 92vh; overflow-y: auto; }
.bk-order-modal.bk-open { opacity: 1; transform: translate(-50%,-50%); pointer-events: all; }
.bk-om-head { display: flex; justify-content: space-between; align-items: start; padding: 1.8rem 2rem; border-bottom: 1px solid var(--rule); gap: 1rem; }
.bk-om-title { font-family: var(--sans); font-weight: 400; font-size: 1.4rem; letter-spacing: -.01em; line-height: 1.1; }
.bk-om-title em { font-family: var(--serif); font-style: italic; font-weight: 300; color: var(--grey); }
.bk-om-close { font-family: var(--mono); font-size: .7rem; background: none; border: none; cursor: pointer; color: var(--grey); flex-shrink: 0; }
.bk-om-close:hover { color: var(--ink); }
.bk-om-body { padding: 2rem; }
.bk-om-summary { background: #f2f0ea; padding: 1.2rem 1.4rem; margin-bottom: 1.8rem; }
.bk-oms-label { font-family: var(--mono); font-size: .48rem; letter-spacing: .16em; text-transform: uppercase; color: var(--grey); margin-bottom: .8rem; }
.bk-oms-item { display: flex; justify-content: space-between; align-items: baseline; padding: .3rem 0; border-bottom: 1px solid var(--rule); font-family: var(--serif); font-weight: 300; font-size: .88rem; color: var(--ink); }
.bk-oms-item:last-child { border-bottom: none; padding-top: .5rem; }
.bk-oms-total { font-family: var(--mono); font-size: .75rem; letter-spacing: .06em; color: var(--ink); }
.bk-of { margin-bottom: 1.2rem; }
.bk-of2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.bk-ofl { font-family: var(--mono); font-size: .5rem; letter-spacing: .16em; text-transform: uppercase; color: var(--grey); margin-bottom: .5rem; display: block; }
.bk-req { color: var(--blue); }
.bk-ofi { width: 100%; font-family: var(--serif); font-weight: 300; font-size: .95rem; color: var(--ink); background: transparent; border: none; border-bottom: 1px solid var(--rule); padding: .5rem 0; outline: none; transition: border-color .18s; }
.bk-ofi:focus { border-bottom-color: var(--ink); }
.bk-ofi::placeholder { color: var(--rule); }
.bk-om-note-box { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: .8rem; color: var(--grey); line-height: 1.65; margin-bottom: 1.5rem; padding: 1rem; border: 1px solid var(--rule); }
.bk-om-submit { width: 100%; font-family: var(--mono); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; background: var(--blue); color: var(--white); border: none; padding: .9rem; cursor: pointer; transition: background .18s; }
.bk-om-submit:hover { background: var(--blue-dk); }
.bk-om-submit:disabled { background: var(--grey); cursor: not-allowed; }
.bk-om-error { font-family: var(--serif); font-weight: 300; font-size: .85rem; color: #cc0000; margin-top: 1rem; padding: .8rem 1rem; background: #fff0f0; border: 1px solid #ffb0b0; }
.bk-om-confirm { padding: 3rem 2rem; text-align: center; }
.bk-om-confirm-icon { width: 52px; height: 52px; border-radius: 50%; background: #bbf7d0; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.5rem; }
.bk-om-confirm-h { font-family: var(--sans); font-weight: 400; font-size: 2rem; letter-spacing: -.01em; margin-bottom: .5rem; }
.bk-om-confirm-sub { font-family: var(--serif); font-weight: 300; font-size: .92rem; line-height: 1.75; color: #555550; max-width: 36ch; margin: 0 auto; }


/* ══════════════════════════════════════════════════════════════
   BRA ATT VETA (page-130)
   ══════════════════════════════════════════════════════════════ */

.bav-page { font-family: var(--serif); }
.bav-header { display: grid; grid-template-columns: repeat(12,1fr); gap: 0; padding: 4rem 0 3rem; border-bottom: 1px solid var(--ink); align-items: end; }
.bav-ph-num { grid-column: 1/2; font-family: var(--mono); font-size: .52rem; letter-spacing: .18em; text-transform: uppercase; color: var(--grey); }
.bav-ph-title { grid-column: 2/8; font-family: var(--sans); font-weight: 400; font-size: clamp(2.4rem,4.5vw,4.5rem); line-height: 1; letter-spacing: -.01em; }
.bav-ph-title em { font-family: var(--serif); font-style: italic; font-weight: 300; color: var(--ink); }
.bav-ph-desc { grid-column: 8/13; font-family: var(--serif); font-weight: 300; font-size: .92rem; line-height: 1.78; color: var(--ink); padding-left: 3rem; border-left: 1px solid var(--ink); }

.bav-nav { display: flex; gap: 0; border-bottom: 1px solid var(--ink); position: sticky; top: 3.4rem; background: var(--white); z-index: 50; }
.bav-nav a { font-family: var(--mono); font-size: .52rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); text-decoration: none; padding: 1rem 1.5rem 1rem 0; border-bottom: 2px solid transparent; transition: color .18s; margin-right: 1rem; position: relative; bottom: -1px; }
.bav-nav a:hover { color: var(--ink); }

.bav-section { padding: 4rem 0; border-bottom: 1px solid var(--ink); display: grid; grid-template-columns: repeat(12,1fr); gap: 0; }
.bav-section:last-child { border-bottom: none; }
.bav-sec-eyebrow { grid-column: 1/2; font-family: var(--mono); font-size: .5rem; letter-spacing: .2em; text-transform: uppercase; color: var(--grey); padding-top: .4rem; }
.bav-sec-body { grid-column: 2/9; }
.bav-sec-title { font-family: var(--sans); font-weight: 400; font-size: clamp(1.6rem,2.5vw,2.4rem); line-height: 1.05; letter-spacing: -.01em; margin-bottom: 1.5rem; }
.bav-sec-title em { font-family: var(--serif); font-style: italic; font-weight: 300; color: var(--ink); }
.bav-prose { font-family: var(--serif); font-weight: 300; font-size: .98rem; line-height: 1.84; color: var(--ink); }
.bav-prose p { margin-bottom: 1.2em; }
.bav-prose strong { font-weight: 400; color: var(--ink); }
.bav-prose a { color: var(--blue); text-decoration: none; border-bottom: 1px solid var(--blue-lt); transition: border-color .18s; }
.bav-prose a:hover { border-color: var(--blue); }

.bav-link-list { margin-top: 1.5rem; display: flex; flex-direction: column; gap: 4px; }
.bav-link-item { display: flex; justify-content: space-between; align-items: baseline; padding: .7rem 0; border-top: 1px solid var(--ink); text-decoration: none !important; }
.bav-link-item:last-child { border-bottom: 1px solid var(--ink); }
.bav-link-name { font-family: var(--sans); font-weight: 400; font-size: 1rem; color: var(--ink); text-decoration: none !important; }

.bav-link-name a { text-decoration: none !important; border-bottom: none !important; }

.bav-link-meta { font-family: var(--mono); font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; text-decoration: none !important; color: var(--ink); }
.bav-link-item a { text-decoration: none; color: inherit; text-decoration: none !important; border-bottom: none !important; }
.bav-link-item a:hover .bav-link-name { color: var(--blue); text-decoration: none !important;}

.bav-date-list { margin-top: 1.2rem; }
.bav-date-item { display: flex; gap: 2rem; padding: .7rem 0; border-top: 1px solid var(--ink); align-items: baseline; }
.bav-date-item:last-child { border-bottom: 1px solid var(--ink); }
.bav-date-key { font-family: var(--mono); font-size: .52rem; letter-spacing: .1em; text-transform: uppercase; color: var(--blue); min-width: 8rem; flex-shrink: 0; }
.bav-date-val { font-family: var(--serif); font-weight: 300; font-size: .95rem; color: var(--ink); }

.bav-aside { grid-column: 10/13; padding-left: 2.5rem; border-left: 1px solid var(--ink); }
.bav-aside-label { font-family: var(--mono); font-size: .48rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ink); margin-bottom: .8rem; }
.bav-aside-text { font-family: var(--serif); font-weight: 300; font-size: .85rem; line-height: 1.72; color: var(--ink); }
.bav-aside-text a { color: var(--blue); text-decoration: none; }


/* ══════════════════════════════════════════════════════════════
   LEGAL PAGES — Dataskydd (129), Stadgar (131)
   ══════════════════════════════════════════════════════════════ */

.page-129 .page-content,
.page-130 .page-content,
.page-131 .page-content,
.page-145 .page-content,
.page-147 .page-content,
.page-148 .page-content,
.page-153 .page-content,
.page-154 .page-content,
.page-155 .page-content { max-width: none !important; padding: 0 !important; }

.page-129 .page-main,
.page-130 .page-main,
.page-131 .page-main,
.page-145 .page-main,
.page-147 .page-main,
.page-148 .page-main,
.page-153 .page-main,
.page-154 .page-main,
.page-155 .page-main,
.page-166 .page-main,
.page-167 .page-main,
.page-168 .page-main { padding: 0 2.5rem; }

.page-129 .item-page, .page-130 .item-page, .page-131 .item-page,
.page-145 .item-page, .page-147 .item-page, .page-148 .item-page,
.page-153 .item-page, .page-154 .item-page, .page-155 .item-page,
.page-129 .com-content-article, .page-130 .com-content-article, .page-131 .com-content-article,
.page-145 .com-content-article, .page-147 .com-content-article, .page-148 .com-content-article,
.page-153 .com-content-article, .page-154 .com-content-article, .page-155 .com-content-article { max-width: none !important; padding: 0 !important; }

.page-129 .page-header, .page-130 .page-header, .page-131 .page-header,
.page-145 .page-header, .page-147 .page-header, .page-148 .page-header,
.page-153 .page-header, .page-154 .page-header, .page-155 .page-header { display: none; }

.legal-page { max-width: 72ch; padding: 4rem 0 6rem; font-family: var(--serif); }
.legal-title { font-family: var(--sans); font-weight: 400; font-size: clamp(2rem,3.5vw,3.5rem); line-height: 1.05; letter-spacing: -.01em; margin-bottom: .4rem; }
.legal-title em { font-family: var(--serif); font-style: italic; font-weight: 300; color: var(--ink); }
.legal-updated { font-family: var(--mono); font-size: .52rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); margin-bottom: 3rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--rule); }
.legal-page h2 { font-family: var(--sans); font-weight: 400; font-size: 1.3rem; letter-spacing: -.005em; color: var(--ink); margin: 2.5rem 0 .8rem; }
.legal-page h3 { font-family: var(--mono); font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--grey); margin: 1.8rem 0 .6rem; }
.legal-page p { font-family: var(--serif); font-weight: 300; font-size: 1rem; line-height: 1.82; color: #444440; margin-bottom: 1.2em; }
.legal-page ul, .legal-page ol { margin: 0 0 1.2em 1.5em; }
.legal-page li { font-family: var(--serif); font-weight: 300; font-size: 1rem; line-height: 1.75; color: #444440; margin-bottom: .4em; }
.legal-page strong { font-weight: 400; color: var(--ink); }
.legal-page a { color: var(--blue); text-decoration: none; border-bottom: 1px solid var(--blue-lt); }
.legal-page a:hover { border-color: var(--blue); }
.legal-contact { background: #f2f1ee; padding: 1.4rem; margin-top: 2rem; border-left: 2px solid var(--rule); }
.legal-contact p { margin-bottom: 0; }
.legal-note { background: var(--blue); padding: 1.4rem; margin-bottom: 2rem; border-left: 2px solid var(--rule); font-family: var(--serif); font-weight: 300; font-size: .88rem; line-height: 1.7; color: var(--white) !important; }



/* ══════════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════════ */

footer {
  background: var(--blue); color: var(--white);
  padding: 4rem 2.5rem 0;
  display: grid; grid-template-columns: 3fr 2fr 2fr 2fr;
  gap: 3rem 2rem;
  font-family: var(--mono); font-size: 0.58rem; letter-spacing: 0.12em; text-transform: uppercase;
}
.foot-brand { align-self: start; }
.foot-brand-name { font-family: var(--sans); font-weight: 300; font-size: 0.85rem; letter-spacing: 0.3em; color: var(--white); margin-bottom: 0.3rem; }
.foot-brand-sub { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: 0.7rem; letter-spacing: 0.04em; text-transform: none; color: rgba(255,255,255,0.5); margin-bottom: 1.2rem; }
.foot-socials { display: flex; gap: 1rem; align-items: center; }
.foot-socials a { color: rgba(255,255,255,0.4); text-decoration: none; transition: color .18s; display: flex; align-items: center; }
.foot-socials a:hover { color: var(--white); }
.foot-col { display: flex; flex-direction: column; gap: 0.8rem; align-self: start; }
.foot-col-label { color: rgba(255,255,255,0.4); margin-bottom: 0.4rem; font-size: 0.5rem; letter-spacing: 0.2em; }
.foot-col a { color: rgba(255,255,255,0.7); text-decoration: none; transition: color .18s; }
.foot-col a:hover { color: var(--white); }
.foot-bottom {
  grid-column: 1/-1; border-top: 1px solid rgba(255,255,255,0.15); padding: 1.5rem 0 2rem;
  display: flex; justify-content: space-between; align-items: center;
  color: rgba(255,255,255,0.3); font-size: 0.48rem; margin-top: 1rem;
}
.foot-bottom a { color: rgba(255,255,255,0.3); text-decoration: none; transition: color .18s; }
.foot-bottom a:hover { color: var(--white); }

/* ── Tävlingsresultat ─────────────────────────────── */

.results-home {
    padding: 4rem 2.5rem;
    border-top: 1px solid var(--rule);
}

.results-home .results-table-wrap {
    margin-top: 0;
}

.results-home .section-row {
    margin-bottom: 1.5rem;
}

.home-page .results-home .results-race-title {
    font-size: clamp(1rem, 1.4vw, 1.2rem);
    text-transform: none;
    font-weight: 400;
    letter-spacing: 0;
}
 
.results-module {
    margin: 0;
}
 
.results-race {
    margin-bottom: 3rem;
}
 
.results-race-header {
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--rule);
    padding-bottom: 0.5rem;
}
 
.results-race-title {
    font-family: var(--sans);
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--ink);
    margin: 0 0 0.25rem 0;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
 
.results-race-caption {
    font-family: var(--mono);
    font-size: 0.72rem;
    color: var(--grey);
    margin: 0;
}
 
.results-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
 
.results-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--sans);
    font-size: 0.9rem;
}
 
.results-table thead tr {
    border-bottom: 2px solid var(--ink);
}
 
.results-table th {
    font-family: var(--mono);
    font-size: 0.7rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--ink);
    padding: 0.4rem 0.75rem 0.4rem 0;
    text-align: left;
    white-space: nowrap;
}
 
.results-table td {
    padding: 0.5rem 0.75rem 0.5rem 0;
    
    border-bottom: 1px solid var(--rule);
    vertical-align: middle;
    color: var(--ink);
}
 
/* Alternating rows */
.results-row.even td {
    background: transparent;
}
.results-row.odd td {
    background: var(--blue-lt);
}


 
/* Top 3 rank highlight */
.results-row.rank-1 .col-rank {
    color: var(--blue);
    font-weight: 700;
}
.results-row.rank-2 .col-rank,
.results-row.rank-3 .col-rank {
    font-weight: 700;
}

.results-mobile-link {
    display: none;
}

.results-table .col-rank {
    padding-left: 0.75rem !important;
}

/* ── Results on Evenemang Page── */
.page-114 #results,
.page-139 #results,
.page-156 #results {
    padding: 4rem 0;
    border-top: 1px solid var(--ink);
    margin-top: 2rem;
}

.page-114 #results .results-race-title,
.page-139 #results .results-race-title,
.page-156 #results .results-race-title {
    font-family: var(--sans);
    font-weight: 400;
    font-size: clamp(1.6rem, 2.5vw, 2.4rem);
    text-transform: none;
    letter-spacing: -0.01em;
    margin-bottom: 0.25rem;
}

.page-114 #results .results-race-caption,
.page-139 #results .results-race-caption,
.page-156 #results .results-race-caption,
{
  display: none;
    margin-bottom: 1.5rem;
}

/* Column widths */
.col-rank   { width: 3rem; }
.col-sailno { width: 4rem; padding-right: 1.5rem;}
.col-boat   { min-width: 6rem; }
.col-class  { min-width: 8rem; color: var(--grey); }
.col-club   { width: 4rem; }
.col-helm   { min-width: 8rem; }
.col-nett   { width: 4rem; text-align: right; font-family: var(--mono); }
 
.results-empty {
    font-family: var(--sans);
    color: var(--grey);
    font-size: 0.9rem;
}

/*
.home-page .results-all-link {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 300;
    font-size: clamp(1.3rem, 2.5vw, 2.4rem);
    letter-spacing: 0;
    text-transform: none;
    color: var(--blue);
}

.home-page .results-all-link:hover {
    color: var(--blue);
    opacity: 1;
}

*/

.home-page .results-all-link {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 300;
    font-size: clamp(1.3rem, 2.5vw, 2.4rem);
    letter-spacing: 0;
    text-transform: none;
    color: var(--blue);
    border-bottom: 1px solid var(--blue-lt);
    transition: border-color 0.18s;
}

.home-page .results-all-link:hover {
    border-bottom-color: var(--blue);
    opacity: 1;
}

.results-all-link,
.results-mobile-link {
    text-decoration: none;
    border-bottom: none;
}

.results-all-link:hover,
.results-mobile-link:hover {
    text-decoration: none;
    border-bottom: none;
    opacity: 0.7;
}

/* ══════════════════════════════════════════════════════════════
   MOBILE NAV
   ══════════════════════════════════════════════════════════════ */

.nav-hamburger { display: none; }

@media (max-width: 768px) {
    html {
        overflow-x: hidden;
        width: 100%;
    }
    body {
        padding-top: 3.4rem;
        font-size: 18px;
    }

/* ── OPTICAL SIZING & WEIGHT FOR NEWSREADER ── */
.husrf-ev-description p,
.husrf-ev-aside-note,
.uth-info-block p,
.uth-contact-alt,
.uth-ph-desc,
.rcp-story-text,
.rcp-step-text,
.rcp-rc-desc,
.article-body p,
.legal-page p,
.bav-prose p,
.mem-step-desc,
.mem-ck-label,
.gb-sd,
.gb-hi-t,
.cta-body,
.news-card-body-text,
.rcp-ing-name,
.rcp-ing-amount,
.rcp-rc-desc,
.rcp-hero-sub,
.rcp-tip-text,
.rcp-rel-desc,
.rcp-ph-desc, 
.about-text p {
    font-weight: 400;
    font-optical-sizing: auto;
    font-size: 1.1rem;
    line-height: 1.85;
}


nav.pagenavigation {
    display: none;
}

  
  
nav.site-nav {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 100;
        padding: 0 1.5rem !important;
    }

.nav-mark {
        display: none;
    }
  
  .nav-logo {
    font-size: 0.7rem;
    letter-spacing: 0.2em;
    white-space: nowrap;
}
  
    .nav-links { display: none; }
    .nav-right { display: none; }
    .nav-hamburger {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        background: none;
        border: none;
        cursor: pointer;
        padding: 4px;
        margin-left: auto;
    }
    .nav-hamburger span {
        display: block;
        width: 22px;
        height: 1.5px;
        background: var(--blue);
        transition: transform .25s ease, opacity .25s ease;
        transform-origin: center;
    }
    .nav-hamburger.is-open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
    .nav-hamburger.is-open span:nth-child(2) { opacity: 0; }
    .nav-hamburger.is-open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }


.nav-mobile-overlay {
    display: flex;
    position: fixed;
    top: 3.4rem;
    left: 0;
    right: 0;
    height: calc(100dvh - 3.4rem);
    background: var(--white);
    z-index: 99;
    flex-direction: column;
    transform: translateY(-120%);
    transition: transform .3s cubic-bezier(.4,0,.2,1);
   /* border-top: 1px solid var(--rule); */
    overflow-y: auto;
}
    .nav-mobile-overlay.is-open { transform: translateY(0); }
.nav-mobile-inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 2rem;
    height: 100%;
    padding: 2rem 1.5rem 3rem;
    box-sizing: border-box;
}
    .nav-mobile-links {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

nav.nav-mobile-links {
    position: static;
    height: auto;
    border: none;
    background: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    grid-template-columns: unset;
}    
  
.nav-mobile-links a {
    font-family: var(--mono);
    text-transform: uppercase;
   /* font-weight: 400; */
    font-size: 1.8rem;
    line-height: 1;
    letter-spacing: 0.05em;
    color: var(--blue) !important;
    text-decoration: none;
    padding: 1rem 0;
   /* border-bottom: 1px solid var(--rule); */
    transition: color .15s;
    display: block;
    text-align: left;
    width: 100%;
}

.nav-kompass {
    font-family: 'Newsreader', Georgia, serif !important;
    font-style: italic;
    font-size: 2.8rem;
    letter-spacing: 0em;
    text-transform: none !important;
    font-weight: 400;
    padding-top: 0.8rem;
}
  
    .nav-mobile-links a:first-child { /*border-top: 1px solid var(--rule); */}
    .nav-mobile-links a:hover { color: var(--blue); }

  
.nav-mobile-footer {
    margin-top: auto;
    padding-bottom: 1rem !important;
    border-top: none;
}

.nav-mobile-footer .mod-languages__list {
        justify-content: center;
        gap: 2.5rem;
    }

    .nav-mobile-footer .mod-languages__list a {
        font-family: var(--mono);
        font-size: 1.1rem !important;
        letter-spacing: 0.2em;
        color: var(--blue) !important;
        padding-top: 0 !important;
    }

    .nav-mobile-footer .mod-languages__list .lang-active a {
        color: var(--orange) !important;
    }
  
    .nav-mobile-cta {
        display: block;
        font-family: var(--mono);
        font-size: .7rem;
        letter-spacing: .14em;
        text-transform: uppercase;
        background: var(--blue);
        color: var(--white) !important;
        text-decoration: none;
        padding: 1rem 1.5rem;
        text-align: center;
        transition: background .18s;
    }
    .nav-mobile-cta:hover { background: var(--blue-dk); }

    /* Body scroll lock when menu open */
    body.nav-open { overflow: hidden; }

  

/* ── HERO ── */

#wind-canvas { display: none; }



.hero {
    min-height: 70vh;
    display: flex;
    flex-direction: column;
    padding: 0 1.5rem;
    grid-template-columns: 1fr;
}

.hero-eyebrow{
  display: none;
}  
  
.hero-spacer { display: none; }
.hero-main {
    grid-column: 1 / -1;
    padding: 2.5rem 0 2rem;
    align-self: center;
}
.hero-main h1 {
    font-size: clamp(3.5rem, 18vw, 6rem);
    padding-bottom: 2rem;
}
/*
.hero-body {
    font-size: 0.95rem;
    max-width: 100%;
}
*/

.hero-body {
  display: none;
}
/* ── Hero actions stack ── */
.hero-actions {
  
    width: 100%;
    margin-top: 2rem;
    flex-direction: column;
    align-items: flex-start;
    
    gap: 1.2rem;
}

  

/* ── Hide weather bar on mobile ── */
.hero-meta { display: none; }

.hero-aside { display: none; }
.hero-bottom { display: none; }

 .hero::after {
        display: none;
    } 
/*
.masthead-img::after {
        display: none !important;
    }  

.masthead-img img {
    filter: none !important;
}  
*/
.page-h1 {
    font-size: clamp(3rem, 12vw, 5rem);
    
}



  .btn-primary {
        width: 100%;
        text-align: center;
        font-size: 0.75rem;
        letter-spacing: 0.18em;
        padding: 1.1rem 1.8rem;
        text-shadow: none;
        border-width: 2px;
        background: rgba(255,255,255,0.15);
    }

    .btn-secondary {
        display: inline-block;
        width: 100%;
        text-align: center;
        font-size: 0.75rem;
        letter-spacing: 0.18em;
        border: 2px solid var(--orange);
        color: var(--white) !important;
        padding: 1.1rem 1.8rem;
        text-decoration: none;
        text-shadow: none;
        background: var(--orange);
    }

/* ── CAROUSELS ── */

  
.ed-carousel {
    grid-template-columns: 1fr;
    height: 28vh;
    min-height: 200px;
}
 

  .ed-stage {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
  
.ed-col-label { display: none; }
.ed-col-action { display: none; }
.ed-slide-label { display: block; }  
.ed-slide {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 0 1.5rem;
}
.ed-title {
    font-size: clamp(2.2rem, 10vw, 4rem);
    text-align: center;
}

/* ── MOBILE WEATHER ── */
.weather {
    padding: 2rem 0;
}
    .wx-met--gust { display: none; }
    .wx-met--wp { display: none; }
    .wx-met--dir { grid-column: 1 / -1; }
    .wx-met--wd { grid-column: 1 / -1; }
    .wx-whead { display: flex; }  /* already there, keep it */
    .wx-whead .wx-wnote { display: none; } /* hide the coordinate note on mobile */
     
   /* .wx-header { display: none; } */
    .wx-title{ font-size: clamp(2.5rem, 3.8vw, 3.4rem);}
    .wx-note{ display: none;}
    .wx-timeline { display: none; }
    .wx-foot { display: none; }
    .weather { padding: 2rem 0; }
    .wx-station { padding: 1rem 1.5rem; }
        .wx-wavemets {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 1rem 1.5rem;
    }
   .wx-wave { padding: 0; }

/* hide desktop grid layout */
.wx-stations {
    grid-template-columns: 1fr;
    gap: 0;
    border: none;
    background: none;
    margin-bottom: 0;
}
.wx-station {
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--rule-dk);
}
.wx-shead { margin-bottom: 0.5rem; }
.wx-metrics {
    grid-template-columns: 1fr 1fr;
    gap: 4px;
}



  
/* hide what we don't want */
.wx-met--gust { display: none; }
.wx-met--dir { grid-column: 1 / -1; }


.wx-met--wp { display: none; }
.wx-met--wd { grid-column: 1; } 

/* ── NEWS SECTION ── */
.news {
    padding: 3rem 1.5rem;
}
.news-grid {
    grid-template-columns: 1fr;
}


  /* news-featured-body margins*/
.news-featured-body {  
    padding: 1.5rem 0.6rem;
}
.news-featured-card {
    border-right: none;
    border-bottom: 1px solid var(--ink);
    flex-direction: column;
}

.section-row {
    grid-template-columns: 1fr;
    gap: 1rem;
}
.section-num { display: none; }
.section-note { display: none; }
.section-title {
    font-size: clamp(2.5rem, 10vw, 4rem);
    grid-column: 1 / -1;
}

.news-card-date{
  display: none;
}
  
.news-stack {
    border-top: 1px solid var(--rule);
}
.news-stack-card {
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--rule);
}
.news-stack-card .news-card-title {
    font-size: clamp(1.3rem, 5vw, 1.8rem);
}

.news-card-body-text { display: none !important; }
.news-featured-img { display: none !important; }

.news-card-title {
    font-size: clamp(1.5rem, 6vw, 2.2rem);
    line-height: 1.15;
}

.news-cat {
    font-size: 0.7rem;
}

.husrf-ev-title {
    font-size: clamp(2rem, 10vw, 4rem);
}

/* ── FRONTPAGE CALENDAR BLOCK ── */

.calendar .section-row {
    margin-bottom: 1rem;
}

.calendar { padding: 3rem 1.5rem; }
.cal-cols { display: none; }
.cal-row {
    grid-template-columns: 5rem 1fr auto;
    padding: 1rem 1.5rem;
    margin: 0 -1.5rem;
}
.cal-class { display: none; }
.cal-area { display: none; }
.cal-date { font-size: 0.58rem; }
.cal-name { font-size: 0.95rem; }

/* ── ABOUT SECTION ── */
.about {
    padding: 3rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.about-label { display: none; }
.about-headline {
    grid-column: unset;
    font-size: clamp(2.5rem, 10vw, 4rem);
}
.about-text {
    grid-column: unset;
    padding: 0;
    border-left: none;
    border-top: 1px solid var(--ink);
    padding-top: 1.5rem;
}
.about-stats {
    grid-column: unset;
    padding-left: 0;
    border-left: none;
    border-top: 1px solid var(--ink);
    padding-top: 1.5rem;
    flex-direction: column;   
    flex-wrap: wrap;
    gap: 1.5rem;
   align-items: center;
    text-align: center;
}

p, .hero-body, .news-card-body-text,
.about-text p, .bav-prose {
    font-size: 1.15rem;
    line-height: 1.85;

}


    .article-body p:first-child::first-letter {
        initial-letter: unset;
        font-size: inherit;
        font-family: inherit;
        float: none;
        padding-right: 0;
        color: inherit;
    }  

  
/* ── CTA BAND ── */
.cta-band {
    grid-template-columns: 1fr;
}

.cta-band:has(> .cta-card:only-child) {
    grid-template-columns: 1fr;
}

.cta-band:has(> .cta-card:only-child) .cta-card {
    max-width: 640px;
}
/* only membership cta mod */  
.cta-card {
    padding: 2.5rem 1.5rem;
}

    .cta-membership-section {
        padding: 2.5rem 1.5rem;
    }
    .cta-membership-section .section-row {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }
    .cta-membership-section .section-num { display: none; }


  
/* ── EVENEMANG LIST (page-114, 139, 154) ── */
.page-114 .page-main,
.page-139 .page-main,
.page-154 .page-main {
    padding: 0 1.5rem;
}
.husrf-tavlingar-wrap h1,
.husrf-tavlingar-wrap .section-sub {
    padding-left: 0;
}
.husrf-tavlingar-wrap {
    padding: 2rem 0 4rem;
}
.ev-header {
    display: none;
}
.ev-row,
a.ev-row {
    grid-template-columns: 4rem 1fr;
    padding: 1.2rem 0;
    gap: 0.8rem;
    align-items: start;
}
.ev-col-cal { display: none; }
.ev-col-area { display: none; }
.ev-col-date {
    font-size: 0.55rem;
    line-height: 1.4;
    padding-top: 0.2rem;
    padding-left: 0.2rem;
}
.ev-col-event {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.ev-col-status {
    grid-column: 2;
    text-align: left;
    padding: 0;
}
.ev-name {
    font-size: 1rem;
    line-height: 1.3;
}
.pill {
    font-size: 0.44rem;
    padding: 0.18rem 0.35rem;
    white-space: nowrap;
    align-self: flex-start;
}

/* ── EVENT DETAIL (page-133, 164, 165) ── */
.page-133 .page-main,
.page-164 .page-main,
.page-165 .page-main {
    padding: 0 1.5rem;
}

.page-164 .page-content,
.page-165 .page-content { max-width: none; padding: 0; }

.husrf-ev-header {
    margin: 0 -1.5rem;
    padding: 2rem 1.5rem;
}
.husrf-ev-header-inner {
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
}
.husrf-ev-header-right {
    text-align: left;
}
.husrf-ev-big-date {
    align-items: baseline;
    flex-direction: row;
    gap: 0.5rem;
}
.husrf-ev-strip {
    margin: 0 -1.5rem;
    flex-direction: column;
}
.husrf-ev-strip-cell {
    border-right: none;
    border-bottom: 1px solid var(--rule);
    padding: 1rem 1.5rem;
}
.husrf-ev-strip-cell:last-child {
    border-bottom: none;
}
.husrf-ev-body {
    grid-template-columns: 1fr;
    padding-top: 2rem;
    gap: 2rem;
}
.husrf-ev-col-main {
    padding-right: 0;
    border-right: none;
}
.husrf-ev-col-aside {
    padding-left: 0;
    position: static;
    border-top: 1px solid var(--rule);
    padding-top: 2rem;
}
.husrf-ev-title {
    font-size: clamp(2rem, 10vw, 4rem);
}
.husrf-ev-strip-val { font-size: 1.1rem; }
.husrf-ev-aside-key { font-size: 0.6rem; }
.husrf-ev-aside-val { font-size: 1.05rem; }
.husrf-ev-dl-key { font-size: 0.6rem; }
.husrf-ev-dl-val { font-size: 1.05rem; }
.husrf-ev-loc-name { font-size: 0.8rem; }
.husrf-ev-loc-city { font-size: 1rem; }
.husrf-ev-aside-card-title { font-size: 1.1rem; }
.husrf-ev-aside-next-title { font-size: 1.2rem; }
.husrf-ev-aside-next {
    margin-bottom: 4rem;
}
/* ── UTHYRNING (page-116) ── */
.uth-page {
    padding: 2rem 1.5rem 4rem;
}
.uth-header {
    grid-template-columns: 1fr;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    margin: 0 -1.5rem;
    gap: 1rem;
    border-bottom: 0px;
}
.uth-ph-num { display: none; }
.uth-ph-title {
    grid-column: 1/-1;
    font-size: clamp(2.5rem, 10vw, 4rem);
}
.uth-ph-desc {
    grid-column: 1/-1;
    padding-left: 0;
    border-left: none;
    border-top: 1px solid var(--rule);
    padding-top: 1rem;
}
.uth-tab-bar {
    margin: 0 -1.5rem;
    padding: 0 1.5rem;
    overflow-x: auto;
}
.uth-two-col {
    grid-template-columns: 1fr;
}
.uth-col-left {
    padding-right: 0;
}
.uth-col-right {
    border-left: none;
    padding-left: 0;
    border-top: 1px solid var(--rule);
    padding-top: 2rem;
}
.uth-price-grid {
    grid-template-columns: 1fr 1fr;
}
.uth-pc-price {
    font-size: 2rem;
}
.uth-mode-toggle {
    grid-template-columns: 1fr 1fr;
}

.uth-options-label {
    font-size: 0.42rem;
    margin-bottom: 0.5rem;
}
.uth-options-intro {
    margin-bottom: 1.5rem;
}
  
.uth-option-card {
    padding: 1rem;
}
.uth-oc-title {
    font-size: 1.05rem;
}
.uth-two-col {
    grid-template-columns: 1fr;
}  


    .uth-ms-btn {
        width: 100%;
        text-align: center;
    }
  
 .uth-spec-row {
        flex-direction: column;
        gap: 0.3rem;
    }

.uth-cal-nav {
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        gap: 0.5rem;
    }

    .uth-cal-month {
        order: -1;
        width: 100%;
        text-align: center;
        font-size: 0.95rem;
    }

    .uth-cal-arrow {
        flex: 1;
        font-size: 0;
        padding: 0.5rem 0;
        text-align: center;

    }

    .uth-cal-arrow[data-dir="prev"]::after {
        content: '←';
        font-size: 1rem;
     
    }

    .uth-cal-arrow[data-dir="next"]::after {
        content: '→';
        font-size: 1rem;
     
    }

/* ── NYHETER / LOGGBOKEN (page-115/119) ── */
.page-115 .page-main,
.page-119 .page-main {
    padding: 0 1.5rem;
}

.page-115 nav.site-nav,
.page-119 nav.site-nav {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    padding: 0 1.5rem !important;
}  



  
.husrf-news-grid {
    grid-template-columns: 1fr;
}
.husrf-news-card-wrap {
    border-right: none;
    border-bottom: 1px solid var(--rule);
}
.husrf-news-card-wrap:last-child {
    border-bottom: none;
}
.news-card-link {
    padding: 1.5rem 0;
}
.page-115 .item-page p,
.page-119 .item-page p {
    font-size: 1.1rem;
    line-height: 1.85;
    font-weight: 400;
    font-optical-sizing: auto;
}
.page-115 .item-page h1,
.page-115 .item-page h2,
.page-119 .item-page h1,
.page-119 .item-page h2 {
    font-size: clamp(2rem, 8vw, 3.5rem);
}
.page-119 .husrf-news-card-wrap {
    border-bottom-color: rgba(0,0,0,.08);
}  



.page-115 .pager-nav,
.page-119 .pager-nav,
.page-115 .com-content-article__pagination,
.page-119 .com-content-article__pagination,
.page-115 .pagination,
.page-119 .pagination {
    display: none;
}  

/* ── RECEPT (page-132) ── */

.page-132 .rcp-header {
    padding-top: 3rem;
}  

.rcp-grid {
    margin-bottom: 0;
}
.page-132 .page-content {
    padding-bottom: 0;
}   
  
.rcp-header {
    grid-template-columns: 1fr;
    padding: 2.5rem 1.5rem 2rem;
}
.rcp-ph-num { display: none; }
.rcp-ph-title {
    grid-column: 1/-1;
    font-size: clamp(2.5rem, 10vw, 4rem);
}
.rcp-ph-desc {
    grid-column: 1/-1;
    padding-left: 0;
    border-left: none;
    border-top: 1px solid var(--rule);
    padding-top: 1rem;
    font-optical-sizing: auto;
    font-weight: 400;
}
.rcp-grid {
    grid-template-columns: 1fr;
}
.rcp-recipe-card {
    grid-column: span 12;
    border-right: none;
    border-bottom: 1px solid var(--rule);
}
.rcp-hero {
    grid-template-columns: 1fr;
    min-height: auto;
}
.rcp-hero-img {
    grid-column: 1/-1;
    min-height: 240px;
}
.rcp-hero-body {
    grid-column: 1/-1;
    padding: 2rem 1.5rem;
    border-left: none;
    border-top: 1px solid var(--rule);
}
.rcp-body {
    grid-template-columns: 1fr;
    padding: 2.5rem 1.5rem;
    gap: 2rem;
}
.rcp-story {
    grid-column: 1/-1;
    padding-right: 0;
    border-right: none;
    border-bottom: 1px solid var(--rule);
    padding-bottom: 2rem;
}
.rcp-story-text p {
    font-optical-sizing: auto;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.85;
}
.rcp-ingredients {
    grid-column: 1/-1;
    padding: 0;
    border-right: none;
    border-bottom: 1px solid var(--rule);
    padding-bottom: 2rem;
}
.rcp-method {
    grid-column: 1/-1;
    padding-left: 0;
}
.rcp-step-text {
    font-optical-sizing: auto;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.85;
}
.rcp-tips-inner {
    padding-left: 0;
}
.rcp-tips-grid {
    grid-template-columns: 1fr;
}
.rcp-related-grid {
    grid-template-columns: 1fr;
}
.rcp-category {
    padding: 2.5rem 1.5rem 0;
}
.rcp-cat-hd {
    grid-template-columns: 1fr;
}
.rcp-cat-num { display: none; }
.rcp-cat-title { grid-column: 1/-1; 
                 font-size: clamp(2rem, 8vw, 3rem);
               }
.rcp-cat-note { display: none; }  

.rcp-category:last-of-type {
    padding-bottom: 0;
}

.page-132 .nav-mobile-links a {
    background: transparent !important;
    color: var(--ink) !important;
}
.page-132 .nav-mobile-overlay,
.page-132 .nav-mobile-inner,
.page-132 .nav-mobile-links {
    background: #fefefe !important;
}  

/* ── BLI MEDLEM (page-118) ── */
.mem-page {
    grid-template-columns: 1fr;
    min-height: auto;
}
.mem-left {
    position: static;
    height: auto;
    padding: 2.5rem 1.5rem;
    padding-bottom: 4rem;
    min-height: auto;
}
.mem-left-ghost { display: none; }
.mem-prog { display: none; }
.mem-tiers { display: none; }
.mem-left-body { display: none; }
.mem-left-h {
    font-size: clamp(2.8rem, 11vw, 3.8rem);
}

  .mem-left-h br {
        display: none;
    }
  
.mem-right {
    padding: 2.5rem 1.5rem 4rem;
    max-width: 100%;
}
.mem-step-h {
    font-size: clamp(1.8rem, 7vw, 2.8rem);
}
.mem-type-grid {
    grid-template-columns: 1fr;
}
.mem-f2 { grid-template-columns: 1fr; }
.mem-f3 { grid-template-columns: 1fr; }
.mem-step-nav {
    flex-direction: column-reverse;
    gap: 1rem;
    align-items: stretch;
}
.mem-btn-next {
    width: 100%;
    padding: 1rem;
    text-align: center;
}
.mem-btn-back {
    text-align: center;
}
.mem-step-desc {
    font-optical-sizing: auto;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.85;
}  



/* ── GASTBÖRSEN (page-128) ── */
.gb-page {
    grid-template-columns: 1fr;
    min-height: auto;
}
.gb-left {
    position: static;
    height: auto;
    padding: 2.5rem 1.5rem;
    min-height: auto;
}
.gb-left-ghost { display: none; }
.gb-how { display: none; }
.gb-prog { display: none; }
.gb-left-body { display: none; }
.gb-left-h {
    font-size: clamp(2rem, 8vw, 3rem);
}
.gb-right {
    padding: 2.5rem 1.5rem 4rem;
    max-width: 100%;
}
.gb-sh {
    font-size: clamp(1.8rem, 7vw, 2.8rem);
}
.gb-av-grid {
    grid-template-columns: 1fr 1fr;
}
.gb-av-grid.gb-three {
    grid-template-columns: 1fr 1fr;
}
.gb-months {
    grid-template-columns: repeat(4, 1fr);
}
.gb-f2 { grid-template-columns: 1fr; }
.gb-snav {
    flex-direction: column-reverse;
    gap: 1rem;
    align-items: stretch;
}
.gb-btn-next {
    width: 100%;
    padding: 1rem;
    text-align: center;
}
.gb-btn-back {
    text-align: center;
}
.gb-sd {
    font-optical-sizing: auto;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.85;
}  

/* ── BUTIK (page-117) ── */
.bk-header {
    grid-template-columns: 1fr;
    padding: 2.5rem 1.5rem 2rem;
}
.bk-ph-num { display: none; }
.bk-ph-title {
    grid-column: 1/-1;
    font-size: clamp(2.5rem, 10vw, 4rem);
}
.bk-ph-desc {
    grid-column: 1/-1;
    padding-left: 0;
    border-left: none;
    border-top: 1px solid var(--rule);
    padding-top: 1rem;
    font-optical-sizing: auto;
    font-weight: 400;
}
.bk-filter-bar {
    padding: 1rem 1.5rem;
    overflow-x: auto;
    top: 3.4rem;
}
.bk-products {
    grid-template-columns: 1fr 1fr;
    margin: 0;
}
.bk-shop-main {
    padding: 0 0 4rem;
}
.bk-cart-drawer {
    width: 100%;
    right: -100%;
}
.bk-modal {
    width: 100%;
    top: auto;
    bottom: 0;
    left: 0;
    transform: none;
    max-height: 90vh;
    border-radius: 0;
}
.bk-modal.bk-open {
    transform: none;
}
.bk-modal-inner {
    grid-template-columns: 1fr;
}
.bk-modal-img {
    min-height: 200px;
}
.bk-order-modal {
    width: 100%;
    top: auto;
    bottom: 0;
    left: 0;
    transform: none;
    max-height: 92vh;
}
.bk-order-modal.bk-open {
    transform: none;
}  

/* ── OM KLUBBEN (page-113) ── */
.about-page-layout .page-content {
    padding: 0 1.5rem;
}
.masthead { margin: 0 -1.5rem; }
.masthead-img { aspect-ratio: 4/3; }
.masthead-caption {
    grid-template-columns: 1fr;
    padding: 0 1.5rem 2rem;
}
.mc-title {
    grid-column: 1/-1;
    font-size: clamp(2.5rem, 10vw, 5rem);
}
.mc-credit { display: none; }

.byline {
    grid-template-columns: 1fr;
    margin: 0 -1.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    gap: 0.5rem;
}
.bl-left {
    grid-column: 1/-1;
    gap: 1rem;
}
.bl-right { display: none; }

.article {
    display: block;
    padding: 2.5rem 0;
}
.article-body {
    display: block;
    width: 100%;
}
.article-body p {
    font-size: 1.1rem;
    line-height: 1.85;
    font-optical-sizing: auto;
    font-weight: 400;
}
    .article-body p:first-child::first-letter {
        initial-letter: normal;
        padding-right: 0;
    }
  
.article-aside {
    display: none;
}

.pull-quote {
    display: block;
    width: 100%;
    padding: 2rem 0 2rem 1.5rem;
    margin: 1.5rem 0;
}
.pull-quote::before { display: none; }
.pq-text {
    font-size: clamp(1.2rem, 5vw, 1.8rem);
    padding-left: 0;
    border-left: 2px solid var(--blue);
    padding-left: 1rem;
}
.pq-attr { padding-left: 1rem; }

.history { margin: 0 -1.5rem; }
.history-intro {
    grid-template-columns: 1fr;
    padding: 2.5rem 1.5rem;
}
.hi-eyebrow { grid-column: 1/-1; }
.hi-title { grid-column: 1/-1; }
.hi-body {
    grid-column: 1/-1;
    padding-left: 0;
    border-left: none;
    border-top: 1px solid var(--rule);
    padding-top: 1.5rem;
    font-optical-sizing: auto;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.85;
}

.timeline { padding: 0 1.5rem; }
.tl-entry {
    display: block;
    padding: 2rem 0;
    border-bottom: 1px solid var(--rule);
}

.tl-year {
    display: block;
    margin-bottom: 0.5rem;
}  
  
.tl-content {
    display: block;
    width: 100%;
    padding-left: 0;
    border-left: none;
    border-top: 1px solid var(--rule);
    padding-top: 1rem;
}
.tl-text {
    display: block;
    width: 100%;
    max-width: 100%;
    font-optical-sizing: auto;
    font-weight: 400;
    font-size: 1.05rem;
    line-height: 1.85;
}

.tl-imgs {
    grid-template-columns: 1fr;
}  

.board {
    padding: 2.5rem 1.5rem;
    grid-template-columns: 1fr;
    margin: 0 -1.5rem;
}
.btable tr { display: block; padding: 1rem 0; border-top: 1px solid var(--ink); }
.btable tr:last-child { border-bottom: 1px solid var(--ink); }
.btable td { display: block; width: auto; padding: 0; }
.btable td:first-child { font-size: .58rem; margin-bottom: .3rem; }
.btable td:nth-child(2) { font-size: 1.05rem; margin-bottom: .4rem; }
.btable td:nth-child(3) { margin-bottom: .2rem; }
.btable td:last-child { margin-bottom: 0; }
.location {
    grid-template-columns: 1fr;
    margin: 0 -1.5rem;
}
.loc-text {
    grid-column: 1/-1;
    padding: 2.5rem 1.5rem;
    border-right: none;
    border-bottom: 1px solid var(--rule);
}
.loc-map {
    grid-column: 1/-1;
    min-height: 280px;
}

/* ── BRA ATT VETA (page-130) ── */
.page-130 .page-main {
    padding: 0 1.5rem;
}
.bav-header {
    display: block;
    padding: 2.5rem 0 2rem;
}
.bav-ph-title {
    font-size: clamp(2.5rem, 10vw, 4rem);
    margin-bottom: 0.5rem;
}
.bav-ph-desc {
    padding-left: 0;
    border-left: none;
    border-top: 1px solid var(--rule);
    padding-top: 1rem;
    margin-top: 1rem;
    font-optical-sizing: auto;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.85;
}
.bav-nav {
    top: 3.4rem;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}
.bav-section {
    display: block;
    padding: 2.5rem 0;
}
.bav-sec-eyebrow {
    display: none;
}
.bav-sec-body {
    display: block;
    width: 100%;
}
.bav-prose p {
    font-optical-sizing: auto;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.85;
}
.bav-aside {
    display: none;
}
.bav-sec-title {
    font-size: clamp(2rem, 8vw, 3rem);
    margin-bottom: 1.2rem;
}
.bav-date-item {
    flex-direction: column;
    gap: 0.3rem;
}
.bav-date-key {
    min-width: unset;
}  


/* ── MOBILE FOOTER ── */

footer {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 3rem 1.5rem 0;
}
.foot-bottom {
    flex-direction: column;
    gap: 0.5rem;
    text-align: center;
}

/* ── VÄDER & VIND (page-134) — mobile only ── */
.page-134 nav.site-nav {
    background: var(--ink);
    border-bottom-color: var(--rule-dk);
}
.page-134 .nav-logo { color: var(--white); }
.page-134 .nav-hamburger span { background: var(--white); }
.page-134 .hero-meta { display: none; }
.page-134 footer { display: none; }
.page-134 .page-header { display: none; }
 

.page-134 .page-main { padding: 0 !important; }
.page-134 .container-main { padding: 0 !important; }
.page-134 #sp-main-body { padding: 0 !important; }
.page-134 .item-page { padding: 0 !important; margin: 0 !important; }  

  /* results mobile */

 .results-table th,
    .results-table td {
        padding: 0.4rem 0.5rem 0.4rem 0;
        font-size: 0.82rem;
    }
 
    /* Hide less critical columns on mobile */
    .col-club,
    .col-sailno {
        display: none;
    }  

  
}

 /* ← closes the @media (max-width: 768px) block */

@media (max-height: 500px) and (orientation: landscape) {
    nav.site-nav {
        padding: 0 1.5rem;
    }
}

@media (min-width: 769px) and (max-width: 1180px) {
    body {
        overflow-x: hidden;
    }
    
    /* Nav wrapping on tablet */
    nav.site-nav {
        padding: 0 1.5rem;
        height: auto;
        min-height: 3.4rem;
        flex-wrap: wrap;
    }
  
    .nav-logo {
        font-size: 0;
        
        white-space: nowrap;
    }


    .nav-links {
        gap: 1.2rem;
        font-size: 0.52rem;
    }
    .nav-right {
        gap: 1rem;
        font-size: 0.52rem;
    }
    
    /* Hero — reduce empty space */
    .hero {
        min-height: 60vh;
        padding: 0 2rem;
    }
    .hero-spacer { height: 1rem; }
    .hero-main {
        padding: 2.5rem 2rem 2.5rem 0;
    }
    
    /* Carousels — tighter */
    .ed-carousel {
        height: 18vh;
        min-height: 160px;
    }
    
    /* Weather padding */
    .weather {
        padding: 3rem 2rem;
    }
    
    /* Sections */
    .news, .calendar, .about {
        padding: 4rem 2rem;
    }
    
    /* Cal rows */
    .cal-row { padding: 1rem 2rem; margin: 0 -2rem; }
    
    /* Weather */
    .weather {
        padding: 3rem 1.5rem;
    }
    
    /* General sections */
    .news, .calendar, .about {
        padding: 4rem 1.5rem;
    }
    
    /* Fix any elements that might bleed */
    .cal-row {
        margin: 0 -1.5rem;
    }

  .uth-spec-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.3rem;
}

  .article-body p:first-child::first-letter {
        initial-letter: unset;
        font-size: inherit;
        font-family: inherit;
        float: none;
        padding-right: 0;
        color: inherit;
    }
  
}