/* Poker Formats page-owned styles */
.poker-formats-main {
  --pf-paper: #F5F0E6;
  --pf-ink: #2E4A2E;
  --pf-terracotta: #C85A3A;
  --pf-olive: #808000;
  --pf-tan: #D2B48C;
  --pf-white: #FFFFFF;
  --pf-radius-sm: 4px;
  --pf-radius-md: 8px;
  --pf-shadow-card: 0 2px 4px rgba(0, 0, 0, 0.05);
  --pf-border-tan: 1px solid var(--pf-tan);
  --pf-transition: 0.2s ease;
  background-color: var(--pf-paper);
}

.pf-container {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 2rem;
}

.pf-container--narrow {
  max-width: 800px;
}

.pf-container--wide {
  max-width: 1100px;
}

.pf-container--schedule {
  max-width: 600px;
}

.pf-container--private {
  max-width: 700px;
}

.pf-container--faq {
  max-width: 800px;
}

.pf-container--cta {
  max-width: 500px;
}

.pf-section {
  padding-block: 4rem;
  position: relative;
}

.pf-section--paper {
  background-color: var(--pf-paper);
}

.pf-section--white {
  background-color: var(--pf-white);
}

.pf-section--cta {
  background-color: var(--pf-paper);
  text-align: center;
}

.pf-section--cta::before {
  content: "";
  display: block;
  width: 100%;
  height: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='12' viewBox='0 0 1200 12'%3E%3Cpath d='M0 6 L20 2 L40 8 L60 3 L80 9 L100 4 L120 10 L140 5 L160 11 L180 6 L200 2 L220 8 L240 3 L260 9 L280 4 L300 10 L320 5 L340 11 L360 6 L380 2 L400 8 L420 3 L440 9 L460 4 L480 10 L500 5 L520 11 L540 6 L560 2 L580 8 L600 3 L620 9 L640 4 L660 10 L680 5 L700 11 L720 6 L740 2 L760 8 L780 3 L800 9 L820 4 L840 10 L860 5 L880 11 L900 6 L920 2 L940 8 L960 3 L980 9 L1000 4 L1020 10 L1040 5 L1060 11 L1080 6 L1100 2 L1120 8 L1140 3 L1160 9 L1180 4 L1200 10 Z' fill='%23D2B48C'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  margin-bottom: 2rem;
  opacity: 0.7;
}

.pf-section-heading {
  margin-bottom: 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;
}

.pf-section-heading h2 {
  margin-bottom: 0;
}

.pf-tag {
  display: inline-block;
  background-color: var(--pf-tan);
  color: var(--pf-ink);
  font-size: 0.875rem;
  line-height: 1.5;
  padding: 0.25rem 0.5rem;
  border-radius: var(--pf-radius-sm);
  font-weight: 600;
  letter-spacing: 0.02em;
  transform: rotate(-1deg);
  border: 1px solid rgba(46, 74, 46, 0.2);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.pf-tag--tournament {
  background-color: var(--pf-terracotta);
  color: var(--pf-white);
}

.pf-tag--faq {
  background-color: var(--pf-olive);
  color: var(--pf-white);
}

/* Hero */
.pf-hero {
  padding-block: 4rem 3rem;
  background-color: var(--pf-paper);
  position: relative;
  overflow: hidden;
}

.pf-hero__inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 2rem;
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: 2rem;
  align-items: center;
}

.pf-hero__text {
  min-width: 0;
}

.pf-hero__text h1 {
  font-size: 2.5rem;
  line-height: 1.2;
  margin-bottom: 1rem;
  max-width: 20ch;
}

.pf-hero__lead {
  font-size: 1.125rem;
  line-height: 1.6;
  max-width: 60ch;
  margin-bottom: 1rem;
}

.pf-hero__support {
  max-width: 60ch;
}

.pf-annotation {
  font-style: italic;
  color: var(--pf-terracotta);
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
  transform: rotate(-1deg);
  display: inline-block;
}

