*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;color:#111;background:#fff}
.topbar{text-align:center;padding:16px 12px;border-bottom:1px solid #e5e7eb}
.brand{margin:0;font-weight:800;font-size:30px}
.areas{color:#6b7280;margin-top:4px}
.contact{font-size:14px;color:#374151;margin-top:4px}
.hero{height:70vh;background-size:cover;background-position:center;position:relative;transition:background-image .35s ease-in-out}
.overlay{height:100%;display:grid;place-items:center;text-align:center;background:rgba(0,0,0,.38);padding:16px;color:#fff}
.tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;background:rgba(255,255,255,.15);padding:8px;border-radius:999px;backdrop-filter:blur(4px)}
.tab{padding:10px 16px;border-radius:12px;border:1px solid #E5E7EB;background:#fff;color:#111827;font-weight:700;cursor:pointer}
.tab[aria-selected='true']{background:#f59e0b;color:#fff;border-color:transparent}
.tagline{color:#fde68a;margin-top:12px}
.gallerywrap{padding:28px 16px}
[hidden]{display:none !important}
.gallery{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;gap:20px;justify-content:center}
.gallery img{width:45%;max-width:420px;border-radius:12px;box-shadow:0 10px 20px rgba(0,0,0,.2)}
.footer{text-align:center;padding:24px;border-top:1px solid #e5e7eb;color:#6b7280}
.comments{max-width:900px;margin:0 auto 48px;padding:0 16px}
.ratingsbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 6px;border:1px solid #e5e7eb;border-radius:12px;padding:10px 14px;background:#fafafa}
.avg{display:flex;align-items:center;gap:10px}
.avgscore{font-weight:800}
.stars,.inline-stars{font-size:16px;letter-spacing:1px}
.comments h2{margin:8px 0 12px;font-size:24px}
.formrow{display:flex;flex-direction:column;margin:8px 0}
label{font-weight:600;margin-bottom:6px}
input,textarea{padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;font:inherit}
.btn{margin-top:8px;padding:10px 16px;border-radius:12px;border:0;background:#111827;color:#fff;font-weight:700;cursor:pointer}
.hint{color:#6b7280;font-size:12px;margin-top:8px}
.commentlist{list-style:none;padding:0;margin:16px 0}
.comment{background:#fafafa;border:1px solid #f1f5f9;border-radius:12px;padding:12px 14px;margin:10px 0}
.commentmeta{color:#6b7280;font-size:12px;margin-bottom:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.badge{display:inline-block;background:#10b981;color:#fff;font-size:11px;padding:2px 8px;border-radius:999px}
.starrating{display:flex;flex-direction:row-reverse;gap:4px;align-items:center}
.starrating input{display:none}
.starrating label{font-size:22px;color:#d1d5db;cursor:pointer}
.starrating input:checked ~ label, .starrating label:hover, .starrating label:hover ~ label{color:#f59e0b}
