/* „Școala de la adresa ta” (views/utile/scoala-de-circumscriptie.ejs) și școlile pe orașe (views/scoli/oras.ejs); public/js/scoli.js. */
.sc-content { padding-bottom: 32px; }
.sc-p { color: var(--ut-text); line-height: 1.65; margin: 0 0 14px; max-width: 75ch; }
.sc-note { font-size: .82rem; color: var(--ut-muted); line-height: 1.5; margin: 10px 0 0; }

/* căutarea */
.sc-form { background: #fff; border: 1px solid var(--ut-line); border-radius: 16px; padding: 14px; }
@media (min-width: 640px) { .sc-form { padding: 16px 18px; } }
.sc-fields { display: grid; grid-template-columns: minmax(0, 1fr) 110px; gap: 12px; align-items: end; }
@media (min-width: 900px) { .sc-fields { grid-template-columns: 200px minmax(0, 1fr) 120px auto; } }
.sc-field { min-width: 0; display: flex; flex-direction: column; }
.sc-field label { font-size: .8rem; font-weight: 650; color: #374151; margin-bottom: 4px; }
.sc-field input, .sc-field select { width: 100%; min-width: 0; border: 1px solid #d1d5db; border-radius: 10px; padding: 10px 12px; font: inherit; font-size: 1rem; background: #fff; color: var(--ut-ink); }
.sc-field input:focus, .sc-field select:focus { outline: 2px solid var(--ut-primary-100); border-color: var(--ut-primary); }
@media (max-width: 899px) { .sc-field:first-child:not(.sc-field--street) { grid-column: 1 / -1; } .sc-field--go { grid-column: 1 / -1; } }
.sc-go { width: 100%; justify-content: center; min-height: 44px; }
.sc-hint { margin: 8px 0 0; font-size: .84rem; color: var(--ut-warn); min-height: 0; }
.sc-hint:empty { display: none; }
.sc-ac { position: relative; }
.sc-ac__list { position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + 4px); max-height: 320px; overflow-y: auto; margin: 0; padding: 4px; list-style: none; background: #fff; border: 1px solid var(--ut-line); border-radius: 12px; box-shadow: 0 16px 40px -18px rgba(15, 23, 42, .45); }
.sc-ac__list li { padding: 9px 10px; border-radius: 8px; cursor: pointer; color: var(--ut-ink); font-size: .94rem; }
.sc-ac__list li small { display: block; font-size: .74rem; color: var(--ut-muted); }
.sc-ac__list li:hover, .sc-ac__list li.is-on { background: var(--ut-primary-50); }

/* harta: școlile orașului (culoarea = media la EN), pinul pus de vizitator */
.sc-mapwrap { margin-top: 14px; }
.sc-maphint { display: flex; align-items: center; gap: 6px; margin: 0 0 8px; font-size: .86rem; color: var(--ut-text); }
.sc-maphint .ut-icon { width: 16px; height: 16px; color: #ea580c; flex: none; }
.sc-map { height: 380px; border-radius: 16px; border: 1px solid var(--ut-line); overflow: hidden; background: #e5e7eb; isolation: isolate; z-index: 0; }
@media (max-width: 639px) { .sc-map { height: 320px; } }
.sc-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 8px 0 0; padding: 0; list-style: none; font-size: .78rem; color: var(--ut-muted); }
.sc-legend li { display: inline-flex; align-items: center; gap: 6px; }
.sc-legend i { width: 12px; height: 12px; border-radius: 50%; box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(15, 23, 42, .2); }
.sc-pin { width: 26px; height: 26px; border-radius: 50% 50% 50% 0; background: #ea580c; transform: rotate(-45deg); box-shadow: 0 0 0 3px #fff, 0 6px 14px rgba(0, 0, 0, .35); }
.sc-pop { font: 13px/1.45 system-ui, sans-serif; color: #111827; min-width: 180px; }
.sc-pop b { display: block; font-size: 13.5px; margin-bottom: 2px; }
.sc-pop span { color: #4b5563; }

/* rezultatele */
.sc-result { margin-top: 16px; display: grid; gap: 16px; }
.sc-result:empty { display: none; }
.sc-msg { margin: 0; padding: 12px 14px; border-radius: 12px; background: var(--ut-line-soft); color: var(--ut-text); }
.sc-found { margin: 0 0 4px; font-size: .84rem; color: var(--ut-muted); }
.sc-h3 { margin: 0 0 10px; font-size: 1.05rem; font-weight: 800; color: var(--ut-ink); }
.sc-block + .sc-block { margin-top: 4px; }
.sc-cards { display: grid; gap: 12px; }
@media (min-width: 900px) { .sc-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sc-card { min-width: 0; padding: 14px 16px; border-radius: 16px; background: #fff; border: 1px solid var(--ut-line); }
.sc-card.is-circ { border-color: var(--ut-primary); box-shadow: 0 0 0 1px var(--ut-primary) inset; }
.sc-card h4 { margin: 0 0 2px; font-size: 1rem; font-weight: 800; color: var(--ut-ink); line-height: 1.3; }
.sc-addr { margin: 0 0 6px; font-size: .84rem; color: var(--ut-muted); }
.sc-tag { display: inline-block; margin: 0 0 8px; padding: 3px 9px; border-radius: 999px; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; background: var(--ut-line-soft); color: var(--ut-text); }
.sc-tag.is-yes { background: var(--ut-primary-50); color: var(--ut-primary-700); }
.sc-priv { display: inline-block; vertical-align: middle; margin-left: 4px; padding: 1px 7px; border-radius: 999px; background: #fef3c7; color: #92400e; font-size: .68rem; font-weight: 700; }
.sc-walk { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: #ecfdf5; color: #047857; font-size: .8rem; font-weight: 700; }
.sc-walkslot:empty { display: none; }
.sc-approx { display: block; margin-top: 4px; font-size: .74rem; color: var(--ut-muted); }
.sc-walkslot { margin-bottom: 8px; }
.sc-en { display: grid; gap: 8px; padding-top: 10px; border-top: 1px dashed var(--ut-line); }
.sc-en__main { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.sc-en__main strong { font-size: 1.7rem; font-weight: 800; color: var(--ut-ink); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.sc-en__main span { font-size: .82rem; color: var(--ut-muted); }
.sc-en__facts { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.sc-en__facts li { padding: 3px 9px; border-radius: 8px; background: var(--ut-line-soft); font-size: .8rem; color: var(--ut-text); }
.sc-en__facts li.is-up { background: #ecfdf5; color: #047857; }
.sc-en__facts li.is-down { background: #fef2f2; color: #b91c1c; }
.sc-en__prev { margin: 0; font-size: .8rem; color: var(--ut-muted); }
.sc-en--none { margin: 0; padding-top: 10px; border-top: 1px dashed var(--ut-line); font-size: .84rem; color: var(--ut-muted); }
.sc-rule { margin: 10px 0 0; font-size: .78rem; color: var(--ut-muted); line-height: 1.45; }
.sc-other { padding: 12px 14px; border-radius: 14px; background: #fff; border: 1px solid var(--ut-line); }
.sc-other summary { cursor: pointer; font-weight: 750; color: var(--ut-ink); }
.sc-other ul { margin: 10px 0 0; padding-left: 18px; display: grid; gap: 8px; color: var(--ut-text); font-size: .88rem; line-height: 1.45; }
.sc-other small { color: var(--ut-muted); }
.sc-fit { font-size: .76rem; font-weight: 700; }
.sc-fit.is-check { color: #b45309; }
.sc-fit.is-no { color: var(--ut-muted); }

/* tabelele */
.sc-tablewrap { overflow-x: auto; border: 1px solid var(--ut-line); border-radius: 14px; background: #fff; }
.sc-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.sc-table th, .sc-table td { padding: 10px 12px; text-align: right; border-bottom: 1px solid var(--ut-line-soft); font-variant-numeric: tabular-nums; vertical-align: top; }
.sc-table th:first-child, .sc-table td:first-child, .sc-table td.sc-l, .sc-table th.sc-l { text-align: left; }
.sc-table thead th { font-size: .74rem; text-transform: uppercase; letter-spacing: .03em; color: var(--ut-muted); background: var(--ut-line-soft); white-space: nowrap; position: sticky; top: 0; }
.sc-table tbody tr:last-child td { border-bottom: 0; }
.sc-table td strong { color: var(--ut-ink); }
.sc-table a { color: var(--ut-primary-700); font-weight: 700; text-decoration: none; }
.sc-table a:hover { text-decoration: underline; }
.sc-table small { display: block; color: var(--ut-muted); font-size: .74rem; font-weight: 500; }
.sc-top { display: block; text-align: right; }
.sc-rank { color: var(--ut-muted); font-weight: 700; width: 2.5em; }
.sc-table tr.is-hidden { display: none; }
@media (max-width: 639px) {
  .sc-table { font-size: .82rem; }
  .sc-table th, .sc-table td { padding: 9px 7px; }
  .sc-table thead th { white-space: normal; }
  .sc-hide-m { display: none; }
}

/* filtrul pe sectoare (București) */
.sc-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.sc-chip { padding: 7px 12px; border-radius: 999px; border: 1px solid var(--ut-line); background: #fff; font: inherit; font-size: .86rem; font-weight: 700; color: var(--ut-text); cursor: pointer; }
.sc-chip.is-on { border-color: var(--ut-primary); background: var(--ut-primary-50); color: var(--ut-primary-700); }
.sc-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 14px; }
@media (min-width: 900px) { .sc-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.sc-fact { padding: 12px 14px; border-radius: 14px; background: #fff; border: 1px solid var(--ut-line); }
.sc-fact span { display: block; font-size: .74rem; font-weight: 700; color: var(--ut-muted); text-transform: uppercase; letter-spacing: .03em; }
.sc-fact strong { display: block; margin-top: 4px; font-size: 1.2rem; font-weight: 800; color: var(--ut-ink); }
.sc-fact small { display: block; font-size: .76rem; color: var(--ut-muted); }
.sc-cities { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sc-cities a { display: inline-flex; padding: 8px 12px; border-radius: 999px; background: #fff; border: 1px solid var(--ut-line); color: var(--ut-ink); font-weight: 650; font-size: .88rem; text-decoration: none; }
.sc-cities a:hover { border-color: var(--ut-primary); color: var(--ut-primary-700); }
