/* =========================================================
   Anuntat.ro – sectiunea „Utile”
   Stiluri izolate (prefix .ut-) incarcate doar pe paginile /utile
   ========================================================= */

.ut {
  --ut-primary: #2563eb;
  --ut-primary-700: #1d4ed8;
  --ut-primary-800: #1e40af;
  --ut-primary-50: #eff6ff;
  --ut-primary-100: #dbeafe;
  --ut-ink: #0f172a;
  --ut-text: #334155;
  --ut-muted: #64748b;
  --ut-line: #e2e8f0;
  --ut-line-soft: #f1f5f9;
  --ut-bg: #f8fafc;
  --ut-card: #ffffff;

  --ut-curent: #ca8a04;
  --ut-curent-bg: #fefce8;
  --ut-gaz: #ea580c;
  --ut-gaz-bg: #fff7ed;
  --ut-apa: #0284c7;
  --ut-apa-bg: #f0f9ff;
  --ut-canal: #0f766e;
  --ut-canal-bg: #f0fdfa;

  --ut-success: #15803d;
  --ut-success-bg: #f0fdf4;
  --ut-success-line: #bbf7d0;
  --ut-warn: #b45309;
  --ut-warn-bg: #fffbeb;
  --ut-warn-line: #fde68a;
  --ut-info: #1d4ed8;
  --ut-info-bg: #eff6ff;
  --ut-info-line: #bfdbfe;

  --ut-radius: 16px;
  --ut-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 6px 20px rgba(15, 23, 42, .06);
  --ut-shadow-lg: 0 18px 50px rgba(15, 23, 42, .14);
  --ut-sticky-top: 64px;

  color: var(--ut-text);
  line-height: 1.6;
  background: var(--ut-bg);
}

.ut [hidden] { display: none !important; }

:where(.ut) a { color: inherit; text-decoration: none; }
:where(.ut p, .ut-small, .ut-summary) a { color: var(--ut-primary-700); text-decoration: underline; text-underline-offset: 2px; }

.ut-icon { width: 1.1em; height: 1.1em; flex: none; display: inline-block; vertical-align: middle; }

