/* ==========================================================================
   DAUNS — MENU PAGE
   --------------------------------------------------------------------------
   Colour roles, all measured against the pale-gold page background #D1D2C6:

     royal blue  #1D4BA1   5.34:1   names, section headings, nav, GF tags
     dark amber  #7A4A0D   4.89:1   sub-heads, warning chips
                                    (cream on amber fill = 6.74:1)
     olive       #565845   4.78:1   descriptions, alcohol / nut-free tags
     rust        #8C2F12             white on rust = 8.30:1, "sold out"

   The theme's raw accents (--color-dark-orange, --color-muddy-gold) are too
   light to carry text on this background. Use them for borders and fills only.

   CONTENTS
     1. Page wrapper          8. Featured photo card
     2. Notes                 9. Names / descriptions / prices
     3. Jump nav             10. Tags
     4. Price toggle         11. Option lists
     5. Sections & headings  12. Deals & sold out
     6. Sub-heads            13. Responsive
     7. Dish rows            14. Print
                             15. Reduced motion
   ========================================================================== */


/* 1. PAGE WRAPPER ========================================================= */

.page-template-template-menu .entry-content {
  opacity: 1 !important;      /* neutralise the theme's fade-in */
  transform: none !important;
}
.page-template-template-menu .central-column-thin {
  max-width: 1400px;
  position: relative;
  z-index: 2;                 /* keep decorative parallax images behind */
}
.page-template-template-menu #page {
  overflow: clip;             /* NOT hidden — hidden kills position: sticky */
}


/* 2. NOTES =============================================================== */

.mn-note {
  background: var(--color-off-white);
  border-left: 5px solid var(--color-dark-orange);
  padding: 1.1rem 1.3rem;
  margin: 0 0 2rem;
  font-size: 15px;
  line-height: 1.55;
}
.mn-note strong { font-family: 'HKRequisite-Medium', sans-serif; }


/* 3. JUMP NAV ============================================================ */

.mn-jump {
  display: flex;
  gap: .4rem;
  overflow-x: auto;
  padding-bottom: .7rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--color-muddy-gold);
  -webkit-overflow-scrolling: touch;
}
.mn-jump a {
  white-space: nowrap;
  padding: .35rem .5rem;
  font-family: 'HKRequisite-Medium', sans-serif;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-royal-blue);
  text-decoration: none;
}
.mn-jump a:hover,
.mn-jump a.is-active {
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* 4. PRICE TOGGLE — dormant until a price attribute is used =============== */

.mn-toggle { display: flex; gap: .5rem; margin: 0 0 1.5rem; max-width: 340px; }
.mn-toggle button {
  flex: 1;
  padding: .7rem;
  background: transparent;
  border: 2px solid var(--color-royal-blue);
  color: var(--color-royal-blue);
  font-family: 'HKRequisite-Medium', sans-serif;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}
.mn-toggle button.on { background: var(--color-royal-blue); color: var(--color-off-white); }

.mn-p-ta { display: none; }
body.mn-mode-ta .mn-p-ta { display: inline; }
body.mn-mode-ta .mn-p-in { display: none; }


/* 5. SECTIONS & HEADINGS ================================================= */

.mn-sec {
  margin: 0 0 2.4rem;
  scroll-margin-top: var(--mn-hdr, 120px);
}
.mn-h { margin: 0; }
.mn-h-btn {
  display: flex;
  align-items: center;
  gap: .7rem;
  width: 100%;
  padding: .5rem 0;
  background: none;
  border: 0;
  border-bottom: 2px solid var(--color-royal-blue);
  text-align: left;
  cursor: default;
}
.mn-h-t {
  font-family: 'HKRequisite-Medium', sans-serif;
  font-size: 17px;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--color-royal-blue);
}
.mn-badge {
  margin-left: auto;
  padding: .28rem .5rem;
  background: var(--color-paler-green);
  color: var(--color-royal-blue);
  font-family: 'HKRequisite-Medium', sans-serif;
  font-size: 10px;
  letter-spacing: .07em;
  text-transform: uppercase;
  white-space: nowrap;
}
.mn-chev {
  display: none;
  width: 10px;
  height: 10px;
  margin-left: auto;
  border-right: 2px solid var(--color-royal-blue);
  border-bottom: 2px solid var(--color-royal-blue);
  transform: rotate(45deg);        /* collapsed = pointing down */
  transition: transform .25s ease;
}
.mn-badge + .mn-chev { margin-left: .5rem; }


