/* Page-owned styles for Texas Hold’em */

.texas-holdem-page {
  background-color: var(--color-mist-blue);
}

.texas-holdem-page .container {
  max-width: var(--container-max);
}

/* Hero */
.th-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: var(--color-deep-mist);
}

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

.th-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(168, 196, 216, 0.65) 0%, rgba(168, 196, 216, 0.25) 50%, rgba(122, 156, 184, 0.45) 100%);
  z-index: 1;
}

.th-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: th-hero-zoom 18s ease-in-out infinite alternate;
}

@keyframes th-hero-zoom {
  from { transform: scale(1); }
  to { transform: scale(1.06); }
}

.th-hero__content {
  position: relative;
  z-index: 2;
  max-width: 600px;
  width: 100%;
  margin-inline: auto;
  padding: var(--space-5) var(--container-padding);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.th-eyebrow {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-white);
  background-color: rgba(93, 46, 70, 0.7);
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-pill);
  margin: 0;
}

.th-hero__content h1 {
  color: var(--color-white);
  font-size: var(--text-display-size);
  line-height: var(--text-display-line-height);
  margin: 0;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}

.th-hero__subtitle {
  color: var(--color-white);
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  max-width: 520px;
  margin: 0;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
}

.th-hero__content .btn {
  margin-block-start: var(--space-2);
}

/* Shared section spacing */
.th-section {
  padding-block: var(--space-7);
}

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

.th-section-intro {
  text-align: center;
  max-width: 800px;
  margin-inline: auto;
  margin-block-end: var(--space-5);
  color: var(--color-plum);
}

.th-section-title--light,
.th-section-intro--light {
  color: var(--color-white);
}

.th-lead {
  font-size: 1.125rem;
  line-height: 1.7;
  color: var(--color-plum);
}

/* Ambiance */
.th-ambiance {
  background-color: var(--color-mist-blue);
  position: relative;
}

.th-ambiance::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(45deg, rgba(184, 115, 51, 0.06) 0, rgba(184, 115, 51, 0.06) 8px, transparent 8px, transparent 16px);
  pointer-events: none;
}

.th-ambiance__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: var(--space-6);
  align-items: start;
}

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

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

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

.th-ambiance__list {
  margin-block-end: 0;
}

.th-ambiance__comfort,
.th-ambiance__senses {
  margin-block-start: var(--space-2);
}

.th-ambiance__comfort h3,
.th-ambiance__senses h3 {
  margin-block-end: var(--space-2);
}

.th-ambiance__comfort p,
.th-ambiance__senses p {
  margin-block-end: 0;
}

.th-ambiance__figure {
  min-width: 0;
  align-self: start;
  transform: translateY(var(--space-3));
}

.th-ambiance__figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Rules */
.th-rules {
  background-color: var(--color-cream);
}

.th-rules__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-4);
}

.th-rule-card {
  min-width: 0;
  background-color: var(--color-white);
  border: var(--border-subtle);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.th-rule-card h3 {
  margin-block-end: 0;
}

.th-rule-card p {
  margin-block-end: 0;
}

.th-rule-card .content-list {
  margin-block-end: 0;
}

.th-rules__combos li {
  padding-inline-start: var(--space-4);
}

/* Formats */
.th-formats {
  background-color: var(--color-deep-mist);
  position: relative;
}

.th-formats::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(45deg, rgba(245, 240, 230, 0.04) 0, rgba(245, 240, 230, 0.04) 8px, transparent 8px, transparent 16px);
  pointer-events: none;
}

.th-formats .container {
  position: relative;
}

.th-formats__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
  margin-block-start: var(--space-4);
}

.th-format-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.th-format-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lift);
}

.th-format-card h3 {
  margin-block-end: 0;
}

.th-format-card p {
  margin-block-end: 0;
}

.th-format-card .content-list {
  margin-block-end: 0;
}

/* Evening timeline */
.th-evening {
  background-color: var(--color-mist-blue);
  position: relative;
}

.th-evening::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(45deg, rgba(184, 115, 51, 0.05) 0, rgba(184, 115, 51, 0.05) 8px, transparent 8px, transparent 16px);
  pointer-events: none;
}

.th-evening .container {
  position: relative;
}

.th-evening__layout {
  display: grid;
  grid-template-columns: 20% 80%;
  gap: var(--space-5);
  margin-block-start: var(--space-5);
}

