/* Blue Mountain cards: readable content, stable footers, right-aligned actions. */
.tour-card-link { display: flex; flex: 1; flex-direction: column; min-width: 0; color: inherit; text-decoration: none; }
.tour-card-content { min-width: 0; }
.tour-card-content .eyebrow { line-height: 1.5; }
.tour-card-footer { margin-top: auto; padding: 0 1.2rem 1.1rem; }
.tour-card-footer .tour-meta { min-height: 0; margin: 0; padding: 0 0 .8rem; border: 0; gap: .4rem 1rem; font-size: .75rem; }
.tour-card-rate { margin-inline-start: auto; }
.card-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .5rem .75rem; padding-top: .85rem; border-top: 1px solid var(--bms-line); }
.card-detail-link { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; color: var(--bms-blue); font-size: .75rem; font-weight: 600; line-height: 1.4; text-decoration: none; }
.card-actions > .card-detail-link { margin-inline-end: auto; }
.card-quote-link { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; max-width: 100%; padding: .65rem .8rem; border: 1px solid transparent; border-radius: .45rem; background: var(--bms-blue); color: #fff; font-family: 'Inter', sans-serif; font-size: .75rem; font-weight: 600; line-height: 1.4; text-align: center; text-decoration: none; white-space: nowrap; transition: background-color .18s ease, border-color .18s ease; }
.card-quote-link svg { flex: 0 0 15px; width: 15px; height: 15px; }
.card-quote-link:hover { background: var(--bms-navy); color: #fff; }
.card-detail-link:hover, .departure-quote-link:hover { color: var(--bms-navy); text-decoration: underline; text-underline-offset: 4px; }
.tour-card-link:focus-visible, .card-quote-link:focus-visible, .card-detail-link:focus-visible, .departure-quote-link:focus-visible { outline: 3px solid var(--bms-gold); outline-offset: 3px; }
.tour-card-link:focus-visible { outline-offset: -3px; }
.price-option-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.price-option { min-width: 0; }
.price-option .price-option-actions { margin-top: auto; padding-top: 1rem; }
.tour-quote-summary { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; padding-block: .6rem; font-size: .8rem; }
.tour-quote-summary strong { margin-inline-start: auto; color: var(--bms-blue); text-align: end; font-weight: 600; }
.tour-quote-actions { display: flex; flex-direction: column; align-items: flex-end; gap: .25rem; margin-top: .35rem; }
.tour-quote-actions .card-detail-link { min-height: 44px; text-align: end; }
.tour-departure-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .25rem .75rem; padding-block: .4rem; }
.departure-quote-link { display: inline-flex; align-items: center; justify-content: flex-end; min-height: 44px; margin-inline-start: auto; color: var(--bms-blue); font-size: .75rem; font-weight: 600; text-align: end; white-space: nowrap; }
.departure-card-footer { flex-wrap: wrap; align-items: center; gap: .6rem; padding-top: .85rem; }
.departure-card-footer > strong { font-family: 'Inter', sans-serif; font-size: .75rem; font-weight: 500; }
.departure-card-footer .card-quote-link { margin-inline-start: auto; }
.pack-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .5rem .75rem; margin: auto 1rem 0; padding-top: .85rem; border-top: 1px solid var(--bms-line); }
.pack-actions > span { margin-inline-end: auto; color: var(--bms-muted); font-size: .75rem; }
.pack-heading > div { min-width: 0; }
.pack-heading .eyebrow { line-height: 1.5; overflow-wrap: anywhere; }
.dark .card-actions, .dark .pack-actions { border-color: rgba(255,255,255,.1); }
.dark .card-detail-link, .dark .departure-quote-link, .dark .tour-quote-summary strong { color: var(--bms-cyan); }
.dark .card-quote-link { background: var(--bms-gold); color: var(--bms-navy); }
.dark .card-quote-link:hover { background: #f6c76d; color: var(--bms-navy); }
.dark .card-detail-link:hover, .dark .departure-quote-link:hover { color: #fff; }
.dark .pack-actions > span { color: rgba(255,255,255,.7); }
footer a[href^="mailto:"] { overflow-wrap: anywhere; }
@media (max-width: 1023px) { .filter-panel { position: static; } }
@media (prefers-reduced-motion: reduce) { .card-quote-link { transition: none; } }
