/* Shared tour typography and departure calendars: detail pages and dialogs. */
.event-detail-copy{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.75;color:#334155;overflow-wrap:break-word;margin:36px 0}
.event-detail-copy section,.event-detail-copy aside{margin:32px 0;padding:0}
.event-detail-copy section:first-child{margin-top:0}
.event-detail-copy h2,.event-detail-copy h3,.event-detail-copy h4{font-family:inherit;color:#0b294a;font-weight:700;line-height:1.35;letter-spacing:normal;text-transform:none}
.event-detail-copy h2{font-size:26px;margin:0 0 18px;padding:0}
.event-detail-copy h3{font-size:20px;margin:24px 0 12px;padding:0}
.event-detail-copy h4{font-size:18px;margin:20px 0 10px;padding:0}
.event-detail-copy p,.event-detail-copy li,.event-detail-copy td,.event-detail-copy th{font-size:inherit;line-height:inherit;color:inherit}
.event-detail-copy p{margin:0 0 12px}
.event-detail-copy p:empty{display:none}
.event-detail-copy strong,.event-detail-copy b{font-weight:700;color:#18344c}
.event-detail-copy ul,.event-detail-copy ol{list-style-position:outside;margin:12px 0 20px;padding:0 0 0 24px}
.event-detail-copy ul{list-style-type:disc}.event-detail-copy ol{list-style-type:decimal}
.event-detail-copy li{margin:8px 0;padding-left:4px}
.event-detail-copy li::marker{color:#f15b26}
.event-detail-copy li ul,.event-detail-copy li ol{margin:8px 0 12px}
/* Imported day-by-day programs have an h3 inside each list item. */
.event-detail-copy ul:has(>li>h3),.event-detail-copy ol:has(>li>h3){list-style:none;padding:0;margin:20px 0}
.event-detail-copy li:has(>h3){margin:0 0 20px;padding:18px 22px;background:#f6f9fa;border:1px solid #e2e9ed;border-left:3px solid #f15b26;border-radius:8px}
.event-detail-copy li>h3:first-child{margin-top:0;margin-bottom:14px}
.event-detail-copy li:has(>h3) p:last-child{margin-bottom:0}
.event-detail-copy aside,.event-detail-copy blockquote{background:#fff7ed;border-left:3px solid #f15b26;border-radius:5px;padding:18px 22px;margin:28px 0;line-height:1.75}
.event-detail-copy aside p:last-child,.event-detail-copy blockquote p:last-child{margin-bottom:0}
.event-detail-copy a{color:#0b6384;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.event-detail-copy img{max-width:100%;height:auto;border-radius:6px}
.event-detail-copy .tour-copy-table{max-width:100%;overflow-x:auto;border:1px solid #dce5eb;border-radius:8px;margin:20px 0 28px}
.event-detail-copy .tour-copy-table:focus-visible{outline:2px solid #0b6384;outline-offset:3px}
.event-detail-copy table{display:table;width:100%;max-width:100%;border-collapse:collapse;border-spacing:0;margin:0;border:0;font-size:14px;line-height:1.55}
.event-detail-copy td,.event-detail-copy th{padding:13px 16px;vertical-align:top;border:1px solid #dce5eb;min-width:120px}
.event-detail-copy th,.event-detail-copy tr:first-child:has(strong){background:#eaf1f5;color:#0b294a;font-weight:700}
.event-detail-copy tr:nth-child(even){background:#f8fafb}
.event-detail-copy td p,.event-detail-copy th p{margin:0}
.event-detail-copy dl{margin:16px 0}.event-detail-copy dt{font-weight:700;color:#0b294a;margin-top:12px}.event-detail-copy dd{margin:4px 0 12px}
.event-detail-meta{overflow-wrap:break-word}

/* Plain navigation links share the row with the tour request. */
.event-page .event-tour-nav{display:inline-flex;align-items:center;gap:10px;max-width:100%;min-height:44px;box-sizing:border-box;padding:4px 0;border:0;border-radius:0;background:transparent;color:#0b294a;font-family:Arial,Helvetica,sans-serif;font-size:15px;font-weight:600;line-height:1.45;text-decoration:none;touch-action:manipulation}
.event-tour-nav>span:not(.event-tour-nav-icon){min-width:0;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:#a5b5c1;text-decoration-thickness:1px;text-underline-offset:4px}
.event-tour-nav-icon{display:inline-flex;align-items:center;flex:0 0 24px;width:24px;height:24px;color:inherit}
.event-tour-nav-icon svg{display:block;width:24px;height:24px}
.event-page .event-tour-nav:hover{color:#d44b1b}
.event-tour-nav:hover>span:not(.event-tour-nav-icon){text-decoration-color:currentColor}
.event-detail-page .event-detail-actions{flex-wrap:nowrap;gap:20px 24px}
.event-detail-actions .event-tour-back{flex:0 1 auto;min-width:0}
.event-detail-actions .event-button,.event-detail-actions .event-phone{flex-shrink:0}
.event-detail-actions .event-phone{white-space:nowrap}
@media(max-width:767px){.event-dialog-cta .event-tour-forward{width:100%}.event-detail-page .event-detail-actions{flex-wrap:wrap;gap:12px 20px}}

.tour-calendar{--calendar-columns:3;--calendar-visible-columns:3;--calendar-month-width:286px;--calendar-gap:24px;--calendar-padding:26px;width:100%;max-width:max(600px,calc(var(--calendar-visible-columns)*var(--calendar-month-width) + (var(--calendar-visible-columns) - 1)*var(--calendar-gap) + 2*var(--calendar-padding) + 2px));box-sizing:border-box;background:#fff;border:1px solid #dfe8ec;border-radius:12px;margin:24px 0;padding:var(--calendar-padding);color:#253443;font-family:Arial,Helvetica,sans-serif;scroll-margin-top:210px}
.tour-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:8px}
.tour-calendar-header h2{font-family:inherit;font-size:25px;line-height:1.3;font-weight:700;color:#0b294a;margin:0;padding:0}
.tour-calendar-controls{display:flex;gap:8px;flex-shrink:0}
.tour-calendar button{font-family:inherit;cursor:pointer}
.tour-calendar-controls button{display:grid;place-items:center;border:1px solid #d9e3ea;border-radius:9px;background:#fff;color:#0b294a;width:38px;height:38px;padding:0;font-size:28px;line-height:1}
.tour-calendar-controls button:hover:enabled{background:#edf4f6;border-color:#98b6c5}
.tour-calendar-controls button:disabled{opacity:.35;cursor:default}
.tour-calendar-hint{font-size:14px;color:#657485;line-height:1.6;margin:0 0 22px}
.tour-calendar-months{display:grid;grid-auto-flow:column;grid-auto-columns:min(var(--calendar-month-width),calc((100% - 48px)/3));gap:var(--calendar-gap);overflow-x:auto;padding-bottom:12px;scroll-snap-type:x proximity}
.tour-calendar-ready .tour-calendar-months{grid-auto-flow:row;grid-auto-columns:auto;justify-content:center;overflow:visible}
.tour-calendar-month{min-width:0;width:100%;max-width:var(--calendar-month-width);scroll-snap-align:start;position:relative}
.tour-calendar-month:before{content:"";position:absolute;left:-12px;top:0;bottom:0;border-left:1px solid #e4eaf0}
.tour-calendar-month:first-child:before,.tour-calendar-month.is-first-visible:before{display:none}
.tour-calendar-month h3{font-family:inherit;font-size:15px;font-weight:700;line-height:1.4;text-align:center;margin:0 0 16px;padding:0;color:#253443}
.tour-calendar-weekdays,.tour-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.tour-calendar-weekdays{color:#718294;font-size:12px;margin-bottom:8px}
.tour-calendar-day{display:grid;place-items:center;min-width:0;height:36px;min-height:36px;aspect-ratio:auto;border:1px solid transparent;border-radius:9px;padding:0;font-size:13px;line-height:1;font-style:normal;font-weight:400;text-decoration:none}
.tour-calendar .is-available{background:#f0f4f6;color:#18344c}
.tour-calendar .is-unavailable{background:transparent;color:#8693a1}
.tour-calendar button.is-available:hover{background:#ffeadf;border-color:#f15b26}
.tour-calendar .is-today{border:1px solid #f15b26;color:#d24816}
.tour-calendar .is-selected,.tour-calendar button.is-selected:hover{background:#f15b26;color:#fff;border-color:#f15b26;font-weight:700}
.tour-calendar button:focus-visible{outline:3px solid #0b6384;outline-offset:2px}
.tour-calendar-legend{display:flex;gap:12px 20px;flex-wrap:wrap;border-top:1px solid #e1e8ee;margin-top:10px;padding-top:16px;font-size:12px;line-height:1.4}
.tour-calendar-legend>span{display:flex;align-items:center;gap:7px}
.tour-calendar-legend i{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;font-style:normal;border:1px solid transparent}
.tour-calendar-legend .is-today{border-color:#f15b26}
.tour-calendar-selection{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;margin-top:14px}
.tour-calendar-selection p{font-size:14px;line-height:1.6;margin:0;color:#43576a}
.tour-calendar-clear{border:0;padding:4px 0;background:transparent;font-size:13px;color:#0b6384;text-decoration:underline;text-underline-offset:3px}
.tour-calendar-request{margin-top:16px;padding:12px 22px!important;font-size:14px!important}
.tour-calendar [hidden],.event-request [hidden]{display:none!important}
.event-request-date{background:#fff;border:1px solid #d9e4e8;border-radius:6px;padding:12px 16px;margin:14px 0;color:#18344c;font-size:15px;line-height:1.6}
.event-dialog .event-request{scroll-margin-top:64px}
@media(max-width:1023px){.tour-calendar{scroll-margin-top:140px}}
@media(max-width:767px){
 .tour-calendar{--calendar-columns:2;--calendar-gap:20px;--calendar-padding:20px}.tour-calendar-months{grid-auto-columns:min(var(--calendar-month-width),calc((100% - 20px)/2))}.tour-calendar-month:before{display:none}
 .event-detail-copy{font-size:15px;line-height:1.75}.event-detail-copy h2{font-size:23px}.event-detail-copy h3{font-size:18px}.event-detail-copy li:has(>h3){padding:16px}
 .event-detail-copy td,.event-detail-copy th{padding:11px 12px}
}
@media(max-width:560px){
 .tour-calendar{--calendar-columns:1;--calendar-gap:16px;--calendar-padding:16px;padding:18px var(--calendar-padding);border-radius:9px}.tour-calendar-header h2{font-size:22px}.tour-calendar-months{grid-auto-columns:min(var(--calendar-month-width),100%)}
 .tour-calendar-day{min-height:36px;max-height:42px;aspect-ratio:auto;font-size:14px}.tour-calendar-month h3{font-size:16px}.tour-calendar-weekdays{font-size:13px}
 .tour-calendar-legend{gap:10px 14px}.tour-calendar-hint{font-size:13px}.tour-calendar-request{width:100%}
 .event-detail-copy section,.event-detail-copy aside{margin:26px 0}.event-detail-copy h2{font-size:22px}.event-detail-copy ul,.event-detail-copy ol{padding-left:21px}
}
@media(prefers-reduced-motion:reduce){.tour-calendar-months{scroll-behavior:auto}}
.tour-related table{min-width:640px;table-layout:fixed}
.tour-related th:nth-child(1){width:32%}
.tour-related th:nth-child(2){width:22%}
.tour-related th:nth-child(3){width:46%}
