section.section-soft-bg{background:var(--color-bg-alt)}section.section-alt{background:var(--color-surface-soft)}.section-image{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border-soft)}

/* Keep the poker card and its CTA inside the hero image at every width. */
.hero-media{min-width:0}
.hero-text,.section-intro{max-width:none}
.hero-poker-card{right:6%;bottom:6%;width:min(260px,calc(100% - var(--space-8)));max-width:100%;overflow:hidden}
.hero-poker-card-header{gap:var(--space-2)}
.hero-poker-card-header>div:first-child{min-width:0}
.hero-poker-card-header .age-badge{flex:0 0 auto}
.hero-poker-cta .btn{min-width:0;white-space:normal;line-height:1.3;text-align:center}

/* Poker-event CTAs use a consistent full-width vertical layout. */
.location-cta{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3)}
.location-cta .btn{width:100%;min-width:0;white-space:normal;line-height:1.3;text-align:center}

/* Center timeline markers on the vertical guide line. */
.timeline-step::before{left:calc(-1 * var(--space-5) - 8px)}

/* Separate the review row from the image card that follows it. */
.testimonial-grid{margin-bottom:var(--space-6)}

/* Keep space between the offline note and the booking panel below it. */
.card-highlight>.grid-2>.reservation-aside{margin-top:var(--space-6)}

/* Prevent page-width overflow and keep the hero readable on phones. */
html,body{max-width:100%;overflow-x:clip}

/* The mobile menu control uses a conventional three-line hamburger icon. */
.nav-toggle{gap:4px}
.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(2){opacity:0;transform:none}
.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media(max-width:768px){
  .container{padding-inline:var(--space-4)}
  .header-container,.header-brand,.hero-grid>*,.hero-media{min-width:0}
  .header-brand{gap:var(--space-2)}
  .header-brand-mark{flex:0 0 40px}
  .header-brand-title{font-size:clamp(0.95rem,5vw,1.1rem);letter-spacing:0.08em;white-space:nowrap}
  .hero{padding-block:var(--space-10)}
  .hero-kicker{align-items:flex-start;line-height:1.45}
  .hero-title{font-size:clamp(2.2rem,10vw,2.75rem);overflow-wrap:anywhere}
  .hero-text{font-size:var(--font-size-md);line-height:var(--line-height-relaxed)}
  .hero-actions{flex-direction:column;align-items:stretch;width:100%}
  .hero-actions .btn{width:100%;white-space:normal;text-align:center}
  .hero-trust-item{min-width:0}
  .package-grid,.package-card,.package-footer{min-width:0}
  .package-card{padding:var(--space-5)}
  .package-footer{flex-direction:column;align-items:stretch}
  .package-footer>span{min-width:0}
  .package-footer .btn{width:100%;white-space:normal;text-align:center}
  .package-tag{max-width:100%;white-space:normal}
  .location-summary{gap:var(--space-4)}
}