/* 6. SUB-HEADS =========================================================== */

.mn-sub {
  margin: 1.6rem 0 .6rem;
  font-family: 'HKRequisite-Medium', sans-serif;
  font-size: 13px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #7A4A0D;
}
.mn-sub-note {
  display: block;
  margin: .2rem 0 0;
  font-family: 'HKRequisite-Light', sans-serif;
  font-size: 12px;
  letter-spacing: .03em;
  text-transform: none;
  color: #565845;
}


/* 7. DISH ROWS =========================================================== */

.mn-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.3rem 0;
  border-bottom: 1px dotted var(--color-muddy-gold);
}
.mn-item:last-of-type { border-bottom: 0; }
.mn-item-b { flex: 1; min-width: 0; padding-bottom 4px;}
.mn-sec-body > br { display: none; }
.mn-sec-body > p:empty { display: none; }


.mn-thumb {
  flex: 0 0 140px;
  width: 140px;
  height: 140px;
  overflow: hidden;
  background: var(--color-paler-green);
}
.mn-zoom { display: block; width: 100%; height: 100%; cursor: zoom-in; }
.mn-thumb img,
.mn-zoom img { width: 100%; height: 100%; object-fit: cover; display: block; }


/* 8. FEATURED PHOTO CARD ================================================= */

.mn-card {
  padding: 1.4rem 0 1.6rem;
  border-bottom: 1px dotted var(--color-muddy-gold);
}
.mn-card:last-of-type { border-bottom: 0; }
.mn-card-head { padding-bottom: .7rem; }

.mn-card-media {
  position: relative;
  width: 100%;
  max-width: 600px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--color-paler-green);
}
.mn-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.mn-card-media:hover img { transform: scale(1.03); }
.mn-card-body { padding-top: 1rem; max-width: 600px; }


/* 9. NAMES / DESCRIPTIONS / PRICES ======================================= */

.mn-name {
  font-family: 'HKRequisite-Medium', sans-serif;
  font-size: 16px;
  letter-spacing: .03em;
}
.mn-name-lg { font-size: 20px; }

.mn-desc {
  margin: .3rem 0 0;
  max-width: 62ch;
  font-size: 14px;
  line-height: 1.5;
  color: #565845;
  opacity: 1;
}

.mn-price {
  float: right;
  padding-left: 1rem;
  font-family: 'HKRequisite-Medium', sans-serif;
  font-size: 16px;
}


/* 10. TAGS =============================================================== */

.mn-tags { display: flex; flex-wrap: wrap; gap: .3rem; margin: .5rem 0 0; }

