/*
Theme Name: Walhall Media
Theme URI: https://walhall-media.de/
Author: Walhall-Media
Author URI: https://walhall-media.de/
Description: Editoriales WordPress-Verlagstheme für Publikationen, Autoren, Auftragsarbeiten, Musik und WooCommerce.
Version: 2.2.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: walhall-media
Tags: custom-logo, custom-menu, featured-images, translation-ready, accessibility-ready, blog, e-commerce
*/

:root {
  --ink: #11100e;
  --ink-soft: #1c1a17;
  --cream: #f3efe6;
  --paper: #faf8f3;
  --gold: #c39b50;
  --gold-light: #dfc27e;
  --line: #d8d0c2;
  --muted: #6d685f;
  --white: #fff;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); line-height: 1.55; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
.shell { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 1000; background: var(--gold); color: #000; padding: 10px 16px; font-weight: 800; }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 3px solid var(--gold-light); outline-offset: 3px; }

.announcement { min-height: 34px; background: var(--gold); display: flex; align-items: center; justify-content: center; gap: 14px; padding: 6px 24px; color: #17140f; font-size: 12px; letter-spacing: .03em; }
.announcement > span { background: #17140f; color: var(--gold-light); padding: 2px 8px; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .13em; }
.announcement p { margin: 0; }
.announcement button { border: 0; background: transparent; font-size: 11px; font-weight: 800; cursor: pointer; }
.announcement button span { margin-left: 5px; }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(250,248,243,.96); border-bottom: 1px solid rgba(17,16,14,.13); backdrop-filter: blur(14px); }
.header-inner { height: 78px; display: flex; align-items: center; gap: 38px; }
.brand { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.brand-mark { width: 42px; height: 42px; position: relative; display: grid; place-items: center; color: var(--gold); border: 1px solid var(--gold); transform: rotate(45deg); }
.brand-mark::before, .brand-mark::after { content: ""; position: absolute; background: var(--paper); }
.brand-mark::before { width: 20px; height: 50px; }
.brand-mark::after { width: 50px; height: 20px; }
.brand-mark span { position: relative; z-index: 1; transform: rotate(-45deg); font-family: var(--serif); font-weight: 800; font-size: 22px; }
.brand-copy { position: relative; z-index: 2; display: grid; line-height: 1; letter-spacing: .17em; }
.brand-copy strong { font-family: var(--serif); font-size: 16px; }
.brand-copy small { margin-top: 5px; font-size: 8px; letter-spacing: .55em; color: var(--gold); font-weight: 900; }
.main-nav { display: flex; align-items: center; gap: clamp(15px, 2vw, 29px); margin-left: auto; }
.main-nav a { position: relative; font-size: 12px; font-weight: 800; }
.main-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 1px; background: var(--gold); transition: right .25s ease; }
.main-nav a:hover::after { right: 0; }
.header-tools { display: flex; align-items: center; gap: 9px; }
.icon-button { width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; font-size: 22px; line-height: 1; }
.catalog-button { border: 0; padding: 11px 15px; background: var(--ink); color: var(--white); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; cursor: pointer; }
.catalog-button span { color: var(--gold); margin-left: 8px; }
.menu-button { display: none; width: 38px; height: 38px; border: 0; background: var(--ink); padding: 10px; }
.menu-button i { display: block; height: 1px; background: white; margin: 5px 0; }

.hero { min-height: 730px; position: relative; overflow: hidden; background: var(--ink); color: var(--white); }
.hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 72% 38%, rgba(195,155,80,.18), transparent 28%), linear-gradient(120deg, transparent 60%, rgba(255,255,255,.025)); }
.hero-grid { position: relative; z-index: 2; min-height: 650px; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 60px; padding-block: 70px 54px; }
.hero-copy { max-width: 650px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; color: var(--gold-light); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .18em; }
.eyebrow > span { width: 28px; height: 1px; background: currentColor; }
.eyebrow.dark { color: #886827; }
.hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(49px, 5.2vw, 78px); line-height: .98; letter-spacing: -.045em; font-weight: 400; }
.hero h1 em, .feature-copy h2 em, .categories-section h2 em, .voices-copy h2 em, .magazine-section h2 em { color: var(--gold-light); font-weight: 400; }
.hero-lead { max-width: 560px; margin: 27px 0 0; color: #c7c1b8; font-family: var(--serif); font-size: 18px; line-height: 1.65; }
.hero-actions { display: flex; gap: 13px; flex-wrap: wrap; margin-top: 33px; }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 22px; border: 1px solid transparent; padding: 13px 20px; background: transparent; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; cursor: pointer; transition: transform .2s, background .2s, color .2s; }
.button:hover { transform: translateY(-2px); }
.button span { font-size: 16px; font-weight: 400; }
.button-gold { background: var(--gold); color: #14110b; }
.button-gold:hover { background: var(--gold-light); }
.button-ghost { color: white; border-color: rgba(255,255,255,.38); }
.button-ghost:hover { background: white; color: var(--ink); }
.button-ink { background: var(--ink); color: white; }
.button-line { border-color: var(--line); color: var(--ink); }
.button-outline { border-color: rgba(255,255,255,.4); color: white; }
.hero-proof { display: flex; gap: 0; margin-top: 43px; }
.hero-proof div { min-width: 110px; padding: 0 23px; border-left: 1px solid rgba(255,255,255,.18); }
.hero-proof div:first-child { padding-left: 0; border-left: 0; }
.hero-proof strong { display: block; font-family: var(--serif); font-size: 26px; font-weight: 400; }
.hero-proof span { display: block; margin-top: 2px; color: #8f8980; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }
.hero-stage { position: relative; height: 490px; perspective: 1200px; }
.book { position: absolute; width: 245px; padding: 0; border: 0; background: transparent; filter: drop-shadow(0 30px 32px rgba(0,0,0,.55)); }
.book::after { content: ""; position: absolute; right: -11px; top: 7px; bottom: -3px; width: 11px; background: linear-gradient(90deg,#d9d0be,#918775); transform: skewY(42deg); transform-origin: left top; }
.book-back { left: 35px; top: 48px; transform: rotate(-12deg) scale(.82); opacity: .64; }
.book-middle { right: 30px; top: 54px; transform: rotate(9deg) scale(.86); opacity: .82; }
.book-front { left: 50%; top: 20px; transform: translateX(-50%) rotate(-2deg); cursor: pointer; z-index: 3; transition: transform .3s; }
.book-front:hover { transform: translateX(-50%) rotate(0) translateY(-10px); }
.new-sticker { position: absolute; z-index: 5; right: 19px; top: 7px; width: 67px; height: 67px; display: grid; place-items: center; border-radius: 50%; background: var(--gold); color: var(--ink); text-align: center; font-size: 9px; font-weight: 900; letter-spacing: .12em; line-height: 1.25; transform: rotate(8deg); }
.edition-note { position: absolute; bottom: 0; right: 3px; display: flex; gap: 10px; align-items: center; color: #8f8980; }
.edition-note span { font-family: var(--serif); color: var(--gold); font-size: 30px; }
.edition-note p { margin: 0; font-size: 8px; font-weight: 800; line-height: 1.4; text-transform: uppercase; letter-spacing: .1em; }
.hero-orbit { position: absolute; border: 1px solid rgba(195,155,80,.14); border-radius: 50%; }
.orbit-one { width: 620px; height: 620px; right: -110px; top: 40px; }
.orbit-two { width: 430px; height: 430px; right: -5px; top: 140px; }
.hero-marquee { position: absolute; left: 0; right: 0; bottom: 0; min-height: 54px; display: flex; justify-content: center; align-items: center; gap: 29px; border-top: 1px solid rgba(255,255,255,.1); color: #7e7870; font-family: var(--serif); font-size: 11px; letter-spacing: .15em; }
.hero-marquee i { color: var(--gold); font-size: 7px; }

.book-cover { position: relative; width: 100%; aspect-ratio: 2/3; overflow: hidden; padding: 16px; display: flex; flex-direction: column; color: white; text-align: left; box-shadow: inset 10px 0 20px rgba(0,0,0,.18); }
.book-cover::before { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.22); margin: 7px; pointer-events: none; }
.book-cover-photo { padding: 0; background: #eee9df; box-shadow: none; }
.book-cover-photo::before { z-index: 2; border-color: rgba(17,16,14,.12); }
.book-cover-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.book-cover-photo.cover-position-right img { object-position: right center; }
.cover-publisher { position: relative; z-index: 2; font-family: var(--serif); font-size: 7px; letter-spacing: .18em; }
.cover-copy { position: relative; z-index: 2; margin-top: auto; }
.cover-copy > span { display: block; margin-bottom: 8px; color: var(--gold-light); font-size: 6px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }
.cover-copy strong { display: block; max-width: 96%; font-family: var(--serif); font-size: clamp(18px, 2vw, 27px); line-height: 1.04; font-weight: 500; hyphens: auto; }
.cover-copy em { display: block; margin-top: 8px; max-width: 90%; font-family: var(--serif); font-size: 8px; line-height: 1.35; color: rgba(255,255,255,.8); }
.cover-author { position: relative; z-index: 2; margin-top: 18px; font-size: 6px; text-transform: uppercase; letter-spacing: .16em; }
.cover-art { position: absolute; inset: 23% 8% auto; height: 32%; opacity: .9; }
.cover-art i { position: absolute; display: block; }
.book-cover-large { min-height: 367px; }
.cover-romance { background: linear-gradient(145deg,#5b121b,#a73943 58%,#5c111b); }
.cover-romance .cover-art::before { content: ""; position: absolute; left: 42%; top: -8%; width: 1px; height: 115%; background: rgba(238,201,139,.55); transform: rotate(27deg); }
.cover-romance .cover-art i:nth-child(1), .cover-romance .cover-art i:nth-child(2) { width: 70px; height: 70px; border: 1px solid rgba(239,205,148,.5); border-radius: 50% 50% 45% 55%; }
.cover-romance .cover-art i:nth-child(1) { left: 21%; top: 6%; }
.cover-romance .cover-art i:nth-child(2) { right: 12%; top: 25%; }
.cover-romance .cover-art i:nth-child(3) { left: 11%; right: 5%; top: 51%; height: 1px; background: rgba(239,205,148,.35); transform: rotate(-18deg); }
.cover-heygen { background: radial-gradient(circle at 70% 27%,#995f34,transparent 25%), linear-gradient(145deg,#131a22,#243d44 55%,#10161c); }
.cover-heygen .cover-art { border: 1px solid rgba(223,194,126,.5); border-radius: 50%; width: 95px; height: 95px; left: auto; right: 14px; top: 25%; }
.cover-heygen .cover-art::before, .cover-heygen .cover-art::after { content: ""; position: absolute; inset: 15%; border: 1px solid rgba(223,194,126,.4); border-radius: 50%; }
.cover-heygen .cover-art::after { inset: 34%; background: var(--gold); }
.cover-audio { background: linear-gradient(150deg,#312d43,#6b3e5b 52%,#191725); }
.cover-audio .cover-art i { left: 15%; right: 5%; height: 2px; background: var(--gold-light); border-radius: 50%; }
.cover-audio .cover-art i:nth-child(1) { top: 20%; transform: scaleX(.7); }
.cover-audio .cover-art i:nth-child(2) { top: 48%; height: 20px; background: transparent; border-top: 2px solid var(--gold-light); border-bottom: 2px solid var(--gold-light); }
.cover-audio .cover-art i:nth-child(3) { top: 80%; transform: scaleX(.5); }
.cover-cleaning { background: linear-gradient(150deg,#183d45,#277281 60%,#112c33); }
.cover-cleaning .cover-art::before { content: "2030"; position: absolute; right: 0; top: -12px; color: rgba(255,255,255,.12); font: 700 52px/1 var(--serif); }
.cover-cleaning .cover-art i:nth-child(1) { width: 80px; height: 80px; right: 6px; top: 15px; border: 1px solid var(--gold-light); transform: rotate(45deg); }
.cover-office { background: linear-gradient(145deg,#66531f,#bd9e48 55%,#3c3215); }
.cover-office .cover-art { background: repeating-linear-gradient(90deg,transparent 0 12px,rgba(255,255,255,.16) 13px 14px); }
.cover-office .cover-art::before { content: "AI"; font: 500 60px/1 var(--serif); color: rgba(255,255,255,.55); }
.cover-thriller { background: linear-gradient(160deg,#0d1720,#17364c 62%,#781c22); }
.cover-thriller .cover-art::before { content: ""; position: absolute; left: 5%; right: 5%; top: 50%; height: 1px; background: #e25942; box-shadow: 0 5px 20px #e25942; }
.cover-thriller .cover-art::after { content: ""; position: absolute; width: 65px; height: 65px; right: 9px; top: 8px; border-radius: 50%; border: 1px solid rgba(255,255,255,.28); }

.catalog-section { padding-block: 104px 116px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 60px; margin-bottom: 48px; }
.section-heading h2, .feature-copy h2, .voices-copy h2 { margin: 0; font-family: var(--serif); font-size: clamp(42px, 4vw, 60px); line-height: 1.02; font-weight: 400; letter-spacing: -.035em; }
.section-heading > p { max-width: 430px; margin: 0 0 5px; color: var(--muted); font-family: var(--serif); font-size: 15px; line-height: 1.7; }
.catalog-toolbar { display: flex; justify-content: space-between; gap: 24px; align-items: center; padding-block: 15px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-bottom: 38px; }
.filter-tabs { display: flex; gap: 4px; flex-wrap: wrap; }
.filter-tabs button { border: 0; padding: 8px 12px; background: transparent; color: var(--muted); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; cursor: pointer; }
.filter-tabs button.active { background: var(--ink); color: white; }
.search-box { min-width: 250px; height: 38px; display: flex; align-items: center; gap: 8px; padding: 0 11px; border: 1px solid var(--line); background: white; }
.search-box span { font-size: 18px; }
.search-box input { width: 100%; border: 0; outline: 0; background: transparent; font-size: 11px; }
.publication-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 25px; }
.publication-card { background: white; border: 1px solid #ddd5c8; transition: transform .25s, box-shadow .25s; }
.publication-card:hover { transform: translateY(-7px); box-shadow: 0 20px 45px rgba(30,25,18,.12); }
.cover-button { display: block; width: 100%; padding: 14px; border: 0; border-bottom: 1px solid #e5ded2; background: #ece6da; cursor: pointer; }
.publication-info { padding: 17px 18px 18px; }
.card-topline { display: flex; justify-content: space-between; align-items: center; min-height: 18px; color: #8b6d31; font-size: 7px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.card-topline b { padding: 3px 6px; background: #efe2c5; color: #6c5017; }
.publication-info h3 { margin: 9px 0 3px; font-family: var(--serif); font-size: 21px; line-height: 1.12; font-weight: 500; }
.publication-info h3 button { padding: 0; border: 0; background: transparent; text-align: left; cursor: pointer; }
.publication-info > p { min-height: 36px; margin: 0; color: var(--muted); font-family: var(--serif); font-size: 12px; }
.publication-meta { display: flex; justify-content: space-between; gap: 10px; padding: 13px 0; margin-top: 14px; border-top: 1px solid #ebe5da; font-size: 9px; }
.publication-meta span { color: var(--muted); }
.publication-meta strong { font-family: var(--serif); font-size: 14px; }
.card-actions { display: flex; justify-content: space-between; align-items: center; }
.text-link { border: 0; padding: 0; background: transparent; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; cursor: pointer; }
.text-link span { color: var(--gold); margin-left: 5px; }
.mini-buy { border: 1px solid var(--ink); padding: 6px 9px; background: transparent; color: var(--ink); font-size: 8px; font-weight: 900; line-height: 1.4; text-transform: uppercase; text-decoration: none; cursor: pointer; }
.mini-buy:hover { background: var(--ink); color: white; }
.center-action { display: flex; justify-content: center; margin-top: 45px; }
.empty-state { grid-column: 1/-1; padding: 60px; border: 1px dashed var(--line); text-align: center; color: var(--muted); }
.empty-state p { margin-bottom: 0; }

.feature-section { overflow: hidden; background: var(--ink-soft); color: white; }
.feature-grid { min-height: 650px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 110px; align-items: center; padding-block: 76px; }
.feature-cover-wrap { position: relative; display: flex; justify-content: center; }
.feature-cover-wrap .book-cover { position: relative; z-index: 2; width: 275px; min-height: 412px; transform: rotate(-3deg); box-shadow: 25px 32px 60px rgba(0,0,0,.45); }
.feature-number { position: absolute; left: 2%; top: -65px; font-family: var(--serif); font-size: 200px; color: rgba(255,255,255,.025); }
.feature-shadow { position: absolute; bottom: -28px; width: 330px; height: 45px; border-radius: 50%; background: rgba(0,0,0,.55); filter: blur(14px); }
.feature-copy { max-width: 590px; }
.feature-copy h2 { font-size: clamp(45px, 4.8vw, 68px); }
.feature-intro { margin: 27px 0 10px!important; color: var(--gold-light)!important; font-family: var(--serif)!important; font-size: 20px!important; }
.feature-copy > p:not(.eyebrow) { max-width: 540px; color: #aaa49b; font-size: 14px; line-height: 1.8; }
.feature-copy dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; padding: 20px 0; margin: 26px 0; border-top: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); }
.feature-copy dt { color: #716c65; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.feature-copy dd { margin: 5px 0 0; font-family: var(--serif); font-size: 13px; }

.categories-section { padding-block: 105px 116px; }
.section-heading.compact { align-items: end; }
.category-grid { border-top: 1px solid var(--line); }
.category-card { width: 100%; display: grid; grid-template-columns: 65px 1fr 80px 35px; align-items: center; gap: 22px; min-height: 116px; padding: 22px 12px; border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; cursor: pointer; transition: background .2s, padding .2s; }
.category-card:hover { background: #ece5d8; padding-inline: 24px; }
.category-card > span { color: #a68138; font-family: var(--serif); font-size: 16px; }
.category-card h3 { margin: 0; font-family: var(--serif); font-size: 27px; font-weight: 400; }
.category-card p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.category-card b { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.category-card i { font-size: 20px; color: var(--gold); }

.commission-section { position: relative; overflow: hidden; padding-block: 108px 115px; background: var(--ink); color: white; }
.commission-section::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 88% 8%,rgba(195,155,80,.2),transparent 29%),linear-gradient(135deg,transparent 56%,rgba(123,35,30,.15)); pointer-events: none; }
.commission-inner { position: relative; z-index: 1; }
.commission-heading { align-items: end; }
.commission-heading h2 { margin: 0; font-family: var(--serif); font-size: clamp(42px,4.4vw,64px); line-height: 1.02; font-weight: 400; letter-spacing: -.035em; }
.commission-heading h2 em { color: var(--gold-light); font-weight: 400; }
.commission-heading > p { color: #bbb4aa; }
.commission-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.commission-card { min-height: 455px; display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.035); transition: transform .25s,border-color .25s,background .25s; }
.commission-card:hover { transform: translateY(-6px); border-color: rgba(223,194,126,.62); background: rgba(255,255,255,.065); }
.commission-photo { position: relative; height: 168px; flex: 0 0 auto; margin: 0; overflow: hidden; background: #27231d; }
.commission-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 45%,rgba(17,16,14,.68)); pointer-events: none; }
.commission-photo img { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.78) contrast(1.06); transition: transform .55s ease,filter .35s ease; }
.commission-card:hover .commission-photo img { transform: scale(1.045); filter: saturate(.95) contrast(1.03); }
.commission-photo span { position: absolute; z-index: 2; left: 22px; bottom: 17px; color: var(--gold-light); font: 400 17px/1 var(--serif); }
.commission-card-copy { flex: 1; display: flex; flex-direction: column; padding: 23px 25px 25px; }
.commission-card h3 { margin: 0 0 10px; font-family: var(--serif); font-size: 25px; line-height: 1.08; font-weight: 400; }
.commission-card-copy > p { margin: 0 0 20px; color: #aaa39a; font-size: 12px; line-height: 1.7; }
.commission-card ul { margin: auto 0 0; padding: 18px 0 0; list-style: none; border-top: 1px solid rgba(255,255,255,.12); }
.commission-card li { position: relative; padding: 4px 0 4px 15px; color: #e3ddd5; font-size: 10px; }
.commission-card li::before { content: "◆"; position: absolute; left: 0; top: 7px; color: var(--gold); font-size: 5px; }
.commission-cta { display: flex; align-items: center; justify-content: space-between; gap: 34px; margin-top: 25px; padding: 31px 33px; background: var(--gold); color: var(--ink); }
.commission-cta h3 { margin: 0 0 5px; font-family: var(--serif); font-size: clamp(24px,2.4vw,34px); line-height: 1.1; font-weight: 400; }
.commission-cta p { max-width: 720px; margin: 0; font-size: 12px; }
.commission-cta .button { flex: 0 0 auto; }

.music-section { padding-block: 108px 115px; background: #efe9dc; }
.music-heading h2 { margin: 0; font-family: var(--serif); font-size: clamp(42px,4.4vw,64px); line-height: 1.02; font-weight: 400; letter-spacing: -.035em; }
.music-heading h2 em { color: #8a6a2d; font-weight: 400; }
.music-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding-block: 15px; margin-bottom: 34px; border-top: 1px solid #cfc5b6; border-bottom: 1px solid #cfc5b6; }
.music-tabs { flex: 1; }
.music-search { flex: 0 0 260px; }
.music-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.music-card { overflow: hidden; background: white; border: 1px solid #d7cebf; transition: transform .25s,box-shadow .25s; }
.music-card:hover { transform: translateY(-6px); box-shadow: 0 18px 42px rgba(30,25,18,.12); }
.music-art { width: 100%; aspect-ratio: 1/1; position: relative; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; overflow: hidden; padding: 18px; border: 0; background: #191919; color: white; text-align: left; cursor: pointer; }
.music-art::before,.music-modal-art::before { content: ""; position: absolute; width: 170px; height: 170px; right: -55px; top: -45px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; box-shadow: 0 0 0 28px rgba(255,255,255,.035),0 0 0 57px rgba(255,255,255,.025); }
.music-art>*,.music-modal-art>* { position: relative; z-index: 1; }
.music-art>span,.music-modal-art>span { position: absolute; left: 18px; top: 16px; font-size: 7px; letter-spacing: .16em; }
.music-art i,.music-modal-art i { margin-bottom: auto; color: var(--gold-light); font: 400 53px/1 var(--serif); }
.music-art strong,.music-modal-art strong { max-width: 95%; font: 400 22px/1.05 var(--serif); }
.music-art small,.music-modal-art small { margin-top: 7px; color: rgba(255,255,255,.7); font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
.music-cover-mainz { background: linear-gradient(145deg,#1e3450,#79442f 65%,#d39a4f); }
.music-cover-rhein { background: linear-gradient(145deg,#073d4d,#116b77 58%,#c4994e); }
.music-cover-stadium { background: linear-gradient(145deg,#163b22,#1c6a3a 58%,#e5b849); }
.music-cover-world { background: linear-gradient(145deg,#172435,#28558b 55%,#8c2829); }
.music-cover-society { background: linear-gradient(145deg,#222,#5d4435 60%,#b58b4a); }
.music-cover-antikythera { background: linear-gradient(145deg,#24150d,#7a4e22 56%,#c09a51); }
.music-cover-hurricane { background: linear-gradient(145deg,#121924,#273c58 57%,#7c2333); }
.music-cover-fastnacht { background: linear-gradient(145deg,#7c1f2b,#c23f38 52%,#e6b54b); }
.music-card-copy { padding: 17px 18px 19px; }
.music-topline { min-height: 17px; display: flex; justify-content: space-between; gap: 8px; color: #8a6a2d; font-size: 7px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.music-topline b { color: var(--muted); }
.music-card h3 { margin: 9px 0 3px; font: 400 21px/1.1 var(--serif); }
.music-card h3 button { padding: 0; border: 0; background: transparent; text-align: left; cursor: pointer; }
.music-card-copy>p { margin: 0; color: var(--muted); font-size: 9px; }
.music-platforms { display: flex; flex-wrap: wrap; gap: 5px; margin: 15px 0; }
.music-platforms span { padding: 4px 7px; border: 1px solid #d9d0c2; border-radius: 999px; background: #f8f5ef; color: #555047; font-size: 7px; font-weight: 900; }
.music-details { width: 100%; padding: 10px 0 0; border: 0; border-top: 1px solid #ece5da; background: transparent; text-align: left; font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; cursor: pointer; }
.music-details span { float: right; color: var(--gold); }
.music-catalog-note { display: grid; grid-template-columns: 85px 1fr auto; align-items: center; gap: 24px; margin-top: 28px; padding: 25px 28px; background: white; border: 1px solid #d7cebf; }
.music-catalog-note>span { color: #8a6a2d; font: 400 46px/1 var(--serif); }
.music-catalog-note p { margin: 0; color: var(--muted); font-size: 11px; }
.music-catalog-note strong { color: var(--ink); font-family: var(--serif); font-size: 15px; font-weight: 400; }

.music-modal { position: relative; width: min(900px,100%); max-height: min(720px,calc(100vh - 40px)); overflow: auto; display: grid; grid-template-columns: 330px 1fr; gap: 42px; padding: 40px; background: var(--paper); box-shadow: 0 40px 100px rgba(0,0,0,.45); }
.music-modal-art { position: relative; aspect-ratio: 1/1; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; overflow: hidden; padding: 25px; color: white; align-self: center; }
.music-modal-art>span { left: 25px; top: 21px; }
.music-modal-art strong { font-size: 34px; }
.music-modal-copy { align-self: center; }
.music-modal-copy h2 { margin: 0; font: 400 clamp(36px,4vw,52px)/1 var(--serif); }
.music-modal-copy h3 { margin: 10px 0 22px; color: var(--muted); font: 400 17px/1.3 var(--serif); }
.music-modal-copy>p:not(.eyebrow) { color: #555047; font: 400 14px/1.7 var(--serif); }
.music-modal-copy h4 { margin: 23px 0 0; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.music-platforms-large span { padding: 7px 10px; font-size: 8px; }
.music-modal-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
.music-modal-actions .button { padding: 9px 11px; font-size: 8px; }
.music-modal-copy>small { display: block; margin-top: 13px; color: #8a857b; font-size: 8px; line-height: 1.5; }

.voices-section { background: #2b1d18; color: white; }
.voices-grid { min-height: 545px; display: grid; grid-template-columns: 1fr 1fr; gap: 95px; align-items: center; padding-block: 76px; }
.voices-copy p:not(.eyebrow) { max-width: 460px; color: #b7ada4; font-family: var(--serif); font-size: 15px; line-height: 1.7; }
.voices-copy .button { margin-top: 15px; }
.quote-card { min-height: 330px; padding: 38px 43px; border: 1px solid rgba(223,194,126,.35); background: rgba(255,255,255,.035); }
.quote-mark { display: block; color: var(--gold); font-family: var(--serif); font-size: 68px; line-height: .7; }
.quote-card blockquote { margin: 28px 0 38px; font-family: var(--serif); font-size: clamp(21px,2.2vw,29px); line-height: 1.42; font-style: italic; }
.author-line { display: flex; align-items: center; gap: 14px; padding-top: 19px; border-top: 1px solid rgba(255,255,255,.15); }
.author-monogram { width: 41px; height: 41px; display: grid; place-items: center; border-radius: 50%; background: var(--gold); color: var(--ink); font-family: var(--serif); font-size: 12px; }
.author-line p { display: grid; margin: 0; }
.author-line strong { font-family: var(--serif); font-size: 14px; }
.author-line span { color: #8c847c; font-size: 8px; text-transform: uppercase; letter-spacing: .11em; }

.magazine-section { padding-block: 105px 115px; }
.underlined-link { margin-bottom: 8px; padding-bottom: 4px; border-bottom: 1px solid var(--ink); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.underlined-link span { color: var(--gold); margin-left: 10px; }
.magazine-grid { display: grid; grid-template-columns: 1.55fr .75fr; grid-template-rows: 1fr 1fr; gap: 22px; }
.magazine-main { grid-row: 1/3; background: white; border: 1px solid var(--line); }
.magazine-main > div:last-child { padding: 25px 28px 28px; }
.magazine-art { position: relative; min-height: 270px; display: grid; place-items: center; overflow: hidden; background: #17252b; color: var(--gold); }
.magazine-art::before, .magazine-art::after { content: ""; position: absolute; width: 230px; height: 230px; border: 1px solid rgba(223,194,126,.35); border-radius: 50%; }
.magazine-art::after { width: 330px; height: 330px; }
.magazine-art span { position: relative; z-index: 2; font: 400 94px/1 var(--serif); }
.magazine-art i { position: absolute; right: 18px; top: 18px; color: #798386; font-size: 9px; }
.magazine-main p, .magazine-side p { margin: 0 0 8px; color: #8a6a2d; font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.magazine-main h3 { margin: 0 0 21px; font-family: var(--serif); font-size: 28px; line-height: 1.18; font-weight: 400; }
.magazine-main a, .magazine-side a { font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.magazine-main a span { color: var(--gold); margin-left: 8px; }
.magazine-side { display: grid; grid-template-columns: 42% 58%; background: white; border: 1px solid var(--line); }
.side-art { min-height: 176px; display: grid; place-items: center; padding: 15px; color: var(--gold-light); background: #3a2030; font-family: var(--serif); font-size: 37px; text-align: center; }
.art-books { background: #7b241e; line-height: .9; }
.magazine-side > div:last-child { padding: 20px; }
.magazine-side h3 { margin: 0 0 18px; font-family: var(--serif); font-size: 18px; line-height: 1.2; font-weight: 400; }

.newsletter { background: var(--gold); color: var(--ink); }
.newsletter-grid { min-height: 225px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 90px; }
.newsletter .eyebrow { color: #503d18; }
.newsletter h2 { margin: 0; max-width: 560px; font-family: var(--serif); font-size: clamp(33px,3vw,47px); line-height: 1.05; font-weight: 400; }
.newsletter form { display: grid; grid-template-columns: 1fr 49px; }
.newsletter input { width: 100%; height: 49px; padding: 0 16px; border: 1px solid rgba(17,16,14,.45); background: transparent; outline: 0; }
.newsletter form button { border: 0; background: var(--ink); color: white; font-size: 20px; cursor: pointer; }
.newsletter form p { grid-column: 1/-1; margin: 8px 0 0; font-size: 8px; opacity: .68; }
.newsletter form p a { text-decoration: underline; text-underline-offset: 2px; }

.footer { padding: 72px 0 27px; background: var(--ink); color: white; }
.footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3,1fr); gap: 55px; padding-bottom: 52px; }
.footer .brand-mark::before, .footer .brand-mark::after { background: var(--ink); }
.footer-brand p { margin-top: 23px; color: #817c75; font-family: var(--serif); font-size: 13px; line-height: 1.7; }
.footer-grid > div:not(.footer-brand) { display: flex; flex-direction: column; gap: 9px; }
.footer h3 { margin: 0 0 10px; color: var(--gold); font-size: 9px; text-transform: uppercase; letter-spacing: .14em; }
.footer-grid a:not(.brand) { color: #aaa49d; font-size: 11px; }
.footer-grid a:hover { color: white; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.11); color: #595650; font-size: 8px; letter-spacing: .1em; }
.footer-bottom div { display: flex; gap: 20px; }

/* Rechtliche Informationen */
.legal-hub { margin: 10px 0 40px; }
.legal-hub-heading { max-width: 760px; margin-bottom: 34px; }
.legal-hub-heading .eyebrow { color: var(--gold); }
.legal-hub-heading h2 { margin: 8px 0 14px; font-family: var(--serif); font-size: clamp(36px,5vw,62px); font-weight: 400; letter-spacing: -.035em; }
.legal-hub-heading > p:last-child { color: var(--muted); font-family: var(--serif); font-size: 16px; line-height: 1.7; }
.legal-link-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.legal-link-card { position: relative; min-height: 225px; display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); transition: transform .2s, border-color .2s, box-shadow .2s; }
.legal-link-card:hover { transform: translateY(-4px); border-color: var(--gold); box-shadow: 0 18px 40px rgba(30,25,18,.08); }
.legal-link-card > span { color: var(--gold); font-family: var(--serif); font-size: 22px; }
.legal-link-card h3 { margin: 18px 0 8px; font-family: var(--serif); font-size: 28px; font-weight: 400; }
.legal-link-card p { margin: 0 0 22px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.legal-link-card b { margin-top: auto; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.legal-page-section { background: #efe9dc; }
.legal-page-layout { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 28px; align-items: start; }
.legal-page-header { grid-column: 1/-1; max-width: 850px; margin-bottom: 10px; }
.legal-page-header .eyebrow { color: #8a6a2d; }
.legal-page-header h1 { margin: 8px 0 12px; font-family: var(--serif); font-size: clamp(44px,6vw,76px); line-height: 1; font-weight: 400; letter-spacing: -.045em; }
.legal-page-header > p:last-child { color: var(--muted); font-family: var(--serif); font-size: 17px; }
.legal-prose { min-width: 0; padding: clamp(26px,4vw,52px); }
.legal-prose h2 { font-family: var(--serif); font-size: clamp(28px,3vw,40px); font-weight: 400; }
.legal-prose h3 { margin-top: 30px; font-family: var(--serif); font-size: 22px; font-weight: 400; }
.legal-prose p,.legal-prose li { color: #514d46; line-height: 1.75; }
.privacy-policy { counter-reset: privacy-section; }
.privacy-policy section { scroll-margin-top: 115px; }
.privacy-policy a { color: #75571e; text-decoration: underline; text-decoration-color: rgba(117,87,30,.45); text-underline-offset: 3px; overflow-wrap: anywhere; }
.privacy-policy a:hover { text-decoration-color: currentColor; }
.privacy-intro { margin-top: 0; padding: 20px 22px; border-left: 4px solid var(--gold); background: #f5efe2; font-family: var(--serif); font-size: 17px; }
.privacy-toc { margin: 28px 0 42px; padding: 22px 25px; border: 1px solid var(--line); background: #fff; }
.privacy-toc > strong { font-family: var(--serif); font-size: 21px; font-weight: 400; }
.privacy-toc ol { columns: 2; gap: 40px; margin: 15px 0 0; padding-left: 20px; }
.privacy-toc li { break-inside: avoid; margin-bottom: 7px; font-size: 12px; }
.privacy-address { padding: 20px 22px; border: 1px solid var(--line); background: #fff; color: #514d46; font-style: normal; line-height: 1.75; }
.privacy-version { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); }
.legal-document section { scroll-margin-top: 115px; }
.legal-document a { color: #75571e; text-decoration: underline; text-decoration-color: rgba(117,87,30,.45); text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-document a:hover { text-decoration-color: currentColor; }
.legal-document-intro { margin-top: 0; padding: 20px 22px; border-left: 4px solid var(--gold); background: #f5efe2; font-family: var(--serif); font-size: 17px; }
.legal-document-toc { margin: 28px 0 42px; padding: 22px 25px; border: 1px solid var(--line); background: #fff; }
.legal-document-toc > strong { font-family: var(--serif); font-size: 21px; font-weight: 400; }
.legal-document-toc ol { columns: 2; gap: 40px; margin: 15px 0 0; padding-left: 20px; }
.legal-document-toc li { break-inside: avoid; margin-bottom: 7px; font-size: 12px; }
.legal-contact-card { padding: 20px 22px; border: 1px solid var(--line); background: #fff; color: #514d46; font-style: normal; line-height: 1.75; }
.legal-version { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); }
.legal-source-box { margin-top: 28px; padding: 24px; border-left: 4px solid var(--gold); background: #f5efe2; }
.legal-page-nav { position: sticky; top: 105px; display: grid; gap: 16px; padding: 25px; border: 1px solid var(--line); background: #fff; }
.legal-page-nav > strong { font-family: var(--serif); font-size: 20px; font-weight: 400; }
.legal-page-nav > div { display: grid; }
.legal-page-nav > div a { padding: 11px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.legal-page-nav > div a[aria-current="page"] { color: #8a6a2d; }
.legal-page-nav small { overflow-wrap: anywhere; color: var(--muted); font-size: 9px; line-height: 1.55; }

.modal-backdrop { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 30px; background: rgba(8,7,6,.82); backdrop-filter: blur(6px); }
.book-modal { position: relative; width: min(900px,100%); max-height: min(700px,calc(100vh - 40px)); overflow: auto; display: grid; grid-template-columns: 310px 1fr; gap: 42px; padding: 40px; background: var(--paper); box-shadow: 0 40px 100px rgba(0,0,0,.45); }
.modal-close { position: absolute; z-index: 2; right: 15px; top: 12px; width: 36px; height: 36px; border: 1px solid var(--line); background: transparent; font-size: 24px; cursor: pointer; }
.modal-cover { padding: 13px; align-self: center; background: #e8e1d4; }
.modal-copy { align-self: center; }
.modal-copy h2 { margin: 0; font-family: var(--serif); font-size: clamp(36px,4vw,52px); line-height: 1; font-weight: 400; }
.modal-copy h3 { margin: 10px 0 21px; color: var(--muted); font-family: var(--serif); font-size: 17px; font-weight: 400; }
.modal-description { color: #555047; font-family: var(--serif); font-size: 15px; line-height: 1.7; }
.modal-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 13px 20px; padding: 19px 0; margin: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.modal-facts span { display: grid; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
.modal-facts b { margin-top: 3px; color: var(--ink); font-family: var(--serif); font-size: 12px; text-transform: none; letter-spacing: 0; }
.modal-price { display: flex; justify-content: space-between; align-items: center; }
.modal-price span { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.modal-price strong { font-family: var(--serif); font-size: 25px; }
.modal-actions { display: flex; gap: 10px; margin-top: 18px; }
.modal-copy > small { display: block; margin-top: 10px; color: #8a857b; font-size: 8px; }
.inquiry-modal { position: relative; width: min(670px,100%); max-height: min(760px,calc(100vh - 40px)); overflow: auto; padding: 42px; background: var(--paper); box-shadow: 0 40px 100px rgba(0,0,0,.45); }
.inquiry-modal h2 { margin: 0; font-family: var(--serif); font-size: clamp(34px,4vw,49px); line-height: 1.05; font-weight: 400; }
.inquiry-modal > p:not(.eyebrow) { color: var(--muted); font-family: var(--serif); font-size: 14px; line-height: 1.7; }
.inquiry-modal form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 25px; }
.inquiry-modal label { display: grid; gap: 6px; color: #625d54; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.inquiry-modal label:nth-child(4), .inquiry-modal form .button { grid-column: 1/-1; }
.inquiry-modal input,.inquiry-modal select,.inquiry-modal textarea { width: 100%; border: 1px solid var(--line); background: white; padding: 11px 12px; color: var(--ink); font: 12px/1.45 var(--sans); text-transform: none; letter-spacing: 0; resize: vertical; }
.inquiry-success { min-height: 330px; display: grid; place-items: center; align-content: center; text-align: center; }
.inquiry-success > span { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; background: var(--gold); font-size: 25px; }
.inquiry-success p { max-width: 450px; color: var(--muted); }

@media (max-width: 1050px) {
  .main-nav { gap: 14px; }
  .main-nav a:nth-last-child(-n+2) { display: none; }
  .hero-grid { gap: 20px; }
  .hero-stage { transform: scale(.9); transform-origin: center; }
  .publication-grid { grid-template-columns: repeat(3,1fr); }
  .feature-grid { gap: 60px; }
}

@media (max-width: 820px) {
  .shell { width: min(100% - 32px, 1240px); }
  .announcement p { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .header-inner { height: 67px; }
  .main-nav { position: absolute; left: 0; right: 0; top: 67px; display: none; padding: 22px; background: var(--paper); border-bottom: 1px solid var(--line); flex-direction: column; align-items: flex-start; }
  .main-nav.open { display: flex; }
  .main-nav a, .main-nav a:nth-last-child(-n+2) { display: block; font-family: var(--serif); font-size: 20px; }
  .catalog-button, .icon-button { display: none; }
  .menu-button { display: block; }
  .header-tools { margin-left: auto; }
  .hero { min-height: 1010px; }
  .hero-grid { grid-template-columns: 1fr; padding-top: 70px; }
  .hero-copy { max-width: 690px; }
  .hero-stage { width: min(570px,100%); margin-inline: auto; }
  .hero-marquee { gap: 17px; overflow: hidden; white-space: nowrap; justify-content: flex-start; padding-inline: 20px; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 20px; }
  .catalog-toolbar { align-items: stretch; flex-direction: column; }
  .search-box { min-width: 0; }
  .publication-grid { grid-template-columns: repeat(2,1fr); }
  .feature-grid { grid-template-columns: 1fr; gap: 70px; padding-block: 95px; }
  .commission-grid { grid-template-columns: repeat(2,1fr); }
  .commission-cta { align-items: flex-start; flex-direction: column; }
  .music-grid { grid-template-columns: repeat(2,1fr); }
  .music-toolbar { align-items: stretch; flex-direction: column; }
  .music-search { flex-basis: auto; }
  .music-catalog-note { grid-template-columns: 70px 1fr; }
  .music-catalog-note .button { grid-column: 1/-1; }
  .voices-grid { grid-template-columns: 1fr; gap: 45px; padding-block: 90px; }
  .magazine-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }
  .magazine-main { grid-column: 1/-1; grid-row: auto; }
  .newsletter-grid { grid-template-columns: 1fr; gap: 25px; padding-block: 55px; }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 2; }
}

@media (max-width: 560px) {
  .announcement { justify-content: space-between; }
  .announcement > span, .announcement p { display: none; }
  .brand-mark { width: 35px; height: 35px; }
  .hero { min-height: 945px; }
  .hero-grid { padding-top: 56px; }
  .hero h1 { font-size: 45px; }
  .hero-lead { font-size: 16px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .button { width: 100%; }
  .hero-proof div { min-width: 0; flex: 1; padding-inline: 13px; }
  .hero-stage { height: 370px; transform: scale(.76); transform-origin: top center; width: 460px; left: 50%; margin-left: -230px; }
  .catalog-section, .categories-section, .commission-section, .magazine-section { padding-block: 72px; }
  .publication-grid { grid-template-columns: 1fr; }
  .publication-card { max-width: 360px; margin-inline: auto; }
  .filter-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; }
  .filter-tabs button { flex: 0 0 auto; }
  .feature-grid { padding-block: 75px; }
  .commission-grid { grid-template-columns: 1fr; }
  .commission-card { min-height: 0; }
  .commission-cta { padding: 25px; }
  .commission-cta .button { width: 100%; }
  .music-section { padding-block: 72px; }
  .music-grid { grid-template-columns: 1fr; }
  .music-card { display: grid; grid-template-columns: 42% 58%; }
  .music-art { height: 100%; aspect-ratio: auto; }
  .music-catalog-note { grid-template-columns: 1fr; text-align: left; }
  .music-modal { grid-template-columns: 1fr; padding: 25px; }
  .music-modal-art { width: min(300px,100%); margin-inline: auto; }
  .feature-cover-wrap .book-cover { width: 235px; min-height: 352px; }
  .feature-copy dl { grid-template-columns: 1fr; }
  .category-card { grid-template-columns: 38px 1fr 28px; gap: 10px; }
  .category-card b { display: none; }
  .category-card h3 { font-size: 21px; }
  .magazine-grid { grid-template-columns: 1fr; }
  .magazine-main { grid-column: auto; }
  .magazine-side { grid-template-columns: 38% 62%; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px 25px; }
  .legal-link-grid { grid-template-columns: 1fr; }
  .legal-page-layout { grid-template-columns: 1fr; }
  .legal-page-nav { position: static; }
  .privacy-toc ol { columns: 1; }
  .legal-document-toc ol { columns: 1; }
  .footer-brand { grid-column: 1/-1; }
  .footer-grid > div:last-child { grid-column: auto; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .book-modal { grid-template-columns: 1fr; padding: 25px; }
  .modal-cover { width: 220px; margin-inline: auto; }
  .modal-actions { flex-direction: column; }
  .modal-facts { grid-template-columns: 1fr; }
  .inquiry-modal { padding: 31px 22px 24px; }
  .inquiry-modal form { grid-template-columns: 1fr; }
  .inquiry-modal label:nth-child(4), .inquiry-modal form .button { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto!important; transition: none!important; }
}


/* WordPress integration and dynamic templates */
body.admin-bar .site-header{top:32px}
img{max-width:100%;height:auto}
[hidden]{display:none!important}
.site-branding{flex:0 0 auto}
.custom-logo-link{display:flex;align-items:center}
.custom-logo{display:block;width:auto;max-width:235px;max-height:54px}
.main-nav .menu,.main-nav ul{display:flex;align-items:center;gap:clamp(15px,2vw,29px);margin:0;padding:0;list-style:none}
.main-nav .sub-menu{position:absolute;display:none;min-width:210px;padding:13px;background:var(--paper);border:1px solid var(--line);box-shadow:0 16px 35px rgba(0,0,0,.12)}
.main-nav li{position:relative}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{display:grid}
.header-tools .icon-button{display:grid;place-items:center}
.brand-light{color:#fff}
.brand-light .brand-mark::before,.brand-light .brand-mark::after{background:#151411}
.site-branding .brand-mark::before,.site-branding .brand-mark::after{background:var(--paper)}
.book-cover-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.book-cover-photo.cover-focus-left img{object-position:left center}
.book-cover-photo.cover-focus-right img{object-position:right center}
.cover-tone-0{background:linear-gradient(145deg,#1c3145,#6d3034 62%,#b8883f)}
.cover-tone-1{background:linear-gradient(145deg,#421b23,#963832 60%,#d6aa5c)}
.cover-tone-2{background:linear-gradient(145deg,#142933,#275765 58%,#c19a50)}
.cover-tone-3{background:linear-gradient(145deg,#201f1e,#5a4433 60%,#b38a4a)}
.cover-tone-4{background:linear-gradient(145deg,#14233d,#2f5d8f 60%,#ba8b3d)}
.cover-tone-5{background:linear-gradient(145deg,#182a1d,#40734a 60%,#d2a854)}
.cover-button{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left}
.cover-button .book-cover{width:100%;min-height:350px}
.publication-info>p{min-height:36px}
.publication-meta a{color:inherit}
.wm-filter-empty,.wm-music-filter-empty{margin-top:20px}
.notice-empty{padding:38px;border:1px dashed var(--line);background:white;color:var(--muted);text-align:center}
.button,.btn,.wp-block-button__link{text-decoration:none}
.btn{min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border:1px solid transparent;background:var(--ink);color:#fff;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.btn:hover{background:var(--gold);color:var(--ink);text-decoration:none}
.btn.outline{border-color:var(--line);background:transparent;color:var(--ink)}
.section{padding-block:92px}
.section.alt{background:#efe9dc}
.section .container,.page-template-default .container,.archive .container,.single .container{width:min(1240px,calc(100% - 48px));margin-inline:auto}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}
.section-title{margin:0;font:400 clamp(42px,4.4vw,64px)/1.02 var(--serif);letter-spacing:-.035em}
.section-subtitle{max-width:650px;color:var(--muted)}
.filter-panel{display:grid;grid-template-columns:2fr repeat(3,1fr) 1fr;gap:10px;margin-bottom:34px;padding:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f5f1e8}
.filter-panel input,.filter-panel select{min-width:0;height:43px;padding:0 12px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.filter-panel .btn{height:43px}
.pagination{margin-top:40px}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:7px}
.pagination a,.pagination span{display:grid;min-width:38px;height:38px;place-items:center;padding:0 9px;border:1px solid var(--line);background:#fff;font-size:11px}
.pagination .current{background:var(--ink);color:#fff}
.single-publication,.single-music{display:grid;grid-template-columns:minmax(280px,430px) minmax(0,1fr);gap:70px;align-items:start}
.single-cover,.single-music-cover{position:sticky;top:126px;overflow:hidden;background:#ebe5d9;box-shadow:0 28px 60px rgba(26,20,14,.18)}
.single-cover{aspect-ratio:2/3}
.single-music-cover{aspect-ratio:1/1}
.single-cover img,.single-music-cover img{width:100%;height:100%;display:block;object-fit:cover}
.single-details h1{margin:.14em 0;font:400 clamp(44px,5vw,70px)/.98 var(--serif);letter-spacing:-.04em}
.single-details .subtitle,.music-single-artist{color:var(--muted);font:400 20px/1.45 var(--serif)}
.single-details h2{margin:38px 0 13px;font:400 29px/1.15 var(--serif)}
.buy-actions,.music-platform-actions{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0}
.prose{padding:26px;border:1px solid var(--line);background:#fff}
.prose>*:first-child{margin-top:0}.prose>*:last-child{margin-bottom:0}
.detail-table{width:100%;border-collapse:collapse;background:#fff}
.detail-table th,.detail-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.detail-table th{width:34%;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.platform-badges{display:flex;flex-wrap:wrap;gap:5px;margin:18px 0}
.platform-badges span{padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:#f8f5ef;color:#555047;font-size:8px;font-weight:900}
.platform-badges-large strong{width:100%;margin-bottom:5px}
.music-art.has-image>img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}
.music-image-shade{position:absolute!important;inset:0!important;z-index:0!important;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.82))!important}
.music-card-actions{display:flex;align-items:end;justify-content:space-between;gap:8px;border-top:1px solid #ece5da}
.music-card-actions .music-details{border-top:0}
.music-tone-0{background:linear-gradient(145deg,#1e3450,#79442f 65%,#d39a4f)}
.music-tone-1{background:linear-gradient(145deg,#073d4d,#116b77 58%,#c4994e)}
.music-tone-2{background:linear-gradient(145deg,#163b22,#1c6a3a 58%,#e5b849)}
.music-tone-3{background:linear-gradient(145deg,#172435,#28558b 55%,#8c2829)}
.music-tone-4{background:linear-gradient(145deg,#222,#5d4435 60%,#b58b4a)}
.music-tone-5{background:linear-gradient(145deg,#24150d,#7a4e22 56%,#c09a51)}
.music-tone-6{background:linear-gradient(145deg,#121924,#273c58 57%,#7c2333)}
.music-tone-7{background:linear-gradient(145deg,#7c1f2b,#c23f38 52%,#e6b54b)}
.author-grid,.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.author-card,.post-card{padding:24px;border:1px solid var(--line);background:#fff}
.author-card img{width:92px;height:92px;object-fit:cover;border-radius:50%}
.post-card{padding:0;overflow:hidden}.post-card .post-body{padding:22px}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:40px}
.sidebar-card{padding:22px;border:1px solid var(--line);background:#fff}
.search-results-list{display:grid;gap:15px}
.search-result-item{display:grid;grid-template-columns:90px 1fr;gap:18px;padding:18px;border:1px solid var(--line);background:#fff}
.search-result-item img{width:90px;height:120px;object-fit:cover}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{position:fixed!important;z-index:9999;top:10px;left:10px;width:auto;height:auto;padding:12px;background:#fff;color:#111;clip:auto}

/* Musikkatalog 1.6: DistroKid-Bestand und nachvollziehbarer Plattformstatus */
.music-distribution-note{display:grid;grid-template-columns:minmax(190px,.32fr) 1fr;gap:18px;margin:-18px 0 28px;padding:18px 20px;border-left:4px solid var(--gold);background:#f1eadb;color:#29251e}
.music-distribution-note strong{font-family:var(--serif);font-size:18px}.music-distribution-note span{font-size:13px;line-height:1.6;color:#625b50}
.music-network-details{margin:22px 0;padding:18px 20px;border:1px solid var(--line);background:#fff}
.music-network-details summary{cursor:pointer;font-weight:800;color:#332b1d}.music-network-details[open] summary{margin-bottom:14px}
.music-network-details p{margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
@media(max-width:680px){.music-distribution-note{grid-template-columns:1fr}.music-network-details{padding:15px}}
.wp-block-image img{height:auto}
.woocommerce ul.products li.product,.woocommerce div.product{font-family:var(--sans)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border-radius:0;background:var(--ink);color:#fff}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--gold);color:var(--ink)}
.footer-bottom .menu{display:flex;gap:16px;margin:0;padding:0;list-style:none}
.footer-bottom .menu a{font-size:8px}

@media(max-width:1100px){
  .filter-panel{grid-template-columns:1fr 1fr}
  .publication-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
@media(max-width:760px){
  .main-nav .menu,.main-nav ul{display:grid;gap:3px}
  .main-nav .sub-menu{position:static;display:grid;box-shadow:none}
  .section .container,.page-template-default .container,.archive .container,.single .container{width:min(100% - 30px,1240px)}
  .section{padding-block:64px}
  .section-head{align-items:start;flex-direction:column}
  .filter-panel{grid-template-columns:1fr}
  .single-publication,.single-music{grid-template-columns:1fr;gap:34px}
  .single-cover,.single-music-cover{position:static;max-width:430px}
  .author-grid,.post-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:540px){
  .publication-grid,.author-grid,.post-grid{grid-template-columns:1fr}
  .search-result-item{grid-template-columns:1fr}.search-result-item img{width:100%;height:auto;max-width:160px}
  .footer-bottom{align-items:flex-start;flex-direction:column}
}
