/* Private Evenings page-owned styles */

#private-evenings-page {
  background-color: var(--color-marble);
}

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

.pe-plate-header__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
  text-align: center;
}

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

.pe-plate-header__title {
  font-size: var(--text-display-size);
  line-height: var(--text-display-line-height);
  letter-spacing: var(--text-display-letter-spacing);
  margin-block-end: 0;
}

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

.pe-plate-header__rule {
  width: 100%;
  margin-block: var(--space-lg) 0;
}

/* Concept */
.pe-concept {
  padding-block: var(--space-2xl) var(--space-3xl);
}

.pe-concept__panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

.pe-concept__heading {
  margin-block-end: 0;
}

.pe-concept__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
}

.pe-concept__column {
  min-width: 0;
}

.pe-concept__column--supporting {
  display: flex;
  align-items: flex-start;
}

.pe-concept__supporting-text {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  letter-spacing: var(--text-small-letter-spacing);
  color: var(--color-ink-soft);
  margin-block-end: 0;
}

.pe-concept__quote-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.pe-concept__quote {
  max-width: 42ch;
  color: var(--color-fresco-rose);
  font-style: italic;
  font-size: 1.25rem;
  line-height: 1.5;
  padding-inline-start: var(--space-lg);
  margin-block-end: 0;
}

.pe-concept__quote-wrap p {
  max-width: 68ch;
  margin-block-end: 0;
}

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

.pe-spaces__heading {
  margin-block-end: var(--space-xl);
}

.pe-spaces__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-xl);
  align-items: start;
}

.pe-spaces__text--dining {
  grid-column: span 7;
  min-width: 0;
}

.pe-spaces__figure--dining {
  grid-column: span 5;
  min-width: 0;
  margin-block-end: 0;
}

.pe-spaces__image-wrap {
  aspect-ratio: 4 / 3;
  width: 100%;
}

.pe-spaces__caption {
  margin-block-start: var(--space-xs);
  max-width: 42ch;
}

.pe-spaces__caption .caption-gold {
  margin-inline-end: var(--space-xs);
}

.pe-spaces__secondary {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
  margin-block-start: var(--space-2xl);
  padding-inline: 0;
}

.pe-spaces__secondary-item {
  min-width: 0;
}

.pe-spaces__subheading {
  margin-block-end: var(--space-sm);
}

/* Formats */
.pe-formats {
  padding-block: var(--space-3xl) var(--space-3xl);
}

.pe-formats__heading {
  margin-block-end: var(--space-xl);
}

.pe-formats__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
}

.pe-formats__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
  padding: var(--space-2xl);
}

.pe-formats__number {
  margin-block-end: 0;
}

.pe-formats__card-title {
  margin-block-end: 0;
}

.pe-formats__card p:last-child {
  max-width: 42ch;
  margin-block-end: 0;
}

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

.pe-poker-experience__heading {
  margin-block-end: var(--space-xl);
}

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

.pe-poker-experience__figure {
  grid-column: span 5;
  min-width: 0;
  margin-block-end: 0;
}

.pe-poker-experience__image-wrap {
  aspect-ratio: 4 / 5;
  width: 100%;
}

.pe-poker-experience__caption {
  margin-block-start: var(--space-xs);
  max-width: 42ch;
}

.pe-poker-experience__caption .caption-gold {
  margin-inline-end: var(--space-xs);
}

.pe-poker-experience__text {
  grid-column: span 7;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.pe-poker-experience__subheading {
  margin-block-end: 0;
}

.pe-poker-experience__text p {
  max-width: 68ch;
  margin-block-end: 0;
}

.pe-poker-experience__list {
  max-width: 42ch;
  margin-block-end: 0;
  padding-inline-start: var(--space-lg);
}

.pe-poker-experience__secondary {
  margin-block-start: var(--space-2xl);
  padding-inline: 0;
  max-width: 68ch;
}

.pe-poker-experience__secondary p {
  margin-block-end: 0;
}

/* Dining */
.pe-dining {
  padding-block: var(--space-3xl) var(--space-3xl);
}

.pe-dining__heading {
  margin-block-end: var(--space-xl);
}

.pe-dining__text {
  max-width: 68ch;
  margin-block-end: var(--space-xl);
}

.pe-dining__text p {
  margin-block-end: 0;
}

.pe-dining__panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-2xl);
}

.pe-dining__panel h3 {
  margin-block-end: 0;
}

.pe-dining__list {
  max-width: 42ch;
  margin-block-end: 0;
  padding-inline-start: var(--space-lg);
}

/* Flow */
.pe-flow {
  padding-block: var(--space-3xl) var(--space-3xl);
}

.pe-flow__heading {
  margin-block-end: var(--space-xl);
}

.pe-flow__intro {
  max-width: 68ch;
  margin-block-end: var(--space-xl);
}

