/* Übersicht Saison 2027, im Stil der Vorschauseiten. Schriften lokal (SIL Open Font License). */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/cinzel-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/cinzel-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/cinzel-normal-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/cinzel-normal-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/cinzel-normal-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/cinzel-normal-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/source-serif-4-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/source-serif-4-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/source-serif-4-normal-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/source-serif-4-normal-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --nacht-900: #070e17; --nacht-800: #0b1622; --nacht-700: #13212f;
  --gold-100: #fbecc4; --gold-300: #d9be84; --gold-500: #c9a25c;
  --text: #e9e1cf; --text-leise: #b9b3a6;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--nacht-900); color: var(--text); font: 400 18px/1.6 'Source Serif 4', Georgia, serif; }
a { color: inherit; }
img { max-width: 100%; height: auto; display: block; }

.probe { background: #3a2a10; color: var(--gold-100); text-align: center; font: 600 13px/1.3 'Source Serif 4', serif; letter-spacing: .08em; padding: 8px 12px; }

.gold { background: linear-gradient(180deg, #fff3cf 0%, #e7c983 45%, #b98a3e 100%); -webkit-background-clip: text; background-clip: text; color: transparent;
  font-family: 'Cinzel', serif; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; filter: drop-shadow(0 2px 6px rgba(0,0,0,.6)); }

/* Kopf mit gezeichneter Karte im Hintergrund */
.kopf { position: relative; text-align: center; padding: clamp(56px, 9vw, 120px) 20px clamp(40px, 6vw, 72px);
  background: radial-gradient(ellipse 60% 70% at 50% 40%, rgba(11,22,34,.55), rgba(7,14,23,.96) 75%), url(img/karte.webp) center / cover no-repeat; }
.kopf .absender { margin: 0 0 10px; font: 400 15px/1 'Cinzel', serif; letter-spacing: .32em; text-transform: uppercase; color: var(--gold-300); }
.kopf h1 { margin: 0; font-size: clamp(42px, 8vw, 104px); line-height: 1.02; }
.trenner { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 22px auto; max-width: 420px; }
.trenner::before, .trenner::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--gold-500), transparent); }
.trenner i { width: 10px; height: 10px; transform: rotate(45deg); background: var(--gold-500); box-shadow: 0 0 10px rgba(201,162,92,.6); }
.einleitung { max-width: 640px; margin: 0 auto; font-size: clamp(19px, 2vw, 22px); font-style: italic; color: var(--gold-100); }

/* Gruppen und Karten */
main { max-width: 1240px; margin: 0 auto; padding: 0 20px 40px; }
.gruppe { margin-top: clamp(40px, 6vw, 72px); }
.gruppe-titel { margin: 0 0 24px; text-align: center; font: 600 clamp(20px, 2.2vw, 26px)/1.2 'Cinzel', serif; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-300); }
.karten { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 3vw, 36px); }
.karte { --akzent: var(--gold-500); display: flex; flex-direction: column; background: linear-gradient(180deg, var(--nacht-700), var(--nacht-800));
  border: 1px solid rgba(217,190,132,.28); border-top: 4px solid var(--akzent); border-radius: 6px; overflow: hidden;
  box-shadow: 0 18px 40px rgba(0,0,0,.5); transition: transform .25s ease, box-shadow .25s ease; }
.karte:hover { transform: translateY(-4px); box-shadow: 0 24px 50px rgba(0,0,0,.6); }
.karte.metropol { --akzent: #3d74b0; }
.karte.vorstellung { --akzent: #a3283a; }
.karte.roadquest { --akzent: #5a9a4a; }
.karte.fahrt { --akzent: #2a8a86; }
.karte .bild { display: block; aspect-ratio: 1200 / 630; overflow: hidden; }
.karte .bild img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.karte:hover .bild img { transform: scale(1.03); }
.inhalt { display: flex; flex-direction: column; flex: 1; padding: 22px 24px 26px; }
.art { font: 600 13px/1.3 'Source Serif 4', serif; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-300); }
.karte h3 { margin: 8px 0 10px; font: 700 clamp(24px, 2.4vw, 30px)/1.15 'Cinzel', serif; color: var(--gold-100); hyphens: auto; overflow-wrap: break-word; }
.karte h3 a { text-decoration: none; }
.karte h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.karte p { margin: 0 0 12px; font-size: 18px; }
.karte .orte { margin-top: auto; padding-top: 4px; font-size: 15px; letter-spacing: .06em; color: var(--text-leise); }
.knoepfe { display: flex; flex-wrap: wrap; gap: 12px; }
.knopf { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 22px; border-radius: 3px; text-decoration: none;
  font: 600 15px/1 'Cinzel', serif; letter-spacing: .08em; text-transform: uppercase; color: #1b1206;
  background: linear-gradient(180deg, #f3d996, #c9a25c); border: 1px solid #8a6a2e; box-shadow: 0 6px 14px rgba(0,0,0,.4); align-self: flex-start; }
.knopf:hover { filter: brightness(1.08); }
.knopf.neben { color: var(--gold-100); background: transparent; border-color: var(--gold-500); }
.knopf:focus-visible, .karte a:focus-visible { outline: 2px solid var(--gold-100); outline-offset: 3px; }

.fuss { margin-top: 56px; padding: 40px 20px; text-align: center; font-size: 14px; color: var(--text-leise); border-top: 1px solid rgba(217,190,132,.2); background: var(--nacht-800); }
.fuss p { margin: 4px 0; }
.fuss .recht { margin-top: 10px; font-size: 13px; }
.fuss .recht a { color: var(--gold-300); text-decoration: none; display: inline-block; padding: 12px 2px; }
.fuss .recht a:hover { text-decoration: underline; }

@media (max-width: 820px) {
  .karten { grid-template-columns: minmax(0, 1fr); }
  .inhalt { padding: 20px 18px 22px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .karte, .karte .bild img { transition: none; }
  .karte:hover, .karte:hover .bild img { transform: none; }
}
