/* =========================================================
   SEARCH DECK — v176 (2026-10-03). Pairs with js/176-search-deck.js. Loaded last.
   Restyles ONLY the Search page (#/search) in the Home-deck language (navy / sand-gold, 18px cards, one gap scale,
   one-shot reveal, mouse-only spotlight). Every rule is scoped to .search-section-top, so the Quick Search modal,
   the Availability List and every other page that reuses .tri-* markup are untouched. No markup / logic changed.
   Performance: transform + opacity only, no infinite loops, no backdrop-filter, content-visibility on cards.
   ========================================================= */
.search-section-top{--sd-navy:var(--navy-900,#162D4C);--sd-navy2:var(--navy-950,#0F1F35);--sd-gold:var(--gold-500,#CEA577);--sd-gold2:#F1D9B2;
  --sd-ok:#0f9d63;--sd-bad:#d6523a;--sd-alt:#5b7fb4;--sd-ease:cubic-bezier(.2,.8,.2,1);--sd-gap:16px;--sd-r:18px;--sd-pad:20px;
  max-width:var(--hv-max,1500px);margin-inline:auto;padding-inline:var(--hv-gut,28px);box-sizing:border-box;}
@media(max-width:1100px){.search-section-top{--sd-gap:12px;--sd-pad:16px;}}
@media(max-width:640px){.search-section-top{--sd-gap:10px;--sd-r:16px;--sd-pad:14px;}}

/* ---------- 1. SEARCH BAR ---------- */
.search-section-top .search-docket{background:none;border:0;border-radius:0;padding:0;box-shadow:none;}
.search-section-top .docket-kw{background:var(--surface,#fff);border:1px solid var(--line,#E3E7EC);border-radius:var(--sd-r);padding:10px;box-shadow:0 8px 22px rgba(22,45,76,.08);}
.search-section-top .search-docket::before{display:none;}
.search-section-top .docket-kw-input-wrap{min-height:60px;border-radius:calc(var(--sd-r) - 4px);padding:4px 8px 4px 6px;gap:10px;transition:box-shadow .25s var(--sd-ease),border-color .25s;}
.search-section-top .docket-kw-input-wrap:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--sd-gold) 38%,transparent);border-color:var(--sd-gold);}
.search-section-top .lens-badge{width:46px;height:46px;border-radius:14px;font-size:17px;box-shadow:0 6px 16px rgba(206,165,119,.4);}
.search-section-top #fKeyword{font-size:16px;font-weight:500;}
.search-section-top .filter-toggle-btn{height:46px;padding:0 20px;border-radius:14px;font-weight:700;transition:transform .2s var(--sd-ease),box-shadow .2s;}
.search-section-top .filter-toggle-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,31,53,.25);}

