:root {
  --orange: #ee7424;
  --navy: #232d60;
  --paper: #f4f1ec;
  --ink: #12151d;
  --muted: #62656d;
  --line: #ded8cc;
  --white: #ffffff;
}

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
  margin: 0;
}

body {
  caret-color: transparent;
  color: var(--ink);
  cursor: default;
  font-family: Arial, Helvetica, sans-serif;
  background: var(--paper);
}

input,
textarea,
select,
[contenteditable="true"] {
  caret-color: auto;
  cursor: text;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

.siteHeader {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 26px clamp(20px, 6vw, 76px);
}

.logo {
  width: 244px;
  height: auto;
  padding: 14px 16px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.95);
}

.topLinks {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.topLinks a,
.buttonLink,
.adminActions a,
.adminActions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 16px;
  border: 2px solid rgba(255, 255, 255, 0.84);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--navy);
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}

.buttonLink.primary,
.adminActions button {
  border-color: var(--orange);
  background: var(--orange);
  color: var(--white);
}

.hero {
  position: relative;
  display: grid;
  min-height: 86vh;
  padding: 140px clamp(20px, 6vw, 76px) 68px;
  color: var(--white);
  background:
    linear-gradient(90deg, rgba(18, 21, 29, 0.94), rgba(18, 21, 29, 0.74) 48%, rgba(18, 21, 29, 0.34)),
    url("/assets/store-hero.png") center / cover no-repeat;
}

.heroContent {
  display: grid;
  align-content: center;
  gap: 24px;
  max-width: 780px;
}

.eyebrow {
  margin: 0;
  color: var(--orange);
  font-size: 1.125rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

h1,
h2,
h3,
p {
  margin: 0;
}

h1 {
  font-size: 6.5rem;
  line-height: 0.92;
}

.heroText {
  color: rgba(255, 255, 255, 0.84);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
}

.section {
  padding: 58px clamp(18px, 5vw, 64px);
}

.sectionHeader {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  width: min(1180px, 100%);
  margin: 0 auto 24px;
}

.sectionHeader h2 {
  font-size: 2.6rem;
  line-height: 1;
}

.sectionHeader p {
  max-width: 640px;
  color: var(--muted);
  font-weight: 700;
  line-height: 1.45;
}

.storeGrid,
.adminStoreGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  width: min(1180px, 100%);
  margin: 0 auto;
}

.storeCard,
.adminSection {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 16px 34px rgba(18, 21, 29, 0.08);
}

.storeImage {
  width: 100%;
  height: 245px;
  object-fit: cover;
}

.storeBody,
.adminBody {
  display: grid;
  gap: 15px;
  padding: 20px;
}

.storeBody h3,
.adminBody h2 {
  font-size: 1.75rem;
  line-height: 1.05;
}

.adminBody h2 {
  font-size: 2rem;
}

.storeBody address,
.storeBody .phone,
.storeBody .email {
  color: var(--muted);
  font-style: normal;
  font-weight: 800;
  line-height: 1.35;
}

.hours {
  display: grid;
  gap: 7px;
  padding: 0;
  margin: 0;
  list-style: none;
  color: var(--ink);
  font-weight: 800;
}

.hours li {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid rgba(222, 216, 204, 0.8);
  padding-bottom: 7px;
}

.menuLinks {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 4px;
}

.comingSoon {
  color: var(--muted);
  font-weight: 900;
}

.menuPageHeader,
.adminHeader,
.viewerHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 24px clamp(18px, 5vw, 56px);
  color: var(--white);
  background: var(--orange);
  border-bottom: 6px solid var(--navy);
}

.adminPage {
  background: #f8f6f1;
}

.adminHeader {
  position: relative;
  z-index: 1;
  align-items: flex-end;
  border-bottom: 1px solid var(--line);
  background: var(--white);
  color: var(--ink);
  box-shadow: 0 1px 0 rgba(18, 21, 29, 0.04);
}

.adminHeader .eyebrow {
  color: var(--orange);
  font-size: 0.82rem;
}

.adminTitleLink {
  color: var(--ink);
  cursor: pointer;
}

