/* Texas Hold’em page styles — scoped to .texas-holdem-page */

.texas-holdem-page {
  --th-copy-max-60: 60ch;
  --th-copy-max-65: 65ch;
  --th-copy-max-70: 70ch;
  --th-border-image: 1px solid rgba(27, 42, 74, 0.1);
}

.texas-holdem-page section {
  padding-block: var(--space-8);
}

.texas-holdem-page .container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
}

/* Introduction */
.th-intro__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-7);
  align-items: center;
}

.th-intro__copy {
  min-width: 0;
}

.th-intro__eyebrow {
  font-size: var(--text-caption);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-raspberry);
  margin-block-end: var(--space-3);
}

.th-intro__copy h1 {
  margin-block-end: var(--space-4);
}

.th-intro__lead {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: var(--text-body-large);
  line-height: var(--leading-body);
  color: var(--color-ink-soft);
  max-width: var(--th-copy-max-60);
  margin-block-end: var(--space-5);
}

.th-intro__copy > p:not(.th-intro__lead):not(.th-intro__eyebrow) {
  max-width: var(--th-copy-max-60);
  margin-block-end: var(--space-5);
}

.th-intro__subheading {
  margin-block-start: var(--space-5);
  margin-block-end: var(--space-3);
}

.th-intro__list {
  max-width: var(--th-copy-max-60);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding-inline-start: var(--space-5);
  margin-block-end: 0;
}

.th-intro__media {
  min-width: 0;
  margin-block-end: 0;
}

.th-intro__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border: var(--th-border-image);
  border-radius: var(--radius-sm);
}

.th-intro__media figcaption {
  margin-block-start: var(--space-2);
}

/* Rules */
.th-rules .container > h2 {
  text-align: center;
  margin-block-end: var(--space-7);
}

.th-rules__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}

.th-rules__card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
}

.th-rules__card h3 {
  text-align: center;
  margin-block-end: 0;
}

.th-rules__card p {
  max-width: var(--th-copy-max-70);
  margin-inline: auto;
  text-align: center;
  margin-block-end: 0;
}

.th-rules__card ul,
.th-rules__card ol {
  max-width: var(--th-copy-max-70);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding-inline-start: var(--space-5);
  margin-block-end: 0;
}

.th-rules__hands {
  list-style: none;
  padding-inline-start: 0 !important;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  justify-content: center;
}

.th-hand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  background-color: var(--color-white);
  color: var(--color-ink);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
  transition: border-color var(--transition-fast), color var(--transition-fast), background-color var(--transition-fast);
}

.th-hand:hover,
.th-hand:focus-visible {
  border-color: var(--color-raspberry);
  color: var(--color-raspberry);
  background-color: #fdf3f5;
}

.th-rules__note {
  font-size: var(--text-caption);
  color: var(--color-ink-soft);
}

/* Hand flow */
.th-hand-flow .container > h2 {
  margin-block-end: var(--space-7);
}

.th-hand-flow__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-7);
}

.th-hand-flow__block {
  min-width: 0;
}

.th-hand-flow__block h3 {
  margin-block-end: var(--space-3);
}

.th-hand-flow__block p {
  max-width: var(--th-copy-max-65);
  margin-block-end: 0;
}

.th-timeline {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-block-end: var(--space-4);
  max-width: var(--th-copy-max-65);
}

.th-timeline__dot {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-radius: var(--radius-full);
  background-color: var(--color-raspberry);
}

.th-timeline__line {
  flex: 1 1 auto;
  height: 2px;
  background-color: rgba(27, 42, 74, 0.2);
  min-width: 0;
}

/* Ambiance */
.th-ambiance__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-7);
  align-items: start;
}

.th-ambiance__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.th-ambiance__copy h2 {
  margin-block-end: 0;
}

.th-ambiance__copy article {
  min-width: 0;
}

.th-ambiance__copy h3 {
  margin-block-end: var(--space-3);
}

.th-ambiance__copy p {
  max-width: var(--th-copy-max-60);
  margin-block-end: 0;
}

.th-ambiance__media {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.th-ambiance__figure {
  min-width: 0;
  margin-block-end: 0;
}

.th-ambiance__figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border: var(--th-border-image);
  border-radius: var(--radius-sm);
  transition: transform var(--transition-medium);
}

.th-ambiance__figure:hover img {
  transform: scale(1.02);
}

.th-ambiance__figure figcaption {
  margin-block-start: var(--space-2);
}

/* Evenings */
.th-evenings__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-7);
  align-items: center;
}

