/* Shared identity for Entwurf B. Original colour SVGs are never filtered. */
:root { --site-header: 92px; --font-heading: "Cormorant Garamond", Georgia, serif; --font-body: "Lora", Georgia, serif; }
html { scroll-padding-top: calc(var(--site-header) + 20px); }
.site-nav { min-height: var(--site-header); padding: 0 var(--gutter) !important; gap: clamp(12px, 2vw, 28px); align-items: center; }
.site-nav:not(.ist-papier) { background: linear-gradient(#100f0ee8, #100f0eaa 65%, #100f0e00) no-repeat; }
.site-nav.ist-papier { background: #f3f2f2f5; }
.landing-nav.ist-papier { background: var(--papier) !important; color: var(--tinte) !important; }
.landing-nav:not(.ist-papier) { background: linear-gradient(#100f0eb8, #100f0e00) no-repeat !important; border-bottom: 0 !important; }
.site-nav .site-marke { display: flex; flex: none; margin-right: auto; padding: 0; background: transparent; align-self: center; justify-content: center; }
.site-marke img { display: block; width: 120px; height: auto; filter: none; }
.site-nav .nav-links { display: flex; gap: clamp(18px, 2.2vw, 30px); font-size: 14px; }
.site-nav .nav-links a { color: inherit; text-decoration: none; opacity: .9; padding-block: 12px; }
.site-nav .nav-links a:hover, .site-nav .nav-links a[aria-current] { color: var(--messing-hell); opacity: 1; }
.site-nav.ist-papier .nav-links a:hover, .site-nav.ist-papier .nav-links a[aria-current] { color: var(--messing-tief); }
.site-nav .nav-links a[aria-current]::after { bottom: 6px; }
.site-nav .nav-cta { display: inline-flex; flex-shrink: 0; min-height: 44px; font: 400 14px/1.2 var(--font-text) !important; padding: 11px 16px; }
.site-nav .nav-menu { flex-shrink: 0; color: inherit; }
.site-nav .site-language { display: inline-flex; align-items: center; justify-content: center; flex: none; min-width: 44px; min-height: 44px; border: 1px solid color-mix(in srgb, currentColor 35%, transparent); border-radius: 4px; color: inherit; font: 600 13px/1 var(--font-text); letter-spacing: .06em; text-decoration: none; }
.site-nav .site-language:hover { background: color-mix(in srgb, currentColor 9%, transparent); border-color: currentColor; }
@media (min-width: 1081px) and (max-width: 1250px) {
  .site-nav:has(.site-language), .site-nav:has(.site-language) .nav-links { gap: 12px !important; }
}
.landing-nav .nav-cta { color: inherit; }
.site-nav a:focus-visible, .site-nav button:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.site-nav .site-marke:focus-visible { outline: 2px solid var(--messing-tief); outline-offset: -6px; }
.vitrine { padding-top: 160px; }
.journal-shell { padding-top: 174px; }
.site-meisterzeichen { display: block; width: 64px; height: auto; margin: 32px 0; }
.landing-model-table { max-width: 100%; overflow-x: auto; }
.landing-model-table table { min-width: 350px; }
.landing-model-table:focus-visible { outline-color: var(--messing-tief); }
.modelle-kopf .site-meisterzeichen { margin-top: 0; margin-bottom: 36px; }
.site-footer { position: relative; z-index: 8; padding: 0; background: var(--nacht-2); color: var(--bein); border: 0; }
.site-brand-band { display: flex; align-items: center; justify-content: space-between; gap: 56px; padding: 64px var(--gutter); background: var(--papier); color: var(--tinte); border-top: 1px solid var(--tinte-16); }
.site-footer .fuss-marken { display: flex; align-items: center; flex-shrink: 0; gap: 52px; margin: 0; }
.site-footer .fuss-logo { width: 200px; height: auto; opacity: 1; }
.site-footer .fuss-aa { width: 80px; height: auto; opacity: 1; }
.site-footer .fuss-trenner { width: 1px; height: 64px; background: var(--tinte-16); }
.site-brand-band p { font: 400 clamp(23px, 2.4vw, 34px)/1.25 var(--font-display); margin: 0; }
.site-brand-band p span { display: inline-block; font: 400 14px/1.7 var(--font-text); color: var(--tinte-70); margin-top: 10px; }
.site-footer-inner { padding: 64px var(--gutter) 28px; }
.site-footer .fuss-spalten { gap: 32px; }
.site-footer .kicker { color: var(--messing-hell); }
.site-footer .fuss-spalten a { overflow-wrap: anywhere; }
.site-footer a:focus-visible { outline-color: var(--messing-hell); }
.site-brand-band a:focus-visible { outline-color: var(--messing-tief); outline-offset: 12px; }
.werkstatt-foto img { border: 6px solid var(--papier-2); outline: 1px solid var(--tinte-16); }
.werkstatt-abschnitt, #modelle, #anfrage { scroll-margin-top: 20px !important; }
.werkstatt-titel { font-family: var(--font-display); }
.werkstatt-text p { color: var(--tinte-70); line-height: var(--lh-body); }
.kontakt input, .kontakt textarea, .editor-form input, .editor-form textarea, .editor-form select { min-height: 46px; border-color: var(--tinte-16); border-radius: var(--radius); font-size: 16px; }
.papier :is(input, textarea, select):focus-visible, .kontakt :is(input, textarea):focus-visible { outline: 2px solid var(--messing); outline-offset: 2px; }
.kontakt > div > a, .editor-actions > a { color: var(--messing-tief); text-underline-offset: 4px; }
.profile-avatar { width: 96px; height: 96px; border: 0; border-radius: 0; }
.profile-avatar img { width: 48px; height: 48px; }
.post-avatar { width: 40px; height: 40px; margin: 8px; }
.post-fulltext { font-size: 15px; line-height: 1.75; }
.view-switch button, .source-switch button, .year-filter select { min-height: 44px; }
.warenkorb { top: calc(var(--site-header) + 20px); scroll-margin-top: 20px; }
.produkt-kategorie { scroll-margin-top: 20px; }
.produkt h4 { hyphens: auto; overflow-wrap: anywhere; }
.editor-form input[type=file] { white-space: normal; max-width: 100%; font-size: 13px; padding: 10px 0; border: 0; }
.site-nav .nav-links .site-mobile-contact { display: none; }
@media (max-width: 1080px) {
  .site-nav .nav-links { display: none; }
  .site-nav .nav-menu { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: none; border: 0; cursor: pointer; }
  .site-nav.menue-offen .nav-links, .site-nav .nav-links.ist-offen { display: flex; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; gap: 0; padding: 12px var(--gutter) 24px; background: var(--papier); color: var(--tinte); border-bottom: 1px solid var(--tinte-16); max-height: calc(100svh - var(--site-header)); overflow-y: auto; box-shadow: 0 20px 32px #100f0e20; }
  .site-nav .nav-links a { display: block !important; min-height: 48px; border-bottom: 1px solid var(--tinte-16); }
  .site-nav .nav-links a:hover, .site-nav .nav-links a[aria-current] { color: var(--messing-tief); }
  .site-nav .nav-links a[aria-current]::after { display: none; }
  .site-brand-band { flex-direction: column; align-items: flex-start; gap: 52px; }
}
@media (max-width: 600px) {
  :root { --site-header: 80px; }
  .site-nav { gap: 10px !important; padding-inline: 16px !important; }
  .site-nav .nav-cta { padding-inline: 12px; font-size: 13px !important; }
  .landing-sound { min-width: 32px; min-height: 44px; }
  .landing-sound > span { display: none; }
  .landing-nav .nav-cta { display: none !important; }
  .site-footer .fuss-marken { gap: 40px; }
  .site-footer .fuss-logo { width: 150px; }
  .site-footer .fuss-aa { width: 56px; }
  .site-footer .fuss-trenner { height: 48px; }
  .site-brand-band { padding-block: 48px; }
  .site-footer .fuss-spalten { grid-template-columns: 1fr 1fr; gap: 36px 24px; }
  .site-footer .fuss-spalten a, .site-footer .fuss-spalten p { font-size: 13px; }
  .journal-shell { padding-top: 160px; }
  .profile-avatar { width: 80px; height: 80px; }
  .profile-avatar img { width: 40px; height: 40px; }
  .instagram-link { margin-left: 92px; }
  .shop-page .nav-cta { display: none; }
  .site-nav .nav-warenkorb { margin-left: auto; color: inherit; }
}
@media (max-width: 370px) {
  .produkt-raster { grid-template-columns: 1fr; }
  .site-nav:has(.nav-menu) .nav-cta { display: none !important; }
  .site-nav:not(:has(.nav-menu)) { padding-inline: 10px !important; gap: 8px !important; }
  .site-nav:not(:has(.nav-menu)) .nav-cta { padding-inline: 8px; font-size: 12px !important; }
  .site-nav .nav-warenkorb { font-size: 0; gap: 0; }
  .site-footer .fuss-spalten { grid-template-columns: 1fr; }
  .site-footer .fuss-logo { width: 120px; }
  .site-footer .fuss-marken { gap: 32px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* The approved top-level groups use accessible disclosure subnavigation. */
.site-nav .nav-links { align-items: center; }
.nav-group { position: relative; }
.nav-group-top { display: flex; align-items: center; gap: 2px; }
.site-nav .nav-disclosure { border: 0; background: none; color: inherit; font: inherit; min-height: 44px; padding: 10px 4px; cursor: pointer; }
.site-nav .nav-disclosure-icon { min-width: 28px; }
.site-nav .nav-disclosure[aria-expanded="true"], .site-nav .nav-disclosure.is-current { color: var(--messing-hell); }
.site-nav.ist-papier .nav-disclosure[aria-expanded="true"], .site-nav.ist-papier .nav-disclosure.is-current { color: var(--messing-tief); }
.site-nav .nav-submenu { display: none; position: absolute; top: 100%; left: 0; min-width: 240px; padding: 8px; border: 1px solid var(--tinte-16); background: var(--papier); color: var(--tinte); box-shadow: 0 12px 24px #100f0e20; z-index: 40; }
.site-nav .nav-submenu[hidden] { display: none !important; }
.site-nav .nav-submenu.ist-offen:not([hidden]) { display: block; }
.site-nav .nav-submenu a { display: block; white-space: nowrap; padding: 12px 14px; }
.site-nav .nav-submenu a:hover, .site-nav .nav-submenu a[aria-current] { color: var(--messing-tief); }
.site-nav .nav-submenu a[aria-current]::after { display: none; }
@media (max-width: 1080px) {
  .site-nav .nav-links { align-items: stretch; }
  .nav-group-top { justify-content: space-between; }
  .nav-group-top > a { flex: 1; }
  .site-nav .nav-disclosure { text-align: left; min-height: 48px; }
  .site-nav .nav-disclosure-icon { text-align: center; min-width: 48px; }
  .site-nav .nav-group > .nav-disclosure { width: 100%; border-bottom: 1px solid var(--tinte-16); }
  .site-nav .nav-submenu { position: static; min-width: 0; padding: 0 0 0 16px; border: 0; border-left: 1px solid var(--tinte-16); box-shadow: none; }
  .site-nav .nav-submenu a { white-space: normal; }
}

#grifftabellen { scroll-margin-top: 120px; }

/* A compact, opaque paper header separates navigation from scrolling content. */
.site-nav.ist-gescrollt { min-height: 72px; background: var(--papier-2) !important; color: var(--tinte) !important; box-shadow: 0 1px 0 var(--tinte-16), 0 6px 18px #100f0e0d; backdrop-filter: none; }
.site-nav.ist-gescrollt .site-marke img { width: 100px; }
.site-nav.ist-gescrollt .nav-submenu { background: var(--papier-2); }
.site-nav.ist-gescrollt .nav-links a:hover, .site-nav.ist-gescrollt .nav-links a[aria-current], .site-nav.ist-gescrollt .nav-disclosure[aria-expanded="true"], .site-nav.ist-gescrollt .nav-disclosure.is-current, .site-nav.ist-gescrollt .nav-cta { color: var(--messing-tief); }
@media (max-width: 600px) { .site-nav.ist-gescrollt { min-height: 68px; } .site-nav.ist-gescrollt .site-marke img { width: 96px; } }