.pf-hero__illustration {
  min-width: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.pf-botanical-spade {
  width: 100%;
  max-width: 320px;
  aspect-ratio: 1 / 1;
  background-color: rgba(210, 180, 140, 0.15);
  border: 1px solid var(--pf-tan);
  border-radius: 50%;
  position: relative;
  overflow: hidden;
  box-shadow: var(--pf-shadow-card);
}

.pf-botanical-spade::before {
  content: "";
  position: absolute;
  inset: 15%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 10 C30 25 15 40 15 55 C15 70 25 80 35 80 C45 80 48 75 50 65 C52 75 55 80 65 80 C75 80 85 70 85 55 C85 40 70 25 50 10 Z' fill='none' stroke='%232E4A2E' stroke-width='3'/%3E%3Cpath d='M50 65 L50 90' stroke='%232E4A2E' stroke-width='3'/%3E%3Cpath d='M20 30 C25 20 35 15 45 18 C35 25 28 35 20 30 Z' fill='%23808000' opacity='0.6'/%3E%3Cpath d='M80 30 C75 20 65 15 55 18 C65 25 72 35 80 30 Z' fill='%23808000' opacity='0.6'/%3E%3Cpath d='M30 45 C25 50 20 60 25 70 C30 65 35 55 30 45 Z' fill='%23C85A3A' opacity='0.5'/%3E%3Cpath d='M70 45 C75 50 80 60 75 70 C70 65 65 55 70 45 Z' fill='%23C85A3A' opacity='0.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  opacity: 0.9;
}

/* Texas Hold'em section */
.pf-tournament-content {
  margin-bottom: 2rem;
}

.pf-tournament-content h3,
.pf-etiquette h3,
.pf-callout h3 {
  margin-bottom: 0.75rem;
}

.pf-feature-list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.pf-feature-list li {
  padding-left: 1.5rem;
  position: relative;
}

.pf-feature-list li::before {
  content: "♠";
  position: absolute;
  left: 0;
  color: var(--pf-terracotta);
  font-weight: 700;
}

.pf-callout {
  background-color: var(--pf-tan);
  border: 1px solid var(--pf-ink);
  border-radius: var(--pf-radius-md);
  padding: 1.5rem;
  margin-bottom: 2rem;
  box-shadow: var(--pf-shadow-card);
  transition: transform var(--pf-transition), box-shadow var(--pf-transition);
}

.pf-callout:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
}

.pf-callout p {
  margin-bottom: 0.75rem;
}

.pf-callout p:last-child {
  margin-bottom: 0;
}

.pf-etiquette {
  margin-bottom: 0;
}

.pf-italic-note {
  font-style: italic;
  color: var(--pf-ink);
  opacity: 0.9;
}

/* Casual formats grid */
.pf-format-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.pf-format-card {
  background-color: var(--pf-white);
  border: var(--pf-border-tan);
  border-radius: var(--pf-radius-md);
  box-shadow: var(--pf-shadow-card);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-width: 0;
  transition: transform var(--pf-transition), box-shadow var(--pf-transition);
}

.pf-format-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08);
}

.pf-format-card .pf-tag {
  align-self: flex-start;
}

.pf-format-card h3 {
  margin-bottom: 0;
}

.pf-format-card p {
  margin-bottom: 0;
  max-width: 50ch;
}

/* Atmosphere */
.pf-atmosphere-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  gap: 2rem;
  align-items: start;
}

.pf-atmosphere-text {
  min-width: 0;
}

.pf-atmosphere-text h2 {
  margin-bottom: 1.5rem;
}

.pf-atmosphere-text h3 {
  margin-bottom: 0.75rem;
}

.pf-atmosphere-list,
.pf-ritual-list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.pf-atmosphere-list li,
.pf-ritual-list li {
  padding-left: 1.5rem;
  position: relative;
}

.pf-atmosphere-list li::before {
  content: "♣";
  position: absolute;
  left: 0;
  color: var(--pf-olive);
}

.pf-ritual-list li::before {
  content: "♦";
  position: absolute;
  left: 0;
  color: var(--pf-terracotta);
}

.pf-atmosphere-illustration {
  min-width: 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.pf-card-illustration {
  width: 100%;
  max-width: 240px;
  aspect-ratio: 3 / 4;
  background-color: rgba(210, 180, 140, 0.2);
  border: 1px solid var(--pf-tan);
  border-radius: var(--pf-radius-sm);
  box-shadow: var(--pf-shadow-card);
  position: relative;
  overflow: hidden;
}

.pf-card-illustration::before {
  content: "";
  position: absolute;
  inset: 10%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 140'%3E%3Crect x='10' y='10' width='80' height='120' rx='5' fill='none' stroke='%232E4A2E' stroke-width='2'/%3E%3Cpath d='M50 30 C35 40 25 50 25 60 C25 70 35 75 40 75 C45 75 48 70 50 60 C52 70 55 75 60 75 C65 75 75 70 75 60 C75 50 65 40 50 30 Z' fill='%232E4A2E'/%3E%3Cpath d='M50 75 L50 110' stroke='%232E4A2E' stroke-width='3'/%3E%3Cpath d='M20 45 C25 35 35 30 45 33 C35 40 28 50 20 45 Z' fill='%23808000' opacity='0.7'/%3E%3Cpath d='M80 45 C75 35 65 30 55 33 C65 40 72 50 80 45 Z' fill='%23808000' opacity='0.7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

/* Schedule */
.pf-schedule-table-wrap {
  overflow-x: auto;
  margin-bottom: 1rem;
}

.pf-schedule-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 0;
}

.pf-schedule-table th,
.pf-schedule-table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--pf-tan);
  text-align: left;
  vertical-align: top;
}

.pf-schedule-table th {
  font-family: Georgia, serif;
  font-weight: 700;
  background-color: var(--pf-paper);
}

.pf-schedule-table tbody tr:nth-child(even) {
  background-color: rgba(210, 180, 140, 0.15);
}

