/* Approved sample v1: layout and colours, adapted to aggregate-only availability. */
:root {color-scheme:light;--bg:#f3f3f0;--panel:#fff;--text:#202125;--muted:#606168;--line:#d1d1cc;--gold:#856000;--badge-bg:#e6eaf1;--badge-text:#3c4b60}
:root[data-theme=night] {color-scheme:dark;--bg:#101113;--panel:#1c1d20;--text:#f5f5f5;--muted:#b7b9bf;--line:#383a40;--gold:#f6ce59;--badge-bg:#333943;--badge-text:#d4dbe5}
* {box-sizing:border-box}
body {margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}
button,a {-webkit-tap-highlight-color:transparent}
button {font:inherit;cursor:pointer;min-height:44px}
button:focus-visible,a:focus-visible {outline:3px solid #f6ce59;outline-offset:5px}
.test-notice {background:#fff3cf;border-bottom:1px solid #ddc779;padding:9px 20px;text-align:center;font-size:12px;color:#624c16;letter-spacing:.04em;font-weight:700}
[data-theme=night] .test-notice {background:#28251b;border-color:#605333;color:#f6d982}
header {background:#050505;border-bottom:1px solid #333;color:#fff}
nav {max-width:1000px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:15px 28px;gap:10px}
.brand {display:flex;align-items:center;gap:13px}
.brand img {height:64px;width:64px;object-fit:contain}
.brand strong {font-size:17px;letter-spacing:.04em;white-space:nowrap}
.brand small {display:block;color:#b7b9bf;font-size:11px;letter-spacing:.16em}
.theme-switch {display:flex;gap:3px;flex-shrink:0}
.theme-switch button {background:#202124;color:#ececef;border:1px solid #777981;border-radius:25px;padding:9px 13px;font-size:13px}
.theme-switch button[aria-pressed=true] {background:#f6ce59;border-color:#f6ce59;color:#15120b}
main {max-width:1000px;margin:auto;padding:48px 28px 10px}
.intro {text-align:center;margin-bottom:25px}
.eyebrow {color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.intro h1 {font-size:clamp(28px,5vw,42px);letter-spacing:-.04em;margin:8px 0}
.intro p {color:var(--muted);margin:0;font-size:15px}
.availability-card {max-width:680px;margin:30px auto 0;background:var(--panel);border:1px solid var(--line);border-radius:22px;overflow:hidden;text-align:center;box-shadow:0 18px 60px #0002}
.status-inner {padding:36px 28px 28px}
.badge {display:inline-flex;gap:8px;align-items:center;border-radius:30px;background:var(--badge-bg);color:var(--badge-text);padding:6px 13px;font-size:12px;font-weight:bold}
.dot {height:7px;width:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.status {font-size:28px;line-height:1.25;letter-spacing:-.03em;margin:22px 0 12px;overflow-wrap:anywhere}
.description {color:var(--muted);font-size:15px;max-width:390px;margin:0 auto 24px;min-height:45px}
.call {display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #f6ce59;text-decoration:none;border-radius:10px;background:#f6ce59;color:#15120b;font-weight:700;font-size:17px;padding:15px 20px;max-width:400px;width:100%;margin:auto;min-height:54px}
.call:disabled {cursor:not-allowed;opacity:1}
.phone {font-size:13px;color:var(--muted);margin:12px 0 0}
.connection {margin:0;padding:12px 18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);background:var(--panel)}
.prices {max-width:680px;margin:32px auto 0}
.prices-head {display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.prices h3 {font-size:14px;margin:0}
.prices-head span {font-size:12px;color:var(--muted)}
.rate-grid {display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:13px;overflow:hidden}
.rate {padding:17px 10px;text-align:center;border-right:1px solid var(--line)}
.rate:last-child {border:0}
.rate small {display:block;color:var(--muted);font-size:12px}
.rate strong {font-size:23px;letter-spacing:-.04em}
.rate:last-child strong {color:var(--gold)}
footer {text-align:center;font-size:11px;color:var(--muted);padding:28px 20px}
.availability-card[data-state=available] .badge {background:#e3f4e8;color:#245d38}
.availability-card[data-state=all_rented] .badge,.availability-card[data-state=unavailable] .badge {background:#fff0cf;color:#795211}
[data-theme=night] .availability-card[data-state=available] .badge {background:#16392a;color:#a7edbd}
[data-theme=night] .availability-card[data-state=all_rented] .badge,[data-theme=night] .availability-card[data-state=unavailable] .badge {background:#453318;color:#f4d18a}
@media(max-width:540px) {
 nav{padding:12px 18px}.brand img{width:47px;height:47px}.brand strong{font-size:14px}.brand small{font-size:9px}.brand{gap:10px}
 .theme-switch button{padding:7px 10px}main{padding:30px 18px 10px}.intro h1{font-size:30px}.intro p{font-size:13px}
 .availability-card{margin-top:22px;border-radius:17px}.status-inner{padding:27px 19px 22px}.status{font-size:25px}.description{font-size:14px;min-height:42px}
 .rate{padding:14px 7px}.rate strong{font-size:20px}.prices{margin-top:25px}footer{padding-bottom:22px}
}
