.fa-calculator{max-width:780px;margin:2rem auto;padding:clamp(1.2rem,4vw,3rem);background:#f5f7f3;border:1px solid #dce3dc;border-radius:18px;color:#203c33;font:inherit}
.fa-calculator h1,.fa-calculator h2{font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.15;margin:.5rem 0 1rem}.fa-eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;font-weight:700;color:#466454}
.fa-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0}.fa-calculator label{display:block;font-weight:600}.fa-calculator input:not([type=checkbox]),.fa-calculator select,.fa-calculator textarea{display:block;width:100%;max-width:100%;box-sizing:border-box;margin-top:.4rem;padding:.75rem;border:1px solid #96a79c;border-radius:7px;background:#fff;color:#203c33;font:inherit}.fa-calculator fieldset{border:0;padding:0;margin:1.5rem 0}.fa-calculator legend{font-size:1.15rem;font-weight:700}.fa-options label,.fa-consent{padding:.5rem 0}.fa-calculator input[type=checkbox]{width:1.1rem;height:1.1rem;margin-right:.5rem;accent-color:#235946}.fa-button{padding:.85rem 1.3rem;border:0;border-radius:7px;background:#235946;color:white;font-weight:700;cursor:pointer}.fa-button:hover{background:#173f31}.fa-button:disabled{opacity:.65;cursor:wait}.fa-calculator :focus-visible{outline:3px solid #ad720e;outline-offset:3px}[data-fa-role="result"]{padding:1.5rem;background:#e5eee4;border-radius:12px;margin-top:1.5rem}.fa-total{font-size:2.6rem;font-weight:750;margin:.3rem 0}[data-fa-role="feedback"]{margin:1rem 0;font-weight:600}.fa-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.fa-calculator [hidden]{display:none!important}@media(max-width:560px){.fa-grid{grid-template-columns:1fr}.fa-calculator{margin:1rem 0}.fa-button{width:100%}}

.fa-calculator{container-type:inline-size}.fa-grid>*{min-width:0}@container(max-width:480px){.fa-calculator .fa-grid{grid-template-columns:1fr}}
.fa-date{display:block;width:100%;margin-top:.4rem;padding:.75rem;text-align:left;border:1px solid #96a79c;border-radius:7px;background:#fff;color:#203c33;font:inherit}.fa-availability{margin:1rem 0;padding:1rem;background:#fff;border:1px solid #d1dad5;border-radius:12px}.fa-calendar-head{display:flex;justify-content:space-between;align-items:center}.fa-calendar-head button{border:0;background:transparent;font-size:1.6rem}.fa-key{display:inline-block;width:1rem;height:1rem;border:1px solid #82968b;margin:0 .25rem 0 .7rem;vertical-align:middle}.fa-key.free,.fa-calendar-grid button.free{background:#7fca82}.fa-key.occupied,.fa-calendar-grid button.occupied{background:#d9534f;color:#fff}.fa-calendar-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.8rem;max-height:38rem;overflow-y:auto}.fa-calendar-month{border:1px solid #dce3dc;border-radius:8px;padding:.5rem}.fa-calendar-month h3{text-align:center;font-size:1rem;margin:.2rem}.fa-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.fa-calendar-grid b{font-size:.7rem;background:#e2e5e3}.fa-calendar-grid button{min-height:2rem;border:1px solid #d1dad5;border-radius:3px}.fa-calendar-grid button.changeover.arrival{background:linear-gradient(to top right,#7fca82 0 48%,#fff 49% 51%,#d9534f 52%)}.fa-calendar-grid button.changeover.departure{background:linear-gradient(to top right,#d9534f 0 48%,#fff 49% 51%,#7fca82 52%)}.fa-calendar-grid button.changeover.arrival.departure{background:linear-gradient(to top right,#d9534f 0 48%,#fff 49% 51%,#d9534f 52%)}.fa-calendar-grid button.selected{outline:3px solid #235946;outline-offset:0}.fa-calendar-grid button:disabled{opacity:.55;cursor:not-allowed}

