/* ═══════════════════════════════════════════════════════════
   du-toan.css — Style riêng cho tool "Dự toán xây nhà 60 giây"
   Dùng chung token/nav/footer/breadcrumb từ cam-nang.css, chỉ
   thêm phần riêng: wizard 5 bước, kết quả, bảng bóc tách, form lead.
   Import: <link rel="stylesheet" href="../cam-nang/cam-nang.css">
           <link rel="stylesheet" href="du-toan.css">
═══════════════════════════════════════════════════════════ */

.dt-hero{padding:56px 0 8px;text-align:center}
.dt-hero h1{font-family:var(--serif);font-weight:400;font-size:38px;line-height:1.16;letter-spacing:-.01em;color:var(--text);margin-bottom:14px}
.dt-hero h1 em{font-style:italic;font-weight:700;color:var(--gold2)}
.dt-hero p{font-size:var(--text-md);color:var(--text2);max-width:600px;margin:0 auto;line-height:1.7}
@media(max-width:640px){.dt-hero h1{font-size:28px}}

.dt-tool{max-width:720px;margin:36px auto 60px;background:var(--bg2);border:1px solid var(--border);border-radius:calc(var(--r) + 4px);box-shadow:var(--shadow-md);padding:38px 40px;position:relative;overflow:hidden}
.dt-tool::before{content:'';position:absolute;inset:10px;border:1px solid rgba(152,105,10,.12);border-radius:var(--r);pointer-events:none}
@media(max-width:640px){.dt-tool{padding:26px 20px}}

.dt-progress{height:5px;background:var(--bg3);border-radius:99px;overflow:hidden;margin-bottom:30px;position:relative}
.dt-progress-bar{height:100%;width:20%;background:linear-gradient(90deg,var(--gold2),var(--gold));border-radius:99px;transition:width .4s var(--ease)}

.dt-step{display:none;position:relative}
.dt-step.active{display:block;animation:dtFadeIn .35s var(--ease)}
@keyframes dtFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.dt-step h3{font-family:var(--syne);font-weight:700;font-size:var(--text-lg);color:var(--text);margin-bottom:22px;text-align:center}
.dt-step-num{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--gold);text-transform:uppercase;margin-bottom:8px;text-align:center}

.dt-btn-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.dt-choice{padding:16px 22px;min-width:130px;border-radius:var(--r-sm);border:1.5px solid var(--border2);background:var(--bg2);color:var(--text2);font-family:var(--syne);font-weight:700;font-size:var(--text-sm);cursor:pointer;transition:all .2s var(--ease);box-shadow:var(--shadow-sm)}
.dt-choice:hover{border-color:var(--gold);color:var(--text);transform:translateY(-2px)}
.dt-choice.on{background:linear-gradient(135deg,var(--gold2),var(--gold));border-color:transparent;color:#1a1400;box-shadow:0 6px 16px rgba(152,105,10,.22)}

.dt-slider-wrap{padding:10px 8px 26px}
.dt-slider-wrap input[type=range]{width:100%;accent-color:var(--gold)}
.dt-slider-val{text-align:center;margin-top:14px;font-family:var(--mono);font-weight:700;font-size:30px;color:var(--gold)}
.dt-slider-val span{font-size:1em}
.dt-slider-val input[type=number]{width:5.5em;text-align:right;background:var(--bg);border:1px solid var(--border2);border-radius:8px;padding:2px 8px;font-family:var(--mono);font-weight:700;font-size:1em;color:var(--gold);outline:none;transition:border-color .2s;-moz-appearance:textfield}
.dt-slider-val input[type=number]:focus{border-color:var(--gold)}
.dt-slider-val input[type=number]::-webkit-outer-spin-button,.dt-slider-val input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.dt-slider-marks{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:4px}

.dt-select{display:block;width:100%;max-width:420px;margin:0 auto;background:var(--bg);border:1px solid var(--border2);border-radius:10px;padding:14px 16px;font-family:var(--sans);font-size:var(--text-md);color:var(--text);outline:none;cursor:pointer}
.dt-select:focus{border-color:var(--gold)}

.dt-actions{display:flex;justify-content:center;gap:12px;margin-top:26px}
.dt-back{background:none;border:none;color:var(--muted);font-family:var(--syne);font-size:var(--text-xs);cursor:pointer;text-decoration:underline}

/* ── Kết quả ── */
.dt-result{display:none}
.dt-result.show{display:block;animation:dtFadeIn .4s var(--ease)}
.dt-result-head{text-align:center;margin-bottom:26px}
.dt-result-head .lbl{font-family:var(--syne);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:10px}
.dt-result-range{font-family:var(--mono);font-weight:700;font-size:34px;color:var(--gold);letter-spacing:-.01em}
@media(max-width:480px){.dt-result-range{font-size:26px}}

.dt-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;margin:24px 0;box-shadow:var(--shadow-sm)}
.dt-bd-item{background:var(--bg2);padding:16px 14px;text-align:center}
.dt-bd-item .k{font-family:var(--syne);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:700;display:block;margin-bottom:6px}
.dt-bd-item .v{font-family:var(--mono);font-size:var(--text-md);color:var(--text);font-weight:700}
.dt-bd-item .pct{font-size:10px;color:var(--sub)}
@media(max-width:480px){.dt-breakdown{grid-template-columns:1fr}}

