/* assets/css/sun.css – Produktseite SUN (plugins_sun.php). Look wie das Plugin: Luxus-Produktfoto, tiefes Schwarz,
   feine Gold-Haarlinien, Inter Tight (Kapitälchen-Labels) + Cormorant Garamond (Titel/Werte, aufrecht – keine Kursiv-Überschriften).
   Header, Menüs, Footer und Scroll-Leiste sind hier mit angepasst. Schriften: SIL OFL 1.1. */
@font-face { font-family: 'Inter Tight'; src: url('/fonts/inter-tight-latin-300-normal.woff2') format('woff2'); font-weight: 300; font-display: swap; }
@font-face { font-family: 'Inter Tight'; src: url('/fonts/inter-tight-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Inter Tight'; src: url('/fonts/inter-tight-latin-500-normal.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Cormorant Garamond'; src: url('/fonts/cormorant-garamond-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Cormorant Garamond'; src: url('/fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2'); font-weight: 500; font-display: swap; }

.is-sun {
    --bg: #060606; --gold: #d6a24e; --gold-hi: #f2c46d; --ink: #ede4d3; --dim: #a39883; --hair: rgba(214, 162, 78, .3);
    --tight: 'Inter Tight', 'Geist', system-ui, sans-serif; --garamond: 'Cormorant Garamond', 'Times New Roman', serif;
    background: var(--bg); color: var(--ink); font-family: var(--tight); font-weight: 300;
}
.is-sun ::selection { background: var(--gold); color: #000; }
.sun { overflow-x: clip; }
.sun h1, .sun h2, .sun h3 { color: var(--ink); }

/* Labels in Kapitälchen-Optik (weit gesperrt), Titel in Garamond */
.sun-kicker, .sun-crumb, .sun-sub, .sun-tags, .sun-btn, .sun-frame figcaption, .sun-fx-tabs b, .sun-badges span, .sun-fx-copy dt, .sun-specs th, .sun-specs caption, .sun-facts span, .sun-topics legend, .sun-field > span {
    font-family: var(--tight); font-weight: 500; text-transform: uppercase; letter-spacing: .26em; font-size: .7rem;
}
.sun-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.sun-btn { display: inline-flex; align-items: center; gap: 10px; padding: 15px 24px; color: var(--ink); text-decoration: none; border: 1px solid var(--hair); background: transparent; cursor: pointer; transition: border-color .3s, color .3s, background-color .3s, box-shadow .3s; }
.sun-btn:hover { border-color: var(--gold); color: var(--gold-hi); box-shadow: 0 0 30px -10px var(--gold); }
.sun-btn.is-solid { background: linear-gradient(180deg, var(--gold-hi), var(--gold)); color: #120c04; border-color: transparent; }
.sun-btn.is-solid:hover { color: #120c04; box-shadow: 0 0 40px -8px var(--gold); }
.sun-btn:focus-visible, .sun-fx-tabs button:focus-visible, .sun-presets button:focus-visible { outline: 1px solid var(--gold-hi); outline-offset: 4px; }

/* Hero */
.sun-hero { position: relative; padding: calc(var(--header-h) + clamp(30px, 5vw, 70px)) 0 clamp(70px, 9vw, 130px); }
.sun-hero-glow { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(50% 60% at 72% 45%, rgba(214, 140, 40, .14), transparent 70%); }
.sun-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(30px, 5vw, 80px); align-items: center; }
.sun-crumb { color: var(--dim); margin: 0 0 34px; }
.sun-crumb a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--hair); }
.sun-crumb a:hover { border-color: var(--gold); }
.sun-name { position: relative; display: inline-block; margin: 0; font: 300 clamp(4.4rem, 11vw, 9rem)/.9 var(--tight); letter-spacing: .32em; margin-right: -.32em; }
.sun-name span { position: absolute; top: .02em; right: -.05em; width: .1em; height: .1em; border-radius: 50%; background: var(--gold-hi); box-shadow: 0 0 18px var(--gold); }
.sun-sub { color: var(--gold); margin: 22px 0 34px; letter-spacing: .5em; }
.sun-claim { margin: 0 0 22px; font: 500 clamp(2rem, 3.6vw, 3.1rem)/1.05 var(--garamond); text-wrap: balance; }
.sun-claim em { color: var(--gold-hi); }
.sun-lead { color: var(--dim); font-size: 1.08rem; line-height: 1.75; max-width: 34em; margin: 0 0 28px; }
.sun-tags { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 0; margin: 0 0 34px; color: var(--dim); }
.sun-tags li + li::before { content: ''; display: inline-block; width: 4px; height: 4px; margin: 0 22px 2px -13px; border-radius: 50%; background: var(--gold); vertical-align: middle; }
.sun-orb { position: relative; margin: 0; aspect-ratio: 1; }
.sun-orb video { width: 100%; height: 100%; object-fit: cover; -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 55%, transparent 71%); mask-image: radial-gradient(circle at 50% 50%, #000 55%, transparent 71%); }

/* Abschnitte */
.sun-sec { padding: clamp(70px, 10vw, 140px) 0; }
.sun-head { max-width: 780px; margin: 0 auto clamp(36px, 5vw, 60px); text-align: center; }
.sun-kicker { color: var(--gold); margin: 0 0 18px; display: inline-flex; align-items: center; gap: 16px; }
.sun-kicker::before, .sun-kicker::after { content: ''; width: 40px; height: 1px; background: var(--hair); }
.sun-head h2 { margin: 0 0 18px; font: 500 clamp(2.3rem, 5vw, 4rem)/1 var(--garamond); letter-spacing: -.005em; }
.sun-head p:last-child { color: var(--dim); margin: 0 auto; max-width: 40em; line-height: 1.75; font-size: 1.04rem; }

/* Rahmen um UI-Videos: Gold-Haarlinie wie im Plugin */
.sun-frame { position: relative; margin: 0; padding: 10px; border: 1px solid var(--hair); background: #050505; box-shadow: 0 50px 100px -40px rgba(214, 140, 40, .28); }
.sun-frame video { display: block; width: 100%; height: auto; aspect-ratio: 996 / 676; background: #060606; }
.sun-frame figcaption { position: absolute; left: 50%; bottom: -12px; transform: translateX(-50%); padding: 4px 14px; background: var(--bg); color: var(--dim); white-space: nowrap; }
.sun-frame figcaption span { color: var(--gold); margin-right: 8px; }

/* Effekte */
.sun-fx { display: grid; gap: clamp(26px, 4vw, 44px); }
.sun-fx-tabs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair); }
.sun-fx-tabs button { position: relative; display: grid; justify-items: center; gap: 10px; padding: 18px 8px 16px; background: none; border: 0; color: var(--dim); cursor: pointer; text-align: center; transition: color .3s; }
.sun-fx-tabs button + button { border-left: 1px solid rgba(214, 162, 78, .14); }
.sun-fx-tabs img { width: 64px; height: 64px; border-radius: 50%; opacity: .55; transition: opacity .3s, transform .5s cubic-bezier(.2, .7, .2, 1); }
.sun-fx-tabs span { display: grid; gap: 6px; }
.sun-fx-tabs b { color: var(--ink); }
.sun-fx-tabs small { font: 400 1rem/1.2 var(--garamond); }
.sun-fx-tabs button::after { content: ''; position: absolute; left: 20%; right: 20%; bottom: -1px; height: 1px; background: var(--gold-hi); box-shadow: 0 0 12px var(--gold); transform: scaleX(0); transition: transform .4s; }
.sun-fx-tabs [aria-selected="true"], .sun-fx-tabs button:hover { color: var(--ink); }
.sun-fx-tabs [aria-selected="true"] img, .sun-fx-tabs button:hover img { opacity: 1; transform: scale(1.08); }
.sun-fx-tabs [aria-selected="true"]::after { transform: none; }
.sun-fx-panel { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: clamp(26px, 4vw, 60px); align-items: center; }
.sun-fx-copy h3 { margin: 0 0 14px; font: 500 clamp(2.4rem, 4.4vw, 3.6rem)/1 var(--garamond); letter-spacing: .06em; }
.sun-fx-copy h3 small { display: block; margin-top: 10px; font: 300 1rem/1.3 var(--tight); letter-spacing: .04em; color: var(--gold); }
.sun-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.sun-badges span { padding: 6px 10px; border: 1px solid var(--hair); color: var(--gold-hi); font-size: .62rem; }
.sun-fx-copy dl { display: grid; gap: 18px; margin: 0; }
.sun-fx-copy dl > div { padding-top: 16px; border-top: 1px solid rgba(214, 162, 78, .16); }
.sun-fx-copy dt { color: var(--gold); margin-bottom: 8px; }
.sun-fx-copy dd { margin: 0; color: var(--dim); line-height: 1.7; }
.sun-fx-copy ul { list-style: none; display: grid; gap: 6px; padding: 0; margin: 0; }
.sun-fx-copy li b { color: var(--ink); font-weight: 500; letter-spacing: .14em; font-size: .76rem; margin-right: 8px; }

/* Presets */
.sun-presets { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 28px); padding: 0; margin: 0; }
.sun-presets button { display: grid; width: 100%; padding: 0; background: none; border: 1px solid rgba(214, 162, 78, .16); color: inherit; text-align: left; cursor: zoom-in; transition: border-color .3s, transform .5s cubic-bezier(.2, .7, .2, 1); }
.sun-presets button:hover { border-color: var(--gold); transform: translateY(-4px); }
.sun-presets img { display: block; width: 100%; height: auto; }
.sun-presets span { display: grid; gap: 4px; padding: 14px 16px 16px; border-top: 1px solid rgba(214, 162, 78, .16); }
.sun-presets b { font: 500 1.35rem/1.1 var(--garamond); color: var(--ink); }
.sun-presets small { color: var(--dim); font-size: .88rem; }

/* Details */
.sun-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: clamp(40px, 6vw, 70px); border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair); }
.sun-facts p { display: grid; justify-items: center; gap: 8px; margin: 0; padding: 30px 12px; text-align: center; }
.sun-facts p + p { border-left: 1px solid rgba(214, 162, 78, .14); }
.sun-facts strong { font: 500 clamp(2.6rem, 5vw, 4rem)/1 var(--garamond); color: var(--gold-hi); }
.sun-facts span { color: var(--dim); font-size: .62rem; }
.sun-details { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(30px, 5vw, 80px); align-items: start; }
.sun-features { list-style: none; display: grid; gap: 0; padding: 0; margin: 0; }
.sun-features li { position: relative; padding: 15px 0 15px 30px; border-bottom: 1px solid rgba(214, 162, 78, .12); color: var(--dim); line-height: 1.6; }
.sun-features li::before { content: ''; position: absolute; left: 4px; top: 23px; width: 7px; height: 7px; border-radius: 50%; background: radial-gradient(circle, var(--gold-hi), var(--gold)); box-shadow: 0 0 10px var(--gold); }
.sun-specs { width: 100%; border-collapse: collapse; }
.sun-specs caption { text-align: left; color: var(--gold); padding-bottom: 14px; }
.sun-specs th, .sun-specs td { padding: 14px 0; border-top: 1px solid rgba(214, 162, 78, .14); text-align: left; vertical-align: top; }
.sun-specs th { color: var(--dim); font-size: .64rem; width: 42%; }
.sun-specs td { font: 500 1.2rem/1.3 var(--garamond); color: var(--ink); }

/* CTA */
.sun-end { padding-bottom: clamp(80px, 11vw, 150px); }
.sun-cta { position: relative; max-width: 760px; margin: 0 auto; padding-top: clamp(150px, 20vw, 230px); text-align: center; }
.sun-cta img { position: absolute; top: 0; left: 50%; width: clamp(240px, 32vw, 360px); height: auto; transform: translateX(-50%); -webkit-mask-image: radial-gradient(circle, #000 52%, transparent 70%); mask-image: radial-gradient(circle, #000 52%, transparent 70%); opacity: .9; }
.sun-cta h2 { position: relative; margin: 0 0 16px; font: 500 clamp(2.8rem, 6vw, 4.8rem)/1 var(--garamond); }
.sun-cta p { position: relative; color: var(--dim); margin: 0 auto 30px; max-width: 34em; line-height: 1.7; }
.sun-cta .sun-actions { position: relative; justify-content: center; }

/* Dialoge */
.sun-dlg, .sun-lightbox { color: var(--ink); background: #070707; border: 1px solid var(--hair); border-radius: 0; box-shadow: 0 0 90px -30px var(--gold), 0 40px 80px -30px #000; }
.sun-dlg { width: min(560px, calc(100% - 32px)); padding: clamp(30px, 4vw, 46px); }
.sun-lightbox { width: min(1200px, calc(100% - 32px)); padding: 12px; max-height: 92svh; }
.sun-lightbox img { display: block; width: 100%; height: auto; }
.sun-lightbox p { margin: 12px 4px 4px; font: 500 1.3rem/1 var(--garamond); }
.sun-dlg::backdrop, .sun-lightbox::backdrop { background: rgba(0, 0, 0, .86); backdrop-filter: blur(4px); }
.sun-dlg-x { position: absolute; top: 16px; right: 16px; z-index: 2; width: 38px; height: 38px; display: grid; place-items: center; padding: 0; background: rgba(0, 0, 0, .6); color: var(--dim); border: 1px solid var(--hair); border-radius: 50%; cursor: pointer; }
.sun-dlg-x:hover { color: var(--gold-hi); border-color: var(--gold); }
.sun-dlg-t { margin: 0 48px 10px 0; font: 500 clamp(2.2rem, 5vw, 3rem)/1 var(--garamond); }
.sun-dlg-sub { margin: 0 0 24px; color: var(--dim); line-height: 1.65; }
.sun-dlg-sub a { color: var(--gold-hi); }
.sun-form { display: grid; gap: 20px; }
.sun-topics { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0; padding: 0; border: 0; }
.sun-topics legend { width: 100%; margin-bottom: 12px; padding: 0; color: var(--dim); font-size: .62rem; }
.sun-topics label { position: relative; cursor: pointer; }
.sun-topics input { position: absolute; opacity: 0; pointer-events: none; }
.sun-topics span { display: inline-block; padding: 4px 0 7px; font: 500 1.3rem/1 var(--garamond); color: var(--dim); border-bottom: 1px solid transparent; transition: color .2s, border-color .2s; }
.sun-topics input:checked + span { color: var(--ink); border-color: var(--gold-hi); box-shadow: 0 8px 12px -12px var(--gold); }
.sun-topics input:focus-visible + span { outline: 1px solid var(--gold-hi); outline-offset: 4px; }
.sun-field { display: grid; gap: 8px; }
.sun-field > span { color: var(--dim); font-size: .62rem; }
.sun-field em { font-style: normal; letter-spacing: .1em; text-transform: none; opacity: .7; }
.sun-field input, .sun-field textarea { width: 100%; padding: 10px 2px; font: 300 1.05rem/1.5 var(--tight); color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid var(--hair); border-radius: 0; resize: vertical; }
.sun-field textarea { border: 1px solid rgba(214, 162, 78, .22); padding: 10px 12px; }
.sun-field input:focus, .sun-field textarea:focus { outline: none; border-color: var(--gold-hi); }
.sun-field ::placeholder { color: rgba(163, 152, 131, .6); }
.sun-field [aria-invalid="true"] { border-color: #e2734a; }
.sun-err { font-size: .8rem; color: #e2734a; }
.sun-form .sun-btn { justify-self: start; }
.sun-dlg .sun-btn:disabled { opacity: .6; cursor: progress; }
.sun-dlg-done { text-align: center; padding: 10px 0 4px; }
.sun-dlg-done .sun-btn { margin-inline: auto; }
.sun-dlg-sun { display: block; width: 46px; height: 46px; margin: 4px auto 18px; border-radius: 50%; background: radial-gradient(circle at 40% 38%, #ffe7a6, var(--gold-hi) 40%, #c97a1c 75%); box-shadow: 0 0 30px 6px rgba(242, 196, 109, .45); }

/* ==========================================================================
   Header, Menüs und Footer im SUN-Look (nur auf body.is-sun)
   ========================================================================== */
.is-sun .site-header { --text: var(--ink); --muted: var(--dim); --surface-2: rgba(214, 162, 78, .08); --line: rgba(214, 162, 78, .18); --line-2: var(--hair); --glass: rgba(6, 6, 6, .8); color: var(--text); }
.is-sun .brand span { font: 400 .8rem/1 var(--tight); letter-spacing: .24em; text-transform: uppercase; }
.is-sun .nav-links { align-items: center; }
.is-sun .nav-links > li > a, .is-sun .nav-drop-btn { display: inline-flex; align-items: center; height: 34px; padding: 0 11px; font: 400 .68rem/1 var(--tight); letter-spacing: .16em; text-transform: uppercase; }
.is-sun .nav-pill { border-radius: 0; background: transparent; box-shadow: inset 0 -1px 0 var(--hair); }
.is-sun .nav-links a[aria-current="page"]::before, .is-sun .nav-drop-btn[aria-current="page"]::before { left: 50%; bottom: -1px; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%; background: var(--gold-hi); box-shadow: 0 0 10px var(--gold); }
.is-sun .icon-btn { font-family: var(--tight); }
.is-sun .search-btn kbd { border-radius: 0; border-color: var(--hair); }
.is-sun .nav-cta { background: transparent; color: var(--gold-hi); border: 1px solid var(--hair); border-radius: 0; box-shadow: none; font: 500 .64rem/1 var(--tight); letter-spacing: .24em; text-transform: uppercase; }
.is-sun .nav-cta:hover { background: linear-gradient(180deg, var(--gold-hi), var(--gold)); color: #120c04; border-color: transparent; }
.is-sun .login-btn { font: 400 .68rem/1 var(--tight); letter-spacing: .22em; text-transform: uppercase; }
.is-sun .menu-toggle { border-color: var(--hair); }
.is-sun .menu-toggle span { background: var(--gold-hi); }
/* beim Scrollen: durchgehende schwarze Leiste mit Gold-Haarlinie (keine schwebende Kapsel) */
.is-sun .site-header.is-scrolled, .is-sun .site-header.is-scrolled:is(:hover, :focus-within) { inset: 0 0 auto 0; height: 64px; padding: 0 clamp(16px, 3vw, 36px); border: 0; border-bottom: 1px solid var(--hair); border-radius: 0; background: rgba(6, 6, 6, .9); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: 0 20px 40px -24px rgba(214, 140, 40, .35); }
.is-sun .nav-menu, .is-sun .account-menu { --text: var(--ink); --muted: var(--dim); --surface-2: rgba(214, 162, 78, .08); --line: rgba(214, 162, 78, .14); border: 1px solid var(--hair); border-radius: 0; background: rgba(7, 7, 7, .98); box-shadow: 0 30px 60px -20px #000, 0 0 50px -30px var(--gold); }
.is-sun .nav-menu a { border-radius: 0; font: 400 .85rem/1.3 var(--tight); letter-spacing: 0; text-transform: none; }
.is-sun .nav-menu small { font-size: .76rem; letter-spacing: 0; }
.is-sun .nav-menu strong { font: 500 1.15rem/1.1 var(--garamond); }
.is-sun .nav-menu-ico { border-radius: 50%; background: transparent; border: 1px solid var(--hair); color: var(--gold-hi); }
.is-sun .mobile-menu { --text: var(--ink); --muted: var(--dim); --line: rgba(214, 162, 78, .14); --line-2: var(--hair); --surface-2: rgba(214, 162, 78, .08); background: radial-gradient(80% 45% at 50% 108%, rgba(214, 140, 40, .3), transparent 70%), var(--bg); color: var(--text); }
.is-sun .mobile-menu li a { font: 500 clamp(2rem, 9vw, 3rem)/1.05 var(--garamond); }
.is-sun .mobile-menu li a::before { font: 500 .62rem var(--tight); letter-spacing: .2em; color: var(--gold); }
.is-sun .mobile-menu li a:hover { color: var(--gold-hi); }
.is-sun .mobile-menu .btn-primary { background: linear-gradient(180deg, var(--gold-hi), var(--gold)); color: #120c04; border-radius: 0; box-shadow: none; font: 500 .74rem/1 var(--tight); letter-spacing: .22em; text-transform: uppercase; }
.is-sun .mobile-menu .chip { border-radius: 0; border-color: var(--hair); }
/* Footer: Horizont-Linie in Gold, eine Sonne geht unter */
.is-sun .site-footer { --text: var(--ink); --muted: var(--dim); --muted-2: var(--dim); --line: var(--hair); --bg-2: transparent; position: relative; overflow: hidden; background: radial-gradient(60% 120% at 50% 0%, rgba(214, 140, 40, .16), transparent 60%), #050505; border-top: 0; padding-top: 34px !important; text-align: center; }
.is-sun .site-footer::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--gold) 30%, var(--gold-hi) 50%, var(--gold) 70%, transparent); }
.is-sun .site-footer::after { content: ''; position: absolute; left: 50%; top: -22px; width: 44px; height: 44px; margin-left: -22px; border-radius: 50%; background: radial-gradient(circle at 50% 40%, #ffe7a6, var(--gold-hi) 40%, #c97a1c 78%); box-shadow: 0 0 34px 8px rgba(242, 196, 109, .35); clip-path: inset(50% 0 0 0); }
.is-sun .site-footer.is-compact .footer-bottom { justify-content: center; column-gap: 34px; padding: 18px 0 28px; font: 400 .62rem/1.8 var(--tight); letter-spacing: .24em; text-transform: uppercase; color: var(--dim); border-top: 0; }
.is-sun .footer-legal { justify-content: center; }
.is-sun .footer-legal a, .is-sun .footer-legal .linklike { font: inherit; letter-spacing: inherit; text-transform: inherit; color: var(--dim); }
.is-sun .footer-legal a:hover, .is-sun .footer-legal .linklike:hover { color: var(--gold-hi); }
.is-sun .to-top { background: rgba(6, 6, 6, .85); border-color: var(--hair); }
.is-sun .to-top:hover { background: linear-gradient(180deg, var(--gold-hi), var(--gold)); color: #120c04; }
.is-sun .to-top-ring circle { stroke: var(--gold-hi); }

/* Scroll-Leiste: Gold-Haarlinie mit Skala, Sonne wandert mit (ersetzt hier die Song-Waveform) */
.is-sun .wave-progress { display: none; }
.sun-scroll { --p: 0; position: fixed; z-index: 900; right: 14px; top: 50%; width: 30px; height: min(62vh, 540px); transform: translateY(-50%); cursor: pointer; touch-action: none; }
.sun-scroll-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; margin-left: -.5px; background: linear-gradient(var(--gold-hi) calc(var(--p) * 100%), rgba(214, 162, 78, .25) calc(var(--p) * 100%)); }
.sun-scroll-line::before { content: ''; position: absolute; left: -5px; right: -5px; top: 0; bottom: 0; background: repeating-linear-gradient(to bottom, rgba(214, 162, 78, .5) 0 1px, transparent 1px 10%); -webkit-mask-image: linear-gradient(90deg, #000 30%, transparent 30% 70%, #000 70%); mask-image: linear-gradient(90deg, #000 30%, transparent 30% 70%, #000 70%); }
.sun-scroll-sun { position: absolute; left: 50%; top: calc(var(--p) * 100%); width: 16px; height: 16px; margin: -8px 0 0 -8px; border-radius: 50%; background: radial-gradient(circle at 40% 38%, #fff3cf, var(--gold-hi) 42%, #c97a1c 80%); box-shadow: 0 0 calc(10px + (1 - var(--p)) * 8px) calc(2px + (1 - var(--p)) * 3px) rgba(242, 196, 109, .5); }
.sun-scroll-t { position: absolute; right: calc(100% + 8px); top: calc(var(--p) * 100%); padding: 5px 9px; font: 500 1rem/1 var(--garamond); color: var(--gold-hi); background: rgba(6, 6, 6, .9); border: 1px solid var(--hair); transform: translateY(-50%); opacity: 0; transition: opacity .2s; pointer-events: none; white-space: nowrap; }
.sun-scroll:hover .sun-scroll-t, .sun-scroll.is-active .sun-scroll-t { opacity: 1; }

@media (max-width: 1100px) { .sun-fx-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); } .sun-fx-tabs button:nth-child(4) { border-left: 0; } .sun-fx-tabs button:nth-child(n+4) { border-top: 1px solid rgba(214, 162, 78, .14); } }
@media (max-width: 960px) {
    .sun-hero-grid, .sun-fx-panel, .sun-details { grid-template-columns: 1fr; }
    .sun-orb { max-width: 520px; width: 100%; margin: 0 auto; order: -1; }
    .sun-presets { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; }
}
@media (max-width: 768px) {
    .sun-scroll { top: auto; bottom: 0; right: 0; left: 0; width: auto; height: 10px; transform: none; }
    .sun-scroll-line { left: 0; right: 0; top: 50%; bottom: auto; width: auto; height: 1px; margin: 0; background: linear-gradient(90deg, var(--gold-hi) calc(var(--p) * 100%), rgba(214, 162, 78, .25) calc(var(--p) * 100%)); }
    .sun-scroll-line::before { display: none; }
    .sun-scroll-sun { left: calc(var(--p) * 100%); top: 50%; width: 10px; height: 10px; margin: -5px 0 0 -5px; }
    .sun-scroll-t { display: none; }
}
@media (max-width: 640px) {
    .sun-name { font-size: clamp(3.6rem, 22vw, 5rem); }
    .sun-fx-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sun-fx-tabs img { width: 46px; height: 46px; }
    .sun-fx-tabs small { display: none; }
    .sun-presets { gap: 12px; }

    .sun-presets b { font-size: 1.1rem; }
    .sun-specs th { width: 46%; }
}
@media print { .sun-scroll { display: none; } }
@media (prefers-reduced-motion: reduce) { .sun-presets button, .sun-fx-tabs img { transition: none; } }

/* Header bei schmaleren Desktops: weniger Sperrung, damit Logo und Menü nicht kollidieren */
@media (max-width: 1360px) {
    .is-sun .brand span { letter-spacing: .16em; }
    .is-sun .nav-links > li > a, .is-sun .nav-drop-btn { padding: 0 9px; letter-spacing: .12em; }
}
/* Bildunterschrift am Handy umbrechen statt über den Rand zu laufen */
@media (max-width: 640px) {
    .sun-frame figcaption { white-space: normal; width: max-content; max-width: calc(100% - 32px); text-align: center; line-height: 1.5; }
}

/* ==========================================================================
   Hörproben: A/B-Player im Effekt-Panel + Play-Knöpfe auf den Preset-Karten
   ========================================================================== */
.sun-fx-side { display: grid; gap: 28px; }
.sun-ab { padding: 20px 22px 18px; border: 1px solid var(--hair); background: radial-gradient(120% 140% at 0 0, rgba(214, 162, 78, .08), transparent 60%); }
.sun-ab-label { margin: 0 0 16px; font: 500 .66rem/1 var(--tight); letter-spacing: .24em; text-transform: uppercase; color: var(--gold); }
.sun-ab-label span { margin-left: 8px; letter-spacing: .08em; text-transform: none; color: var(--dim); font-weight: 400; }
.sun-ab-row { display: flex; align-items: center; gap: 18px; }
.sun-ab-play, .sun-pre-play { position: relative; flex: none; width: 52px; height: 52px; padding: 0; border-radius: 50%; border: 1px solid var(--hair); cursor: pointer;
    background: radial-gradient(circle at 40% 38%, #fff3cf, var(--gold-hi) 42%, #c97a1c 82%); box-shadow: 0 0 22px 2px rgba(242, 196, 109, .35); transition: transform .3s, box-shadow .3s; }
.sun-ab-play:hover, .sun-pre-play:hover { transform: scale(1.06); box-shadow: 0 0 30px 6px rgba(242, 196, 109, .5); }
.sun-ab-play span, .sun-pre-play i { position: absolute; inset: 0; margin: auto; width: 0; height: 0; border-style: solid; border-width: 8px 0 8px 13px; border-color: transparent transparent transparent #1a0f03; transform: translateX(2px); }
.sun-ab-play[aria-pressed="true"] span, .sun-pre-play[aria-pressed="true"] i { width: 12px; height: 14px; border: 0; border-left: 4px solid #1a0f03; border-right: 4px solid #1a0f03; transform: none; }
.sun-ab-play[aria-pressed="true"], .sun-pre-play[aria-pressed="true"] { animation: sun-pulse 2.4s ease-in-out infinite; }
@keyframes sun-pulse { 50% { box-shadow: 0 0 36px 10px rgba(242, 196, 109, .55); } }
.sun-ab-switch { display: flex; border: 1px solid var(--hair); }
.sun-ab-switch button, .sun-ab-modes button { padding: 11px 16px; background: none; border: 0; color: var(--dim); cursor: pointer; font: 500 .66rem/1 var(--tight); letter-spacing: .2em; text-transform: uppercase; transition: color .2s, background-color .2s; }
.sun-ab-switch button + button { border-left: 1px solid var(--hair); }
.sun-ab-switch [aria-pressed="true"] { background: linear-gradient(180deg, var(--gold-hi), var(--gold)); color: #120c04; }
.sun-ab-switch button:hover:not([aria-pressed="true"]), .sun-ab-modes button:hover { color: var(--ink); }
.sun-ab-modes { display: flex; flex-wrap: wrap; gap: 4px 2px; margin-top: 14px; }
.sun-ab-modes[hidden] { display: none; }
.sun-ab-modes button { padding: 8px 10px; position: relative; }
.sun-ab-modes [aria-pressed="true"] { color: var(--gold-hi); }
.sun-ab-modes [aria-pressed="true"]::after { content: ''; position: absolute; left: 10px; right: 10px; bottom: 2px; height: 1px; background: var(--gold-hi); }
.sun-ab-bar { height: 1px; margin-top: 16px; background: rgba(214, 162, 78, .2); }
.sun-ab-bar span { display: block; height: 100%; background: var(--gold-hi); box-shadow: 0 0 8px var(--gold); transform: scaleX(0); transform-origin: left; }
.sun-ab button:focus-visible, .sun-pre-play:focus-visible { outline: 1px solid var(--gold-hi); outline-offset: 3px; }
.sun-presets li { position: relative; }
.sun-presets .sun-pre-play { position: absolute; right: 16px; bottom: 22px; display: block; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--hair); background: radial-gradient(circle at 40% 38%, #fff3cf, var(--gold-hi) 42%, #c97a1c 82%); }
.sun-presets .sun-pre-play:hover { transform: scale(1.06); border-color: var(--hair); }
.sun-pre-play i { border-width: 7px 0 7px 11px; }
.sun-pre-play[aria-pressed="true"] i { width: 10px; height: 12px; border-left-width: 3px; border-right-width: 3px; }
@media (max-width: 640px) { .sun-ab { padding: 16px; } .sun-ab-row { gap: 12px; } .sun-ab-switch button { padding: 11px 12px; letter-spacing: .14em; } .sun-ab-label span { display: block; margin: 8px 0 0; } }
@media (prefers-reduced-motion: reduce) { .sun-ab-play, .sun-pre-play { animation: none !important; transition: none; } }
.sun-presets span { padding-right: 70px; }
