/* Poker Strategy page-owned styles */

.poker-strategy-main {
  width: 100%;
  overflow-x: hidden;
}

/* Section base spacing */
.poker-strategy-main section {
  padding-block: var(--space-3xl);
}

@media (max-width: 767px) {
  .poker-strategy-main section {
    padding-block: var(--space-2xl);
  }
}

/* Hero */
.ps-hero {
  background-color: var(--color-charcoal-900);
  background-image: radial-gradient(circle at 20% 30%, rgba(13, 59, 46, 0.35) 0%, transparent 55%),
                    radial-gradient(circle at 80% 70%, rgba(13, 59, 46, 0.25) 0%, transparent 50%);
  border-bottom: 1px solid var(--color-brass-600);
}

.ps-hero-inner {
  max-width: 800px;
  margin-inline: auto;
  padding-inline: var(--container-padding);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
}

.ps-hero-kicker {
  margin: 0;
  font-size: var(--text-small);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-brass-400);
}

.ps-hero-inner h1 {
  margin: 0;
  font-size: var(--text-display);
  line-height: var(--leading-display);
  max-width: 16ch;
  margin-inline: auto;
}

.ps-hero-lead {
  margin: 0;
  max-width: 34rem;
  margin-inline: auto;
  font-size: 1.125rem;
  line-height: var(--leading-body);
  color: rgba(255, 255, 255, 0.92);
}

.ps-hero-points {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  max-width: 34rem;
  margin-inline: auto;
  text-align: left;
}

.ps-hero-points li {
  position: relative;
  padding-left: 1.5rem;
  color: rgba(255, 255, 255, 0.85);
}

.ps-hero-points li::before {
  content: "\2666";
  position: absolute;
  left: 0;
  color: var(--color-brass-400);
}

.ps-hero-cta {
  margin-top: var(--space-sm);
}

/* Approach */
.ps-approach {
  background-color: var(--color-emerald-900);
  background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.02) 0px, rgba(255, 255, 255, 0.02) 1px, transparent 1px, transparent 12px);
  border-block: 1px solid var(--color-brass-600);
}

.ps-approach-inner {
  max-width: 900px;
  margin-inline: auto;
  padding-inline: var(--container-padding);
  text-align: left;
}

.ps-approach-inner h2 {
  margin-bottom: var(--space-lg);
  color: var(--color-brass-400);
}

.ps-approach-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.ps-approach-copy p {
  margin: 0;
  max-width: 80ch;
}

.ps-dropcap::first-letter {
  font-family: var(--font-heading);
  font-size: 3.5rem;
  line-height: 1;
  float: left;
  margin-right: var(--space-sm);
  color: var(--color-brass-400);
}

/* Core Concepts */
.ps-core-concepts {
  background-color: var(--color-charcoal-900);
}

.ps-section-heading {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: var(--container-padding);
  margin-bottom: var(--space-xl);
}

.ps-section-heading h2 {
  margin-bottom: var(--space-sm);
}

.ps-section-heading p {
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
}

.ps-concept-grid {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: var(--container-padding);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-lg);
}

.ps-concept-card {
  background-color: var(--surface-secondary);
  border: 1px solid var(--color-brass-600);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  box-shadow: var(--shadow-ambient);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
}

.ps-concept-card:hover {
  border-color: var(--color-brass-400);
  box-shadow: var(--shadow-elevated);
  transform: translateY(-2px);
}

.ps-concept-icon {
  font-size: 1.75rem;
  color: var(--color-brass-400);
  line-height: 1;
}

.ps-concept-card h3 {
  margin: 0;
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
}

.ps-concept-card p {
  margin: 0;
  color: rgba(255, 255, 255, 0.85);
}

.ps-concept-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.ps-concept-card li {
  position: relative;
  padding-left: 1.25rem;
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: rgba(255, 255, 255, 0.8);
}

.ps-concept-card li::before {
  content: "\2022";
  position: absolute;
  left: 0;
  color: var(--color-brass-400);
}

/* Chip Management & Point Standings */
.ps-chip-points {
  background-color: var(--color-charcoal-700);
  border-block: 1px solid var(--color-brass-600);
}

