/* Calculator vârstă biologică — stil (temă Dr. Sutherland) */
:root{
  --green-dark:#1B5E20; --green:#2e7d32; --aqua:#21b6c5;
  --bg:#f9fbf9; --text:#333; --muted:#667; --line:#e3e8e3;
  --shadow:0 10px 30px rgba(0,0,0,.12); --radius:18px; --maxw:780px;
}
*{box-sizing:border-box;}
body{margin:0;color:var(--text);background:var(--bg);line-height:1.6;
  font-family:"Open Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;}
h1,h2,h3,h4{font-family:"Montserrat",sans-serif;}
a{color:var(--green);}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:linear-gradient(90deg,rgba(33,182,197,.97),rgba(30,136,84,.97));box-shadow:var(--shadow);}
.nav__inner{max-width:1100px;margin:auto;display:flex;align-items:center;gap:18px;padding:13px 18px;}
.logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-family:"Montserrat";font-weight:700;}
.logo img{height:30px;}
.nav__links{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap;}
.nav__links a{color:#fff;text-decoration:none;font-weight:600;font-family:"Montserrat";font-size:14px;padding:7px 11px;border-radius:10px;}
.nav__links a:hover{background:rgba(255,255,255,.18);}

/* hero */
.hero{color:#fff;text-align:center;padding:40px 18px 28px;
  background:radial-gradient(900px 380px at 80% 0%,rgba(255,255,255,.18),transparent 60%),linear-gradient(180deg,#22c1c3,#2ec28a);}
.hero h1{margin:0 0 8px;font-size:clamp(24px,3.6vw,38px);text-shadow:0 2px 8px rgba(0,0,0,.25);}
.hero p{margin:0;font-size:clamp(15px,2vw,18px);opacity:.95;}

main{max-width:var(--maxw);margin:-16px auto 30px;padding:0 14px;}
.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;}
.screen[hidden]{display:none;}

/* progres */
.progress{margin:0 0 18px;}
.progress__bar{height:8px;background:#e8efe9;border-radius:8px;overflow:hidden;}
.progress__fill{height:100%;width:0;background:linear-gradient(90deg,var(--aqua),var(--green));transition:width .3s;}
.progress__meta{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-top:6px;}

/* form */
label.fld{display:block;font-weight:600;font-family:"Montserrat";color:var(--green-dark);margin:14px 0 4px;}
input[type=text],input[type=email],input[type=tel],input[type=number],select{
  width:100%;padding:11px 12px;border:1px solid #ccc;border-radius:10px;font-size:16px;font-family:inherit;background:#fff;}
input:focus,select:focus{outline:none;border-color:var(--aqua);box-shadow:0 0 0 3px rgba(33,182,197,.18);}
.hint{font-size:13px;color:var(--muted);margin:0 0 8px;}
.err{color:#c0392b;font-size:13px;margin-top:5px;min-height:1px;}
.note{background:#fff8e1;border:1px solid #ffe082;border-radius:12px;padding:12px 14px;margin:0 0 16px;font-size:14px;}
.consent{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:14px;}
.consent input{width:20px;height:20px;margin-top:2px;accent-color:var(--green);}
.req{color:#c0392b;}

button{cursor:pointer;font-family:"Montserrat";font-weight:700;border:none;border-radius:12px;}
.btn{background:var(--green-dark);color:#fff;font-size:16px;padding:14px 22px;box-shadow:var(--shadow);}
.btn:hover{filter:brightness(.95);}
.btn[disabled]{opacity:.6;cursor:default;}
.btn-ghost{background:#eef3ef;color:var(--green-dark);font-size:14px;padding:10px 16px;}
.row-btns{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:20px;flex-wrap:wrap;}
.center{text-align:center;}

/* honeypot */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* întrebări */
.q{padding:16px 0;border-bottom:1px solid #eee;}
.q:last-child{border-bottom:none;}
.q.unanswered{background:#fdecea;border-radius:10px;padding:14px;border-bottom:none;}
.q__t{font-weight:600;font-family:"Montserrat";color:var(--green-dark);margin:0 0 4px;}
.opts{display:flex;flex-direction:column;gap:8px;margin-top:8px;}
.opt{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:.15s;}
.opt:hover{border-color:var(--aqua);background:#f3fbfc;}
.opt input{margin-top:3px;accent-color:var(--green);}
.opt input:checked + span{font-weight:600;color:var(--green-dark);}

/* IMC inline */
.bmi{margin-top:10px;background:#f3fbfc;border:1px solid #cfeef2;border-radius:12px;padding:12px;}
.bmi summary{cursor:pointer;font-weight:600;color:var(--green-dark);}
.bmi__row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;}
.bmi__row input{max-width:120px;}
.bmi__out{margin-top:10px;font-weight:600;color:var(--green-dark);}

/* cod verificare */
.code-in{font-size:30px;letter-spacing:12px;text-align:center;max-width:260px;margin:6px auto;font-family:monospace;}

/* rezultat */
.result-box{text-align:center;background:linear-gradient(180deg,#e8f5e9,#e0f7fa);border-radius:var(--radius);padding:26px;margin:0 0 20px;}
.result-box .big{font-family:"Montserrat";font-weight:700;color:var(--green-dark);font-size:clamp(32px,7vw,56px);line-height:1.05;}
.result-box .small{color:var(--muted);}
.verdict{font-size:17px;margin:0 0 18px;}
.ctas{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:18px 0;}
.cta{display:block;text-decoration:none;border-radius:14px;padding:18px;color:#fff;text-align:center;box-shadow:var(--shadow);}
.cta b{display:block;font-family:"Montserrat";font-size:16px;margin-bottom:4px;}
.cta span{font-size:13px;opacity:.95;}
.cta-1{background:var(--green-dark);}
.cta-2{background:var(--aqua);}
.cta-3{background:#7e57c2;}

/* loading */
.spinner{width:46px;height:46px;border:5px solid #e0efe6;border-top-color:var(--green);border-radius:50%;margin:24px auto;animation:spin 1s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* SEO text */
.seo{max-width:var(--maxw);margin:0 auto 40px;padding:0 14px;color:#3a463d;}
.seo h2{color:var(--green-dark);font-size:22px;margin:26px 0 8px;}
.seo p{margin:0 0 12px;}

footer{padding:18px;background:#0f3b13;color:#cfe6d4;text-align:center;font-size:14px;}
footer a{color:#cfe6d4;}

@media(max-width:600px){
  .logo span{display:none;}
  .ctas{grid-template-columns:1fr;}
  .code-in{letter-spacing:8px;font-size:26px;}
}