.adminTitleLink:hover,
.adminTitleLink:focus {
  color: var(--navy);
}

.adminHeader .topLinks a {
  border-color: var(--line);
  background: #fbfaf7;
  color: var(--navy);
}

.menuPageHeader h1,
.adminHeader h1 {
  font-size: 3.25rem;
}

.adminWorkspace {
  display: grid;
  gap: 20px;
  width: min(1280px, 100%);
  margin: 0 auto;
  padding: 24px clamp(14px, 4vw, 42px) 56px;
}

.adminToolbar {
  display: grid;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.adminJumpNav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.adminJumpNav a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--muted);
  cursor: pointer;
  font-weight: 900;
}

.adminJumpNav a:hover,
.adminJumpNav a:focus {
  border-color: var(--line);
  background: #f8f6f1;
  color: var(--ink);
}

.menuBoardGrid,
.adminMenuGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  width: min(1280px, 100%);
  margin: 0 auto;
  padding: 28px clamp(14px, 4vw, 42px) 52px;
}

.menuBoard,
.adminMenuCard {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 16px 34px rgba(18, 21, 29, 0.08);
}

.menuBoard img,
.adminPreview img {
  width: 100%;
  max-height: 78vh;
  object-fit: contain;
  background: #111318;
}

.menuCaption,
.adminMenuMeta {
  display: grid;
  gap: 10px;
  padding: 16px;
  border-top: 1px solid var(--line);
}

.menuCaption h2,
.adminMenuMeta h3 {
  font-size: 1.45rem;
}

.adminMenuMeta h3 {
  font-size: 1.18rem;
  line-height: 1.15;
}

.adminStoreGrid {
  grid-template-columns: 1fr;
  gap: 24px;
  width: 100%;
}

.adminSection,
.adminMenuCard {
  border-color: #e7e0d5;
  box-shadow: none;
}

.adminStoreImage {
  width: 100%;
  height: 260px;
  object-fit: cover;
}

.adminMenuGrid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 16px;
  width: 100%;
  padding: 0;
}

.adminSectionHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.adminPreview {
  display: grid;
  place-items: center;
  min-height: 280px;
  padding: 10px;
  background: #111318;
}

.adminPreview img {
  max-height: 380px;
  border-radius: 4px;
}

.adminSection.compact .adminBody {
  grid-template-columns: minmax(220px, 0.35fr) minmax(0, 1fr);
  align-items: center;
}

.adminSection.compact .adminSectionHeader {
  border-bottom: 0;
}

.adminActions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.adminMenuMeta .adminActions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.adminMenuMeta .adminActions a,
.adminMenuMeta .adminActions button {
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 0.92rem;
}

.adminActions button {
  cursor: pointer;
}

.emptyMenus {
  padding: 18px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  color: var(--muted);
  font-weight: 900;
}

/* Menu display admin console */
.adminConsoleHeader {
  position: sticky;
  top: 0;
  z-index: 30;
  padding-block: 18px;
}

.adminBrandBlock {
  display: grid;
  gap: 2px;
}

.adminConsole {
  display: grid;
  grid-template-columns: 278px minmax(0, 1fr);
  gap: 22px;
  width: min(1480px, 100%);
  margin: 0 auto;
  padding: 22px clamp(14px, 3vw, 38px) 56px;
}

.adminSidebar,
.adminCommandBar,
.adminStorePanel {
  border: 1px solid #e4ded4;
  border-radius: 8px;
  background: var(--white);
}

.adminSidebar {
  position: sticky;
  top: 128px;
  align-self: start;
  overflow: hidden;
}

.adminSidebarHeader {
  display: grid;
  gap: 2px;
  padding: 18px;
  border-bottom: 1px solid #e4ded4;
}

.adminSidebarHeader h2,
.adminCommandBar h2,
.adminStoreHeader h2 {
  font-size: 1.35rem;
  line-height: 1.1;
}

.adminStoreNav {
  display: grid;
  padding: 8px;
}

.adminStoreNavItem {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--ink);
  cursor: pointer;
  font-weight: 900;
}

