.home-search-panel-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-search-panel { border-radius: 24px; }
.balie-date-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    text-align: left;
    color: #817465;
    min-height: 48px;
    cursor: pointer;
    font: inherit;
}
.balie-date-trigger.has-date { color: #30271e; }
.balie-date-trigger svg { fill: none; stroke: currentColor; stroke-width: 1.7; flex-shrink: 0; }
.balie-date-trigger:focus-visible { outline: 2px solid #8a653e; outline-offset: 2px; }
.balie-date-trigger:disabled { cursor: default; }
.availability-board { width: 100%; }
#agenda .reservation-widget {
    align-self: center;
    height: auto;
    padding: 1.25rem;
    background: linear-gradient(145deg, #fff, #fcfaf6);
}
#agenda .reservation-widget .form-label { margin-bottom: .35rem; }
#agenda .reservation-widget h3 { margin-bottom: 1rem !important; }
.balie-picker {
    --picker-accent: #8a653e;
    --picker-ink: #30271e;
    color: var(--picker-ink);
    background: white;
    padding: 1.25rem;
    border: 1px solid #e9dfd1;
    border-radius: 20px;
    font-family: 'Manrope', sans-serif;
    line-height: 1.45;
    container-type: inline-size;
}
.balie-picker-inline { margin-top: 1rem; width: 100%; }
[data-date-picker-board] .balie-picker-inline { margin: 0; border: 0; padding: 0; }
.balie-picker-dialog {
    width: min(740px, calc(100vw - 24px));
    max-height: calc(100dvh - 32px);
    margin: auto;
    overflow-y: auto;
    box-shadow: 0 24px 80px rgba(48, 39, 30, .25);
}
.balie-picker-dialog::backdrop { background: rgba(48, 39, 30, .42); }
.balie-picker-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.balie-picker-head h2 { font-family: inherit; font-size: 1.15rem; font-weight: 700; margin: 0 0 .35rem; letter-spacing: 0; }
.balie-picker-head p { font-size: .8rem; color: #817465; margin: 0; }
.balie-picker-fields { display: flex; border: 1px solid #d9cdbd; border-radius: 10px; flex-shrink: 0; overflow: hidden; }
.balie-picker-fields button { border: 0; background: white; padding: .6rem .8rem; text-align: left; color: inherit; min-width: 118px; border-radius: 9px; }
.balie-picker-fields button.is-active { box-shadow: inset 0 0 0 2px var(--picker-accent); }
.balie-picker-fields small { font-size: .61rem; display: block; font-weight: 800; letter-spacing: .03em; margin-bottom: .15rem; }
.balie-picker-fields span { display: block; font-size: .8rem; }
.balie-picker-message { font-size: .77rem; color: #817465; min-height: 2rem; padding: .65rem 0 .35rem; }
.balie-picker-message button { border: 0; background: transparent; text-decoration: underline; color: #60482e; font: inherit; margin-left: .4rem; }
.balie-month-controls { display: flex; justify-content: space-between; height: 0; position: relative; top: .1rem; z-index: 1; }
.balie-month-controls button { width: 34px; height: 34px; border: 0; border-radius: 50%; background: white; color: inherit; font-size: 1.7rem; display: grid; place-items: center; line-height: 1; }
.balie-month-controls button:hover { background: #f5eee2; }
.balie-month-controls button:disabled { color: #d9d1c5; cursor: default; }
.balie-months { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.65rem; }
.balie-month h3 { font-family: inherit; font-size: .95rem; font-weight: 700; text-align: center; margin: .5rem 0 1.25rem; letter-spacing: 0; text-transform: capitalize; }
.balie-weekdays, .balie-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); text-align: center; }
.balie-weekdays { color: #817465; font-size: .72rem; margin-bottom: .65rem; }
.balie-days { row-gap: .2rem; }
.balie-day { position: relative; aspect-ratio: 1; border: 0; padding: 0; display: grid; place-items: center; font-size: .8rem; font-weight: 600; background: white; color: var(--picker-ink); isolation: isolate; }
.balie-day span { display: grid; place-items: center; border-radius: 50%; width: 100%; height: 100%; position: relative; z-index: 1; }
.balie-day:not(:disabled):hover span { box-shadow: inset 0 0 0 1px var(--picker-accent); }
.balie-day:disabled { color: #b6afa5; cursor: default; }
.balie-day.is-occupied span { text-decoration: line-through; color: #aaa092; }
.balie-day.is-checkout-only span { text-decoration: none; color: var(--picker-ink); border: 1px dashed #c7a977; }
.balie-day.is-today:not(.is-endpoint) span { text-decoration: underline; text-underline-offset: 3px; }
.balie-day.is-range { background: #f5eee2; }
.balie-day.is-start { border-radius: 50% 0 0 50%; }
.balie-day.is-end { border-radius: 0 50% 50% 0; }
.balie-day.is-endpoint span { background: var(--picker-accent); color: white; text-decoration: none; }
.balie-day:focus-visible { z-index: 2; outline: 2px solid #60482e; outline-offset: 1px; border-radius: 50%; }
.balie-picker-footer { margin-top: 1.5rem; display: flex; align-items: center; gap: .85rem; font-size: .78rem; }
.balie-picker-legend { color: #817465; display: flex; align-items: center; gap: .35rem; margin-right: auto; }
.balie-picker-legend > span { width: 13px; height: 13px; border-radius: 50%; background: #ede8e0; position: relative; }
.balie-picker-legend > span::after { content: ''; position: absolute; width: 9px; height: 1px; background: #b6afa5; top: 6px; left: 2px; }
.balie-clear { font: inherit; font-weight: 600; border: 0; background: transparent; text-decoration: underline; padding: .5rem .2rem; color: inherit; }
.balie-close { font: inherit; font-weight: 700; border: 0; border-radius: 9px; background: var(--picker-accent); color: white; padding: .7rem 1rem; }
@container (max-width: 560px) {
    .balie-months { grid-template-columns: 1fr; gap: 0; }
    .balie-month-second { display: none; }
    .balie-picker-head { flex-direction: column; gap: .75rem; }
    .balie-picker-fields { width: 100%; }
    .balie-picker-fields button { width: 50%; min-width: 0; }
    .balie-month h3 { margin-bottom: 1rem; }
    .balie-day { aspect-ratio: auto; height: 42px; }
    .balie-day span { max-width: 42px; }
}
@media (max-width: 575.98px) {
    .home-search-panel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-search-panel-grid > label:last-child { grid-column: 1 / -1; }
    .balie-picker { padding: 1rem .6rem; }
    .balie-picker-dialog { padding: 1.25rem 1rem; }
    .balie-picker-legend { font-size: .68rem; }
    .balie-picker-footer { gap: .5rem; }
}