.dt-disclaimer{display:flex;align-items:flex-start;gap:8px;font-size:var(--text-xs);color:var(--muted);line-height:1.6;background:var(--bg3);border-radius:var(--r-sm);padding:14px 16px;margin-bottom:28px}
.dt-disclaimer i{color:var(--gold);flex-shrink:0;margin-top:2px}

.dt-related{margin-bottom:28px}
.dt-related h4{font-family:var(--syne);font-weight:700;font-size:var(--text-sm);letter-spacing:.02em;color:var(--text);margin-bottom:14px;text-align:center}
.dt-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:640px){.dt-related-grid{grid-template-columns:1fr}}
.dt-related-card{display:block;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r-sm);padding:14px 16px;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.dt-related-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.dt-related-card h5{font-family:var(--syne);font-weight:700;font-size:12.5px;color:var(--text);line-height:1.4;margin-bottom:6px}
.dt-related-card .meta{font-size:11px;color:var(--sub)}

.dt-cta{text-align:center}
.dt-cta .btn{padding:15px 30px}
.dt-restart{display:block;margin:14px auto 0;background:none;border:none;color:var(--muted);font-size:var(--text-xs);text-decoration:underline;cursor:pointer}

/* ── Form lead (mở sau khi bấm CTA) ── */
.dt-lead{display:none;scroll-margin-top:90px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:26px 28px;margin-top:22px}
.dt-lead.show{display:block}
.dt-lead h4{font-family:var(--syne);font-weight:700;font-size:var(--text-md);color:var(--text);margin-bottom:6px}
.dt-lead-sub{font-size:var(--text-sm);color:var(--sub);margin-bottom:16px}
.dt-lead-form{display:flex;flex-direction:column;gap:12px}
.dt-lead-row{display:flex;gap:12px;flex-wrap:wrap}
.dt-lead-row input{flex:1;min-width:180px}
.dt-lead-form input{background:var(--bg2);border:1px solid var(--border2);border-radius:10px;padding:12px 14px;font-family:var(--sans);font-size:var(--text-base);color:var(--text);outline:none;transition:border-color .2s}
.dt-lead-form input:focus{border-color:var(--gold)}
.dt-lead-submit{align-self:flex-start}
.dt-lead-msg{font-size:var(--text-sm);min-height:1.4em}
.dt-lead-msg.ok{color:var(--green)}
.dt-lead-msg.err{color:var(--red)}
