/* V221 launch QA fixes: memberships, authentic NYE media, darts crop, signup offer */
.tts-testing-banner{position:relative;z-index:2147483000;display:flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:10px 18px;box-sizing:border-box;background:#ef4d58;color:#fff;text-align:center;font:700 13px/1.35 Arial,Helvetica,sans-serif;letter-spacing:.01em}
.tts-testing-banner strong{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.16);font-size:10px;letter-spacing:.12em;white-space:nowrap}.tts-testing-banner span{display:inline-block}
.public-site .public-footer .footer-brand-column{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important}.public-site .public-footer .footer-logo{display:block!important;width:min(220px,86%)!important;max-height:160px!important;height:auto!important;object-fit:contain!important;margin:0 auto 20px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;filter:none!important;opacity:1!important}.tts-preview-badge{display:none!important}

/* Home memberships: create separation and show all four prices. */
.public-site .membership-banner-v221{margin:30px 6vw 95px!important;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr)!important;gap:42px!important;align-items:center!important}
.public-site .membership-banner-copy .btn{margin-top:18px}
.public-site .membership-banner-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:min(650px,100%)}
.public-site .membership-price-box{position:relative;display:grid;grid-template-columns:1fr auto;align-items:end;gap:4px 10px;min-height:120px;padding:18px 18px 16px;border:1px solid #d4ddd7;border-radius:17px;background:#fffaf0;color:#173f35;text-decoration:none;box-sizing:border-box;transition:transform .18s ease,box-shadow .18s ease}
.public-site .membership-price-box:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,63,53,.09)}
.public-site .membership-price-box>span{grid-column:1/3;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#536760}.public-site .membership-price-box strong{font:52px/.9 Georgia,serif;color:#00483e}.public-site .membership-price-box small{padding-bottom:5px;font-weight:800;color:#60716b}.public-site .membership-price-box.annual-offer{border:2px solid #0b5b4e;background:#eef7f3}.public-site .membership-price-box.annual-offer>b{position:absolute;right:12px;top:10px;padding:5px 8px;border-radius:999px;background:#ef4d58;color:#fff;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.public-site .membership-price-box.annual-offer>span{padding-top:18px}

/* Membership page: monthly is standard/default, annual is the visible special offer. */
.public-site .plans-grid-v221{align-items:start;gap:28px}.public-site .monthly-default-card{margin:18px 0 12px;padding:20px 22px;border:1px solid #d4ddd7;border-radius:18px;background:#fffaf0}.public-site .monthly-default-card .billing-label{display:block;margin-bottom:8px;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#536760}.public-site .monthly-default-card .plan-price{display:flex;align-items:flex-end;gap:9px;margin:5px 0 16px}.public-site .monthly-default-card .plan-price strong{font-size:66px}.public-site .monthly-default-card .plan-price span{padding-bottom:8px;font-weight:800;color:#5e6e68}.public-site .monthly-default-card .btn{width:100%;justify-content:center}.public-site .annual-special-card{position:relative;margin:0 0 22px;padding:20px 22px;border:2px solid #0b5b4e;border-radius:18px;background:#eef7f3}.public-site .annual-special-card .annual-special-badge{display:inline-flex;margin-bottom:10px;padding:6px 9px;border-radius:999px;background:#ef4d58;color:#fff;font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.public-site .annual-special-card>div{display:flex;align-items:flex-end;gap:8px}.public-site .annual-special-card>div strong{font:48px/.95 Georgia,serif;color:#00483e}.public-site .annual-special-card>div small{padding-bottom:6px;font-weight:800;color:#50655e}.public-site .annual-special-card p{margin:9px 0 14px;color:#50655e;line-height:1.45}.public-site .annual-special-button{display:flex!important;width:100%;justify-content:center!important;background:#00483e!important;color:#fff!important;border-color:#00483e!important}

/* Membership selector shown when somebody creates an account from a plan. */
.signup-membership-offer{margin:4px 0 22px;padding:16px;border:1px solid #d5ddd7;border-radius:16px;background:#fffdf8}.signup-membership-offer h3{margin:5px 0 12px;font:26px/1.05 Georgia,serif;color:#003f35}.signup-membership-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.signup-membership-option{position:relative;display:block;cursor:pointer}.signup-membership-option>input{position:absolute;opacity:0;pointer-events:none}.signup-membership-option>span:not(.offer-ribbon){display:grid;gap:5px;height:100%;padding:13px;border:1px solid #d5ddd7;border-radius:13px;background:#fff}.signup-membership-option b{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#52645e}.signup-membership-option strong{font:30px/1 Georgia,serif;color:#003f35}.signup-membership-option strong small{font:700 11px/1 Arial,sans-serif}.signup-membership-option em{font-style:normal;font-size:11px;color:#697772}.signup-membership-option>input:checked+span:not(.offer-ribbon){border:2px solid #ef4d58;box-shadow:0 0 0 3px rgba(239,75,86,.08)}.signup-membership-option.annual>span:not(.offer-ribbon){background:#eef7f3;border-color:#7fa99f}.signup-membership-option.annual>input:checked+span:not(.offer-ribbon){border-color:#0b5b4e}.offer-ribbon{position:absolute;z-index:2;right:8px;top:-7px;padding:4px 7px;border-radius:999px;background:#ef4d58;color:#fff;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.signup-membership-help{display:block;margin-top:10px;color:#697772;line-height:1.4}

/* NYE: replace the synthetic fireworks scene with an authentic simulator photograph. */
.public-site .nye-feature-media,.public-site .nye-event-hero-media{background-image:url('/assets/nye-2026-real-v221.jpg')!important;background-position:center center!important;background-size:cover!important}.public-site .nye-feature-media::after{background:linear-gradient(90deg,rgba(6,77,66,.50),rgba(6,77,66,.05) 50%)!important}.public-site .nye-event-hero-media::before{background:linear-gradient(90deg,#064d42 0%,rgba(6,77,66,.45) 18%,rgba(6,77,66,.02) 54%)!important}

/* Darts hero: keep the exact 500px hero, reduce copy footprint so CTAs do not crop. */
.public-site .darts-hero-copy{padding-top:34px!important;padding-bottom:28px!important}.public-site .darts-hero-copy h1{font-size:clamp(58px,5.3vw,82px)!important;line-height:.88!important;margin:8px 0 14px!important}.public-site .darts-hero-copy p{font-size:16px!important;line-height:1.42!important;max-width:560px!important;margin-bottom:16px!important}.public-site .darts-hero-copy .hero-actions{gap:10px!important}.public-site .darts-hero-copy .hero-actions .btn{padding:11px 17px!important;font-size:14px!important}

@media(max-width:1050px){.public-site .membership-banner-v221{grid-template-columns:1fr!important}.public-site .membership-banner-prices{width:100%}}
@media(max-width:700px){.tts-testing-banner{align-items:flex-start;gap:7px;padding:9px 12px;font-size:11px}.tts-testing-banner strong{margin-top:1px}.public-site .public-footer .footer-logo{width:min(210px,72vw)!important}.public-site .membership-banner-v221{margin:20px 20px 65px!important}.public-site .membership-banner-prices{grid-template-columns:1fr 1fr;gap:10px}.public-site .membership-price-box{min-height:110px;padding:14px}.public-site .membership-price-box strong{font-size:42px}.signup-membership-options{grid-template-columns:1fr}.public-site .darts-hero-copy{padding:28px 20px 22px!important}.public-site .darts-hero-copy h1{font-size:52px!important}.public-site .darts-hero-copy p{font-size:14px!important;max-width:390px!important}.public-site .darts-hero-copy .hero-actions .btn{padding:10px 14px!important;font-size:13px!important}}
@media(max-width:480px){.public-site .membership-banner-prices{grid-template-columns:1fr}.public-site .membership-price-box{min-height:96px}.public-site .darts-hero-copy h1{font-size:46px!important}}
/* Signed-in membership chooser: monthly is the default, annual is the special offer. */
.plan-billing-options{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}.plan-billing-option.monthly-default{order:1;background:#fffaf0;border:1px solid #d7ddd8}.plan-billing-option.annual-special{order:2;background:#eef7f3;border:2px solid #0b5b4e}.plan-billing-option.annual-special .btn{background:#00483e!important;color:#fff!important;border-color:#00483e!important}.billing-pill.neutral{background:#f2eee3;color:#5d6d67}
@media(max-width:640px){.plan-billing-options{grid-template-columns:1fr!important}}

/* V222 launch QA: golf layout, booking layout, CTA contrast, feature alignment */
.public-site .golf-tech-v222{padding-top:82px!important;padding-bottom:74px!important}
.public-site .golf-tech-intro-v222{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:70px;align-items:start;max-width:1380px;margin:0 auto}
.public-site .golf-tech-intro-v222 h2{font:clamp(48px,5vw,76px)/.96 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:10px 0 0;color:#00483e;max-width:720px}
.public-site .golf-tech-copy-v222{padding-top:33px}
.public-site .golf-tech-copy-v222 p{margin:0 0 18px;color:#425d55;font-size:18px;line-height:1.65}
.public-site .tech-cards-v222{max-width:1380px;margin:48px auto 0;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.public-site .tech-cards-v222 article{background:#fffdf8;border:1px solid #d6dfda;border-radius:22px;padding:28px;min-height:190px;box-shadow:0 12px 30px rgba(0,72,62,.035)}
.public-site .tech-cards-v222 article strong{display:none!important}
.public-site .tech-cards-v222 h3{font:30px/1.05 Georgia,'Times New Roman',serif;color:#00483e;margin:0 0 14px}
.public-site .tech-cards-v222 p{margin:0;color:#5b6d67;line-height:1.6}
.public-site .bay-showcase .section-heading .btn.btn-primary{color:#fff!important;background:#ef4d58!important;border-color:#ef4d58!important;text-decoration:none!important;min-width:168px;text-align:center}
.public-site .feature-band-v222{display:block!important;padding:0!important;background:#ef4d58!important}
.public-site .feature-band-v222 .feature-band-inner-v222{max-width:1380px;margin:0 auto;padding:28px 6vw;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;align-items:center}
.public-site .feature-band-v222 .feature-band-inner-v222>div{display:flex;flex-direction:column;gap:5px;min-width:0;padding:0 10px}
.public-site .feature-band-v222 strong{font-size:17px;line-height:1.25;color:#fff}
.public-site .feature-band-v222 span{font-size:15px;line-height:1.4;color:rgba(255,255,255,.94)}
#publicMobileMenu{display:none!important}
/* Legacy booking fallback is kept tidy; V222 opens the real booking sheet automatically. */
body:has(.booking-wizard-page){background:#fbf6ea!important}
.booking-wizard-page .booking-wizard-landing{background:#fbf6ea!important;min-height:calc(100vh - 92px)!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:center!important;padding:64px 6vw!important;box-sizing:border-box!important}
.booking-wizard-page .booking-wizard-landing>.booking-wizard-header{display:none!important}
.booking-wizard-page .booking-wizard-hero{width:min(920px,100%)!important;min-height:0!important;margin:0 auto!important;padding:46px!important;background:#fffdf8!important;border:1px solid #d6dfda!important;border-radius:28px!important;box-shadow:0 22px 60px rgba(0,72,62,.08)!important;color:#00483e!important;text-align:left!important}
.booking-wizard-page .booking-wizard-hero .tts-eyebrow{color:#ef4d58!important}
.booking-wizard-page .booking-wizard-hero h1{font:clamp(54px,6vw,82px)/.94 Georgia,'Times New Roman',serif!important;color:#00483e!important;letter-spacing:-.04em!important;margin:10px 0 18px!important;max-width:760px!important}
.booking-wizard-page .booking-wizard-hero>p:not(.tts-eyebrow){color:#51655e!important;font-size:17px!important;line-height:1.55!important;max-width:700px!important}
.booking-wizard-page .booking-launch-button{background:#ef4d58!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:14px 24px!important;font-weight:900!important;min-width:150px!important}
/* Never show staff-only Leadbetter in public/customer booking areas. */
.public-site .bay-card[data-bay='leadbetter'],.booking-bay-list [data-name*='Leadbetter']{display:none!important}
@media(max-width:900px){
  .public-site .golf-tech-intro-v222{grid-template-columns:1fr;gap:18px}
  .public-site .golf-tech-copy-v222{padding-top:0}
  .public-site .tech-cards-v222{grid-template-columns:1fr}
  .public-site .feature-band-v222 .feature-band-inner-v222{grid-template-columns:1fr;gap:18px;padding:24px 20px}
  .public-site .feature-band-v222 .feature-band-inner-v222>div{padding:0}
}
@media(max-width:600px){
  .booking-wizard-page .booking-wizard-landing{padding:28px 16px!important}
  .booking-wizard-page .booking-wizard-hero{padding:26px 20px!important;border-radius:22px!important}
  .booking-wizard-page .booking-wizard-hero h1{font-size:52px!important}
}