.mn-tag {
  padding: .18rem .38rem;
  border: 1px solid #565845;
  color: #565845;
  font-family: 'HKRequisite-Medium', sans-serif;
  font-size: 11px;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.mn-tag-gf,
.mn-tag-gfo,
.mn-tag-nfo { border-color: #1D4BA1; color: #1D4BA1; }
.mn-tag-alc { border-color: #565845; color: #565845; }  /* matches base; listed for clarity */
.mn-tag-nuts,
.mn-tag-spicy {
  background: #7A4A0D;
  border-color: #7A4A0D;
  color: #F7F3EA;
}


/* 11. OPTION LISTS =======================================================
*/
.entry-content p.mn-opts-h {
  margin: .7rem 0 .35rem;
  font-family: 'HKRequisite-Medium', sans-serif;
  font-size: 11px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--color-royal-blue);
}
.entry-content ul.mn-opts {
  list-style: none;
  margin: .25rem 0 0;
  padding: 0;
}
.entry-content ul.mn-opts li {
  position: relative;
  margin: 0;
  padding: 0 0 0 1rem;
  list-style: none;
  font-size: 13px;
  line-height: 1.55;
  color: #565845;
}
.entry-content ul.mn-opts li:before {
  content: '–';
  position: absolute;
  left: 0;
  color: var(--color-muddy-gold);
}
.mn-opt-n { font-style: italic; opacity: .85; }

/* 12. DEALS & SOLD OUT =================================================== */

.mn-deal {
  margin: .8rem 0 0;
  padding: .7rem 1rem;
  background: var(--color-royal-blue);
  border-left: 6px solid var(--color-dark-orange);
  color: var(--color-off-white);
  font-family: 'HKRequisite-Medium', sans-serif;
  font-size: 13px;
  letter-spacing: .04em;
}
.mn-item.is-out { opacity: .45; }
.mn-out {
  margin-left: .6rem;
  padding: .2rem .4rem;
  background: #8C2F12;
  color: #F7F3EA;
  font-family: 'HKRequisite-Medium', sans-serif;
  font-size: 9px;
  letter-spacing: .07em;
  text-transform: uppercase;
}


/* 13. RESPONSIVE ========================================================= */

@media (max-width: 900px) {
  .mn-chev { display: block; }
  .mn-h-btn { cursor: pointer; }
  .mn-sec.is-collapsed .mn-sec-body { display: none; }
  .mn-sec:not(.is-collapsed) .mn-chev { transform: rotate(-135deg); }
  .mn-card-media { max-width: none; }
}

@media (max-width: 600px) {
  .mn-thumb { flex: 0 0 92px; width: 92px; height: 92px; }
  .mn-name-lg { font-size: 18px; }
}

@media (min-width: 1000px) {
  .page-template-template-menu .entry-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 200px;
    column-gap: 3rem;
    align-items: start;
  }
  .page-template-template-menu .entry-content > *:not(.mn-jump) { grid-column: 1; }
  .page-template-template-menu .entry-content > .mn-jump {
    grid-column: 2;
    grid-row: 1 / span 300;
    position: sticky;
    top: var(--mn-hdr, 120px);
    align-self: start;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .55rem;
    margin: 0;
    padding: 0 0 0 .9rem;
    border-bottom: 0;
    border-left: 1px solid var(--color-muddy-gold);
    max-height: calc(100vh - var(--mn-hdr, 120px) - 24px);
    overflow-y: auto;
  }
  .page-template-template-menu .entry-content > .mn-jump a { white-space: normal; }
}


/* 14. PRINT ============================================================== */

@media print {
  .parallax, .mini-cart, .cart-toggle, .mn-jump, .mn-toggle, .mn-chev,
  .site-header, .site-footer, .mn-card-media { display: none !important; }

  .page-template-template-menu #page { background: #fff !important; }

  .mn-sec-body { display: block !important; }
  .mn-sec { margin-bottom: 1.4rem; }
  .mn-item { break-inside: avoid; padding: .45rem 0; }

  .mn-note { border-left: 3px solid #000; background: none !important; }

  .mn-tag, .mn-badge, .mn-out {
    background: none !important;
    border: 1px solid #000 !important;
    color: #000 !important;
  }
}


/* 15. REDUCED MOTION ===================================================== */

@media (prefers-reduced-motion: reduce) {
  .mn-chev { transition: none; }
  .mn-card-media img { transition: none; }
}

.page-template-template-menu .central-column-thin { max-width: 1200px; }
.mn-desc { max-width: 75ch; }
.page-template-template-menu .mn-card-media {
  max-width: 360px;
}

.mn-h-btn { letter-spacing: .04em; }
.mn-h { border-bottom-width: 2px; }

/* Dietary tags — same hue, different weight */
.mn-tags .mn-tag.mn-tag-gf {
  background: #145027;
  border-color: #145027;
  color: #F7F3EA;
}

.mn-tags .mn-tag.mn-tag-gfo {
  background: transparent;
  border-color: #145027;
  color: #145027;
}
.mn-note {
  border-left-width: 4px;
}