.pf-schedule-table tbody tr {
  transition: background-color var(--pf-transition);
}

.pf-schedule-table tbody tr:hover {
  background-color: rgba(210, 180, 140, 0.35);
}

.pf-schedule-note {
  font-size: 0.875rem;
  color: var(--pf-ink);
  opacity: 0.85;
}

/* Private */
.pf-container--private h2 {
  margin-bottom: 1rem;
}

.pf-container--private h3 {
  margin-bottom: 0.75rem;
}

.pf-container--private p {
  max-width: 60ch;
}

.pf-container--private a {
  color: var(--pf-terracotta);
  text-decoration: underline;
  transition: color var(--pf-transition);
}

.pf-container--private a:hover {
  color: var(--pf-olive);
}

/* FAQ Accordion */
.pf-accordion {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.pf-accordion-item {
  background-color: var(--pf-white);
  border: var(--pf-border-tan);
  border-radius: var(--pf-radius-md);
  box-shadow: var(--pf-shadow-card);
  overflow: hidden;
}

.pf-accordion-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background-color: transparent;
  border: none;
  cursor: pointer;
  font-family: Georgia, serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--pf-ink);
  text-align: left;
  min-height: 44px;
  transition: background-color var(--pf-transition);
}

.pf-accordion-trigger:hover {
  background-color: rgba(210, 180, 140, 0.15);
}

.pf-accordion-trigger:focus-visible {
  outline: 2px solid var(--pf-olive);
  outline-offset: -2px;
}

.pf-accordion-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  position: relative;
  display: inline-block;
}

.pf-accordion-icon::before,
.pf-accordion-icon::after {
  content: "";
  position: absolute;
  background-color: var(--pf-ink);
  transition: transform var(--pf-transition);
}

.pf-accordion-icon::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  transform: translateY(-50%);
}

.pf-accordion-icon::after {
  left: 50%;
  top: 0;
  width: 2px;
  height: 100%;
  transform: translateX(-50%);
}

.pf-accordion-item.is-open .pf-accordion-icon::after {
  transform: translateX(-50%) scaleY(0);
}

.pf-accordion-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  padding-inline: 1.25rem;
}

.pf-accordion-item.is-open .pf-accordion-panel {
  max-height: 300px;
  padding-bottom: 1.25rem;
}

.pf-accordion-panel p {
  margin-bottom: 0;
}

/* CTA */
.pf-container--cta h2 {
  margin-bottom: 1rem;
}

.pf-container--cta p {
  max-width: 60ch;
  margin-inline: auto;
  margin-bottom: 1rem;
}

.pf-container--cta .btn {
  margin-top: 0.5rem;
}

/* Reveal animations */
.pf-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.pf-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.pf-hero__illustration.pf-reveal {
  transform: translateY(20px) rotate(2deg);
}

.pf-hero__illustration.pf-reveal.is-visible {
  transform: translateY(0) rotate(0deg);
}

/* Responsive */
@media (max-width: 992px) {
  .pf-hero__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }

  .pf-hero__illustration {
    order: 2;
  }

  .pf-botanical-spade {
    max-width: 220px;
  }

  .pf-atmosphere-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }

  .pf-atmosphere-illustration {
    order: 2;
    justify-content: flex-start;
  }

  .pf-card-illustration {
    max-width: 180px;
  }

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

@media (max-width: 768px) {
  .pf-container {
    padding-inline: 1rem;
  }

  .pf-section {
    padding-block: 2.5rem;
  }

  .pf-hero {
    padding-block: 2.5rem 2rem;
  }

  .pf-hero__inner {
    padding-inline: 1rem;
    gap: 1.5rem;
  }

  .pf-hero__text h1 {
    font-size: 2rem;
    line-height: 1.2;
  }

  .pf-hero__lead {
    font-size: 1rem;
  }

  .pf-format-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

  .pf-atmosphere-grid {
    gap: 1.5rem;
  }

  .pf-callout {
    padding: 1.25rem;
  }

  .pf-schedule-table th,
  .pf-schedule-table td {
    padding: 0.5rem 0.75rem;
  }

  .pf-accordion-trigger {
    font-size: 1rem;
    padding: 0.875rem 1rem;
  }

  .pf-accordion-panel {
    padding-inline: 1rem;
  }

  .pf-accordion-item.is-open .pf-accordion-panel {
    padding-bottom: 1rem;
  }
}

@media (max-width: 480px) {
  .pf-hero__text h1 {
    font-size: 1.75rem;
  }

  .pf-section-heading h2 {
    font-size: 1.375rem;
  }

  .pf-botanical-spade {
    max-width: 180px;
  }

  .pf-card-illustration {
    max-width: 140px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pf-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .pf-hero__illustration.pf-reveal {
    transform: none;
  }

  .pf-accordion-panel {
    transition: none;
  }

  .pf-format-card,
  .pf-callout {
    transition: none;
  }
}
