/* Dining v1. Source: supplied page-dining.php; palette: approved Villas.
   Page-scoped presentation. Shared templates and media stay unchanged. */
body.amandagat-dining {
  --ink: #0c2340;
  --deep: #0c2340;
  --night: #0c2340;
  --limewash: #f4f8f9;
  --sand: #fff;
  --brass: #14549e;
  --brass-light: #d6a8a8;
  --gold: #d6a8a8;
  --white: #fff;
  --dining-header-height: 111px;
  background: #f4f8f9;
  color: #0c2340;
}
body.amandagat-dining #nav.solid { background: rgba(244,248,249,.97); color: #0c2340; }
body.amandagat-dining #nav.solid a { color: #0c2340; }
body.amandagat-dining .util-strip { background: #f4f8f9; border-color: #f4f8f9; }
body.amandagat-dining .util-strip a { color: #0c2340; }
body.amandagat-dining #nav .nav-dd-menu { background: #0c2340; border-color: #d6a8a8; }
body.amandagat-dining #nav .nav-dd-menu a { color: #fff; }
body.amandagat-dining footer.starry { background: #0c2340; color: #fff; }
body.amandagat-dining footer .fg h4 { color: #d6a8a8; }
body.amandagat-dining .btn {
  min-height: 50px;
  padding: 15px 27px;
  border-radius: 6px;
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: .09em;
  box-shadow: none;
  white-space: normal;
}
body.amandagat-dining .btn-brass { background: #14549e; color: #fff !important; border: 1px solid #14549e; }
body.amandagat-dining .btn-brass:hover { background: #0c2340; border-color: #0c2340; box-shadow: none; }
body.amandagat-dining .btn-ghost { background: transparent; color: #14549e; border: 1px solid currentColor; }
body.amandagat-dining :focus-visible { outline: 3px solid #14549e; outline-offset: 5px; }
@supports (overflow-x:clip) {
  body.amandagat-dining { overflow-x: clip !important; }
}
#amandagat-dining {
  --night: #0c2340;
  --deep: #0c2340;
  --brass-light: #d6a8a8;
  font-size: 17px;
  line-height: 1.7;
}
#amandagat-dining h1,
#amandagat-dining h2,
#amandagat-dining h3 { font-weight: 400; letter-spacing: -.025em; }
#amandagat-dining h2 { font-size: clamp(32px,4vw,52px); line-height: 1.13; }
#amandagat-dining h2 em { color: #14549e; }
#amandagat-dining :is(.eyebrow,.pgx-eyebrow) { font-size: 12px; letter-spacing: .18em; line-height: 1.5; }
#amandagat-dining .pgx-section { padding-block: 88px; }
#amandagat-dining .section-head { margin-bottom: 38px; }
#amandagat-dining .section-head p { color: #44515d; opacity: 1; }

/* One full-width hero, retaining the original title and introductory copy. */
#amandagat-dining .pgx-head {
  min-height: 570px;
  padding: 186px 24px 115px;
  background: #0c2340;
  color: #fff;
}
#amandagat-dining .pgx-head .pgx-wrap { position: relative; z-index: 1; }
#amandagat-dining .pgx-head h1 { font-size: clamp(58px,8vw,106px); color: #fff; }
#amandagat-dining .pgx-head .pgx-eyebrow { color: #d6a8a8; }
#amandagat-dining .dnm-tag { color: #d6a8a8; font-size: clamp(24px,3vw,32px); margin-top: 20px; }
#amandagat-dining .dnm-tagsub { color: #e6eef4; font-family: var(--body); font-size: 17px; max-width: 600px; opacity: 1; margin-top: 18px; }
#amandagat-dining .scroll-cue { border-width: 1px; }

/* The existing day selector stays visible as the six stages pass below it. */
#amandagat-dining .dnj { background: #f4f8f9; padding: 0; }
#amandagat-dining .dnj-open {
  grid-template-columns: minmax(0,.9fr) minmax(0,1.15fr);
  gap: 54px;
  max-width: 1280px;
  max-height: none;
  margin: 0 auto;
  padding: 80px 40px;
  overflow: visible;
}
#amandagat-dining .dnj-open-text { padding: 0; }
#amandagat-dining .dnj-open h2 { margin-top: 12px; }
#amandagat-dining .dnj-sub { font-family: var(--body); font-size: 17px; line-height: 1.7; color: #44515d; opacity: 1; }
#amandagat-dining .dnj-open-photo { min-height: 330px; max-height: none; border-radius: 6px; overflow: hidden; }
#amandagat-dining .dnj-open-photo::before,
#amandagat-dining .dnj-open-photo::after { content: none; }
#amandagat-dining .dnj-nav {
  position: sticky;
  top: calc(var(--dining-header-height) + var(--preview-label-height,0px));
  z-index: 40;
  min-height: 66px;
  margin: 0;
  padding: 10px 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
  background: #f4f8f9;
  border-top: 1px solid #ccd6df;
  border-bottom: 1px solid #ccd6df;
  overflow-x: auto;
  scrollbar-width: thin;
}
#amandagat-dining .dnj-nav > span { display: none; }
#amandagat-dining .dnj-nav a {
  flex: 0 0 auto;
  padding: 11px 17px;
  border-radius: 4px;
  color: #0c2340;
  opacity: 1;
  font-size: 12px;
  letter-spacing: .08em;
  transition: color .2s,background-color .2s;
}
#amandagat-dining .dnj-nav a:hover { background: #e5eef5; }
#amandagat-dining .dnj-nav a[aria-current] { background: #0c2340; color: #fff; }
#amandagat-dining .dnj-moment {
  grid-template-columns: minmax(0,470px) minmax(0,560px);
  min-height: 365px;
  height: auto;
  gap: 40px;
  padding-block: 40px;
  background: var(--dnj-b);
  scroll-margin-top: calc(var(--dining-header-height) + var(--preview-label-height,0px) + 66px);
}
#amandagat-dining .dnj-moment[data-stage="1"] { --dnj-b:#f4f8f9; --dnj-fg:#0c2340; --dnj-accent:#14549e; }
#amandagat-dining .dnj-moment[data-stage="2"] { --dnj-b:#e5eef5; --dnj-fg:#0c2340; --dnj-accent:#14549e; }
#amandagat-dining .dnj-moment[data-stage="3"] { --dnj-b:#ccdded; --dnj-fg:#0c2340; --dnj-accent:#14549e; }
#amandagat-dining .dnj-moment[data-stage="4"] { --dnj-b:#9bbad5; --dnj-fg:#0c2340; --dnj-accent:#0c2340; }
#amandagat-dining .dnj-moment[data-stage="5"] { --dnj-b:#14549e; --dnj-fg:#fff; --dnj-accent:#fff; }
#amandagat-dining .dnj-moment[data-stage="6"] { --dnj-b:#0c2340; --dnj-fg:#fff; --dnj-accent:#d6a8a8; }
#amandagat-dining .dnj-text { padding: 20px 0 20px 64px; }
#amandagat-dining .dnj-num { font-family: var(--body); font-size: 12px; font-weight: 700; letter-spacing: .2em; }
#amandagat-dining .dnj-text h3 { text-transform: none; font-size: clamp(29px,3vw,40px); letter-spacing: -.025em; color: var(--dnj-fg); margin-top: 10px; }
#amandagat-dining .dnj-text p { font-size: 17px; opacity: 1; line-height: 1.7; margin-top: 15px; }
#amandagat-dining .dnj-photo { height: 285px; border-radius: 6px; box-shadow: none; }
#amandagat-dining .dnj-photo img { border-radius: 6px; }
#amandagat-dining .dnj-marker { top: calc(50% - 34px); }
#amandagat-dining .dnj-time { font-size: 11px; letter-spacing: .04em; opacity: 1; }
#amandagat-dining .dnj-moment.is-now .dnj-ic { color: var(--dnj-b); box-shadow: 0 0 0 5px rgba(214,168,168,.22); }
#amandagat-dining .dnj-line { color: #9bbad5; opacity: .65; }
#amandagat-dining .dnc-sunset { color: inherit !important; }

/* The existing dishes: photographs and descriptions remain visible together. */
#amandagat-dining .dnc-mgrid { gap: 24px; }
#amandagat-dining .dnc-mgrid .mcard { display: flex; flex-direction: column; min-height: 0; border: 1px solid #ccd6df; border-radius: 6px; background: #fff; box-shadow: none; overflow: hidden; transition: border-color .2s,transform .2s; }
#amandagat-dining .dnc-mgrid .mcard:hover { border-color: #d6a8a8; transform: translateY(-4px); }
#amandagat-dining .dnc-mgrid .mcard img { position: static; width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; transform: none; }
#amandagat-dining .dnc-mgrid .mveil { display: none; }
#amandagat-dining .dnc-mgrid .mlabel { position: static; padding: 23px; color: #0c2340; transform: none; }
#amandagat-dining .dnc-mgrid .mlabel h3 { font-size: 26px; color: #14549e; }
#amandagat-dining .dnc-mgrid .mlabel p { max-height: none; opacity: 1; margin-top: 12px; font-size: 15.5px; line-height: 1.65; color: #44515d; }
#amandagat-dining .pgx-frame { box-shadow: none; background: transparent; }
#amandagat-dining .dnc-stack { width: 100%; min-width: 0; height: 440px; }
#amandagat-dining .dnc-stack img { border-radius: 6px; border: 4px solid #fff; box-shadow: 0 12px 28px rgba(12,35,64,.12); }
#amandagat-dining .dnc-ugc-wrap > div:last-child p { margin-top: 18px; color: #44515d; }
#amandagat-dining .dnc-gather { background: #0c2340; padding-block: 84px; }
#amandagat-dining :is(.dnc-gather,.pgx-section--night) :is(h2,p) { color: #fff; opacity: 1 !important; }
#amandagat-dining :is(.dnc-gather,.pgx-section--night) :is(.eyebrow,h2 em) { color: #d6a8a8; }
#amandagat-dining :is(.dnc-gather,.pgx-section--night) .btn-brass { background: #d6a8a8; color: #0c2340 !important; border-color: #d6a8a8; }
#amandagat-dining :is(.dnc-gather,.pgx-section--night) .btn-brass:hover { background: #fff; border-color: #fff; }
#amandagat-dining :is(.dnc-gather,.pgx-section--night) .btn-ghost { color: #fff; }
#amandagat-dining :is(.dnc-gather,.pgx-section--night) a:focus-visible { outline-color: #fff; }
#amandagat-dining .dining-hours { margin: 25px 0; border-top: 1px solid #ccd6df; }
#amandagat-dining .dining-hours > div { display: grid; grid-template-columns: 110px 1fr; gap: 20px; padding: 18px 0; border-bottom: 1px solid #ccd6df; }
#amandagat-dining .dining-hours dt { font-weight: 700; color: #14549e; }
#amandagat-dining .dining-hours dd { margin: 0; color: #0c2340; }

@media(max-width:1080px) {
  body.amandagat-dining { --dining-header-height: 86px; }
  body.amandagat-dining #nav ul.open { background: #f4f8f9; color: #0c2340; }
  body.amandagat-dining #nav ul.open a,
  body.amandagat-dining #nav ul.open .nav-dd-btn { color: #0c2340 !important; }
  body.amandagat-dining #nav ul.open .btn-brass { color: #fff !important; }
  body.amandagat-dining #nav .nav-dd-menu { background: transparent; }
  #amandagat-dining .dnj-nav { justify-content: flex-start; }
}
@media(max-width:820px) {
  #amandagat-dining .dnj-open { display: grid; grid-template-columns: 1fr; gap: 30px; padding: 54px 24px; }
  #amandagat-dining .dnj-open-photo { min-height: 0; height: auto; aspect-ratio: 16/10; margin-top: 0; }
  #amandagat-dining .dnj-moment { display: block; min-height: 0; padding: 30px 0; }
  #amandagat-dining .dnj-text { padding: 4px 24px 0 78px; }
  #amandagat-dining .dnj-photo { width: auto; height: auto; aspect-ratio: 16/10; margin: 24px 24px 0 78px; }
  #amandagat-dining .dnj-marker { top: 34px; }
  #amandagat-dining .dnj-photo::before { content: none; }
  #amandagat-dining .dnc-stack { height: 410px; max-width: 420px; }
}
@media(max-width:640px) {
  #amandagat-dining .pgx-head { min-height: 550px; padding: 148px 24px 105px; }
  #amandagat-dining .pgx-head .pgx-eyebrow { max-width: 310px; margin-inline: auto; }
  #amandagat-dining .pgx-section { padding: 58px 20px; }
  #amandagat-dining .pgx-section > .wrap { padding-inline: 0; }
  #amandagat-dining .dnj-nav { padding-inline: 14px; gap: 4px; min-height: 62px; }
  #amandagat-dining .dnj-nav a { font-size: 11px; padding-inline: 13px; }
  #amandagat-dining .dnj-text { padding-left: 66px; }
  #amandagat-dining .dnj-text p { font-size: 16px; }
  #amandagat-dining .dnj-photo { margin-left: 66px; }
  #amandagat-dining .dnc-mgrid .mlabel { padding: 23px; }
  #amandagat-dining .dnc-stack { height: 365px; }
  #amandagat-dining .dnc-gather { padding: 64px 24px; }
  #amandagat-dining .dining-hours > div { grid-template-columns: 92px 1fr; gap: 14px; }
}
@media(prefers-reduced-motion:reduce) {
  #amandagat-dining .pgx-stars i { animation: none; opacity: .45; }
  #amandagat-dining .dnc-mgrid .mcard,
  #amandagat-dining .dnc-stack img { transition: none; }
  #amandagat-dining .dnc-mgrid .mcard:hover,
  #amandagat-dining .dnc-stack:hover img { transform: none; }
}
