/* Restaurant page styles */

.restaurant-hero {
  padding-block: var(--space-4xl) var(--space-3xl);
}

.restaurant-hero__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xl);
}

.restaurant-hero__copy {
  max-width: 45rem;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.restaurant-hero__copy .label-small-caps {
  margin-block-end: 0;
}

.restaurant-hero__copy h1 {
  margin-block-end: 0;
}

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

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

.restaurant-atmosphere {
  padding-block: var(--space-4xl);
}

.restaurant-atmosphere__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--grid-gutter);
  align-items: start;
}

.restaurant-atmosphere__copy {
  grid-column: 1 / span 6;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.restaurant-atmosphere__copy .label-small-caps {
  margin-block-end: 0;
}

.restaurant-atmosphere__copy h2 {
  margin-block-end: 0;
}

.restaurant-atmosphere__copy p {
  margin-block-end: 0;
  max-width: 35rem;
}

.restaurant-atmosphere__media {
  grid-column: 8 / span 5;
  margin-block-end: 0;
  min-width: 0;
}

.restaurant-atmosphere__media img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--radius-none);
}

.restaurant-atmosphere__media figcaption {
  margin-block-start: var(--space-xs);
}

.restaurant-philosophy {
  padding-block: var(--space-4xl);
  border-block-start: 1px solid var(--color-soft-gold);
}

.restaurant-philosophy__inner {
  display: flex;
  justify-content: flex-start;
}

.restaurant-philosophy__copy {
  max-width: 45rem;
  margin-inline-start: calc((100% - 73.75rem) / 2 + (73.75rem / 12 * 2));
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.restaurant-philosophy__copy .label-small-caps {
  margin-block-end: 0;
}

.restaurant-philosophy__copy h2 {
  margin-block-end: 0;
}

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

.restaurant-experience {
  padding-block: var(--space-4xl);
}

.restaurant-experience__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--grid-gutter);
  align-items: start;
}

.restaurant-experience__media {
  grid-column: 1 / span 5;
  margin-block-end: 0;
  min-width: 0;
}

.restaurant-experience__media img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: var(--radius-none);
}

.restaurant-experience__media figcaption {
  margin-block-start: var(--space-xs);
  color: var(--color-champagne-beige);
}

.restaurant-experience__copy {
  grid-column: 7 / span 6;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.restaurant-experience__copy .label-small-caps {
  margin-block-end: 0;
}

.restaurant-experience__copy h2 {
  margin-block-end: 0;
}

.restaurant-experience__copy p {
  margin-block-end: 0;
  max-width: 35rem;
}

.restaurant-menu {
  padding-block: var(--space-4xl);
  border-block-start: 1px solid var(--color-soft-gold);
}

.restaurant-menu__inner {
  display: flex;
  justify-content: flex-end;
}

.restaurant-menu__copy {
  max-width: 45rem;
  margin-inline-end: calc((100% - 73.75rem) / 2 + (73.75rem / 12 * 2));
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.restaurant-menu__copy .label-small-caps {
  margin-block-end: 0;
}

.restaurant-menu__copy h2 {
  margin-block-end: 0;
}

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

.restaurant-menu__link {
  align-self: flex-start;
}

.restaurant-practical {
  padding-block: var(--space-4xl);
}

.restaurant-practical__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--grid-gutter);
  align-items: start;
}

.restaurant-practical__copy {
  grid-column: 1 / span 6;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.restaurant-practical__copy .label-small-caps {
  margin-block-end: 0;
}

.restaurant-practical__copy h2 {
  margin-block-end: 0;
}

.restaurant-practical__copy p {
  margin-block-end: 0;
  max-width: 35rem;
}

.restaurant-practical__table-wrap {
  grid-column: 8 / span 5;
  min-width: 0;
}

.restaurant-practical__table {
  margin-block-end: 0;
  border: 1px solid rgba(43, 29, 22, 0.2);
}

.restaurant-practical__table th,
.restaurant-practical__table td {
  border-block-end: 1px solid rgba(43, 29, 22, 0.2);
}

.restaurant-practical__table tr:last-child th,
.restaurant-practical__table tr:last-child td {
  border-block-end: none;
}

.restaurant-responsible {
  padding-block: var(--space-4xl);
  border-block-start: 1px solid var(--color-soft-gold);
}

.restaurant-responsible__inner {
  display: flex;
  justify-content: flex-start;
}

.restaurant-responsible__copy {
  max-width: 45rem;
  margin-inline-start: calc((100% - 73.75rem) / 2 + (73.75rem / 12 * 2));
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.restaurant-responsible__copy .label-small-caps {
  margin-block-end: 0;
}

.restaurant-responsible__copy h2 {
  margin-block-end: 0;
}

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

.restaurant-cta {
  padding-block: var(--space-4xl);
}

.restaurant-cta__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xl);
}

.restaurant-cta__copy {
  max-width: 45rem;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.restaurant-cta__copy .label-small-caps {
  margin-block-end: 0;
}

.restaurant-cta__copy h2 {
  margin-block-end: 0;
}

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

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

@media (max-width: 64rem) {
  .restaurant-philosophy__copy,
  .restaurant-menu__copy,
  .restaurant-responsible__copy {
    margin-inline-start: 0;
    margin-inline-end: 0;
    max-width: 100%;
  }

  .restaurant-philosophy__inner,
  .restaurant-menu__inner,
  .restaurant-responsible__inner {
    justify-content: flex-start;
  }
}

@media (max-width: 48rem) {
  .restaurant-atmosphere__grid,
  .restaurant-experience__grid,
  .restaurant-practical__grid {
    grid-template-columns: 1fr;
  }

  .restaurant-atmosphere__copy,
  .restaurant-atmosphere__media,
  .restaurant-experience__media,
  .restaurant-experience__copy,
  .restaurant-practical__copy,
  .restaurant-practical__table-wrap {
    grid-column: 1;
    width: 100%;
  }

  .restaurant-atmosphere__media img {
    aspect-ratio: 3 / 2;
  }

  .restaurant-experience__media img {
    aspect-ratio: 4 / 5;
  }

  .restaurant-hero,
  .restaurant-atmosphere,
  .restaurant-philosophy,
  .restaurant-experience,
  .restaurant-menu,
  .restaurant-practical,
  .restaurant-responsible,
  .restaurant-cta {
    padding-block: var(--space-3xl);
  }

  .restaurant-hero__copy h1 {
    font-size: var(--text-h2-size);
  }

  .restaurant-atmosphere__copy h2,
  .restaurant-philosophy__copy h2,
  .restaurant-experience__copy h2,
  .restaurant-menu__copy h2,
  .restaurant-practical__copy h2,
  .restaurant-responsible__copy h2,
  .restaurant-cta__copy h2 {
    font-size: var(--text-h3-size);
  }
}

@media (prefers-reduced-motion: reduce) {
  .restaurant-hero,
  .restaurant-atmosphere,
  .restaurant-philosophy,
  .restaurant-experience,
  .restaurant-menu,
  .restaurant-practical,
  .restaurant-responsible,
  .restaurant-cta {
    transition: none;
  }
}
