/* CircleTrust Browse V2 — Search + Filters + Map Production V1 */
.ct-browse-v2{width:min(100%,1120px);margin:0 auto;padding:78px 28px 96px;color:var(--ct-ink)}
.browsev2-loading{padding:60px 20px;text-align:center;color:var(--ct-sub);font:650 .76rem var(--ct-font-ui)}
.browsev2-head{display:grid;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--ct-line)}
.browsev2-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}
.browsev2-title-row>div:first-child>span{color:#A6582F;font:850 .58rem/1 var(--ct-font-ui);letter-spacing:.12em;text-transform:uppercase}
.browsev2-title-row h1{margin:5px 0 2px;font:500 2.45rem/1 var(--ct-font-display);letter-spacing:-.04em}
.browsev2-title-row p{margin:0;color:var(--ct-sub);font:550 .72rem/1.35 var(--ct-font-ui)}
.browsev2-mode-toggle{display:grid;grid-template-columns:1fr 1fr;padding:4px;border:1px solid var(--ct-line);border-radius:999px;background:var(--ct-paper)}
.browsev2-mode-toggle button{border:0;border-radius:999px;background:transparent;color:var(--ct-sub);padding:8px 15px;font:800 .62rem var(--ct-font-ui);cursor:pointer}
.browsev2-mode-toggle button.active{background:var(--ct-ink);color:var(--ct-paper)}
.browsev2-search{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;border:1px solid var(--ct-line);border-radius:16px;background:var(--ct-paper);padding:0 14px;box-shadow:0 12px 28px -28px rgba(32,24,18,.5)}
.browsev2-search>span{font-size:1.1rem;color:var(--ct-sub)}
.browsev2-search input{height:50px;border:0;outline:0;background:transparent;color:var(--ct-ink);font:600 .72rem var(--ct-font-ui)}
.browsev2-quick{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.browsev2-quick button,.browsev2-categories button,.browsev2-type-pills button{border:1px solid var(--ct-line);border-radius:999px;background:var(--ct-paper);color:var(--ct-ink);padding:8px 11px;font:750 .58rem var(--ct-font-ui);cursor:pointer;white-space:nowrap}
.browsev2-quick button.active,.browsev2-categories button.active,.browsev2-type-pills button.active{border-color:#C45A2B;background:#FFF1E8;color:#B44B21}
.browsev2-honesty{margin-left:auto;color:var(--ct-sub);font:650 .54rem var(--ct-font-ui)}
.browsev2-categories{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.browsev2-categories::-webkit-scrollbar{display:none}

.browsev2-trails{margin-top:22px;padding:16px;border:1px solid color-mix(in srgb,#6D4A8C 12%,var(--ct-line));border-radius:22px;background:linear-gradient(135deg,rgba(242,235,249,.7),rgba(252,249,242,.9))}
.browsev2-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:11px}.browsev2-section-title span{color:#6D4A8C;font:850 .52rem var(--ct-font-ui);letter-spacing:.1em;text-transform:uppercase}.browsev2-section-title h2{margin:4px 0 2px;font:500 1.45rem/1.05 var(--ct-font-display)}.browsev2-section-title p{margin:0;color:var(--ct-sub);font:550 .61rem/1.35 var(--ct-font-ui)}.browsev2-section-title>button{border:0;background:none;color:#6D4A8C;font:800 .56rem var(--ct-font-ui);cursor:pointer}
.browsev2-trail-rail{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.browsev2-trail-rail::-webkit-scrollbar{display:none}
.browsev2-trail{flex:0 0 260px;scroll-snap-align:start;display:grid;gap:7px;text-align:left;border:1px solid rgba(255,255,255,.8);border-radius:17px;background:rgba(255,255,255,.74);padding:11px;color:var(--ct-ink);cursor:pointer}
.browsev2-trail-covers{display:flex;height:64px;overflow:hidden;border-radius:12px;background:#DDD1E9}.browsev2-trail-covers img{width:34%;height:100%;object-fit:cover}.browsev2-trail-covers span{display:grid;place-items:center;width:100%;height:100%;color:#6D4A8C;font:500 1.6rem var(--ct-font-display)}.browsev2-trail strong{font:650 .72rem/1.15 var(--ct-font-display)}.browsev2-trail small{color:var(--ct-sub);font:550 .52rem/1.2 var(--ct-font-ui)}

.browsev2-results{margin-top:24px}.browsev2-result-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:12px}.browsev2-result-head h2{margin:0;font:500 1.72rem/1 var(--ct-font-display)}.browsev2-result-head p{margin:4px 0 0;color:var(--ct-sub);font:550 .58rem var(--ct-font-ui)}.browsev2-type-pills{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.browsev2-type-pills::-webkit-scrollbar{display:none}
.browsev2-list{display:grid;gap:9px}
.browsev2-card{display:grid;grid-template-columns:142px minmax(0,1fr);min-height:148px;overflow:hidden;border:1px solid var(--ct-line);border-radius:18px;background:var(--ct-paper);box-shadow:0 14px 34px -30px rgba(32,24,18,.38)}
.browsev2-card-media{position:relative;min-height:148px;overflow:hidden;background:#E8DDC9}.browsev2-card-media img,.browsev2-card-media video{width:100%;height:100%;object-fit:cover}.browsev2-matte{display:grid;place-items:center;width:100%;height:100%;min-height:148px;background:linear-gradient(145deg,#E9DEC9,#CFB68B);color:#735E45;font:500 2.1rem var(--ct-font-display)}.browsev2-matte.type-person{border-radius:0}.browsev2-matte.type-event{background:linear-gradient(145deg,#58311F,#2E190F);color:#F0C38D}.browsev2-type{position:absolute;left:8px;top:8px;padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.94);color:#70476B;font:850 .49rem var(--ct-font-ui);letter-spacing:.05em}.browsev2-media-truth{position:absolute;left:8px;bottom:8px;padding:4px 6px;border-radius:999px;background:rgba(20,15,12,.55);color:#fff;font:700 .46rem var(--ct-font-ui)}
.browsev2-card-copy{display:flex;flex-direction:column;min-width:0;padding:13px 14px}.browsev2-distance{align-self:flex-end;margin-bottom:-13px;color:#0A6A4D;font:750 .5rem var(--ct-font-ui)}.browsev2-card-copy h3{margin:0;font:500 1.12rem/1.07 var(--ct-font-display)}.browsev2-meta{margin:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ct-sub);font:550 .58rem var(--ct-font-ui)}.browsev2-detail{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:8px 0 0;color:var(--ct-sub);font:500 .62rem/1.35 var(--ct-font-ui)}.browsev2-proof{display:grid;gap:2px;margin-top:auto;padding-top:9px}.browsev2-proof strong{font:700 .58rem/1.2 var(--ct-font-ui)}.browsev2-proof small{color:#A85D1B;font:650 .49rem/1.2 var(--ct-font-ui)}
.browsev2-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.browsev2-card-actions button{border:1px solid var(--ct-line);border-radius:9px;background:var(--ct-paper);color:var(--ct-ink);padding:7px 9px;font:750 .52rem var(--ct-font-ui);cursor:pointer}.browsev2-card-actions button:first-child{color:#6D3E66;border-color:#D8C6D5}.browsev2-card-actions button[aria-pressed="true"]{background:#EEF7F3;border-color:#AFCFC0;color:#0A6A4D}
.browsev2-empty{display:grid;gap:4px;justify-items:center;padding:36px 18px;border:1px dashed var(--ct-line);border-radius:18px;color:var(--ct-sub);text-align:center}.browsev2-empty strong{color:var(--ct-ink);font:500 1.15rem var(--ct-font-display)}.browsev2-empty span{font:550 .6rem var(--ct-font-ui)}

.browsev2-map-shell{position:relative;overflow:hidden;border:1px solid var(--ct-line);border-radius:22px;background:#E8ECE7}.browsev2-map{height:590px}.browsev2-map-card{position:absolute;left:14px;right:14px;bottom:42px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(255,255,255,.7);border-radius:17px;background:rgba(255,255,255,.94);padding:12px 13px;box-shadow:0 14px 34px rgba(32,24,18,.18);backdrop-filter:blur(8px)}.browsev2-map-card>div{min-width:0}.browsev2-map-card span{color:#A85D1B;font:800 .5rem var(--ct-font-ui);text-transform:uppercase}.browsev2-map-card h3{margin:2px 0 3px;font:500 1rem var(--ct-font-display)}.browsev2-map-card p{margin:0;color:var(--ct-sub);font:550 .54rem var(--ct-font-ui)}.browsev2-map-card strong{display:block;margin-top:5px;font:650 .54rem var(--ct-font-ui)}.browsev2-map-card>button{flex:none;border:0;border-radius:999px;background:var(--ct-ink);color:var(--ct-paper);padding:8px 11px;font:750 .54rem var(--ct-font-ui);cursor:pointer}
.browsev2-map-doctrine{position:absolute;left:12px;right:12px;bottom:8px;z-index:3;margin:0;padding:6px 8px;border-radius:9px;background:rgba(255,255,255,.86);color:#5F5A52;font:650 .48rem/1.2 var(--ct-font-ui);text-align:center}
.browsev2-pin{display:grid;place-items:center;width:31px;height:31px;border:2px solid #fff;border-radius:50% 50% 50% 7px;transform:rotate(-45deg);box-shadow:0 7px 14px rgba(0,0,0,.2);cursor:pointer}.browsev2-pin::first-letter{transform:rotate(45deg)}.browsev2-pin.type-recommendation{background:#0A8A5F;color:#fff}.browsev2-pin.type-event{background:#C85C26;color:#fff}.browsev2-pin.type-business{background:#fff;color:#665E54;border-color:#665E54}.browsev2-pin{font:850 .58rem var(--ct-font-ui)}
.browsev2-map-error{display:grid;place-items:center;gap:6px;height:100%;padding:30px;text-align:center;color:var(--ct-sub)}.browsev2-map-error strong{color:var(--ct-ink);font:500 1.2rem var(--ct-font-display)}.browsev2-map-error span{font:550 .6rem var(--ct-font-ui)}.browsev2-map-error button{border:0;border-radius:999px;background:var(--ct-ink);color:var(--ct-paper);padding:9px 12px;font:750 .58rem var(--ct-font-ui)}

.browsev2-end{display:grid;justify-items:center;gap:4px;margin-top:24px;padding:20px 10px;border-top:1px solid var(--ct-line);text-align:center}.browsev2-end strong{font:500 1.18rem var(--ct-font-display)}.browsev2-end span{color:var(--ct-sub);font:550 .56rem var(--ct-font-ui)}
.browsev2-status{position:fixed;left:50%;bottom:82px;z-index:160;transform:translateX(-50%);max-width:min(520px,calc(100vw - 30px));border-radius:999px;background:var(--ct-ink);color:var(--ct-paper);padding:8px 12px;font:650 .55rem var(--ct-font-ui);box-shadow:0 12px 30px rgba(0,0,0,.18)}.browsev2-status:empty{display:none}.browsev2-status[data-kind="error"]{background:#7D2B22}

@media(max-width:859px){
  body:has(.ct-browse-v2) .contextbar{display:none!important}
  .ct-browse-v2{padding:64px 11px calc(86px + env(safe-area-inset-bottom,0px))}
  .browsev2-head{gap:11px;padding-bottom:14px}.browsev2-title-row{align-items:flex-start}.browsev2-title-row h1{font-size:1.9rem}.browsev2-title-row p{font-size:.6rem;max-width:250px}.browsev2-title-row>div:first-child>span{font-size:.5rem}
  .browsev2-mode-toggle button{padding:7px 10px;font-size:.53rem}.browsev2-search{padding:0 11px}.browsev2-search input{height:44px;font-size:.63rem}
  .browsev2-quick{gap:5px}.browsev2-quick button,.browsev2-categories button,.browsev2-type-pills button{padding:7px 9px;font-size:.51rem}.browsev2-honesty{width:100%;margin:2px 0 0;font-size:.47rem}
  .browsev2-trails{margin-top:16px;padding:11px;border-radius:18px}.browsev2-section-title h2{font-size:1.15rem}.browsev2-section-title p{font-size:.52rem}.browsev2-trail{flex-basis:220px}.browsev2-trail-covers{height:56px}
  .browsev2-results{margin-top:18px}.browsev2-result-head{display:grid;gap:9px;align-items:start}.browsev2-result-head h2{font-size:1.35rem}.browsev2-type-pills{width:100%;padding-bottom:2px}
  .browsev2-card{grid-template-columns:102px minmax(0,1fr);min-height:132px}.browsev2-card-media,.browsev2-matte{min-height:132px}.browsev2-card-copy{padding:10px}.browsev2-card-copy h3{font-size:.95rem}.browsev2-detail{-webkit-line-clamp:1;font-size:.54rem}.browsev2-proof strong{font-size:.52rem}.browsev2-proof small{font-size:.45rem}.browsev2-card-actions{gap:4px}.browsev2-card-actions button{padding:6px 7px;font-size:.46rem}
  .browsev2-map{height:calc(100vh - 176px);min-height:480px}.browsev2-map-card{left:9px;right:9px;bottom:40px;padding:10px}.browsev2-map-card h3{font-size:.9rem}.browsev2-map-doctrine{font-size:.42rem}
}


/* Browse V2.1 — People with similar interests */
.browsev2-interests{
  margin-top:18px;
  padding:16px;
  border:1px solid color-mix(in srgb,#0A6A4D 14%,var(--ct-line));
  border-radius:22px;
  background:linear-gradient(135deg,rgba(227,241,234,.78),rgba(250,247,240,.9));
}
.browsev2-interest-head{margin-bottom:11px}
.browsev2-interest-status{
  flex:none;
  align-self:flex-start;
  padding:7px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--ct-sub);
  font:750 .5rem/1 var(--ct-font-ui);
}
.browsev2-interest-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.browsev2-interest-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:9px 10px;
  min-width:0;
  padding:11px;
  border:1px solid rgba(255,255,255,.82);
  border-radius:17px;
  background:rgba(255,255,255,.78);
  box-shadow:0 12px 28px -26px rgba(32,24,18,.34);
}
.browsev2-interest-avatar{
  grid-row:1/3;
  width:52px;height:52px;
  overflow:hidden;
  border-radius:50%;
  background:linear-gradient(145deg,#D9EADF,#BBD5C6);
  display:grid;place-items:center;
  color:#315B48;
  font:700 .8rem var(--ct-font-ui);
}
.browsev2-interest-avatar img{width:100%;height:100%;object-fit:cover}
.browsev2-interest-main{min-width:0}
.browsev2-interest-main h3{
  margin:0;
  font:500 1rem/1.05 var(--ct-font-display);
}
.browsev2-interest-main>p{
  margin:4px 0 0;
  color:var(--ct-sub);
  font:550 .5rem/1.2 var(--ct-font-ui);
}
.browsev2-interest-tags{
  display:flex;gap:4px;flex-wrap:wrap;
  margin-top:7px;
}
.browsev2-interest-tags span{
  padding:5px 7px;
  border-radius:999px;
  background:#E7F3EC;
  color:#0A6A4D;
  font:750 .47rem/1 var(--ct-font-ui);
}
.browsev2-interest-proof{
  display:grid;gap:2px;
  margin-top:7px;
}
.browsev2-interest-proof strong{font:750 .53rem/1.2 var(--ct-font-ui)}
.browsev2-interest-proof span{color:var(--ct-sub);font:600 .46rem/1.15 var(--ct-font-ui)}
.browsev2-interest-actions{
  grid-column:2;
  display:flex;gap:5px;flex-wrap:wrap;
}
.browsev2-interest-actions button,.browsev2-interest-empty button{
  border:1px solid var(--ct-line);
  border-radius:9px;
  background:var(--ct-paper);
  color:var(--ct-ink);
  padding:7px 9px;
  font:750 .5rem/1 var(--ct-font-ui);
  cursor:pointer;
}
.browsev2-interest-actions button.is-primary,.browsev2-interest-empty button{
  border-color:#AFCFC0;
  background:#EDF7F2;
  color:#0A6A4D;
}
.browsev2-interest-actions button:disabled{opacity:.62;cursor:default}
.browsev2-interest-empty{
  grid-column:1/-1;
  display:grid;justify-items:start;gap:5px;
  padding:18px;
  border:1px dashed color-mix(in srgb,#0A6A4D 24%,var(--ct-line));
  border-radius:15px;
  background:rgba(255,255,255,.56);
}
.browsev2-interest-empty strong{font:500 1rem var(--ct-font-display)}
.browsev2-interest-empty span{color:var(--ct-sub);font:550 .55rem/1.35 var(--ct-font-ui)}

@media(max-width:859px){
  .browsev2-interests{margin-top:14px;padding:10px;border-radius:18px}
  .browsev2-interest-head{display:grid;gap:7px}
  .browsev2-interest-status{justify-self:start}
  .browsev2-interest-grid{
    display:flex;
    gap:8px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .browsev2-interest-grid::-webkit-scrollbar{display:none}
  .browsev2-interest-card{
    flex:0 0 82%;
    scroll-snap-align:start;
    padding:10px;
  }
  .browsev2-interest-avatar{width:46px;height:46px}
  .browsev2-interest-main h3{font-size:.92rem}
  .browsev2-interest-tags span{font-size:.44rem}
}


/* Browse V2.2 map-toggle correction.
   Author styles must never override the semantic hidden state. */
.ct-browse-v2 .browsev2-list[hidden],
.ct-browse-v2 .browsev2-map-shell[hidden]{
  display:none!important;
}
.ct-browse-v2[data-browsev2-view="map"] [data-browsev2-list-only]{
  display:none!important;
}
.ct-browse-v2[data-browsev2-view="map"] .browsev2-list{
  display:none!important;
}
.ct-browse-v2[data-browsev2-view="map"] .browsev2-map-shell{
  display:block!important;
  margin-top:4px;
}
.ct-browse-v2[data-browsev2-view="list"] .browsev2-map-shell{
  display:none!important;
}
.ct-browse-v2[data-browsev2-view="list"] .browsev2-list{
  display:grid!important;
}


/* Browse V2.3 — visible raster base + map-compatible filter clarity */
.browsev2-map{
  background:#DDE7E2;
}
.ct-browse-v2[data-browsev2-view="map"] .browsev2-type-pills [data-browsev2-type="person"],
.ct-browse-v2[data-browsev2-view="map"] .browsev2-type-pills [data-browsev2-type="ask"]{
  opacity:.42;
}


/* Sports Pulse entry restore — destination, not a filter or trust signal. */
.browsev2-sports-entry{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  width:100%;
  box-sizing:border-box;
  border:1px solid color-mix(in srgb,#35634D 24%,var(--ct-line));
  border-radius:15px;
  background:linear-gradient(110deg,color-mix(in srgb,#35634D 9%,var(--ct-paper)),var(--ct-paper));
  color:var(--ct-ink);
  padding:11px 13px;
  text-align:left;
  cursor:pointer;
  box-shadow:none;
}
.browsev2-sports-entry:hover{border-color:color-mix(in srgb,#35634D 48%,var(--ct-line));transform:translateY(-1px)}
.browsev2-sports-icons{display:flex;align-items:center;gap:5px;font-size:1.1rem;white-space:nowrap}
.browsev2-sports-icons i{font:700 .48rem var(--ct-font-ui);font-style:normal;color:var(--ct-sub)}
.browsev2-sports-copy{display:grid;gap:2px;min-width:0}
.browsev2-sports-copy strong{font:750 .65rem/1.15 var(--ct-font-ui)}
.browsev2-sports-copy small{color:var(--ct-sub);font:550 .52rem/1.3 var(--ct-font-ui)}
.browsev2-sports-open{white-space:nowrap;color:#35634D;font:850 .55rem var(--ct-font-ui)}
@media(max-width:1024px),(hover:none) and (pointer:coarse){
  .browsev2-sports-entry{gap:9px;padding:10px 11px;border-radius:13px}
  .browsev2-sports-copy strong{font-size:.59rem}
  .browsev2-sports-copy small{font-size:.47rem}
  .browsev2-sports-open{font-size:.5rem}
}


/* Complete Browse results — finite pagination, never infinite scroll. */
.browsev2-pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:14px 0 2px;
  padding:10px 0 2px;
}
.browsev2-pager[hidden]{display:none!important}
.browsev2-pager button{
  min-height:38px;
  border:1px solid var(--ct-line);
  border-radius:9px;
  background:var(--ct-paper);
  color:var(--ct-ink);
  padding:0 12px;
  font:800 .54rem/1 var(--ct-font-ui);
  cursor:pointer;
}
.browsev2-pager button:disabled{opacity:.38;cursor:default}
.browsev2-pager span{color:var(--ct-sub);font:700 .52rem/1 var(--ct-font-ui);text-align:center}
@media(max-width:1024px),(hover:none) and (pointer:coarse){
  .browsev2-pager{gap:8px}
  .browsev2-pager button{min-height:42px;padding:0 10px;font-size:.5rem}
  .browsev2-pager span{font-size:.47rem}
}
