@layer base {
  .layout-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: var(--space-10);
    align-items: center;
  }
  @media (max-width: 1024px) {
    .layout-grid {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--space-8);
    }
  }
  .events-hero {
    align-items: center;
  }
  .hero-content-block {
    max-width: 540px;
  }
  .hero-media-block {
    position: relative;
  }
  .hero-media--events::before {
    background-image: url("/assets/images/glasshouse-evening-events.webp");
  }
  .section--soft {
    padding-block: var(--space-12);
  }
  .section--tight {
    padding-block: var(--space-12);
  }
  .section--compact {
    padding-block: var(--space-8);
  }
}
@layer components {
  .events-intro-grid {
    align-items: center;
  }
  .events-photo-wrapper {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-elevated);
    border: 1px solid var(--color-border-strong);
    background: radial-gradient(circle at top left, rgba(34, 197, 94, 0.12), transparent 55%), #000;
  }
  .events-photo-main {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .events-banquet-grid .card,
  .events-packages-grid .card,
  .events-lounge-grid .card {
    height: 100%;
  }
  .events-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    font-size: var(--text-sm);
    color: var(--color-text-muted);
    margin-top: 0.25rem;
  }
  .events-list li::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    margin-right: 0.4rem;
    background: linear-gradient(135deg, var(--color-primary), var(--color-accent-gold));
    box-shadow: 0 0 0 3px var(--color-primary-soft);
  }
  .events-list li {
    display: flex;
    align-items: flex-start;
  }
  .events-list li span {
    flex: 1;
  }
  .events-casino-grid {
    align-items: center;
    gap: var(--space-10);
  }
  .events-casino-media {
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-elevated);
    border: 1px solid var(--color-border-strong);
  }
  .events-scenarios-grid,
  .events-planning-grid {
    gap: var(--space-8);
  }
  .events-info-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .events-steps {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    font-size: var(--text-sm);
    color: var(--color-text-muted);
    margin-bottom: var(--space-4);
  }
  .events-steps li {
    counter-increment: step-counter;
    position: relative;
    padding-left: 2rem;
  }
  .events-steps li::before {
    content: counter(step-counter);
    position: absolute;
    left: 0;
    top: 0.1rem;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: var(--radius-pill);
    border: 1px solid rgba(21, 128, 61, 0.4);
    background: linear-gradient(135deg, #ecfdf5, #ffffff);
    font-size: var(--text-xs);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary);
  }
  .events-gallery {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    gap: var(--space-8);
    padding: var(--space-6);
  }
  .events-gallery-media {
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid var(--color-border-soft);
    box-shadow: var(--shadow-soft);
  }
  .events-gallery-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .events-gallery-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .events-cta {
    text-align: left;
  }
  .events-cta-header {
    margin-bottom: var(--space-3);
  }
  .events-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-4);
  }
  .events-cta-note {
    margin-top: var(--space-3);
    font-size: var(--text-sm);
  }
  .events-lounge-cta {
    margin-top: var(--space-8);
    display: flex;
    justify-content: center;
  }
  .events-legal-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-4);
    font-size: var(--text-sm);
  }
  .events-legal-link {
    color: var(--color-text-muted);
  }
}
@layer utilities {
  @media (max-width: 900px) {
    .events-gallery {
      grid-template-columns: minmax(0, 1fr);
    }
  }
  @media (max-width: 640px) {
    .events-gallery {
      padding: var(--space-4);
    }
    .events-cta-actions {
      flex-direction: column;
      align-items: stretch;
    }
  }
}
ul {
  list-style: none !important;
}
.nav-toggle {
  flex-direction: column;
}
