/* court-page.css — shared styles for /courts/*.html */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:#0a0e0a;color:#d4dac4;font-family:Outfit,system-ui,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:#9acd32;text-decoration:none}a:hover{text-decoration:underline}
.back{position:fixed;top:20px;left:24px;z-index:100;display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:rgba(154,205,50,.12);border:1px solid rgba(154,205,50,.3);border-radius:100px;color:#9acd32;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s}
.back:hover{background:rgba(154,205,50,.25);text-decoration:none}
.page{max-width:820px;margin:0 auto;padding:60px 32px 100px}
.breadcrumb{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:#5a6350;margin-bottom:32px;padding-top:24px}
.breadcrumb a{color:#5a6350}.breadcrumb a:hover{color:#9acd32}.breadcrumb span{color:#3a4030}
h1{font-size:clamp(26px,5vw,40px);font-weight:800;color:#f0f4e8;line-height:1.2;margin-bottom:28px}
.divider{height:1px;background:linear-gradient(90deg,transparent,rgba(154,205,50,.3),transparent);margin:48px 0}
.sh{display:flex;align-items:center;gap:14px;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid rgba(154,205,50,.12)}
.sh-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;background:rgba(154,205,50,.15);border:1px solid rgba(154,205,50,.12);flex-shrink:0}
.sh h2{font-size:22px;font-weight:700;color:#f0f4e8}
.section{margin-bottom:52px}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:14px}
.info-card{background:rgba(154,205,50,.04);border:1px solid rgba(154,205,50,.12);border-radius:12px;padding:18px}
.info-icon{font-size:20px;margin-bottom:8px}
.info-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#5a6350;margin-bottom:4px}
.info-value{font-size:15px;font-weight:500;color:#f0f4e8}
.info-value a{color:#9acd32}
.info-free{color:#9acd32}.info-paid{color:#e8a435}
.map-container{width:100%;height:350px;border-radius:14px;overflow:hidden;border:1px solid rgba(154,205,50,.12);margin-top:18px;background:#111}
.nearby-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.nearby-card{display:block;background:rgba(154,205,50,.04);border:1px solid rgba(154,205,50,.12);border-radius:12px;padding:18px;text-decoration:none;transition:border-color .3s}
.nearby-card:hover{border-color:rgba(154,205,50,.3);text-decoration:none}
.nearby-name{font-size:15px;font-weight:600;color:#f0f4e8;margin-bottom:6px}
.nearby-meta{font-size:13px;color:#5a6350}
.cta{text-align:center;padding:48px 24px;background:rgba(154,205,50,.04);border:1px solid rgba(154,205,50,.12);border-radius:16px;margin-top:48px}
.cta h2{font-size:24px;font-weight:700;color:#f0f4e8;margin-bottom:12px}.cta p{font-size:15px;color:#8a9478;margin-bottom:24px}
.cta-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 32px;background:#9acd32;color:#0a0e0a;font-size:15px;font-weight:700;border-radius:100px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.cta-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(154,205,50,.35);text-decoration:none}
.map-link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:10px 24px;border:1px solid rgba(154,205,50,.3);border-radius:100px;color:#9acd32;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s}
.map-link:hover{background:rgba(154,205,50,.12);text-decoration:none}
/* Catalog page */
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:18px}
.catalog-card{display:block;background:rgba(154,205,50,.04);border:1px solid rgba(154,205,50,.12);border-radius:12px;padding:20px;text-decoration:none;transition:border-color .3s}
.catalog-card:hover{border-color:rgba(154,205,50,.3);text-decoration:none}
.catalog-name{font-size:16px;font-weight:600;color:#f0f4e8;margin-bottom:6px}
.catalog-addr{font-size:13px;color:#5a6350;margin-bottom:8px}
.catalog-tags{display:flex;flex-wrap:wrap;gap:6px}
.catalog-tag{display:inline-block;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:600}
.tag-free{background:rgba(154,205,50,.12);color:#9acd32}
.tag-paid{background:rgba(232,164,53,.12);color:#e8a435}
.tag-cover{background:rgba(255,255,255,.06);color:#8a9478}
.tag-book{background:rgba(91,164,217,.12);color:#5ba4d9}
.hero{text-align:center;margin-bottom:56px;padding-top:24px}
.hero h1{font-size:clamp(32px,5.5vw,48px);margin-bottom:20px}
.hero p{font-size:16px;color:#8a9478;max-width:580px;margin:0 auto 12px}
.badge{display:inline-flex;align-items:center;gap:8px;background:rgba(154,205,50,.15);border:1px solid rgba(154,205,50,.3);border-radius:100px;padding:8px 20px;font-size:13px;font-weight:500;color:#9acd32;letter-spacing:.05em;text-transform:uppercase;margin-bottom:24px}
.district-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:18px}
.district-card{display:block;background:rgba(154,205,50,.04);border:1px solid rgba(154,205,50,.12);border-radius:12px;padding:20px;text-decoration:none;transition:border-color .3s}
.district-card:hover{border-color:rgba(154,205,50,.3);text-decoration:none}
.district-name{font-size:17px;font-weight:700;color:#f0f4e8;margin-bottom:4px}
.district-count{font-size:13px;color:#5a6350}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:24px}
.stat-card{background:rgba(154,205,50,.04);border:1px solid rgba(154,205,50,.12);border-radius:12px;padding:16px;text-align:center}
.stat-num{font-size:28px;font-weight:800;color:#9acd32}
.stat-label{font-size:12px;color:#5a6350;margin-top:4px}
@media(max-width:640px){.page{padding:40px 16px 60px}.info-grid{grid-template-columns:1fr}.map-container{height:260px}.back{top:12px;left:14px;padding:8px 16px;font-size:13px}.catalog-grid{grid-template-columns:1fr}}
