.trbkc{--trbkc-orange:#087FA8;--trbkc-moss:#FFD400;--trbkc-ink:#17242C;color:var(--trbkc-ink);font-family:inherit}
.trbkc *{box-sizing:border-box}.trbkc__top{display:flex;justify-content:center;align-items:center;gap:24px;margin-bottom:20px}.trbkc__month{font-size:clamp(22px,3vw,30px);font-weight:800;margin:0;min-width:220px;text-align:center}.trbkc__prev,.trbkc__next{background:transparent;border:1px solid #d8ddd6;border-radius:50%;height:38px;width:38px;cursor:pointer;font-size:28px;line-height:1;color:var(--trbkc-ink)}.trbkc__weekdays,.trbkc__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.trbkc__weekdays{background:var(--trbkc-orange);color:#fff}.trbkc__weekdays span{text-align:center;font-size:12px;font-weight:700;letter-spacing:.08em;padding:12px 2px}.trbkc__grid{border-top:1px solid #e3e0d9;border-left:1px solid #e3e0d9}.trbkc__day,.trbkc__blank{border-right:1px solid #e3e0d9;border-bottom:1px solid #e3e0d9;min-height:175px;padding:10px 8px;background:#fff;min-width:0}.trbkc__blank{background:#f8f6f1}.trbkc__date{font-size:14px;font-weight:800;text-align:right;color:var(--trbkc-orange);margin-bottom:12px}.trbkc__tour{border-top:1px solid #eee;padding:8px 0 10px;overflow-wrap:anywhere}.trbkc__tour:first-of-type{border-top:0}.trbkc__tour-name{display:block;font-size:12px;line-height:1.35}.trbkc__time{font-size:11px;margin:5px 0;color:#58616a}.trbkc__button{background:var(--trbkc-moss);border:0;color:#fff;padding:7px 9px;font-weight:800;font-size:10px;letter-spacing:.04em;cursor:pointer;border-radius:3px;max-width:100%}.trbkc__button:hover{filter:brightness(.9)}.trbkc__button--disabled{background:#ddd;color:#888;cursor:not-allowed}.trbkc__full{color:#c9342b;font-size:12px;display:block;margin-bottom:5px}.trbkc__closed,.trbkc__unavailable{color:#888;font-size:11px;font-weight:700}.trbkc__closed{text-align:center;margin-top:40px}.trbkc__status,.trbkc__disclaimer{font-size:12px;color:#6b7280;margin:12px 0 0}.trbkc__bookly{display:none;background:#fff;border:1px solid #e3e0d9;border-radius:12px;padding:20px;margin-top:24px;scroll-margin-top:110px}.trbkc__bookly--open{display:block}.trbkc__bookly-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.trbkc__close{background:transparent;border:1px solid #aaa;padding:6px 14px;cursor:pointer;border-radius:4px}.trbkc__selection{padding:12px 14px;background:#f7f2e8;border-left:3px solid var(--trbkc-orange);font-size:13px;margin-bottom:18px}
@media(max-width:900px){.trbkc__day{padding:7px 5px;min-height:155px}.trbkc__tour-name{font-size:11px}.trbkc__time{font-size:10px}.trbkc__button{padding:6px 5px;font-size:9px}}
@media(max-width:650px){.trbkc__weekdays,.trbkc__grid{grid-template-columns:repeat(7,minmax(0,1fr))}.trbkc__weekdays span{font-size:9px;padding:9px 0}.trbkc__day,.trbkc__blank{padding:5px 2px;min-height:125px}.trbkc__date{font-size:12px;margin-bottom:5px}.trbkc__tour{padding:5px 0}.trbkc__tour-name{font-size:9px}.trbkc__time{font-size:8px}.trbkc__button{font-size:8px;padding:5px 2px;width:100%}.trbkc__full,.trbkc__unavailable,.trbkc__closed{font-size:9px}.trbkc__month{min-width:0;font-size:22px}.trbkc__top{gap:15px}.trbkc__bookly{padding:12px}}

/* v0.2.0 modal overlay: booking stays on the calendar page */
body.trbkc-modal-open{overflow:hidden}
.trbkc__bookly{display:none;position:fixed;inset:0;z-index:999999;background:rgba(23,36,44,.7);padding:clamp(12px,3vw,36px);margin:0;border:0;border-radius:0;overflow:auto;scroll-margin-top:0}
.trbkc__bookly--open{display:flex;justify-content:center;align-items:flex-start}
.trbkc__bookly-dialog{width:min(1120px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:14px;padding:clamp(14px,2.5vw,28px);box-shadow:0 20px 70px rgba(0,0,0,.28)}
.trbkc__bookly-header{position:sticky;top:-1px;background:#fff;z-index:5;padding-bottom:12px;border-bottom:1px solid #eee}
@media(max-width:650px){.trbkc__bookly{padding:8px}.trbkc__bookly-dialog{max-height:calc(100dvh - 16px);padding:12px}}

/* v0.3.0: modal viewport and sticky site-header clearance */
.trbkc__bookly{z-index:2147483000!important;inset:0!important;align-items:center!important;padding:20px 12px!important;overscroll-behavior:contain}
.trbkc__bookly-dialog{max-height:calc(100dvh - 40px)!important;overscroll-behavior:contain;scrollbar-gutter:stable}
.trbkc__bookly-header{top:0!important}
@media(max-width:650px){.trbkc__bookly{padding:8px!important;align-items:center!important}.trbkc__bookly-dialog{max-height:calc(100dvh - 16px)!important}}

/* v0.3.1 — TRB cyan / yellow brand colors */
.trbkc{--trbkc-cyan:#29B1E1;--trbkc-cyan-dark:#087FA8;--trbkc-yellow:#FFD400;--trbkc-orange:var(--trbkc-cyan-dark);--trbkc-moss:var(--trbkc-yellow)}
.trbkc__weekdays{background:var(--trbkc-cyan);color:#17242C}
.trbkc__date{color:var(--trbkc-cyan-dark)}
.trbkc__button:not(:disabled){background:var(--trbkc-yellow);color:#17242C;transition:background-color .2s ease,color .2s ease}
.trbkc__button:not(:disabled):hover{background:var(--trbkc-cyan);color:#17242C;filter:none}
.trbkc__button:focus-visible,.trbkc__prev:focus-visible,.trbkc__next:focus-visible,.trbkc__close:focus-visible{outline:3px solid var(--trbkc-cyan);outline-offset:2px}
.trbkc__button--disabled,.trbkc__button--disabled:disabled{background:#ddd;color:#888;cursor:not-allowed}
.trbkc__selection{border-left-color:var(--trbkc-cyan);background:#effaff}
.trbkc__full{color:#c9342b}

/* v0.3.4: refreshed primary brand */
.trbkc{--trbkc-cyan:#00AFC1;--trbkc-cyan-dark:#008996}
.trbkc__bridge-status{padding:12px 14px;border-left:3px solid #00AFC1;background:#effbfc;color:#17242C;font-size:13px}
.trbkc__bridge-status[hidden]{display:none}

/* v0.3.6: keep Bookly Search Form at natural dimensions. A visual overlay,
   rather than height:0/visibility:hidden, covers its intermediate screen. */
.trbkc__bookly-dialog{position:relative}
.trbkc__loading[hidden]{display:none!important}
.trbkc__loading{position:absolute;inset:0;z-index:20;background:#fff;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;color:#17242C;font-size:14px;min-height:220px}
.trbkc__loading strong{font-size:17px;font-weight:750}
.trbkc__loading>span:last-child{color:#64737B;font-size:13px}
.trbkc__spinner{display:block;width:36px;height:36px;border:3px solid #d3f3f5;border-top-color:#00AFC1;border-radius:50%;animation:trbkc-spin .75s linear infinite}
@keyframes trbkc-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.trbkc__spinner{animation:none}}

/* v0.4.1: hide Divi custom sticky header only while booking dialog is open. */
body.trbkc-modal-open #trb5-header { display:none!important; }
body.trbkc-modal-open .et-l--header { pointer-events:none!important; }

/* v0.4.5 — compact AM/PM booking choices */
.trbkc__day{padding:10px 7px;min-height:185px}
.trbkc__date{margin-bottom:8px}
.trbkc__period{padding:8px 0 10px;border-top:1px solid #e7e9e8}
.trbkc__period--morning{border-left:3px solid #00afc1;padding-left:6px}
.trbkc__period--afternoon{border-left:3px solid #d59b00;padding-left:6px}
.trbkc__period-heading{display:flex;flex-wrap:wrap;gap:2px 7px;align-items:baseline;margin-bottom:7px}
.trbkc__period-name{font-size:11px;letter-spacing:.035em;color:#17242c}
.trbkc__period-time{font-size:10px;color:#62717a}
.trbkc__choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.trbkc__choice{min-width:0;text-align:center}
.trbkc__choices .trbkc__button{width:100%;min-height:33px;padding:6px 3px;border-radius:4px;background:#00afc1;color:#fff;font-size:10px;letter-spacing:0;line-height:1.2;overflow-wrap:normal}
.trbkc__choices .trbkc__button:not(:disabled){background:#00afc1;color:#fff}
.trbkc__choices .trbkc__button:not(:disabled):hover{background:#008996;color:#fff}
.trbkc__choices .trbkc__button--full:disabled{background:#c9342b;color:#fff;opacity:1}
.trbkc__choices .trbkc__button--disabled:disabled{background:#e1e5e7;color:#697982}
.trbkc__choices .trbkc__full{font-size:9px;margin:3px 0 0}
@media(max-width:900px){
 .trbkc__choices{grid-template-columns:1fr;gap:4px}
 .trbkc__period-heading{display:block}
 .trbkc__period-time{display:block;margin-top:3px}
}
@media(max-width:650px){
 .trbkc__day{padding:5px 2px;min-height:175px}
 .trbkc__period{padding:5px 0 6px}
 .trbkc__period--morning,.trbkc__period--afternoon{padding-left:2px;border-left-width:2px}
 .trbkc__period-name{font-size:8px;letter-spacing:0}
 .trbkc__period-time{font-size:8px;line-height:1.2}
 .trbkc__choices .trbkc__button{font-size:8px;min-height:27px;padding:4px 1px}
}

/* v0.4.9: three clear options in each departure, single calendar */
.trbkc__choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.trbkc__choices .trbkc__button{min-height:37px;padding:7px 3px;font-size:10px;line-height:1.2}
.trbkc__choice--private .trbkc__button:not(:disabled){background:#17242c;color:#fff}
.trbkc__choice--private .trbkc__button:not(:disabled):hover{background:#304c59;color:#fff}
.trbkc__legend{font-size:13px;line-height:1.8;color:#52636b;margin:0 0 16px;text-align:center}
.trbkc__legend strong{color:#17242c}
@media(max-width:900px){.trbkc__choices{grid-template-columns:1fr;gap:4px}.trbkc__choices .trbkc__button{font-size:9px;min-height:30px;padding:5px 2px}}
@media(max-width:650px){.trbkc__choices .trbkc__button{font-size:8px;min-height:29px;padding:4px 1px}.trbkc__legend{font-size:11px}}

/* v0.4.11: clearer controls within the seven-column calendar */
@media(min-width:901px){
 .trbkc__day{padding:10px 6px}
 .trbkc__choices{gap:4px}
 .trbkc__choices .trbkc__button{font-size:10px;min-height:43px;padding:6px 2px;line-height:1.25;overflow-wrap:anywhere}
}
@media(max-width:900px){
 .trbkc__choices{grid-template-columns:1fr;gap:5px}
 .trbkc__choices .trbkc__button{min-height:35px;font-size:10px;line-height:1.15}
}
@media(max-width:650px){
 .trbkc__day{padding:6px 3px;min-height:210px}
 .trbkc__choices{gap:4px}
 .trbkc__choices .trbkc__button{min-height:34px;font-size:9px;padding:5px 1px}
 .trbkc__period-name{font-size:9px}
 .trbkc__period-time{font-size:8px}
}
.trbkc__choices .trbkc__button:focus-visible{outline:3px solid #ffd400;outline-offset:2px}

/* v0.4.12: two shared choices above full-width private option (desktop) */
@media(min-width:901px){
 .trbkc__choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
 .trbkc__choices .trbkc__choice--private{grid-column:1 / -1}
 .trbkc__choices .trbkc__button{min-height:35px;padding:7px 3px;font-size:10px;overflow-wrap:normal;word-break:normal}
 .trbkc__choices .trbkc__choice--private .trbkc__button{min-height:33px;white-space:nowrap;font-size:10px;letter-spacing:.02em}
}

/* v0.4.13: single, full-width Customized Tour booking action per departure. */
.trbkc[data-trbkc-tour-filter="customized"] .trbkc__choices{grid-template-columns:minmax(0,1fr)}
.trbkc__choice--customized{grid-column:1/-1}
.trbkc__choice--customized .trbkc__button:not(:disabled){background:#17242c;color:#fff}
.trbkc__choice--customized .trbkc__button:not(:disabled):hover{background:#304c59;color:#fff}
.trbkc[data-trbkc-tour-filter="customized"] .trbkc__choice--customized .trbkc__button{font-size:10px;overflow-wrap:normal;white-space:normal;min-height:37px}
@media(max-width:650px){.trbkc[data-trbkc-tour-filter="customized"] .trbkc__choice--customized .trbkc__button{font-size:9px}}


/* v0.4.14: Mobile date picker + full-width, single-day tour details.
   Desktop seven-column calendar and all Bookly actions remain unchanged. */
.trbkc__mobile-picker{display:none}
.trbkc__date-mobile{display:none}
@media(max-width:650px){
 .trbkc{--trbkc-cyan:#00AFC1;--trbkc-orange:#008996;width:100%;max-width:100%}
 .trbkc__top{gap:12px;margin-bottom:12px}
 .trbkc__month{font-size:21px;min-width:0;flex:1}
 .trbkc__legend{font-size:12px;line-height:1.5;margin-bottom:14px}
 .trbkc__weekdays{display:none!important}
 .trbkc__mobile-picker{display:block!important;margin-bottom:15px}
 .trbkc__mobile-picker[hidden]{display:none!important}
 .trbkc__pick-weekdays,.trbkc__pick-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
 .trbkc__pick-weekdays{padding:7px 0;background:#00AFC1;border-radius:9px 9px 0 0}
 .trbkc__pick-weekdays span{font-size:11px;font-weight:750;color:#fff;text-align:center}
 .trbkc__pick-days{background:#f7fafb;padding:7px;border:1px solid #e4ebed;border-top:0;border-radius:0 0 9px 9px}
 .trbkc__pick-day{width:100%;min-width:0;min-height:42px;border:1px solid transparent;border-radius:7px;background:#fff;color:#17242c;font-size:14px;font-weight:750;cursor:pointer;padding:3px 0;touch-action:manipulation}
 .trbkc__pick-day--closed{color:#9ba3a7;background:#f0f2f3}
 .trbkc__pick-day--selected,.trbkc__pick-day--selected:hover{background:#00AFC1;color:#fff;border-color:#008996}
 .trbkc__pick-day:focus-visible{outline:3px solid #FFD400;outline-offset:2px}
 .trbkc__grid{display:block!important;border:0}
 .trbkc__blank,.trbkc__grid .trbkc__day{display:none!important}
 .trbkc__grid .trbkc__day--selected{display:block!important;background:#fff;border:1px solid #dce5e8;border-radius:11px;padding:15px;min-height:0;box-shadow:0 3px 14px rgba(23,36,44,.05)}
 .trbkc__date{text-align:left;margin-bottom:10px;font-size:17px;color:#17242c}
 .trbkc__date-number{display:none}
 .trbkc__date-mobile{display:inline}
 .trbkc__period{padding:14px 0 14px 11px;border-top:1px solid #e7e9e8;border-left-width:4px;margin:0}
 .trbkc__period-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}
 .trbkc__period-name{font-size:14px!important;line-height:1.35;letter-spacing:.02em}
 .trbkc__period-time{display:inline;margin:0;font-size:12px!important;line-height:1.4;white-space:nowrap}
 .trbkc__choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .trbkc__choice--private,.trbkc__choice--customized{grid-column:1/-1}
 .trbkc__choices .trbkc__button,.trbkc[data-trbkc-tour-filter="customized"] .trbkc__choice--customized .trbkc__button{display:block;min-height:45px;width:100%;font-size:12px;line-height:1.25;padding:10px 6px;border-radius:7px;overflow-wrap:normal;word-break:normal;white-space:normal}
 .trbkc__choices .trbkc__full{font-size:11px;margin-top:4px}
 .trbkc__closed{text-align:center;font-size:14px;margin:20px 0;padding:20px;background:#f3f5f6;border-radius:8px;letter-spacing:.08em}
 .trbkc__status,.trbkc__disclaimer{font-size:11px;line-height:1.55}
}
