/* Favorites are a quiet secondary action; the trip-planning action stays primary. */
.favorite-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:0 0 auto;min-height:30px;min-width:36px;padding:4px 7px;border:1px solid transparent;border-radius:8px;background:transparent;color:#526478;font:inherit;font-size:.74rem;font-weight:700;line-height:1.2;white-space:nowrap;cursor:pointer}
.favorite-toggle::before{content:"";position:absolute;inset:-7px 0}
.favorite-toggle:hover{background:#f4f0e5;border-color:#d8cba9;color:#173553}
.favorite-toggle[aria-pressed="true"]{color:#795400;background:#fff5d4;border-color:#e6ca80}
.favorite-toggle[aria-pressed="true"] .favorite-heart{fill:#e4ad24;stroke:#a47200}
.favorite-heart{display:block;flex:0 0 18px;width:18px;height:18px}
.favorite-toggle:focus-visible{outline:3px solid #b37800;outline-offset:3px}
.favorite-toggle:disabled{opacity:.55;cursor:wait}
.favorite-label{min-width:4.5em;text-align:left}
.stop-name-line,.day-trip-title-line,.stop-panel-title-line,.destination-title-line{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.restaurant-row>.stop-name-line{flex:1 1 100%}
.airport-group .stop-name-line>b{min-width:0;flex:1;font-size:1.25rem;line-height:1.3;margin:0}
.stop-panel-title-line h2,.destination-title-line h1,.day-trip-title-line h3{min-width:0;flex:1}
.stop-panel-title-line{margin:15px 0 10px}
.stop-panel-heading .stop-panel-title-line h2{margin:0}
.saved-places-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.saved-places-intro p{margin:7px 0 0;line-height:1.5}
.saved-place-filters{display:flex;gap:6px;flex:0 0 auto;padding:5px;border:1px solid #c5d1df;border-radius:12px;background:#fff}
.saved-place-filters button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:#233e5b;font-size:.85rem;font-weight:700;white-space:nowrap}
.saved-place-filters button span{font-size:.8em;min-width:1.4em}
.saved-place-filters button[aria-pressed="true"]{background:#132e50;color:#fff;border-color:#132e50}
.saved-place-filters button[data-saved-filter="favorites"][aria-pressed="true"]{background:#fff3ce;border-color:#d9bc6c;color:#674600}
.saved-place-filters button:focus-visible{outline:3px solid #b37800;outline-offset:3px}
@media(max-width:700px){.saved-places-intro{align-items:flex-start;flex-direction:column;gap:14px}.saved-place-filters{width:100%}.saved-place-filters button{flex:1}.destination-title-line{align-items:flex-start}.destination-title-line .favorite-toggle{margin-top:15px}}
@media(max-width:480px){.stop-name-line,.day-trip-title-line,.stop-panel-title-line{gap:7px}.stop-name-line .favorite-toggle,.day-trip-title-line .favorite-toggle{padding:4px;min-width:32px}.stop-name-line .favorite-label,.day-trip-title-line .favorite-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;min-width:0}.airport-group .stop-name-line>b{font-size:1.13rem}}
@media print{.favorite-toggle,.saved-place-filters{display:none!important}}
