.booking{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);margin:2.5rem 0;padding:1.5rem}.booking__toolbar{align-items:center;gap:1rem;display:flex}.booking__hint{text-align:center;color:var(--ink-soft);flex:1;margin:0}.booking__nav{border:1px solid var(--rule);background:var(--paper);width:2.5rem;height:2.5rem;color:var(--spruce);cursor:pointer;border-radius:50%;font-size:1.5rem;line-height:1}.booking__nav:disabled{opacity:.35;cursor:default}.booking__months{gap:1.5rem;margin-top:1rem;display:grid}@media (width>=36rem){.booking__months{grid-template-columns:1fr 1fr}}.booking .cal{border-collapse:collapse;width:100%;box-shadow:none;table-layout:fixed;background:0 0;margin:0}.booking .cal caption{font-family:var(--font-display);color:var(--spruce);padding-bottom:.5rem;font-size:1.15rem;font-weight:600}.booking .cal th,.booking .cal td{text-align:center;vertical-align:middle;background:0 0;border:0;padding:1px}.booking .cal th{color:var(--ink-soft);font-size:.8rem;font-weight:600}.cal__day{aspect-ratio:1;width:100%;max-height:2.75rem;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;font-size:.95rem}.cal__day--available{color:var(--spruce);background:#e7efe9;font-weight:600}.cal__day--available:hover:not(:disabled):not(.cal__day--selected){background:#cfe0d4}.cal__day--booked{background:repeating-linear-gradient(135deg, var(--rule) 0 3px, transparent 3px 7px);color:var(--ink-soft);text-decoration:line-through}.cal__day--past,.cal__day--closed{color:#b5aca2}.cal__day:disabled{cursor:default}.cal__day--booked:not(:disabled){cursor:pointer}.cal__day--range{color:var(--red-dark);background:#f1d8d2}.cal__day--selected{background:var(--red);color:var(--paper);text-decoration:none}.cal__day:focus-visible,.booking__nav:focus-visible{outline:3px solid var(--glacier);outline-offset:1px}.booking__legend{color:var(--ink-soft);flex-wrap:wrap;gap:1.25rem;margin:1rem 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.swatch{vertical-align:-.1rem;border-radius:3px;width:.9rem;height:.9rem;margin-right:.3rem;display:inline-block}.swatch--available{background:#e7efe9;border:1px solid #b9cfc0}.swatch--booked{background:repeating-linear-gradient(135deg, var(--rule) 0 3px, transparent 3px 7px);border:1px solid var(--rule)}.swatch--selected{background:var(--red)}.booking__problem{color:var(--red-dark);margin:1rem 0 0;font-weight:600}.booking__quote{border-left:4px solid var(--red);background:var(--cream);border-radius:0 var(--radius) var(--radius) 0;margin-top:1.25rem;padding:1rem 1.25rem}.booking__quote p{margin:0 0 .5rem}.booking__deposit{color:var(--ink-soft);font-size:.95rem}.booking__clear{color:var(--red);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.inquiry{gap:1rem;margin-top:1.5rem;display:grid}.inquiry h3{margin-top:0}.inquiry--sent{border-radius:var(--radius);background:#e7efe9;padding:1.25rem}.inquiry__row{gap:1rem;display:grid}@media (width>=36rem){.inquiry__row{grid-template-columns:1fr 1fr}}.inquiry label{color:var(--spruce);gap:.3rem;font-weight:600;display:grid}.inquiry input,.inquiry select,.inquiry textarea{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #cfc5b6;border-radius:4px;padding:.6rem .75rem;font-weight:400}.inquiry input:focus,.inquiry select:focus,.inquiry textarea:focus{outline:3px solid var(--glacier);outline-offset:0;border-color:var(--glacier)}.inquiry__optional{color:var(--ink-soft);font-weight:400}.inquiry__trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.inquiry__error{color:var(--red-dark);margin:0;font-weight:600}.inquiry .button{font:inherit;cursor:pointer;border:0;justify-self:start;font-weight:600}.inquiry .button:disabled{opacity:.6;cursor:progress}.inquiry__fine{color:var(--ink-soft);margin:0;font-size:.9rem}
