/* Lokale Denominazione-Gestaltung mit gezielten Bernina-Grün-Akzenten. */
@font-face {
  font-family: 'Style Script';
  src: url('../fonts/style-script.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
.bernina-hand {
  font-family: 'Style Script', cursive;
  font-weight: 400;
  font-style: normal;
  font-size: 1.2em;
  line-height: 1;
  letter-spacing: 0;
  color: var(--verdigris);
}
h1 .bernina-hand { display: inline-block; }
header .nav-link { color: var(--verdigris); }
header .nav-link:hover, header .nav-link.is-active { border-bottom: 1px solid var(--green-bright); }
.certificate-frame:not(.certificate-frame--dark) {
  border-color: var(--green-bright);
  box-shadow:
    inset 0 0 0 7px var(--parchment),
    inset 0 0 0 8px var(--green-bright),
    inset 0 0 0 9px var(--parchment),
    inset 0 0 0 10.5px var(--ink);
}
.certificate-frame:not(.certificate-frame--dark) > .cartouche { color: var(--green-bright); }
.stamp-btn:not(.stamp-btn--seal):not(.stamp-btn--ink):not(.stamp-btn--ghost-dark) { color: var(--verdigris); }
.stamp-btn:not(.stamp-btn--seal):not(.stamp-btn--ink):not(.stamp-btn--ghost-dark):hover { background: color-mix(in srgb, var(--green-bright) 8%, var(--parchment)); }
[data-filter][aria-pressed="true"] { background: var(--verdigris); border-color: var(--verdigris); color: var(--parchment); }
footer { border-top-color: var(--green-bright) !important; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 100; background: var(--parchment); color: var(--ink); padding: 12px 20px; }
.skip-link:focus { top: 12px; }
.heritage-drawer { position: fixed; inset: 0; margin: 0; width: 100%; max-width: none; height: 100dvh; max-height: none; border: 0; overflow-y: auto; background: var(--ink); color: var(--parchment); }
.heritage-drawer:not([open]) { display: none; }
.heritage-drawer a:focus-visible, .heritage-drawer button:focus-visible { outline-color: var(--gold-bright); }
.job-links a { display: block; padding: 18px 0; border-bottom: 1px dotted var(--paper-line); color: var(--verdigris); font-size: 18px; }
.job-links a:hover { color: var(--seal); }
.reservation-note { padding: 16px; border-left: 2px solid var(--verdigris); background: var(--parchment-deep); font-size: 16px; line-height: 1.6; margin-bottom: 24px; }
.reservation-status { font-size: 16px; line-height: 1.6; margin-top: 16px; }
.reservation-status a { color: var(--verdigris); text-decoration: underline; text-underline-offset: 4px; }
.menu-cat { scroll-margin-top: 100px; }
#gutscheine, #jobs, #wochenmenue { scroll-margin-top: 100px; }
@media (max-width: 600px) {
  .ledger-row { gap: 8px; }
  .ledger-row > :first-child { min-width: 0; overflow-wrap: anywhere; }
  .ledger-leader { min-width: 8px; margin-inline: 4px; }
  .ledger-row .price { flex-shrink: 0; }
  .stamp-btn { max-width: 100%; white-space: normal; text-align: center; }
}

/* Anfahrt: Karte im Zertifikatsrahmen, erst nach Einwilligung geladen (Consent-Modul). */
.map-frame { border: 1.5px solid var(--ink); background: var(--parchment); padding: 13px; box-shadow: inset 0 0 0 5px var(--parchment), inset 0 0 0 6px var(--gold), inset 0 0 0 7px var(--parchment), inset 0 0 0 8px var(--ink); }
.map-frame iframe { display: block; width: 100%; height: 420px; }
.map-frame .cc-media { min-height: 420px; }
.map-route { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--verdigris); text-decoration: underline; text-underline-offset: 4px; }
.map-route:hover { color: var(--seal); }
@media (max-width: 600px) { .map-frame iframe, .map-frame .cc-media { height: 340px; min-height: 340px; } }