.pe-flow__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.pe-flow__item {
  display: flex;
  gap: var(--space-md);
  align-items: baseline;
  border-bottom: 1px solid var(--color-border-gold);
  padding-block-end: var(--space-md);
}

.pe-flow__item:last-child {
  border-bottom: none;
  padding-block-end: 0;
}

.pe-flow__number {
  flex: 0 0 2.5rem;
  margin-block-end: 0;
}

.pe-flow__item p {
  max-width: 68ch;
  margin-block-end: 0;
}

/* Availability */
.pe-availability {
  padding-block: var(--space-3xl) var(--space-3xl);
}

.pe-availability__heading {
  margin-block-end: var(--space-xl);
}

.pe-availability__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
  align-items: start;
}

.pe-availability__text {
  min-width: 0;
}

.pe-availability__text p {
  max-width: 68ch;
  margin-block-end: 0;
}

.pe-availability__panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-2xl);
  min-width: 0;
}

.pe-availability__panel h3 {
  margin-block-end: 0;
}

.pe-availability__list {
  max-width: 42ch;
  margin-block-end: 0;
  padding-inline-start: var(--space-lg);
}

/* Booking */
.pe-booking {
  padding-block: var(--space-3xl) var(--space-3xl);
}

.pe-booking__panel {
  max-width: 42rem;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-2xl);
}

.pe-booking__heading {
  margin-block-end: 0;
}

.pe-booking__panel p {
  max-width: 42ch;
  margin-block-end: 0;
}

.pe-booking__contact {
  font-style: italic;
}

.pe-booking__link {
  align-self: flex-start;
}

/* FAQ */
.pe-faq {
  padding-block: var(--space-3xl) var(--space-4xl);
}

.pe-faq__panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  padding: var(--space-2xl);
}

.pe-faq__heading {
  margin-block-end: var(--space-lg);
}

.pe-faq__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  border-bottom: 1px solid var(--color-border-gold);
  padding-block-end: var(--space-lg);
}

.pe-faq__item:last-child {
  border-bottom: none;
  padding-block-end: 0;
}

.pe-faq__number {
  margin-block-end: 0;
}

.pe-faq__question {
  margin-block-end: 0;
}

.pe-faq__item p:last-child {
  max-width: 68ch;
  margin-block-end: 0;
}

/* Tablet */
@media (max-width: 900px) {
  .pe-concept__columns {
    grid-template-columns: 1fr;
  }

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

  .pe-formats__card:last-child {
    grid-column: span 2;
  }
}

@media (max-width: 768px) {
  .pe-spaces__grid,
  .pe-poker-experience__grid {
    grid-template-columns: 1fr;
  }

  .pe-spaces__text--dining,
  .pe-spaces__figure--dining,
  .pe-poker-experience__figure,
  .pe-poker-experience__text {
    grid-column: span 1;
  }

  .pe-availability__grid {
    grid-template-columns: 1fr;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .pe-plate-header {
    padding-block: var(--space-2xl) var(--space-xl);
  }

  .pe-concept,
  .pe-spaces,
  .pe-formats,
  .pe-poker-experience,
  .pe-dining,
  .pe-flow,
  .pe-availability,
  .pe-booking,
  .pe-faq {
    padding-block: var(--space-2xl) var(--space-2xl);
  }

  .pe-concept__panel,
  .pe-formats__card,
  .pe-dining__panel,
  .pe-availability__panel,
  .pe-booking__panel,
  .pe-faq__panel {
    padding: var(--space-xl);
  }

  .pe-formats__grid {
    grid-template-columns: 1fr;
  }

  .pe-formats__card:last-child {
    grid-column: span 1;
  }

  .pe-flow__item {
    flex-direction: column;
    gap: var(--space-xs);
  }

  .pe-flow__number {
    flex-basis: auto;
  }

  .pe-spaces__image-wrap,
  .pe-poker-experience__image-wrap {
    border-radius: 40% 40% 0 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pe-plate-header__inner,
  .pe-concept__panel,
  .pe-spaces__grid,
  .pe-spaces__secondary,
  .pe-formats__grid,
  .pe-poker-experience__grid,
  .pe-poker-experience__secondary,
  .pe-dining__text,
  .pe-dining__panel,
  .pe-flow__list,
  .pe-availability__grid,
  .pe-booking__panel,
  .pe-faq__panel {
    transition: none;
  }

  .pe-plate-header__inner.reveal,
  .pe-concept__panel.reveal,
  .pe-spaces__grid .reveal,
  .pe-spaces__secondary .reveal,
  .pe-formats__grid .reveal,
  .pe-poker-experience__grid .reveal,
  .pe-poker-experience__secondary.reveal,
  .pe-dining__text.reveal,
  .pe-dining__panel.reveal,
  .pe-flow__list .reveal,
  .pe-availability__grid .reveal,
  .pe-booking__panel.reveal,
  .pe-faq__panel.reveal {
    opacity: 1;
    transform: none;
  }
}
