@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/dm-sans-latin.woff2) format("woff2")}
:root{--primary:#465fff;--primary-dark:#3641f5;--primary-soft:#7592ff;--tint:#ecf3ff;--fg:#101828;--muted:#475467;--card:#fff;--err:#b42318;--err-bg:#fef3f2;--line:#d0d5dd;--warn-bg:#fffaeb}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;font:16px/1.5 "DM Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--fg);background:#fff linear-gradient(to bottom,#fff 10%,var(--tint) 90%) no-repeat;background-attachment:fixed;-webkit-font-smoothing:antialiased}
.site-header{padding:2.5rem 1rem 0;text-align:center}
.brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.875rem;line-height:1;color:var(--fg);text-decoration:none}
.brand svg{width:2.5rem;height:2.5rem;color:var(--primary)}
.container{max-width:36rem;margin:0 auto;padding:1.5rem 1rem}
h1{font-size:2.25rem;line-height:1.2;font-weight:700;text-align:center;margin:1.5rem 0 2rem}
h2{font-size:1.25rem;margin:0 0 1rem}
.card{background:var(--card);border-radius:.5rem;padding:2rem;margin-bottom:1.5rem;box-shadow:0 10px 15px -3px rgb(16 24 40/.1),0 4px 6px -4px rgb(16 24 40/.06)}
label{display:block;margin:1rem 0 .375rem;font-weight:500}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],textarea{width:100%;padding:1rem;font:inherit;color:var(--fg);border:1px solid var(--line);border-radius:.5rem;background:#fff;transition:border-color .2s}
input:focus,textarea:focus{outline:0;border-color:var(--primary)}
.stepper{display:flex;gap:.5rem;align-items:stretch}
.stepper input{text-align:center;max-width:6rem}
.stepper button{width:3.25rem;font:inherit;font-size:1.25rem;color:var(--primary);border:1px solid var(--line);background:#fff;border-radius:.5rem;cursor:pointer}
.stepper button:hover{border-color:var(--primary)}
.stepper button[hidden]{display:none}
.rooms{list-style:none;margin:0;padding:0}
.rooms label{display:flex;gap:.75rem;align-items:center;font-weight:400;padding:1rem;border:1px solid var(--line);border-radius:.5rem;margin:.5rem 0;cursor:pointer;transition:border-color .2s}
.rooms label:hover,.rooms label:has(input:checked){border-color:var(--primary)}
.rooms input[type=radio],.check input{accent-color:var(--primary)}
.room-name{flex:1;font-weight:700}
.room-total{color:var(--primary);font-weight:700;white-space:nowrap}
.check{display:flex;gap:.5rem;align-items:flex-start;font-weight:400}
.check a,.site-footer a,p a{color:var(--primary)}
.button{display:block;width:100%;margin-top:1.5rem;padding:1rem 2rem;font:inherit;font-size:1.25rem;text-align:center;color:#fff;background:var(--primary);border:0;border-radius:.5rem;text-decoration:none;cursor:pointer;transition:background .3s}
.button:hover{background:var(--primary-dark)}
.button[disabled]{opacity:.5;cursor:not-allowed}
.secondary{background:var(--primary-soft)}
.secondary:hover{background:var(--primary-soft);filter:brightness(.95)}
.error{color:var(--err);margin:.375rem 0 0;font-size:.9rem}
.alert{padding:1rem;border:1px solid var(--err);border-radius:.5rem;color:var(--err);background:var(--err-bg)}
.notice{padding:1rem;border-radius:.5rem;background:var(--tint)}
.summary{display:grid;grid-template-columns:auto 1fr;gap:.375rem 1rem;margin:0 0 1rem}
.summary dt{color:var(--muted)}.summary dd{margin:0;font-weight:700}
.placeholder{padding:1rem;border-radius:.5rem;background:#fff8d6}
.site-footer{max-width:36rem;margin:0 auto;padding:1rem 1rem 2rem;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;font-size:.9rem;color:var(--muted)}
.site-footer a{color:inherit}
select{width:100%;padding:1rem;font:inherit;color:var(--fg);border:1px solid var(--line);border-radius:.5rem;background:#fff}
input[type=file]{width:100%;font:inherit}
.hint{color:var(--muted);font-size:.9rem;margin:.375rem 0 0}
.picker{position:relative}
.picker-list{position:absolute;z-index:10;left:0;right:0;margin:.25rem 0 0;padding:0;list-style:none;background:#fff;border:1px solid var(--line);border-radius:.5rem;max-height:14rem;overflow:auto;box-shadow:0 10px 15px -3px rgb(16 24 40/.1)}
.picker-list button{display:block;width:100%;padding:.625rem 1rem;font:inherit;text-align:left;background:none;border:0;cursor:pointer}
.picker-list button:hover{background:var(--tint)}
[x-cloak]{display:none!important}
@media(min-width:40rem){.container{max-width:48rem}.site-footer{max-width:48rem}.search-row{display:flex;gap:.75rem;align-items:flex-start}.search-row .field{flex:1 1 0;min-width:0}.search-row .field-guests{flex:0 0 auto}.search-row .field-submit{flex:0 0 auto;padding-top:calc(1.5rem + .375rem + 1rem)}.search-row .field-submit .button{margin:0;width:auto;padding:.9rem 1.5rem;font-size:1.125rem}.search-row input[type=date],.search-row input[type=number]{padding:.9rem .75rem}.search-row .stepper input{max-width:4rem}.search-row .stepper button{width:2.75rem}}
@media(min-width:40rem){h1{font-size:3.125rem}.container{padding:2rem 1rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}}
