/* Generated from tools/build-directory-pages.js; run build-listing-ui.js. */
.biz{list-style:none;margin:0 0 18px;padding:0}
/* THE ROW SHARES THE DIRECTORY CARD'S LANGUAGE (spec-directory-card-redesign §8, 2026-09-16): a monogram
   tile, a glyph beside every fact, ticks not pills, the same two buttons, the whole row a link with the
   controls layered above it. Compact — this family is a top-15 two-up on desktop (Tess, 2026-09-15). */
.biz li{position:relative;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px 14px 14px;margin:0 0 10px;display:grid;grid-template-columns:56px minmax(0,1fr);gap:2px 12px;align-items:start;box-shadow:0 1px 2px rgba(45,40,35,.05);cursor:pointer;transition:transform 160ms ease-out,box-shadow 160ms ease-out}
@media (hover:hover){.biz li:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(45,40,35,.12),0 2px 6px rgba(45,40,35,.06)}.biz li:hover h3 a{text-decoration:underline}}
.biz li:active{transform:none}
@media (prefers-reduced-motion:reduce){.biz li,.biz li:hover{transform:none;transition:none}}
.biz h3 a::after{content:"";position:absolute;inset:0;border-radius:16px}
.biz .act,.biz .bsave,.biz .tel{position:relative;z-index:1}
.biz .tile{grid-row:1/3;width:56px;height:56px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:19px;font-weight:800;color:var(--ink);background:var(--soft)}
.biz .tile.t0{background:#dce6d3}.biz .tile.t1{background:#f1dccb}.biz .tile.t2{background:#f3e7c9}.biz .tile.t3{background:#dce1e6}.biz .tile.t4{background:#d9e4d6}.biz .tile.t5{background:#f0d5cc}
.biz .ic{width:15px;height:15px;flex:none;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vertical-align:-2px}
.biz .stat{display:flex;flex-wrap:wrap;gap:3px 14px;font-size:13.5px;color:var(--muted);grid-column:2}
.biz .stat span{display:inline-flex;align-items:center;gap:5px}
.biz .stat .open.is-open{color:var(--green);font-weight:700}
.biz .line{display:flex;gap:6px;font-size:13.5px;color:var(--ink);grid-column:1/-1;margin-top:4px}
.biz .ver{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--green);background:var(--green-bg,#e9f0e7);border-radius:999px;padding:3px 9px 3px 7px;grid-column:1/-1;justify-self:start;margin-top:4px}
.biz li[hidden]{display:none}
.biz.folded li:nth-child(n+13){display:none}
.biz h3{font-size:16.5px;margin:0;line-height:1.3;grid-column:2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.biz h3 a{color:inherit;text-decoration:none}
.biz .sub{font-size:13px;color:var(--muted);grid-column:2}
.biz .tags{display:flex;flex-wrap:wrap;gap:3px 14px;margin:6px 0 0;grid-column:1/-1;list-style:none;padding:0}
.biz .tags span{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;color:var(--ink2,#3c332c)}
.biz .tags span .ic{color:var(--green)}
.biz .tags span.lead{font-weight:700;color:var(--ink)}
.biz .act{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}
.biz .act a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 14px;border-radius:12px;background:var(--hv);color:#fff;font-weight:800;font-size:14px;white-space:nowrap;flex:1 1 0}
.biz .act a.see{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2,#dbcdb9)}
.biz .bsave{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:44px;padding:0 10px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;border-radius:10px;flex:0 0 auto}
.biz .bsave .ic{width:17px;height:17px}
.biz .bsave.is-on{color:var(--green)}
.biz .bsave:hover{background:var(--soft);color:var(--ink)}
.biz .act a:hover{background:var(--hv-d);text-decoration:none}
.biz .act a.tel{background:var(--green)}
@media (max-width:430px){.biz .act a{min-height:48px}}
/* DESKTOP (Tess, 2026-09-15: "desktop view should be optimised for desktop"). A listing page is the one
   family on the estate where the 740px reading column wastes the screen: at ≥960px the frame widens to
   980px and the cards go two-across, so the first screen shows six businesses rather than two. The PROSE
   below the list stays at 740px — a 980px paragraph is unreadable, a 980px grid of cards is not. */
@media (min-width:960px){.biz{display:grid;grid-template-columns:1fr 1fr;gap:9px}.biz li{margin:0;align-content:start}.biz.folded li:nth-child(n+13){display:none}}

/* Fit the shared rows into the homeowner reading frame. */
.homeowner-biz{margin-top:24px;font-family:"Plus Jakarta Sans",sans-serif;line-height:1.5}.homeowner-biz li{min-width:0}.homeowner-biz .act a{text-decoration:none}.homeowner-biz .act{row-gap:8px}.homeowner-biz .stat{min-width:0;overflow-wrap:anywhere}
