.travel-slot-picker{color:#252820;display:grid;gap:.72rem;margin:.9rem 0;text-align:left}
.travel-slot-picker [hidden],[data-availability-results][hidden]{display:none!important}
.travel-slot-picker p{margin:0}.travel-slot-picker button{cursor:pointer}.travel-slot-picker button:disabled{cursor:default}
.travel-slot-guide,.travel-slot-status,.travel-slot-minimum,.tb-method-legend,.tb-selected-operation{font-size:.85rem;line-height:1.6}
.travel-slot-guests{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(6.5rem,100%),1fr));gap:.55rem}
.travel-slot-guests label,.travel-slot-time{display:grid;align-content:start;gap:.2rem;font-size:.9rem;font-weight:700;min-width:0}
.travel-slot-guests small,.travel-slot-guests span,.travel-slot-guests select,.travel-slot-time select{font-size:.85rem}
.travel-slot-picker select{min-width:0;width:100%;border:1px solid #aaa99e;background:#fff;border-radius:.5rem;padding:.55rem;color:inherit}
.travel-slot-picker [data-availability-results]{display:grid;gap:.6rem}
.travel-slot-month{display:flex;justify-content:space-between;align-items:center}
.travel-slot-month button{border:1px solid #b6b3a5;border-radius:.5rem;background:white;min-width:2.5rem;min-height:2.5rem}
.travel-slot-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.travel-slot-days>span{font-size:.71rem;font-weight:700}.travel-slot-days button{display:grid;place-content:center;gap:1px;min-width:0;min-height:2.6rem;padding:2px;background:#fff;border:1px solid #aea996;border-radius:.35rem;color:#24261f;line-height:1.15}
.travel-slot-days button small{font-size:.68rem}.travel-slot-days button:disabled{color:#77766e;background:#f1f1ed;border-color:transparent}.travel-slot-days button[aria-pressed=true]{background:#ffd035;border-color:#292719;outline:1px solid #292719}
.travel-slot-picker [data-calendar-continue]:disabled{background:#e5e3d9;color:#67665e}
[data-selected-operation]:empty{display:none}.tb-selected-operation{color:#213c31;font-weight:700;margin:.4rem 0}
.tb-method-legend{font-weight:700}.tb-calendar-grid button small{display:block;font-size:.75em}.tb-check-availability{margin:.7rem 0}

.tb-day-guarantee{display:block;max-width:100%;font-size:clamp(7px,1.7vw,9px);font-style:normal;font-weight:700;color:#184d30;background:#e0f0df;border-radius:3px;line-height:1.35;overflow-wrap:anywhere}

#booking:has([data-storefront-calendar]){scroll-margin-block-start:7rem}

/* Share label, age, price and input rows when one category has no age range. */
.travel-slot-guests label { grid-row: span 4; grid-template-rows: subgrid; align-items: start; }
.travel-slot-guests small { min-height: 1em; }
.travel-detail-sidebar:has([data-availability-results]:not([hidden])) { position: static; }
.travel-slot-picker [data-availability-results], .tb-page .tb-calendar, .tb-page [data-choice-next], .tb-page [data-benefit-finished] { scroll-margin-block-start: calc(var(--travel-header, 3.5rem) + 4.5rem); }
.tb-guest-counts .tb-field { display: grid; grid-template-rows: 1fr auto; align-items:end; }
.tb-guest-counts .tb-guest-label { align-self:stretch; }
.tb-guest-counts .tb-field:has(select + small) { grid-template-rows:1fr auto auto; }
.tb-page .tb-date-actions > button:only-child, .tb-page .tb-date-actions > button:first-child[hidden] + button { grid-column:1 / -1; }

[data-scroll-arrival][tabindex="-1"]:focus { outline: none; }
.tb-page [data-departure-choice] { scroll-margin-block-start: calc(var(--travel-header, 3.5rem) + 1rem); }
.tb-page .tb-benefit-options > label:has(input:checked) { border-color: #dad7c6; background: white; box-shadow: none; }

.tb-extra-choice { min-width:0; margin:1rem 0; padding:.75rem; border:1px solid #d7d8cf; border-radius:.5rem; }
.tb-extra-choice legend { font-weight:700; }
.tb-extra-choice select { width:100%; min-height:44px; font:inherit; }

@media (max-width: 640px) {
    .tb-calendar-grid button[data-method], .travel-slot-days button[data-method] {
        box-sizing: border-box;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: 1.2em 1em;
        place-items: center;
        align-content: center;
        aspect-ratio: auto;
        min-height: 44px;
        padding: 5px 1px;
        row-gap: 2px;
        line-height: 1;
    }
    .tb-calendar-grid button[data-method] > small, .travel-slot-days button[data-method] > small {
        margin: 0;
        font-size: .78em;
        line-height: 1;
    }
    .tb-calendar-grid:has(.tb-day-guarantee) button[data-method],
    .travel-slot-days:has(.tb-day-guarantee) button[data-method] { grid-template-rows: 1.2em 1em .8rem; }
}

/* Highlight only the instant-booking symbol, including selected dates. */
.tb-calendar-grid button[data-method="instant"] > small,
.travel-slot-days button[data-method="instant"] > small { color: #1d4ed8; }