.ps-chip-points-inner {
  max-width: 1000px;
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

.ps-chip-points-inner h2 {
  margin-bottom: var(--space-xl);
  text-align: center;
}

.ps-chip-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2xl);
  position: relative;
}

.ps-chip-columns::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1px;
  background-color: var(--color-brass-600);
  transform: translateX(-50%);
}

.ps-chip-column {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.ps-chip-column h3 {
  margin: 0;
  color: var(--color-brass-400);
}

.ps-chip-column p {
  margin: 0;
}

.ps-chip-column ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.ps-chip-column li {
  position: relative;
  padding-left: 1.5rem;
}

.ps-chip-column li::before {
  content: "\2666";
  position: absolute;
  left: 0;
  color: var(--color-brass-400);
}

/* Events Strategy */
.ps-events-strategy {
  background-color: var(--color-charcoal-900);
}

.ps-events-inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: var(--container-padding);
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--space-2xl);
  align-items: center;
}

.ps-events-text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.ps-events-text h2 {
  margin: 0;
}

.ps-events-text h3 {
  margin: 0;
  color: var(--color-brass-400);
}

.ps-events-text p {
  margin: 0;
  max-width: 80ch;
}

.ps-events-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.ps-events-list li {
  position: relative;
  padding-left: 1.5rem;
}

.ps-events-list li::before {
  content: "\2666";
  position: absolute;
  left: 0;
  color: var(--color-brass-400);
}

.ps-text-link {
  color: var(--color-brass-400);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  transition: color var(--transition-fast);
}

.ps-text-link:hover {
  color: var(--color-gold-300);
}

.ps-events-image {
  min-width: 0;
}

.ps-events-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid var(--color-brass-600);
  border-radius: var(--radius-md);
  filter: brightness(0.9);
}

/* Advanced Tips */
.ps-advanced-tips {
  background-color: var(--color-charcoal-700);
  background-image: linear-gradient(135deg, var(--color-charcoal-700) 0%, var(--color-emerald-900) 100%);
  border-block: 1px solid var(--color-brass-600);
}

.ps-tips-inner {
  max-width: 1000px;
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

.ps-tips-inner h2 {
  margin-bottom: var(--space-md);
  text-align: center;
}

.ps-tips-lead {
  margin: 0 0 var(--space-xl);
  text-align: center;
  max-width: 70ch;
  margin-inline: auto;
}

.ps-tips-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
  counter-reset: tip-counter;
}

.ps-tips-list li {
  counter-increment: tip-counter;
  position: relative;
  padding-left: 3rem;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.ps-tips-list li::before {
  content: counter(tip-counter);
  position: absolute;
  left: 0;
  top: 0;
  width: 2.25rem;
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-brass-400);
  color: var(--color-charcoal-900);
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.125rem;
  border-radius: var(--radius-sm);
}

.ps-tips-list li strong {
  color: var(--color-brass-400);
}

/* Dining & Poker */
.ps-dining-poker {
  background-color: var(--color-charcoal-900);
}

.ps-dining-inner {
  max-width: 1000px;
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

.ps-dining-inner h2 {
  margin-bottom: var(--space-xl);
  text-align: center;
}

.ps-dining-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2xl);
}

.ps-dining-column {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.ps-dining-column h3 {
  margin: 0;
  color: var(--color-brass-400);
}

.ps-dining-column p {
  margin: 0;
}

.ps-dining-column ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.ps-dining-column li {
  position: relative;
  padding-left: 1.5rem;
}

.ps-dining-column li::before {
  content: "\2666";
  position: absolute;
  left: 0;
  color: var(--color-brass-400);
}

.ps-dining-image {
  min-width: 0;
}

.ps-dining-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid var(--color-brass-600);
  border-radius: var(--radius-md);
  filter: brightness(0.9);
}

/* Gallery Teaser */
.ps-gallery-teaser {
  background-color: var(--color-charcoal-700);
  border-block: 1px solid var(--color-brass-600);
}

.ps-gallery-inner {
  max-width: 1000px;
  margin-inline: auto;
  padding-inline: var(--container-padding);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  align-items: center;
}

.ps-gallery-image {
  min-width: 0;
}