.ut-sr-only {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.ut-container { max-width: 1200px; margin: 0 auto; padding-left: 16px; padding-right: 16px; }
@media (min-width: 640px) { .ut-container { padding-left: 24px; padding-right: 24px; } }
@media (min-width: 1024px) { .ut-container { padding-left: 32px; padding-right: 32px; } }

.ut-muted { color: var(--ut-muted); }
.ut-small { font-size: .84rem; color: var(--ut-muted); line-height: 1.55; margin-top: 10px; }

/* ---------- Butoane ---------- */
.ut-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 18px; border-radius: 12px; font-weight: 600; font-size: .95rem; line-height: 1.2;
  border: 1px solid transparent; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s;
  white-space: nowrap;
}
.ut-btn .ut-icon { width: 18px; height: 18px; }
.ut-btn:focus-visible { outline: 3px solid rgba(147, 197, 253, .9); outline-offset: 2px; }
.ut-btn--light { background: #fff; color: var(--ut-primary-700); box-shadow: 0 4px 14px rgba(15, 23, 42, .18); }
.ut-btn--light:hover { background: var(--ut-primary-50); transform: translateY(-1px); }
.ut-btn--ghost { color: #fff; border-color: rgba(255, 255, 255, .4); background: rgba(255, 255, 255, .06); }
.ut-btn--ghost:hover { background: rgba(255, 255, 255, .14); }
.ut-btn--outline { background: #fff; color: var(--ut-ink); border-color: var(--ut-line); }
.ut-btn--outline:hover { background: var(--ut-bg); border-color: #cbd5e1; }
.ut-btn--block { display: flex; width: calc(100% - 32px); margin: 16px; }

.ut-link-btn {
  display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; cursor: pointer;
  color: var(--ut-primary-700); font-weight: 600; font-size: .85rem; padding: 6px 10px; border-radius: 8px;
}
.ut-link-btn:hover { background: var(--ut-primary-50); }
.ut-link-btn .ut-icon { width: 16px; height: 16px; }
.ut-link-btn.is-armed { background: #fef2f2; color: #b91c1c; }

/* ---------- Etichete ---------- */
.ut-eyebrow {
  display: inline-flex; align-items: center; gap: 6px; font-size: .74rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .08em; color: var(--ut-primary-700);
  background: var(--ut-primary-50); padding: 6px 12px; border-radius: 999px;
}
.ut-eyebrow .ut-icon { width: 14px; height: 14px; }
.ut-eyebrow--light { color: #fff; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .22); }

.ut-ref {
  display: inline-flex; align-items: center; font-size: .72rem; font-weight: 500; color: var(--ut-muted);
  background: #fff; border: 1px dashed #cbd5e1; padding: 2px 8px; border-radius: 6px; line-height: 1.5;
  vertical-align: middle;
}
.ut-term {
  display: inline-flex; align-items: center; gap: 6px; font-size: .78rem; font-weight: 600; color: var(--ut-ink);
  background: var(--ut-line-soft); border: 1px solid var(--ut-line); padding: 4px 10px; border-radius: 999px; line-height: 1.4;
}
.ut-term .ut-icon { width: 14px; height: 14px; color: var(--ut-primary); }
.ut-tag {
  display: inline-block; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
  background: var(--ut-primary-50); color: var(--ut-primary-700); padding: 2px 8px; border-radius: 999px;
  margin-left: 6px; vertical-align: middle;
}
.ut-badge { display: inline-flex; align-items: center; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: 4px 10px; border-radius: 999px; }
.ut-badge--new { background: #dcfce7; color: #166534; }

/* Culori pe utilitati */
.ut-c-curent { color: var(--ut-curent); background: var(--ut-curent-bg); }
.ut-c-gaz { color: var(--ut-gaz); background: var(--ut-gaz-bg); }
.ut-c-apa { color: var(--ut-apa); background: var(--ut-apa-bg); }
.ut-c-canal { color: var(--ut-canal); background: var(--ut-canal-bg); }

/* ---------- Hero ---------- */
.ut-hero {
  position: relative; overflow: hidden; color: #fff; padding: 28px 0 104px;
  background:
    radial-gradient(900px 380px at 88% -10%, rgba(96, 165, 250, .45), transparent 60%),
    radial-gradient(700px 300px at -5% 110%, rgba(59, 130, 246, .35), transparent 60%),
    linear-gradient(135deg, #172554 0%, #1e40af 50%, #2563eb 100%);
}
.ut-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
  background-size: 44px 44px;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .7), transparent 85%);
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .7), transparent 85%);
}
.ut-hero > .ut-container { position: relative; }
.ut-hero--compact { padding-bottom: 88px; }

.ut-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 6px; font-size: .85rem; color: rgba(255, 255, 255, .78); margin-bottom: 22px; }
.ut-breadcrumb li + li::before { content: "/"; margin-right: 6px; opacity: .55; }
.ut-breadcrumb a { color: #fff; opacity: .92; }
.ut-breadcrumb a:hover { text-decoration: underline; opacity: 1; }

.ut-hero__grid { display: grid; gap: 28px; align-items: center; }
@media (min-width: 1024px) { .ut-hero__grid { grid-template-columns: 1.35fr 1fr; gap: 48px; } }

.ut-hero__title {
  font-size: clamp(2rem, 4.6vw, 3.25rem); line-height: 1.08; font-weight: 800; letter-spacing: -.025em;
  margin: 14px 0 14px; color: #fff; text-wrap: balance;
}
.ut-hero__lead { font-size: clamp(1rem, 1.6vw, 1.15rem); color: rgba(255, 255, 255, .88); max-width: 62ch; line-height: 1.65; }
.ut-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }

.ut-hero__utilities { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 480px) {
  .ut-hero__utilities { gap: 8px; }
  .ut-hero-u { flex-direction: column; align-items: flex-start; gap: 8px; padding: 12px; }
  .ut-hero-u__icon { width: 34px; height: 34px; border-radius: 10px; }
  .ut-hero-u__icon .ut-icon { width: 18px; height: 18px; }
  .ut-hero-u small { font-size: .74rem; }
}
.ut-hero-u {
  display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: 16px; color: #fff;
  background: rgba(255, 255, 255, .13); border: 1px solid rgba(255, 255, 255, .22);
  transition: background-color .2s, transform .2s;
}
.ut-hero-u:hover { background: rgba(255, 255, 255, .18); transform: translateY(-2px); }
.ut-hero-u:focus-visible { outline: 3px solid rgba(147, 197, 253, .9); outline-offset: 2px; }
.ut-hero-u__icon { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; flex: none; background: #fff; }
.ut-hero-u__icon .ut-icon { width: 22px; height: 22px; }
.ut-hero-u strong { display: block; font-size: 1rem; line-height: 1.25; }
.ut-hero-u small { display: block; font-size: .78rem; color: rgba(255, 255, 255, .8); line-height: 1.35; margin-top: 2px; }

/* ---------- Cifre cheie ---------- */
.ut-stats-wrap { position: relative; margin-top: -64px; z-index: 2; }
.ut-stats { display: grid; gap: 12px; grid-template-columns: 1fr; }
@media (min-width: 560px) { .ut-stats { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .ut-stats { grid-template-columns: repeat(4, 1fr); gap: 16px; } }
.ut-stat {
  display: flex; flex-direction: column; gap: 6px; padding: 18px 18px 16px; background: #fff;
  border: 1px solid var(--ut-line); border-radius: var(--ut-radius); box-shadow: var(--ut-shadow);
}
.ut-stat__value { font-size: 1.75rem; font-weight: 800; letter-spacing: -.02em; color: var(--ut-primary-700); line-height: 1.1; }
.ut-stat__label { font-size: .88rem; color: var(--ut-text); line-height: 1.45; flex: 1; }
.ut-stat .ut-ref { align-self: flex-start; }

/* ---------- Layout cu cuprins ---------- */
/* Pe ecrane mici layout-ul ramane bloc, ca bara de cuprins sa poata ramane lipita sus pe toata pagina */
.ut-layout { display: block; padding-bottom: 8px; }
@media (min-width: 1024px) { .ut-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 48px; } }
.ut-main { min-width: 0; }

.ut-toc { position: sticky; top: var(--ut-sticky-top); z-index: 30; margin: 20px -16px 0; background: var(--ut-bg); border-bottom: 1px solid var(--ut-line); }
.ut-toc__title { display: none; }
.ut-toc nav { position: relative; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.ut-toc nav::-webkit-scrollbar { display: none; }
.ut-toc ul { display: flex; gap: 6px; padding: 10px 16px; width: max-content; }
.ut-toc a {
  display: block; white-space: nowrap; font-size: .84rem; font-weight: 600; color: var(--ut-muted);
  padding: 7px 12px; border-radius: 999px; border: 1px solid var(--ut-line); background: #fff;
}
.ut-toc a:hover { color: var(--ut-ink); border-color: #cbd5e1; }
.ut-toc a.is-active { color: #fff; background: var(--ut-primary); border-color: var(--ut-primary); }
@media (min-width: 640px) { .ut-toc { margin-left: -24px; margin-right: -24px; } .ut-toc ul { padding-left: 24px; padding-right: 24px; } }
@media (min-width: 1024px) {
  .ut-toc { top: calc(var(--ut-sticky-top) + 24px); align-self: start; margin: 56px 0 0; background: none; border: 0; }
  .ut-toc__title { display: block; font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ut-muted); margin-bottom: 10px; padding-left: 14px; }
  .ut-toc nav { overflow: visible; }
  .ut-toc ul { display: block; padding: 0; width: auto; border-left: 2px solid var(--ut-line); }
  .ut-toc li { margin: 0; }
  .ut-toc a { border: 0; border-radius: 0; background: none; padding: 7px 14px; margin-left: -2px; border-left: 2px solid transparent; font-weight: 500; }
  .ut-toc a.is-active { background: none; color: var(--ut-primary-700); border-left-color: var(--ut-primary); font-weight: 700; }
}

/* ---------- Sectiuni ---------- */
.ut-section { padding-top: 56px; scroll-margin-top: calc(var(--ut-sticky-top) + 64px); }
@media (min-width: 1024px) { .ut-section { scroll-margin-top: calc(var(--ut-sticky-top) + 20px); } }
.ut-section--tight { padding-top: 0; padding-bottom: 64px; }

.ut-h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.2; font-weight: 800; letter-spacing: -.02em; color: var(--ut-ink); margin: 12px 0 10px; text-wrap: balance; }
.ut-h3 { font-size: clamp(1.15rem, 2vw, 1.4rem); line-height: 1.25; font-weight: 800; color: var(--ut-ink); letter-spacing: -.01em; }
.ut-h4 { display: flex; align-items: center; gap: 8px; font-size: 1.05rem; font-weight: 700; color: var(--ut-ink); margin: 26px 0 12px; }
.ut-h4 .ut-icon { width: 18px; height: 18px; color: var(--ut-primary); }
.ut-box > .ut-h4:first-child { margin-top: 0; }
.ut-lead { font-size: 1.05rem; color: var(--ut-text); max-width: 72ch; margin-bottom: 22px; line-height: 1.7; }
.ut-note { display: flex; gap: 8px; align-items: flex-start; margin-top: 14px; font-size: .9rem; color: var(--ut-muted); }
.ut-note .ut-icon { width: 18px; height: 18px; margin-top: 2px; color: var(--ut-primary); }

/* Verificari inainte de cumparare */
.ut-checks { display: grid; gap: 12px; }
.ut-check-card {
  display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 16px; padding: 20px; background: #fff;
  border: 1px solid var(--ut-line); border-radius: var(--ut-radius); transition: border-color .2s, box-shadow .2s;
}
.ut-check-card:hover { border-color: var(--ut-primary-100); box-shadow: var(--ut-shadow); }
.ut-check-card__num {
  width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; font-weight: 800;
  color: #fff; background: linear-gradient(135deg, #3b82f6, #1d4ed8); box-shadow: 0 6px 14px rgba(37, 99, 235, .3);
}
.ut-check-card h3 { font-size: 1.05rem; font-weight: 700; color: var(--ut-ink); line-height: 1.35; margin-bottom: 6px; }
.ut-check-card p { font-size: .95rem; line-height: 1.65; margin-bottom: 8px; }
@media (max-width: 520px) {
  .ut-check-card { grid-template-columns: 30px minmax(0, 1fr); gap: 12px; padding: 16px; }
  .ut-check-card__num { width: 30px; height: 30px; border-radius: 9px; font-size: .9rem; }
  .ut-steps > li { padding-left: 44px; }
}

/* Callouts */
.ut-callouts-2 { display: grid; gap: 12px; margin-top: 16px; }
@media (min-width: 900px) { .ut-callouts-2 { grid-template-columns: 1fr 1fr; } }
.ut-callout { display: flex; gap: 14px; padding: 18px 20px; border-radius: 14px; border: 1px solid; margin-top: 16px; }
.ut-callouts-2 .ut-callout { margin-top: 0; }
.ut-callout strong { display: block; color: var(--ut-ink); font-size: 1rem; margin-bottom: 4px; }
.ut-callout p { font-size: .93rem; line-height: 1.65; margin-bottom: 8px; }
.ut-callout__icon { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; flex: none; }
.ut-callout__icon .ut-icon { width: 20px; height: 20px; }
.ut-callout--warn { background: var(--ut-warn-bg); border-color: var(--ut-warn-line); }
.ut-callout--warn .ut-callout__icon { background: #fef3c7; color: var(--ut-warn); }
.ut-callout--info { background: var(--ut-info-bg); border-color: var(--ut-info-line); }
.ut-callout--info .ut-callout__icon { background: var(--ut-primary-100); color: var(--ut-info); }
.ut-callout--success { background: var(--ut-success-bg); border-color: var(--ut-success-line); }
.ut-callout--success .ut-callout__icon { background: #dcfce7; color: var(--ut-success); }

/* Ordinea pasilor */
.ut-flow { display: grid; gap: 12px; counter-reset: flow; }
@media (min-width: 560px) { .ut-flow { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .ut-flow { grid-template-columns: repeat(3, 1fr); } }
.ut-flow__step {
  position: relative; display: flex; flex-direction: column; gap: 6px; padding: 18px; background: #fff;
  border: 1px solid var(--ut-line); border-radius: var(--ut-radius); overflow: hidden;
}
.ut-flow__step::after {
  content: ""; position: absolute; left: 0; top: 0; height: 3px; width: 100%;
  background: linear-gradient(90deg, #3b82f6, #93c5fd);
}
.ut-flow__num { font-size: .78rem; font-weight: 800; color: var(--ut-primary-700); background: var(--ut-primary-50); width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; }
.ut-flow__step h3 { font-size: 1rem; font-weight: 700; color: var(--ut-ink); line-height: 1.3; }
.ut-flow__step p { font-size: .9rem; line-height: 1.55; flex: 1; }
.ut-flow__step .ut-term { align-self: flex-start; margin-top: 4px; }

/* ---------- Tab-uri utilitati ---------- */
.ut-tabs {
  display: flex; gap: 6px; padding: 6px; margin-top: 8px; background: #e9eef5; border-radius: 14px;
  overflow-x: auto; scrollbar-width: none;
}
.ut-tabs::-webkit-scrollbar { display: none; }
.ut-tab {
  flex: 1 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 16px;
  border-radius: 10px; border: 0; background: transparent; font-weight: 600; font-size: .95rem; color: var(--ut-muted);
  cursor: pointer; white-space: nowrap; transition: background-color .2s, color .2s, box-shadow .2s;
}
.ut-tab .ut-icon { width: 18px; height: 18px; }
@media (max-width: 560px) {
  .ut-tabs { display: grid; grid-template-columns: 1fr 1fr; }
  .ut-tab { padding: 10px 12px; }
}
.ut-tab:hover { color: var(--ut-ink); }
.ut-tab:focus-visible { outline: 3px solid rgba(37, 99, 235, .35); outline-offset: 1px; }
.ut-tab[aria-selected="true"] { background: #fff; color: var(--ut-ink); box-shadow: 0 2px 8px rgba(15, 23, 42, .08); }
.ut-tab--curent .ut-icon { color: var(--ut-curent); }
.ut-tab--gaz .ut-icon { color: var(--ut-gaz); }
.ut-tab--apa .ut-icon { color: var(--ut-apa); }
.ut-tab--canal .ut-icon { color: var(--ut-canal); }

.ut-panel {
  margin-top: 14px; background: #fff; border: 1px solid var(--ut-line); border-radius: 20px;
  padding: clamp(18px, 3vw, 30px); border-top-width: 4px; scroll-margin-top: calc(var(--ut-sticky-top) + 80px);
}
.ut-panel:focus-visible { outline: 3px solid rgba(37, 99, 235, .25); outline-offset: 2px; }
.ut-panel--curent { border-top-color: var(--ut-curent); }
.ut-panel--gaz { border-top-color: var(--ut-gaz); }
.ut-panel--apa { border-top-color: var(--ut-apa); }
.ut-panel--canal { border-top-color: var(--ut-canal); }
.ut-panel__head { display: flex; gap: 14px; align-items: flex-start; }
.ut-panel__head .ut-muted { margin-top: 4px; font-size: .95rem; }
.ut-panel__icon { width: 50px; height: 50px; border-radius: 14px; display: grid; place-items: center; flex: none; }
.ut-panel__icon .ut-icon { width: 26px; height: 26px; }

.ut-summary { display: grid; gap: 10px; margin: 20px 0 6px; }
@media (min-width: 700px) { .ut-summary { grid-template-columns: 1fr 1fr; } }
.ut-summary__item { background: var(--ut-bg); border: 1px solid var(--ut-line-soft); border-radius: 12px; padding: 12px 14px; font-size: .92rem; line-height: 1.5; }
.ut-summary__label { display: block; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--ut-muted); margin-bottom: 3px; }

/* Pasi numerotati */
.ut-steps { counter-reset: step; }
.ut-steps > li { position: relative; padding: 0 0 20px 52px; counter-increment: step; }
.ut-steps > li::before {
  content: counter(step); position: absolute; left: 0; top: 0; width: 34px; height: 34px; border-radius: 50%;
  display: grid; place-items: center; font-weight: 800; font-size: .9rem; color: var(--ut-primary-700);
  background: var(--ut-primary-50); border: 2px solid var(--ut-primary-100);
}
.ut-steps > li::after { content: ""; position: absolute; left: 16px; top: 38px; bottom: 4px; width: 2px; background: var(--ut-line); }
.ut-steps > li:last-child { padding-bottom: 0; }
.ut-steps > li:last-child::after { display: none; }
.ut-panel--curent .ut-steps > li::before { color: #854d0e; background: var(--ut-curent-bg); border-color: #fde68a; }
.ut-panel--gaz .ut-steps > li::before { color: #9a3412; background: var(--ut-gaz-bg); border-color: #fed7aa; }
.ut-panel--apa .ut-steps > li::before { color: #075985; background: var(--ut-apa-bg); border-color: #bae6fd; }
.ut-steps__body h5 { font-size: 1rem; font-weight: 700; color: var(--ut-ink); line-height: 1.4; padding-top: 5px; margin-bottom: 4px; }
.ut-steps__body p { font-size: .94rem; line-height: 1.65; }
.ut-steps__meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; align-items: center; }

/* Coloane si casete */
.ut-cols, .ut-split { display: grid; gap: 14px; margin-top: 22px; }
@media (min-width: 900px) { .ut-cols, .ut-split { grid-template-columns: 1fr 1fr; } }
.ut-split { margin-top: 20px; }
.ut-box { background: var(--ut-bg); border: 1px solid var(--ut-line); border-radius: var(--ut-radius); padding: 20px; min-width: 0; }
.ut-box--accent { background: #fff; }
.ut-panel > .ut-box { margin-top: 16px; }
.ut-box > p { font-size: .93rem; line-height: 1.6; margin-bottom: 10px; }

.ut-list > li { position: relative; padding-left: 20px; margin: 9px 0; font-size: .93rem; line-height: 1.6; }
.ut-list > li::before { content: ""; position: absolute; left: 4px; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--ut-primary); opacity: .75; }
.ut-list .ut-ref { margin-left: 2px; }

.ut-table-wrap { overflow-x: auto; border: 1px solid var(--ut-line); border-radius: 12px; background: #fff; -webkit-overflow-scrolling: touch; }
.ut-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.ut-table--wide { min-width: 560px; }
.ut-table th { text-align: left; background: var(--ut-line-soft); color: var(--ut-muted); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: 10px 14px; }
.ut-table td { padding: 10px 14px; border-top: 1px solid var(--ut-line-soft); vertical-align: top; }
.ut-table tbody tr:first-child td { border-top: 0; }
.ut-table thead + tbody tr:first-child td { border-top: 1px solid var(--ut-line-soft); }
.ut-table td:last-child { font-weight: 600; color: var(--ut-ink); }

/* ---------- Calculator ---------- */
.ut-estimator { display: grid; gap: 18px; align-items: start; }
@media (min-width: 1100px) { .ut-estimator { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); } }
.ut-est-form { display: grid; gap: 12px; }
.ut-est-block { border: 1px solid var(--ut-line); border-radius: var(--ut-radius); background: #fff; overflow: hidden; transition: border-color .2s, box-shadow .2s; min-width: 0; margin: 0; padding: 0; }
.ut-est-block:focus-within { border-color: #bfdbfe; box-shadow: 0 0 0 4px rgba(37, 99, 235, .08); }
.ut-est-block.is-off { background: var(--ut-bg); }
.ut-est-block.is-off .ut-est-fields { display: none; }
.ut-est-block.is-off .ut-est-toggle__icon { filter: grayscale(1); opacity: .6; }

.ut-est-toggle { display: flex; align-items: center; gap: 12px; padding: 14px 16px; cursor: pointer; user-select: none; }
.ut-est-toggle input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.ut-est-toggle__icon { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; flex: none; transition: filter .2s, opacity .2s; }
.ut-est-toggle__icon .ut-icon { width: 20px; height: 20px; }
.ut-est-toggle__text { flex: 1; min-width: 0; }
.ut-est-toggle__text strong { display: block; color: var(--ut-ink); font-size: 1rem; line-height: 1.3; }
.ut-est-toggle__text small { display: block; color: var(--ut-muted); font-size: .8rem; }
.ut-switch { position: relative; width: 42px; height: 24px; border-radius: 999px; background: #cbd5e1; flex: none; transition: background-color .2s; }
.ut-switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(15, 23, 42, .25); transition: transform .2s; }
.ut-est-toggle input:checked ~ .ut-switch { background: var(--ut-primary); }
.ut-est-toggle input:checked ~ .ut-switch::after { transform: translateX(18px); }
.ut-est-toggle input:focus-visible ~ .ut-switch { outline: 3px solid rgba(37, 99, 235, .35); outline-offset: 2px; }

.ut-est-fields { display: grid; gap: 16px; padding: 16px; border-top: 1px solid var(--ut-line-soft); }
.ut-field { min-width: 0; }
.ut-field__label { display: block; font-size: .86rem; font-weight: 600; color: var(--ut-ink); margin-bottom: 7px; line-height: 1.4; }
.ut-field__hint { display: block; font-size: .78rem; color: var(--ut-muted); margin-top: 6px; line-height: 1.45; }

.ut-seg { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; background: var(--ut-line-soft); border: 1px solid var(--ut-line); border-radius: 12px; max-width: 100%; }
.ut-seg label { position: relative; cursor: pointer; }
.ut-seg input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ut-seg span { display: block; padding: 7px 12px; border-radius: 9px; font-size: .86rem; font-weight: 600; color: var(--ut-muted); transition: background-color .15s, color .15s, box-shadow .15s; }
.ut-seg label:hover span { color: var(--ut-ink); }
.ut-seg input:checked + span { background: #fff; color: var(--ut-primary-700); box-shadow: 0 1px 4px rgba(15, 23, 42, .12); }
.ut-seg input:focus-visible + span { outline: 3px solid rgba(37, 99, 235, .35); outline-offset: 1px; }

.ut-input, .ut-select {
  width: 100%; max-width: 280px; padding: 10px 12px; border: 1px solid #cbd5e1; border-radius: 10px; background: #fff;
  font-size: .95rem; color: var(--ut-ink); transition: border-color .2s, box-shadow .2s; font-family: inherit;
}
.ut-select {
  -webkit-appearance: none; appearance: none; padding-right: 36px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
}
.ut-select--lg { max-width: 380px; padding-top: 12px; padding-bottom: 12px; font-size: 1rem; }
.ut-input:focus, .ut-select:focus { outline: none; border-color: var(--ut-primary); box-shadow: 0 0 0 3px rgba(37, 99, 235, .16); }

.ut-check { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: .92rem; line-height: 1.5; color: var(--ut-text); }
.ut-check input { width: 18px; height: 18px; margin-top: 2px; flex: none; accent-color: var(--ut-primary); cursor: pointer; }

/* Rezultat */
.ut-est-result { background: #fff; border: 1px solid var(--ut-line); border-radius: 20px; overflow: hidden; box-shadow: var(--ut-shadow); }
@media (min-width: 1100px) { .ut-est-result { position: sticky; top: calc(var(--ut-sticky-top) + 20px); } }
.ut-est-total {
  display: flex; flex-direction: column; gap: 4px; padding: 20px 20px 18px; color: #fff;
  background: radial-gradient(500px 160px at 100% 0%, rgba(147, 197, 253, .35), transparent 60%), linear-gradient(135deg, #1e3a8a, #2563eb);
}
.ut-est-total__label { font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .85; }
.ut-est-total__value { font-size: clamp(1.6rem, 3.2vw, 2.15rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
.ut-est-total__sub { font-size: .85rem; opacity: .88; }
.ut-est-refund { display: flex; gap: 10px; align-items: flex-start; margin: 14px 16px 0; padding: 12px 14px; border-radius: 12px; background: var(--ut-success-bg); border: 1px solid var(--ut-success-line); color: #14532d; font-size: .88rem; line-height: 1.5; }
.ut-est-refund .ut-icon { width: 18px; height: 18px; margin-top: 2px; color: var(--ut-success); }
.ut-est-lines { padding: 4px 16px; }
.ut-est-group { padding: 14px 0; border-bottom: 1px solid var(--ut-line-soft); }
.ut-est-group:last-child { border-bottom: 0; }
.ut-est-group__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.ut-est-group__name { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--ut-ink); font-size: .95rem; }
.ut-est-group__name .ut-icon { width: 16px; height: 16px; }
.ut-est-group__name .ut-ic { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; }
.ut-est-group__sum { font-weight: 800; color: var(--ut-ink); font-size: .95rem; white-space: nowrap; }
.ut-line { display: flex; justify-content: space-between; gap: 12px; font-size: .85rem; padding: 4px 0; }
.ut-line__label { color: var(--ut-text); display: flex; gap: 8px; align-items: baseline; min-width: 0; }
.ut-line__val { color: var(--ut-ink); font-weight: 600; white-space: nowrap; text-align: right; }
.ut-line__val--muted { color: var(--ut-success); font-weight: 600; white-space: normal; }
.ut-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; flex: none; transform: translateY(-1px); }
.ut-dot--reg { background: var(--ut-primary); }
.ut-dot--mkt { background: #f59e0b; }
.ut-est-note { display: flex; gap: 8px; font-size: .8rem; color: var(--ut-muted); line-height: 1.5; margin-top: 6px; }
.ut-est-note .ut-icon { width: 14px; height: 14px; margin-top: 3px; }
.ut-est-note--warn { color: var(--ut-warn); }
.ut-est-empty { padding: 18px 0; font-size: .9rem; color: var(--ut-muted); text-align: center; }
.ut-est-legend { display: flex; flex-wrap: wrap; gap: 14px; padding: 0 16px; font-size: .78rem; color: var(--ut-muted); }
.ut-est-legend span { display: inline-flex; align-items: center; gap: 6px; }
.ut-est-result > .ut-small { padding: 0 16px; }

/* Bara compacta cu totalul, pe ecrane unde rezultatul e sub formular */
.ut-est-mini {
  position: fixed; left: 12px; right: 12px; bottom: calc(76px + env(safe-area-inset-bottom, 0px)); z-index: 45;
  display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 14px; color: #fff;
  background: linear-gradient(135deg, #1e3a8a, #2563eb); box-shadow: 0 12px 30px rgba(15, 23, 42, .3);
  animation: utFade .2s ease-out;
}
.ut-est-mini__label { font-size: .78rem; opacity: .85; }
.ut-est-mini__value { font-size: 1.05rem; font-weight: 800; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ut-est-mini__go { display: inline-flex; align-items: center; gap: 4px; font-size: .82rem; font-weight: 600; opacity: .95; }
.ut-est-mini__go .ut-icon { width: 16px; height: 16px; }
@media (min-width: 768px) { .ut-est-mini { left: auto; right: 20px; bottom: 20px; min-width: 340px; } }
@media (min-width: 1100px) { .ut-est-mini { display: none !important; } }

/* ---------- Operatori ---------- */
.ut-op-finder { background: #fff; border: 1px solid var(--ut-line); border-radius: var(--ut-radius); padding: 20px; }
.ut-op-cards { display: grid; gap: 12px; margin-top: 16px; }
@media (min-width: 1100px) { .ut-op-cards { grid-template-columns: repeat(3, 1fr); } }
.ut-op-card { display: flex; gap: 12px; padding: 16px; border: 1px solid var(--ut-line); border-radius: 14px; background: var(--ut-bg); animation: utFade .25s ease-out; min-width: 0; }
.ut-op-card > div { min-width: 0; }
.ut-op-card__icon { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; flex: none; }
.ut-op-card__icon .ut-icon { width: 20px; height: 20px; }
.ut-op-card__kicker { display: block; font-size: .7rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--ut-muted); }
.ut-op-card__name { display: block; color: var(--ut-ink); font-size: 1rem; line-height: 1.35; margin: 2px 0 4px; }
.ut-op-card .ut-muted { display: block; font-size: .86rem; line-height: 1.5; }
.ut-op-card__links { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 8px; }
.ut-op-card__links a { display: inline-flex; align-items: center; gap: 4px; font-size: .84rem; font-weight: 600; color: var(--ut-primary-700); overflow-wrap: anywhere; }
.ut-op-card__links a:hover { text-decoration: underline; }
.ut-op-card__links .ut-icon { width: 12px; height: 12px; }

.ut-details { margin-top: 14px; border: 1px solid var(--ut-line); border-radius: 14px; background: #fff; }
.ut-details summary { display: flex; align-items: center; gap: 10px; padding: 14px 16px; cursor: pointer; font-weight: 600; color: var(--ut-ink); list-style: none; }
.ut-details summary::-webkit-details-marker { display: none; }
.ut-details summary .ut-icon { width: 18px; height: 18px; color: var(--ut-primary); }
.ut-details__chev { margin-left: auto; transition: transform .2s; color: var(--ut-muted) !important; }
.ut-details[open] .ut-details__chev { transform: rotate(180deg); }
.ut-details > .ut-small { padding: 0 16px 16px; margin-top: 0; }
.ut-op-groups { display: grid; gap: 10px; padding: 0 16px 14px; }
@media (min-width: 760px) { .ut-op-groups { grid-template-columns: 1fr 1fr; } }
.ut-op-group { padding: 12px 14px; background: var(--ut-bg); border-radius: 12px; border: 1px solid var(--ut-line-soft); }
.ut-op-group strong { display: block; color: var(--ut-ink); font-size: .92rem; }
.ut-op-group .ut-muted { font-size: .8rem; }
.ut-op-group p { font-size: .9rem; margin-top: 4px; line-height: 1.55; }

/* ---------- Checklist ---------- */
.ut-checklist { background: #fff; border: 1px solid var(--ut-line); border-radius: var(--ut-radius); padding: 20px; }
.ut-progress__top { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; justify-content: space-between; }
.ut-progress__top > span { font-weight: 700; color: var(--ut-ink); }
.ut-progress__actions { display: flex; gap: 4px; flex-wrap: wrap; }
.ut-progress__bar { height: 10px; border-radius: 999px; background: var(--ut-line-soft); overflow: hidden; margin-top: 10px; }
.ut-progress__bar span { display: block; height: 100%; width: 0; border-radius: 999px; background: linear-gradient(90deg, #2563eb, #22c55e); transition: width .35s ease; }
.ut-check-groups { display: grid; gap: 14px; margin-top: 18px; }
@media (min-width: 900px) { .ut-check-groups { grid-template-columns: 1fr 1fr; } }
.ut-check-group { padding: 14px 16px; border: 1px solid var(--ut-line-soft); border-radius: 14px; background: var(--ut-bg); }
.ut-check-group__title { font-size: .95rem; font-weight: 700; color: var(--ut-ink); margin-bottom: 4px; }
.ut-check-group li { margin: 9px 0; }
.ut-check-group .ut-check input:checked + span { color: var(--ut-muted); text-decoration: line-through; text-decoration-color: rgba(100, 116, 139, .5); }

/* ---------- FAQ ---------- */
.ut-faq { background: #fff; border: 1px solid var(--ut-line); border-radius: var(--ut-radius); overflow: hidden; }
.ut-faq__item + .ut-faq__item { border-top: 1px solid var(--ut-line-soft); }
.ut-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; cursor: pointer; font-weight: 600; color: var(--ut-ink); list-style: none; line-height: 1.45; }
.ut-faq__item summary::-webkit-details-marker { display: none; }
.ut-faq__item summary:hover { background: var(--ut-bg); }
.ut-faq__item summary:focus-visible { outline: 3px solid rgba(37, 99, 235, .3); outline-offset: -3px; }
.ut-faq__chev { width: 18px; height: 18px; color: var(--ut-muted); transition: transform .2s; }
.ut-faq__item[open] .ut-faq__chev { transform: rotate(180deg); }
.ut-faq__item p { padding: 0 20px 18px; font-size: .95rem; line-height: 1.7; }

/* ---------- Surse si avertizare ---------- */
.ut-sources { counter-reset: src; background: #fff; border: 1px solid var(--ut-line); border-radius: var(--ut-radius); padding: 6px 18px; }
.ut-sources li { counter-increment: src; position: relative; padding: 11px 0 11px 30px; border-bottom: 1px solid var(--ut-line-soft); font-size: .9rem; line-height: 1.5; }
.ut-sources li:last-child { border-bottom: 0; }
.ut-sources li::before { content: counter(src); position: absolute; left: 0; top: 11px; width: 20px; height: 20px; border-radius: 6px; background: var(--ut-line-soft); color: var(--ut-muted); font-size: .72rem; font-weight: 700; display: grid; place-items: center; }
.ut-sources a { color: var(--ut-primary-700); }
.ut-sources a:hover { text-decoration: underline; }
.ut-sources .ut-icon { width: 12px; height: 12px; margin-left: 2px; }
.ut-disclaimer { display: flex; gap: 10px; margin-top: 18px; padding: 14px 16px; background: #fff; border: 1px solid var(--ut-line); border-radius: 12px; font-size: .85rem; color: var(--ut-muted); line-height: 1.55; }
.ut-disclaimer .ut-icon { width: 18px; height: 18px; margin-top: 1px; color: var(--ut-primary); }

/* ---------- CTA ---------- */
.ut-cta {
  margin: 56px 0 64px; padding: clamp(22px, 4vw, 34px); border-radius: 22px; color: #fff;
  display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between;
  background: radial-gradient(600px 200px at 100% 0%, rgba(147, 197, 253, .35), transparent 60%), linear-gradient(135deg, #1e3a8a, #2563eb);
}
.ut-cta h2 { font-size: clamp(1.25rem, 2.4vw, 1.6rem); font-weight: 800; color: #fff; letter-spacing: -.01em; }
.ut-cta p { opacity: .9; margin-top: 4px; max-width: 56ch; }
.ut-cta__actions { display: flex; flex-wrap: wrap; gap: 10px; }

/* ---------- Pagina /utile ---------- */
.ut-tools-grid { display: grid; gap: 18px; margin-top: -56px; position: relative; z-index: 2; }
@media (min-width: 860px) { .ut-tools-grid { grid-template-columns: 1fr 1fr; } }
/* 2 coloane pe tabletă, 3 pe desktop. Cardul de sugestie completează ultimul rând: dacă rămân cel puțin
   două coloane libere (data-rest2 / data-rest3 = restul împărțirii numărului de instrumente) devine bandă orizontală */
@media (min-width: 1100px) {
  .ut-tools-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 860px) and (max-width: 1099.98px) {
  .ut-tools-grid .ut-tool-card--suggest[data-rest2="0"] { grid-column: 1 / -1; }
}
@media (min-width: 1100px) {
  .ut-tools-grid .ut-tool-card--suggest[data-rest3="0"] { grid-column: 1 / -1; }
  .ut-tools-grid .ut-tool-card--suggest[data-rest3="1"] { grid-column: span 2; }
}
@media (min-width: 860px) and (max-width: 1099.98px) {
  .ut-tools-grid .ut-tool-card--suggest[data-rest2="0"] { display: grid; grid-template-columns: auto 1fr auto; align-items: center; column-gap: 18px; row-gap: 4px; }
  .ut-tools-grid .ut-tool-card--suggest[data-rest2="0"] .ut-tool-card__top { grid-column: 1; grid-row: 1 / span 2; }
  .ut-tools-grid .ut-tool-card--suggest[data-rest2="0"] .ut-tool-card__title, .ut-tools-grid .ut-tool-card--suggest[data-rest2="0"] .ut-tool-card__desc { grid-column: 2; }
  .ut-tools-grid .ut-tool-card--suggest[data-rest2="0"] .ut-tool-card__footer { grid-column: 3; grid-row: 1 / span 2; border-top: 0; padding-top: 0; margin-top: 0; }
}
@media (min-width: 1100px) {
  .ut-tools-grid .ut-tool-card--suggest:not([data-rest3="2"]) { display: grid; grid-template-columns: auto 1fr auto; align-items: center; column-gap: 18px; row-gap: 4px; }
  .ut-tools-grid .ut-tool-card--suggest:not([data-rest3="2"]) .ut-tool-card__top { grid-column: 1; grid-row: 1 / span 2; }
  .ut-tools-grid .ut-tool-card--suggest:not([data-rest3="2"]) .ut-tool-card__title, .ut-tools-grid .ut-tool-card--suggest:not([data-rest3="2"]) .ut-tool-card__desc { grid-column: 2; }
  .ut-tools-grid .ut-tool-card--suggest:not([data-rest3="2"]) .ut-tool-card__footer { grid-column: 3; grid-row: 1 / span 2; border-top: 0; padding-top: 0; margin-top: 0; }
}
.ut-tool-card {
  display: flex; flex-direction: column; gap: 12px; padding: clamp(20px, 3vw, 28px); background: #fff;
  border: 1px solid var(--ut-line); border-radius: 22px; box-shadow: var(--ut-shadow);
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.ut-tool-card:hover { transform: translateY(-3px); box-shadow: var(--ut-shadow-lg); border-color: var(--ut-primary-100); }
.ut-tool-card:focus-visible { outline: 3px solid rgba(37, 99, 235, .35); outline-offset: 3px; }
.ut-tool-card__top { display: flex; align-items: center; justify-content: space-between; }
.ut-tool-card__icon { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, #3b82f6, #1d4ed8); box-shadow: 0 10px 20px rgba(37, 99, 235, .28); }
.ut-tool-card__icon .ut-icon { width: 26px; height: 26px; }
.ut-tool-card__icon--muted { background: #e2e8f0; color: var(--ut-muted); box-shadow: none; }
.ut-tool-card__title { font-size: clamp(1.3rem, 2.4vw, 1.6rem); font-weight: 800; color: var(--ut-ink); letter-spacing: -.015em; line-height: 1.2; }
.ut-tool-card__desc { font-size: .98rem; line-height: 1.65; color: var(--ut-text); }
.ut-tool-card__utilities { display: flex; flex-wrap: wrap; gap: 8px; }
.ut-u-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border-radius: 999px; font-size: .8rem; font-weight: 600; }
.ut-u-chip .ut-icon { width: 14px; height: 14px; }
.ut-u-chip--curent { background: var(--ut-curent-bg); color: #854d0e; }
.ut-u-chip--gaz { background: var(--ut-gaz-bg); color: #9a3412; }
.ut-u-chip--apa { background: var(--ut-apa-bg); color: #075985; }
.ut-u-chip--canal { background: var(--ut-canal-bg); color: #115e59; }
.ut-u-chip--neutral { background: var(--ut-line-soft); color: var(--ut-text); }
.ut-tool-card__tags { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.ut-tool-card__tags li { display: inline-flex; align-items: center; gap: 6px; font-size: .86rem; color: var(--ut-text); }
.ut-tool-card__tags .ut-icon { width: 15px; height: 15px; color: #16a34a; }
.ut-tool-card__footer { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--ut-line-soft); display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: .85rem; }
.ut-tool-card__cta { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--ut-primary-700); font-size: .95rem; }
.ut-tool-card__cta .ut-icon { transition: transform .2s; }
.ut-tool-card:hover .ut-tool-card__cta .ut-icon { transform: translateX(3px); }
.ut-tool-card--suggest { background: var(--ut-bg); border-style: dashed; box-shadow: none; }

/* =========================================================
   Instrumentul „Ce acte îmi trebuie?”
   ========================================================= */
.ut-btn--primary { background: var(--ut-primary); color: #fff; }
.ut-btn--primary:hover { background: var(--ut-primary-700); }
.ut-anchor { position: relative; top: calc(-1 * var(--ut-sticky-top) - 24px); display: block; height: 0; }
.ut-layout--single { display: block !important; }

.ut-hero-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ut-hero-fact {
  display: flex; flex-direction: column; gap: 4px; padding: 16px; border-radius: 16px; color: #fff;
  background: rgba(255, 255, 255, .13); border: 1px solid rgba(255, 255, 255, .22);
}
.ut-hero-fact strong { font-size: 1.45rem; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.ut-hero-fact span { font-size: .8rem; color: rgba(255, 255, 255, .82); line-height: 1.4; }
@media (max-width: 480px) { .ut-hero-fact { padding: 12px; } .ut-hero-fact strong { font-size: 1.2rem; } .ut-hero-fact span { font-size: .74rem; } }

/* Configurator */
.ut-config {
  position: relative; z-index: 3; margin-top: -64px; padding: clamp(18px, 3vw, 28px); background: #fff;
  border: 1px solid var(--ut-line); border-radius: 22px; box-shadow: var(--ut-shadow-lg);
}
.ut-config__step { border: 0; margin: 0; padding: 0 0 20px; min-width: 0; }
.ut-config__step + .ut-config__step { padding-top: 20px; border-top: 1px solid var(--ut-line-soft); }
.ut-config__step:last-of-type { padding-bottom: 0; }
.ut-config__legend { float: left; width: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 1rem; font-weight: 700; color: var(--ut-ink); margin-bottom: 12px; padding: 0; }
.ut-config__legend + * { clear: both; }
.ut-config__num { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-size: .8rem; font-weight: 800; color: #fff; background: var(--ut-primary); }
.ut-config__opt { font-size: .78rem; font-weight: 500; color: var(--ut-muted); }

.ut-choice-grid { display: grid; gap: 10px; }
.ut-choice-grid--2 { grid-template-columns: 1fr 1fr; }
.ut-choice-grid--5 { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
@media (max-width: 520px) { .ut-choice-grid--5 { grid-template-columns: 1fr 1fr; } }
.ut-choice { position: relative; min-width: 0; }
.ut-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ut-choice__card {
  position: relative; display: flex; align-items: center; gap: 12px; height: 100%; padding: 14px 16px; background: #fff;
  border: 1.5px solid var(--ut-line); border-radius: 14px; cursor: pointer; transition: border-color .15s, background-color .15s, box-shadow .15s;
}
.ut-choice__card:hover { border-color: #cbd5e1; }
.ut-choice input:checked + .ut-choice__card { border-color: var(--ut-primary); background: var(--ut-primary-50); box-shadow: 0 0 0 3px rgba(37, 99, 235, .12); }
.ut-choice input:focus-visible + .ut-choice__card { outline: 3px solid rgba(37, 99, 235, .4); outline-offset: 2px; }
.ut-choice__icon { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; flex: none; background: var(--ut-line-soft); color: var(--ut-muted); transition: background-color .15s, color .15s; }
.ut-choice__icon .ut-icon { width: 22px; height: 22px; }
.ut-choice input:checked + .ut-choice__card .ut-choice__icon { background: var(--ut-primary); color: #fff; }
.ut-choice__text { min-width: 0; }
.ut-choice__text strong { display: block; font-size: 1rem; color: var(--ut-ink); line-height: 1.3; }
.ut-choice__text small { display: block; font-size: .8rem; color: var(--ut-muted); line-height: 1.35; margin-top: 2px; }
.ut-choice__tick { position: absolute; top: 8px; right: 8px; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; background: var(--ut-primary); color: #fff; opacity: 0; transform: scale(.6); transition: opacity .15s, transform .15s; }
.ut-choice__tick .ut-icon { width: 12px; height: 12px; }
.ut-choice input:checked + .ut-choice__card .ut-choice__tick { opacity: 1; transform: scale(1); }
.ut-choice--compact .ut-choice__card { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; }
@media (max-width: 520px) {
  .ut-choice__card { padding: 12px; gap: 10px; }
  .ut-choice__icon { width: 36px; height: 36px; }
  .ut-choice__text strong { font-size: .92rem; }
  .ut-choice__text small { font-size: .74rem; }
}

.ut-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ut-chip { position: relative; }
.ut-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ut-chip > span {
  display: inline-flex; align-items: center; gap: 7px; padding: 8px 13px; border-radius: 999px; border: 1px solid var(--ut-line);
  background: #fff; font-size: .86rem; font-weight: 600; color: var(--ut-text); cursor: pointer; transition: all .15s; line-height: 1.3;
}
.ut-chip > span .ut-icon { width: 15px; height: 15px; color: var(--ut-muted); }
.ut-chip > span:hover { border-color: #cbd5e1; color: var(--ut-ink); }
.ut-chip input:checked + span { background: var(--ut-primary-50); border-color: var(--ut-primary); color: var(--ut-primary-700); }
.ut-chip input:checked + span .ut-icon { color: var(--ut-primary); }
.ut-chip input:focus-visible + span { outline: 3px solid rgba(37, 99, 235, .4); outline-offset: 2px; }

/* Bara de rezultat */
.ut-result-bar {
  display: grid; gap: 12px; align-items: center; padding: 16px 18px; margin-top: 8px; background: #fff;
  border: 1px solid var(--ut-line); border-radius: 16px; box-shadow: var(--ut-shadow);
}
@media (min-width: 900px) { .ut-result-bar { grid-template-columns: auto 1fr auto; gap: 24px; } }
.ut-result-bar__count { display: flex; align-items: center; gap: 12px; }
.ut-result-bar__count > strong { font-size: 2.2rem; font-weight: 800; color: var(--ut-primary-700); line-height: 1; letter-spacing: -.02em; }
.ut-result-bar__count > span { font-weight: 700; color: var(--ut-ink); line-height: 1.35; }
.ut-result-bar__count small, .ut-result-bar__lead small { display: block; font-size: .8rem; font-weight: 500; color: var(--ut-muted); }
.ut-result-bar__lead { display: flex; align-items: flex-start; gap: 8px; font-size: .92rem; color: var(--ut-text); }
.ut-result-bar__lead > .ut-icon { width: 18px; height: 18px; color: var(--ut-primary); margin-top: 2px; }
.ut-result-bar__actions { display: flex; flex-wrap: wrap; gap: 4px; }
@media (min-width: 900px) { .ut-result-bar__actions { justify-content: flex-end; } }
.ut-link-btn.is-done { background: #dcfce7; color: #166534; }
.ut-progress--inline { margin-top: 12px; padding: 14px 16px; background: #fff; border: 1px solid var(--ut-line); border-radius: 14px; }
.ut-progress--inline .ut-progress__top > span { font-weight: 600; font-size: .92rem; }

/* Etape si carduri de acte */
.ut-phase { margin-top: 30px; }
.ut-phase__head { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.ut-phase__num { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; flex: none; font-weight: 800; font-size: 1.05rem; color: #fff; background: linear-gradient(135deg, #3b82f6, #1d4ed8); box-shadow: 0 8px 18px rgba(37, 99, 235, .28); }
.ut-phase__title { font-size: clamp(1.1rem, 2vw, 1.3rem); font-weight: 800; color: var(--ut-ink); line-height: 1.25; }
.ut-phase__sub { font-size: .9rem; color: var(--ut-muted); }
.ut-doc-group + .ut-doc-group { margin-top: 20px; }
.ut-doc-group__head { margin: 4px 0 10px; }
.ut-doc-group__title { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--ut-muted); }
.ut-doc-group__sub { font-size: .86rem; color: var(--ut-muted); margin-top: 2px; }
.ut-doc-list { display: grid; gap: 12px; }
@media (min-width: 1024px) { .ut-doc-list { grid-template-columns: 1fr 1fr; align-items: start; } }

.ut-doc {
  display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; padding: 18px; background: #fff;
  border: 1px solid var(--ut-line); border-left: 4px solid var(--ut-primary); border-radius: 16px;
  transition: opacity .2s, background-color .2s, box-shadow .2s; min-width: 0;
}
.ut-doc:hover { box-shadow: var(--ut-shadow); }
.ut-doc--daca { border-left-color: #f59e0b; }
.ut-doc--recomandat { border-left-color: #22c55e; }
.ut-doc--buyer { background: #fffdf9; }
.ut-doc.is-done { background: var(--ut-bg); }
.ut-doc.is-done .ut-doc__body { opacity: .72; }
.ut-doc.is-done .ut-doc__title { text-decoration: line-through; text-decoration-color: rgba(100, 116, 139, .55); }
.ut-doc__check { position: relative; padding-top: 6px; cursor: pointer; }
.ut-doc__check input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ut-doc__box { width: 26px; height: 26px; border-radius: 8px; border: 2px solid #cbd5e1; display: grid; place-items: center; color: transparent; background: #fff; transition: all .15s; }
.ut-doc__box .ut-icon { width: 15px; height: 15px; }
.ut-doc__check:hover .ut-doc__box { border-color: var(--ut-primary); }
.ut-doc__check input:checked + .ut-doc__box { background: #16a34a; border-color: #16a34a; color: #fff; }
.ut-doc__check input:focus-visible + .ut-doc__box { outline: 3px solid rgba(37, 99, 235, .4); outline-offset: 2px; }
.ut-doc__body { min-width: 0; }
.ut-doc__head { display: flex; align-items: flex-start; gap: 12px; }
.ut-doc__icon { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; flex: none; background: var(--ut-primary-50); color: var(--ut-primary-700); }
.ut-doc__icon .ut-icon { width: 19px; height: 19px; }
.ut-doc--daca .ut-doc__icon { background: #fef3c7; color: #b45309; }
.ut-doc--recomandat .ut-doc__icon { background: #dcfce7; color: #15803d; }
.ut-doc__titles { min-width: 0; }
.ut-doc__title { font-size: 1rem; font-weight: 700; color: var(--ut-ink); line-height: 1.35; }
.ut-doc__badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.ut-imp, .ut-who { display: inline-flex; align-items: center; padding: 3px 9px; border-radius: 999px; font-size: .7rem; font-weight: 700; line-height: 1.4; }
.ut-imp { text-transform: uppercase; letter-spacing: .05em; }
.ut-imp--obligatoriu { background: #dbeafe; color: #1e40af; }
.ut-imp--daca { background: #fef3c7; color: #92400e; }
.ut-imp--recomandat { background: #dcfce7; color: #166534; }
.ut-who { background: var(--ut-line-soft); color: var(--ut-muted); }
.ut-who--notar { background: #ede9fe; color: #5b21b6; }
.ut-who--vanzator { background: #ffedd5; color: #9a3412; }
.ut-doc__what { font-size: .92rem; line-height: 1.62; margin-top: 10px; }
.ut-doc__verify { display: flex; gap: 8px; align-items: flex-start; margin-top: 10px; padding: 10px 12px; border-radius: 10px; background: #fff7ed; border: 1px solid #fed7aa; font-size: .9rem; line-height: 1.55; }
.ut-doc__verify .ut-icon { width: 16px; height: 16px; color: #c2410c; margin-top: 3px; }
.ut-doc__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
@media (max-width: 420px) { .ut-doc__facts { grid-template-columns: 1fr; } }
@media (max-width: 560px) {
  .ut-doc { position: relative; grid-template-columns: minmax(0, 1fr); padding: 16px; }
  .ut-doc__check { position: absolute; top: 14px; right: 14px; padding-top: 0; z-index: 1; }
  .ut-doc__titles { padding-right: 34px; }
  .ut-choice-grid--2 .ut-choice__card { flex-direction: column; align-items: flex-start; }
}
.ut-doc__facts > div { background: var(--ut-bg); border: 1px solid var(--ut-line-soft); border-radius: 10px; padding: 8px 10px; min-width: 0; }
.ut-doc__facts dt { font-size: .66rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--ut-muted); }
.ut-doc__facts dd { font-size: .85rem; color: var(--ut-ink); line-height: 1.45; margin: 2px 0 0; overflow-wrap: anywhere; }
.ut-doc__tips { margin-top: 10px; }
.ut-doc__tips li { display: flex; gap: 8px; align-items: flex-start; font-size: .85rem; line-height: 1.5; color: var(--ut-text); margin-top: 6px; }
.ut-doc__tips .ut-icon { width: 15px; height: 15px; color: #ca8a04; margin-top: 3px; }
.ut-doc__more { margin-top: 10px; }
.ut-doc__more summary { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; list-style: none; font-size: .85rem; font-weight: 600; color: var(--ut-primary-700); }
.ut-doc__more summary::-webkit-details-marker { display: none; }
.ut-doc__more summary .ut-icon { width: 15px; height: 15px; transition: transform .2s; }
.ut-doc__more[open] summary .ut-icon { transform: rotate(180deg); }
.ut-doc__more p { font-size: .88rem; line-height: 1.6; margin-top: 6px; }
.ut-doc__link { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-size: .9rem; font-weight: 700; color: var(--ut-primary-700); }
.ut-doc__link:hover { text-decoration: underline; }
.ut-doc__refs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.ut-ref--link { gap: 4px; color: var(--ut-primary-700); border: 1px solid #dbeafe; background: #f8fbff; transition: background-color .15s; }
.ut-ref--link:hover { background: var(--ut-primary-50); }
.ut-ref--link .ut-icon { width: 12px; height: 12px; }
.ut-sources li:target { background: #fefce8; border-radius: 8px; }
.ut-empty { margin-top: 20px; padding: 20px; text-align: center; color: var(--ut-muted); background: #fff; border: 1px dashed #cbd5e1; border-radius: 14px; }

/* Calculator de costuri */
.ut-input-group { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ut-input-group .ut-input { max-width: 220px; }
.ut-est-fields--first { border-top: 0; }
.ut-btn--sm { padding: 9px 13px; font-size: .85rem; border-radius: 10px; }
.ut-btn--sm .ut-icon { width: 15px; height: 15px; }
.ut-fx { display: flex; align-items: flex-start; gap: 8px; margin-top: 8px; font-size: .84rem; line-height: 1.5; color: var(--ut-muted); }
.ut-fx:empty { display: none; }
.ut-fx::before { content: ""; flex: none; width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background: #cbd5e1; }
.ut-fx--ok { color: #166534; }
.ut-fx--ok::before { background: #22c55e; box-shadow: 0 0 0 3px rgba(34, 197, 94, .18); }
.ut-fx--warn { color: var(--ut-warn); }
.ut-fx--warn::before { background: #f59e0b; }
.ut-fx--error { color: #b91c1c; }
.ut-fx--error::before { background: #ef4444; }

/* =========================================================
   Ghidul „Vânzarea terenului agricol, pas cu pas”
   ========================================================= */
.ut-btn--lg { padding: 15px 22px; font-size: 1rem; }

/* Verificare: se aplică procedura? */
.ut-checker { display: grid; gap: 16px; align-items: start; }
@media (min-width: 1100px) { .ut-checker { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); } }
.ut-checker__qs { display: grid; gap: 18px; padding: 20px; background: #fff; border: 1px solid var(--ut-line); border-radius: var(--ut-radius); }
.ut-checker__results { min-width: 0; }
@media (min-width: 1100px) { .ut-checker__results { position: sticky; top: calc(var(--ut-sticky-top) + 20px); } }
.ut-verdict { display: flex; gap: 14px; padding: 20px; border-radius: 18px; border: 1px solid; animation: utFade .25s ease-out; }
.ut-verdict strong { display: block; font-size: 1.1rem; color: var(--ut-ink); line-height: 1.3; margin-bottom: 6px; }
.ut-verdict p { font-size: .93rem; line-height: 1.62; margin-bottom: 10px; }
.ut-verdict__icon { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; flex: none; }
.ut-verdict__icon .ut-icon { width: 22px; height: 22px; }
.ut-verdict--neutral { background: #fff; border-color: var(--ut-line); }
.ut-verdict--neutral .ut-verdict__icon { background: var(--ut-line-soft); color: var(--ut-muted); }
.ut-verdict--warn { background: var(--ut-warn-bg); border-color: var(--ut-warn-line); }
.ut-verdict--warn .ut-verdict__icon { background: #fef3c7; color: var(--ut-warn); }
.ut-verdict--ok { background: var(--ut-success-bg); border-color: var(--ut-success-line); }
.ut-verdict--ok .ut-verdict__icon { background: #dcfce7; color: var(--ut-success); }
.ut-verdict__link { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: .92rem; color: var(--ut-primary-700); margin: 0 10px 8px 0; }
.ut-verdict__link:hover { text-decoration: underline; }
.ut-verdict__link .ut-icon { width: 16px; height: 16px; }

/* Rangurile preemptorilor */
.ut-ranks { display: grid; gap: 18px; align-items: start; }
@media (min-width: 1100px) { .ut-ranks { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); } }
.ut-rank-list { display: grid; gap: 10px; counter-reset: none; }
.ut-rank { position: relative; display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 14px; padding: 16px; background: #fff; border: 1px solid var(--ut-line); border-radius: 16px; }
.ut-rank:not(:last-child)::after { content: ""; position: absolute; left: 44px; bottom: -11px; width: 2px; height: 12px; background: #cbd5e1; }
.ut-rank__num {
  width: 58px; height: 58px; border-radius: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center;
  font-weight: 800; font-size: 1.2rem; line-height: 1; color: #fff; background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}
.ut-rank__num small { font-size: .58rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; opacity: .85; margin-bottom: 3px; }
.ut-rank:nth-child(n+3) .ut-rank__num { background: linear-gradient(135deg, #60a5fa, #2563eb); }
.ut-rank:nth-child(n+5) .ut-rank__num { background: linear-gradient(135deg, #93c5fd, #3b82f6); }
.ut-rank:last-child .ut-rank__num { background: linear-gradient(135deg, #94a3b8, #475569); }
.ut-rank__title { font-size: 1rem; font-weight: 700; color: var(--ut-ink); line-height: 1.35; margin-bottom: 4px; }
.ut-rank__body p { font-size: .92rem; line-height: 1.6; margin-bottom: 8px; }
.ut-rank__cond li { display: flex; gap: 8px; font-size: .86rem; line-height: 1.5; margin: 4px 0; }
.ut-rank__cond .ut-icon { width: 15px; height: 15px; color: #16a34a; margin-top: 3px; }
.ut-rank__docs { display: flex; gap: 8px; font-size: .85rem !important; color: var(--ut-muted); background: var(--ut-bg); border-radius: 10px; padding: 8px 10px; margin-top: 8px; }
.ut-rank__docs .ut-icon { width: 15px; height: 15px; color: var(--ut-primary); margin-top: 3px; }
.ut-rank-rules { background: #fff; border: 1px solid var(--ut-line); border-radius: var(--ut-radius); padding: 20px; }
@media (min-width: 1100px) { .ut-rank-rules { position: sticky; top: calc(var(--ut-sticky-top) + 20px); } }
.ut-rank-rules .ut-h4 { margin-top: 0; }
@media (max-width: 520px) {
  .ut-rank { grid-template-columns: 46px minmax(0, 1fr); gap: 12px; padding: 14px; }
  .ut-rank__num { width: 46px; height: 46px; font-size: 1rem; border-radius: 12px; }
  .ut-rank:not(:last-child)::after { left: 36px; }
}

/* Pașii, cu cine se ocupă */
.ut-steps--teren > li::before { color: #fff; background: var(--ut-primary); border-color: var(--ut-primary-100); }
.ut-steps__top { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding-top: 4px; margin-bottom: 6px; }
.ut-who-chip { display: inline-flex; align-items: center; gap: 6px; font-size: .75rem; font-weight: 700; color: var(--ut-primary-700); background: var(--ut-primary-50); border-radius: 999px; padding: 4px 10px; }
.ut-who-chip .ut-icon { width: 14px; height: 14px; }
.ut-steps__title { font-size: 1.02rem; font-weight: 700; color: var(--ut-ink); line-height: 1.4; margin-bottom: 4px; }
.ut-steps--teren > li { padding-bottom: 22px; }
.ut-steps--teren .ut-steps__body { background: #fff; border: 1px solid var(--ut-line); border-radius: 14px; padding: 14px 16px; }
.ut-steps--teren > li::after { top: 40px; }

/* Calculator de termene */
.ut-seg--stack { display: flex; flex-direction: column; align-items: stretch; width: 100%; max-width: 420px; }
.ut-seg--stack span { text-align: left; }
.ut-cal-list { padding: 8px 16px 4px; }
.ut-cal-item { position: relative; display: grid; grid-template-columns: 14px minmax(0, 1fr); column-gap: 12px; padding: 0 0 14px; }
.ut-cal-item::before { content: ""; grid-row: 1 / span 3; width: 12px; height: 12px; margin-top: 4px; border-radius: 50%; background: #fff; border: 3px solid #93c5fd; position: relative; z-index: 1; }
.ut-cal-item::after { content: ""; position: absolute; left: 5px; top: 16px; bottom: 0; width: 2px; background: var(--ut-line); }
.ut-cal-item:last-child::after { display: none; }
.ut-cal-item__date { grid-column: 2; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--ut-primary-700); }
.ut-cal-item__title { grid-column: 2; font-size: .92rem; font-weight: 600; color: var(--ut-ink); line-height: 1.4; }
.ut-cal-item__note { grid-column: 2; font-size: .8rem; color: var(--ut-muted); line-height: 1.45; }
.ut-cal-item--start::before { border-color: var(--ut-primary); background: var(--ut-primary); }
.ut-cal-item--key::before { border-color: #f59e0b; }
.ut-cal-item--final::before { border-color: #16a34a; background: #16a34a; }
.ut-cal-item--final .ut-cal-item__date { color: #15803d; }
.ut-cal-item--expire::before { border-color: #ef4444; }
.ut-cal-item--expire .ut-cal-item__date { color: #b91c1c; }

/* Greșeli care anulează vânzarea */
.ut-warn-grid { display: grid; gap: 12px; }
@media (min-width: 640px) { .ut-warn-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .ut-warn-grid { grid-template-columns: repeat(3, 1fr); } }
.ut-warn-card { display: flex; flex-direction: column; gap: 6px; padding: 18px; background: #fff; border: 1px solid var(--ut-line); border-top: 3px solid #f59e0b; border-radius: 16px; }
.ut-warn-card__icon { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: #fef3c7; color: var(--ut-warn); margin-bottom: 4px; }
.ut-warn-card__icon .ut-icon { width: 19px; height: 19px; }
.ut-warn-card h3 { font-size: 1rem; font-weight: 700; color: var(--ut-ink); line-height: 1.35; }
.ut-warn-card p { font-size: .9rem; line-height: 1.6; flex: 1; }
.ut-warn-card .ut-ref { align-self: flex-start; }

/* Publică anunțul */
.ut-listing-cta {
  display: grid; gap: 22px; align-items: center; padding: clamp(22px, 4vw, 36px); border-radius: 24px; color: #fff;
  background:
    radial-gradient(500px 220px at 100% 0%, rgba(134, 239, 172, .28), transparent 60%),
    radial-gradient(500px 200px at 0% 100%, rgba(147, 197, 253, .3), transparent 60%),
    linear-gradient(135deg, #14532d, #15803d 45%, #2563eb);
  box-shadow: var(--ut-shadow-lg);
}
@media (min-width: 900px) { .ut-listing-cta { grid-template-columns: minmax(0, 1.4fr) auto; } }
.ut-listing-cta h2 { font-size: clamp(1.4rem, 2.6vw, 1.9rem); font-weight: 800; letter-spacing: -.02em; margin: 12px 0 6px; color: #fff; }
.ut-listing-cta p { opacity: .92; max-width: 56ch; }
.ut-listing-cta ul { margin-top: 12px; display: grid; gap: 6px; }
.ut-listing-cta li { display: flex; align-items: center; gap: 8px; font-size: .93rem; }
.ut-listing-cta li .ut-icon { width: 17px; height: 17px; color: #86efac; }
.ut-listing-cta__actions { display: flex; flex-direction: column; gap: 10px; }
.ut-listing-cta__actions .ut-btn--light { color: #166534; }
.ut-listings-title { margin-top: 24px; }
.ut-listings { display: grid; gap: 12px; }
@media (min-width: 760px) { .ut-listings { grid-template-columns: repeat(3, 1fr); } }
.ut-listing { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ut-line); border-radius: 16px; overflow: hidden; transition: box-shadow .2s, transform .2s; }
.ut-listing:hover { box-shadow: var(--ut-shadow); transform: translateY(-2px); }
.ut-listing__img { aspect-ratio: 16 / 10; background: var(--ut-canal-bg); display: grid; place-items: center; color: var(--ut-canal); overflow: hidden; }
.ut-listing__img img { width: 100%; height: 100%; object-fit: cover; }
.ut-listing__img .ut-icon { width: 36px; height: 36px; }
.ut-listing__body { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px 14px; }
.ut-listing__body strong { font-size: .95rem; color: var(--ut-ink); line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ut-listing__body .ut-muted { display: inline-flex; align-items: center; gap: 4px; font-size: .82rem; }
.ut-listing__body .ut-muted .ut-icon { width: 13px; height: 13px; }
.ut-listing__price { font-weight: 800; color: var(--ut-primary-700); }

@keyframes utFade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
  .ut *, .ut *::before, .ut *::after { transition: none !important; animation: none !important; }
}

/* ---------- Print ---------- */
@media print {
  body { background: #fff !important; padding: 0 !important; }
  header, footer, body > nav, #cookie-banner, #toast-container { display: none !important; }
  .ut { background: #fff; }
  .ut-toc, .ut-hero__actions, .ut-hero__utilities, .ut-tabs, .ut-cta, .ut-est-form, .ut-est-mini, [data-print], .ut-link-btn, .ut-op-finder { display: none !important; }
  .ut-hero { background: none !important; color: #000; padding: 0 0 12px; }
  .ut-hero::before { display: none; }
  .ut-hero__title, .ut-hero__lead { color: #000 !important; }
  .ut-eyebrow--light { color: #000; border-color: #999; }
  .ut-breadcrumb { display: none; }
  .ut-stats-wrap { margin-top: 0; }
  .ut-stat, .ut-panel, .ut-box, .ut-callout, .ut-check-card, .ut-flow__step, .ut-est-result, .ut-check-group, .ut-faq__item { box-shadow: none !important; break-inside: avoid; }
  .ut-panel[hidden] { display: block !important; }
  .ut-layout { display: block; }
  .ut-section { padding-top: 20px; }
  .ut-est-total { background: #fff !important; color: #000; border-bottom: 1px solid #ccc; }
  .ut-faq__item p { display: block; }
  .ut-details > *:not(summary) { display: block; }

  body[data-ut-print] .ut-hero, body[data-ut-print] .ut-stats-wrap { display: none !important; }
  body[data-ut-print="calculator"] .ut-main > section:not(#calculator) { display: none !important; }
  body[data-ut-print="checklist"] .ut-main > section:not(#checklist) { display: none !important; }
  .ut-config, .ut-result-bar__actions, #ut-check-reset { display: none !important; }
  body[data-ut-print="lista"] .ut-main > section:not(#lista) { display: none !important; }
  .ut-doc { break-inside: avoid; box-shadow: none !important; }
  .ut-doc-list { grid-template-columns: 1fr 1fr; }
  .ut-doc__more p { display: block; }
  body[data-ut-print] .ut-section { padding-top: 0; }
}

/* ==========================================================================
   Bara de încredere (verificare, sursă oficială, mențiune juridică)
   ========================================================================== */
.ut-trust { background: #fff; border-bottom: 1px solid var(--ut-line); }
.ut-trust__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; padding-top: 12px; padding-bottom: 12px; font-size: .84rem; color: var(--ut-muted); }
.ut-trust__item { display: inline-flex; align-items: center; gap: 7px; line-height: 1.4; }
.ut-trust__item .ut-icon { width: 16px; height: 16px; color: var(--ut-primary); flex: none; }
.ut-trust__item strong { color: var(--ut-ink); font-weight: 700; }
:where(.ut) a.ut-trust__link { color: var(--ut-primary-700); font-weight: 600; text-decoration: none; }
.ut-trust__link:hover { text-decoration: underline; }
.ut-trust__link .ut-icon:last-child { width: 13px; height: 13px; }

/* ==========================================================================
   „Dosarul tău” (PDF)
   ========================================================================== */
.ut-dosar { display: grid; gap: 22px; align-items: center; padding: 26px; border-radius: 24px; border: 1px solid #bfdbfe;
  background: radial-gradient(520px 220px at 100% 0%, rgba(251, 191, 36, .16), transparent 60%), linear-gradient(135deg, #eff6ff, #fff 60%); }
@media (min-width: 860px) { .ut-dosar { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); padding: 34px; } }
.ut-dosar__text .ut-h2 { margin-top: 10px; }
.ut-dosar__points { display: grid; gap: 8px; margin-top: 14px; }
.ut-dosar__points li { display: flex; gap: 9px; align-items: flex-start; font-size: .93rem; color: var(--ut-text); line-height: 1.5; }
.ut-dosar__points .ut-icon { width: 18px; height: 18px; color: var(--ut-success); margin-top: 2px; flex: none; }
.ut-dosar__card { display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; }
.ut-dosar__paper { position: relative; width: 190px; height: 240px; padding: 0 16px; background: #fff; border-radius: 10px; border: 1px solid var(--ut-line);
  box-shadow: 0 22px 48px rgba(30, 64, 175, .18), 0 2px 6px rgba(15, 23, 42, .06); transform: rotate(-2deg); display: flex; flex-direction: column; gap: 9px; overflow: hidden; }
.ut-dosar__paper > span { display: block; border-radius: 4px; background: var(--ut-line-soft); }
.ut-dosar__paper-head { margin: 0 -16px; height: 38px; border-radius: 0 !important; background: linear-gradient(90deg, #2563eb 62%, #1d4ed8) !important; position: relative; }
.ut-dosar__paper-head span { position: absolute; left: 14px; top: 10px; width: 18px; height: 18px; border-radius: 5px; background: #fff; }
.ut-dosar__paper-head i { position: absolute; left: 40px; top: 15px; width: 54px; height: 7px; border-radius: 4px; background: rgba(255, 255, 255, .85); }
.ut-dosar__paper-title { height: 12px; width: 78%; background: #cbd5e1 !important; margin-top: 4px; }
.ut-dosar__paper-box { height: 34px; background: #eff6ff !important; border: 1px solid #dbeafe; }
.ut-dosar__paper-row { height: 9px; position: relative; margin-left: 16px; }
.ut-dosar__paper-row::before { content: ""; position: absolute; left: -16px; top: -2px; width: 11px; height: 11px; border-radius: 3px; border: 1.5px solid #94a3b8; background: #fff; }
.ut-dosar__paper-row.is-done::before { border-color: #16a34a; background: #dcfce7; }
.ut-dosar__paper-cta { height: 26px; margin-top: auto; margin-bottom: 14px; background: #fffbeb !important; border: 1.5px solid #fbbf24; }
.ut-dosar__badge { position: absolute; right: -6px; bottom: 18px; padding: 5px 12px; border-radius: 8px 0 0 8px; background: #ef4444 !important; color: #fff; font-weight: 800; font-size: .75rem; letter-spacing: .05em; height: auto !important; }
.ut-dosar__btn { width: 100%; max-width: 320px; }
.ut-dosar__btn[disabled] { opacity: .75; cursor: progress; }
.ut-dosar__status { font-size: .86rem; color: var(--ut-success); font-weight: 600; max-width: 340px; }
.ut-dosar__status.is-error { color: #b91c1c; }
.ut-dosar__privacy { display: inline-flex; gap: 6px; align-items: flex-start; max-width: 340px; text-align: left; }
.ut-dosar__privacy .ut-icon { width: 14px; height: 14px; margin-top: 2px; color: var(--ut-success); flex: none; }

/* ==========================================================================
   Moștenire: calculator „Cine moștenește cât?”
   ========================================================================== */
.ut-est-legend-title { float: left; width: 100%; display: flex; align-items: center; gap: 8px; padding: 14px 16px 0; font-size: .95rem; font-weight: 700; color: var(--ut-ink); }
.ut-est-legend-title .ut-icon { width: 18px; height: 18px; color: var(--ut-primary); }
.ut-est-legend-title + .ut-est-fields { clear: both; border-top: 0; }
.ut-m-children-note { margin: 0; padding: 0 4px; }

.ut-family { display: grid; gap: 8px; }
.ut-family:empty { display: none; }
.ut-family__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 10px; border: 1px solid var(--ut-line); border-radius: 12px; background: var(--ut-bg); }
.ut-family__name { grid-column: 1; font-size: .86rem; font-weight: 700; color: var(--ut-ink); }
.ut-family__remove { grid-column: 2; grid-row: 1; width: 32px; height: 32px; border-radius: 9px; border: 1px solid var(--ut-line); background: #fff; color: var(--ut-muted); display: grid; place-items: center; cursor: pointer; transition: color .15s, border-color .15s; }
.ut-family__remove:hover { color: #b91c1c; border-color: #fecaca; }
.ut-family__remove .ut-icon { width: 16px; height: 16px; }
.ut-family__row .ut-select { grid-column: 1 / -1; max-width: none; font-size: .9rem; }
.ut-family__kids { grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; font-size: .86rem; color: var(--ut-text); }
.ut-family__kids .ut-input { max-width: 90px; }
@media (min-width: 640px) {
  .ut-family__row { grid-template-columns: 110px minmax(0, 1fr) auto; }
  .ut-family__row .ut-select { grid-column: 2; grid-row: 1; }
  .ut-family__row .ut-family__type + .ut-family__status { grid-row: 2; }
  .ut-family__remove { grid-column: 3; }
  .ut-family__kids { grid-column: 2; }
}
.ut-family__add { justify-self: start; }
.ut-family__add .ut-icon { width: 16px; height: 16px; }

.ut-shares { padding: 16px; }
.ut-shares__bar { display: flex; height: 14px; border-radius: 999px; overflow: hidden; background: var(--ut-line-soft); gap: 2px; }
.ut-shares__bar span { display: block; height: 100%; min-width: 3px; }
.ut-shares__list { margin-top: 12px; display: grid; gap: 2px; }
.ut-shares__item { display: grid; grid-template-columns: 12px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--ut-line-soft); }
.ut-shares__dot { width: 12px; height: 12px; border-radius: 4px; }
.ut-shares__name { font-size: .92rem; font-weight: 600; color: var(--ut-ink); line-height: 1.35; }
.ut-shares__name small { display: block; font-size: .76rem; font-weight: 500; color: var(--ut-muted); }
.ut-shares__val { text-align: right; line-height: 1.2; }
.ut-shares__val strong { display: block; font-size: 1.05rem; color: var(--ut-ink); }
.ut-shares__val small { font-size: .76rem; color: var(--ut-muted); }
.ut-shares__why { margin-top: 10px; }

.ut-house { margin-top: 14px; padding: 12px 14px; border-radius: 12px; background: #f0fdfa; border: 1px solid #99f6e4; }
.ut-house__title { display: flex; align-items: center; gap: 7px; font-weight: 700; font-size: .9rem; color: #115e59; }
.ut-house__title .ut-icon { width: 16px; height: 16px; }
.ut-house__lead { font-size: .8rem; color: #134e4a; margin: 4px 0 8px; line-height: 1.5; }
.ut-house li { display: flex; justify-content: space-between; gap: 10px; font-size: .85rem; padding: 3px 0; }
.ut-house li small { color: var(--ut-muted); font-weight: 500; }

.ut-m-block { padding: 4px 16px 12px; border-top: 1px solid var(--ut-line-soft); }
.ut-m-block__title { display: flex; align-items: center; gap: 7px; padding: 12px 0 6px; font-size: .9rem; font-weight: 700; color: var(--ut-ink); }
.ut-m-block__title .ut-icon { width: 16px; height: 16px; color: var(--ut-primary); }
.ut-m-block .ut-cal-list { padding: 6px 0 0; }
.ut-cal-item--past::before { border-color: #ef4444; }
.ut-cal-item--past .ut-cal-item__date { color: #b91c1c; }
.ut-cal-item--due::before { border-color: #f59e0b; }
.ut-cal-item--ok::before { border-color: #16a34a; }
.ut-m-lines { display: grid; }
.ut-m-total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 8px 0 6px; padding-top: 8px; border-top: 1px dashed var(--ut-line); font-size: .9rem; color: var(--ut-ink); }
.ut-m-total strong { font-size: 1.15rem; }
.ut-m-actions .ut-btn--block { width: calc(100% - 32px); }

/* Lista de acte cu titlu și explicație */
.ut-check__title { display: block; font-weight: 600; color: var(--ut-ink); }
.ut-check__sub { display: block; font-size: .82rem; color: var(--ut-muted); line-height: 1.5; margin-top: 2px; }
.ut-check-group .ut-check input:checked + span .ut-check__title { color: var(--ut-muted); text-decoration: line-through; }
.ut-check-group__title { display: flex; align-items: center; gap: 7px; }
.ut-check-group__title .ut-icon { width: 17px; height: 17px; color: var(--ut-primary); }
.ut-check .ut-ref { margin-top: 4px; }

/* Moștenitori în străinătate */
.ut-abroad { display: grid; gap: 18px; }
@media (min-width: 960px) { .ut-abroad { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; } }
.ut-abroad__steps { display: grid; gap: 10px; }
.ut-abroad__steps li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; padding: 16px; background: #fff; border: 1px solid var(--ut-line); border-radius: 16px; }
.ut-abroad__num { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--ut-primary-50); color: var(--ut-primary-700); font-weight: 800; }
.ut-abroad__steps h3 { font-size: 1rem; font-weight: 700; color: var(--ut-ink); line-height: 1.35; }
.ut-abroad__steps p { font-size: .9rem; line-height: 1.6; margin-top: 4px; }
.ut-abroad__facts { display: grid; gap: 10px; }
.ut-abroad__facts .ut-h4 { margin: 0 0 6px; }

/* Vânzarea după succesiune */
.ut-sale-grid { display: grid; gap: 12px; }
@media (min-width: 720px) { .ut-sale-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ut-sale-card { display: flex; flex-direction: column; gap: 6px; padding: 18px; background: #fff; border: 1px solid var(--ut-line); border-radius: 16px; }
.ut-sale-card__icon { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: var(--ut-primary-50); color: var(--ut-primary-700); margin-bottom: 4px; }
.ut-sale-card__icon .ut-icon { width: 19px; height: 19px; }
.ut-sale-card h3 { font-size: 1rem; font-weight: 700; color: var(--ut-ink); }
.ut-sale-card p { font-size: .9rem; line-height: 1.6; flex: 1; }
.ut-sale-card .ut-ref { align-self: flex-start; }
.ut-links-row { display: grid; gap: 10px; margin-top: 14px; }
@media (min-width: 720px) { .ut-links-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
:where(.ut) a.ut-link-card { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 14px; border: 1px solid var(--ut-line); background: var(--ut-bg); color: var(--ut-ink); text-decoration: none; transition: border-color .2s, background-color .2s; }
.ut-link-card:hover { border-color: #bfdbfe; background: var(--ut-primary-50); }
.ut-link-card > .ut-icon { width: 20px; height: 20px; color: var(--ut-primary); flex: none; }
.ut-link-card > .ut-icon:last-child { margin-left: auto; width: 16px; height: 16px; }
.ut-link-card span { min-width: 0; }
.ut-link-card strong { display: block; font-size: .92rem; }
.ut-link-card small { display: block; font-size: .8rem; color: var(--ut-muted); }

/* Autorizația de construire: costul pe fiecare pas */
.ut-steps__cost { display: flex; gap: 7px; align-items: flex-start; margin-top: 8px; font-size: .86rem; font-weight: 600; color: var(--ut-ink); }
.ut-steps__cost .ut-icon { width: 16px; height: 16px; margin-top: 2px; color: var(--ut-success); flex: none; }
.ut-m-lines .ut-line small { display: block; font-size: .76rem; color: var(--ut-muted); font-weight: 500; }
#ut-autorizatie .ut-est-fields .ut-select { max-width: none; }

/* ==========================================================================
   Test: Ce poți construi fără autorizație?
   ========================================================================== */
.ut-quiz { display: grid; gap: 22px; }
.ut-works { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); margin-top: 14px; }
.ut-work { display: flex; align-items: center; gap: 12px; padding: 14px; text-align: left; background: #fff; border: 1.5px solid var(--ut-line); border-radius: 16px; cursor: pointer; font: inherit; color: var(--ut-ink); transition: border-color .15s, box-shadow .15s, transform .15s; }
.ut-work:hover { border-color: #93c5fd; box-shadow: var(--ut-shadow); transform: translateY(-1px); }
.ut-work:focus-visible { outline: 3px solid rgba(147, 197, 253, .9); outline-offset: 2px; }
.ut-work[aria-pressed="true"] { border-color: var(--ut-primary); background: var(--ut-primary-50); box-shadow: 0 0 0 3px rgba(37, 99, 235, .12); }
.ut-work__icon { width: 42px; height: 42px; flex: none; border-radius: 12px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, #3b82f6, #1d4ed8); }
.ut-work__icon .ut-icon { width: 20px; height: 20px; }
.ut-work__text { min-width: 0; }
.ut-work__text strong { display: block; font-size: .95rem; line-height: 1.3; }
.ut-work__text small { display: block; font-size: .8rem; color: var(--ut-muted); line-height: 1.4; margin-top: 2px; }
.ut-quiz__ask { padding: 20px; border: 1px solid var(--ut-line); border-radius: 20px; background: #fff; box-shadow: var(--ut-shadow); }
.ut-quiz__ask .ut-h2 { margin-top: 6px; }
.ut-quiz__qs { display: grid; gap: 18px; margin-top: 8px; }
.ut-seg--wrap { display: flex; flex-wrap: wrap; }
.ut-seg--wrap span { white-space: normal; }

.ut-answer { position: relative; padding: 24px; border-radius: 24px; background: #fff; border: 2px solid var(--ut-line); box-shadow: var(--ut-shadow-lg); overflow: hidden; }
.ut-answer::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 6px; background: var(--ut-answer-color, #64748b); }
.ut-answer--nu { --ut-answer-color: #16a34a; --ut-answer-bg: #dcfce7; --ut-answer-ink: #14532d; border-color: #bbf7d0; }
.ut-answer--anunt { --ut-answer-color: #d97706; --ut-answer-bg: #fef3c7; --ut-answer-ink: #78350f; border-color: #fde68a; }
.ut-answer--da { --ut-answer-color: #dc2626; --ut-answer-bg: #fee2e2; --ut-answer-ink: #7f1d1d; border-color: #fecaca; }
.ut-answer--depinde { --ut-answer-color: #475569; --ut-answer-bg: #f1f5f9; --ut-answer-ink: #1e293b; border-color: #cbd5e1; }
.ut-answer__head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ut-answer__badge { display: inline-flex; padding: 8px 14px; border-radius: 999px; font-weight: 800; font-size: .95rem; letter-spacing: .01em; background: var(--ut-answer-bg); color: var(--ut-answer-ink); }
.ut-answer__work { font-size: .85rem; font-weight: 600; color: var(--ut-muted); }
.ut-answer__title { font-size: clamp(1.3rem, 2.6vw, 1.75rem); font-weight: 800; line-height: 1.25; letter-spacing: -.01em; color: var(--ut-ink); margin: 14px 0 8px; text-wrap: balance; }
.ut-answer__text { font-size: 1rem; line-height: 1.65; color: var(--ut-text); }
.ut-answer__law { display: flex; gap: 8px; align-items: flex-start; margin-top: 12px; padding: 10px 12px; border-radius: 12px; background: var(--ut-bg); font-size: .88rem; font-weight: 600; color: var(--ut-ink); }
.ut-answer__law .ut-icon { width: 18px; height: 18px; color: var(--ut-primary); margin-top: 1px; flex: none; }
.ut-answer__cols { display: grid; gap: 16px; margin-top: 18px; }
@media (min-width: 760px) { .ut-answer__cols { grid-template-columns: 1fr 1fr; } }
.ut-answer__cols h3 { display: flex; align-items: center; gap: 7px; font-size: .95rem; font-weight: 700; color: var(--ut-ink); margin-bottom: 8px; }
.ut-answer__cols h3 .ut-icon { width: 17px; height: 17px; color: var(--ut-answer-color); }
.ut-answer__next { counter-reset: n; display: grid; gap: 8px; }
.ut-answer__next li { counter-increment: n; display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 8px; font-size: .92rem; line-height: 1.5; color: var(--ut-text); }
.ut-answer__next li::before { content: counter(n); width: 24px; height: 24px; border-radius: 7px; display: grid; place-items: center; font-size: .75rem; font-weight: 800; background: var(--ut-primary-50); color: var(--ut-primary-700); }
:where(.ut) a.ut-answer__ac { display: flex; align-items: center; gap: 12px; margin-top: 18px; padding: 14px 16px; border-radius: 14px; background: #fff7ed; border: 1px solid #fed7aa; color: #7c2d12; text-decoration: none; font-size: .92rem; }
.ut-answer__ac > .ut-icon { width: 20px; height: 20px; flex: none; color: #ea580c; }
.ut-answer__ac > .ut-icon:last-child { margin-left: auto; width: 16px; height: 16px; }
.ut-answer__share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--ut-line-soft); }
.ut-answer__share-label { font-size: .85rem; font-weight: 600; color: var(--ut-muted); margin-right: 4px; }
:where(.ut) .ut-share { display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px; border-radius: 999px; font: inherit; font-size: .86rem; font-weight: 700; text-decoration: none; cursor: pointer; border: 0; color: #fff; }
.ut-share svg { width: 16px; height: 16px; flex: none; }
.ut-share--fb { background: #1877f2; }
.ut-share--fb:hover { background: #0f63d6; }
.ut-share--wa { background: #16a34a; }
.ut-share--wa:hover { background: #15803d; }
.ut-share--copy { background: #475569; }
.ut-share--copy:hover { background: #334155; }
.ut-answer__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }

.ut-quiz__history { padding: 16px; border: 1px dashed #cbd5e1; border-radius: 16px; background: var(--ut-bg); }
.ut-quiz__history-title { display: flex; align-items: center; gap: 7px; font-size: .9rem; font-weight: 700; color: var(--ut-ink); margin-bottom: 10px; }
.ut-quiz__history-title small { font-weight: 500; color: var(--ut-muted); }
.ut-quiz__history-title .ut-icon { width: 17px; height: 17px; color: var(--ut-primary); }
.ut-quiz__history ul { display: flex; flex-wrap: wrap; gap: 8px; }
.ut-hist { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 999px; border: 1px solid var(--ut-line); background: #fff; font: inherit; font-size: .84rem; cursor: pointer; color: var(--ut-ink); }
.ut-hist strong { font-size: .76rem; padding: 2px 8px; border-radius: 999px; }
.ut-hist--nu strong { background: #dcfce7; color: #14532d; }
.ut-hist--anunt strong { background: #fef3c7; color: #78350f; }
.ut-hist--da strong { background: #fee2e2; color: #7f1d1d; }
.ut-hist--depinde strong { background: #f1f5f9; color: #1e293b; }
.ut-hist--clear { color: var(--ut-muted); border-style: dashed; }

.ut-lawlist ul { display: grid; gap: 8px; margin-bottom: 12px; }
.ut-lawlist li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 10px; font-size: .92rem; line-height: 1.5; padding-bottom: 8px; border-bottom: 1px solid var(--ut-line-soft); }
.ut-lawlist--free .ut-h4 .ut-icon { color: #16a34a; }
.ut-lawlist--ac .ut-h4 .ut-icon { color: #dc2626; }
.ut-lawlists { align-items: start; }
#ut-fara .ut-quiz__step { scroll-margin-top: calc(var(--ut-sticky-top, 64px) + 16px); }

/* ==========================================================================
   Ghid: Teren fără acte sau neintabulat
   ========================================================================== */
.ut-answer--tf-free { --ut-answer-color: #16a34a; --ut-answer-bg: #dcfce7; --ut-answer-ink: #14532d; border-color: #bbf7d0; }
.ut-answer--tf-warn { --ut-answer-color: #d97706; --ut-answer-bg: #fef3c7; --ut-answer-ink: #78350f; border-color: #fde68a; }
.ut-answer--tf-paid { --ut-answer-color: #2563eb; --ut-answer-bg: #dbeafe; --ut-answer-ink: #1e3a8a; border-color: #bfdbfe; }
.ut-tf-free { margin-top: 16px; padding: 16px 18px; border-radius: 14px; background: #f0fdf4; border: 1px solid #bbf7d0; }
.ut-tf-free h3, .ut-tf-block h3 { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; font-size: .98rem; font-weight: 700; color: var(--ut-ink); margin-bottom: 10px; }
.ut-tf-free h3 .ut-icon { width: 18px; height: 18px; color: #16a34a; }
.ut-tf-free p { font-size: .93rem; line-height: 1.65; margin-bottom: 6px; }
.ut-tf-block { margin-top: 22px; }
.ut-tf-block h3 .ut-icon { width: 18px; height: 18px; color: var(--ut-answer-color, var(--ut-primary)); }
.ut-tf-block h3 small { font-weight: 500; font-size: .82rem; color: var(--ut-muted); }
.ut-tf-steps { counter-reset: tf; display: grid; gap: 14px; }
.ut-tf-steps > li { counter-increment: tf; display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; }
.ut-tf-steps > li::before { content: counter(tf); width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; font-size: .82rem; font-weight: 800; background: var(--ut-primary-50); color: var(--ut-primary-700); }
.ut-tf-steps > li > div { min-width: 0; }
.ut-tf-steps strong { display: block; font-size: .95rem; color: var(--ut-ink); line-height: 1.4; padding-top: 4px; }
.ut-tf-steps p { font-size: .9rem; line-height: 1.6; margin-top: 2px; }
.ut-tf-steps__meta { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; margin-top: 6px; }
.ut-tf-steps .ut-verdict__link { margin-top: 6px; }
.ut-tf-alt { margin-top: 18px; }
.ut-tf-alt .ut-tf-steps { padding: 0 16px 16px; }
.ut-tf-docs { display: grid; gap: 10px; padding: 14px 16px; border-radius: 14px; background: var(--ut-bg); border: 1px solid var(--ut-line-soft); }
.ut-tf-usu { display: grid; gap: 10px; }
.ut-tf-usu li { display: flex; flex-direction: column; gap: 4px; font-size: .92rem; line-height: 1.55; padding-left: 14px; border-left: 3px solid var(--ut-line); }
.ut-tf-usu .ut-ref { align-self: flex-start; }
.ut-tf-usu-box { margin-top: 18px; }
.ut-tf-stats { margin-top: 18px; }
.ut-tf-stats .ut-stat__value { font-size: 1.45rem; }
.ut-tf-sub { display: flex; align-items: center; gap: 7px; margin: 28px 0 12px; }
.ut-tf-ways .ut-btn { align-self: flex-start; }
.ut-tf-calc { margin-top: 22px; }
.ut-tf-calc__grid { display: grid; gap: 16px; margin: 12px 0; }
@media (min-width: 760px) { .ut-tf-calc__grid { grid-template-columns: 1fr 1fr; } }
.ut-tf-calc__out { display: flex; flex-direction: column; gap: 4px; margin-top: 10px; padding: 12px 14px; border-radius: 12px; background: var(--ut-primary-50); border: 1px solid var(--ut-info-line); font-size: .88rem; line-height: 1.5; }
.ut-tf-calc__out strong { color: var(--ut-primary-800); font-size: .95rem; }
.ut-tf-calc__out em { font-style: normal; font-weight: 700; color: var(--ut-warn); }
.ut-tf-all { margin-top: 12px; }
/* pe mobil, sub antet stă și bara cuprinsului */
#ut-fara-acte .ut-quiz__step { scroll-margin-top: calc(var(--ut-sticky-top, 64px) + 76px); }
@media (min-width: 1024px) { #ut-fara-acte .ut-quiz__step { scroll-margin-top: calc(var(--ut-sticky-top, 64px) + 16px); } }
#ut-fara-acte .ut-steps__cost span { font-weight: 500; }
#ut-fara-acte .ut-steps__cost strong { font-weight: 700; color: var(--ut-ink); }
/* pe ecranele înguste tabelul de taxe devine o listă de carduri, cu costul mereu vizibil */
@media (max-width: 639.98px) {
  #ut-fara-acte .ut-tf-fees { min-width: 0; }
  #ut-fara-acte .ut-tf-fees thead { display: none; }
  #ut-fara-acte .ut-tf-fees tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; padding: 14px 16px; border-top: 1px solid var(--ut-line-soft); }
  #ut-fara-acte .ut-tf-fees tbody tr:first-child { border-top: 0; }
  #ut-fara-acte .ut-tf-fees td { display: block; padding: 0; border: 0; }
  #ut-fara-acte .ut-tf-fees td:nth-child(1) { grid-column: 1; grid-row: 1; }
  #ut-fara-acte .ut-tf-fees td:nth-child(4) { grid-column: 2; grid-row: 1; text-align: right; white-space: nowrap; }
  #ut-fara-acte .ut-tf-fees td:nth-child(2), #ut-fara-acte .ut-tf-fees td:nth-child(3) { grid-column: 1 / -1; font-size: .85rem; }
  #ut-fara-acte .ut-tf-fees td:nth-child(2)::before { content: "Termen: "; color: var(--ut-muted); }
  #ut-fara-acte .ut-tf-fees td.is-empty { display: none; }
}

/* ==========================================================================
   Ghid: Panouri fotovoltaice – prosumator
   ========================================================================== */
.ut-pv-chart { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 4px; align-items: end; height: 132px; padding: 6px 0 0; }
.ut-pv-chart__col { display: flex; flex-direction: column; align-items: center; gap: 4px; height: 100%; min-width: 0; }
.ut-pv-chart__bars { flex: 1; width: 100%; display: flex; align-items: flex-end; justify-content: center; gap: 2px; }
.ut-pv-chart__p, .ut-pv-chart__c { display: block; width: 42%; max-width: 12px; border-radius: 3px 3px 0 0; min-height: 2px; }
.ut-pv-chart__p { background: #f59e0b; }
.ut-pv-chart__c { background: #93c5fd; }
.ut-pv-chart__m { font-size: .66rem; color: var(--ut-muted); line-height: 1; }
.ut-pv-dot { display: inline-block; width: 10px; height: 10px; border-radius: 3px; }
.ut-pv-dot--p { background: #f59e0b; }
.ut-pv-dot--c { background: #93c5fd; }
#ut-pv .ut-est-legend { padding: 8px 0 0; }
.ut-pv-assume { display: grid; gap: 6px; padding: 0 16px 16px 34px; list-style: disc; }
.ut-pv-bill { margin-top: 18px; }
.ut-pv-bill__note { background: var(--ut-primary-50); border-color: var(--ut-info-line); }
.ut-pv-refline { margin-top: 12px; }
.ut-pv-timeline { margin-top: 22px; }
.ut-pv-timeline .ut-flow { margin: 12px 0; }
.ut-pv-timeline .ut-flow__step h3 { font-size: .95rem; }
.ut-pv-more { margin-top: 14px; }
#ut-pv .ut-field__hint .ut-link-btn { font-size: inherit; padding: 0; }
.ut-pv-links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 6px; }

/* Test „fără autorizație”, după Codul urbanismului: verdictul „cu notificare” și trei liste */
.ut-answer--notif { --ut-answer-color: #0e7490; --ut-answer-bg: #cffafe; --ut-answer-ink: #164e63; border-color: #a5f3fc; }
.ut-hist--notif strong { background: #cffafe; color: #164e63; }
.ut-lawlist--notif .ut-h4 .ut-icon { color: #0e7490; }
.ut-lawlists--3 { display: grid; gap: 14px; margin-top: 22px; }
@media (min-width: 900px) { .ut-lawlists--3 { grid-template-columns: 1fr 1fr; } .ut-lawlists--3 > .ut-lawlist--ac { grid-column: 1 / -1; } }
@media (min-width: 1200px) { .ut-lawlists--3 { grid-template-columns: repeat(3, 1fr); } .ut-lawlists--3 > .ut-lawlist--ac { grid-column: auto; } }

/* ==========================================================================
   Ghid: Pot construi pe terenul meu?
   ========================================================================== */
.ut-answer--pc-da { --ut-answer-color: #16a34a; --ut-answer-bg: #dcfce7; --ut-answer-ink: #14532d; border-color: #bbf7d0; }
.ut-answer--pc-cond { --ut-answer-color: #d97706; --ut-answer-bg: #fef3c7; --ut-answer-ink: #78350f; border-color: #fde68a; }
.ut-answer--pc-puz { --ut-answer-color: #2563eb; --ut-answer-bg: #dbeafe; --ut-answer-ink: #1e3a8a; border-color: #bfdbfe; }
.ut-answer--pc-nu { --ut-answer-color: #dc2626; --ut-answer-bg: #fee2e2; --ut-answer-ink: #7f1d1d; border-color: #fecaca; }
.ut-answer--pc-check { --ut-answer-color: #475569; --ut-answer-bg: #f1f5f9; --ut-answer-ink: #1e293b; border-color: #cbd5e1; }
#ut-pot-construi .ut-quiz__step { scroll-margin-top: calc(var(--ut-sticky-top, 64px) + 76px); }
@media (min-width: 1024px) { #ut-pot-construi .ut-quiz__step { scroll-margin-top: calc(var(--ut-sticky-top, 64px) + 16px); } }
#ut-pot-construi .ut-callout { margin-top: 18px; }
#ut-pot-construi .ut-callout .ut-list { margin: 4px 0 8px; }
.ut-pc-money { margin-top: 18px; padding: 14px 16px; border-radius: 14px; background: var(--ut-bg); border: 1px solid var(--ut-line-soft); }
.ut-pc-money p { display: flex; gap: 10px; align-items: flex-start; font-size: .92rem; line-height: 1.6; }
.ut-pc-money .ut-icon { width: 18px; height: 18px; flex: none; margin-top: 3px; color: var(--ut-answer-color, var(--ut-primary)); }
.ut-pc-money a { font-weight: 600; white-space: nowrap; }
.ut-pc-tag { align-self: flex-start; font-size: .74rem; font-weight: 700; padding: 3px 9px; border-radius: 999px; background: var(--ut-primary-50); color: var(--ut-primary-700); }
.ut-pc-ways { margin-top: 18px; }
.ut-pc-allowed { display: grid; gap: 12px; margin-top: 18px; }
@media (min-width: 720px) { .ut-pc-allowed { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .ut-pc-allowed { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ut-pc-allowed__item { display: flex; flex-direction: column; gap: 6px; padding: 16px; background: #fff; border: 1px solid var(--ut-line); border-radius: 16px; }
.ut-pc-allowed__item h3 { font-size: .98rem; font-weight: 700; color: var(--ut-ink); }
.ut-pc-allowed__item p { font-size: .88rem; line-height: 1.55; flex: 1; }
.ut-pc-allowed__meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 4px; }
.ut-pc-cls { font-size: .72rem; font-weight: 700; padding: 3px 8px; border-radius: 999px; }
.ut-pc-cls--ok { background: #dcfce7; color: #14532d; }
.ut-pc-cls--part { background: #fef3c7; color: #78350f; }
.ut-pc-cls--no { background: #fee2e2; color: #7f1d1d; }
.ut-pc-refline { margin-top: 12px; }
.ut-pc-scoatere { margin-top: 22px; }
.ut-pc-approvals { display: grid; gap: 10px; margin: 2px 0 6px; flex: 1; }
.ut-pc-approvals li { display: flex; flex-direction: column; gap: 2px; padding-bottom: 8px; border-bottom: 1px solid var(--ut-line-soft); font-size: .88rem; line-height: 1.5; }
.ut-pc-approvals li:last-child { border-bottom: 0; padding-bottom: 0; }
.ut-pc-approvals strong { color: var(--ut-ink); font-size: .9rem; }
.ut-pc-approvals small { display: inline-flex; align-items: center; gap: 5px; color: var(--ut-muted); font-size: .8rem; }
.ut-pc-approvals small .ut-icon { width: 13px; height: 13px; flex: none; }
.ut-pc-more { margin-top: 18px; }
.ut-pc-details-steps { padding: 0 16px 16px; }
.ut-pc-tariffs td:nth-child(n+2), .ut-pc-tariffs th:nth-child(n+2) { white-space: nowrap; }
.ut-pc-next { display: grid; gap: 10px; margin-top: 16px; }
@media (min-width: 720px) { .ut-pc-next { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
#ut-pot-construi .ut-est-fields .ut-select { max-width: none; }
.ut-pc-time .ut-line__label { flex: 1 1 55%; }
.ut-pc-time .ut-line__val { flex: 0 1 45%; white-space: normal; }
#ut-pot-construi .ut-tf-block h3 { flex-wrap: nowrap; align-items: flex-start; }
#ut-pot-construi .ut-tf-block h3 .ut-icon { margin-top: 3px; flex: none; }

/* ==========================================================================
   Simulator de parcelare
   ========================================================================== */
#ut-parcelare .leaflet-container img { max-width: none !important; }
#ut-parcelare .leaflet-container { font: inherit; background: #1f2937; }
.ut-pz { display: grid; gap: 16px; }
.ut-pz-step { margin: 0; padding: 18px; border: 1px solid var(--ut-line); border-radius: 20px; background: #fff; box-shadow: var(--ut-shadow); min-width: 0; }
.ut-pz-step__title { display: flex; align-items: center; gap: 10px; font-size: 1.08rem; font-weight: 800; color: var(--ut-ink); padding: 0; margin-bottom: 14px; }
.ut-pz-step__num { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; font-size: .9rem; background: var(--ut-primary); color: #fff; flex: none; }
.ut-pz-step .ut-select, .ut-pz-step .ut-input { max-width: none; }
.ut-pz-grid2, .ut-pz-grid3, .ut-pz-grid4 { display: grid; gap: 14px; }
@media (min-width: 640px) { .ut-pz-grid2, .ut-pz-grid4 { grid-template-columns: 1fr 1fr; } }
@media (min-width: 760px) { .ut-pz-grid3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .ut-pz-grid4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ut-pz-step > .ut-field { margin-top: 14px; }
.ut-pz-profile { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 14px; padding: 12px 14px; border-radius: 14px; background: var(--ut-primary-50); border: 1px solid var(--ut-info-line); }
.ut-pz-profile__tag { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--ut-primary-800); font-size: .9rem; }
.ut-pz-profile__tag .ut-icon { width: 16px; height: 16px; }
.ut-pz-tabs { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px; background: var(--ut-line-soft); border: 1px solid var(--ut-line); border-radius: 14px; }
.ut-pz-tab { flex: 1 1 180px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 10px 12px; border: 0; border-radius: 10px; background: transparent; font: inherit; font-size: .88rem; font-weight: 700; color: var(--ut-muted); cursor: pointer; }
.ut-pz-tab .ut-icon { width: 17px; height: 17px; }
.ut-pz-tab[aria-selected="true"] { background: #fff; color: var(--ut-primary-700); box-shadow: 0 1px 4px rgba(15, 23, 42, .12); }
.ut-pz-panel { margin-top: 14px; display: grid; gap: 12px; }
.ut-pz-search { display: flex; gap: 8px; }
.ut-pz-search .ut-input { flex: 1; min-width: 0; }
.ut-pz-qres { display: grid; gap: 4px; padding: 8px; border: 1px solid var(--ut-line); border-radius: 12px; background: #fff; font-size: .86rem; }
.ut-pz-qres button { width: 100%; text-align: left; padding: 7px 9px; border: 0; border-radius: 8px; background: transparent; font: inherit; cursor: pointer; color: var(--ut-ink); }
.ut-pz-qres button:hover { background: var(--ut-primary-50); }
/* z-index: 0 ține straturile hărții (Leaflet: 400–1000) și butoanele ei sub meniul fix al site-ului, ca la celelalte hărți */
.ut-pz-mapwrap { position: relative; z-index: 0; border-radius: 16px; overflow: hidden; border: 1px solid var(--ut-line); }
.ut-pz-map { height: 460px; width: 100%; }
@media (max-width: 640px) { .ut-pz-map { height: 62vh; min-height: 340px; } }
.ut-pz-map.is-drawing { cursor: crosshair; }
.ut-pz-maptools { position: absolute; left: 54px; right: 10px; top: 10px; z-index: 500; display: flex; flex-wrap: wrap; gap: 6px; pointer-events: none; }
.ut-pz-maptools .ut-btn { pointer-events: auto; box-shadow: 0 2px 10px rgba(0, 0, 0, .25); }
.ut-pz-maptools .ut-btn--outline { background: #fff; }
.ut-pz-maptools .ut-btn[disabled] { opacity: .55; }
.ut-pz-vx span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #facc15; border: 2px solid #fff; color: #422006; font-size: .68rem; font-weight: 800; box-shadow: 0 1px 6px rgba(0, 0, 0, .45); }
.ut-pz-vx.is-first span { background: #f97316; color: #fff; animation: utPzPulse 1.2s infinite; }
@keyframes utPzPulse { 50% { box-shadow: 0 0 0 7px rgba(249, 115, 22, .35); } }
.ut-pz-elabel span { display: inline-block; padding: 1px 6px; border-radius: 6px; background: rgba(15, 23, 42, .78); color: #fff; font-size: .7rem; font-weight: 700; white-space: nowrap; }
.ut-pz-elabel.is-street span { background: #ea580c; }
.ut-pz-hit { cursor: pointer; }
.ut-pz-edges { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--ut-line-soft); display: grid; gap: 10px; }
.ut-pz-edges .ut-h4 { display: flex; align-items: center; gap: 7px; }
.ut-pz-shape { border: 1px solid var(--ut-line); border-radius: 14px; background: #fafdf5; padding: 8px; }
.ut-pz-shape__svg { display: block; width: 100%; max-height: 320px; }
.ut-pz-edgelist { display: flex; flex-wrap: wrap; gap: 6px; }
.ut-pz-edge { padding: 6px 10px; border-radius: 999px; border: 1px solid var(--ut-line); background: #fff; font: inherit; font-size: .8rem; font-weight: 600; color: var(--ut-text); cursor: pointer; }
.ut-pz-edge.is-on { background: #ffedd5; border-color: #fdba74; color: #9a3412; }
.ut-pz-area { font-size: .92rem; color: var(--ut-text); }
.ut-pz-need { color: #c2410c; font-weight: 700; }
.ut-pz-rulebox { margin-top: 12px; padding: 12px 14px; border-radius: 14px; background: var(--ut-bg); border: 1px solid var(--ut-line-soft); }
.ut-pz-cu { margin-top: 12px; }
.ut-pz-rules { margin-top: 12px; display: grid; gap: 10px; }
.ut-pz-rulewarn { padding: 10px 12px; border-radius: 12px; background: var(--ut-warn-bg); border: 1px solid var(--ut-warn-line); color: #78350f; }
.ut-pz-cplwrap .ut-check { margin-top: 4px; }
.ut-pz-costs { margin-top: 12px; }
.ut-pz-costs__grid { padding: 0 16px 6px; }
.ut-pz-costs > .ut-field__hint { padding: 0 16px 14px; }
.ut-pz-run { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.ut-pz-run .ut-small { color: #b45309; font-weight: 600; }
#rezultate { scroll-margin-top: calc(var(--ut-sticky-top, 64px) + 76px); }
@media (min-width: 1024px) { #rezultate, #ut-parcelare .ut-pz-step { scroll-margin-top: calc(var(--ut-sticky-top, 64px) + 16px); } }
.ut-pz-restabs { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); margin: 16px 0 12px; }
.ut-pz-restab { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; text-align: left; border: 1.5px solid var(--ut-line); border-radius: 14px; background: #fff; font: inherit; cursor: pointer; color: var(--ut-ink); }
.ut-pz-restab strong { font-size: .95rem; }
.ut-pz-restab small { font-size: .8rem; color: var(--ut-muted); }
.ut-pz-restab.is-on { border-color: var(--ut-primary); background: var(--ut-primary-50); box-shadow: 0 0 0 3px rgba(37, 99, 235, .12); }
.ut-pz-card { padding: 20px; border: 1px solid var(--ut-line); border-radius: 22px; background: #fff; box-shadow: var(--ut-shadow-lg); display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); }
/* conținutul (tabelul loturilor, planul) nu are voie să lărgească fișa peste ecran: tabelul se derulează în interiorul lui */
.ut-pz-card > *, .ut-pz-cols > *, .ut-pz-lotsd { min-width: 0; }
.ut-pz-plan { max-width: 100%; }
.ut-pz-card .ut-answer__actions .ut-btn { white-space: normal; text-align: center; max-width: 100%; }
.ut-pz-card__head { display: grid; gap: 10px; }
.ut-pz-card__title { font-size: 1.3rem; font-weight: 800; color: var(--ut-ink); }
.ut-pz-card__text { font-size: .95rem; }
.ut-pz-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ut-pz-chip { padding: 5px 10px; border-radius: 999px; background: var(--ut-line-soft); font-size: .8rem; color: var(--ut-text); }
.ut-pz-chip strong { color: var(--ut-ink); }
.ut-pz-views { display: flex; flex-wrap: wrap; gap: 6px; }
.ut-pz-view { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 10px; border: 1px solid var(--ut-line); background: #fff; font: inherit; font-size: .85rem; font-weight: 700; color: var(--ut-muted); cursor: pointer; }
.ut-pz-view .ut-icon { width: 16px; height: 16px; }
.ut-pz-view.is-on { background: var(--ut-ink); border-color: var(--ut-ink); color: #fff; }
.ut-pz-stage { position: relative; z-index: 0; border-radius: 16px; overflow: hidden; border: 1px solid var(--ut-line); background: #f4f7ef; }
.ut-pz-2d { display: flex; justify-content: center; }
.ut-pz-plan { display: block; width: 100%; height: auto; max-height: 560px; }
.ut-pz-3d { position: relative; height: 480px; }
@media (max-width: 640px) { .ut-pz-3d { height: 380px; } }
.ut-pz-3d canvas { display: block; touch-action: none; }
.ut-pz-3d__hint { position: absolute; left: 10px; bottom: 8px; z-index: 2; margin: 0; padding: 4px 8px; border-radius: 8px; background: rgba(255, 255, 255, .85); font-size: .75rem; color: var(--ut-muted); pointer-events: none; }
.ut-pz-cols { display: grid; gap: 12px; }
@media (min-width: 900px) { .ut-pz-cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.ut-pz-box { padding: 16px; border-radius: 16px; border: 1px solid var(--ut-line); background: var(--ut-bg); display: grid; gap: 8px; align-content: start; font-size: .9rem; line-height: 1.6; }
.ut-pz-box h4 { display: flex; align-items: center; gap: 7px; font-size: .98rem; font-weight: 800; color: var(--ut-ink); }
.ut-pz-box h4 .ut-icon { width: 18px; height: 18px; color: var(--ut-primary); }
.ut-pz-box p { display: flex; gap: 7px; align-items: flex-start; }
.ut-pz-box p > .ut-icon { width: 16px; height: 16px; flex: none; margin-top: 3px; color: var(--ut-muted); }
.ut-pz-box .ut-ref { justify-self: start; }
.ut-pz-box--money { background: #f0fdf4; border-color: #bbf7d0; }
.ut-pz-big { display: grid !important; gap: 2px; }
.ut-pz-big strong { font-size: 1.6rem; font-weight: 800; color: #14532d; }
.ut-pz-big span { font-size: .86rem; }
.ut-line__val.is-plus { color: #15803d; }
.ut-line__val.is-minus { color: #b91c1c; }
.ut-pz-lots td, .ut-pz-lots th { white-space: nowrap; }
.ut-pz-ok { display: inline-flex; align-items: center; gap: 4px; color: #15803d; font-weight: 700; cursor: help; }
.ut-pz-ok .ut-icon { width: 14px; height: 14px; }
.ut-pz-lotsd .ut-table-wrap { margin: 0 12px 12px; }
.ut-pz-compare { margin-top: 14px; }
.ut-pz-levels { display: grid; gap: 14px; margin-top: 18px; }
.ut-pz-level { position: relative; padding: 18px 18px 18px 60px; border: 1px solid var(--ut-line); border-radius: 18px; background: #fff; display: grid; gap: 10px; min-width: 0; }
.ut-pz-level__n { position: absolute; left: 16px; top: 16px; width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: var(--ut-primary-50); color: var(--ut-primary-700); font-weight: 800; }
.ut-pz-level h3 { font-size: 1.02rem; font-weight: 800; color: var(--ut-ink); }
@media (max-width: 560px) { .ut-pz-level { padding: 56px 14px 16px; } }
.ut-pz-proftable td, .ut-pz-proftable th { font-size: .84rem; }
.ut-pz-basis__list { padding: 0 16px 6px 34px; list-style: disc; }
.ut-pz-basis__src { display: flex; flex-direction: column; gap: 4px; padding: 0 16px 14px; font-size: .82rem; }
.ut-pz-basis__src a { display: inline-flex; align-items: center; gap: 5px; }
.ut-pz-basis__src .ut-icon { width: 13px; height: 13px; flex: none; }
.ut-pz-assume { margin-top: 14px; }
.ut-pz-assume .ut-list { padding: 0 16px 14px; }

/* ==========================================================================
   Hotarul și drumul de acces (conflicte cu vecinul)
   ========================================================================== */
#ut-vecin .ut-quiz__step { scroll-margin-top: calc(var(--ut-sticky-top, 64px) + 76px); }
@media (min-width: 1024px) { #ut-vecin .ut-quiz__step { scroll-margin-top: calc(var(--ut-sticky-top, 64px) + 16px); } }
.ut-hv-dates { margin-top: 22px; }
.ut-hv-dates .ut-field { margin-top: 10px; max-width: 360px; }
.ut-hv-dates__out { display: grid; gap: 10px; margin-top: 4px; }
.ut-hv-dates__out:empty { display: none; }
.ut-hv-calc { display: grid; gap: 16px; }
.ut-hv-calc__grid { display: grid; gap: 14px; }
@media (min-width: 760px) { .ut-hv-calc__grid { grid-template-columns: 1fr 1fr; } }
.ut-hv-calc__grid .ut-field[hidden], .ut-hv-calc .ut-field__hint[hidden] { display: none; }
.ut-hv-calc__hint { margin: 0 0 12px; }
.ut-hv-costs { display: grid; gap: 14px; }
@media (min-width: 900px) { .ut-hv-costs { grid-template-columns: 1fr 1fr; } }
.ut-hv-cost { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px; border-radius: 16px; background: #fff; border: 1px solid var(--ut-line); }
.ut-hv-cost:first-child { border-color: #bbf7d0; background: #f0fdf4; }
.ut-hv-cost h3 { display: flex; align-items: center; gap: 8px; font-size: 1rem; font-weight: 700; color: var(--ut-ink); }
.ut-hv-cost h3 .ut-icon { width: 18px; height: 18px; color: var(--ut-primary); }
.ut-hv-cost:first-child h3 .ut-icon { color: #16a34a; }
.ut-hv-cost ul { display: grid; gap: 8px; }
.ut-hv-cost li { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; font-size: .9rem; line-height: 1.45; padding-bottom: 8px; border-bottom: 1px dashed var(--ut-line); }
.ut-hv-cost li > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ut-hv-cost li small { color: var(--ut-muted); font-size: .8rem; }
.ut-hv-cost li b { white-space: nowrap; font-weight: 700; color: var(--ut-ink); }
.ut-hv-cost li.is-extra b, .ut-hv-cost li.is-extra strong { color: var(--ut-muted); font-weight: 600; }
.ut-hv-cost__total, .ut-hv-cost__extra { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: .92rem; }
.ut-hv-cost__total strong { font-size: 1.25rem; font-weight: 800; color: var(--ut-primary-800); white-space: nowrap; }
.ut-hv-cost:first-child .ut-hv-cost__total strong { color: #15803d; }
.ut-hv-cost__extra strong { white-space: nowrap; color: var(--ut-ink); }
.ut-hv-rules { display: grid; gap: 12px; margin-top: 18px; }
@media (min-width: 640px) { .ut-hv-rules { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .ut-hv-rules { grid-template-columns: repeat(3, 1fr); } }
.ut-hv-rule { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; border-radius: 16px; background: #fff; border: 1px solid var(--ut-line); }
.ut-hv-rule__icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: var(--ut-primary-50); color: var(--ut-primary); }
.ut-hv-rule__icon .ut-icon { width: 20px; height: 20px; }
.ut-hv-rule__value { font-size: 1.35rem; font-weight: 800; color: var(--ut-ink); line-height: 1.2; }
.ut-hv-rule h3 { font-size: .98rem; font-weight: 700; color: var(--ut-ink); }
.ut-hv-rule p { font-size: .9rem; line-height: 1.6; }
.ut-hv-rule .ut-ref { align-self: flex-start; margin-top: auto; }
/* pe ecranele înguste tabelul de taxe devine o listă de carduri, cu costul mereu vizibil */
@media (max-width: 639.98px) {
  #ut-vecin .ut-hv-fees { min-width: 0; }
  #ut-vecin .ut-hv-fees thead { display: none; }
  #ut-vecin .ut-hv-fees tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; padding: 14px 16px; border-top: 1px solid var(--ut-line-soft); }
  #ut-vecin .ut-hv-fees tbody tr:first-child { border-top: 0; }
  #ut-vecin .ut-hv-fees td { display: block; padding: 0; border: 0; }
  #ut-vecin .ut-hv-fees td:nth-child(1) { grid-column: 1; grid-row: 1; }
  #ut-vecin .ut-hv-fees td:nth-child(3) { grid-column: 2; grid-row: 1; text-align: right; max-width: 42vw; }
  #ut-vecin .ut-hv-fees td:nth-child(2) { grid-column: 1 / -1; font-size: .85rem; }
}

/* ==========================================================================
   Cât costă la notar și cât îți rămâne (taxe notariale)
   ========================================================================== */
#ut-notar [hidden] { display: none !important; }
#ut-notar #calculator, #ut-notar #acte { scroll-margin-top: calc(var(--ut-sticky-top, 64px) + 76px); }
@media (min-width: 1024px) { #ut-notar #calculator, #ut-notar #acte { scroll-margin-top: calc(var(--ut-sticky-top, 64px) + 16px); } }
.ut-nt { display: grid; gap: 16px; margin-top: 18px; }
.ut-nt-common { display: grid; gap: 18px; }
.ut-nt-common__grid { display: grid; gap: 16px; }
@media (min-width: 760px) { .ut-nt-common__grid { grid-template-columns: 1fr 1fr; } }
.ut-nt-types { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
@media (min-width: 760px) { .ut-nt-types { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ut-nt-type { position: relative; cursor: pointer; }
.ut-nt-type input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.ut-nt-type > span { display: flex; align-items: center; gap: 10px; height: 100%; padding: 12px 14px; border: 1px solid var(--ut-line); border-radius: 14px; background: #fff; transition: border-color .2s, box-shadow .2s, background-color .2s; }
.ut-nt-type .ut-icon { width: 20px; height: 20px; flex: none; color: var(--ut-muted); }
.ut-nt-type strong { font-size: .9rem; font-weight: 700; color: var(--ut-ink); line-height: 1.3; }
.ut-nt-type:hover > span { border-color: var(--ut-primary-100); }
.ut-nt-type input:checked + span { border-color: var(--ut-primary); background: var(--ut-primary-50); box-shadow: 0 0 0 3px rgba(37, 99, 235, .12); }
.ut-nt-type input:checked + span .ut-icon { color: var(--ut-primary); }
.ut-nt-type input:focus-visible + span { outline: 3px solid rgba(37, 99, 235, .35); outline-offset: 2px; }
.ut-nt-tabs { margin-top: 4px; }
.ut-nt-panel { animation: utFade .25s ease-out; }
.ut-nt-panel__grid { display: grid; gap: 18px; align-items: start; }
@media (min-width: 1000px) { .ut-nt-panel__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); } }
.ut-nt-inputs { display: grid; gap: 18px; min-width: 0; }
.ut-nt-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; align-items: end; }
.ut-nt-row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ut-nt-row .ut-input { width: 100%; }
.ut-nt-small, .ut-input-group .ut-nt-small { max-width: 110px; }
.ut-nt-mid { max-width: 240px; }
.ut-nt-hint-top { margin-top: -10px; }
.ut-nt-agri { display: grid; gap: 6px; margin-top: 12px; padding: 12px 14px; border-radius: 12px; background: var(--ut-bg); border: 1px solid var(--ut-line-soft); }
.ut-nt-credit__icon { background: var(--ut-primary-50); color: var(--ut-primary); }
.ut-nt-credit .ut-est-fields > .ut-field__hint { margin-top: -6px; }
.ut-nt-result { min-width: 0; }
@media (min-width: 1000px) { .ut-nt-result { position: sticky; top: calc(var(--ut-sticky-top, 64px) + 16px); } }
.ut-nt-res { display: grid; gap: 16px; padding: 20px; border: 1px solid var(--ut-line); border-radius: 20px; background: #fff; box-shadow: var(--ut-shadow); min-width: 0; }
.ut-nt-res--empty { color: var(--ut-muted); font-size: .92rem; text-align: center; padding: 28px 20px; }
.ut-nt-res__head { display: grid; gap: 2px; }
.ut-nt-res__label { font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ut-muted); }
.ut-nt-res__big { font-size: clamp(1.9rem, 4vw, 2.4rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; color: var(--ut-primary-800); }
.ut-nt-res--seller .ut-nt-res__big { color: #15803d; }
.ut-nt-res__big.is-neg { color: #b91c1c !important; }
.ut-nt-res__sub { font-size: .88rem; color: var(--ut-muted); }
.ut-nt-bar { display: flex; height: 12px; border-radius: 999px; overflow: hidden; background: var(--ut-line-soft); gap: 2px; }
.ut-nt-bar__seg { display: block; height: 100%; }
.ut-nt-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: -6px; }
.ut-nt-legend li { display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; color: var(--ut-text); }
.ut-nt-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; flex: none; }
.ut-nt-legend b { font-weight: 700; color: var(--ut-ink); }
#ut-notar .is-n1 { background: #2563eb; }
#ut-notar .is-n2 { background: #0ea5e9; }
#ut-notar .is-n3 { background: #8b5cf6; }
#ut-notar .is-n4 { background: #f59e0b; }
#ut-notar .is-n5 { background: #14b8a6; }
#ut-notar .is-s0 { background: #22c55e; }
#ut-notar .is-s1 { background: #ef4444; }
#ut-notar .is-s2 { background: #f59e0b; }
#ut-notar .is-s3 { background: #8b5cf6; }
#ut-notar .is-s4 { background: #94a3b8; }
.ut-nt-group h4 { display: flex; align-items: center; gap: 8px; font-size: .92rem; font-weight: 700; color: var(--ut-ink); margin-bottom: 8px; }
.ut-nt-group h4 .ut-icon { width: 17px; height: 17px; color: var(--ut-primary); }
.ut-nt-res--seller .ut-nt-group h4 .ut-icon { color: #16a34a; }
.ut-nt-lines { display: grid; gap: 8px; }
.ut-nt-lines li { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; font-size: .9rem; line-height: 1.45; padding-bottom: 8px; border-bottom: 1px dashed var(--ut-line); }
.ut-nt-lines li > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; color: var(--ut-text); }
.ut-nt-lines li small { color: var(--ut-muted); font-size: .78rem; }
.ut-nt-lines li b { white-space: nowrap; font-weight: 700; color: var(--ut-ink); }
.ut-nt-lines li.is-muted b { color: var(--ut-muted); font-weight: 600; }
.ut-nt-rate { display: grid; gap: 2px; margin-top: 12px; padding: 12px 14px; border-radius: 14px; background: var(--ut-primary-50); border: 1px solid var(--ut-primary-100); }
.ut-nt-rate span { font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--ut-primary-700); }
.ut-nt-rate strong { font-size: 1.45rem; font-weight: 800; color: var(--ut-primary-800); }
.ut-nt-rate small { font-size: .82rem; line-height: 1.5; color: var(--ut-text); }
.ut-nt-res__sum { display: grid; gap: 2px; padding: 14px 16px; border-radius: 14px; background: #0f172a; color: #e2e8f0; }
.ut-nt-res__sum span { font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #94a3b8; }
.ut-nt-res__sum strong { font-size: 1.4rem; font-weight: 800; color: #fff; }
.ut-nt-res__sum small { font-size: .82rem; line-height: 1.5; color: #cbd5e1; }
.ut-nt-res__base { display: flex; gap: 7px; align-items: flex-start; font-size: .8rem; line-height: 1.5; color: var(--ut-muted); }
.ut-nt-res__base .ut-icon { width: 15px; height: 15px; flex: none; margin-top: 2px; }
.ut-nt-callout { margin: 0; }
.ut-nt-foot { margin-top: 2px; }
.ut-nt-grid-details { margin-top: 14px; }
.ut-nt-grid-details > summary { display: flex; align-items: center; gap: 8px; }
.ut-nt-grid-details .ut-table-wrap { margin: 0 14px 10px; }
.ut-nt-grid-details > p { padding: 0 14px 14px; }
.ut-nt-plan { display: grid; gap: 16px; margin-top: 18px; align-items: start; }
@media (min-width: 900px) { .ut-nt-plan { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.ut-nt-dates .ut-field { max-width: 320px; }
.ut-nt-timeline { display: grid; gap: 0; margin-top: 18px; }
.ut-nt-timeline li { position: relative; display: grid; gap: 3px; padding: 0 0 16px 22px; }
.ut-nt-timeline li::before { content: ""; position: absolute; left: 4px; top: 6px; width: 10px; height: 10px; border-radius: 50%; background: #fff; border: 2px solid var(--ut-primary); }
.ut-nt-timeline li::after { content: ""; position: absolute; left: 8px; top: 20px; bottom: 0; width: 2px; background: var(--ut-line); }
.ut-nt-timeline li:last-child { padding-bottom: 0; }
.ut-nt-timeline li:last-child::after { display: none; }
.ut-nt-timeline li.is-main::before { background: var(--ut-primary); box-shadow: 0 0 0 4px rgba(37, 99, 235, .15); }
.ut-nt-timeline__when { display: inline-flex; align-items: center; gap: 6px; font-size: .78rem; font-weight: 700; color: var(--ut-primary-700); text-transform: none; }
.ut-nt-timeline__when .ut-icon { width: 14px; height: 14px; }
.ut-nt-timeline strong { font-size: .95rem; color: var(--ut-ink); line-height: 1.35; }
.ut-nt-timeline p { font-size: .88rem; line-height: 1.55; }
.ut-nt-timeline .ut-ref { justify-self: start; }
.ut-nt-docs__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 12px; }
.ut-nt-docs__head h3 { display: flex; align-items: center; gap: 8px; }
.ut-nt-docs__list { display: grid; gap: 12px; margin-top: 14px; }
.ut-nt-docs__list .ut-check input:checked + span .ut-check__title { color: var(--ut-muted); text-decoration: line-through; }
.ut-nt-docs__more { margin-top: 16px; }
.ut-nt-steps-block { margin-top: 22px; }
.ut-nt-listings { margin-top: 18px; }
/* pe ecranele înguste tabelele devin liste de carduri */
@media (max-width: 639.98px) {
  #ut-notar .ut-hv-fees, #ut-notar .ut-nt-who { min-width: 0; }
  #ut-notar .ut-hv-fees thead, #ut-notar .ut-nt-who thead { display: none; }
  #ut-notar .ut-hv-fees tr, #ut-notar .ut-nt-who tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; padding: 14px 16px; border-top: 1px solid var(--ut-line-soft); }
  #ut-notar .ut-hv-fees tbody tr:first-child, #ut-notar .ut-nt-who tbody tr:first-child { border-top: 0; }
  #ut-notar .ut-hv-fees td, #ut-notar .ut-nt-who td { display: block; padding: 0; border: 0; }
  #ut-notar .ut-hv-fees td:nth-child(1) { grid-column: 1; grid-row: 1; }
  #ut-notar .ut-hv-fees td:nth-child(3) { grid-column: 2; grid-row: 1; text-align: right; max-width: 42vw; font-weight: 700; color: var(--ut-ink); }
  #ut-notar .ut-hv-fees td:nth-child(2) { grid-column: 1 / -1; font-size: .85rem; }
  #ut-notar .ut-nt-who td { grid-column: 1 / -1; }
  #ut-notar .ut-nt-who td:nth-child(2) { font-size: .9rem; }
  .ut-nt-row { grid-template-columns: 1fr 1fr; }
  .ut-nt-row .ut-field:last-child:nth-child(3) { grid-column: 1 / -1; }
}

/* ==========================================================================
   Fără canalizare: fosă, foraj sau puț
   ========================================================================== */
#ut-canal [hidden] { display: none !important; }
#ut-canal #fc-result, #ut-canal #calculator { scroll-margin-top: calc(var(--ut-sticky-top, 64px) + 76px); }
@media (min-width: 1024px) { #ut-canal #fc-result, #ut-canal #calculator { scroll-margin-top: calc(var(--ut-sticky-top, 64px) + 16px); } }
.ut-fc-quiz { display: grid; gap: 18px; margin-top: 18px; }
.ut-fc-result { display: grid; gap: 22px; margin-top: 18px; animation: utFade .25s ease-out; }
.ut-fc-res-group { display: grid; gap: 12px; }
.ut-fc-res-title { display: flex; align-items: center; gap: 8px; font-size: 1.05rem; font-weight: 800; color: var(--ut-ink); }
.ut-fc-res-title .ut-icon { width: 20px; height: 20px; color: var(--ut-primary); }
.ut-fc-picks { display: grid; gap: 10px; }
@media (min-width: 700px) { .ut-fc-picks { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); } }
.ut-fc-pick { position: relative; display: flex; gap: 12px; align-items: flex-start; width: 100%; text-align: left; padding: 14px 16px; border: 1px solid var(--ut-line); border-radius: 16px; background: #fff; cursor: pointer; font: inherit; color: inherit; transition: border-color .2s, box-shadow .2s, background-color .2s; }
.ut-fc-pick:hover:not(:disabled) { border-color: var(--ut-primary-100); }
.ut-fc-pick[aria-pressed="true"] { border-color: var(--ut-primary); background: var(--ut-primary-50); box-shadow: 0 0 0 3px rgba(37, 99, 235, .12); }
.ut-fc-pick:disabled { cursor: default; }
.ut-fc-pick:focus-visible { outline: 3px solid rgba(37, 99, 235, .35); outline-offset: 2px; }
.ut-fc-pick__icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; flex: none; background: var(--ut-primary-50); color: var(--ut-primary); }
.ut-fc-pick[aria-pressed="true"] .ut-fc-pick__icon { background: #fff; }
.ut-fc-pick__icon .ut-icon { width: 20px; height: 20px; }
.ut-fc-pick__body { display: grid; gap: 4px; min-width: 0; }
.ut-fc-pick__body strong { font-size: .98rem; color: var(--ut-ink); line-height: 1.35; }
.ut-fc-pick__body small { font-size: .85rem; color: var(--ut-text); line-height: 1.5; }
.ut-fc-pick__check { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--ut-line); color: transparent; }
.ut-fc-pick__check .ut-icon { width: 13px; height: 13px; }
.ut-fc-pick[aria-pressed="true"] .ut-fc-pick__check { background: var(--ut-primary); border-color: var(--ut-primary); color: #fff; }
.ut-fc-badge { justify-self: start; display: inline-flex; align-items: center; padding: 2px 9px; border-radius: 999px; font-size: .72rem; font-weight: 700; letter-spacing: .02em; }
.ut-fc-badge.is-ok { background: #dcfce7; color: #166534; }
.ut-fc-badge.is-warn { background: #fef3c7; color: #92400e; }
.ut-fc-badge.is-bad { background: #fee2e2; color: #991b1b; }
.ut-fc-plan { display: grid; gap: 18px; align-items: start; }
@media (min-width: 1000px) { .ut-fc-plan { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); } }
.ut-fc-steps-title { font-size: .95rem; font-weight: 700; color: var(--ut-primary-700); margin: 14px 0 10px; }
.ut-fc-steps-title:first-child { margin-top: 4px; }
.ut-fc-docs__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 12px; }
.ut-fc-docs__head h3 { display: flex; align-items: center; gap: 8px; }
.ut-fc-docs__list { display: grid; gap: 12px; margin-top: 14px; }
.ut-fc-docs__list .ut-check input:checked + span .ut-check__title { color: var(--ut-muted); text-decoration: line-through; }
.ut-fc-group-title { display: flex; align-items: center; gap: 8px; margin: 22px 0 12px; }
.ut-fc-group-title .ut-icon { width: 18px; height: 18px; color: var(--ut-primary); }
.ut-fc-variants { display: grid; gap: 14px; }
@media (min-width: 760px) { .ut-fc-variants { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ut-fc-var { display: flex; flex-direction: column; gap: 8px; padding: 18px; border-radius: 18px; background: #fff; border: 1px solid var(--ut-line); border-top-width: 4px; min-width: 0; }
.ut-fc-var.is-ok { border-top-color: #22c55e; }
.ut-fc-var.is-warn { border-top-color: #f59e0b; }
.ut-fc-var.is-bad { border-top-color: #ef4444; background: #fff7f7; }
.ut-fc-var__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ut-fc-var__icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: var(--ut-primary-50); color: var(--ut-primary); }
.ut-fc-var.is-bad .ut-fc-var__icon { background: #fee2e2; color: #b91c1c; }
.ut-fc-var__icon .ut-icon { width: 20px; height: 20px; }
.ut-fc-var h4 { font-size: 1.02rem; font-weight: 800; color: var(--ut-ink); line-height: 1.35; }
.ut-fc-var p { font-size: .9rem; line-height: 1.6; }
.ut-fc-var__label { margin-top: 4px; font-size: .72rem !important; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ut-muted); }
.ut-fc-var__list { display: grid; gap: 6px; }
.ut-fc-var__list li { display: flex; gap: 8px; align-items: flex-start; font-size: .88rem; line-height: 1.5; }
.ut-fc-var__list .ut-icon { width: 15px; height: 15px; flex: none; margin-top: 3px; color: #16a34a; }
.ut-fc-var__meta { font-size: .88rem !important; }
.ut-fc-var .ut-ref { align-self: flex-start; margin-top: auto; }
.ut-fc-calc { display: grid; gap: 16px; margin-top: 18px; }
.ut-fc-calc__box { display: grid; gap: 14px; }
.ut-fc-calc__box h3 { display: flex; align-items: center; gap: 8px; }
.ut-fc-calc__box h3 .ut-icon { width: 18px; height: 18px; color: var(--ut-primary); }
.ut-fc-calc__grid { display: grid; gap: 14px; }
@media (min-width: 560px) { .ut-fc-calc__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; } }
.ut-fc-calc__grid .ut-input { width: 100%; }
#ut-canal .ut-input.is-bad { border-color: #ef4444; background: #fff7f7; }
#ut-canal .ut-input.is-ok { border-color: #22c55e; }
.ut-fc-out { display: grid; gap: 12px; }
.ut-fc-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 760px) { .ut-fc-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ut-fc-stat { display: grid; gap: 2px; align-content: start; padding: 12px 14px; border-radius: 14px; background: #fff; border: 1px solid var(--ut-line); min-width: 0; }
.ut-fc-stat span { font-size: .74rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--ut-muted); }
.ut-fc-stat strong { font-size: 1.35rem; font-weight: 800; color: var(--ut-ink); line-height: 1.25; }
.ut-fc-stat small { font-size: .76rem; color: var(--ut-muted); }
.ut-fc-stat.is-main { background: var(--ut-primary-50); border-color: var(--ut-primary-100); }
.ut-fc-stat.is-main strong { color: var(--ut-primary-800); }
.ut-fc-note { display: flex; gap: 8px; align-items: flex-start; font-size: .86rem; line-height: 1.55; color: var(--ut-text); }
.ut-fc-note .ut-icon { width: 16px; height: 16px; flex: none; margin-top: 3px; color: var(--ut-primary); }
.ut-fc-dist { display: grid; gap: 8px; }
.ut-fc-dist li { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 12px; background: #fff; border: 1px solid var(--ut-line); font-size: .9rem; }
.ut-fc-dist li span { flex: 1; min-width: 0; }
.ut-fc-dist li b { white-space: nowrap; color: var(--ut-ink); }
.ut-fc-dist li .ut-icon { width: 16px; height: 16px; flex: none; }
.ut-fc-dist li.is-ok .ut-icon { color: #16a34a; }
.ut-fc-dist li.is-bad { border-color: #fecaca; background: #fff7f7; }
.ut-fc-dist li.is-bad .ut-icon, .ut-fc-dist li.is-bad b { color: #b91c1c; }
.ut-fc-dates { display: grid; gap: 16px; margin-top: 18px; }
.ut-fc-timeline { display: grid; }
.ut-fc-timeline li { position: relative; display: grid; gap: 3px; padding: 0 0 16px 22px; }
.ut-fc-timeline li::before { content: ""; position: absolute; left: 4px; top: 6px; width: 10px; height: 10px; border-radius: 50%; background: #fff; border: 2px solid var(--ut-primary); }
.ut-fc-timeline li::after { content: ""; position: absolute; left: 8px; top: 20px; bottom: 0; width: 2px; background: var(--ut-line); }
.ut-fc-timeline li:last-child { padding-bottom: 0; }
.ut-fc-timeline li:last-child::after { display: none; }
.ut-fc-timeline li.is-main::before { background: var(--ut-primary); box-shadow: 0 0 0 4px rgba(37, 99, 235, .15); }
.ut-fc-timeline__when { display: inline-flex; align-items: center; gap: 6px; font-size: .78rem; font-weight: 700; color: var(--ut-primary-700); }
.ut-fc-timeline__when .ut-icon { width: 14px; height: 14px; }
.ut-fc-timeline strong { font-size: .95rem; color: var(--ut-ink); line-height: 1.35; }
.ut-fc-timeline p { font-size: .88rem; line-height: 1.55; }
.ut-fc-timeline .ut-ref { justify-self: start; }
.ut-fc-links { display: grid; gap: 12px; margin-top: 16px; }
@media (min-width: 700px) { .ut-fc-links { grid-template-columns: 1fr 1fr; } }
/* pe ecranele înguste tabelul de taxe devine o listă de carduri */
@media (max-width: 639.98px) {
  #ut-canal .ut-hv-fees { min-width: 0; }
  #ut-canal .ut-hv-fees thead { display: none; }
  #ut-canal .ut-hv-fees tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; padding: 14px 16px; border-top: 1px solid var(--ut-line-soft); }
  #ut-canal .ut-hv-fees tbody tr:first-child { border-top: 0; }
  #ut-canal .ut-hv-fees td { display: block; padding: 0; border: 0; }
  #ut-canal .ut-hv-fees td:nth-child(1) { grid-column: 1; grid-row: 1; }
  #ut-canal .ut-hv-fees td:nth-child(3) { grid-column: 2; grid-row: 1; text-align: right; max-width: 42vw; font-weight: 700; color: var(--ut-ink); }
  #ut-canal .ut-hv-fees td:nth-child(2) { grid-column: 1 / -1; font-size: .85rem; }
}

/* ==========================================================================
   Ce bani poți primi de la stat pentru casă
   ========================================================================== */
#ut-bani [hidden] { display: none !important; }
#ut-bani #bs-result { scroll-margin-top: calc(var(--ut-sticky-top, 64px) + 76px); }
.ut-bs { display: grid; gap: 16px; margin-top: 18px; }
.ut-bs-goals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 900px) { .ut-bs-goals { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ut-bs-goal { position: relative; cursor: pointer; }
.ut-bs-goal input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.ut-bs-goal > span { position: relative; display: grid; gap: 4px; align-content: start; height: 100%; padding: 14px 14px 14px; border: 1px solid var(--ut-line); border-radius: 16px; background: #fff; transition: border-color .2s, box-shadow .2s, background-color .2s; }
.ut-bs-goal__icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: var(--ut-primary-50); color: var(--ut-primary); margin-bottom: 4px; }
.ut-bs-goal__icon .ut-icon { width: 20px; height: 20px; }
.ut-bs-goal strong { font-size: .95rem; font-weight: 700; color: var(--ut-ink); line-height: 1.3; }
.ut-bs-goal small { font-size: .8rem; color: var(--ut-muted); line-height: 1.4; }
.ut-bs-goal__tick { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--ut-line); color: transparent; }
.ut-bs-goal__tick .ut-icon { width: 13px; height: 13px; }
.ut-bs-goal:hover > span { border-color: var(--ut-primary-100); }
.ut-bs-goal input:checked + span { border-color: var(--ut-primary); background: var(--ut-primary-50); box-shadow: 0 0 0 3px rgba(37, 99, 235, .12); }
.ut-bs-goal input:checked + span .ut-bs-goal__icon { background: #fff; }
.ut-bs-goal input:checked + span .ut-bs-goal__tick { background: var(--ut-primary); border-color: var(--ut-primary); color: #fff; }
.ut-bs-goal input:focus-visible + span { outline: 3px solid rgba(37, 99, 235, .35); outline-offset: 2px; }
.ut-bs-fields { display: grid; gap: 14px; }
.ut-bs-group { display: grid; gap: 14px; margin: 0; min-width: 0; }
.ut-bs-group > legend { float: left; width: 100%; padding: 0; display: flex; align-items: center; gap: 8px; }
.ut-bs-group > legend .ut-icon { width: 18px; height: 18px; color: var(--ut-primary); }
.ut-bs-group > legend + * { clear: both; }
.ut-bs-grid { display: grid; gap: 14px; }
@media (min-width: 560px) { .ut-bs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } }
.ut-bs-grid .ut-input { width: 100%; }
.ut-bs-result { display: grid; gap: 16px; margin-top: 18px; }
.ut-bs-empty { display: flex; gap: 8px; align-items: center; padding: 14px 16px; border-radius: 14px; border: 1px dashed var(--ut-line); color: var(--ut-muted); font-size: .92rem; }
.ut-bs-empty .ut-icon { width: 18px; height: 18px; flex: none; }
.ut-bs-cards { display: grid; gap: 14px; }
.ut-bs-cards:empty, .ut-bs-closed:empty { display: none; }
.ut-bs-card { display: grid; gap: 10px; padding: 18px; border-radius: 18px; background: #fff; border: 1px solid var(--ut-line); border-left-width: 5px; min-width: 0; animation: utFade .25s ease-out; }
.ut-bs-card.is-yes { border-left-color: #22c55e; }
.ut-bs-card.is-wait { border-left-color: #f59e0b; }
.ut-bs-card.is-local, .ut-bs-card.is-info { border-left-color: var(--ut-primary); }
.ut-bs-card.is-no { border-left-color: #94a3b8; background: var(--ut-bg); }
.ut-bs-card__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.ut-bs-card h3 { font-size: 1.08rem; font-weight: 800; color: var(--ut-ink); line-height: 1.35; }
.ut-bs-card p { font-size: .92rem; line-height: 1.6; }
.ut-bs-badge { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; font-size: .74rem; font-weight: 700; letter-spacing: .02em; }
.ut-bs-badge.is-ok { background: #dcfce7; color: #166534; }
.ut-bs-badge.is-warn { background: #fef3c7; color: #92400e; }
.ut-bs-badge.is-info { background: var(--ut-primary-50); color: var(--ut-primary-700); }
.ut-bs-badge.is-off { background: #f1f5f9; color: #475569; }
.ut-bs-verdict { display: inline-flex; align-items: center; gap: 6px; font-size: .86rem; font-weight: 700; }
.ut-bs-verdict .ut-icon { width: 16px; height: 16px; }
.ut-bs-verdict.is-yes { color: #15803d; }
.ut-bs-verdict.is-wait { color: #b45309; }
.ut-bs-verdict.is-local, .ut-bs-verdict.is-info { color: var(--ut-primary-700); }
.ut-bs-verdict.is-no { color: #64748b; }
.ut-bs-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }
.ut-bs-stat { display: grid; gap: 2px; align-content: start; padding: 12px 14px; border-radius: 14px; background: var(--ut-bg); border: 1px solid var(--ut-line-soft); min-width: 0; }
.ut-bs-stat span { font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--ut-muted); }
.ut-bs-stat strong { font-size: 1.25rem; font-weight: 800; color: var(--ut-ink); line-height: 1.25; }
.ut-bs-stat small { font-size: .78rem; color: var(--ut-muted); line-height: 1.4; }
.ut-bs-card.is-yes .ut-bs-stat:first-child strong { color: #15803d; }
.ut-bs-card__deadline { display: flex; gap: 7px; align-items: flex-start; font-size: .86rem !important; color: var(--ut-text); }
.ut-bs-card__deadline .ut-icon { width: 15px; height: 15px; flex: none; margin-top: 3px; color: var(--ut-muted); }
.ut-bs-card__links { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.ut-bs-closed h3 { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.ut-bs-closed h3 .ut-icon { width: 18px; height: 18px; color: #94a3b8; }
.ut-bs-closedlist { display: grid; gap: 8px; }
.ut-bs-closedlist li { display: grid; gap: 2px; padding: 10px 14px; border-radius: 12px; background: var(--ut-bg); border: 1px solid var(--ut-line-soft); font-size: .88rem; line-height: 1.5; }
.ut-bs-closedlist strong { color: var(--ut-ink); }
.ut-bs-plan { display: grid; gap: 18px; align-items: start; margin-top: 6px; }
@media (min-width: 1000px) { .ut-bs-plan { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); } }
.ut-bs-steps-title { font-size: .95rem; font-weight: 700; color: var(--ut-primary-700); margin: 14px 0 10px; }
.ut-bs-steps-title:first-child { margin-top: 4px; }
.ut-bs-docs__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 12px; }
.ut-bs-docs__head h3 { display: flex; align-items: center; gap: 8px; }
.ut-bs-docs__list { display: grid; gap: 12px; margin-top: 14px; }
.ut-bs-docs__list .ut-check input:checked + span .ut-check__title { color: var(--ut-muted); text-decoration: line-through; }
.ut-bs-board { display: grid; gap: 14px; margin-top: 18px; }
@media (min-width: 760px) { .ut-bs-board { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ut-bs-prog { display: flex; flex-direction: column; gap: 8px; padding: 18px; border-radius: 18px; background: #fff; border: 1px solid var(--ut-line); border-top-width: 4px; min-width: 0; }
.ut-bs-prog.is-ok { border-top-color: #22c55e; }
.ut-bs-prog.is-warn { border-top-color: #f59e0b; }
.ut-bs-prog.is-info { border-top-color: var(--ut-primary); }
.ut-bs-prog__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ut-bs-prog__icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: var(--ut-primary-50); color: var(--ut-primary); }
.ut-bs-prog__icon .ut-icon { width: 20px; height: 20px; }
.ut-bs-prog h3 { font-size: 1.02rem; font-weight: 800; color: var(--ut-ink); line-height: 1.35; }
.ut-bs-prog p { font-size: .9rem; line-height: 1.6; }
.ut-bs-prog__status { padding: 10px 12px; border-radius: 12px; background: var(--ut-bg); border: 1px solid var(--ut-line-soft); font-size: .86rem !important; }
.ut-bs-prog__label { margin-top: 4px; font-size: .72rem !important; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ut-muted); }
.ut-bs-list { display: grid; gap: 6px; }
.ut-bs-list li { display: flex; gap: 8px; align-items: flex-start; font-size: .88rem; line-height: 1.5; }
.ut-bs-list .ut-icon { width: 15px; height: 15px; flex: none; margin-top: 3px; color: #16a34a; }
.ut-bs-prog__deadline { display: flex; gap: 7px; align-items: flex-start; font-weight: 600; color: var(--ut-ink); }
.ut-bs-prog__deadline .ut-icon { width: 15px; height: 15px; flex: none; margin-top: 4px; color: var(--ut-primary); }
.ut-bs-prog .ut-ref { align-self: flex-start; margin-top: auto; }
.ut-bs-closed-title { display: flex; align-items: center; gap: 8px; margin: 22px 0 12px; }
.ut-bs-closed-title .ut-icon { width: 18px; height: 18px; color: #94a3b8; }
.ut-bs-closedgrid { display: grid; gap: 10px; }
@media (min-width: 700px) { .ut-bs-closedgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ut-bs-off { display: grid; gap: 4px; padding: 14px 16px; border-radius: 14px; background: var(--ut-bg); border: 1px solid var(--ut-line); }
.ut-bs-off strong { color: var(--ut-ink); font-size: .95rem; }
.ut-bs-off p { font-size: .88rem; line-height: 1.55; }
.ut-bs-off .ut-ref { justify-self: start; }
.ut-bs-timeline { display: grid; margin-top: 16px; }
.ut-bs-timeline li { position: relative; display: grid; gap: 3px; padding: 0 0 16px 22px; }
.ut-bs-timeline li::before { content: ""; position: absolute; left: 4px; top: 6px; width: 10px; height: 10px; border-radius: 50%; background: var(--ut-primary); box-shadow: 0 0 0 4px rgba(37, 99, 235, .15); }
.ut-bs-timeline li::after { content: ""; position: absolute; left: 8px; top: 20px; bottom: 0; width: 2px; background: var(--ut-line); }
.ut-bs-timeline li:last-child { padding-bottom: 0; }
.ut-bs-timeline li:last-child::after { display: none; }
.ut-bs-timeline li.is-past::before { background: #cbd5e1; box-shadow: none; }
.ut-bs-timeline li.is-open::before { background: #f59e0b; box-shadow: 0 0 0 4px rgba(245, 158, 11, .18); }
.ut-bs-timeline__when { display: inline-flex; align-items: center; gap: 6px; font-size: .78rem; font-weight: 700; color: var(--ut-primary-700); }
.ut-bs-timeline__when .ut-icon { width: 14px; height: 14px; }
.ut-bs-timeline strong { font-size: .95rem; color: var(--ut-ink); line-height: 1.35; }
.ut-bs-timeline p { font-size: .88rem; line-height: 1.55; }
.ut-bs-links { display: grid; gap: 12px; margin-top: 16px; }
@media (min-width: 700px) { .ut-bs-links { grid-template-columns: 1fr 1fr; } }

/* Caseta „Pe scurt” de la începutul instrumentelor (partials/utile-pe-scurt.ejs) */
.ut-pescurt { padding: 20px 0 4px; }
.ut-pescurt__box { border: 1px solid var(--ut-line); border-left: 4px solid var(--ut-primary); border-radius: 14px; background: #fff; padding: 16px 18px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
.ut-pescurt__label { margin: 0 0 4px; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--ut-primary); }
.ut-pescurt__q { margin: 0 0 8px; font-size: 1.12rem; line-height: 1.35; font-weight: 800; color: var(--ut-ink); }
.ut-pescurt__a { margin: 0 0 8px; font-size: .97rem; line-height: 1.6; color: var(--ut-ink); }
.ut-pescurt__meta { margin: 6px 0 0; font-size: .82rem; color: var(--ut-muted); }
.ut-pescurt__meta a { color: var(--ut-primary); text-decoration: underline; }
@media (min-width: 768px) { .ut-pescurt__box { padding: 20px 24px; } .ut-pescurt__q { font-size: 1.25rem; } }
