.cal{border:1px solid var(--color-stone);border-radius:var(--radius-md);background:var(--color-white);padding:16px}.cal__inputs{border:2px solid var(--color-stone-dark);border-radius:var(--radius-sm);grid-template-columns:1fr 1fr;margin-bottom:16px;display:grid;overflow:hidden}.cal__input{cursor:pointer;padding:8px 12px;transition:background .15s}.cal__input+.cal__input{border-left:1px solid var(--color-stone-dark)}.cal__input--active{background:var(--color-linen-dark);outline:2px solid var(--color-text);outline-offset:-2px;z-index:1;border-radius:3px}.cal__input--filled .cal__value{color:var(--color-text);font-weight:600}.cal__label{letter-spacing:.1em;color:var(--color-text);font-size:.5625rem;font-weight:700;display:block}.cal__value{color:var(--color-text-muted);margin-top:1px;font-size:.8125rem;display:block}.cal__nav{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.cal__month-title{font-size:.875rem;font-weight:600}.cal__arrow{cursor:pointer;color:var(--color-text);background:0 0;border:none;border-radius:50%;padding:4px 8px;font-size:1.25rem;line-height:1}.cal__arrow:hover{background:var(--color-linen-dark)}.cal__arrow:disabled{color:var(--color-stone-dark);cursor:default;background:0 0}.cal__grid{grid-template-columns:repeat(7,1fr);gap:0;display:grid}.cal__dow{text-align:center;color:var(--color-text-muted);padding:4px 0;font-size:.625rem;font-weight:600}.cal__day{cursor:pointer;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:46px;padding:2px 0;font-size:.8125rem;font-weight:500;transition:background .1s;display:flex;position:relative}.cal__day:hover:not(.cal__day--off){background:var(--color-linen-dark)}.cal__day--empty{cursor:default}.cal__day--past{color:var(--color-stone-dark);cursor:default}.cal__day--booked{color:var(--color-stone-dark);cursor:not-allowed;text-decoration:line-through}.cal__day--booked,.cal__day--past,.cal__day--empty,.cal__day--off{pointer-events:none}.cal__day--today .cal__num{font-weight:800;text-decoration:underline}.cal__day--sel{border-radius:50%;background:var(--color-text)!important;color:var(--color-white)!important}.cal__day--sel .cal__price{color:#ffffffb3}.cal__day--in{background:var(--color-linen-dark)}.cal__day--range-s{background:var(--color-linen-dark);border-radius:50% 0 0 50%}.cal__day--range-e{background:var(--color-linen-dark);border-radius:0 50% 50% 0}.cal__num{line-height:1.2;display:block}.cal__price{color:var(--color-text-muted);white-space:nowrap;font-size:.5625rem;line-height:1;display:block}.cal__day--booked .cal__price{display:none}.cal__loading{text-align:center;color:var(--color-text-muted);padding:24px;font-size:.8125rem}.cal__loading--hide{display:none}.cal__summary{margin-top:12px;display:none}.cal__summary--show{display:block}.cal__summary-box{background:var(--color-linen-dark);border-radius:var(--radius-sm);padding:12px}.cal__row{justify-content:space-between;padding:3px 0;font-size:.8125rem;display:flex}.cal__row--total{border-top:1px solid var(--color-stone);margin-top:6px;padding-top:8px;font-size:.9375rem;font-weight:700}.cal__row--save{color:var(--color-success);font-weight:600}.cal__foot{flex-direction:column;gap:8px;margin-top:12px;display:flex}.cal__clear{cursor:pointer;color:var(--color-text);text-align:left;background:0 0;border:none;padding:0;font-size:.8125rem;font-weight:600;text-decoration:underline}.cal__day--booked{pointer-events:auto;cursor:pointer}.cal__promo{gap:8px;margin-top:12px;display:flex}.cal__promo-input{border:1px solid var(--color-stone-dark);border-radius:var(--radius-sm);text-transform:uppercase;flex:1;min-width:0;padding:.6rem .75rem;font-size:.875rem}.cal__promo-input:focus{border-color:var(--color-forest);outline:none;box-shadow:0 0 0 3px #2d50161a}.cal__promo-apply{white-space:nowrap;padding:.6rem 1.1rem}.cal__promo-msg{min-height:1.1em;margin:6px 0 0;font-size:.8125rem}.cal__promo-msg--ok{color:var(--color-success);font-weight:600}.cal__promo-msg--err{color:var(--color-error)}.cal__waitlist{border-top:1px solid var(--color-stone);margin-top:16px;padding-top:16px}.cal__waitlist-lead{color:var(--color-text-muted,#666);margin:0;font-size:.875rem}.cal__waitlist-link{color:var(--color-copper);cursor:pointer;background:0 0;border:none;padding:0;font-size:.875rem;font-weight:600}.cal__waitlist-form{margin-top:12px}.cal__waitlist-form .form-group{margin-bottom:10px}.cal__waitlist-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cal__waitlist-msg{min-height:1.1em;margin:8px 0 0;font-size:.8125rem}.cal__waitlist-msg--ok{color:var(--color-success);font-weight:600}.cal__waitlist-msg--err{color:var(--color-error)}
