.booking{margin:1.6rem 0;padding:1.3rem;border:1px solid rgba(var(--color-foreground),.15);border-radius:12px}
.booking__label{display:block;font-weight:600;margin-bottom:.7rem}
.booking__selected{min-height:1.4em;margin-bottom:.7rem;font-weight:600}
.booking__selected:empty::before{content:"Nenhuma data selecionada ainda";opacity:.55;font-weight:400}
.booking__calendar{max-width:100%}
.bc__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}
.bc__nav{background:none;border:1px solid rgba(var(--color-foreground),.25);border-radius:8px;width:2.1rem;height:2.1rem;line-height:1;font-size:1.2rem;cursor:pointer;color:inherit}
.bc__nav[disabled]{opacity:.3;cursor:not-allowed}
.bc__month{font-weight:600;text-transform:capitalize}
.bc__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.bc__wd{text-align:center;font-size:.72rem;opacity:.6;padding:.3rem 0}
.bc__day{aspect-ratio:1;border:none;background:rgba(var(--color-foreground),.05);border-radius:8px;cursor:pointer;color:inherit;font-size:.92rem;padding:0}
.bc__day:hover:not([disabled]){background:rgba(var(--color-foreground),.14)}
.bc__day[disabled]{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.bc__day.is-empty{visibility:hidden;background:none}
.bc__day.is-selected{background:rgb(var(--color-button));color:rgb(var(--color-button-text,255 255 255));font-weight:700}
.booking__hint{font-size:.8rem;opacity:.65;margin-top:.7rem}
.booking__error{color:#c0392b;font-size:.88rem;margin-top:.6rem;font-weight:600;display:none}
.booking__error.show{display:block}
