html[data-modus='dunkel'] {
  color-scheme: dark;
  --paper: #0a0a0a;
  --white: #161616;
  --ink: #f3f1eb;
  --muted: #bcbdb8;
  --line: #353632;
  --green: #9fc7ad;
}
html:not([data-modus='dunkel']) { color-scheme: light; }
html[data-modus='dunkel'] .announcement,
html[data-modus='dunkel'] .finder,
html[data-modus='dunkel'] .closing { background: #151714; }
html[data-modus='dunkel'] .origin { background: #161916; color: #f3f1eb; }
html[data-modus='dunkel'] footer { background: #050505; }
html[data-modus='dunkel'] :is(.finder-intro>p,.config-steps,.config-panel>p:not(.form-note),.form-note,.closing-note,.input-label>span) { color: var(--muted); }
html[data-modus='dunkel'] :is(.button-dark,.nav-shop,.closing .button) { background: #ce2b37; color: #fff; }
html[data-modus='dunkel'] :is(.button-dark,.nav-shop,.closing .button):hover { background: #ad202b; }
html[data-modus='dunkel'] :is(.header nav>a:not(.nav-shop),.text-link):hover { color: #eab7ba; }
html[data-modus='dunkel'] :is(.config-panel,.steps-grid>div,.faq details) { border-color: var(--line); }
html[data-modus='dunkel'] .notice { background: #24221b; color: #eee6cc; }
.modus-toggle { position: fixed; right: max(16px,env(safe-area-inset-right)); bottom: max(16px,env(safe-area-inset-bottom)); z-index: 30; border: 1px solid #f3f1eb; border-radius: 999px; padding: 12px 18px; min-height: 44px; background: #ce2b37; color: #fff; font: 700 13px Arial,sans-serif; box-shadow: 0 3px 16px #0003; }
.modus-toggle:hover { background: #ad202b; }
@media print { .modus-toggle { display: none; } }
.partner-links { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; padding: 24px 0; border-top: 1px solid #ffffff26; font-size: 12px; line-height: 1.6; }
.partner-links strong { font-weight: 600; }
.partner-links a { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 760px) { .partner-links { flex-direction: column; align-items: flex-start; gap: 12px; } }

.modus-toggle-header { position: static; flex: 0 0 auto; box-shadow: none; padding: 10px 14px; min-width: 88px; }
@media (min-width: 761px) and (max-width: 1200px) { .header nav { gap: 12px; } .header { gap: 12px; } .header .wordmark { width: 230px; } }
@media (max-width: 760px) { .header { height: 148px; padding-bottom: 46px; } .header .modus-toggle-header { position: absolute; bottom: 8px; left: 50%; transform: translateX(-50%); min-height: 36px; padding: 7px 14px; } }

.announcement { gap: 12px; align-items: center; }
.announcement-message { display: flex; flex-wrap: wrap; gap: 4px 16px; line-height: 1.5; }
.announcement-message strong { font-weight: 700; }
.announcement>span:last-child { white-space: nowrap; }
@media (max-width: 760px) { .announcement-message { flex-direction: column; gap: 2px; } }

#hero-title .italy-green { color: #008c45; }
#hero-title .italy-white { color: #fff; -webkit-text-stroke: 1px #252923; paint-order: stroke fill; }
#hero-title .italy-red { color: #cd212a; }
html[data-modus="dunkel"] #hero-title .italy-green { color: #21b56c; }
html[data-modus="dunkel"] #hero-title .italy-white { -webkit-text-stroke: 0; }
html[data-modus="dunkel"] #hero-title .italy-red { color: #ef4b55; }

.announcement-message strong, .footer-brand strong { font: inherit; letter-spacing: inherit; }

/* Subtle Italian signature for supporting headings. */
main :is(h1:not(#hero-title), h2, h3)::after { content: ''; display: block; width: 42px; height: 3px; margin-top: 14px; border-radius: 2px; background: linear-gradient(90deg, #008c45 0 33.333%, #fff 33.333% 66.666%, #cd212a 66.666% 100%); box-shadow: 0 0 0 1px #7773; }
main h3::after { width: 30px; height: 2px; margin-top: 9px; }
.closing h2::after { margin-inline: auto; }