.th-evenings__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.th-evenings__copy h2 {
  text-align: center;
  margin-block-end: 0;
}

.th-evenings__copy article {
  min-width: 0;
}

.th-evenings__copy h3 {
  text-align: center;
  margin-block-end: var(--space-3);
}

.th-evenings__copy p {
  max-width: var(--th-copy-max-70);
  margin-inline: auto;
  text-align: center;
  margin-block-end: 0;
}

.th-evenings__schedule {
  max-width: var(--th-copy-max-70);
  margin-inline: auto;
  list-style: none;
  padding-inline-start: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-block-end: 0;
}

.th-evenings__cta {
  align-self: center;
}

.th-evenings__media {
  min-width: 0;
  margin-block-end: 0;
}

.th-evenings__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border: var(--th-border-image);
  border-radius: var(--radius-sm);
}

.th-evenings__media figcaption {
  margin-block-start: var(--space-2);
}

/* Private tables */
.th-private__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-7);
  align-items: center;
}

.th-private__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.th-private__copy h2 {
  margin-block-end: 0;
}

.th-private__copy article {
  min-width: 0;
}

.th-private__copy h3 {
  margin-block-end: var(--space-3);
}

.th-private__copy p {
  max-width: var(--th-copy-max-65);
  margin-block-end: 0;
}

.th-private__contact {
  margin-block-start: var(--space-3);
}

.th-private__copy .btn {
  align-self: flex-start;
  margin-block-start: var(--space-3);
}

.th-private__media {
  min-width: 0;
  margin-block-end: 0;
}

.th-private__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: var(--th-border-image);
  border-radius: var(--radius-sm);
}

.th-private__media figcaption {
  margin-block-start: var(--space-2);
}

/* Practical info */
.th-practical .container > h2 {
  text-align: center;
  margin-block-end: var(--space-7);
}

.th-practical__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}

.th-practical__block {
  min-width: 0;
}

.th-practical__block h3 {
  text-align: center;
  margin-block-end: var(--space-3);
}

.th-practical__block p {
  max-width: var(--th-copy-max-70);
  margin-inline: auto;
  text-align: center;
  margin-block-end: var(--space-4);
}

.th-practical__list {
  max-width: var(--th-copy-max-70);
  margin-inline: auto;
  list-style: none;
  padding-inline-start: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  text-align: center;
  margin-block-end: 0;
}

.th-practical__note {
  font-family: var(--font-heading);
  font-style: italic;
  color: var(--color-ink-soft);
}

/* Booking */
.th-booking__inner {
  max-width: 760px;
  margin-inline: auto;
}

.th-booking__inner h2 {
  margin-block-end: var(--space-4);
}

.th-booking__inner > p {
  max-width: var(--th-copy-max-60);
  margin-block-end: var(--space-6);
}

.th-booking__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
  padding: var(--space-6);
}

.th-booking__field {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.th-booking__field--full {
  grid-column: 1 / -1;
}

.th-booking__error {
  font-size: var(--text-caption);
  color: var(--color-raspberry);
  margin-block-end: 0;
}

.th-booking__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.th-booking__confirmation {
  color: var(--color-sage);
  font-weight: 600;
  margin-block-end: 0;
}

/* Responsibility */
.th-responsibility__inner {
  max-width: 760px;
  margin-inline: auto;
}

.th-responsibility__inner h2 {
  text-align: center;
  margin-block-end: var(--space-4);
}

.th-responsibility__inner p {
  max-width: var(--th-copy-max-70);
  margin-inline: auto;
  text-align: center;
  font-family: var(--font-heading);
  font-style: italic;
  color: var(--color-ink-soft);
  margin-block-end: 0;
}

/* Tablet */
@media (min-width: 700px) {
  .texas-holdem-page .container {
    padding-inline: var(--container-padding-desktop);
  }

  .th-rules__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .th-hand-flow__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

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

/* Desktop */
@media (min-width: 1024px) {
  .th-intro__inner {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  }

  .th-ambiance__inner {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  }

  .th-ambiance__media {
    flex-direction: row;
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .th-ambiance__figure {
    flex: 1 1 40%;
  }

  .th-ambiance__figure--top {
    transform: translateY(var(--space-3));
  }

  .th-ambiance__figure--bottom {
    transform: translateY(calc(-1 * var(--space-3)));
  }

  .th-evenings__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .th-private__inner {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .th-ambiance__figure img {
    transition: none;
  }

  .th-timeline {
    transition: none;
  }
}
