.side-trip-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.side-trip-controls .field{min-width:0}
.side-trip-controls input,.side-trip-controls select{width:100%;min-width:0}
.side-trip-filter-help{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:.75rem 0 1rem}
.side-trip-filter-help p{margin:0;max-width:58rem}
.side-trip-filter-help button{border:2px solid #000;background:#fff;padding:.5rem .75rem;font:inherit;font-weight:800;cursor:pointer}
.side-trip-filter-help button:hover,.side-trip-filter-help button:focus-visible{background:#ffb703}
.side-trip-filter-status{padding:.4rem .55rem;font-size:.85rem;font-weight:800;border-left:6px solid #ffb703;background:#fff5cf}
.side-trip-filter-status.unknown{border-left-color:#e63946;background:#ffe9ec}
.side-trip-group{margin:2.5rem 0 3rem}
.side-trip-group h2{border-left:12px solid #219ebc;padding-left:.75rem}
.side-trip-group:nth-of-type(3n+2) h2{border-color:#ffb703}
.side-trip-group:nth-of-type(3n) h2{border-color:#e63946}
.side-trip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.3rem}
.side-trip-card{display:flex;flex-direction:column;border:4px solid #000;background:#fff;padding:1.1rem;box-shadow:7px 7px 0 #219ebc}
.side-trip-card:nth-child(3n+2){box-shadow-color:#ffb703}
.side-trip-card:nth-child(3n){box-shadow-color:#e63946}
.side-trip-card h3{margin:.2rem 0;font-size:1.35rem}
.side-trip-card p{margin:.5rem 0}
.side-trip-travel-badge{margin:.35rem 0 .65rem}
.side-trip-travel-badge .status{display:inline-block;background:#ffb703;border:2px solid #000;padding:.25rem .55rem;font-size:.84rem;font-weight:800;line-height:1.3}
.side-trip-card .button{align-self:flex-start;margin-top:auto}
.side-trip-tag{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
#side-trip-detail{scroll-margin-top:1rem}
#side-trip-detail h2{overflow-wrap:anywhere}
.side-trip-date-form{border:4px solid #000;background:#eef9fc;padding:1rem;max-width:650px}
.side-trip-date-form label{display:block;font-weight:900;margin-bottom:.4rem}
.side-trip-date-form input{min-height:48px;border:3px solid #000;background:#fff;padding:.5rem;font:inherit}
.side-trip-date-form p{margin:.6rem 0 0}
.side-trip-quick{margin:1rem 0}
.side-trip-quick strong{display:block;margin-bottom:.5rem}
.side-trip-quick div{display:flex;flex-wrap:wrap;gap:.5rem}
.side-trip-quick button{border:2px solid #000;background:#fff;padding:.45rem .65rem;cursor:pointer;font:inherit;font-weight:800}
.side-trip-quick button:hover,.side-trip-quick button[aria-pressed=true]{background:#ffb703}
.side-trip-quick small{display:block;margin-top:.6rem}
.side-trip-state{border:3px solid #000;border-left:12px solid #219ebc;background:#eef9fc;padding:.8rem}
.side-trip-state.maybe{border-left-color:#ffb703;background:#fff5cf}
.side-trip-state.no{border-left-color:#e63946;background:#ffe9ec}
.side-trip-itinerary{border-top:6px solid #000;margin-top:1.4rem;padding-top:1rem}
.side-trip-itinerary h3,.side-trip-booking h3{margin:.2rem 0 .4rem;font-size:1.5rem}
.side-trip-table-wrap{overflow-x:auto;margin:1rem 0}
.side-trip-table{width:100%;border-collapse:collapse;min-width:780px;background:#fff}
.side-trip-table th,.side-trip-table td{border:2px solid #000;padding:.6rem;text-align:left;vertical-align:top}
.side-trip-table th{background:#219ebc}
.side-trip-table small{display:block;margin-top:.25rem}
.side-trip-section{margin:1.2rem 0}
.side-trip-section h4{margin:0}
.side-trip-section ul{margin:.4rem 0}
.side-trip-booking{border:4px solid #000;background:#fff;margin:1.5rem 0;padding:1rem;box-shadow:6px 6px 0 #ffb703}
.side-trip-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.side-trip-actions .button{font-size:.9rem;text-align:center}
@media(max-width:900px){.side-trip-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.side-trip-controls{grid-template-columns:1fr}.side-trip-card{box-shadow:5px 5px 0 #219ebc}.side-trip-date-form input{width:100%}}

.side-trip-date-form select{min-height:48px;border:3px solid #000;background:#fff;padding:.5rem;font:inherit;max-width:100%}
.itinerary-actions{margin:1.2rem 0 1.6rem;padding:1.1rem 1.3rem;border:2px solid #1784b2;border-radius:12px;background:#eaf5fa;color:#152b3b}
.itinerary-actions p{margin:.1rem 0 .8rem}
.itinerary-action-buttons,.itinerary-saved-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}
.itinerary-saved-row{margin-top:1rem;border-top:1px solid #bbd6e4;padding-top:.85rem}
.itinerary-saved-row label{font-weight:700}
.itinerary-saved-row select{max-width:100%;min-width:min(100%,20rem);padding:.5rem}
.itinerary-saved-row button{border:1px solid #0b5576;border-radius:6px;background:#fff;color:#0b4767;padding:.45rem .8rem;cursor:pointer}
.itinerary-actions button:disabled{opacity:.5;cursor:not-allowed}
.itinerary-action-status{font-weight:700;min-height:1.2em}
.itinerary-email-dialog{border:2px solid #1484b2;border-radius:12px;max-width:min(92vw,31rem);padding:1.5rem;color:#152b3b}
.itinerary-email-dialog::backdrop{background:#061b2ac9}
.itinerary-email-dialog label{display:block;font-weight:700;margin:.8rem 0}
.itinerary-email-dialog input[type=email]{display:block;box-sizing:border-box;width:100%;padding:.65rem;margin-top:.35rem}
.itinerary-email-dialog .dialog-close{float:right;border:0;background:transparent;font-size:1.8rem;cursor:pointer}
.itinerary-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
