/* Minimal corrections; existing colors, grids and section sizing are retained. */
:where(img, picture, video, canvas) { min-width: 0; max-width: 100%; }
:where(img) { height: auto; }
:where(h1,h2,h3,h4,h5,h6) { overflow-wrap: break-word; }
:where(.site-main) { width: 100%; min-width: 0; display: block; }
:where(.site-main > section) { min-width: 0; }
:where(.site-main a) { text-underline-offset: .2em; }
:where(p,li) { overflow-wrap: break-word; }
:where(button, input, textarea, select) { max-width: 100%; }
:where(.nav-section) { isolation: isolate; }
.nav-section-hamburger, .nav-section-close { appearance: none; border: 0; background: none; cursor: pointer; }
.nav-section-mobile-overlay { top: 0; right: 0; bottom: 0; left: 0; height: 100dvh; min-height: 100vh; max-height: 100dvh; overscroll-behavior: contain; }
.nav-section.menu-open { backdrop-filter: none; -webkit-backdrop-filter: none; z-index: 12000; }
.nav-section.menu-open .nav-section-mobile-overlay { display: flex; }
body.site-menu-open { overflow: hidden; }
.nav-section-close { flex-shrink: 0; }
.nav-section-hamburger:focus-visible, .nav-section-close:focus-visible, .nav-section-mobile-link:focus-visible { outline: 3px solid var(--color-secondary); outline-offset: 4px; }
.nav-section-overlay-links a { cursor: pointer; }
.nav-section-overlay-links a:focus-visible .nav-section-mobile-link { text-decoration: underline; }
.site-skip-link { position: fixed; top: -120px; left: 8px; z-index: 20000; padding: 10px 16px; border-radius: 0 0 6px 6px; color: #fff; background: var(--color-primary); font: 600 14px/1.3 system-ui,sans-serif; text-decoration: none; }
.site-skip-link:focus { top: 0; }
.footer-text-contact { color: inherit; font: inherit; cursor: text; }
.celuna-footer-legal { width: 100%; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 10px 24px; padding-top: 16px; margin-top: 16px; border-top: 1px solid color-mix(in srgb,#ffffff 13%,transparent); }
.celuna-footer-legal a { font-family: var(--font-family-body); font-size: var(--font-size-sm); color: #fff; opacity: .88; line-height: 1.5; text-decoration: none; }
.celuna-footer-legal a:hover, .celuna-footer-legal a:focus-visible { color: var(--color-secondary); opacity: 1; text-decoration: underline; }
.legal-content { width: 100%; max-width: 860px; margin: 0 auto; padding: 64px 32px 72px; box-sizing: border-box; color: var(--color-on-surface); font-family: var(--font-family-body); line-height: 1.75; }
.legal-content h1 { font-family: var(--font-family-heading); font-size: clamp(2rem,5vw,3.1rem); line-height: 1.2; color: var(--color-on-surface); margin: 0 0 16px; font-weight: 600; }
.legal-content h2 { color: var(--color-on-surface); font-family: var(--font-family-heading); font-size: clamp(1.3rem,2vw,1.65rem); line-height: 1.3; margin: 34px 0 12px; font-weight: 600; }
.legal-content p { color: var(--color-on-surface-secondary); font-size: 15px; line-height: 1.8; margin: 0 0 16px; }
.legal-content a { color: var(--color-primary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-content a:hover { color: var(--color-accent); }
.legal-content .legal-updated { font-size: 14px; margin-bottom: 24px; }
.legal-content .legal-back { display: inline-flex; margin-top: 24px; border: 1px solid var(--color-primary); padding: 10px 20px; border-radius: var(--border-radius-md); text-decoration: none; color: var(--color-primary); }
.legal-content .legal-back:hover { background: var(--color-primary); color: #fff; }
.form-message-status { color: var(--color-on-surface); display: block; padding: 12px; border-left: 3px solid var(--color-primary); background: var(--color-surface-tint); font-size: var(--font-size-sm); line-height: 1.5; margin-top: 10px; }
.form-copy-btn { cursor: pointer; border: 1px solid var(--color-primary); color: var(--color-primary); padding: .65rem 1.2rem; border-radius: var(--border-radius-md); background: var(--color-surface); font-size: var(--font-size-sm); }
.form-copy-btn[hidden], .form-message-status[hidden] { display: none !important; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .nav-section { background: #101919; } }
@media(max-width: 767px) {
 .nav-section-mobile-overlay { padding: 16px 20px max(24px, env(safe-area-inset-bottom)); }
 .nav-section-overlay-header { margin-bottom: 22px; gap: 14px; }
 .nav-section-overlay-links { gap: clamp(12px,3vh,25px); margin-bottom: 20px; }
 .nav-section-mobile-link { font-size: clamp(1.3rem, 5vw, 1.75rem); }
 .nav-section-footer-subtext { overflow-wrap: anywhere; }
 .legal-content { padding: 36px 20px 60px; }
 .legal-content h1 { font-size: clamp(1.5rem,7vw,2.4rem); }
 .celuna-footer-legal { justify-content: flex-start; }
 .site-main h1 { overflow-wrap: anywhere; }
}
@media(max-width: 479px) {
 .nav-section-bar { padding-left: 14px; padding-right: 14px; }
 .nav-section-logo-link { min-width: 0; }
 .logo-brand-name { font-size: clamp(.78rem,3.6vw,1rem); }
 .logo-brand-tagline { font-size: clamp(.65rem,2.7vw,.85rem); }
 .legal-content { padding-inline: 18px; }
 .site-main .btn { white-space: normal; text-align: center; }
}
/* Fix the contact e-mail's intrinsic flex minimum at 320–360px. */
.kontakt-channel-link { min-width: 0; }
.kontakt-channel-text, .kontakt-channel-val, .kontakt-channel-label { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.kontakt-channel-link:hover { box-shadow: none; border-color: var(--color-outline); }
/* Second narrow-screen contact row has the same long e-mail minimum issue. */
.kontakt-rail-item { min-width: 0; }
.kontakt-item-body, .kontakt-item-label, .kontakt-item-val, .kontakt-item-sub, .kontakt-item-link { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
