/* Shared, lightweight trip discovery. Existing brand and booking styles stay intact. */
.discovery-controls[hidden], .hero-trust[hidden], .homepage-discovery-panel[hidden] { display: none; }
.homepage-discovery-panel { margin: 26px 0 22px; }
.homepage-discovery-panel summary { cursor: pointer; padding: 12px 16px; min-height: 44px; border: 1px solid #cbd9cf; border-radius: 10px; color: var(--primary); background: white; font-size: .9rem; font-weight: 600; }
.homepage-discovery-panel summary:focus-visible { outline: 3px solid var(--secondary); outline-offset: 3px; }
.homepage-discovery-panel .discovery-controls { margin: 10px 0 0; }
@media (min-width: 601px) { .homepage-discovery-panel summary { display: none; } }
.discovery-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 14px; padding: 22px; margin: 26px 0 22px; border: 1px solid #dce7df; border-radius: 16px; background: #fff; box-shadow: 0 6px 24px #163d2710; text-align: left; }
.discovery-field { display: flex; flex: 1 1 190px; min-width: 0; flex-direction: column; gap: 7px; color: var(--primary-dark); font-size: .85rem; font-weight: 600; }
.discovery-field input, .discovery-field select { width: 100%; min-width: 0; min-height: 46px; border: 1px solid #cbd9cf; border-radius: 8px; background: white; color: #22352a; padding: 10px 12px; font: inherit; font-weight: 400; }
.discovery-reset { min-height: 44px; border: 1px solid var(--primary); border-radius: 8px; padding: 10px 15px; color: var(--primary); background: white; cursor: pointer; font: inherit; font-size: .88rem; }
.discovery-reset:hover { background: #edf5ef; }
.discovery-field input:focus-visible, .discovery-field select:focus-visible, .discovery-reset:focus-visible, .coming-soon-toggle input:focus-visible, .hero-social:focus-visible { outline: 3px solid var(--secondary); outline-offset: 3px; }
.catalogue-status { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px; margin: 0 0 24px; color: #56645d; font-size: .9rem; }
.coming-soon-toggle { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; }
.coming-soon-toggle input { accent-color: var(--primary); width: 18px; height: 18px; }
.discovery-empty { grid-column: 1 / -1; padding: 36px 20px; text-align: center; border: 1px dashed #cbd9cf; border-radius: 14px; }
.discovery-empty h2 { font-size: 1.3rem; color: var(--primary); margin-bottom: 8px; }
.discovery-empty p { color: #56645d; margin-bottom: 16px; }
.discovery-card { display: flex; flex-direction: column; }
.discovery-card .trip-image { flex-shrink: 0; background: #edf3ee; }
.discovery-card .trip-content { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.discovery-card .trip-content h3 { overflow-wrap: anywhere; line-height: 1.4; }
.discovery-card .trip-meta { flex-wrap: wrap; gap: 6px 16px; }
.trip-card-summary { color: #536258; font-size: .9rem; line-height: 1.5; margin: 0 0 12px; overflow-wrap: anywhere; }
.trip-departure-city { color: #385141; font-size: .82rem; margin: 0 0 12px; overflow-wrap: anywhere; }
.discovery-card .trip-dates { margin-top: auto; }
.discovery-card .trip-footer { align-items: center; flex-wrap: wrap; gap: 12px; }
.discovery-card .trip-footer .btn { min-height: 44px; padding: 11px 13px; font-size: .8rem; }
.trip-price-unit { display: block; font-size: .75rem; font-weight: 400; color: #65716a; }
.discovery-card.trip-inactive { opacity: .78; }
.filter-section .filter-buttons { margin-top: 18px; }
.filter-btn { min-height: 44px; }
.filter-context { color: #56645d; font-size: .85rem; text-align: center; margin: 0 0 12px; }
.filter-section + .trips-section { padding-top: 32px; }
.hero-trust { display: flex; justify-content: center; align-items: center; gap: 12px; flex-wrap: wrap; padding: 15px 20px; background: #f4f8f4; color: var(--primary); text-align: center; font-size: .9rem; }
.hero-trust a { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; }
.hero-trust-rating { font-weight: 700; }
.hero-social { color: white; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 10px; font-size: .88rem; text-decoration: underline; text-underline-offset: 4px; }
.hero-buttons .hero-social { flex-basis: 100%; }
.hero-buttons .btn { min-height: 46px; }
.hero { min-height: 530px; min-block-size: 530px; background-attachment: scroll; }
.upcoming-batches { scroll-margin-top: 100px; }
.batch-trip-price small { display: block; font-size: .65rem; font-weight: 400; }
.discovery-result-summary { color: #56645d; font-size: .85rem; text-align: center; margin-bottom: 20px; }
.nav-toggle { min-width: 44px; min-height: 44px; }
@media (max-width: 768px) {
    .hero { min-height: 500px; min-block-size: 500px; padding-top: 100px; padding-bottom: 30px; }
    .hero-content { padding: 24px 20px; }
    .hero h1 { font-size: clamp(1.8rem, 6vw, 2.3rem); }
    .hero-desc { margin-bottom: 22px; }
    .discovery-controls { padding: 18px; gap: 12px; }
    .hero-trust { gap: 5px 10px; font-size: .82rem; padding: 12px 18px; }
}
@media (max-width: 480px) {
    .hero { min-height: 500px; min-block-size: 500px; }
    .hero-buttons { display: grid; grid-template-columns: 1fr; gap: 10px; max-width: 330px; margin: auto; }
    .hero-buttons .hero-social { min-height: 36px; padding: 6px; }
    .hero-tagline { font-size: 1.05rem; }
    .hero-desc { font-size: .95rem; }
    .discovery-field { flex-basis: 100%; }
    .discovery-reset { width: 100%; }
    #homepage-discovery-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 15px; gap: 12px; }
    #homepage-discovery-controls[hidden] { display: none; }
    #homepage-discovery-controls .discovery-search, #homepage-discovery-controls .discovery-reset { grid-column: 1 / -1; }
    #homepage-discovery-controls .discovery-field { font-size: .78rem; }
    #homepage-discovery-controls .discovery-reset { min-height: 36px; padding: 6px 12px; }
    .discovery-card .trip-footer .btn { width: auto; }
    .upcoming-batches { padding-top: 42px; }
}
@media (prefers-reduced-motion: reduce) { .discovery-card, .discovery-card .trip-image img { transition: none; } }

/* Keep catalogue options below the search row, rather than in a narrow side column. */
#trip-discovery-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
#trip-discovery-controls[hidden] { display: none; }
#trip-discovery-controls .catalogue-search-actions { display: flex; align-items: center; gap: 8px; }
#trip-discovery-controls.catalogue-controls-only .catalogue-search-actions { grid-column: 1 / -1; }
#trip-discovery-controls .catalogue-filter-toggle, #trip-discovery-controls .discovery-reset { min-height: 48px; padding: 10px 16px; width: auto; white-space: nowrap; }
#trip-discovery-controls .catalogue-filter-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid #cbd9cf; border-radius: 8px; background: #fff; color: #17442d; font: inherit; font-size: .88rem; cursor: pointer; }
#trip-discovery-controls .catalogue-filter-toggle.has-filters { background: #e4f1e9; border-color: #17442d; }
#trip-discovery-controls .catalogue-filter-toggle:focus-visible { outline: 3px solid var(--secondary); outline-offset: 3px; }
#trip-discovery-controls .discovery-reset:disabled { opacity: .5; cursor: default; background: #fff; }
#trip-discovery-controls .catalogue-filter-panel { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding-top: 14px; border-top: 1px solid #dce7df; }
#trip-discovery-controls .catalogue-filter-panel[hidden] { display: none; }
#trip-discovery-controls .catalogue-filter-panel .discovery-field { margin: 0; }
@media (max-width: 767px) {
    #trip-discovery-controls { grid-template-columns: minmax(0, 1fr); }
    #trip-discovery-controls .catalogue-search-actions { width: 100%; }
    #trip-discovery-controls .catalogue-search-actions > button { flex: 1; }
    #trip-discovery-controls .catalogue-filter-panel { grid-template-columns: minmax(0, 1fr); }
}

/* Multiple experience labels and an independently managed Bestseller badge. */
.discovery-card .trip-image{position:relative}
.discovery-card .trip-card-types{position:absolute;top:12px;left:12px;right:12px;display:flex;flex-wrap:wrap;gap:6px}
.discovery-card .trip-card-types .trip-badge{position:static;padding:6px 12px}
.discovery-card.trip-inactive .trip-card-types{right:112px}
.discovery-card .trip-bestseller-badge{position:absolute;bottom:12px;left:12px;padding:6px 12px;border-radius:20px;background:#fff0ba;color:#713f12;font-weight:700;font-size:.8rem}
