/* Six compact languages; the shop remains the main surface. */
.language-switch { direction: ltr; gap: .08rem; font-size: .875rem; letter-spacing: 0; padding: 0; }
.language-switch button { min-height: 2.75rem; min-width: 2rem; padding: .4rem .2rem; }
.language-switch button[data-language-option="ar"] { font-size: .875rem; padding-inline: .35rem; }
.language-switch > span { font-size: .75rem; opacity: .48; }
.desktop-nav { gap: clamp(.6rem, 1.1vw, 1.1rem); }
.desktop-nav a { font-size: .875rem; }
.site-header { gap: 1rem; }
.header-cta { font-size: .875rem; }
.walk-mode .scene-tab { font-size: .875rem; }
.walk-mode .scene-tab.is-active { color: #f9edce; background: rgba(213,183,115,.18); }
.walk-label { max-width: 14rem; white-space: normal; text-align: center; font-size: .875rem; }
.contact-widget { position: fixed; z-index: 1600; right: max(1.15rem, env(safe-area-inset-right)); bottom: max(1.15rem, env(safe-area-inset-bottom)); font-family: var(--sans); }
.contact-widget[hidden], .contact-panel[hidden] { display: none; }
.contact-launcher { display: flex; gap: .6rem; align-items: center; min-height: 3rem; margin-inline-start: auto; padding: .65rem 1rem; color: #f9f2df; background: #103c30; border: 1px solid #b79b5c; border-radius: 2rem; box-shadow: 0 5px 20px #0003; font-size: .875rem; font-weight: 650; transition: background .2s, transform .2s; }
.contact-launcher:hover { background: #1d5342; transform: translateY(-2px); }
.contact-launcher svg { width: 1.4rem; height: 1.4rem; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.contact-panel { width: min(23rem, calc(100vw - 2rem)); max-height: calc(100dvh - 7rem); overflow-y: auto; margin-bottom: .7rem; padding: 1.25rem; color: #f7f0e1; background: #0c2c23; border: 1px solid #476046; border-radius: 1rem; box-shadow: 0 16px 60px #0006; animation: contact-arrive .2s ease-out; }
.contact-panel__heading { display: flex; align-items: flex-start; gap: 1rem; justify-content: space-between; }
.contact-panel__brand { color: #d7bd83; font-size: .75rem; letter-spacing: .13em; font-weight: 700; }
.contact-panel h2 { font-family: var(--display); font-size: 1.7rem; font-weight: 400; line-height: 1.15; margin: .45rem 0 0; letter-spacing: -.02em; }
.contact-close { flex-shrink: 0; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 1px solid #78937a55; border-radius: 50%; background: transparent; color: inherit; font-size: 1.65rem; }
.contact-panel__intro { margin: 1rem 0 .6rem; font-size: 1rem; line-height: 1.55; }
.contact-panel__hours { color: #c0cfc2; margin: 0 0 1rem; font-size: .875rem; line-height: 1.5; }
.contact-panel form { display: grid; gap: .5rem; }
.contact-panel label { font-size: .875rem; }
.contact-panel textarea { display: block; width: 100%; min-height: 6rem; padding: .75rem; color: #f7f0e1; background: #061d16; border: 1px solid #78937a66; border-radius: .5rem; font: inherit; font-size: 1rem; line-height: 1.5; resize: vertical; }
.contact-submit { display: flex; align-items: center; justify-content: space-between; gap: .7rem; min-height: 3rem; padding: .8rem 1rem; margin-top: .25rem; color: #10271c; background: #ddc48a; border: 1px solid #ddc48a; border-radius: .5rem; font-size: .875rem; font-weight: 750; }
.contact-submit:hover { background: #edd5a0; }
.contact-panel__note { color: #b6c7ba; font-size: .75rem; line-height: 1.5; margin: .7rem 0 1rem; }
.contact-call { display: inline-block; color: #edddbb; font-size: .875rem; text-underline-offset: .25em; text-decoration: underline; }
.contact-context { color: #dec99a; font-size: .875rem; margin: .2rem 0; }
.contact-widget :focus-visible { outline: 2px solid #f2d99b; outline-offset: 3px; }
.explorer-expanded .walk-mode .walk-reset { bottom: 5rem; }
.explorer-expanded .contact-launcher span { display: none; }
.explorer-expanded .contact-launcher { padding: .8rem; }
html[dir="rtl"] .contact-widget { font-family: Tahoma, Arial, sans-serif; }
html[dir="rtl"] .contact-panel h2 { font-family: inherit; font-size: 1.4rem; line-height: 1.5; letter-spacing: 0; }
html[data-theme="light"] .contact-panel { color: #123729; background: #fbf7ee; border-color: #c4bfa9; }
html[data-theme="light"] .contact-panel textarea { color: #123729; background: #fff; }
html[data-theme="light"] .contact-panel__hours, html[data-theme="light"] .contact-panel__note { color: #51675b; }
html[data-theme="light"] .contact-panel__brand, html[data-theme="light"] .contact-call, html[data-theme="light"] .contact-context { color: #6c5424; }
@keyframes contact-arrive { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 821px) and (max-width: 1250px) { .desktop-nav a[href="#reviews"], .desktop-nav a[href="#verhaal"], .header-cta { display: none; } }
@media (max-width: 820px) {
  .site-header { grid-template-columns: 1fr auto; height: auto; min-height: 6rem; padding-top: .5rem; padding-bottom: .4rem; row-gap: 0; }
  .site-header > .brand { grid-column: 1; grid-row: 1; }
  .site-header > .menu-toggle { grid-column: 2; grid-row: 1; }
  .header-actions { grid-column: 1 / -1; grid-row: 2; justify-self: end; }
  .header-actions .theme-toggle { display: none; }
  .language-switch button { min-height: 2.75rem; }
  .hero { padding-top: 8.3rem; }
  .contact-widget { right: .75rem; bottom: max(.75rem, env(safe-area-inset-bottom)); }
  .contact-launcher { padding: .8rem; }
  .contact-launcher > span { display: none; }
  .contact-panel { width: min(23rem, calc(100vw - 1.5rem)); }
}
@media (prefers-reduced-motion: reduce) { .contact-panel { animation: none; } .contact-launcher { transition: none; } }

/* Keep the two desktop header controls on one exact baseline, including 4K screens. */
@media (min-width: 821px) {
  .header-actions .theme-toggle,
  .header-actions .header-cta {
    height: 2.8rem;
    min-height: 2.8rem;
    box-sizing: border-box;
  }
  .header-actions .theme-toggle {
    width: 2.8rem;
  }
}
