/* Play Golf Sims — shared stylesheet (no frameworks, no external deps) */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --green:#0f3d2e;--green-dark:#0a2b21;--gold:#f2b705;--ink:#1c2420;
  --muted:#5d6d64;--paper:#f7f5ef;--card:#ffffff;--line:#e2ded2;
  --warn-bg:#fdf0d5;--warn:#8a5a00;--info-bg:#e3f0ff;--info:#0b4ea2;
}
html{-webkit-text-size-adjust:100%}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--paper);line-height:1.65}
a{color:var(--green)}
img{max-width:100%}

/* top nav */
.topnav{background:var(--green-dark);color:#fff}
.topnav .wrap{max-width:1080px;margin:0 auto;padding:.6rem 1.25rem;display:flex;
  align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.brandmark{color:#fff;font-weight:800;font-size:1.1rem;text-decoration:none;letter-spacing:.4px}
.brandmark span{color:var(--gold)}
.topnav nav{display:flex;gap:1.1rem;flex-wrap:wrap}
.topnav nav a{color:#cfe3d8;text-decoration:none;font-size:.92rem}
.topnav nav a:hover,.topnav nav a.active{color:#fff;text-decoration:underline}

/* hero */
.hero{background:linear-gradient(135deg,var(--green) 0%,#14563f 60%,#1a6b4f 100%);
  color:#fff;padding:3rem 1.25rem;text-align:center}
.hero h1{font-size:2.1rem;line-height:1.25;letter-spacing:.3px;max-width:820px;margin:0 auto}
.hero p.lede{color:#d7e9dd;max-width:680px;margin:1rem auto 0;font-size:1.05rem}
.hero .sub{color:#a9c9b8;font-size:.9rem;margin-top:.75rem}

/* layout */
main{max-width:1080px;margin:0 auto;padding:2rem 1.25rem}
section.block{margin:2.5rem 0}
.breadcrumb{font-size:.85rem;color:var(--muted);margin-bottom:1rem}
.intro h2{color:var(--green);font-size:1.5rem;margin-bottom:.6rem}
.intro p{color:#3d4a44;max-width:760px}
.prose p{margin-bottom:1rem;color:#33403a;max-width:760px}
.prose h2{color:var(--green);margin:1.75rem 0 .6rem;font-size:1.35rem}
.prose h3{color:var(--green);margin:1.25rem 0 .4rem;font-size:1.1rem}
.prose ul{margin:0 0 1rem 1.25rem;color:#33403a;max-width:740px}
.prose li{margin-bottom:.35rem}

/* state / metro cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin:1.5rem 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.25rem}
.card.live{border:2px solid var(--green)}
.card h3{color:var(--green);margin-bottom:.25rem;font-size:1.1rem}
.card p{font-size:.92rem;color:var(--muted)}
.card .go{display:inline-block;margin-top:.6rem;font-weight:700}
.pill{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.6px;
  text-transform:uppercase;padding:.2rem .65rem;border-radius:999px;margin-bottom:.5rem}
.pill.live{background:#dcf5e7;color:#0f7a4a}
.pill.soon{background:var(--warn-bg);color:var(--warn)}

/* venue areas */
.area{margin:2.5rem 0}
.area h2{border-bottom:3px solid var(--green);padding-bottom:.4rem;margin-bottom:1.25rem;
  color:var(--green);font-size:1.3rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:1.25rem}
.venue-card{background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.venue-card h3{font-size:1.05rem;color:var(--green);margin-bottom:.5rem;line-height:1.4}
.badge{display:inline-block;font-size:.72rem;font-weight:700;padding:.25rem .65rem;
  border-radius:999px;margin-bottom:.75rem;line-height:1.4}
.badge.verify{background:var(--warn-bg);color:var(--warn)}
.badge.soon{background:var(--info-bg);color:var(--info)}
.venue-card dl{display:grid;gap:.5rem}
.row{display:grid;grid-template-columns:96px 1fr;gap:.6rem;font-size:.9rem}
.row dt{font-weight:700;color:var(--muted)}
.row dd{color:var(--ink);overflow-wrap:anywhere}

/* filters */
.filters{background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:1.1rem 1.25rem;margin:1.5rem 0;position:sticky;top:0;z-index:5}
.filters input[type=search]{width:100%;padding:.65rem .9rem;font-size:1rem;
  border:1px solid var(--line);border-radius:8px;margin-bottom:.8rem}
.area-pills{display:flex;gap:.5rem;flex-wrap:wrap}
.area-pills button{border:1px solid var(--line);background:var(--paper);color:var(--ink);
  border-radius:999px;padding:.4rem .9rem;font-size:.85rem;cursor:pointer}
.area-pills button.on{background:var(--green);color:#fff;border-color:var(--green);font-weight:700}
.result-note{font-size:.88rem;color:var(--muted);margin-top:.7rem}
.no-results{display:none;text-align:center;padding:2.5rem 1rem;color:var(--muted)}
.no-results.show{display:block}

/* price guide */
.price-table{width:100%;border-collapse:collapse;background:var(--card);
  border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:1rem 0}
.price-table th,.price-table td{text-align:left;padding:.7rem .9rem;font-size:.92rem;
  border-bottom:1px solid var(--line)}
.price-table th{background:var(--green);color:#fff}
.price-table tr:last-child td{border-bottom:none}

/* faq */
.faq details{background:var(--card);border:1px solid var(--line);border-radius:10px;
  margin-bottom:.7rem;padding:.9rem 1.1rem}
.faq summary{font-weight:700;color:var(--green);cursor:pointer;font-size:1rem}
.faq details p{margin-top:.5rem;color:#33403a;font-size:.95rem}

/* cta + footer */
.cta{background:var(--green);color:#fff;border-radius:14px;padding:2.25rem 1.5rem;
  margin:3rem 0;text-align:center}
.cta h2{margin-bottom:.5rem;font-size:1.4rem}
.cta p{color:#cfe3d8;max-width:580px;margin:0 auto 1.25rem}
.btn{display:inline-block;background:var(--gold);color:var(--ink);font-weight:800;
  padding:.75rem 1.8rem;border-radius:9px;text-decoration:none;font-size:1rem}
.btn:hover{filter:brightness(1.05)}
footer.site{background:var(--green-dark);color:#a9c9b8;margin-top:3rem}
footer.site .wrap{max-width:1080px;margin:0 auto;padding:2rem 1.25rem;font-size:.88rem;
  display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
footer.site nav{display:flex;gap:1.1rem;flex-wrap:wrap}
footer.site a{color:#d7e9dd}
.copy{max-width:1080px;margin:0 auto;padding:0 1.25rem 1.75rem;color:#7d9a8b;font-size:.8rem}

@media(max-width:640px){
  .hero h1{font-size:1.6rem}
  .row{grid-template-columns:1fr;gap:.1rem}
  .row dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.4px}
  .grid{grid-template-columns:1fr}
  .filters{position:static}
}
