@font-face { font-family: 'Cinzel'; font-style: normal; font-weight: 400 800; font-display: swap; src: url('assets/cinzel-latin.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 300 700; font-display: swap; src: url('assets/montserrat-latin.woff2') format('woff2'); }
/* Shared finishing styles for both menu pages. */
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { overflow-wrap: break-word; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #B52332; outline-offset: 4px; }
.top-bar { gap: 10px; flex-wrap: wrap; }
.top-bar a:focus-visible, header a:focus-visible, footer a:focus-visible { outline-color: #FFFFFF; }
.nav-container { gap: 20px; }
nav ul { flex-wrap: wrap; }
nav a { display: inline-block; padding-block: 6px; }
.menu-controls { position: static; }
.menu-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.menu-item { min-width: 0; overflow: hidden; justify-content: flex-start; }
.menu-item-photo { display: block; width: calc(100% + 40px); max-width: none; height: auto; aspect-ratio: 3 / 2; object-fit: cover; margin: -20px -20px 20px; background: #D9E3ED; }
.menu-item > .item-footer { margin-top: auto; padding-top: 10px; }
.item-name { min-width: 0; }
.item-header { gap: 8px; }
.item-price { margin-left: 0; }
.menu-note, .menu-results { font-size: .85rem; color: #545454; line-height: 1.6; margin: 16px 0; }
.about-photo { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 8px; }
.image-container img, .fb-image-container img { display: block; }
.owner-section, .menu-group, #faq, #contact { scroll-margin-top: 130px; }
.skip-link { position: absolute; top: -100px; left: 10px; z-index: 10001; background: #B52332; color: #FFFFFF; padding: 12px 18px; font-weight: bold; }
.skip-link:focus { top: 0; }
.modal-close { background: transparent; border: 0; padding: 4px 10px; line-height: 1; }
body.dialog-open { overflow: hidden; }
.tag-steak { color: #825000; }
.footer-bottom, .footer-links button { color: #b9c4d0; }
@media (max-width: 1100px) {
  .nav-container { flex-direction: column; gap: 8px; }
  nav ul { justify-content: center; gap: 12px; }
}
@media (max-width: 768px) {
  header { position: static; }
  .top-bar { justify-content: center; text-align: center; }
  .menu-hero { padding: 45px 20px; }
  .menu-hero h1 { font-size: clamp(1.6rem, 7vw, 2.2rem); }
  .logo-subtitle { font-size: .65rem; letter-spacing: 1px; }
  .category-title { font-size: 1.4rem; }
  .item-header { flex-wrap: wrap; }
  .item-name { flex: 1 1 190px; }
  .owner-section, .menu-group, #faq, #contact { scroll-margin-top: 20px; }
  .mobile-call-bar { padding-bottom: calc(15px + env(safe-area-inset-bottom)); font-size: .9rem; }
  body { padding-bottom: calc(65px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
.fb-tag { background: #B52332; }
footer a { color: #B52332; }
footer > p { max-width: 1160px; margin: 20px auto 0; padding: 0 20px; font-size: .8rem; text-align: center; }

/* Red, white, green and blue with black framing. */
:root { --brand-black: #111111; --brand-blue: #123D78; --brand-deep-blue: #0B2B57; --brand-red: #B52332; --brand-red-hover: #941B28; --brand-green: #17633F; }
body { background-color: #FFFFFF; }
.top-bar { background: var(--brand-green); border-bottom-color: #FFFFFF; }
.top-bar, .top-bar a, .logo-title, .logo-subtitle, .menu-hero h1,
.footer-col h4, .footer-col p, .footer-col a, footer a { color: #FFFFFF; }
header { background: var(--brand-black); border-bottom: 4px solid var(--brand-red); }
nav .nav-cta, .btn-primary, .mobile-call-bar { background: var(--brand-red); color: #FFFFFF; }
nav .nav-cta:hover, nav .nav-cta:focus, .btn-primary:hover, .mobile-call-bar:hover { background: var(--brand-red-hover); color: #FFFFFF; }
nav a:hover, nav a:focus, nav a.active { color: #FFFFFF; text-decoration: underline; text-underline-offset: 5px; }
.badge { color: #FFFFFF; border-color: #FFFFFF; background: rgba(255,255,255,.1); }
.greek-pattern-border { border-color: #FFFFFF; }
.category-title { border-bottom-color: var(--brand-green); }
.category-tab.active, .category-tab:hover { background: var(--brand-green); border-color: var(--brand-green); color: #FFFFFF; }
.item-price { color: var(--brand-red); }
.featured-badge, .fb-tag { background: var(--brand-green); color: #FFFFFF; }
.tag-steak { background: #E8EFF8; color: var(--brand-blue); }
.faq-toggle-icon { color: var(--brand-green); }
footer { background: var(--brand-black); border-top-color: var(--brand-green); }
.footer-col strong[style] { color: #FFFFFF !important; }
.footer-bottom, .footer-links button { color: #E2E8F0; }
.skip-link { background: var(--brand-red); color: #FFFFFF; }
