
*{box-sizing:border-box}body{margin:0;background:#f2f6f4;color:#183b3e;font:16px/1.55 system-ui,sans-serif}header{padding:24px max(22px,calc((100vw - 1080px)/2));background:#123b40;color:white;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font:26px Georgia,serif;letter-spacing:1px}.brand small{display:block;font:10px system-ui;letter-spacing:4px;text-transform:uppercase}select,input,button{font:inherit}header select{background:#123b40;color:white;border:1px solid #789b9b;border-radius:6px;padding:9px}main{max-width:1080px;margin:44px auto;padding:0 22px}.eyebrow{color:#477872;font-size:12px;letter-spacing:3px;text-transform:uppercase}h1{font:42px/1.15 Georgia,serif;margin:12px 0}h2{font:25px Georgia,serif;margin:0 0 18px}.intro{max-width:680px;color:#567072}.banner{background:#fff4dd;border-left:4px solid #d5a24c;padding:16px 20px;margin:24px 0;color:#6c5124}.layout{display:grid;grid-template-columns:1.45fr 1fr;gap:26px;align-items:start}.card{background:white;border:1px solid #dae5df;border-radius:14px;padding:28px;box-shadow:0 10px 30px #183b3e05}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}label.field{font-size:13px;font-weight:600}input[type=date],select.guests{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #c7d8d0;border-radius:6px;background:white;color:#183b3e;min-width:0}.check{display:flex;align-items:flex-start;gap:10px;margin:22px 0 7px}.check input{margin-top:6px}.small{font-size:13px;color:#607674}.button{background:#176e68;border:0;color:white;border-radius:7px;padding:13px 18px;width:100%;font-weight:600;margin-top:20px;cursor:pointer}.button:disabled{background:#e4ebe6;color:#718078;cursor:default}.status{padding:9px 12px;background:#eef6f2;border-radius:6px;font-size:13px}.status.warn{background:#fff4dd;color:#6c5124}.sumline{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e2eae5}.total{font-size:29px}.total-label{padding-top:10px}.total-line{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.fine{font-size:12px;color:#6b7f7b}#error{color:#9c3c2f;margin-top:16px}.rules{margin-top:28px;font-size:13px;color:#607674}.source{margin:24px 0;font-size:12px;color:#607674}details{margin-top:24px;border-top:1px solid #dce5df;padding-top:18px}summary{cursor:pointer;font-size:14px}#rate-source{display:none!important}footer{max-width:1080px;margin:30px auto;padding:0 22px 30px;color:#607674;font-size:12px}a{color:inherit}@media(max-width:720px){main{margin-top:28px}.layout{grid-template-columns:1fr}.card{padding:22px}h1{font-size:34px}header{padding:18px 22px}.brand{font-size:22px}.fields{gap:12px}}@media(max-width:380px){.fields{grid-template-columns:1fr}}

main{margin:24px auto}header{padding-top:18px;padding-bottom:18px}.calendar-card{margin:24px 0}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.cal-toolbar button{background:#eef5f0;border:1px solid #c7d8d0;border-radius:6px;padding:8px 15px;cursor:pointer}.cal-toolbar select{max-width:62%;padding:8px;border:1px solid #c7d8d0;border-radius:6px}.months{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.month h3{text-align:center;font-size:16px;margin:10px 0}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.weekday{text-align:center;font-size:11px;color:#61766e;padding:4px}.day{border:1px solid transparent;aspect-ratio:1;min-width:0;padding:0;border-radius:5px;font-size:12px;color:#214d3c;cursor:pointer;background:#e1f0e4}.day.busy{background:#f0c5c2;color:#7c3331}.day.arrival{background:linear-gradient(135deg,#e1f0e4 49%,#f0c5c2 51%)}.day.departure{background:linear-gradient(135deg,#f0c5c2 49%,#e1f0e4 51%)}.day.unknown,.day.past{background:#f0f1ef;color:#99a49d}.day:disabled{cursor:default}.day.selected{border:2px solid #165e5a;color:#123b40;font-weight:700}.day.selected-range{box-shadow:inset 0 0 0 1px #4c9583}.day:focus-visible{outline:3px solid #176e68;outline-offset:2px}.legend{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;margin:18px 0 8px}.legend span{display:flex;align-items:center;gap:6px}.swatch{display:inline-block;width:15px;height:15px;border-radius:3px;background:#e1f0e4;border:1px solid #c8d6cc}.swatch.busy{background:#f0c5c2}.swatch.half{background:linear-gradient(135deg,#e1f0e4 49%,#f0c5c2 51%)}.swatch.unknown{background:#f0f1ef}.contact{margin-top:24px;padding-top:24px;border-top:1px solid #dce6df}.contact input:not([type=checkbox]),.contact textarea{font:inherit;display:block;width:100%;padding:11px;margin:7px 0 15px;border:1px solid #c7d8d0;border-radius:6px;color:#183b3e;background:white}.contact label{font-size:13px;font-weight:600}.contact textarea{resize:vertical}.hidden-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.success{background:#e3f2e9;border:1px solid #79ad90;padding:24px;border-radius:10px}.status{margin-bottom:8px}#error:empty{display:none}button:disabled{opacity:.6}.calendar-help{font-size:13px;color:#5c746c}#booking-error{color:#9c3c2f;font-size:14px}.loading{padding:20px;background:#fff4dd}.rules{margin-top:20px}footer{margin:0 auto;padding-bottom:18px}@media(max-width:760px){.months{grid-template-columns:1fr}.month-grid{gap:5px}.day{aspect-ratio:auto;min-height:36px;font-size:14px}.calendar-card{padding:20px}.month{max-width:440px;width:100%;margin:auto}.intro{font-size:14px}.cal-toolbar{gap:8px}.cal-toolbar button{padding:8px 12px}header{padding:16px 22px}h1{font-size:31px}.calendar-card h2{font-size:23px}.legend{gap:10px}}
