/* Desktop enhancements only. Keep phone and tablet layouts in their original styles. */
@media (min-width: 1024px) {
  html { scrollbar-gutter: stable; }
  .home-page { --maxw: 1200px; }
  .home-page .hero { min-height: min(900px, 100svh); }
  .home-page .hero .brand-logo { width: 340px; }
  .home-page .nav-in { gap: 32px; }
  .home-page .nav-links { gap: 12px; }
  .home-page section[id] { scroll-margin-top: 90px; }
  .home-page .about-grid,
  .home-page .visit-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
  .home-page .spec-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
  .home-page .reviews { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .home-page .gallery { gap: 18px; }
  .home-page .map-card > .btn { position: relative; z-index: 1; }
  .home-page a:focus-visible { outline: 3px solid var(--gold); outline-offset: 5px; }

  .menu-page { --maxw: 1200px; }
  .menu-page .hero-photo { min-height: 340px; max-height: 440px; }
  .menu-page .corner-logo { left: max(32px, calc((100% - var(--maxw)) / 2 + 18px)); width: 76px; height: 76px; top: 24px; }
  .menu-page .hero-photo .topbar { right: max(32px, calc((100% - var(--maxw)) / 2 + 18px)); top: 24px; }
  .menu-page .langswitch button { min-height: 36px; padding-inline: 15px; }
  .menu-page .pagenav-btn { width: 38px; height: 38px; }
  .menu-page .hero-brand { padding-block: 20px 12px; }
  .menu-page .hero-brand .brand-logo { height: 125px; }
  .menu-page .campaign { justify-content: center; min-height: 48px; }

  /* A visible scrollbar and arrow controls make the popular row usable with a mouse. */
  .menu-page .hl { position: relative; }
  .menu-page .hl-row { gap: 16px; padding: 5px 3px 14px; scrollbar-width: thin; scrollbar-color: var(--gold) var(--surface-2); scroll-padding-inline: 3px; }
  .menu-page .hl-row::-webkit-scrollbar { display: block; height: 8px; }
  .menu-page .hl-row::-webkit-scrollbar-track { background: var(--surface-2); border-radius: 8px; }
  .menu-page .hl-row::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 8px; }
  .menu-page .hl-card { width: 210px; }
  .menu-page .hl-photo { height: 120px; }
  .menu-page .hl-body { padding: 12px 14px; }
  .menu-page .hl-controls { display: flex; justify-content: flex-end; gap: 8px; margin: 0 3px 8px; }
  .menu-page .hl-controls button { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); color: var(--gold-hi); font-size: 1.3rem; cursor: pointer; }
  .menu-page .hl-controls button:hover { background: var(--surface-2); }
  .menu-page .hl-controls button:disabled { opacity: .35; cursor: default; }
  .menu-page .hl-controls button:focus-visible { outline: 2px solid var(--gold-hi); outline-offset: 3px; }

  .menu-page .toolbar { flex-direction: row; align-items: center; gap: 20px; padding-top: 28px; }
  .menu-page .search { flex: 1 1 0; min-width: 0; }
  .menu-page .filters { flex: 0 0 auto; flex-wrap: wrap; }
  .menu-page .search input { min-height: 46px; }
  .menu-page .filter { min-height: 40px; }
  .menu-page .chips { flex-wrap: wrap; justify-content: center; gap: 8px; overflow-x: visible; }
  .menu-page .chip { padding: 9px 14px; }
  .menu-page .section { padding-top: 42px; }
  .menu-page .section-head { margin-bottom: 22px; }
  .menu-page .items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .menu-page .item { min-width: 0; min-height: 112px; padding: 16px; gap: 16px; }
  .menu-page .thumb { width: 76px; height: 76px; border-radius: 12px; }
  .menu-page .item-name { font-size: 1.12rem; overflow-wrap: anywhere; }
  .menu-page .item-desc { -webkit-line-clamp: 2; }
  .menu-page .badges { flex-wrap: wrap; }
  .menu-page .addbtn { width: 36px; height: 36px; }
  .menu-page .item-price { font-size: 1.12rem; }
  .menu-page main { padding-bottom: 56px; }
  .menu-page footer { padding-block: 40px 100px; }
  .menu-page .cartfab,
  .menu-page .totop { right: max(28px, calc((100% - var(--maxw)) / 2 + 18px)); }

  /* Desktop dialogs; the existing bottom sheets remain the mobile default. */
  .menu-page .sheet {
    left: 50%; right: auto; top: 50%; bottom: auto; margin: 0;
    width: min(640px, calc(100vw - 64px)); max-width: none;
    max-height: calc(100vh - 64px); max-height: calc(100dvh - 64px);
    border: 1px solid var(--line); border-radius: 22px;
    transform: translate(-50%, calc(-50% + 24px)); opacity: 0;
    transition: transform .28s ease, opacity .28s ease;
    box-shadow: 0 24px 80px rgba(43, 29, 18, .4);
  }
  .menu-page .sheet.open { transform: translate(-50%, -50%); opacity: 1; }
  .menu-page .sheet .grabber { display: none; }
  .menu-page .sheet-scroll { min-height: 0; overscroll-behavior: contain; }
  .menu-page .sheet-photo { aspect-ratio: 16 / 8; flex-shrink: 0; }
  .menu-page .sheet-body { padding: 8px 28px 28px; }
  .menu-page .sheet-top { align-items: flex-start; }
  .menu-page .sheet-name { min-width: 0; overflow-wrap: anywhere; }
  .menu-page .closebtn { width: 40px; height: 40px; }
  .menu-page .cart-head,
  .menu-page .cart-foot { flex-shrink: 0; }
  .menu-page .cart-row .n { overflow-wrap: anywhere; }
  .menu-page .qty button { width: 34px; height: 34px; }

  .menu-page .admin-wrap { max-width: 1100px; padding: 32px 28px; }
  .menu-page .aset-body { padding: 24px; gap: 16px; }
  .menu-page #priceEditor { max-height: 480px; }
  .menu-page .pe-row { padding-block: 7px; }
  .menu-page .pe-row span { white-space: normal; overflow-wrap: anywhere; }
  .menu-page .pe-row .pe-pop { width: 18px; height: 18px; padding: 0; }
  .menu-page .editbox,
  .menu-page .addform { padding: 20px; }
  .menu-page .admin input,
  .menu-page .admin select,
  .menu-page .admin textarea { min-width: 0; max-width: 100%; }

  /* Match the mobile reduced-motion preference after the desktop transition rules. */
  @media (prefers-reduced-motion: reduce) {
    .menu-page .sheet { transition: none !important; }
  }
}
