.itinerary-page{color:#003a70;padding:20px 0 40px}.itinerary-title-row{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.itinerary-title-row h1{font-family:var(--font-display),sans-serif;margin:0 0 12px;font-size:48px;line-height:1.15}.itinerary-date{background:#f1eee4;border:1px solid #e4ded2;border-radius:20px;align-items:center;gap:8px;padding:7px 12px;font-size:13px;display:inline-flex}.itinerary-summary{color:#5f6670;margin-top:10px;font-size:13px}.itinerary-layout{grid-template-columns:minmax(0,520px) minmax(0,1fr);align-items:start;gap:28px;display:grid}.itinerary-list-column{min-width:0}.itinerary-page button,.itinerary-event-action button,.itinerary-date-dialog button{cursor:pointer;min-height:44px}.itinerary-page button:disabled,.itinerary-event-action button:disabled,.itinerary-date-dialog button:disabled{cursor:default;opacity:.48}.itinerary-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.itinerary-actions>a,.itinerary-actions>button,.itinerary-primary{border:1px solid #e4ded2;border-radius:30px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 17px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.itinerary-primary{background:#003a70;color:#fff!important;border-color:#003a70!important}.itinerary-primary:hover{background:#174e81;text-decoration:none}.itinerary-primary.is-added{background:#fff;color:#003a70!important}.itinerary-event-action{margin:0}.itinerary-event-action>.itinerary-event-button{width:100%;min-height:52px}.itinerary-event-action>p{margin-top:8px;font-size:12px}.itinerary-event-action a{text-decoration:underline}.itinerary-date-dialog label{gap:8px;margin:14px 0;display:grid}.itinerary-date-dialog input,.itinerary-date-dialog select{color:#003a70;background:#fff;border:1px solid #e4ded2;border-radius:12px;min-height:44px;padding:8px 12px}.itinerary-muted{color:#5f6670;font-size:12px;line-height:1.6}.itinerary-hint{background:#efebdc;border-radius:12px;margin-bottom:20px;padding:12px 16px;font-size:13px}.itinerary-modes{background:#edeade;border:1px solid #e4ded2;border-radius:30px;margin-bottom:20px;padding:4px;display:flex}.itinerary-modes button{white-space:nowrap;border-radius:24px;flex:1;justify-content:center;align-items:center;gap:6px;padding:6px;font-size:12px;display:flex}.itinerary-modes button[aria-pressed=true]{color:#fff;background:#003a70}.itinerary-stops{margin:0;padding:0;list-style:none}.itinerary-stop{background:#fff;border:1px solid #e4ded2;border-radius:12px;align-items:center;gap:10px;min-height:102px;padding:14px 10px;display:flex}.itinerary-stop.is-new{scroll-margin-block:110px;animation:1.5s ease-out itinerary-stop-added}@keyframes itinerary-stop-added{0%{background:#efebdc}to{background:#fff}}@media (prefers-reduced-motion:reduce){.itinerary-stop.is-new{background:#efebdc;animation:none}}.itinerary-stop.is-cancelled{background:#fff5f3;border-color:#b43132}.itinerary-number{color:#fff;background:#003a70;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid}.itinerary-stop img{object-fit:cover;border-radius:8px;flex-shrink:0;width:52px;height:52px}.itinerary-stop-copy{flex:1;min-width:0}.itinerary-stop-copy>a,.itinerary-stop-copy>strong{font-size:13px;font-weight:600;line-height:1.5;display:block}.itinerary-stop-copy p,.itinerary-stop-copy small{color:#5f6670;margin-top:4px;font-size:11px;line-height:1.6;display:block}.itinerary-stop-copy select,.itinerary-candidate select{background:#fff;border:1px solid #e4ded2;border-radius:8px;max-width:100%;min-height:44px;font-size:12px}.itinerary-remove{border:1px solid #e4ded2;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.itinerary-reorder{flex-shrink:0;width:22px;position:relative}.itinerary-drag{touch-action:none;color:#5f6670;place-items:center;width:44px;margin-left:-11px;display:grid;cursor:grab!important}.itinerary-drag:active{cursor:grabbing!important}.itinerary-leg{color:#5f6670;border-left:2px dotted #b7b8af;flex-wrap:wrap;align-items:center;gap:7px;margin:9px 0 9px 35px;padding:9px 12px;font-size:11px;line-height:1.6;display:flex}.itinerary-leg:empty{min-height:12px;padding-block:0}.itinerary-status{color:#9b2829;background:#fff5f3;border:1px solid #b43132;border-radius:15px;margin-top:5px;padding:2px 8px;font-size:10px;display:inline-block}.itinerary-add-row{border:1px dashed #003a70;border-radius:12px;justify-content:center;align-items:center;gap:9px;width:100%;margin-top:16px;padding:14px;font-size:12px;display:flex}.itinerary-suggestions{margin-top:26px}.itinerary-suggestions h2{font-size:14px;font-weight:600}.itinerary-candidate{border-bottom:1px solid #e4ded2;align-items:center;gap:10px;padding:12px 0;display:flex}.itinerary-candidate img{object-fit:cover;border-radius:7px;flex-shrink:0;width:44px;height:44px}.itinerary-candidate>div{flex:1;min-width:0}.itinerary-candidate strong{font-size:12px;font-weight:600;line-height:1.5;display:block}.itinerary-candidate p{color:#5f6670;margin-top:3px;font-size:11px}.itinerary-candidate>button{background:#fff;border:1px solid #e4ded2;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.itinerary-candidate.is-added{opacity:.6}.itinerary-reason{color:#003a70;background:#eaf0f6;border-radius:5px;margin-top:5px;padding:3px 6px;font-size:10px;line-height:1.6;display:inline-block}.itinerary-search{background:#fff;border:1px solid #e4ded2;border-radius:16px;margin-top:18px;padding:16px}.itinerary-search>header{align-items:center;gap:8px;display:flex}.itinerary-search>header>label{border:1px solid #e4ded2;border-radius:24px;flex:1;align-items:center;gap:8px;min-width:0;min-height:44px;padding:0 12px;display:flex}.itinerary-search input{color:#003a70;background:0 0;outline:none;width:100%;min-width:0;font-size:13px}.itinerary-search>header>button{place-items:center;width:44px;display:grid}.itinerary-search h2{letter-spacing:.08em;text-transform:uppercase;color:#5f6670;margin:16px 0 4px;font-size:10px;font-weight:700}.itinerary-search>.itinerary-muted{margin-top:14px}.itinerary-filters{gap:6px;margin-top:12px;padding-bottom:5px;display:flex;overflow-x:auto}.itinerary-filters button{text-overflow:ellipsis;white-space:nowrap;border:1px solid #e4ded2;border-radius:25px;flex-shrink:0;max-width:240px;padding:6px 12px;font-size:11px;overflow:hidden}.itinerary-filters button[aria-pressed=true]{color:#fff;background:#003a70;border-color:#003a70}.itinerary-candidates{max-height:440px;overflow-y:auto}.itinerary-map-panel{background:#f1eee4;border:1px solid #e4ded2;border-radius:16px;min-height:740px;position:sticky;top:90px}.itinerary-map-canvas{border-radius:16px 16px 0 0;height:660px;overflow:hidden}.itinerary-map-caption{pointer-events:none;background:#fff;border:1px solid #e4ded2;border-radius:30px;max-width:calc(100% - 24px);padding:9px 13px;font-size:11px;position:absolute;top:12px;left:12px}.itinerary-map-link{background:#fff;border:1px solid #e4ded2;border-radius:30px;align-items:center;gap:6px;min-height:44px;padding:10px 14px;font-size:12px;font-weight:600;display:flex;position:absolute;top:596px;right:14px;box-shadow:0 2px 12px #003a7014}.itinerary-map-note{color:#5f6670;padding:12px 15px;font-size:11px;line-height:1.6}.itinerary-provider-warnings{color:#5f6670;padding:0 15px 12px;font-size:11px}.itinerary-map-fallback{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:15px;font-size:13px;display:flex;position:absolute;inset:70px 24px 130px}.itinerary-leg-links{margin-top:24px;font-size:12px}.itinerary-leg-links summary{cursor:pointer;align-items:center;min-height:44px;text-decoration:underline;display:flex}.itinerary-leg-links p{color:#5f6670;font-size:11px}.itinerary-leg-links a{align-items:center;gap:5px;min-height:44px;text-decoration:underline;display:flex}.itinerary-empty{text-align:center;background:#fff;border:1px solid #e4ded2;border-radius:18px;flex-direction:column;align-items:center;gap:18px;padding:70px 20px;display:flex}.itinerary-empty h2{font-size:24px;font-weight:600}.itinerary-empty p{max-width:480px;font-size:14px;line-height:1.7}.itinerary-mobile-actions{display:none}.itinerary-save-note{margin-top:26px}.itinerary-toast{z-index:85;color:#fff;overflow-wrap:anywhere;background:#003a70;border-radius:14px;align-items:center;gap:12px;width:max-content;max-width:min(560px,100vw - 32px);padding:8px 16px;font-size:12px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #0003}.itinerary-toast button{color:#fff;min-width:44px;text-decoration:underline}.itinerary-search-backdrop{display:none}.itinerary-page :focus-visible,.itinerary-event-action :focus-visible{outline-offset:3px;outline:2px solid #003a70}.site-main .itinerary-page .itinerary-search input:focus,.site-main .itinerary-page .itinerary-search input:focus-visible{box-shadow:none;outline:none}.itinerary-search>header>label:has(input:focus-visible){border-color:#003a70;box-shadow:0 0 0 1px #003a70}@media (max-width:1100px) and (min-width:768px){.itinerary-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.itinerary-stop{gap:6px}.itinerary-stop img{width:38px;height:38px}.itinerary-title-row{align-items:flex-start}.itinerary-desktop-actions .itinerary-actions{justify-content:flex-end}}@media (max-width:1023px){.itinerary-toast{bottom:calc(164px + env(safe-area-inset-bottom))}}@media (max-width:767px){.itinerary-page{padding-top:6px}.itinerary-title-row{margin-bottom:18px}.itinerary-title-row h1{font-size:36px}.itinerary-date{font-size:11px}.itinerary-summary{font-size:12px}.itinerary-layout{flex-direction:column;gap:20px;display:flex}.itinerary-list-column{width:100%}.itinerary-map-panel{order:-1;width:100%;min-height:0;position:relative;top:auto}.itinerary-map-canvas{height:220px}.itinerary-map-link{padding:8px 10px;font-size:10px;top:154px;right:10px}.itinerary-map-caption{padding:6px 9px;font-size:10px}.itinerary-map-fallback{gap:6px;font-size:11px;inset:45px 18px 80px}.itinerary-map-note{font-size:10px}.itinerary-desktop-actions{display:none}.itinerary-mobile-actions{margin-top:24px;display:block}.itinerary-mobile-actions .itinerary-actions{flex-wrap:wrap}.itinerary-mobile-actions .itinerary-actions>*{flex:1 0 max-content;max-width:100%;padding:10px;font-size:11px}.itinerary-mobile-actions .itinerary-actions svg{flex-shrink:0}.itinerary-modes button{gap:4px;font-size:10px}.itinerary-stop{gap:7px;padding:12px 8px}.itinerary-stop img{width:44px;height:44px}.itinerary-number{width:24px;height:24px;font-size:11px}.itinerary-stop-copy>a,.itinerary-stop-copy>strong{font-size:12px}.itinerary-stop-copy p{font-size:10px}.itinerary-reorder,.itinerary-drag{width:16px}.itinerary-remove{width:44px;height:44px}.itinerary-drag{width:44px;margin-left:-14px}.itinerary-leg{margin-left:22px;font-size:10px}.itinerary-add-row{font-size:11px}.itinerary-event-action>.itinerary-primary{width:100%}.itinerary-search{z-index:81;height:min(80dvh,720px);padding:20px 16px calc(16px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;margin:0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -12px 50px #003a7022}.itinerary-search-backdrop{z-index:80;background:#003a7044;display:block;position:fixed;inset:0}.itinerary-candidates{max-height:none}.itinerary-empty{padding:45px 15px}.itinerary-empty h2{font-size:20px}}
button.save-event-button{border:1px solid var(--outline);width:44px;height:44px;color:rgb(var(--mist));background:0 0;border-radius:99px;flex:none;justify-content:center;align-items:center;gap:8px;padding:0;display:inline-flex}button.save-event-button[aria-pressed=true]{color:#b6412f;background:#fdf0ed;border-color:#c8503a}button.save-event-button:hover{color:#0b3b73;border-color:#0b3b73}button.save-event-button:focus-visible{outline-offset:2px;outline:2px solid #0b3b73}button.save-event-labeled{width:auto;height:44px;min-height:44px;padding:0 18px;font-size:14px}.map-popup-actions button.save-event-button{min-width:44px;min-height:44px}.event-secondary-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.event-secondary-actions>button{color:#0b3b73;white-space:nowrap;background:0 0;border:1px solid #d8d1c3;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:100%;min-width:0;height:54px;min-height:54px;padding:0 12px;font-size:15px;font-weight:500;display:inline-flex}.event-secondary-actions>button svg{stroke-width:1.8px;flex:none;width:20px;height:20px}.event-secondary-actions>button:hover{color:#0b3b73;background:#e4ecf6;border-color:#0b3b73}.event-secondary-actions>button:active{background:#d3e0f0}.event-detail-page .event-secondary-actions>button:focus-visible:not([data-event-focus-method=pointer]){outline-offset:2px!important;outline:2px solid #0b3b73!important}.event-secondary-actions>button[aria-pressed=true]{color:#9c3322;background:#fdf0ed;border-color:#c8503a;font-weight:600}.event-secondary-actions>button[aria-pressed=true] svg{color:#c8503a}.event-secondary-actions>button[aria-pressed=true]:hover{background:#fbe3dc}@media (max-width:319px){.event-secondary-actions{grid-template-columns:minmax(0,1fr)}}.save-heart-bounce{animation:.18s ease-out saved-heart}@keyframes saved-heart{50%{transform:scale(1.18)}}.saved-toast-region{z-index:65;pointer-events:none;max-width:min(560px,100vw - 32px);position:fixed;bottom:24px;left:24px}.saved-toast{color:#fff;pointer-events:auto;background:#0b3b73;border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px;min-height:64px;padding:10px 12px 10px 20px;font-size:14px;display:flex;box-shadow:0 4px 24px #0b3b7326}.saved-toast>svg{color:#ff9a86;flex:none}.saved-toast a,.saved-toast button{color:#fff;align-items:center;min-height:44px;font-weight:600;text-decoration:underline;display:inline-flex}.saved-toast .saved-toast-close{justify-content:center;width:44px;margin-left:auto}.saved-toast small{flex-basis:100%;padding:0 6px 6px;font-size:12px}@media (min-width:1024px){.header-controls{gap:10px}.desktop-nav{flex:none;gap:24px}.header-brand-group,.header-controls,.desktop-nav a{white-space:nowrap}}@media (max-width:1023px){.saved-toast-region{bottom:auto;top:calc(var(--site-header-height,72px) + 8px);max-width:none;left:16px;right:16px}}@media (max-width:767px){.map-popup-actions button.save-event-button{top:44px;left:48px}}@media (prefers-reduced-motion:reduce){.save-heart-bounce{animation:none}}
.hb{color:#0b3b73;cursor:pointer;background:#fff;border:1px solid #e4ded2;border-radius:50%;flex:none;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;padding:0;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex;position:relative;text-decoration:none!important}.hb>svg{fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:22px;height:22px}@media (hover:hover) and (pointer:fine){.hb:hover{color:#0b3b73;background:#e4ecf6;border-color:#0b3b73}}.hb:active{background:#d3e0f0;border-color:#0b3b73}.hb:is([aria-current=page],[aria-expanded=true]){color:#fff;background:#0b3b73;border-color:#0b3b73}@media (hover:hover) and (pointer:fine){.hb:is([aria-current=page],[aria-expanded=true]):hover{background:#0a3263}}.hb:focus-visible{outline-offset:2px;outline:2px solid #0b3b73}.hb__badge{color:#1f2a37;pointer-events:none;background:#ffd21f;border:2px solid #f6f4f0;border-radius:99px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 5px;font-size:12px;font-weight:700;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.hb--floating{display:none}@media (max-width:1023px){.global-search-trigger.hb>svg{stroke-width:2.4px;width:16px;height:16px}.itinerary-header-entry,.saved-header-entry{display:none}.hb--floating{z-index:45;right:16px;bottom:calc(max(calc(100px + env(safe-area-inset-bottom)), var(--hb-nav-offset,0px)) + var(--hb-stack-offset,0px));color:#fff;background:#0b3b73;border-color:#0b3b73;width:60px;height:60px;animation:.2s ease-out hb-enter;display:inline-flex;position:fixed;box-shadow:0 6px 16px #0b3b734d}.hb--floating[data-stacked=true]{--hb-stack-offset:72px}.hb--floating:hover{color:#fff;background:#0b3b73}.hb--floating:active{background:#0a3263}.hb--floating>svg{width:26px;height:26px}.hb--floating .hb__badge{border-color:#fff;top:-4px;right:-4px}}@keyframes hb-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hb{animation:none;transition:none!important}}
.proposal-entry-button{border:1px solid var(--brand-blue);width:280px;max-width:100%;min-height:44px;color:var(--brand-blue);background:0 0;border-radius:999px;justify-content:space-between;align-items:center;gap:16px;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.proposal-entry-button svg{flex:none}.proposal-entry-button:hover{background:var(--surface-soft,#f1efe9)}.proposal-entry-inline{text-underline-offset:3px;align-items:center;gap:8px;margin-top:18px;font-size:13px;text-decoration:underline;display:inline-flex}.proposal-contact-link{text-underline-offset:3px;margin-top:14px;font-size:13px;text-decoration:underline;display:block}.proposal-contact-redirect{margin-top:12px}.proposal-contact-redirect a{font-weight:600;text-decoration:underline}.calendar-organizer .proposal-entry-button{width:100%}.proposal-empty-entry{color:var(--brand-blue);margin-top:24px}.proposal-empty-entry p{margin-bottom:14px;font-size:16px;font-weight:600}.venue-proposal-empty:has(.proposal-empty-entry-venue){grid-template-columns:minmax(0,1fr) 260px;column-gap:24px;display:grid}.venue-proposal-empty>p{grid-column:1}.proposal-empty-entry-venue{display:contents}.proposal-empty-entry-venue p{grid-column:1;margin-top:14px;margin-bottom:0}.proposal-empty-entry-venue .proposal-entry-button{grid-area:1/2/3;align-self:center;width:260px}.proposal-about{grid-template-columns:minmax(0,1fr) 290px;align-items:center;gap:32px;padding:32px;scroll-margin-top:100px;display:grid}.proposal-eyebrow{color:var(--brand-terracotta,#b74630);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:600}.proposal-about h2{margin:8px 0 12px;font-size:24px;font-weight:600}.proposal-about p{line-height:1.6}.proposal-about-steps{flex-wrap:wrap;gap:20px;margin-top:18px;font-size:13px;font-weight:600;display:flex}.proposal-about-steps li{align-items:center;gap:10px;display:flex}.proposal-about-steps span{background:var(--brand-blue);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.proposal-about-action .action-primary{border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:56px;padding:12px 20px;font-size:16px;font-weight:600;display:flex}.proposal-about-action p{text-align:center;margin-top:12px;font-size:13px}@media (max-width:767px){.proposal-entry-button{width:100%;min-height:48px}.proposal-empty-entry-venue{display:block}.venue-proposal-empty:has(.proposal-empty-entry-venue){display:block}.proposal-empty-entry-venue p{margin-bottom:14px}.proposal-empty-entry-venue .proposal-entry-button{width:100%}.proposal-about{padding:24px;display:block}.proposal-about-steps{display:none}.proposal-about-action{margin-top:24px}}
