.garnet-catalogue { scroll-margin-top: 7rem; }
.garnet-catalogue .jarchive__intro-h2 { font-size: 2rem; letter-spacing: 0; }
.garnet-catalogue .jarchive__intro-eyebrow,
.garnet-catalogue .jarchive__moods > span,
.garnet-catalogue .jf-select label,
.garnet-catalogue .tripcard__days { letter-spacing: 0; }
.garnet-catalogue .catalogue-controls,
.garnet-catalogue .catalogue-filter-form { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 1rem; min-width: 0; }
.garnet-catalogue .jf-select { min-width: 0; max-width: 100%; }
.garnet-catalogue .jf-select select { max-width: 100%; border-radius: 8px; }
.garnet-catalogue .catalogue-reset { color: var(--garnet-red); font-size: .85rem; padding: .6rem 0; }
.garnet-catalogue .catalogue-apply { padding: .6rem 1rem; border: 0; border-radius: 8px; background: var(--garnet-red); color: #fff; font: inherit; cursor: pointer; }
.garnet-catalogue .has-auto-submit .catalogue-apply { display: none; }
.garnet-catalogue .tripcard { display: flex; flex-direction: column; height: 100%; }
.garnet-catalogue .tripcard__img { flex-shrink: 0; }
.garnet-catalogue .tripcard__body { display: flex; flex: 1; flex-direction: column; gap: .7rem; }
.garnet-catalogue .tripcard__name { overflow-wrap: anywhere; }
.garnet-catalogue .tripcard__foot { margin-top: auto; flex-wrap: wrap; gap: .3rem .6rem; }
.garnet-catalogue .tripcard__badge { max-width: calc(100% - 1rem); white-space: normal; overflow-wrap: anywhere; letter-spacing: 0; }
.garnet-catalogue .tripcard__cta { display: block; text-align: center; border: 0; border-radius: 8px; padding: .65rem .8rem; background: var(--garnet-red); color: #fff; font: inherit; font-size: .8rem; font-weight: 700; cursor: pointer; transition: background .15s; }
.garnet-catalogue a.tripcard:hover .tripcard__cta,
.garnet-catalogue .tripcard__cta:hover,
.garnet-catalogue .tripcard__cta:focus-visible,
.garnet-catalogue .catalogue-apply:hover { background: var(--garnet-secondary, #2271b3); color: #fff; }
.garnet-catalogue .catalogue-price-suffix { font-size: .75rem; color: var(--muted); }
.garnet-catalogue .catalogue-empty { padding: 2rem 0; color: var(--muted); }
.garnet-catalogue :is(a, button, select):focus-visible { outline: 2px solid var(--garnet-secondary, #2271b3); outline-offset: 3px; }
@media (max-width: 600px) {
  .garnet-catalogue .jarchive__intro-h2 { font-size: 1.5rem; }
  .garnet-catalogue .jarchive__grid { grid-template-columns: 1fr; }
  .garnet-catalogue .catalogue-controls { width: 100%; }
  .garnet-catalogue .catalogue-filter-form { width: 100%; }
  .garnet-catalogue .jf-select { width: 100%; }
}
