/* Ashend Willoow Restaurant Page Styles */

.restaurant-page {
  background-color: var(--color-marble);
  color: var(--color-chocolate);
}

/* Plate Header */
.restaurant-plate-header {
  padding-block: var(--space-3xl) var(--space-2xl);
}

.restaurant-plate-header__inner {
  max-width: var(--container-editorial);
  margin-inline: auto;
  padding-inline: var(--container-gutter-mobile);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
}

.restaurant-plate-header__number {
  margin-block-end: 0;
}

.restaurant-plate-header__title {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line-height);
  margin-block-end: 0;
}

.restaurant-plate-header__standfirst {
  max-width: 48ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.restaurant-plate-header__rule {
  width: 4rem;
  height: 1px;
  background-color: var(--color-gold);
  opacity: 0.3;
}

.restaurant-plate-header__intro {
  max-width: 48ch;
  margin-inline: auto;
  color: var(--color-ink-soft);
  margin-block-end: 0;
}

/* Dining Philosophy */
.restaurant-philosophy {
  padding-block: var(--space-2xl) var(--space-3xl);
  background-color: var(--color-papyrus);
  border-block: 1px solid var(--color-border-gold);
}

.restaurant-philosophy__inner {
  max-width: var(--container-primary);
  margin-inline: auto;
  padding-inline: var(--container-gutter-mobile);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
}

.restaurant-philosophy__main {
  min-width: 0;
}

.restaurant-philosophy__main h2,
.restaurant-philosophy__main h3 {
  margin-block-end: var(--space-md);
}

.restaurant-philosophy__main p {
  max-width: 68ch;
}

.restaurant-philosophy__quote-panel {
  background-color: var(--color-marble);
  border: 1px solid var(--color-border-gold);
  padding: var(--space-xl);
  box-shadow: var(--color-shadow-panel);
  align-self: start;
}

.restaurant-philosophy__quote {
  font-style: italic;
  font-size: 1.25rem;
  line-height: 1.5;
  color: var(--color-ink-soft);
  max-width: 42ch;
  margin-block-end: 0;
}

/* Gallery Spaces */
.restaurant-spaces {
  padding-block: var(--space-3xl);
}

.restaurant-spaces__inner {
  max-width: var(--container-primary);
  margin-inline: auto;
  padding-inline: var(--container-gutter-mobile);
}

.restaurant-spaces__inner h2 {
  margin-block-end: var(--space-xl);
}

.restaurant-spaces__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
}

.restaurant-spaces__text {
  min-width: 0;
}

.restaurant-spaces__text h3 {
  margin-block-start: var(--space-lg);
}

.restaurant-spaces__text h3:first-child {
  margin-block-start: 0;
}

.restaurant-spaces__text p {
  max-width: 68ch;
}

.restaurant-spaces__figure {
  margin-block-end: 0;
}

.restaurant-spaces__image {
  aspect-ratio: 4 / 5;
  width: 100%;
}

.restaurant-spaces__figure--lounge .restaurant-spaces__image {
  aspect-ratio: 3 / 4;
}

.restaurant-spaces__figure figcaption {
  max-width: 42ch;
  margin-block-start: var(--space-xs);
}

/* Seasonal Menu */
.restaurant-menu {
  padding-block: var(--space-3xl);
  background-color: var(--color-papyrus);
  border-block: 1px solid var(--color-border-gold);
}

.restaurant-menu__inner {
  max-width: var(--container-primary);
  margin-inline: auto;
  padding-inline: var(--container-gutter-mobile);
}

.restaurant-menu__inner h2 {
  margin-block-end: var(--space-xl);
}

.restaurant-menu__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
}

.restaurant-menu__list {
  min-width: 0;
}

.restaurant-menu__list h3 {
  margin-block-start: var(--space-lg);
}

.restaurant-menu__list h3:first-child {
  margin-block-start: 0;
}

.restaurant-menu__list p {
  max-width: 60ch;
}

