/* Poker Nights page styles — scoped to .poker-nights-page */

.poker-nights-page {
  --pn-gutter: var(--gutter, 24px);
  --pn-timber: var(--color-timber, #7A4E2D);
  --pn-line: var(--color-line, #3A5A48);
  --pn-muted-on-felt: var(--color-muted-on-felt, #B9C4B8);
}

/* Shared timber rule */
.pn-timber-rule {
  width: 64px;
  height: 3px;
  background-color: var(--pn-timber);
  margin-block-end: var(--space-md, 24px);
}

.pn-timber-rule--on-felt {
  background-color: var(--pn-timber);
}

/* Hero */
.pn-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: var(--color-felt-deep, #152B20);
}

.pn-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.pn-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.pn-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: rgba(21, 43, 32, 0.7);
}

.pn-hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-md, 24px);
  padding-block: var(--space-xl, 48px);
}

.pn-hero__title {
  color: var(--color-cream, #F7F2E8);
  font-size: clamp(36px, 6vw, 72px);
  line-height: 0.95;
  letter-spacing: 0.02em;
  font-weight: 600;
  max-width: 10ch;
  margin-block-end: 0;
}

.pn-hero__lead {
  color: var(--color-cream, #F7F2E8);
  font-size: var(--text-body-large, 19px);
  line-height: 1.6;
  max-width: 60ch;
  margin-block-end: 0;
}

.pn-hero__cta {
  margin-block-start: var(--space-sm, 16px);
}

/* Atmosphere */
.pn-atmosphere {
  padding-block: var(--section-padding-desktop, 96px);
}

.pn-atmosphere__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  column-gap: var(--pn-gutter);
  align-items: start;
}

.pn-atmosphere__text {
  min-width: 0;
}

.pn-atmosphere__text h2 {
  color: var(--color-charcoal, #1C1C1A);
  margin-block-end: var(--space-lg, 32px);
}

.pn-atmosphere__block {
  margin-block-end: var(--space-lg, 32px);
}

.pn-atmosphere__block:last-child {
  margin-block-end: 0;
}

.pn-atmosphere__block h3 {
  color: var(--color-charcoal, #1C1C1A);
  margin-block-end: var(--space-sm, 16px);
}

.pn-atmosphere__block p {
  color: var(--color-charcoal, #1C1C1A);
  max-width: 65ch;
}

.pn-atmosphere__figure {
  min-width: 0;
  margin-block-end: 0;
}

.pn-atmosphere__figure img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--radius-none, 0px);
}

.pn-atmosphere__figure figcaption {
  color: var(--color-muted, #6B6A63);
}

/* Spaces (Poker Room + Card Lounge) */
.pn-spaces {
  padding-block: var(--section-padding-desktop, 96px);
}

.pn-spaces h2 {
  color: var(--color-cream, #F7F2E8);
  margin-block-end: var(--space-lg, 32px);
}

.pn-spaces__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
  column-gap: var(--space-lg, 32px);
  align-items: start;
}

.pn-spaces__column {
  min-width: 0;
}

.pn-spaces__column h3 {
  color: var(--color-cream, #F7F2E8);
  margin-block-end: var(--space-sm, 16px);
}

.pn-spaces__column p {
  color: var(--color-cream, #F7F2E8);
  max-width: 50ch;
}

.pn-spaces__divider {
  width: 1px;
  background-color: var(--pn-timber);
  align-self: stretch;
}

.pn-spaces__list {
  color: var(--color-cream, #F7F2E8);
  padding-inline-start: var(--space-md, 24px);
  margin-block-start: var(--space-sm, 16px);
}

.pn-spaces__list li {
  color: var(--color-cream, #F7F2E8);
  margin-block-end: var(--space-2xs, 8px);
}

.pn-spaces__list li:last-child {
  margin-block-end: 0;
}

/* Physical cards and chips */
.pn-physical {
  padding-block: 0;
}

.pn-physical__band {
  width: 100%;
  margin-inline: 0;
}

.pn-physical__band img {
  width: 100%;
  aspect-ratio: 21 / 9;
  object-fit: cover;
  display: block;
}

.pn-physical__content {
  padding-block: var(--section-padding-desktop, 96px);
  max-width: 800px;
  margin-inline: auto;
  text-align: left;
}

.pn-physical__content h2 {
  color: var(--color-charcoal, #1C1C1A);
  margin-block-end: var(--space-lg, 32px);
}

.pn-physical__block {
  margin-block-end: var(--space-lg, 32px);
}

.pn-physical__block:last-child {
  margin-block-end: 0;
}

.pn-pullquote {
  font-family: var(--font-heading, Oswald, sans-serif);
  font-size: 28px;
  line-height: 1.1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--color-charcoal, #1C1C1A);
  border-inline-start: 2px solid var(--pn-timber);
  padding-inline-start: var(--space-md, 24px);
  margin-block-end: var(--space-sm, 16px);
}

.pn-physical__block p {
  color: var(--color-charcoal, #1C1C1A);
  max-width: 70ch;
}

.pn-physical__rule {
  border: none;
  border-block-start: 1px solid var(--line-charcoal-faint, rgba(28, 28, 26, 0.15));
  margin-block: var(--space-lg, 32px);
}

/* Players' table */
.pn-players {
  padding-block: var(--section-padding-desktop, 96px);
}

.pn-players__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  column-gap: var(--pn-gutter);
  align-items: start;
}

.pn-players__figure {
  min-width: 0;
  margin-block-end: 0;
}

.pn-players__figure img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-none, 0px);
}

.pn-players__figure figcaption {
  color: var(--color-muted, #6B6A63);
}

.pn-players__text {
  min-width: 0;
}

.pn-players__text h2 {
  color: var(--color-charcoal, #1C1C1A);
  margin-block-end: var(--space-lg, 32px);
}

.pn-players__block {
  margin-block-end: var(--space-lg, 32px);
}

.pn-players__block:last-child {
  margin-block-end: 0;
}

.pn-players__block h3 {
  color: var(--color-charcoal, #1C1C1A);
  margin-block-end: var(--space-sm, 16px);
}

.pn-players__block p {
  color: var(--color-charcoal, #1C1C1A);
  max-width: 60ch;
}

/* Rhythm of the night */
.pn-rhythm {
  padding-block: var(--section-padding-desktop, 96px);
}

.pn-rhythm__content {
  max-width: 1000px;
  margin-inline: auto;
}

.pn-rhythm h2 {
  color: var(--color-cream, #F7F2E8);
  margin-block-end: var(--space-lg, 32px);
}

.pn-rhythm__block {
  display: grid;
  grid-template-columns: 10% minmax(0, 90%);
  column-gap: var(--space-md, 24px);
  align-items: start;
  margin-block-end: var(--space-xl, 48px);
}

.pn-rhythm__block:last-child {
  margin-block-end: 0;
}

.pn-rhythm__numeral {
  font-family: var(--font-heading, Oswald, sans-serif);
  font-size: 72px;
  line-height: 0.92;
  letter-spacing: 0.02em;
  font-weight: 600;
  color: var(--color-rust, #B4552D);
  text-align: left;
}

.pn-rhythm__text {
  min-width: 0;
}

.pn-rhythm__text h3 {
  color: var(--color-cream, #F7F2E8);
  margin-block-end: var(--space-sm, 16px);
}

.pn-rhythm__text p {
  color: var(--color-cream, #F7F2E8);
  max-width: 65ch;
}

/* Why face-to-face matters */
.pn-why {
  padding-block: var(--section-padding-desktop, 96px);
}

.pn-why h2 {
  color: var(--color-charcoal, #1C1C1A);
  margin-block-end: var(--space-lg, 32px);
}

.pn-why__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
  column-gap: var(--space-lg, 32px);
  align-items: start;
}

.pn-why__column {
  min-width: 0;
}

.pn-why__column h3 {
  color: var(--color-charcoal, #1C1C1A);
  margin-block-end: var(--space-sm, 16px);
}

.pn-why__column p {
  color: var(--color-charcoal, #1C1C1A);
  max-width: 55ch;
}

.pn-why__divider {
  width: 1px;
  background-color: var(--pn-timber);
  align-self: stretch;
}

/* CTA */
.pn-cta {
  padding-block: var(--section-padding-desktop, 96px);
}

.pn-cta__content {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md, 24px);
}

.pn-cta__rule {
  margin-inline: auto;
  margin-block-end: 0;
}

.pn-cta h2 {
  color: var(--color-cream, #F7F2E8);
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.0;
  letter-spacing: 0.03em;
  font-weight: 500;
  margin-block-end: 0;
}

.pn-cta__lead {
  color: var(--color-cream, #F7F2E8);
  font-size: var(--text-body-large, 19px);
  line-height: 1.6;
  max-width: 65ch;
  margin-block-end: 0;
}

.pn-cta__details {
  color: var(--pn-muted-on-felt);
  font-size: var(--text-body-small, 14px);
  line-height: 1.6;
  max-width: 65ch;
  margin-block-end: 0;
}

.pn-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-sm, 16px);
  margin-block-start: var(--space-sm, 16px);
}

.pn-cta__actions .btn {
  min-width: 200px;
}

/* Tablet breakpoint */
@media (min-width: 768px) and (max-width: 1023px) {
  .pn-hero {
    min-height: 70vh;
  }

  .pn-atmosphere__grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-xl, 48px);
  }

  .pn-atmosphere__figure img {
    aspect-ratio: 4 / 3;
  }

  .pn-spaces__grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-xl, 48px);
  }

  .pn-spaces__divider {
    display: none;
  }

  .pn-players__grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-xl, 48px);
  }

  .pn-players__figure img {
    aspect-ratio: 4 / 3;
  }

  .pn-rhythm__block {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-sm, 16px);
  }

  .pn-rhythm__numeral {
    font-size: 56px;
  }

  .pn-why__grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-xl, 48px);
  }

  .pn-why__divider {
    display: none;
  }
}

/* Mobile breakpoint */
@media (max-width: 767px) {
  .pn-hero {
    min-height: 70vh;
  }

  .pn-hero__content {
    padding-block: var(--space-xl, 48px);
    gap: var(--space-sm, 16px);
  }

  .pn-hero__title {
    font-size: 36px;
    max-width: 100%;
  }

  .pn-hero__lead {
    font-size: var(--text-body, 16px);
    max-width: 100%;
  }

  .pn-hero__cta {
    width: 100%;
  }

  .pn-atmosphere {
    padding-block: var(--section-padding-mobile, 48px);
  }

  .pn-atmosphere__grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-lg, 32px);
  }

  .pn-atmosphere__text h2 {
    font-size: 28px;
  }

  .pn-atmosphere__figure img {
    aspect-ratio: 4 / 3;
  }

  .pn-spaces {
    padding-block: var(--section-padding-mobile, 48px);
  }

  .pn-spaces h2 {
    font-size: 28px;
  }

  .pn-spaces__grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-lg, 32px);
  }

  .pn-spaces__divider {
    display: none;
  }

  .pn-physical__band img {
    aspect-ratio: 16 / 9;
  }

  .pn-physical__content {
    padding-block: var(--section-padding-mobile, 48px);
  }

  .pn-physical__content h2 {
    font-size: 28px;
  }

  .pn-pullquote {
    font-size: 20px;
  }

  .pn-players {
    padding-block: var(--section-padding-mobile, 48px);
  }

  .pn-players__grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-lg, 32px);
  }

  .pn-players__text h2 {
    font-size: 28px;
  }

  .pn-rhythm {
    padding-block: var(--section-padding-mobile, 48px);
  }

  .pn-rhythm h2 {
    font-size: 28px;
  }

  .pn-rhythm__block {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-sm, 16px);
    margin-block-end: var(--space-lg, 32px);
  }

  .pn-rhythm__numeral {
    font-size: 40px;
  }

  .pn-why {
    padding-block: var(--section-padding-mobile, 48px);
  }

  .pn-why h2 {
    font-size: 28px;
  }

  .pn-why__grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-lg, 32px);
  }

  .pn-why__divider {
    display: none;
  }

  .pn-cta {
    padding-block: var(--section-padding-mobile, 48px);
  }

  .pn-cta h2 {
    font-size: 28px;
  }

  .pn-cta__actions {
    flex-direction: column;
    width: 100%;
  }

  .pn-cta__actions .btn {
    width: 100%;
    min-width: 0;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .poker-nights-page *,
  .poker-nights-page *::before,
  .poker-nights-page *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
