:root{--brand:#0b8043;--dark:#0a4d2b;--muted:#6b7280}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:Inter, system-ui, Arial, sans-serif;background:#f6fff9;color:#05301a;line-height:1.6}
.container{max-width:1200px;margin:0 auto;padding:20px}
.header{background:linear-gradient(90deg,var(--brand),#16b74b);color:#fff;position:sticky;top:0;z-index:999}
.header .wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 20px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:56px;border-radius:8px;background:#fff;padding:6px}
.brand h1{font-size:18px}
.nav a{margin:0 10px;color:#fff;font-weight:600;text-decoration:none}
.contact-box{background:rgba(255,255,255,0.06);padding:8px 12px;border-radius:8px}
.hero{display:flex;gap:20px;align-items:center;background:#e9fff0;padding:24px;border-radius:12px;margin:18px 0}
.hero img{width:48%;border-radius:12px;object-fit:cover}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:18px 0}
.card{background:#fff;padding:14px;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,0.06)}
.table{background:#fff;padding:12px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,0.06);overflow:auto}
.table table{border-collapse:collapse;width:100%}
.table th,.table td{padding:10px;border:1px solid #eef7ee;text-align:center}
.form{background:#fff;padding:14px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,0.06)}
.fab{position:fixed;right:18px;bottom:18px;z-index:2000}
.fab a{display:inline-block;background:linear-gradient(180deg,#25D366,#128C7E);color:#fff;padding:14px;border-radius:50%;box-shadow:0 10px 30px rgba(18,140,126,0.16);font-weight:700}
.footer{background:linear-gradient(90deg,var(--dark),#0b6b36);color:#fff;padding:20px;margin-top:18px;border-radius:8px}
.footer .wrap{display:flex;gap:20px;justify-content:space-between;align-items:flex-start}
.small{font-size:13px;color:var(--muted)}
.seat-map{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:520px;margin-top:12px}
.seat{padding:8px;background:#f0fff6;border-radius:6px;text-align:center;cursor:pointer;border:1px solid #dff6e8}
.seat.selected{background:#06c167;color:#fff;border-color:#06c167}
@media(max-width:900px){.hero{flex-direction:column}.hero img{width:100%}.nav{display:none}.seat-map{grid-template-columns:repeat(2,1fr)}}