.restaurant-menu__items {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
}

.restaurant-menu__items li {
  margin-block-end: var(--space-lg);
}

.restaurant-menu__items li:last-child {
  margin-block-end: 0;
}

.restaurant-menu__items h4 {
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line-height);
  font-weight: 400;
  margin-block-end: var(--space-xs);
}

.restaurant-menu__items p {
  margin-block-end: 0;
}

.restaurant-menu__figure {
  margin-block-end: 0;
}

.restaurant-menu__image {
  aspect-ratio: 4 / 5;
  width: 100%;
}

.restaurant-menu__figure figcaption {
  max-width: 42ch;
  margin-block-start: var(--space-xs);
}

/* Offline Poker Experience */
.restaurant-poker {
  padding-block: var(--space-3xl);
}

.restaurant-poker__inner {
  max-width: var(--container-primary);
  margin-inline: auto;
  padding-inline: var(--container-gutter-mobile);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
}

.restaurant-poker__text {
  min-width: 0;
}

.restaurant-poker__text h2 {
  margin-block-end: var(--space-lg);
}

.restaurant-poker__text h3 {
  margin-block-start: var(--space-lg);
}

.restaurant-poker__text p {
  max-width: 68ch;
}

.restaurant-poker__quote {
  font-style: italic;
  font-size: 1.25rem;
  line-height: 1.5;
  color: var(--color-ink-soft);
  max-width: 42ch;
  margin-block-start: var(--space-lg);
  padding-inline-start: var(--space-lg);
  border-inline-start: 1px solid var(--color-gold);
}

.restaurant-poker__figure {
  margin-block-end: 0;
}

.restaurant-poker__image {
  aspect-ratio: 3 / 4;
  width: 100%;
}

.restaurant-poker__figure figcaption {
  max-width: 42ch;
  margin-block-start: var(--space-xs);
}

/* Poker Table Etiquette */
.restaurant-etiquette {
  padding-block: var(--space-3xl);
  background-color: var(--color-marble);
  border-block: 1px solid var(--color-border-gold);
}

.restaurant-etiquette__inner {
  max-width: var(--container-editorial);
  margin-inline: auto;
  padding-inline: var(--container-gutter-mobile);
}

.restaurant-etiquette__inner h2 {
  margin-block-end: var(--space-lg);
}

.restaurant-etiquette__inner h3 {
  margin-block-start: var(--space-lg);
}

.restaurant-etiquette__inner p {
  max-width: 68ch;
}

.restaurant-etiquette__list {
  max-width: 60ch;
  margin-block-end: var(--space-lg);
}

.restaurant-etiquette__list li {
  margin-block-end: var(--space-sm);
}

.restaurant-etiquette__inner .link-underline {
  display: inline-block;
  margin-block-start: var(--space-md);
}

/* Private Evenings */
.restaurant-private {
  padding-block: var(--space-3xl);
}

.restaurant-private__inner {
  max-width: var(--container-primary);
  margin-inline: auto;
  padding-inline: var(--container-gutter-mobile);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
}

.restaurant-private__text {
  min-width: 0;
}

.restaurant-private__text h2 {
  margin-block-end: var(--space-lg);
}

.restaurant-private__text h3 {
  margin-block-start: var(--space-lg);
}

.restaurant-private__text p {
  max-width: 68ch;
}

.restaurant-private__figure {
  margin-block-end: 0;
}

.restaurant-private__image {
  aspect-ratio: 4 / 5;
  width: 100%;
}

.restaurant-private__figure figcaption {
  max-width: 42ch;
  margin-block-start: var(--space-xs);
}

/* Gallery Journal Preview */
.restaurant-journal {
  padding-block: var(--space-3xl);
  background-color: var(--color-papyrus);
  border-block: 1px solid var(--color-border-gold);
}

.restaurant-journal__inner {
  max-width: var(--container-editorial);
  margin-inline: auto;
  padding-inline: var(--container-gutter-mobile);
}

