@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;800&family=DM+Sans:wght@400;500;600&display=swap');
.dtk-tool{font-family:var(--dtk-fb);color:var(--dtk-txt);background:var(--dtk-bg);border-radius:var(--dtk-r);max-width:640px;margin:0 auto;overflow:hidden}

/* HEADER */
.dtk-head{background:var(--dtk-s);color:#fff;padding:24px 28px;text-align:center}
.dtk-head-icon{font-size:28px;margin-bottom:6px}
.dtk-head h2{font-family:var(--dtk-fh);font-size:var(--dtk-fs-title,22px);font-weight:800;margin:0 0 4px}
.dtk-head p{font-size:var(--dtk-fs-sub,13px);opacity:.8;margin:0}

/* PROGRESS */
.dtk-progress{height:4px;background:var(--dtk-bdr);margin:0}
.dtk-progress-fill{height:100%;background:var(--dtk-p);transition:width .3s ease;width:0}

/* STEPS */
.dtk-body{padding:24px 28px}
.dtk-step-active{animation:dtk-fadeIn .3s ease}
@keyframes dtk-fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.dtk-q{font-family:var(--dtk-fh);font-size:var(--dtk-fs-q,17px);font-weight:700;margin-bottom:14px;line-height:1.4;direction:inherit;text-align:inherit}
.dtk-opts{display:flex;flex-direction:column;gap:8px}
.dtk-opt{padding:12px 16px;border:2px solid var(--dtk-bdr);border-radius:var(--dtk-r);background:var(--dtk-card);font-family:var(--dtk-fb);font-size:var(--dtk-fs-opt,14px);font-weight:500;cursor:pointer;transition:.2s;text-align:inherit;color:var(--dtk-txt);direction:inherit}
.dtk-opt:hover{border-color:var(--dtk-hvbdr,var(--dtk-p));background:var(--dtk-hvbg,var(--dtk-p));color:var(--dtk-hvtxt,var(--dtk-txt))}
.dtk-opt.has-media{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}
.dtk-opt-img{width:32px;height:32px;object-fit:cover;border-radius:6px}
.dtk-opt-img.dtk-opt-img-lg{width:60px;height:60px;border-radius:8px}
.dtk-opt.dtk-opt-image{padding:10px;min-height:60px}
.dtk-opt-icon{font-size:22px;line-height:1}
.dtk-q-img{text-align:center;margin-bottom:10px}
.dtk-q-img img{max-width:100%;max-height:160px;border-radius:var(--dtk-r);object-fit:cover}
.dtk-q-icon{text-align:center;font-size:36px;margin-bottom:8px}

/* MULTI-SELECT */
.dtk-opt.dtk-opt-selected{border-color:var(--dtk-p);background:color-mix(in srgb,var(--dtk-p) 10%,var(--dtk-card));box-shadow:0 0 0 2px color-mix(in srgb,var(--dtk-p) 25%,transparent)}
.dtk-multi-hint{font-size:11px;color:var(--dtk-mut);margin-bottom:8px;font-style:italic}
.dtk-multi-next{margin-top:12px;padding:10px 24px;background:var(--dtk-p);color:#fff;border:none;border-radius:var(--dtk-r);font-size:13px;font-weight:700;cursor:pointer;font-family:var(--dtk-fb);transition:.2s}
.dtk-multi-next:hover{opacity:.9}

/* RESULT */
.dtk-result{display:none;text-align:center;padding:20px 0}
.dtk-score-circle{width:120px;height:120px;border-radius:50%;margin:0 auto 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:conic-gradient(var(--color) calc(var(--pct)*1%),var(--dtk-bdr) 0);position:relative}
.dtk-score-circle::before{content:'';position:absolute;width:96px;height:96px;border-radius:50%;background:var(--dtk-bg)}
.dtk-score-num{position:relative;font-family:var(--dtk-fh);font-size:28px;font-weight:800;line-height:1}
.dtk-score-level{position:relative;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.dtk-cats{text-align:left;margin-top:16px}
.dtk-cat-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.dtk-cat-name{font-size:12px;font-weight:600;min-width:100px;text-transform:capitalize}
.dtk-cat-bar{flex:1;height:6px;background:var(--dtk-bdr);border-radius:3px;overflow:hidden}
.dtk-cat-fill{height:100%;border-radius:3px;transition:width .4s ease}
.dtk-cat-pct{font-size:11px;font-weight:700;color:var(--dtk-mut);min-width:35px;text-align:right}
.dtk-rec{font-size:11px;color:var(--dtk-mut);margin:0 0 8px 108px;font-style:italic}

/* FORM */
.dtk-form{display:none;border-top:1px solid var(--dtk-bdr);padding:24px 28px;direction:inherit;text-align:inherit}
.dtk-form h3{font-family:var(--dtk-fh);font-size:16px;font-weight:700;margin:0 0 4px;direction:inherit;text-align:inherit}
.dtk-form p{font-size:12px;color:var(--dtk-mut);margin:0 0 14px;direction:inherit;text-align:inherit}
.dtk-form-fields{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.dtk-form-field{flex:1;min-width:calc(50% - 4px)}
.dtk-form-field.w100{min-width:100%}
.dtk-form-field label{display:block;font-size:var(--dtk-fs-lbl,10px);font-weight:600;color:var(--dtk-mut);margin-bottom:3px;text-transform:uppercase;direction:inherit;text-align:inherit}
.dtk-form-field input,.dtk-form-field select,.dtk-form-field textarea{width:100%;padding:10px 14px;border:1px solid var(--dtk-bdr);border-radius:var(--dtk-r);font-size:var(--dtk-fs-inp,13px);font-family:var(--dtk-fb);background:var(--dtk-card);color:var(--dtk-txt);direction:inherit;text-align:inherit}
.dtk-form-field input:focus,.dtk-form-field select:focus{outline:none;border-color:var(--dtk-p)}
.dtk-form-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dtk-submit{padding:12px 28px;border-radius:50px;font-size:var(--dtk-fs-btn,14px);font-weight:700;cursor:pointer;border:none;transition:.2s;font-family:var(--dtk-fb)}
.dtk-skip{background:transparent;border:none;color:var(--dtk-mut);font-size:12px;cursor:pointer;font-family:var(--dtk-fb)}
.dtk-success{text-align:center;padding:24px;font-size:16px;font-weight:600;color:var(--dtk-a)}
/* TERMS CHECKBOX */
.dtk-terms{display:flex;align-items:flex-start;gap:8px;margin-bottom:12px;font-size:12px;color:var(--dtk-mut);direction:inherit}
.dtk-terms input[type=checkbox]{width:16px;height:16px;margin-top:1px;flex-shrink:0;accent-color:var(--dtk-p)}
.dtk-terms a{color:var(--dtk-p);text-decoration:underline}

/* CALCULATOR */
.dtk-sliders{padding:4px 0}
.dtk-slider-wrap{margin-bottom:16px}
.dtk-slider-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.dtk-slider-label{font-size:13px;font-weight:600}
.dtk-slider-val{font-family:var(--dtk-fh);font-size:15px;font-weight:800;color:var(--dtk-p)}
.dtk-slider{width:100%;-webkit-appearance:none;height:6px;border-radius:3px;background:var(--dtk-bdr);outline:none}
.dtk-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--dtk-p);cursor:pointer;border:3px solid var(--dtk-card);box-shadow:0 1px 4px rgba(0,0,0,.15)}
.dtk-calc-output{margin-top:20px}
.dtk-calc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.dtk-calc-card{background:var(--dtk-card);border:1px solid var(--dtk-bdr);border-radius:var(--dtk-r);padding:14px;text-align:center}
.dtk-calc-val{font-family:var(--dtk-fh);font-size:22px;font-weight:800;color:var(--dtk-txt)}
.dtk-calc-label{font-size:10px;color:var(--dtk-mut);font-weight:600;text-transform:uppercase;margin-top:2px}
.dtk-highlight{border-color:var(--dtk-a);background:color-mix(in srgb,var(--dtk-a) 5%,var(--dtk-card))}
.dtk-highlight .dtk-calc-val{color:var(--dtk-a)}

/* SCORECARD */
.dtk-scorecard-cats{padding:4px 0}
.dtk-sc-cat{margin-bottom:14px;padding:12px;background:var(--dtk-card);border:1px solid var(--dtk-bdr);border-radius:var(--dtk-r)}
.dtk-sc-cat-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.dtk-sc-cat-label{font-size:14px;font-weight:600}
.dtk-sc-cat-desc{font-size:11px;color:var(--dtk-mut)}
.dtk-grade-select{padding:6px 10px;border:1px solid var(--dtk-bdr);border-radius:8px;font-size:12px;font-family:var(--dtk-fb);background:var(--dtk-bg);color:var(--dtk-txt)}

/* RTL */
[dir=rtl] .dtk-opt{text-align:right}
[dir=rtl] .dtk-rec{margin:0 108px 8px 0}
[dir=rtl] .dtk-nav{text-align:left}

/* NAVIGATION */
.dtk-nav{margin-top:12px;text-align:left}
.dtk-nav-back{background:none;border:1px solid var(--dtk-bdr);border-radius:var(--dtk-r);padding:6px 14px;font-size:12px;font-weight:600;color:var(--dtk-mut);cursor:pointer;font-family:var(--dtk-fb);transition:.2s}
.dtk-nav-back:hover{border-color:var(--dtk-p);color:var(--dtk-p)}

/* RECS CONTAINER (below form in quiz) */
.dtk-recs{padding:0 28px 20px}
.dtk-recs:empty{display:none}

/* FORM VALIDATION ERRORS */
.dtk-field-error{font-size:11px;color:#C43B3B;margin-top:2px;font-family:var(--dtk-fb)}
.dtk-error-field{border-color:#C43B3B !important;box-shadow:0 0 0 2px rgba(196,59,59,0.15)}

/* ANSWER TYPES */
.dtk-dropdown{cursor:pointer;outline:none;transition:.2s}
.dtk-dropdown:focus{border-color:var(--dtk-p)}
.dtk-radio-opt,.dtk-check-opt{transition:.15s;user-select:none}
.dtk-radio-opt:hover,.dtk-check-opt:hover{border-color:var(--dtk-hvbdr,var(--dtk-p));background:var(--dtk-hvbg)}
.dtk-toggle-opt{transition:.15s;user-select:none}
.dtk-toggle-opt:hover{border-color:var(--dtk-p)}
.dtk-rating .dtk-star{cursor:pointer;user-select:none;line-height:1;display:inline-block}
.dtk-rating .dtk-star:hover,.dtk-rating .dtk-star.selected{color:var(--dtk-a)!important}
.dtk-max-err{font-size:12px;color:#C43B3B;margin-top:6px;font-family:var(--dtk-fb)}
[dir=rtl] .dtk-radio-opt,[dir=rtl] .dtk-check-opt,[dir=rtl] .dtk-toggle-opt{direction:rtl}

/* SPECIFICITY OVERRIDES — beat themes like Elementor / Astra / Divi that style h2/h3/p/input globally */
.dtk-tool .dtk-head h2,.dtk-tool .dtk-head h2 *{font-family:var(--dtk-fh)!important}
.dtk-tool .dtk-head p,.dtk-tool .dtk-head p *{font-family:var(--dtk-fb)!important}
.dtk-tool .dtk-q,.dtk-tool .dtk-q *{font-family:var(--dtk-fh)!important}
.dtk-tool .dtk-form h3,.dtk-tool .dtk-form h3 *{font-family:var(--dtk-fh)!important}
.dtk-tool .dtk-score-num,.dtk-tool .dtk-slider-val,.dtk-tool .dtk-calc-val{font-family:var(--dtk-fh)!important}
.dtk-tool,.dtk-tool .dtk-opt,.dtk-tool .dtk-form-field input,.dtk-tool .dtk-form-field select,.dtk-tool .dtk-form-field textarea,.dtk-tool .dtk-submit,.dtk-tool .dtk-skip,.dtk-tool .dtk-nav-back,.dtk-tool .dtk-grade-select{font-family:var(--dtk-fb)!important}