.adminStoreNavItem span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.adminStoreNavItem:hover,
.adminStoreNavItem:focus,
.adminStoreNavItem.isActive {
  border-color: #eadfce;
  background: #fbf6ef;
}

.adminStoreNavItem.isActive {
  box-shadow: inset 3px 0 0 var(--orange);
}

.adminMain {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.adminCommandBar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
}

.adminLegend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 900;
}

.adminLegend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.statusDot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
}

.statusDot.live {
  background: #18805f;
}

.statusDot.missing {
  background: #b85c00;
}

.adminStorePanels {
  display: grid;
  gap: 18px;
}

.adminStorePanel {
  overflow: hidden;
  scroll-margin-top: 128px;
}

.adminStoreHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid #e4ded4;
}

.adminStatus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 5px 9px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 900;
  line-height: 1;
}

.adminStatus.live {
  border-color: #bfe5d8;
  background: #ecf8f4;
  color: #126c51;
}

.adminStatus.missing {
  border-color: #f3d7b7;
  background: #fff5e8;
  color: #96500b;
}

.adminAssetGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 14px;
  padding: 16px;
}

.adminAssetCard {
  --thumb-image-height: 396px;
  display: grid;
  grid-template-rows: 420px auto;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e7e0d5;
  border-radius: 8px;
  background: #fffdf9;
}

.adminAssetCard.hasError {
  border-color: #e4a9a0;
}

.adminAssetThumb {
  display: grid;
  place-items: center;
  align-self: stretch;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  padding: 12px;
  border: 0;
  background: #101217;
  cursor: pointer;
}

.adminAssetThumb:disabled {
  cursor: not-allowed;
}

.adminAssetThumb img {
  max-width: 100%;
  max-height: var(--thumb-image-height);
  width: auto;
  height: auto;
  border-radius: 4px;
  object-fit: contain;
}

.adminMissingThumb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(190px, 80%);
  min-height: 120px;
  border: 1px dashed #c9bda9;
  border-radius: 8px;
  background: #f8f3eb;
  color: #8a6a3e;
  font-weight: 900;
}

.adminAssetMeta {
  display: grid;
  gap: 13px;
  padding: 14px;
  border-top: 1px solid #e7e0d5;
}

.adminAssetTitleRow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.adminAssetTitleRow h3 {
  overflow: hidden;
  font-size: 1.08rem;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.adminAssetFacts {
  display: grid;
  gap: 7px;
  margin: 0;
}

.adminAssetFacts div {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
}

.adminAssetFacts dt {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.adminAssetFacts dd {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: var(--ink);
  font-size: 0.86rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.adminAssetActions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.adminAssetActions a,
.adminAssetActions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid #d9d0c2;
  border-radius: 6px;
  background: var(--white);
  color: var(--navy);
  cursor: pointer;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 900;
  text-align: center;
}

.adminAssetActions button:nth-child(2) {
  border-color: var(--orange);
  background: var(--orange);
  color: var(--white);
}

.adminAssetActions a:hover,
.adminAssetActions button:hover,
.adminAssetActions a:focus,
.adminAssetActions button:focus {
  border-color: var(--navy);
}

.adminAssetActions button:disabled {
  border-color: #e2d9cc;
  background: #f2eee7;
  color: #978b7a;
  cursor: not-allowed;
}

.dialogTitleBlock {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.dialogTitleBlock strong,
.dialogTitleBlock span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dialogTitleBlock span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.84rem;
  font-weight: 800;
}

.adminPreviewChrome {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.viewerDialog {
  width: min(100vw, 1600px);
  height: min(100vh, 1000px);
  max-width: 100vw;
  max-height: 100vh;
  padding: 0;
  border: 0;
  background: #101217;
  color: var(--white);
}

.viewerDialog.adminPreviewDialog {
  width: min(96vw, 1320px);
  height: min(94vh, 980px);
  border-radius: 8px;
}

.viewerDialog::backdrop {
  background: rgba(0, 0, 0, 0.78);
}

.dialogChrome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 62px;
  padding: 10px 16px;
  background: rgba(16, 18, 23, 0.94);
}

.dialogStage {
  display: grid;
  place-items: center;
  min-height: calc(100vh - 62px);
}

.dialogStage img {
  width: 100%;
  height: calc(100vh - 62px);
  object-fit: contain;
}

.dialogStage:fullscreen {
  min-height: 100vh;
}

.dialogStage:fullscreen img {
  height: 100vh;
}

/* Store display layout workspace */
.displayConsole {
  width: min(1540px, 100%);
}

.displayLegend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 900;
}

.displayLegend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.displayLegendShape {
  display: inline-block;
  border: 2px solid var(--navy);
  border-radius: 3px;
  background: #f8f6f1;
}

.displayLegendShape.portrait {
  width: 10px;
  height: 17px;
}

.displayLegendShape.landscape {
  width: 20px;
  height: 12px;
}

.displayStorePanels {
  display: grid;
  gap: 18px;
}

.displayStoreSummary {
  max-width: 680px;
  margin-top: 6px;
  color: var(--muted);
  font-weight: 800;
  line-height: 1.4;
}

.displayStoreSaved {
  margin-top: 7px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 900;
}

.displayStorePanel.isDirty .displayStoreSaved {
  color: #96500b;
}

.displayStoreTools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.displayStoreTools button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 11px;
  border: 1px solid #d9d0c2;
  border-radius: 6px;
  background: var(--white);
  color: var(--navy);
  cursor: pointer;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 900;
}