.th-evening__timeline {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  min-width: 0;
}

.th-evening__dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: var(--color-copper);
  flex-shrink: 0;
}

.th-evening__line {
  width: 2px;
  flex: 1;
  min-height: 48px;
  background-color: rgba(184, 115, 51, 0.4);
}

.th-evening__steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  min-width: 0;
}

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

.th-evening__step h3 {
  margin-block-end: var(--space-2);
}

.th-evening__step p {
  margin-block-end: 0;
  max-width: 600px;
}

/* Gastronomy */
.th-gastronomy {
  background-color: var(--color-cream);
}

.th-gastronomy__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: var(--space-6);
  align-items: start;
}

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

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

.th-gastronomy__copy .th-lead {
  margin-block-end: 0;
}

.th-gastronomy__copy .content-list {
  margin-block-end: 0;
}

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

.th-gastronomy__drinks h3 {
  margin-block-end: var(--space-2);
}

.th-gastronomy__drinks p {
  margin-block-end: 0;
}

.th-gastronomy__figure {
  min-width: 0;
  align-self: start;
}

.th-gastronomy__figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Events */
.th-events {
  background-color: var(--color-deep-mist);
  position: relative;
}

.th-events::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(45deg, rgba(245, 240, 230, 0.04) 0, rgba(245, 240, 230, 0.04) 8px, transparent 8px, transparent 16px);
  pointer-events: none;
}

.th-events .container {
  position: relative;
}

.th-events__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  margin-block-start: var(--space-4);
}

.th-event-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.th-event-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lift);
}

.th-event-card h3 {
  margin-block-end: 0;
}

.th-event-card p {
  margin-block-end: 0;
}

.th-event-card .content-list {
  margin-block-end: 0;
}

/* Reservation */
.th-reservation {
  background-color: var(--color-mist-blue);
  position: relative;
}

.th-reservation::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(45deg, rgba(184, 115, 51, 0.06) 0, rgba(184, 115, 51, 0.06) 8px, transparent 8px, transparent 16px);
  pointer-events: none;
}

.th-reservation .container {
  position: relative;
}

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

.th-reservation__block {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  text-align: center;
  align-items: center;
}

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

.th-reservation__block p {
  margin-block-end: 0;
  max-width: 600px;
}

.th-reservation__contact {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  color: var(--color-plum);
}

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

.th-reservation__info h3 {
  margin-block-end: 0;
}

.th-reservation__info address,
.th-reservation__info p {
  margin-block-end: 0;
}

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

  .th-ambiance__grid,
  .th-gastronomy__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .th-ambiance__figure,
  .th-gastronomy__figure {
    transform: none;
    max-width: 480px;
    margin-inline: auto;
  }

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

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

  .th-evening__layout {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .th-evening__timeline {
    flex-direction: row;
    justify-content: center;
    gap: 0;
  }

  .th-evening__line {
    width: 24px;
    height: 2px;
    min-height: 0;
    flex: 0 0 auto;
  }

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

  .th-reservation__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }
}

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

  .th-hero__content {
    padding: var(--space-4) var(--container-padding);
    gap: var(--space-3);
  }

  .th-hero__content h1 {
    font-size: clamp(2rem, 7vw, 2.5rem);
  }

  .th-hero__subtitle {
    font-size: var(--text-small-size);
  }

  .th-hero__content .btn {
    width: 100%;
  }

  .th-section {
    padding-block: var(--space-6);
  }

  .th-section-title {
    font-size: var(--text-h2-size);
  }

  .th-section-intro {
    margin-block-end: var(--space-4);
  }

  .th-ambiance__grid,
  .th-gastronomy__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .th-ambiance__figure,
  .th-gastronomy__figure {
    transform: none;
  }

  .th-rules__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .th-formats__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .th-evening__layout {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .th-evening__timeline {
    flex-direction: row;
    justify-content: center;
    gap: 0;
  }

  .th-evening__line {
    width: 20px;
    height: 2px;
    min-height: 0;
    flex: 0 0 auto;
  }

  .th-evening__steps {
    gap: var(--space-4);
  }

  .th-evening__step p {
    max-width: none;
  }

  .th-events__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .th-reservation__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .th-reservation__block {
    text-align: center;
  }

  .th-reservation__block .btn {
    width: 100%;
  }
}

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