/* „Grădinița și creșa de la adresa ta”: /utile/gradinita-si-cresa (views/utile/gradinita-si-cresa.ejs) și paginile pe orașe
   (views/gradinite/oras.ejs). Harta: views/partials/gradinite-harta.ejs, public/js/gradinite.js. Doar clase .gc-*. */
.gc {
  --gc-ink: #1e1b4b;
  --gc-accent: #0f766e;
  --gc-accent-700: #115e59;
  --gc-soft: #f0fdfa;
  --gc-warm: #fff7ed;
  --gc-line: #d7ece8;
  --gc-stat: #0f766e;
  --gc-priv: #7c3aed;
  --gc-cresa: #ea580c;
}

/* antetul: titlul, apoi calendarul ca șir de pași */
.gc-top { background: radial-gradient(1200px 400px at 10% -10%, #ccfbf1 0%, rgba(204, 251, 241, 0) 60%), linear-gradient(180deg, #fffdf7 0%, #ffffff 100%); border-bottom: 1px solid var(--gc-line); padding: 18px 0 28px; }
.gc-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px 8px; margin: 0 0 16px; padding: 0; list-style: none; font-size: .82rem; color: var(--ut-muted); }
.gc-crumbs li + li::before { content: '/'; margin-right: 8px; color: #94a3b8; }
.gc-crumbs a { color: var(--gc-accent-700); font-weight: 600; text-decoration: none; }
.gc-h1 { margin: 0 0 10px; font-size: clamp(1.7rem, 4.2vw, 2.6rem); line-height: 1.12; font-weight: 850; letter-spacing: -.02em; color: var(--gc-ink); max-width: 22ch; }
.gc-top--city .gc-h1 { max-width: 30ch; }
.gc-lead { margin: 0 0 18px; max-width: 70ch; color: var(--ut-text); font-size: 1.04rem; line-height: 1.6; }
.gc-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; max-width: 760px; }
.gc-tiles li { padding: 12px 14px; border-radius: 14px; background: #fff; border: 1px solid var(--gc-line); }
.gc-tiles b { display: block; font-size: 1.6rem; font-weight: 850; color: var(--gc-ink); font-variant-numeric: tabular-nums; }
.gc-tiles span { font-size: .8rem; color: var(--ut-muted); }

.gc-cal { padding: 14px 16px; border-radius: 18px; background: #fff; border: 1px dashed #99d5cb; }
.gc-cal__head { margin: 0 0 12px; font-size: .84rem; color: var(--ut-muted); }
.gc-cal__head strong { color: var(--gc-accent-700); }
.gc-cal__steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: gc; }
.gc-cal__step { position: relative; display: flex; flex-direction: column; gap: 3px; padding-top: 30px; min-width: 0; }
.gc-cal__step::before { content: ''; position: absolute; left: 24px; right: -10px; top: 12px; height: 2px; background: #b9e4dc; }
.gc-cal__step:last-child::before { display: none; }
.gc-cal__dot { position: absolute; top: 0; left: 0; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--gc-accent); color: #fff; font-size: .8rem; font-weight: 800; z-index: 1; }
.gc-cal__step strong { font-size: .9rem; color: var(--gc-ink); }
.gc-cal__when { font-size: .82rem; font-weight: 700; color: var(--gc-accent-700); }
.gc-cal__note { font-size: .8rem; color: var(--ut-text); line-height: 1.45; }

/* secțiunile */
.gc-content { padding-bottom: 32px; }
.gc-sec { margin: 40px 0 0; }
.gc-h2 { margin: 0 0 14px; font-size: clamp(1.3rem, 2.6vw, 1.7rem); font-weight: 800; color: var(--gc-ink); letter-spacing: -.01em; }
.gc-p { margin: 0 0 12px; max-width: 78ch; color: var(--ut-text); line-height: 1.65; }
.gc-p a, .gc-note a { color: var(--gc-accent-700); font-weight: 700; }
.gc-note, .gc-hint { margin: 10px 0 0; font-size: .84rem; line-height: 1.5; color: var(--ut-muted); }
.gc-hint { display: flex; align-items: center; gap: 6px; }
.gc-hint .ut-icon { width: 15px; height: 15px; color: var(--gc-cresa); }
.gc-split { display: grid; gap: 22px; align-items: start; }
.gc-local { padding: 10px 14px; border-left: 4px solid var(--gc-cresa); background: var(--gc-warm); border-radius: 0 12px 12px 0; }
.gc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* harta și căutarea */
.gc-map { padding: 14px; border-radius: 18px; background: var(--gc-soft); border: 1px solid var(--gc-line); }
.gc-find { display: grid; gap: 10px; }
.gc-find label > span:first-child { display: block; margin-bottom: 4px; font-size: .8rem; font-weight: 700; color: var(--gc-ink); }
.gc-find__row { display: flex; gap: 8px; }
.gc-find input, .gc-select { flex: 1; min-width: 0; width: 100%; min-height: 46px; padding: 10px 12px; border-radius: 12px; border: 1.5px solid var(--gc-line); background: #fff; font: inherit; font-size: 1rem; color: var(--gc-ink); }
.gc-find input:focus, .gc-select:focus { outline: 2px solid var(--gc-accent); outline-offset: 1px; }
.gc-go { flex: none; min-height: 46px; }
.gc-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; }
.gc-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 6px 12px; border-radius: 999px; background: #fff; border: 1.5px solid var(--gc-line); font-size: .86rem; font-weight: 650; color: var(--gc-ink); cursor: pointer; }
.gc-chip input { width: 17px; height: 17px; accent-color: var(--gc-accent); }
.gc-chip--stat { border-color: #99d5cb; }
.gc-chip--priv { border-color: #d4c4fb; }
.gc-chip--cresa { border-color: #fed7aa; }
.gc-map__wrap { margin-top: 10px; border-radius: 16px; overflow: hidden; border: 1px solid var(--gc-line); }
.gc-map__map { height: 440px; background: #e5e7eb; isolation: isolate; z-index: 0; }
.gc-pin { width: 26px; height: 26px; border-radius: 50% 50% 50% 0; background: var(--gc-cresa); transform: rotate(-45deg); box-shadow: 0 0 0 3px #fff, 0 6px 14px rgba(0, 0, 0, .35); }
.gc-near { margin-top: 12px; }
.gc-near__h { margin: 0 0 8px; font-size: 1rem; color: var(--gc-ink); }
.gc-near__list { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.gc-near__list li { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; align-items: start; gap: 10px; padding: 10px 12px; border-radius: 12px; background: #fff; border: 1px solid var(--gc-line); }
.gc-near__list strong { display: block; color: var(--gc-ink); font-size: .92rem; }
.gc-near__list span { display: block; font-size: .8rem; color: var(--ut-text); line-height: 1.45; }
.gc-near__c { color: var(--ut-muted) !important; }
.gc-near__list em { font-style: normal; font-size: .8rem; font-weight: 750; color: var(--gc-accent-700); white-space: nowrap; }
.gc-dot { width: 12px; height: 12px; margin-top: 4px; border-radius: 50%; box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(0, 0, 0, .12); }
.gc-dot--stat { background: var(--gc-stat); }
.gc-dot--priv { background: var(--gc-priv); }
.gc-dot--cresa { background: var(--gc-cresa); }

/* criteriile */
.gc-crit { padding: 16px; border-radius: 18px; background: #fff; border: 1px solid var(--gc-line); box-shadow: 0 8px 24px rgba(30, 27, 75, .06); }
.gc-tabs { display: flex; gap: 6px; padding: 4px; margin-bottom: 12px; border-radius: 12px; background: var(--gc-soft); }
.gc-tab { flex: 1; min-height: 40px; border: 0; border-radius: 10px; background: transparent; font: inherit; font-size: .88rem; font-weight: 700; color: var(--gc-accent-700); cursor: pointer; }
.gc-tab.is-on { background: #fff; color: var(--gc-ink); box-shadow: 0 1px 3px rgba(0, 0, 0, .1); }
.gc-crit__list { margin: 0; padding: 0; border: 0; display: grid; gap: 6px; }
.gc-crit__item { display: grid; grid-template-columns: 20px 22px minmax(0, 1fr); gap: 6px; align-items: start; padding: 8px 10px; border-radius: 10px; font-size: .9rem; line-height: 1.45; color: var(--ut-text); cursor: pointer; }
.gc-crit__item:hover { background: var(--gc-soft); }
.gc-crit__item input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--gc-accent); }
.gc-crit__n { font-weight: 800; color: var(--gc-accent-700); }
.gc-crit__out { margin-top: 12px; padding: 12px 14px; border-radius: 12px; background: var(--gc-warm); border: 1px solid #fed7aa; }
.gc-crit__out p { margin: 0 0 6px; color: var(--gc-ink); }
.gc-crit__out strong { font-size: 1.2rem; }
.gc-crit__how { font-size: .84rem; color: var(--ut-text) !important; line-height: 1.5; }

/* dosarul și costurile */
.gc-check { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.gc-check li { position: relative; padding: 10px 12px 10px 38px; border-radius: 12px; background: #fff; border: 1px solid var(--gc-line); color: var(--ut-text); font-size: .92rem; line-height: 1.45; }
.gc-check li::before { content: ''; position: absolute; left: 12px; top: 12px; width: 16px; height: 16px; border-radius: 5px; border: 2px solid var(--gc-accent); }
.gc-costs { display: grid; gap: 10px; }
.gc-cost { padding: 12px 14px; border-radius: 14px; background: #fff; border: 1px solid var(--gc-line); }
.gc-cost h3 { margin: 0 0 6px; font-size: .98rem; color: var(--gc-ink); }
.gc-cost p { margin: 0; font-size: .9rem; color: var(--ut-text); line-height: 1.5; }

/* tabele, liste */
.gc-tablewrap { overflow-x: auto; margin-top: 12px; border: 1px solid var(--gc-line); border-radius: 14px; background: #fff; }
.gc-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.gc-table th, .gc-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #ecf5f3; }
.gc-table thead th { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: var(--ut-muted); background: #f6fbfa; white-space: nowrap; }
.gc-table tbody th { font-weight: 700; color: var(--gc-ink); }
.gc-table td { font-variant-numeric: tabular-nums; }
.gc-table a { color: var(--gc-accent-700); font-weight: 750; text-decoration: none; }
.gc-hoods { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 6px; margin: 0; padding: 0; list-style: none; }
.gc-hoods li { display: flex; align-items: baseline; gap: 6px; padding: 8px 12px; border-radius: 10px; background: #fff; border: 1px solid var(--gc-line); }
.gc-hoods a { flex: 1; color: var(--gc-ink); font-weight: 650; text-decoration: none; font-size: .9rem; }
.gc-hoods b { color: var(--gc-accent-700); font-variant-numeric: tabular-nums; }
.gc-hoods small { font-size: .72rem; color: var(--ut-muted); }
.gc-list { margin-top: 8px; border-radius: 14px; background: #fff; border: 1px solid var(--gc-line); }
.gc-list summary { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 12px 14px; cursor: pointer; font-weight: 750; color: var(--gc-ink); }
.gc-list summary b { padding: 2px 10px; border-radius: 999px; background: var(--gc-soft); color: var(--gc-accent-700); font-size: .82rem; }
.gc-list ul { margin: 0; padding: 0 14px 12px; list-style: none; display: grid; gap: 2px; }
.gc-list li { padding: 8px 0; border-top: 1px dotted var(--gc-line); }
.gc-list li strong { display: block; font-size: .9rem; color: var(--gc-ink); }
.gc-list li span { font-size: .8rem; color: var(--ut-muted); }
@media (min-width: 900px) { .gc-list ul { grid-template-columns: 1fr 1fr; column-gap: 28px; } }
.gc-cities { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.gc-cities a { display: inline-flex; padding: 8px 12px; border-radius: 999px; background: #fff; border: 1px solid var(--gc-line); color: var(--gc-ink); font-weight: 650; font-size: .88rem; text-decoration: none; }
.gc-cities a:hover { border-color: var(--gc-accent); color: var(--gc-accent-700); }

@media (min-width: 900px) {
  .gc-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
  .gc-find { grid-template-columns: 220px minmax(0, 1fr); align-items: end; }
  .gc-find--one { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 899px) {
  .gc-cal__steps { grid-template-columns: 1fr; gap: 0; }
  .gc-cal__step { padding: 0 0 14px 38px; }
  .gc-cal__step::before { left: 12px; right: auto; top: 26px; bottom: 0; width: 2px; height: auto; }
}
@media (max-width: 639px) {
  .gc-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gc-map { padding: 12px; }
  .gc-map__map { height: 360px; }
  .gc-find__row { flex-direction: column; }
  .gc-near__list li { grid-template-columns: 14px minmax(0, 1fr); }
  .gc-near__list em { grid-column: 2; }
  .gc-table { font-size: .84rem; }
  .gc-table th, .gc-table td { padding: 9px 8px; }
  .gc-table thead th { white-space: normal; font-size: .66rem; letter-spacing: .02em; vertical-align: bottom; }
}
