/* BUILD 201 — Schools near a point: the pieces the BUILD 135 kit doesn't style (directory rules as BUILD 197 earlyon.css).
   Structural base first; then Gemini 3.8 Flash's CSS from the design brief, applied VERBATIM (gemini/design/design-r1.json). */
.nbf-schools > .hub-bc{ padding-top:1.1rem; }
.fam-dir{ max-width:var(--maxw, 1200px); margin:0 auto; padding:2.5rem var(--gut, 24px) 1rem; }
.hub-list .fam-dir{ padding-left:0; padding-right:0; }
.fam-links{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.5rem; }
.fam-links a{ display:inline-block; padding:.45rem .8rem; border:1px solid rgba(15, 26, 61, .22); color:var(--ink, #0F1A3D); text-decoration:none; font-size:14px; line-height:1.3; }
.fam-links a:hover, .fam-links a:focus-visible{ border-color:#A8482A; color:#A8482A; }
.fam-dirpage .hub-park .hp-actions{ display:flex; flex-wrap:wrap; gap:.5rem; }
.nbf-schools .sch-addr[hidden]{ display:none; }
.nbf-schools .sch-addr-row{ display:flex; gap:.5rem; }
.nbf-schools .sch-min{ list-style:none; margin:0; padding:0; }
@media (max-width:700px){ .fam-dir{ padding-top:1.8rem; } }
/* ---- Gemini design r1 (verbatim); the .sch-min-web::before rule replaced by Gemini's NIT answer (gate/gemini-verdict/nit-r2.json), verbatim ---- */
.nbf-schools .sch-addr{margin:1.6rem 0 1rem;max-width:540px}.nbf-schools .sch-addr-label{display:block;font-family:var(--body,Inter,sans-serif);font-size:13.5px;font-weight:600;color:var(--ink,#0F1A3D);margin-bottom:.55rem}.nbf-schools .sch-addr-row{display:flex;gap:.5rem;align-items:stretch}.nbf-schools .sch-addr-input{flex:1 1 auto;min-width:0;min-height:46px;padding:0 14px;border:1px solid rgba(15,26,61,.22);border-radius:0;background:#fff;color:var(--ink,#0F1A3D);font-family:var(--body,Inter,sans-serif);font-size:16px;line-height:1.3;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.nbf-schools .sch-addr-input::placeholder{color:#8f93a2}.nbf-schools .sch-addr-input:focus{outline:none;border-color:var(--brass,#A8482A);box-shadow:0 0 0 1px var(--brass,#A8482A)}.nbf-schools .sch-addr-go{flex:0 0 auto;white-space:nowrap;border-radius:0}.nbf-schools .sch-addr-status{font-family:var(--body,Inter,sans-serif);font-size:13px;line-height:1.4;color:var(--muted,#5b6072);margin:.5rem 0 0}.nbf-schools .sch-addr-status:empty{display:none}.nbf-schools .sch-addr-status.err{color:var(--brass,#A8482A);font-weight:500}@media (max-width:520px){.nbf-schools .sch-addr-row{flex-direction:column;gap:.65rem}.nbf-schools .sch-addr-input,.nbf-schools .sch-addr-go{width:100%}}.nbf-schools .sch-note{margin:1.2rem 0 0;max-width:62ch;font-size:14.5px;line-height:1.5;color:var(--muted,#5b6072);border-left:2px solid var(--brass,#A8482A);padding:.15rem 0 .15rem .85rem}.nbf-schools .sch-updated{margin-top:.85rem;margin-bottom:0;font-size:12px;color:var(--muted,#5b6072)}.nbf-schools .sch-card-type{font-size:14px;line-height:1.4;color:var(--ink,#0F1A3D);margin:0 0 .85rem}.nbf-schools .sch-card-level::before{content:" · "}.nbf-schools .sch-strip-type{font-size:12px;color:var(--muted,#5b6072)}.nbf-schools .sch-pop-type{font-size:12.5px;line-height:1.35;color:var(--muted,#5b6072);margin:0 0 .65rem}.nbf-schools .panel-body .d-cross{margin-bottom:.35rem}.nbf-schools .sch-d-type{font-size:13.5px;line-height:1.4;color:var(--ink,#0F1A3D);margin:0 0 1.2rem}.nbf-schools .d-directions.d-web{padding:0 14px;text-align:center;line-height:1.2}.nbf-schools .sch-min{list-style:none;margin:0;padding:0}.nbf-schools .sch-min li{display:flex;flex-wrap:wrap;align-items:baseline;padding:.6rem 0;border-bottom:1px solid rgba(15,26,61,.1)}.nbf-schools .sch-min li:first-child{padding-top:0}.nbf-schools .sch-min li:last-child{border-bottom:none;padding-bottom:0}.nbf-schools .sch-min-name{width:100%;font-family:var(--body,Inter,sans-serif);font-size:14px;font-weight:600;line-height:1.35;color:var(--ink,#0F1A3D);margin-bottom:.2rem}.nbf-schools .sch-level{font-size:13px;line-height:1.4;color:var(--muted,#5b6072)}.nbf-schools .sch-level + .sch-min-web::before{content:"·";display:inline-block;margin:0 .35rem;color:var(--muted,#5b6072);text-decoration:none}.nbf-schools .sch-min-web{font-size:13px;line-height:1.4;color:var(--brass,#A8482A);text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.nbf-schools .sch-min-web:hover,.nbf-schools .sch-min-web:focus-visible{color:var(--ink,#0F1A3D)}.nbf-schools .sch-item .sch-min{margin-bottom:1.1rem}.nbf-schools .sch-h4{font-family:var(--body,Inter,sans-serif);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#5b6072);margin:1rem 0 .45rem;font-weight:600}.nbf-schools .sch-post{margin-top:2.8rem;padding-top:2rem;border-top:1px solid rgba(15,26,61,.12)}.nbf-schools .sch-post h2{font-family:var(--display,"Cormorant Garamond",Georgia,serif);font-size:clamp(2rem,3.5vw,2.6rem);font-weight:400;letter-spacing:-.3px;line-height:1.15;margin:0 0 1.3rem;color:var(--ink,#0F1A3D)}.nbf-schools .sch-sources{margin-top:2.8rem;padding-top:1.4rem;border-top:1px solid rgba(15,26,61,.12)}.nbf-schools .sch-sources p{margin:0 0 .5rem}.nbf-schools .sch-sources p:last-child{margin-bottom:0}

/* BUILD 201b (2026-09-23, live round): Gemini 3.8 Flash live-r3 FIX, verbatim (gate/gemini-verdict/verdict-live-r3-fix.txt; it replaces live-r2's
   one-line rule): the sticky chip-row label is opaque for the whole row height, so a chip swiped under it is fully hidden behind it. */
.nbf-schools .chips-label {
  align-self: stretch;
  display: flex;
  align-items: center;
  background: var(--cotton);
}
