.hero-card h2 a { text-decoration:none; }
.hero-card h2 a:hover { text-decoration:underline; text-underline-offset:.2rem; }

.discovery-section { max-width:var(--layout-width); padding-bottom:clamp(1rem,2vw,1.75rem); padding-top:0; }
.discovery-page { overflow-x:clip; }
.discovery-heading { display:none; }
.experience-filters { align-items:end; background:#e8ede2; border-radius:1rem; display:grid; gap:1rem; grid-template-columns:repeat(4,minmax(8rem,1fr)); margin-bottom:2rem; padding:1.25rem; }
.experience-filters label { display:grid; font-size:.82rem; font-weight:800; gap:.4rem; }
.experience-filters input,.experience-filters select { background:#fff; border:1px solid #bdc9c1; border-radius:.55rem; color:#17362e; font:inherit; min-height:2.65rem; padding:.55rem .65rem; width:100%; }
.experience-filters input:focus,.experience-filters select:focus { border-color:#1f634a; outline:3px solid rgb(31 99 74 / 15%); }
.location-filter { align-items:flex-start; display:flex; flex-direction:column; gap:.35rem; }
.experience-filters > .text-button { justify-self:start; }

.discovery-layout { align-items:start; display:grid; gap:1.5rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.discovery-map-layout { background:#dfe9df; border:1px solid #d8ddd5; border-radius:1rem; height:max(42rem,calc(100dvh - 8rem)); isolation:isolate; margin-left:calc(50% - 50vw + 1.25rem); overflow:hidden; position:relative; width:calc(100vw - 2.5rem); }
.discovery-map-layout > .discovery-map { border-radius:inherit; height:100%; margin:0; width:100%; }
.discovery-panel { background:#f9fbf7; border:1px solid #d8ddd5; border-radius:1rem; box-shadow:0 .8rem 2rem rgb(23 54 46 / 20%); height:calc(100% - 2rem); left:1rem; overflow:hidden; padding:0; position:absolute; top:1rem; width:min(42rem,calc(100% - 2rem)); z-index:2; }
.discovery-panel__scroll { height:100%; overflow:auto; padding:1rem; }
.discovery-panel__topline { align-items:center; display:flex; gap:1rem; justify-content:space-between; margin-bottom:.75rem; }
.discovery-map-state { background:#fff; bottom:1rem; box-shadow:0 .25rem .75rem rgb(23 54 46 / 14%); left:min(44rem,calc(100% - 1rem)); margin:0; padding:.5rem .75rem; position:absolute; z-index:1; }
.discovery-map-state:empty,.discovery-panel .page-state:empty { display:none; }
.discovery-view-toggle { display:none; }
.discovery-panel .experience-grid { grid-template-columns:1fr; }
.discovery-panel .experience-card.is-selected { box-shadow:0 0 0 3px rgb(31 99 74 / 24%); }
.discovery-panel .page-state { margin-top:0; }
.discovery-layout .experience-grid { grid-template-columns:1fr; }
.experience-card { color:#17362e; display:block; overflow-wrap:anywhere; text-decoration:none; }
.experience-card__link { color:inherit; display:block; text-decoration:none; }
.experience-card__description { color:#52635b; }
.experience-card__meta { color:#617169; font-size:.9rem; }
.experience-card__places { color:#2f6d52 !important; font-size:.85rem; font-weight:800; }
.experience-sentinel { height:1px; }
.discovery-layout .page-state { border-left:0; color:#617169; margin:1.25rem 0 0; padding:.75rem 0; }
.discovery-layout .page-state.is-error { border-left:4px solid #b35c30; color:#a44b29; padding-left:1rem; }
.discovery-map-panel { background:#fff; border:1px solid #d8ddd5; border-radius:1rem; padding:1rem; position:sticky; top:1rem; }
.discovery-map-panel h2 { font-size:1.5rem; margin-bottom:.35rem; }
.discovery-map { border-radius:.75rem; height:34rem; margin-top:1rem; overflow:hidden; width:100%; }
.map-card { display:grid; gap:.25rem; max-width:15rem; }
.map-card strong { font-size:1rem; }
.map-card span { color:#52635b; font-size:.8rem; }
.map-card a { color:#1f634a; font-size:.85rem; font-weight:800; margin-top:.35rem; }

.experience-card { position:relative; }
.experience-card__icon { align-items:center; background:#d9e6d8; border-radius:.75rem; display:flex; height:3rem; justify-content:center; position:absolute; right:1.5rem; top:1.5rem; width:3rem; }
.experience-card__icon svg { fill:none; height:1.65rem; stroke:#1f634a; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; width:1.65rem; }
.experience-card__type { margin-right:4rem; }
.experience-card__meta { border-top:1px solid #e2e5df; margin:1.25rem 0 1rem; padding-top:1rem; }
.experience-card__host-meta { align-items:center; display:flex; font-size:.85rem; gap:.45rem; margin-top:1rem; white-space:nowrap; }
.experience-card__host { gap:.4rem; }
.experience-card__host:hover { transform:scale(1.06); }
.experience-card__host-photo { height:1.8rem; width:1.8rem; }
.experience-detail__host-profile > span:last-child { color:#1f634a; font-weight:800; text-decoration:underline; text-underline-offset:.2rem; }
.experience-detail__host-profile:hover > span:last-child { color:#174b38; }
.experience-detail__host-profile:disabled > span:last-child { color:inherit; text-decoration:none; }
.experience-card__host-link { color:#1f634a; font-weight:800; text-decoration:underline; text-underline-offset:.2rem; }
.experience-card__host-meta .experience-card__places { margin:0; }

.experience-detail-page { margin:auto; max-width:var(--layout-width); min-height:calc(100vh - 12rem); padding:clamp(2rem,6vw,5rem) clamp(1.25rem,4vw,3rem); }
.experience-detail-back { display:inline-block; margin-bottom:2rem; }
.experience-detail-state { background:#fff; border:1px solid #d8ddd5; border-radius:1rem; padding:2rem; }
.experience-detail-state.is-error { border-left:4px solid #b35c30; }
.experience-detail { align-items:start; display:grid; gap:clamp(2rem,6vw,5rem); grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr); }
.experience-detail h1 { font-size:clamp(2.8rem,6vw,5rem); max-width:14ch; overflow-wrap:anywhere; }
.experience-detail__description { color:#40564e; font-size:1.15rem; overflow-wrap:anywhere; white-space:pre-wrap; }
.experience-detail__facts { border-block:1px solid #d8ddd5; display:grid; gap:1rem; margin:2rem 0; padding-block:1.5rem; }
.experience-detail__facts div { align-items:center; display:grid; gap:.25rem; grid-template-columns:7rem 1fr; }
.experience-detail__facts dt { color:#617169; font-size:.85rem; font-weight:800; }
.experience-detail__facts dd { margin:0; overflow-wrap:anywhere; }
.experience-reschedule { font-size:.7rem; letter-spacing:.08em; margin-left:.9rem; position:relative; text-transform:uppercase; top:-.15em; }
.experience-detail__host-fact { align-items:center; }
.experience-detail__host { align-items:center; display:flex; gap:.65rem; }
.experience-detail__host .member-photo,.experience-detail__host .member-photo-fallback { height:2.4rem; width:2.4rem; }
.experience-detail__host-profile { align-items:center; display:inline-flex; gap:.55rem; }
.experience-detail__content section { border-bottom:1px solid #d8ddd5; margin-bottom:1.5rem; padding-bottom:1rem; }
.experience-detail__content section h2,.experience-detail__map-panel h2 { font-size:1.5rem; margin-bottom:.5rem; }
.experience-detail__map-panel { background:#fff; border:1px solid #d8ddd5; border-radius:1rem; padding:1.25rem; }
.experience-detail-map { border-radius:.75rem; height:25rem; margin-top:1rem; overflow:hidden; width:100%; }
.experience-detail-map__canvas { height:100%; width:100%; }
.experience-detail__content > .button:not([hidden]) + .button { margin-left:.5rem; }
.experience-detail__host-state { margin-top:1rem; }
.experience-share-dialog__surface { max-width:32rem; }
.experience-share-dialog__link { display:grid; font-size:.9rem; font-weight:700; gap:.4rem; margin:1.25rem 0; }
.experience-share-dialog__link input { background:#fff; border:1px solid #bdc9c1; border-radius:.5rem; color:#17362e; font:inherit; min-height:2.75rem; padding:.6rem .7rem; width:100%; }
.experience-location-dialog__surface { max-width:42rem; }
.experience-location-map { border:1px solid #bdc9c1; border-radius:.8rem; height:20rem; margin-top:.75rem; overflow:hidden; width:100%; }
.experience-location-search gmp-place-autocomplete { background:#fff; border:1px solid #bdc9c1; border-radius:.65rem; color:#17362e; color-scheme:light; display:block; font:inherit; min-height:3rem; padding:.1rem; width:100%; }
.experience-reschedule-form label { display:grid; font-size:.9rem; font-weight:700; gap:.4rem; margin:1.25rem 0; }

@media (max-width:64rem) { .experience-filters { grid-template-columns:repeat(3,minmax(0,1fr)); }
.discovery-layout { grid-template-columns:1fr; }
.discovery-map-panel { position:static; }
.discovery-map { height:28rem; }
 }

@media (max-width:48rem) { .experience-filters { grid-template-columns:1fr 1fr; }
.discovery-heading { display:block; padding:1.25rem 0 .75rem; }
.discovery-heading .eyebrow { margin-bottom:.35rem; }
.discovery-heading h1 { font-size:clamp(1.4rem,6vw,1.9rem); margin-bottom:.5rem; max-width:none; white-space:nowrap; }
.discovery-heading > p:last-child { color:#52635b; font-size:.95rem; margin:0; }
.discovery-layout .experience-grid { grid-template-columns:1fr; }
.experience-detail { grid-template-columns:1fr; }
.experience-detail__facts div { grid-template-columns:1fr; }
.experience-detail-map { height:20rem; }
 }

@media (max-width:48rem) {
 .discovery-map-layout { background:transparent; border:0; border-radius:0; height:auto; margin-left:0; min-height:0; overflow:visible; width:auto; }
 .discovery-map-layout[data-discovery-view="map"] { height:calc(100dvh - 5rem); overflow:hidden; }
 .discovery-map-layout > .discovery-map { display:none; height:100%; }
 .discovery-map-layout[data-discovery-view="map"] > .discovery-map { display:block; }
 .discovery-map-layout[data-discovery-view="map"] .discovery-panel { display:none; }
 .discovery-panel { background:transparent; border:0; border-radius:0; box-shadow:none; height:auto; left:auto; overflow:visible; padding:0; position:relative; top:auto; width:auto; }
 .discovery-panel__scroll { height:auto; overflow:visible; padding:4.5rem 0 0; }
 .discovery-map-state { bottom:1rem; left:1rem; right:1rem; }
 .discovery-view-toggle { background:#edf3ed; border:1px solid #cbd6cd; border-radius:.65rem; display:flex; left:50%; padding:.2rem; position:absolute; top:1rem; transform:translateX(-50%); z-index:4; }
 .discovery-view-toggle button { background:transparent; border:0; border-radius:.45rem; color:#17362e; cursor:pointer; font:inherit; font-size:.8rem; font-weight:800; min-width:6rem; padding:.4rem .65rem; }
 .discovery-view-toggle button.is-selected { background:#1f634a; color:#fff; }
}

@media (max-width:32rem) { .experience-filters { grid-template-columns:1fr; }
 }
