/* Saison-Themes der Startseite (Karte 03F29385, Konzept AE632678, Holger 21.10.2026).
   Nur geladen, wenn ein Theme aktiv ist (Body-Klasse theme-<name>, de/func/home_theme_func.php).
   Ändert Hinweisleiste, Hero (Bild/Texte aus dem Template, Überlagerung, Deko-SVGs), Seitenhintergrund mit Muster,
   Vertrauensleiste, Badge an der ersten Inhaltskarte und Akzentfarben. Kaufknöpfe bleiben CI-Pink, Logo/Navigation/
   Produkte unverändert. Deko liegt nie über Text oder Knöpfen; Bewegung nur ohne „Bewegung reduzieren“. */

/* ── Farben/Flächen je Theme ── */
/* Halloween-Aktion 2026 (09B23A69): Farben aus der Freigabe Paket 176 – Violett #180A2D, Orange #FF7900, Acid-Grün #D2FF00, Creme #FFF8E7 */
body.theme-halloween {
  --th-page: #180a2d; --th-pattern: radial-gradient(rgba(255,121,0,.16) 1.6px, transparent 1.8px); --th-psize: 24px 24px;
  --th-bg: #180a2d; --th-ink: #fff8e7; --th-text: #fff8e7; --th-eyebrow: #d2ff00; --th-em: #ff7900; --th-card: #b34f00;
  --th-overlay: linear-gradient(90deg, rgba(24,10,45,.96) 0%, rgba(24,10,45,.82) 30%, rgba(24,10,45,0) 52%);
  --th-band-bg: #180a2d; --th-band-fg: #ff7900; --th-band-small: #fff8e7; --th-band-shadow: inset 0 -4px 0 #d2ff00;
  --th-trust-bg: #24113f; --th-trust-fg: #fff8e7; --th-trust-icon: #d2ff00; --th-rib-bg: #ff7900; --th-rib-fg: #180a2d;
}
body.theme-blackweek {
  --th-page: #0b0b0e; --th-pattern: repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 10px, transparent 10px 20px); --th-psize: auto;
  --th-bg: #0b0b0e; --th-ink: #fff; --th-text: #e2e2e8; --th-eyebrow: #ffe600; --th-em: #ffe600; --th-card: #c4006e;
  --th-overlay: linear-gradient(100deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.72) 45%, rgba(0,0,0,.25) 100%);
  --th-band-bg: #000; --th-band-fg: #fff; --th-band-small: #ffe600; --th-band-shadow: inset 0 -3px 0 #ed0b87, inset 0 3px 0 #ffe600;
  --th-trust-bg: #000; --th-trust-fg: #fff; --th-trust-icon: #ffe600; --th-rib-bg: #ffe600; --th-rib-fg: #000;
}
body.theme-meister {
  --th-page: #062640; --th-pattern: linear-gradient(rgba(16,184,199,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(16,184,199,.12) 1px, transparent 1px); --th-psize: 30px 30px;
  --th-bg: #062640; --th-ink: #fff; --th-text: #dff4f7; --th-eyebrow: #2ee6f0; --th-em: #2ee6f0; --th-card: #08737d;
  --th-overlay: radial-gradient(ellipse at 78% -10%, rgba(46,230,240,.3), transparent 55%), radial-gradient(ellipse at 40% -20%, rgba(237,11,135,.3), transparent 50%), linear-gradient(100deg, rgba(4,20,36,.95) 0%, rgba(6,38,64,.6) 55%, rgba(6,38,64,.2) 100%);
  --th-band-bg: linear-gradient(90deg, #10b8c7, #ed0b87); --th-band-fg: #fff; --th-band-small: #fff; --th-band-shadow: none;
  --th-trust-bg: #041424; --th-trust-fg: #c7f6fa; --th-trust-icon: #2ee6f0; --th-rib-bg: #062640; --th-rib-fg: #2ee6f0;
}
body.theme-weihnachten, body.theme-weihnachten-cheer {
  --th-page: #dfe7f1; --th-pattern: radial-gradient(rgba(255,255,255,.9) 1.4px, transparent 1.7px), radial-gradient(rgba(201,162,74,.35) 1.2px, transparent 1.5px); --th-psize: 28px 28px, 46px 46px;
  --th-bg: #e9f0f8; --th-ink: #0e2f5c; --th-text: #24456f; --th-eyebrow: #7d5f17; --th-em: #1f5fa8; --th-card: #1f5fa8;
  --th-overlay: linear-gradient(270deg, rgba(236,242,249,.94) 0%, rgba(236,242,249,.78) 36%, rgba(236,242,249,0) 66%);
  --th-band-bg: linear-gradient(90deg, #0e2f5c, #1f5fa8); --th-band-fg: #eef4fb; --th-band-small: #e9cf8a; --th-band-shadow: none;
  --th-trust-bg: #0e2f5c; --th-trust-fg: #e6eef8; --th-trust-icon: #e9cf8a; --th-rib-bg: #1f5fa8; --th-rib-fg: #fff;
}
body.theme-valentin {
  --th-page: #fde3ec; --th-pattern: radial-gradient(circle, rgba(212,23,73,.14) 2px, transparent 2.3px); --th-psize: 26px 26px;
  --th-bg: #fde9f1; --th-ink: #5b1030; --th-text: #6e2a45; --th-eyebrow: #b8124a; --th-em: #d0245e; --th-card: #b8124a;
  --th-overlay: linear-gradient(90deg, rgba(253,236,243,.94) 0%, rgba(253,236,243,.78) 36%, rgba(253,236,243,0) 66%);
  --th-band-bg: #b0123c; --th-band-fg: #fff; --th-band-small: #ffe3ec; --th-band-shadow: none;
  --th-trust-bg: #b0123c; --th-trust-fg: #ffe3ec; --th-trust-icon: #ffb3c9; --th-rib-bg: #ff4f7b; --th-rib-fg: #fff;
}
body.theme-ostern {
  --th-page: #d9f0e3; --th-pattern: radial-gradient(ellipse 5px 7px, rgba(123,92,214,.2) 96%, transparent 100%); --th-psize: 34px 34px;
  --th-bg: #f2f7e9; --th-ink: #4a348c; --th-text: #3f3466; --th-eyebrow: #5b3fb8; --th-em: #7b5cd6; --th-card: #5b3fb8;
  --th-overlay: linear-gradient(90deg, rgba(244,249,236,.94) 0%, rgba(244,249,236,.78) 36%, rgba(244,249,236,0) 66%);
  --th-band-bg: #7b5cd6; --th-band-fg: #fff; --th-band-small: #f6d55c; --th-band-shadow: none;
  --th-trust-bg: #f6d55c; --th-trust-fg: #3c3216; --th-trust-icon: #7b5cd6; --th-rib-bg: #f6d55c; --th-rib-fg: #3c3216;
}

/* Kollektionsstart (1350C607): Pink/Türkis/Navy/Weiß, schräge Schrift, Papierkante; Schrift OFL, selbst gehostet */
@font-face { font-family: "Barlow Condensed"; font-style: italic; font-weight: 700; font-display: swap; src: url(/fonts/barlow-condensed-latin-700-italic.woff2) format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-style: italic; font-weight: 800; font-display: swap; src: url(/fonts/barlow-condensed-latin-800-italic.woff2) format("woff2"); }
body.theme-kollektion {
  --th-page: #ffffff; --th-pattern: none; --th-psize: auto;
  --th-bg: #062640; --th-ink: #fff; --th-text: #e4edf4; --th-eyebrow: #10b8c7; --th-em: #fff; --th-card: #c4006e;
  --th-overlay: linear-gradient(90deg, rgba(6,38,64,.94) 0%, rgba(6,38,64,.8) 26%, rgba(6,38,64,0) 46%);
  --th-band-bg: #062640; --th-band-fg: #fff; --th-band-small: #fff; --th-band-shadow: none;
  --th-trust-bg: #fff; --th-trust-fg: #062640; --th-trust-icon: #ed0b87; --th-rib-bg: #c4006e; --th-rib-fg: #fff;
}

/* ── Seitenhintergrund mit Muster ── */
body.ui-v4-home[class*="theme-"] { background: var(--th-page); background-image: var(--th-pattern); background-size: var(--th-psize); }

/* ── Große Hinweisleiste über dem Hero ── */
.theme-band { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: 4px 14px; padding: 11px 16px;
  background: var(--th-band-bg); color: var(--th-band-fg); box-shadow: var(--th-band-shadow); text-align: center; }
.theme-band strong { font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 700; font-size: 22px; letter-spacing: .06em; text-transform: uppercase; line-height: 1.15; }
.theme-band small { font-size: 13px; font-weight: 600; color: var(--th-band-small); }

/* ── Hero ── */
body[class*="theme-"] .v4-hero { background: var(--th-bg); }
body[class*="theme-"] .v4-hero::after { background: var(--th-overlay); }
body[class*="theme-"] .v4-hero-inner { z-index: 2; }
body[class*="theme-"] .v4-hero .eyebrow { color: var(--th-eyebrow); }
body[class*="theme-"] .v4-hero-copy h1 { color: var(--th-ink); }
body[class*="theme-"] .v4-hero-copy h1 em { color: var(--th-em); }
body[class*="theme-"] .v4-hero-text { color: var(--th-text); }
body.theme-weihnachten .v4-hero .btn.secondary, body.theme-weihnachten-cheer .v4-hero .btn.secondary,
body.theme-valentin .v4-hero .btn.secondary, body.theme-ostern .v4-hero .btn.secondary { color: var(--th-ink); border-color: var(--th-ink); }
body.theme-weihnachten .v4-hero .btn.secondary:hover, body.theme-weihnachten-cheer .v4-hero .btn.secondary:hover,
body.theme-valentin .v4-hero .btn.secondary:hover, body.theme-ostern .v4-hero .btn.secondary:hover { background: var(--th-ink); color: #fff; }
/* Weihnachten: Motiv links, Text rechts (Medienpaket 57885D72) */
body.theme-weihnachten .v4-hero-inner, body.theme-weihnachten-cheer .v4-hero-inner { display: flex; justify-content: flex-end; }

/* Kollektion: Motiv rechts, Navy-Fläche links für den Text; große schräge Überschrift */
/* Hero als Collage (Vorlage Holger 25.10.2026): Navy mit Pinselflächen/Rasterpunkten/Spritzern (css/kollektion-hero-bg.svg),
   Schwarz-Weiß-Stuntfoto (GCM) als Hintergrundebene, Model-Foto als gerissene, gedrehte Karte, Shirt-Karte davor (Deko) */
body.theme-kollektion .v4-hero { min-height: clamp(540px, 46vw, 700px);
  background: url(https://cheercityshop.b-cdn.net/images/einstieg/startseite-hero-theme-kollektion-stunt-v1.jpg?width=700) right 1.5% top 22px / 25% auto no-repeat,
              #062640 url(/css/kollektion-hero-bg.svg) center / cover no-repeat; }
body.theme-kollektion .v4-hero::after { display: none; }
body.theme-kollektion .v4-hero picture { left: 43%; right: 19%; top: 30px; bottom: 64px; width: auto; height: auto; transform: rotate(-2.5deg);
  clip-path: polygon(0 2%, 8% 0, 19% 2.5%, 31% 0, 45% 2%, 58% 0, 72% 2.5%, 86% .5%, 100% 2%, 98.5% 15%, 100% 30%, 98% 46%, 100% 62%, 98.5% 78%, 100% 98%, 87% 100%, 73% 97.5%, 58% 100%, 44% 98%, 30% 100%, 16% 97.5%, 0 100%, 1.5% 84%, 0 67%, 2% 50%, 0 33%, 1.5% 17%); }
body.theme-kollektion .v4-hero-img { object-position: 88% 28%; }
body.theme-kollektion .v4-hero-copy { max-width: 780px; }
body.theme-kollektion .v4-hero .eyebrow { text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
body.theme-kollektion .v4-hero-copy h1 { font-family: "Barlow Condensed", Arial, sans-serif; font-style: italic; font-weight: 800; text-transform: uppercase;
  font-size: clamp(64px, 10.4vw, 160px); line-height: .82; letter-spacing: -.015em; }
body.theme-kollektion .v4-hero-copy h1 em { display: block; font-style: italic; }
body.theme-kollektion .v4-hero-text { font-family: "Barlow Condensed", Arial, sans-serif; font-style: italic; font-weight: 700; font-size: 26px; letter-spacing: .02em; color: #fff; }
body.theme-kollektion .v4-hero .btn.primary { transform: skewX(-8deg); }
/* Layout nach Holgers Vorlage (25.10.2026): Leiste kursiv, Überschrift weiß und schräg, Band + Produktreihe unter dem Hero */
body.theme-kollektion .theme-band strong, body.theme-kollektion .theme-band small { font-family: "Barlow Condensed", Arial, sans-serif; font-style: italic; font-weight: 700; font-size: 20px; letter-spacing: .14em; text-transform: uppercase; }
body.theme-kollektion .theme-band small { font-weight: 600; opacity: .85; }
body.theme-kollektion .v4-hero .eyebrow { display: none; }
body.theme-kollektion .v4-hero-copy h1, body.theme-kollektion .v4-hero-text { transform: rotate(-6deg); transform-origin: left center; }
body.theme-kollektion .v4-hero-text { font-size: 32px; }
body.theme-kollektion .v4-hero-copy h1 { text-shadow: 0 3px 0 rgba(0,0,0,.25); margin-bottom: 34px; }
.theme-band-unten { position: relative; z-index: 3; margin-top: -10px; padding: 16px 16px 14px; background: #10b8c7; color: #062640; text-align: center; transform: skewY(-1.6deg);
  clip-path: polygon(0 10%, 6% 2%, 14% 8%, 23% 0, 33% 7%, 44% 1%, 55% 8%, 66% 2%, 77% 9%, 88% 1%, 100% 7%, 100% 92%, 91% 100%, 80% 93%, 69% 99%, 57% 92%, 45% 100%, 34% 93%, 22% 99%, 11% 92%, 0 98%); }
.theme-band-unten span::after { content: ""; display: inline-block; width: 30px; height: 30px; margin-left: 18px; vertical-align: -6px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 6l12 30 33 3-25 21 8 33-28-18-28 18 8-33L5 39l33-3z' fill='%23062640'/%3E%3C/svg%3E") center / contain no-repeat; }
.theme-band-unten span { display: inline-block; font-family: "Barlow Condensed", Arial, sans-serif; font-style: italic; font-weight: 700; font-size: 22px; letter-spacing: .16em; text-transform: uppercase; }
.theme-favoriten { padding: 34px 0 12px; }
.theme-favoriten .section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.theme-favoriten { position: relative;
  background: url(/css/kollektion-spritzer.svg) right -40px top -10px / 360px auto no-repeat, url(/css/kollektion-spritzer.svg) left -60px bottom -30px / 320px auto no-repeat; }
body.theme-kollektion .theme-favoriten .section-heading h2 { margin: 0; padding-bottom: 14px; font-family: "Barlow Condensed", Arial, sans-serif; font-style: italic; font-weight: 800; font-size: clamp(44px, 5.4vw, 80px);
  line-height: .95; color: #062640; transform: rotate(-3deg); transform-origin: left bottom;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 24' preserveAspectRatio='none'%3E%3Cpath d='M4 16C150 8 380 4 596 2l-2 10C390 12 170 18 8 24z' fill='%23ed0b87'/%3E%3C/svg%3E") 0 100% / 88% 14px no-repeat; }
body.theme-kollektion .theme-favoriten .section-heading h2::after { content: ""; display: inline-block; width: 1.1em; height: .8em; margin-left: .35em; vertical-align: .1em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'%3E%3Cpath d='M10 64 4 14l30 26L58 4l22 36 34-22-8 46z' fill='none' stroke='%23ed0b87' stroke-width='7' stroke-linejoin='round'/%3E%3Cpath d='M8 74c34-6 70-6 104-2' stroke='%23ed0b87' stroke-width='6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.theme-favoriten .section-heading a { color: #c4006e; font-weight: 700; white-space: nowrap; }
.theme-fav-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.theme-fav-karte { display: flex; flex-direction: column; gap: 3px; padding: 10px 10px 14px; border-radius: 10px; background: #fff; color: #062640; text-decoration: none;
  box-shadow: 0 4px 18px rgba(6,38,64,.08); transition: transform .2s ease, box-shadow .2s ease; }
.theme-fav-karte:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(6,38,64,.14); }
.theme-fav-karte:focus-visible { outline: 3px solid #10b8c7; outline-offset: 3px; }
.theme-fav-bild { display: block; aspect-ratio: 1; margin-bottom: 8px; overflow: hidden; border-radius: 8px; background: #f3f4f6; }
.theme-fav-bild img { width: 100%; height: 100%; object-fit: cover; display: block; }
.theme-fav-linie { font-family: "Barlow Condensed", Arial, sans-serif; font-style: italic; font-weight: 700; font-size: 21px; text-transform: uppercase; line-height: 1.05; }
.theme-fav-typ { font-size: 14px; color: #33475b; }
.theme-fav-cta { margin-top: 4px; font-family: "Barlow Condensed", Arial, sans-serif; font-style: italic; font-weight: 700; font-size: 19px; color: #c4006e; }
/* kein Badge: die erste Karte sind die Meisterschaften, nicht die Kollektion */

/* Halloween-Aktion (09B23A69): physische Produkte (Kategorien, Beliebt) vor dem Ticketblock; Badge an den Kategorien */
/* Hero mit Mappen-Aktion (Klasse v4-hero--aktion nur 26.–31.10. bei Restbestand), sonst bisherige Halloween-Fassung */
body.theme-halloween .v4-hero--aktion .theme-deko { display: none; }   /* Fledermäuse/Kürbis sind im Motiv */
body.theme-halloween .v4-hero--aktion { min-height: clamp(420px, 34vw, 640px); }   /* Motiv 3:1 – möglichst ganz zeigen */
body.theme-halloween .v4-hero--aktion .v4-hero-img { object-position: 78% center; }
body.theme-halloween .v4-hero--aktion .v4-hero-copy { max-width: 520px; }
.v4-hero-hinweis { margin: 14px 0 0; max-width: 520px; font-size: 12px; line-height: 1.45; color: var(--th-text, #e4edf4); opacity: .85; }
body.theme-halloween main#main { display: flex; flex-direction: column; }
body.theme-halloween main#main > * { order: 2; }
body.theme-halloween main#main > .theme-band, body.theme-halloween main#main > .v4-hero, body.theme-halloween main#main > .v4-trust { order: 0; }
body.theme-halloween main#main > #produkte, body.theme-halloween main#main > section[aria-labelledby="popular-title"] { order: 1; }
body.theme-halloween main > .v4-trust + .section::before { content: none; }
body.theme-halloween main#main > #produkte { position: relative; overflow: visible; }
body.theme-halloween main#main > .v4-hero--aktion ~ #produkte::before { content: "Gratis-Mappe ab 50 €"; position: absolute; right: 18px; top: -12px; z-index: 2; padding: 4px 14px; border-radius: 999px;
  background: var(--th-rib-bg); color: var(--th-rib-fg); font-weight: 800; font-size: 12px; letter-spacing: .05em; text-transform: uppercase; }

/* ── Deko am Hero (nur Bildfläche, nie über Text) ── */
.theme-deko { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; }
.theme-deko .hd { position: absolute; display: block; height: auto; }
.hd-netz { right: 0; top: 0; width: 170px; }
.hd-fledermaus { left: 56%; top: 22px; width: 160px; }
.hd-kuerbis { right: 24px; bottom: -6px; width: 220px; }
.hd-schnee, .hd-konfetti { inset: 0; width: 100%; height: 100% !important; }
.hd-wiese { left: 0; bottom: 0; width: 100%; height: 60px !important; }
.hd-eier { right: 28px; bottom: 6px; width: 250px; }
.hd-herzen { right: 24px; top: 20px; width: 240px; }
.hd-pokal { right: 40px; bottom: 18px; width: 130px; }
.hd-bw { right: -10px; bottom: -14px; width: 50%; }
.hd-papier { left: 0; bottom: -1px; width: 100%; height: 26px !important; }
body.theme-kollektion .hd-papier path:first-child { fill: #ed0b87; }
body.theme-kollektion .hd-papier path:last-child { fill: #10b8c7; }
.hd-raster { left: 0; top: 0; width: 46%; height: 100%; background: radial-gradient(#ed0b87 1.7px, transparent 2.1px) 0 0 / 13px 13px;
  -webkit-mask-image: radial-gradient(ellipse at 10% 85%, #000 0%, transparent 60%); mask-image: radial-gradient(ellipse at 10% 85%, #000 0%, transparent 60%); opacity: .55; }
.hd-pinsel { left: 1%; top: 55%; width: 34%; height: 44px !important; }
.hd-stern { left: 30%; bottom: 13%; width: 56px; }
.hd-shirtkarte { right: 2.5%; bottom: 40px; width: 230px; padding: 16px; background: #ed0b87; transform: rotate(5deg);
  clip-path: polygon(0 4%, 9% 0, 22% 3%, 37% 0, 52% 4%, 68% 1%, 83% 4%, 100% 0, 97% 18%, 100% 35%, 96% 52%, 100% 70%, 97% 86%, 100% 100%, 84% 97%, 66% 100%, 50% 96%, 33% 100%, 17% 97%, 0 100%, 3% 82%, 0 64%, 4% 47%, 0 30%, 3% 15%); }
.hd-shirtkarte img { display: block; width: 100%; height: auto; background: #fff; }
.hd-schnee circle { filter: drop-shadow(0 0 2px rgba(31,95,168,.7)); }
/* Black Week: Leuchtrahmen um den Hero */
body.theme-blackweek .theme-deko { box-shadow: inset 0 0 0 3px #ed0b87, inset 0 0 28px rgba(237,11,135,.55); }

/* ── Lichterkette unter dem Menü (Weihnachten) ── */
body.theme-weihnachten #hv3-nav, body.theme-weihnachten-cheer #hv3-nav { position: relative; }
body.theme-weihnachten #hv3-nav::after, body.theme-weihnachten-cheer #hv3-nav::after { content: ""; position: absolute; left: 0; right: 0; bottom: -8px; height: 8px; pointer-events: none; z-index: 3;
  background: radial-gradient(circle at 10px 4px, #c9a24a 3px, transparent 3.5px) 0 0/40px 8px, radial-gradient(circle at 30px 4px, #8fb4e3 3px, transparent 3.5px) 0 0/40px 8px; }

/* ── Vertrauensleiste ── */
body[class*="theme-"] .v4-trust { background: var(--th-trust-bg); color: var(--th-trust-fg); width: 100%; max-width: none; padding-inline: 16px; }
body[class*="theme-"] .v4-trust svg { color: var(--th-trust-icon); }

/* ── Erste Inhaltskarte: Badge + Akzentfarbe auf weißen Karten (Kontrast ≥ 4,5:1) ── */
body[class*="theme-"] main > .v4-trust + .section { position: relative; overflow: visible; }
body[class*="theme-"] main > .v4-trust + .section::before { position: absolute; right: 18px; top: -12px; z-index: 2; padding: 4px 14px; border-radius: 999px;
  background: var(--th-rib-bg); color: var(--th-rib-fg); font-weight: 800; font-size: 12px; letter-spacing: .05em; text-transform: uppercase; }
body.theme-blackweek main > .v4-trust + .section::before { content: "Black Week"; }
body.theme-meister main > .v4-trust + .section::before { content: "Meisterschafts-Woche"; }
body.theme-weihnachten main > .v4-trust + .section::before, body.theme-weihnachten-cheer main > .v4-trust + .section::before { content: "Weihnachten"; }
body.theme-valentin main > .v4-trust + .section::before { content: "Valentinstag"; }
body.theme-ostern main > .v4-trust + .section::before { content: "Ostern"; }
body[class*="theme-"] main .section .kicker { color: var(--th-card); }

/* ── Bewegung nur ohne „Bewegung reduzieren“ ── */
@media (prefers-reduced-motion: no-preference) {
  .hd-schnee .flocke { animation: th-fall 7s linear infinite; }
  .hd-schnee .flocke:nth-child(2n) { animation-duration: 10s; }
  .hd-schnee .flocke:nth-child(3n) { animation-duration: 13s; animation-delay: -4s; }
  @keyframes th-fall { from { transform: translateY(-30px); } to { transform: translateY(380px); } }
  .hd-fledermaus .fm { animation: th-flatter 3s ease-in-out infinite alternate; transform-origin: center; transform-box: fill-box; }
  @keyframes th-flatter { from { transform: translate(0, 0) scaleY(1); } to { transform: translate(-8px, 6px) scaleY(.8); } }
  .hd-herzen .herz { animation: th-steig 6s ease-in-out infinite alternate; }
  .hd-herzen .herz:nth-child(2) { animation-duration: 4.5s; }
  @keyframes th-steig { from { transform: translateY(0); } to { transform: translateY(-14px); } }
}

/* ── Tablet: Text braucht mehr Fläche, Deko kleiner ── */
@media (max-width: 980px) {
  .hd-kuerbis, .hd-eier, .hd-herzen, .hd-pokal { transform: scale(.75); transform-origin: bottom right; }
  .hd-herzen { transform-origin: top right; }
  .hd-fledermaus { left: auto; right: 20px; }
  .hd-bw { width: 60%; }
}

/* ── Mobil: Motiv (Hochformat) oben mit Deko, Text darunter auf Theme-Fläche ── */
@media (max-width: 680px) {
  .theme-band { flex-direction: column; align-items: center; padding: 8px 12px; gap: 2px; }
  .theme-band strong { font-size: 17px; letter-spacing: .04em; }
  .theme-band small { font-size: 12px; }
  body[class*="theme-"] .v4-hero picture, body[class*="theme-"] .v4-hero-img { height: 360px; }
  body[class*="theme-"] .v4-hero-img { object-position: center top; }
  .theme-deko { bottom: auto; height: 360px; }
  .hd-kuerbis, .hd-eier, .hd-herzen, .hd-pokal { transform: scale(.6); }
  .hd-bw { width: 78%; right: 6px; bottom: -8px; }
  body.theme-halloween .v4-hero--aktion picture, body.theme-halloween .v4-hero--aktion .v4-hero-img { height: 210px; }
  body.theme-halloween .v4-hero--aktion .v4-hero-img { object-position: center; }
  body.theme-kollektion .v4-hero { background: #062640 url(/css/kollektion-hero-bg.svg) center top / auto 380px no-repeat; }
  body.theme-kollektion .v4-hero picture { left: auto; right: auto; top: auto; bottom: auto; width: calc(100% - 56px); margin: 18px 18px 0 38px; height: 330px; transform: rotate(-2deg); }
  body.theme-kollektion .v4-hero-img { height: 330px; object-position: 80% 26%; }
  body.theme-kollektion .v4-hero-copy h1 { font-size: 52px; }
  body.theme-kollektion .v4-hero-text { font-size: 22px; }
  .hd-papier { height: 18px !important; }
  .hd-raster, .hd-pinsel, .hd-stern { display: none !important; }
  body.theme-kollektion .hd-papier path:last-child { fill: #062640; }
  .hd-shirtkarte { width: 112px; padding: 8px; right: 10px; top: 250px; bottom: auto; }
  body.theme-kollektion .theme-band strong, body.theme-kollektion .theme-band small { font-size: 16px; letter-spacing: .1em; }
  .theme-band-unten span { font-size: 15px; letter-spacing: .1em; }
  .theme-favoriten { padding-inline: 14px; background-size: 200px auto, 180px auto; }
  body.theme-kollektion .theme-favoriten .section-heading h2 { font-size: 36px; }
  body.theme-kollektion .theme-favoriten .section-heading h2::after { width: .9em; margin-left: .2em; }
  .theme-fav-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .theme-fav-linie { font-size: 18px; }
  .hd-papier path:last-child { fill: #062640; }
  body.theme-weihnachten .v4-hero-inner, body.theme-weihnachten-cheer .v4-hero-inner { display: block; }
  body[class*="theme-"] main > .v4-trust + .section::before { right: 12px; font-size: 11px; }
}