.displayStoreTools button:hover,
.displayStoreTools button:focus {
  border-color: var(--navy);
}

.displayStoreTools [data-arrange-toggle],
.displayStoreTools [data-layout-save]:not(:disabled) {
  border-color: var(--orange);
  background: var(--orange);
  color: var(--white);
}

.displayStoreTools button:disabled {
  border-color: #e2d9cc;
  background: #f2eee7;
  color: #978b7a;
  cursor: not-allowed;
}

.displayWall {
  position: relative;
  min-height: clamp(360px, 38vw, 570px);
  overflow: hidden;
  padding: clamp(18px, 2.2vw, 30px);
  border-top: 1px solid #e4ded4;
  background:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0)),
    #151820;
  background-size: 28px 28px, 28px 28px, auto, auto;
}

.displayScreen {
  position: relative;
  display: grid;
  align-content: end;
  min-height: 0;
  overflow: hidden;
  padding: 14px;
  border: 3px solid #2b3141;
  border-radius: 6px;
  background: #0c0f14;
  color: var(--white);
  cursor: pointer;
  left: var(--screen-x);
  top: var(--screen-y);
  width: var(--screen-w);
  height: var(--screen-h);
  position: absolute;
  touch-action: none;
  box-shadow:
    0 18px 38px rgba(0, 0, 0, 0.28),
    inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.displayScreen::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(12, 15, 20, 0.08), rgba(12, 15, 20, 0.82)),
    var(--display-preview) center / cover no-repeat;
  opacity: 0.82;
}

.displayScreen::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 8px solid rgba(255, 255, 255, 0.05);
  pointer-events: none;
}

.displayScreen:hover,
.displayScreen:focus {
  border-color: var(--orange);
  outline: 0;
  transform: translateY(-2px);
}

.displayStorePanel.isArranging .displayScreen {
  cursor: grab;
}

.displayStorePanel.isArranging .displayScreen:hover,
.displayStorePanel.isArranging .displayScreen:focus {
  transform: none;
}

.displayStorePanel.isArranging .displayScreen::after {
  border-color: rgba(238, 116, 36, 0.44);
}

