/* „Lift pentru viață” (views/utile/lift-pentru-viata.ejs, public/js/utile-lift.js). Culorile vin din utile.css (--ut-*). */
.lf-content { padding-bottom: 64px; }
.lf-form { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 860px) { .lf-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } .lf-q[data-q="people"] { grid-column: 1 / -1; } }
.lf-q { margin: 0; padding: 14px 16px; border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.lf-q legend { display: flex; align-items: center; gap: 8px; padding: 0; margin-bottom: 6px; font-weight: 800; color: #0f172a; font-size: .98rem; line-height: 1.35; float: left; width: 100%; }
.lf-q legend + * { clear: both; }
.lf-q legend span { flex: none; width: 24px; height: 24px; border-radius: 50%; background: #2563eb; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: .8rem; }
.lf-q label { display: flex; align-items: flex-start; gap: 8px; padding: 7px 10px; border-radius: 10px; cursor: pointer; font-size: .94rem; color: #334155; }
.lf-q label:hover { background: #f1f5f9; }
.lf-q input { width: 18px; height: 18px; margin-top: 2px; accent-color: #2563eb; flex: none; }
.lf-hint { margin: 4px 0 0; font-size: .82rem; color: #64748b; }
.lf-res { margin-top: 16px; }
.lf-res__wait { margin: 0; padding: 14px 16px; border: 1px dashed #cbd5e1; border-radius: 14px; color: #64748b; }
.lf-verdict { padding: 16px 18px; border-radius: 16px; border: 1px solid; }
.lf-verdict--yes { background: #f0fdf4; border-color: #86efac; }
.lf-verdict--maybe { background: #fffbeb; border-color: #fcd34d; }
.lf-verdict--no { background: #fef2f2; border-color: #fca5a5; }
.lf-verdict__t { margin: 0 0 8px; font-size: 1.15rem; font-weight: 800; color: #0f172a; }
.lf-verdict ul { margin: 0 0 8px; padding-left: 20px; display: grid; gap: 4px; color: #334155; }
.lf-verdict__n { margin: 6px 0 0; font-size: .9rem; color: #334155; }
.lf-verdict__n a { font-weight: 700; }
.lf-steps { margin: 0; padding-left: 22px; display: grid; gap: 10px; color: #334155; }
.lf-steps ul { margin: 6px 0 0; padding-left: 18px; display: grid; gap: 4px; }
.lf-cards { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) { .lf-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lf-card { padding: 16px 18px; border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; }
.lf-card h3 { margin: 0 0 6px; font-size: 1rem; color: #0f172a; }
.lf-card p { margin: 0; color: #334155; font-size: .94rem; }
.lf-time { list-style: none; margin: 0 0 10px; padding: 0; border-left: 3px solid #bfdbfe; }
.lf-time li { position: relative; display: grid; gap: 2px; padding: 8px 0 10px 18px; }
.lf-time li::before { content: ""; position: absolute; left: -8px; top: 12px; width: 13px; height: 13px; border-radius: 50%; background: #2563eb; border: 2px solid #fff; box-shadow: 0 0 0 1px #2563eb; }
.lf-time li.is-past::before { background: #94a3b8; box-shadow: 0 0 0 1px #94a3b8; }
.lf-time time { font-weight: 800; color: #0f172a; }
.lf-time small { color: #64748b; }
.lf-faq details { border: 1px solid #e2e8f0; border-radius: 12px; background: #fff; margin-bottom: 8px; }
.lf-faq summary { cursor: pointer; padding: 12px 16px; font-weight: 700; color: #0f172a; }
.lf-faq p { margin: 0; padding: 0 16px 12px; color: #334155; }
.lf-src { padding-left: 20px; display: grid; gap: 4px; }