.restaurant-journal__inner h2 {
  margin-block-end: var(--space-lg);
}

.restaurant-journal__inner h3 {
  margin-block-start: var(--space-lg);
}

.restaurant-journal__inner p {
  max-width: 68ch;
}

.restaurant-journal__inner .link-underline {
  display: inline-block;
  margin-block-start: var(--space-md);
}

/* Booking and Reservations */
.restaurant-booking {
  padding-block: var(--space-3xl) var(--space-4xl);
}

.restaurant-booking__inner {
  max-width: 40rem;
  margin-inline: auto;
  padding-inline: var(--container-gutter-mobile);
}

.restaurant-booking__inner h2 {
  text-align: center;
  margin-block-end: var(--space-xl);
}

.restaurant-booking__panel {
  background-color: var(--color-papyrus);
  border: 1px solid var(--color-border-gold);
  box-shadow: var(--color-shadow-panel);
  padding: var(--space-xl);
}

.restaurant-booking__panel h3 {
  margin-block-end: var(--space-md);
}

.restaurant-booking__panel > p {
  margin-block-end: var(--space-lg);
}

.restaurant-booking__details {
  margin-block-end: var(--space-lg);
}

.restaurant-booking__detail {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xs);
  padding-block: var(--space-md);
  border-block-end: 1px solid var(--color-border-gold);
}

.restaurant-booking__detail:first-child {
  border-block-start: 1px solid var(--color-border-gold);
}

.restaurant-booking__detail dt {
  margin-block-end: 0;
}

.restaurant-booking__detail dd {
  margin-inline-start: 0;
  margin-block-end: 0;
  max-width: 60ch;
}

.restaurant-booking__detail a {
  color: var(--color-chocolate);
  text-decoration: underline;
  text-decoration-color: var(--color-gold);
  text-underline-offset: 2px;
}

.restaurant-booking__detail a:hover {
  color: var(--color-fresco-blue);
}

.restaurant-booking__panel .link-underline {
  display: inline-block;
  margin-block-start: var(--space-md);
}

/* Tablet and Desktop */
@media (min-width: 640px) {
  .restaurant-plate-header__inner,
  .restaurant-philosophy__inner,
  .restaurant-spaces__inner,
  .restaurant-menu__inner,
  .restaurant-poker__inner,
  .restaurant-etiquette__inner,
  .restaurant-private__inner,
  .restaurant-journal__inner,
  .restaurant-booking__inner {
    padding-inline: var(--container-gutter-desktop);
  }

  .restaurant-philosophy__inner {
    grid-template-columns: 3fr 2fr;
    gap: var(--space-2xl);
  }

  .restaurant-spaces__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2xl);
  }

  .restaurant-spaces__text {
    grid-column: 1 / -1;
  }

  .restaurant-spaces__figure--dining {
    grid-column: 1 / 2;
  }

  .restaurant-spaces__figure--lounge {
    grid-column: 2 / 3;
  }

  .restaurant-menu__grid {
    grid-template-columns: 3fr 2fr;
    gap: var(--space-2xl);
  }

  .restaurant-poker__inner {
    grid-template-columns: 3fr 2fr;
    gap: var(--space-2xl);
  }

  .restaurant-private__inner {
    grid-template-columns: 3fr 2fr;
    gap: var(--space-2xl);
  }

  .restaurant-booking__detail {
    grid-template-columns: 8rem 1fr;
    gap: var(--space-md);
  }
}

@media (min-width: 1024px) {
  .restaurant-spaces__grid {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .restaurant-spaces__text {
    grid-column: 1 / 2;
  }

  .restaurant-spaces__figure--dining {
    grid-column: 2 / 3;
  }

  .restaurant-spaces__figure--lounge {
    grid-column: 3 / 4;
  }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  .image-plate img {
    transition: none;
  }

  .image-plate:hover img {
    transform: none;
  }

  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