.ps-gallery-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid var(--color-brass-600);
  border-radius: var(--radius-md);
  filter: brightness(0.9);
}

.ps-gallery-text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.ps-gallery-text h2 {
  margin: 0;
}

.ps-gallery-text p {
  margin: 0;
  max-width: 60ch;
}

.ps-gallery-text ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.ps-gallery-text li {
  position: relative;
  padding-left: 1.5rem;
}

.ps-gallery-text li::before {
  content: "\2666";
  position: absolute;
  left: 0;
  color: var(--color-brass-400);
}

/* Booking Form */
.ps-booking-form-section {
  background-color: var(--color-charcoal-900);
}

.ps-booking-inner {
  max-width: 1000px;
  margin-inline: auto;
  padding-inline: var(--container-padding);
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: var(--space-2xl);
  align-items: start;
}

.ps-booking-text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.ps-booking-text h2 {
  margin: 0;
}

.ps-booking-text p {
  margin: 0;
  max-width: 60ch;
}

.ps-booking-text a {
  color: var(--color-brass-400);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.ps-booking-text a:hover {
  color: var(--color-gold-300);
}

.ps-no-stakes-note {
  font-size: var(--text-small);
  color: var(--color-brass-400);
  font-weight: 600;
}

.ps-booking-form {
  min-width: 0;
  background-color: var(--surface-secondary);
  border: 1px solid var(--color-brass-600);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  box-shadow: var(--shadow-ambient);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.ps-form-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  min-width: 0;
}

.ps-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-md);
}

.ps-form-error {
  font-size: var(--text-small);
  color: var(--color-gold-300);
  min-height: 1.2em;
}

.ps-submit-btn {
  margin-top: var(--space-sm);
}

.ps-form-note {
  margin: 0;
  font-size: var(--text-small);
  color: rgba(255, 255, 255, 0.7);
  text-align: center;
}

/* Final CTA */
.ps-final-cta {
  background-color: var(--color-emerald-900);
  background-image: radial-gradient(circle at 50% 0%, rgba(212, 175, 55, 0.12) 0%, transparent 60%);
  border-block: 1px solid var(--color-brass-600);
}

.ps-final-inner {
  max-width: 700px;
  margin-inline: auto;
  padding-inline: var(--container-padding);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
}

.ps-final-inner h2 {
  margin: 0;
  color: var(--color-brass-400);
}

.ps-final-inner p {
  margin: 0;
  max-width: 34rem;
  margin-inline: auto;
}

.ps-final-points {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  text-align: left;
  max-width: 34rem;
  margin-inline: auto;
}

.ps-final-points li {
  position: relative;
  padding-left: 1.5rem;
}

.ps-final-points li::before {
  content: "\2666";
  position: absolute;
  left: 0;
  color: var(--color-brass-400);
}

.ps-final-cta-btn {
  margin-top: var(--space-sm);
}

/* Tablet */
@media (max-width: 1023px) {
  .ps-concept-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ps-events-inner {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .ps-events-image {
    order: -1;
  }

  .ps-booking-inner {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .ps-gallery-inner {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .ps-gallery-image {
    order: -1;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .ps-hero-inner h1 {
    font-size: 2rem;
    line-height: 1.2;
  }

  .ps-concept-grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .ps-chip-columns {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .ps-chip-columns::before {
    display: none;
  }

  .ps-tips-list {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .ps-dining-columns {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .ps-form-row {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .ps-booking-form {
    padding: var(--space-md);
  }

  .ps-final-inner {
    gap: var(--space-md);
  }

  .ps-hero-inner {
    gap: var(--space-md);
  }

  .ps-hero-points {
    text-align: left;
  }
}

/* mobile-photo-center */
@media (max-width: 56.25rem) {
  img,
  video {
    object-position: center !important;
  }

  .image-frame,
  .media-frame,
  .card__media,
  [class*='__media'] {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    justify-self: stretch;
    overflow: hidden;
  }

  .image-frame img,
  .media-frame img,
  .media-frame video,
  .card__media img,
  [class*='__media'] img,
  [class*='hero'] img,
  [class*='hero__image'] {
    width: 100%;
    height: 100%;
    max-width: none;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center !important;
  }
}
