/* Layout copied from the approved reference. Reference template remains unchanged. */
.preview-banner { margin: 0 0 28px; padding: 14px 18px; border: 1px solid rgba(247,122,0,.34); border-radius: 14px; background: rgba(247,122,0,.09); font-weight: 750; line-height: 1.45; }
        .preview-banner strong { color: #b65300; }
        .preview-card-media { min-height: 230px; display: block; position: relative; overflow: hidden; }
        .preview-card-media::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.30)); pointer-events: none; }
        .preview-card-media .verified-overlay { z-index: 2; left: 16px; bottom: 16px; max-width: calc(100% - 84px); white-space: nowrap; }
        .preview-card-media .favorite-button { z-index: 2; }
        .preview-caroni { background: linear-gradient(135deg,#284b3c,#d15d37 68%,#f3b35c); }
        .preview-nariva { background: linear-gradient(135deg,#204537,#53866f 60%,#bbcf8d); }
        .preview-turtle { background: linear-gradient(135deg,#223342,#315f78 55%,#d1c28f); }
        .preview-doubles { background: linear-gradient(135deg,#9d5b24,#f3b33d 62%,#d47b2d); }
        .preview-toco { background: linear-gradient(135deg,#3b6c5c,#d58b38 58%,#f0cc76); }
        .preview-cocoa { background: linear-gradient(135deg,#4a2d20,#8a5335 58%,#d4a06b); }
        .preview-pan { background: linear-gradient(135deg,#303338,#777b82 55%,#e47d27); }
        .preview-mas { background: linear-gradient(135deg,#48234f,#d05a71 55%,#f29b35); }
        .preview-rhythm { background: linear-gradient(135deg,#303849,#59647c 58%,#f27a24); }
        .preview-pitch { background: linear-gradient(135deg,#252525,#515151 58%,#89928b); }
        .preview-fort { background: linear-gradient(135deg,#405a67,#9aa7a2 58%,#e8ba78); }
        .preview-architecture { background: linear-gradient(135deg,#775a47,#c29d79 58%,#dfd2bd); }
        .preview-hike { background: linear-gradient(135deg,#173c2f,#34775a 62%,#8abf77); }
        .preview-atv { background: linear-gradient(135deg,#553b2c,#88684e 58%,#b59468); }
        .preview-mud { background: linear-gradient(135deg,#5b554c,#8b8170 60%,#b7aa8d); }
        .preview-ddi { background: linear-gradient(135deg,#164c63,#3a98ab 62%,#d8c88d); }
        .preview-bio { background: linear-gradient(135deg,#102a45,#174f74 58%,#20a7a5); }
        .preview-maracas { background: linear-gradient(135deg,#1e6c73,#46aab2 58%,#d7c97d); }
        .preview-filters { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin:16px 0 4px; }
        .preview-filter-button { border:1px solid var(--line); background:white; border-radius:999px; padding:10px 15px; font:inherit; font-weight:750; }
        .preview-filter-note { color:rgba(23,23,23,.58); font-size:.88rem; }
        .discovery-intro { white-space:nowrap; max-width:none; }
        .discovery-rows { display:grid; gap:38px; margin-top:26px; }
        .experience-row-section { min-width:0; }
        .row-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:14px; }
        .row-heading h3 { margin:0; font-size:clamp(1.25rem,2vw,1.65rem); }
        .row-heading p { margin:4px 0 0; color:rgba(23,23,23,.58); font-size:.9rem; }
        .row-view-all { color:var(--orange); font-weight:800; text-decoration:none; white-space:nowrap; }
        .experience-scroll-row { display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:thin; padding:2px 2px 14px; -webkit-overflow-scrolling:touch; }
        .experience-scroll-row .browse-card { flex:0 0 clamp(285px,29vw,350px); scroll-snap-align:start; }
        .special-row .row-heading h3::after { content:"  •"; color:var(--orange); }
        .category-grid-header { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-top:22px; }
        .category-grid-header h3 { margin:0; font-size:1.55rem; }
        .category-grid-header a { color:var(--orange); font-weight:800; text-decoration:none; }
        .category-strip a { text-decoration:none; }
        .category-chip { white-space:nowrap; }

        /* Locked card standard: consistent rows and one-line title/description on desktop/tablet. */
        .browse-card { height:100%; }
        .browse-card-body { display:grid; grid-template-columns:minmax(0,1fr); min-width:0; grid-template-rows:2.45rem 1.35rem 1.9rem 2rem 2rem auto; align-content:start; height:100%; }
        .browse-card-body .browse-meta-top { min-height:2.45rem; align-content:start; overflow:hidden; }
        .browse-rating { display:flex; align-items:center; gap:6px; min-height:1.35rem; color:rgba(23,23,23,.72); font-size:.82rem; font-weight:800; }
        .browse-rating .stars { color:var(--orange); letter-spacing:.02em; }
        .browse-rating .review-count { color:rgba(23,23,23,.52); font-weight:700; }
        .browse-card-body > h3 { margin:0; min-height:1.9rem; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
        .browse-card-body .browse-description { margin:0; min-height:2rem; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; display:block; }
        .browse-card-body .browse-details { min-height:2rem; align-self:start; }
        .browse-card-body .browse-card-footer { align-self:end; }

        @media (max-width:900px) {
            .discovery-intro { white-space:normal; }
        }
        @media (max-width:640px) {
            .preview-card-media { min-height:210px; }
            .preview-card-media .verified-overlay { left:14px; bottom:14px; max-width:calc(100% - 76px); }
            .experience-scroll-row .browse-card { flex-basis:84vw; max-width:340px; }
            .row-heading { align-items:center; }
            .row-heading p { display:none; }
            .discovery-rows { gap:30px; }
            .browse-card-body { grid-template-rows:auto auto auto auto auto auto; }
            .browse-card-body > h3, .browse-card-body .browse-description { white-space:normal; text-overflow:clip; }
            .browse-card-body > h3 { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
            .browse-card-body .browse-description { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
        }

/* The approved secondary filter control opens a drawer / mobile bottom sheet. */
.browse-filter-dialog{box-sizing:border-box;width:min(440px,100%);max-width:100%;max-height:100dvh;height:100dvh;margin:0 0 0 auto;border:0;border-left:1px solid var(--line);padding:28px;background:#fff;color:var(--ink,#171717);overflow:auto}
.browse-filter-dialog::backdrop{background:rgba(0,0,0,.38)}
.browse-filter-dialog:not([open]){display:none}
.filter-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.filter-heading h2{font-size:1.6rem;margin:0}.filter-heading button{border:0;border-radius:50%;background:#f4f2ed;width:40px;height:40px;font-size:25px;cursor:pointer}
.filter-field{display:grid;gap:8px;margin:18px 0}.filter-field label{font-weight:750}.filter-field input,.filter-field select{box-sizing:border-box;min-width:0;width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:10px;background:white;font:inherit}.filter-field .errorlist{margin:0;color:#93281d}.filter-help{font-size:.88rem;line-height:1.5;color:#666}.filter-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px}.filter-actions a{color:inherit;font-weight:750}
@media(max-width:640px){.browse-filter-dialog{width:100%;height:auto;max-height:90dvh;margin:auto 0 0;border:0;border-radius:22px 22px 0 0;padding:22px}}

/* Keep live text inside the approved card geometry. The currency and linked
   operator name must not increase the grid track beyond its padded width. */
.browse-card-body > * { min-width:0; }
.browse-card-body .operator-trust { min-width:0; flex:1 1 0; }
.browse-card-body .browse-price { flex:0 0 auto; }