/* ---------- 2. STAT TILES (same scale as the Home stat strip) ---------- */
.search-section-top .tri-intel-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sd-gap);margin-top:var(--sd-gap);padding:0;background:none;border:0;border-radius:0;overflow:visible;}
.search-section-top .tri-intel-strip::before{display:none;}
.search-section-top .tis-total,.search-section-top .tis-stat,.search-section-top .tis-price{position:relative;overflow:hidden;min-width:0;border:1px solid var(--line,#E3E7EC);border-radius:var(--sd-r);background:var(--surface,#fff);box-shadow:0 8px 22px rgba(22,45,76,.08);padding:16px 20px;min-height:92px;box-sizing:border-box;}
.search-section-top .tis-total{display:flex;align-items:center;gap:16px;border-right:1px solid var(--line,#E3E7EC);}
.search-section-top .tis-ring{width:58px;height:58px;}
.search-section-top .tis-ring-total{font-size:19px;}
.search-section-top .tis-total-label{font-size:12px;letter-spacing:.08em;}
.search-section-top .tis-total-live{font-size:11px;}
.search-section-top .tis-stat{display:flex;flex-wrap:wrap;align-content:center;align-items:center;gap:6px 8px;}
.search-section-top .tis-stat-label{font-size:12px;letter-spacing:.08em;}
.search-section-top .tis-stat-nums{flex-basis:100%;display:flex;align-items:baseline;gap:8px;}
.search-section-top .tis-stat-nums b{font:700 clamp(26px,2.4vw,34px)/1 var(--font-mono,monospace);letter-spacing:-.01em;}
.search-section-top .tis-stat-nums em{font-style:normal;font-size:13px;font-weight:700;opacity:.65;}
.search-section-top .tis-price-val{font-size:clamp(18px,1.7vw,22px);}
/* signal bar along the tile's top edge, filled to the share (--p set by js/176) */
.search-section-top .tis-stat::before{content:"";position:absolute;left:0;top:0;height:4px;width:var(--p,0%);border-radius:0 4px 4px 0;background:var(--sd-sig,var(--sd-ok));transform-origin:left;animation:sdBar 1s .2s var(--sd-ease) backwards;}
.search-section-top .tis-stat-vacant{--sd-sig:var(--sd-ok);}.search-section-top .tis-stat-reserved{--sd-sig:var(--sd-bad);}.search-section-top .tis-stat-alt{--sd-sig:var(--sd-alt);}
@keyframes sdBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:900px){.search-section-top .tri-intel-strip{grid-template-columns:repeat(2,minmax(0,1fr));}.search-section-top .tis-total{border-right:1px solid var(--line,#E3E7EC);}}
@media(max-width:640px){
  .search-section-top .tri-intel-strip{grid-template-columns:repeat(3,minmax(0,1fr));}
  .search-section-top .tis-total,.search-section-top .tis-price{grid-column:1/-1;}
  .search-section-top .tis-stat-label{font-size:10.5px;letter-spacing:.04em;}
  .search-section-top .tis-stat-nums em{font-size:11px;}
  .search-section-top .tis-total,.search-section-top .tis-stat,.search-section-top .tis-price{padding:12px 12px;min-height:78px;}
  .search-section-top .tis-ring{width:46px;height:46px;}.search-section-top .tis-ring-total{font-size:15px;}
  .search-section-top .tis-stat-nums b{font-size:24px;}
}

/* ---------- 3. RESULTS: no outer panel, section headers in the deck style ---------- */
.search-section-top .tri-results-panel{background:none;border:0;border-radius:0;padding:0;margin-top:var(--sd-gap);overflow:visible;}
.search-section-top .tri-results-panel::before{display:none;}
.search-section-top .tri-section{margin-top:32px;--sd-sig:var(--sd-ok);}
.search-section-top .tri-section:first-child{margin-top:8px;}
.search-section-top .tri-accent-reserved{--sd-sig:var(--sd-bad);}.search-section-top .tri-accent-alt{--sd-sig:var(--sd-alt);}
.search-section-top .tri-section-head{align-items:center;gap:10px 12px;padding-bottom:0;margin-bottom:var(--sd-gap);border-bottom:0;}
.search-section-top .tri-section-ord-circle{width:38px;height:38px;font-size:13px;font-family:var(--font-mono,monospace);border:0;color:#fff;background:var(--sd-sig);box-shadow:0 6px 14px color-mix(in srgb,var(--sd-sig) 40%,transparent);}
.search-section-top .tri-section-head h3{font:600 clamp(20px,1.9vw,26px)/1.1 var(--font-heading,'Fraunces',serif);letter-spacing:-.01em;text-transform:none;color:var(--ink,#162D4C);}
.search-section-top .tri-accent-avail h3,.search-section-top .tri-accent-reserved h3,.search-section-top .tri-accent-alt h3{color:var(--ink,#162D4C);}
.search-section-top .tri-section-count{font:700 13px/1 var(--font-mono,monospace);padding:6px 11px;border-radius:99px;color:var(--sd-sig);background:color-mix(in srgb,var(--sd-sig) 12%,transparent);}
.search-section-top .tri-section-subtitle{font-size:13px;}
.search-section-top .tri-view-all{padding:8px 14px;border:1px solid var(--line,#E3E7EC);border-radius:999px;background:var(--surface,#fff);color:var(--sd-navy);font-size:12px;transition:border-color .2s,background .2s;}
.search-section-top .tri-view-all:hover{text-decoration:none;border-color:var(--sd-gold);background:color-mix(in srgb,var(--sd-gold) 14%,transparent);}

/* ---------- 4. CARD GRID ---------- */
.search-section-top .tri-cards-row.tri-expanded{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sd-gap);padding:4px;margin:-4px;}
@media(max-width:399px){.search-section-top .tri-cards-row.tri-expanded{grid-template-columns:minmax(0,1fr);}}
@media(min-width:769px){.search-section-top .tri-cards-row.tri-expanded{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));}}
.search-section-top .tri-card{--mx:50%;--my:0%;isolation:isolate;min-height:250px;border:0;border-radius:var(--sd-r);box-shadow:0 8px 22px rgba(15,31,53,.18);
  content-visibility:auto;contain-intrinsic-size:auto 250px;background-size:cover;
  transition:transform .35s var(--sd-ease),box-shadow .35s;}
.search-section-top .tri-card:hover{transform:translateY(-4px);background-size:cover;box-shadow:0 18px 38px rgba(15,31,53,.32),0 0 0 1px rgba(206,165,119,.6);border-color:transparent;}
.search-section-top .tri-card:active{transform:scale(.985);}
.search-section-top .tri-card:focus-visible{outline:none;box-shadow:0 0 0 3px var(--sd-gold);}
/* extra shade so text always reads, + a status-coloured hairline at the base */
.search-section-top .tri-card::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,18,32,.34) 0%,rgba(8,18,32,0) 34%,rgba(8,18,32,.5) 100%);}
/* ::after (was a static edge sheen) becomes the mouse-follow spotlight; only visible on hover with a mouse */
.search-section-top .tri-card::after{inset:0;padding:0;z-index:1;-webkit-mask:none;mask:none;-webkit-mask-composite:initial;mask-composite:initial;opacity:0;transition:opacity .3s;
  background:radial-gradient(240px circle at var(--mx) var(--my),rgba(241,217,178,.28),transparent 62%);}
@media(hover:hover) and (pointer:fine){.search-section-top .tri-card:hover::after{opacity:1;}}
.search-section-top .tri-card-top,.search-section-top .tri-card-body{position:relative;z-index:2;}
.search-section-top .tri-card-top{padding:14px 14px 0;}
.search-section-top .tri-card-body{padding:0 var(--sd-pad) var(--sd-pad);}
.search-section-top .tri-select{width:28px;height:28px;border-width:1.5px;transition:transform .2s var(--sd-ease),background .2s;}
.search-section-top .tri-select:hover{transform:scale(1.1);}
.search-section-top .tri-card-id{display:inline-block;font:700 11.5px/1 var(--font-mono,monospace);letter-spacing:.06em;color:var(--sd-gold2);padding:5px 10px;border-radius:9px;background:rgba(15,31,53,.62);border:1px solid rgba(255,255,255,.14);}
.search-section-top .tri-card-building{font:600 clamp(18px,1.5vw,21px)/1.15 var(--font-heading,'Fraunces',serif);letter-spacing:-.005em;margin-top:9px;text-shadow:0 2px 14px rgba(0,0,0,.55);}
.search-section-top .tri-card-area{font-size:12.5px;margin-top:4px;color:rgba(255,255,255,.82);}
.search-section-top .tri-card-area i{color:var(--sd-gold);}
.search-section-top .tri-card-specs{gap:6px;margin-top:11px;}
.search-section-top .tri-card-specs>span:not(.tri-dot){display:inline-flex;align-items:center;padding:4px 10px;border-radius:99px;font-size:11.5px;font-weight:600;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.16);}
.search-section-top .tri-dot{display:none;}
.search-section-top .tri-card-price-row{margin-top:13px;padding-top:12px;border-top:1.5px dashed rgba(241,217,178,.4);}
.search-section-top .tri-card-price{font:700 clamp(21px,1.8vw,25px)/1 var(--font-heading,'Fraunces',serif);letter-spacing:-.01em;color:#fff;}
.search-section-top .tri-card-per{font:600 12px var(--font-body,inherit);color:var(--sd-gold2);margin-left:5px;opacity:.9;}
.search-section-top .tri-fav-btn{width:40px;height:40px;border-radius:50%;transition:transform .25s var(--sd-ease),background .2s,color .2s;}
.search-section-top .tri-fav-btn:hover{transform:scale(1.1);background:linear-gradient(135deg,var(--sd-gold2),var(--sd-gold));color:var(--sd-navy2);}
.search-section-top .tri-card-price-row .tri-fav-btn.active{color:#F7DDA1;}
.search-section-top .tri-row-nav{display:none;}

/* ---------- 5. ONE-SHOT REVEAL (js/176 adds .sd-ready on the page and .sd-in per card as it scrolls into view) ---------- */
@keyframes sdRise{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
.search-section-top.sd-ready .tri-card:not(.sd-in){opacity:0;}
.search-section-top .tri-card.sd-in{animation:sdRise .55s var(--sd-ease) backwards;animation-delay:calc(var(--sd-i,0)*45ms);}
.search-section-top .tri-card.sd-in.sd-static{animation:none;}
.search-section-top.sd-ready .tri-section-head{animation:sdRise .5s var(--sd-ease) backwards;}
.search-section-top.sd-ready .tri-intel-strip>*{animation:sdRise .5s var(--sd-ease) backwards;}
.search-section-top.sd-ready .tri-intel-strip>:nth-child(2){animation-delay:.06s}.search-section-top.sd-ready .tri-intel-strip>:nth-child(3){animation-delay:.12s}
.search-section-top.sd-ready .tri-intel-strip>:nth-child(4){animation-delay:.18s}.search-section-top.sd-ready .tri-intel-strip>:nth-child(5){animation-delay:.24s}

/* ---------- 6. VIEW SWITCH (Cards | List) — desktop only, injected by js/176 ---------- */
.sd-view{display:none;}
@media(min-width:861px){
  .sd-view{display:inline-flex;align-items:center;gap:4px;padding:4px;margin-top:var(--sd-gap);border-radius:14px;background:var(--surface,#fff);border:1px solid var(--line,#E3E7EC);box-shadow:0 4px 12px rgba(22,45,76,.06);}
  .sd-view-row{display:flex;justify-content:flex-end;}
  .sd-view button{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border:0;border-radius:10px;cursor:pointer;font:700 12.5px/1 var(--font-body,inherit);color:var(--ink,#162D4C);background:transparent;transition:background .2s,color .2s;}
  .sd-view button[aria-pressed="true"]{background:var(--sd-navy);color:var(--sd-gold2);}
  .sd-view button:not([aria-pressed="true"]):hover{background:color-mix(in srgb,var(--sd-gold) 16%,transparent);}
}
/* LIST MODE: photo strip on the left, details in one row, price + actions on the right */
@media(min-width:861px){
  .search-section-top.sd-list .tri-cards-row.tri-expanded{grid-template-columns:minmax(0,1fr);gap:12px;}
  .search-section-top.sd-list .tri-card{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:0;height:132px;contain-intrinsic-size:auto 132px;
    background-size:240px 100%,240px 100%;background-repeat:no-repeat;background-position:left center,left center;}
  .search-section-top.sd-list .tri-card::before{inset:0 auto 0 0;width:240px;}
  .search-section-top.sd-list .tri-card:hover{transform:translateX(4px);}
  .search-section-top.sd-list .tri-card-top{grid-column:1;grid-row:1;align-self:start;padding:12px 12px 0;}
  .search-section-top.sd-list .tri-card-body{grid-column:2;grid-row:1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;grid-template-areas:"id specs price" "bld specs price" "area specs price";
    column-gap:24px;align-content:center;align-items:center;padding:14px 22px 14px 26px;background:var(--surface,#fff);color:var(--ink,#162D4C);}
  .search-section-top.sd-list .tri-card-id{grid-area:id;justify-self:start;color:var(--sd-navy);background:color-mix(in srgb,var(--sd-gold) 22%,transparent);border-color:color-mix(in srgb,var(--sd-gold) 45%,transparent);}
  .search-section-top.sd-list .tri-card-building{grid-area:bld;margin-top:6px;color:var(--ink,#162D4C);text-shadow:none;}
  .search-section-top.sd-list .tri-card-area{grid-area:area;color:var(--muted,#5F6B7A);}
  .search-section-top.sd-list .tri-alt-reason{grid-area:area;justify-self:end;margin:0;}
  .search-section-top.sd-list .tri-card-specs{grid-area:specs;margin:0;align-content:center;}
  .search-section-top.sd-list .tri-card-specs>span:not(.tri-dot){color:var(--ink,#162D4C);background:color-mix(in srgb,var(--ink,#162D4C) 7%,transparent);border-color:transparent;}
  .search-section-top.sd-list .tri-card-score,.search-section-top.sd-list .tri-card-trust{display:none;}
  .search-section-top.sd-list .tri-card-price-row{grid-area:price;margin:0;padding:0 0 0 24px;border-top:0;border-left:1.5px dashed color-mix(in srgb,var(--ink,#162D4C) 22%,transparent);gap:18px;align-self:stretch;}
  .search-section-top.sd-list .tri-card-price{color:var(--ink,#162D4C);}
  .search-section-top.sd-list .tri-card-per{color:var(--muted,#5F6B7A);}
  .search-section-top.sd-list .tri-fav-btn{color:var(--ink,#162D4C);border:1px solid var(--line,#E3E7EC);}
}

@media(prefers-reduced-motion:reduce){
  .search-section-top *,.search-section-top *::before,.search-section-top *::after{animation:none!important;transition:none!important;}
  .search-section-top.sd-ready .tri-card:not(.sd-in){opacity:1;}
}
@media print{.search-section-top .tri-card{break-inside:avoid;}}
