/* Only PHP integration states. Visual design comes from the original app CSS. */
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body[data-page="den-haag"] .den-haag-gallery { padding-bottom: 96px; }
/* Content remains visible unless the scroll observer is actively managing it. */
body[data-page] :is(.reveal, .reveal-left, .reveal-scale):not(.reveal-pending) {
  opacity: 1;
  transform: none;
}
body[data-page="gate"] > [role="dialog"] { align-items: safe center; }
body[data-page="gate"] a.group img { filter: brightness(.72); }
body[data-page="gate"] a.group:hover img,
body[data-page="gate"] a.group:focus-visible img { filter: brightness(.84); }
nav[aria-label="Gekozen vestiging en snelle vestigingskeuze"] button[aria-current="false"] { color: color-mix(in srgb, var(--bone) 50%, transparent); text-decoration: none; }
nav[aria-label="Gekozen vestiging en snelle vestigingskeuze"] button[aria-current="true"] { color: var(--ember); text-decoration: underline; text-underline-offset: 4px; }
[data-menu-category][aria-selected="false"],
[data-easymenus-category][aria-selected="false"] { border-color: transparent; color: color-mix(in srgb, var(--bone) 75%, transparent); }
.orderdock-link { background: transparent !important; border: 1px solid color-mix(in srgb, var(--bone) 45%, transparent); color: var(--bone) !important; }
.orderdock-link:hover { border-color: var(--ember); color: var(--ember) !important; }
[data-menu-category][aria-selected="true"],
[data-easymenus-category][aria-selected="true"] { border-color: var(--ember); color: var(--bone); }
.reference-credit { display: block; text-align: right; font-size: 10px; letter-spacing: .12em; margin: 16px 24px 0; opacity: .65; }
.reference-mobile-nav { padding: 16px 24px; background: var(--charcoal-deep); border-top: 1px solid #ffffff20; }
.reference-mobile-nav a { display: block; padding: 12px 0; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; }
.invalid-feedback { color: #f5a59c; font-size: 12px; margin-top: 6px; }
.is-invalid { border-color: #f5a59c !important; }
.is-valid { border-color: #8ca782 !important; }
body[data-page="noordwijk"] .fratelli-easymenus {
  color: var(--bone);
  min-height: 24rem;
}
body[data-page="noordwijk"] .fratelli-easymenus .em-menu {
  --em-primary: var(--ember) !important;
  --em-surface: transparent !important;
  --em-text: var(--bone) !important;
  --em-background: transparent !important;
  --em-font: "Work Sans", sans-serif !important;
  background: transparent;
  color: var(--bone);
  padding: 0;
}
body[data-page="noordwijk"] .fratelli-easymenus .em-options {
  display: none;
}
body[data-page="noordwijk"] .fratelli-easymenus .em-options legend {
  color: color-mix(in srgb, var(--bone) 75%, transparent);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
}
body[data-page="noordwijk"] .fratelli-easymenus .em-options label {
  color: color-mix(in srgb, var(--bone) 80%, transparent);
  font-size: 13px;
}
body[data-page="noordwijk"] .fratelli-easymenus .em-options input {
  accent-color: var(--ember);
}
body[data-page="noordwijk"] .fratelli-easymenus .em-category {
  counter-reset: fratelli-dish;
  padding: 0;
}
body[data-page="noordwijk"] .fratelli-easymenus .em-category:not(.is-active) {
  display: none;
}
body[data-page="noordwijk"] .fratelli-easymenus .em-category h2 {
  display: none;
}
body[data-page="noordwijk"] .fratelli-easymenus .em-grid {
  display: block;
  gap: 0;
  max-width: 56rem;
}
body[data-page="noordwijk"] .fratelli-easymenus .em-product,
body[data-page="noordwijk"] .fratelli-easymenus .em-card-minimal .em-product {
  background: transparent;
  border-bottom: 1px solid color-mix(in srgb, var(--bone) 10%, transparent);
  counter-increment: fratelli-dish;
}
body[data-page="noordwijk"] .fratelli-easymenus .em-copy {
  align-items: baseline;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  gap: 1rem;
  padding: 1.25rem 0;
}
body[data-page="noordwijk"] .fratelli-easymenus .em-copy::before {
  color: color-mix(in srgb, var(--bone) 50%, transparent);
  content: counter(fratelli-dish, decimal-leading-zero);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 10px;
  letter-spacing: .2em;
  padding-top: .25rem;
}
body[data-page="noordwijk"] .fratelli-easymenus .em-description {
  min-width: 0;
}
body[data-page="noordwijk"] .fratelli-easymenus .em-product h3 {
  color: var(--bone);
  font-family: "Instrument Serif", serif;
  font-size: clamp(1.25rem, 3vw, 1.5rem);
  font-style: italic;
  font-weight: 400;
}
body[data-page="noordwijk"] .fratelli-easymenus .em-product p {
  color: color-mix(in srgb, var(--bone) 70%, transparent);
  font-family: "Work Sans", sans-serif;
  font-size: 14px;
  line-height: 1.6;
}
body[data-page="noordwijk"] .fratelli-easymenus .em-price {
  color: var(--ember);
  font-family: "Instrument Serif", serif;
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 400;
  white-space: nowrap;
}
body[data-page="noordwijk"] .fratelli-easymenus .em-label {
  border-color: color-mix(in srgb, var(--bone) 30%, transparent);
  border-radius: .25rem;
  color: color-mix(in srgb, var(--bone) 80%, transparent);
}
@media (max-width: 480px) {
  body[data-page="noordwijk"] .fratelli-easymenus .em-copy {
    gap: .75rem;
    grid-template-columns: 1.5rem minmax(0, 1fr) auto;
  }
  body[data-page="noordwijk"] .fratelli-easymenus .em-price {
    font-size: 1.1rem;
  }
}
@media (min-width: 1024px) { .reference-mobile-nav { display:none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition-duration: 0ms !important; } }
