@layer components {
  .home-hero--poker {
    border-top: 1px solid rgba(102, 80, 68, 0.7);
    background: radial-gradient(circle at 0 0, rgba(198, 106, 74, 0.32), transparent 60%), radial-gradient(circle at 100% 100%, rgba(113, 140, 120, 0.26), transparent 55%), var(--color-background);
  }

  .poker-section {
    padding: var(--space-12) 0;
    border-top: 1px solid rgba(102, 80, 68, 0.4);
    background: radial-gradient(circle at 0 0, rgba(36, 24, 20, 0.7), transparent 55%), radial-gradient(circle at 100% 100%, rgba(16, 27, 25, 0.72), transparent 55%), #0A0D0F;
  }

  .poker-section:nth-of-type(even) {
    background: linear-gradient(145deg, #101B19, #241814 50%, #142B2A 100%);
  }

  .poker-section--feature {
    background: radial-gradient(circle at 10% 0, rgba(209, 180, 119, 0.16), transparent 55%), linear-gradient(135deg, #142B2A, #291720);
  }

  .poker-section--atmosphere {
    background: radial-gradient(circle at 80% 0, rgba(198, 106, 74, 0.22), transparent 55%), #101B19;
  }

  .poker-section--bookings {
    background: linear-gradient(135deg, #0A0D0F, #101B19);
  }

  .poker-section__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
    gap: var(--space-10);
    align-items: center;
  }

  .poker-section__grid--reverse {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
  }

  .poker-section__grid--feature {
    align-items: stretch;
  }

  .poker-section__content h2 {
    max-width: 26ch;
  }

  .poker-section__content > p {
    max-width: 52ch;
  }

  .poker-section__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-4);
  }

  .poker-section__media {
    position: relative;
  }

  .poker-section__media--panel {
    align-self: stretch;
  }

  .poker-figure {
    border-radius: var(--radius-xl);
    overflow: hidden;
    border: 1px solid rgba(102, 80, 68, 0.85);
    box-shadow: var(--shadow-soft);
    background: radial-gradient(circle at 0 0, rgba(198, 106, 74, 0.32), transparent 55%), #0A0D0F;
  }

  .poker-figure--tall {
    height: 100%;
    display: flex;
    flex-direction: column;
  }

  .poker-figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .poker-figure__caption {
    padding: var(--space-3) var(--space-4);
    font-size: var(--text-xs);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--color-text-muted);
    background: rgba(10, 13, 15, 0.9);
    border-top: 1px solid rgba(113, 140, 120, 0.5);
  }

  .poker-list {
    margin-top: var(--space-4);
    display: grid;
    gap: var(--space-2);
    font-size: var(--text-sm);
    color: var(--color-text-muted);
  }

  .poker-list li {
    position: relative;
    padding-left: 1.25rem;
  }

  .poker-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.65rem;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: radial-gradient(circle, var(--color-highlight), var(--color-accent));
  }

  .poker-panel {
    height: 100%;
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    background: radial-gradient(circle at 0 0, rgba(209, 180, 119, 0.22), transparent 55%), linear-gradient(145deg, #101B19, #241814 55%, #291720 100%);
    border: 1px solid rgba(102, 80, 68, 0.9);
    box-shadow: var(--shadow-soft);
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }

  .poker-panel--compact {
    max-width: 460px;
    margin-left: auto;
  }

  .poker-panel__title {
    font-size: var(--text-xl);
  }

  .poker-panel__intro {
    font-size: var(--text-sm);
  }

  .poker-panel__link {
    font-size: var(--text-xs);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--color-highlight);
  }

  .poker-panel__link:hover {
    color: var(--color-accent);
  }

  .poker-ranking {
    counter-reset: poker-rank;
    display: grid;
    gap: 0.4rem;
    font-size: var(--text-sm);
    color: var(--color-text-muted);
  }

  .poker-ranking li {
    counter-increment: poker-rank;
    display: flex;
    gap: 0.75rem;
    align-items: baseline;
  }

  .poker-ranking li::before {
    content: counter(poker-rank, decimal-leading-zero);
    font-family: var(--font-heading);
    font-size: 0.75rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--color-highlight);
    opacity: 0.9;
  }

  .poker-ranking--compact {
    gap: 0.2rem;
  }

  .poker-tag-grid {
    margin-top: var(--space-4);
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
  }

  .poker-tag {
    padding: 0.4rem 0.9rem;
    border-radius: 999px;
    border: 1px solid rgba(113, 140, 120, 0.7);
    background: rgba(16, 27, 25, 0.9);
    font-size: var(--text-xs);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--color-text-muted);
  }

  .poker-pairings-grid {
    margin-top: var(--space-4);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
  }

  .poker-pairing {
    padding: var(--space-4);
    border-radius: var(--radius-md);
    background: radial-gradient(circle at 0 0, rgba(209, 180, 119, 0.18), transparent 55%), #101B19;
    border: 1px solid rgba(102, 80, 68, 0.8);
  }

  .poker-pairing__title {
    font-size: var(--text-lg);
    margin-bottom: var(--space-2);
  }

  .poker-pairing__text {
    font-size: var(--text-sm);
  }

  .poker-atmosphere-grid {
    margin-top: var(--space-4);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
  }

  .poker-atmosphere-item {
    padding: var(--space-4);
    border-radius: var(--radius-md);
    background: linear-gradient(145deg, #142B2A, #241814);
    border: 1px solid rgba(102, 80, 68, 0.8);
  }

  .poker-atmosphere-item h3 {
    font-size: var(--text-lg);
    margin-bottom: var(--space-2);
  }

  .poker-atmosphere-item p {
    font-size: var(--text-sm);
  }

  .poker-bookings {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
  }

  .poker-bookings__header > p {
    max-width: 50ch;
  }

  .poker-bookings__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.05fr);
    gap: var(--space-6);
  }

  .poker-bookings__card h3 {
    margin-bottom: var(--space-3);
  }

  .poker-bookings__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-3);
    margin-bottom: var(--space-3);
  }

  .poker-bookings__note {
    font-size: var(--text-xs);
    color: var(--color-text-muted);
  }
}

@media (max-width: 1040px) {
  .poker-pairings-grid,
  .poker-atmosphere-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 960px) {
  .poker-section__grid,
  .poker-section__grid--reverse,
  .poker-bookings__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .poker-panel--compact {
    max-width: none;
    margin-left: 0;
  }

  .poker-figure--tall {
    max-height: 420px;
  }
}

@media (max-width: 768px) {
  .poker-pairings-grid,
  .poker-atmosphere-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .poker-section {
    padding: var(--space-10) 0;
  }
}

@media (max-width: 640px) {
  .poker-section__actions,
  .poker-bookings__actions {
    flex-direction: column;
    align-items: flex-start;
  }
}

ul { list-style: none !important; }
.nav-toggle { flex-direction: column; }
