* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans'; color: #1f2937; background:#fff; }
.container { max-width: 1100px; margin: 0 auto; padding: 0 1.25rem; }
.nav { position: sticky; top: 0; background:#fff; border-bottom:1px solid #e5e7eb; z-index: 10; }
.nav-inner { display:flex; align-items:center; justify-content:space-between; padding: 1rem 0; }
.logo { font-size: 1.25rem; font-weight:600; }
.nav-links a { margin-left:1rem; color:#374151; text-decoration:none; }
.nav-links a:hover { color:#111827; }
.hero { position:relative; height: 70vh; display:grid; place-items:center; overflow:hidden; }
.hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-card { position:relative; background: rgba(0,0,0,.45); padding: 2rem; border-radius: 1rem; color:#fff; text-align:center; }
.hero-card h2 { font-size: clamp(2rem, 5vw, 3rem); margin:0 0 .75rem; }
.btn { display:inline-block; background:#d97706; color:#fff; padding:.75rem 1rem; border-radius:.75rem; text-decoration:none; }
.btn:hover { background:#b45309; }
.btn-secondary { background:#f3f4f6; border:1px solid #e5e7eb; padding:.5rem .75rem; border-radius:.5rem; cursor:pointer; }
.btn-secondary:hover { background:#e5e7eb; }
.section { padding: 4rem 0; }
.bg-light { background:#f9fafb; }
.grid-2 { display:grid; grid-template-columns:1fr; gap:2rem; }
@media (min-width: 768px) { .grid-2 { grid-template-columns: 1fr 1fr; } }
.grid-3 { display:grid; grid-template-columns:1fr; gap:1rem; }
@media (min-width: 768px) { .grid-3 { grid-template-columns: 1fr 1fr 1fr; } }
.center { text-align:center; }
.img-rounded { border-radius: 1rem; width:100%; height:auto; display:block; }
.shadow { box-shadow: 0 10px 25px rgba(0,0,0,.08); }
.features { margin: 1rem 0; padding-left: 1.25rem; }
.features li { margin:.3rem 0; }
.card { background:#fff; border:1px solid #e5e7eb; border-radius:1rem; padding:1rem; margin-bottom:1rem; }
.list { margin:0; padding-left:1.25rem; }
.list li { margin:.4rem 0; }
.calendar { display:grid; grid-template-columns: repeat(7, 1fr); gap:.25rem; }
.cal-controls { display:flex; align-items:center; justify-content:space-between; margin-bottom:.75rem; }
.cal-header, .cal-cell { padding:.5rem; text-align:center; border-radius:.5rem; }
.cal-header { font-weight:600; color:#6b7280; }
.cal-cell { cursor:pointer; }
.cal-cell:hover { background:#f3f4f6; }
.cal-cell.disabled { color:#9ca3af; cursor:not-allowed; }
.cal-cell.booked { background:#ef4444; color:#fff; }
.cal-cell.selected { outline:2px solid #d97706; }
.form { display:grid; grid-template-columns:1fr; gap: .75rem; max-width: 720px; margin: 0 auto; }
.form input, .form textarea { padding:.75rem; border:1px solid #e5e7eb; border-radius:.75rem; width:100%; }
.form .captcha { display:flex; align-items:center; gap:.5rem; }
.form-status { min-height: 1.25rem; margin-top:.25rem; }
.hp { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.footer { border-top:1px solid #e5e7eb; text-align:center; padding:1rem; font-size:.9rem; color:#6b7280; }
.muted { color:#6b7280; font-size:.9rem; margin-top:.5rem; }
.small { font-size: .95rem; }
.xsmall { font-size: .85rem; }
.review-links { gap: 1rem; }
.review-card { transition: transform .15s ease, box-shadow .15s ease; text-decoration: none; color: inherit; }
.review-card:hover { transform: translateY(-2px); box-shadow: 0 15px 30px rgba(0,0,0,.08); }
.review-card-inner { display:flex; align-items:center; gap:1rem; }
.review-logo { display:block; object-fit:contain; max-width: 220px; height:auto; }
.review-meta { display:flex; align-items:center; gap:.5rem; flex-wrap: wrap; }
.score { font-weight: 600; color: #374151; }
/* Static stars (no JS) */
.stars-static { position: relative; display: inline-block; width: 110px; height: 22px;
  background: url('data:image/svg+xml;utf8,<svg viewBox="0 0 110 22" xmlns="http://www.w3.org/2000/svg"><g fill="%23e5e7eb"><path d="M11 0l3 7h7l-5.5 4.2L17 18l-6-4-6 4 1.5-6.8L1 7h7z"/></g><g transform="translate(22,0)" fill="%23e5e7eb"><path d="M11 0l3 7h7l-5.5 4.2L17 18l-6-4-6 4 1.5-6.8L1 7h7z"/></g><g transform="translate(44,0)" fill="%23e5e7eb"><path d="M11 0l3 7h7l-5.5 4.2L17 18l-6-4-6 4 1.5-6.8L1 7h7z"/></g><g transform="translate(66,0)" fill="%23e5e7eb"><path d="M11 0l3 7h7l-5.5 4.2L17 18l-6-4-6 4 1.5-6.8L1 7h7z"/></g><g transform="translate(88,0)" fill="%23e5e7eb"><path d="M11 0l3 7h7l-5.5 4.2L17 18l-6-4-6 4 1.5-6.8L1 7h7z"/></g></svg>') no-repeat; background-size: 110px 22px; }
.stars-static .stars-static-fill { position: absolute; top: 0; left: 0; height: 22px;
  background: url('data:image/svg+xml;utf8,<svg viewBox="0 0 110 22" xmlns="http://www.w3.org/2000/svg"><g fill="%23f59e0b"><path d="M11 0l3 7h7l-5.5 4.2L17 18l-6-4-6 4 1.5-6.8L1 7h7z"/></g><g transform="translate(22,0)" fill="%23f59e0b"><path d="M11 0l3 7h7l-5.5 4.2L17 18l-6-4-6 4 1.5-6.8L1 7h7z"/></g><g transform="translate(44,0)" fill="%23f59e0b"><path d="M11 0l3 7h7l-5.5 4.2L17 18l-6-4-6 4 1.5-6.8L1 7h7z"/></g><g transform="translate(66,0)" fill="%23f59e0b"><path d="M11 0l3 7h7l-5.5 4.2L17 18l-6-4-6 4 1.5-6.8L1 7h7z"/></g><g transform="translate(88,0)" fill="%23f59e0b"><path d="M11 0l3 7h7l-5.5 4.2L17 18l-6-4-6 4 1.5-6.8L1 7h7z"/></g></svg>') no-repeat; background-size: 110px 22px; width: 0%; }