.displayScreen.isDragging {
  z-index: 5;
  cursor: grabbing;
  border-color: var(--orange);
  box-shadow:
    0 28px 52px rgba(0, 0, 0, 0.38),
    inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.displayScreen.isPending {
  background:
    repeating-linear-gradient(
      -45deg,
      #20242e,
      #20242e 10px,
      #181c24 10px,
      #181c24 20px
    );
  color: rgba(255, 255, 255, 0.76);
  cursor: not-allowed;
}

.displayScreen.isPending::before {
  display: none;
}

.displayScreenName,
.displayScreenMeta,
.displayScreenState {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.displayScreenName {
  font-size: clamp(0.95rem, 1.2vw, 1.28rem);
  font-weight: 900;
  line-height: 1.08;
}

.displayScreenMeta,
.displayScreenState {
  margin-top: 5px;
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.displayScreenState {
  display: inline-flex;
  width: fit-content;
  margin-top: 10px;
  padding: 5px 7px;
  border-radius: 999px;
  background: rgba(238, 116, 36, 0.92);
  color: var(--white);
}

.displayScreen.isPending .displayScreenState {
  background: rgba(255, 255, 255, 0.12);
}

/* Dedicated TV display pages */
.tvDisplayPage {
  overflow: hidden;
  background: #050609;
}

.tvStage {
  position: relative;
  display: grid;
  place-items: center;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background: #050609;
}

.tvStage img {
  width: 100vw;
  height: 100vh;
  object-fit: contain;
}

.tvOverlay {
  position: absolute;
  inset: auto 20px 20px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 18px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: rgba(8, 10, 14, 0.82);
  color: var(--white);
  backdrop-filter: blur(8px);
}

.tvOverlay h1 {
  font-size: clamp(1.6rem, 3vw, 3.4rem);
  line-height: 1;
}

.tvOverlay button {
  min-height: 46px;
  padding: 11px 16px;
  border: 0;
  border-radius: 6px;
  background: var(--orange);
  color: var(--white);
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}

.tvControlsHidden .tvOverlay {
  opacity: 0;
  pointer-events: none;
}

.tvDisplayError {
  color: var(--white);
  font-size: 2rem;
  font-weight: 900;
}

@media (max-width: 1080px) {
  .adminConsole {
    grid-template-columns: 1fr;
  }

  .adminSidebar {
    position: static;
  }

  .adminStorePanel {
    scroll-margin-top: 150px;
  }

  .adminStoreNav {
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    overflow-x: auto;
  }

  .adminStoreNavItem {
    grid-template-columns: 1fr;
    align-content: center;
  }

  .displayStoreTools {
    justify-content: flex-start;
  }
}

@media (max-width: 900px) {
  .siteHeader,
  .menuPageHeader,
  .adminHeader {
    align-items: flex-start;
    flex-direction: column;
  }

  .adminJumpNav,
  .adminSection.compact .adminBody {
    grid-template-columns: 1fr;
  }

  .hero {
    min-height: 760px;
    background:
      linear-gradient(180deg, rgba(18, 21, 29, 0.96), rgba(18, 21, 29, 0.72)),
      url("/assets/store-hero.png") center / cover no-repeat;
  }

  h1 {
    font-size: 4.25rem;
  }

  .heroText {
    font-size: 1.125rem;
  }

  .sectionHeader {
    align-items: flex-start;
    flex-direction: column;
  }

  .storeGrid,
  .menuBoardGrid,
  .adminMenuGrid {
    grid-template-columns: 1fr;
  }

  .adminCommandBar,
  .adminStoreHeader,
  .adminPreviewChrome,
  .tvOverlay {
    align-items: stretch;
    flex-direction: column;
  }

  .adminAssetGrid {
    grid-template-columns: 1fr;
  }

  .adminAssetCard {
    --thumb-image-height: 276px;
    grid-template-rows: 300px auto;
  }

  .displayWall {
    min-height: 420px;
  }
}

@media (max-width: 540px) {
  .logo {
    width: 212px;
  }

  .topLinks,
  .menuLinks,
  .adminActions {
    align-items: stretch;
    flex-direction: column;
  }

  h1,
  .menuPageHeader h1,
  .adminHeader h1 {
    font-size: 3.2rem;
  }

  .sectionHeader h2 {
    font-size: 2.2rem;
  }

  .adminMenuMeta .adminActions {
    grid-template-columns: 1fr;
  }

  .adminConsole {
    padding-inline: 10px;
  }

  .adminAssetFacts div,
  .adminAssetActions {
    grid-template-columns: 1fr;
  }

  .hours li {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }
}
