/* Page-owned styles for Mariner Atlas Dining page */

.dining-page {
  /* Page wrapper spacing handled by base sections */
}

/* Introduction */
.dining-intro {
  padding-block: var(--space-hero);
}

.dining-intro__inner {
  max-width: 700px;
  margin-inline: auto;
  text-align: left;
}

.dining-intro__lead {
  max-width: 65ch;
  margin-block-end: var(--space-paragraph);
}

.dining-intro__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-paragraph);
  max-width: 65ch;
}

.dining-intro__columns p {
  min-width: 0;
}

/* Main dining */
.dining-main {
  border-block-start: var(--border-double);
  padding-block: var(--space-page);
}

.dining-main__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-major);
  align-items: start;
}

.dining-main__text {
  min-width: 0;
}

.dining-main__text p,
.dining-main__text blockquote,
.dining-main__text ul,
.dining-main__text h3 {
  max-width: 75ch;
}

.dining-main__figure {
  min-width: 0;
}

.dining-main__figure img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* Buffet */
.dining-buffet {
  border-block-start: var(--border-double);
  padding-block: var(--space-page);
}

.dining-buffet__grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: var(--space-major);
  align-items: start;
}

.dining-buffet__figure {
  min-width: 0;
}

.dining-buffet__figure img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.dining-buffet__text {
  min-width: 0;
}

.dining-buffet__text p,
.dining-buffet__text ul,
.dining-buffet__text h3 {
  max-width: 80ch;
}

/* Specialty */
.dining-specialty {
  border-block-start: var(--border-double);
  padding-block: var(--space-page);
}

.dining-specialty__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-major);
  align-items: start;
}

.dining-specialty__text {
  min-width: 0;
}

.dining-specialty__text p,
.dining-specialty__text blockquote,
.dining-specialty__text h3 {
  max-width: 75ch;
}

.dining-specialty__figure {
  min-width: 0;
}

.dining-specialty__figure img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* Cuisine styles */
.dining-cuisine {
  border-block-start: var(--border-double);
  padding-block: var(--space-page);
}

.dining-cuisine__intro {
  max-width: 80ch;
}

.dining-cuisine__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-paragraph);
  margin-block-end: var(--space-major);
}

.dining-cuisine__card {
  min-width: 0;
}

.dining-cuisine__card h3 {
  margin-block-end: var(--space-tight);
}

.dining-cuisine__card p {
  margin-block-end: 0;
}

.dining-cuisine__signature {
  max-width: 80ch;
}

/* Dietary */
.dining-dietary {
  border-block-start: var(--border-double);
  padding-block: var(--space-page);
}

.dining-dietary__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  gap: var(--space-major);
  align-items: start;
}

.dining-dietary__text {
  min-width: 0;
}

.dining-dietary__text p,
.dining-dietary__text ul {
  max-width: 75ch;
}

.dining-dietary__callout {
  background-color: var(--color-paper-dark);
  border: var(--border-single);
  border-inline-start: 3px solid var(--color-accent);
  padding: var(--space-paragraph);
  min-width: 0;
}

.dining-dietary__callout h3 {
  margin-block-end: var(--space-base);
}

.dining-dietary__callout p,
.dining-dietary__callout ul {
  margin-block-end: var(--space-base);
}

.dining-dietary__callout ul:last-child {
  margin-block-end: 0;
}

/* Tips */
.dining-tips {
  border-block-start: var(--border-double);
  padding-block: var(--space-page);
}

.dining-tips__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-major);
  align-items: start;
}

.dining-tips__reservations,
.dining-tips__dress {
  min-width: 0;
}

.dining-tips__reservations p,
.dining-tips__reservations ol,
.dining-tips__dress p,
.dining-tips__dress ul {
  max-width: 75ch;
}

/* Conclusion */
.dining-conclusion {
  border-block-start: var(--border-double);
  padding-block: var(--space-page);
}

.dining-conclusion__inner {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
}

.dining-conclusion__inner p {
  max-width: 65ch;
  margin-inline: auto;
}

/* Responsive */
@media (max-width: 1023px) {
  .dining-main__grid,
  .dining-buffet__grid,
  .dining-specialty__grid,
  .dining-dietary__grid,
  .dining-tips__grid {
    grid-template-columns: 1fr;
    gap: var(--space-section);
  }

  .dining-cuisine__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dining-intro__columns {
    grid-template-columns: 1fr;
    gap: var(--space-base);
  }
}

@media (max-width: 767px) {
  .dining-intro {
    padding-block: var(--space-page);
  }

  .dining-intro__inner {
    max-width: 100%;
  }

  .dining-intro__lead,
  .dining-intro__columns {
    max-width: 100%;
  }

  .dining-main,
  .dining-buffet,
  .dining-specialty,
  .dining-cuisine,
  .dining-dietary,
  .dining-tips,
  .dining-conclusion {
    padding-block: var(--space-major);
  }

  .dining-cuisine__grid {
    grid-template-columns: 1fr;
  }

  .dining-main__text p,
  .dining-main__text blockquote,
  .dining-main__text ul,
  .dining-main__text h3,
  .dining-buffet__text p,
  .dining-buffet__text ul,
  .dining-buffet__text h3,
  .dining-specialty__text p,
  .dining-specialty__text blockquote,
  .dining-specialty__text h3,
  .dining-cuisine__intro,
  .dining-cuisine__signature,
  .dining-dietary__text p,
  .dining-dietary__text ul,
  .dining-tips__reservations p,
  .dining-tips__reservations ol,
  .dining-tips__dress p,
  .dining-tips__dress ul,
  .dining-conclusion__inner p {
    max-width: 100%;
  }

  .dining-conclusion__inner {
    max-width: 100%;
  }
}
