/* Degarmo Technologies — Client Assessment Form Styles
   All rules scoped under .dgt-wrap to avoid Elementor/theme conflicts */

.dgt-wrap { font-family:'Segoe UI',Arial,sans-serif !important; font-size:15px !important; line-height:1.65 !important; color:#1a1a1a !important; box-sizing:border-box !important; }
.dgt-wrap *,.dgt-wrap *::before,.dgt-wrap *::after { box-sizing:border-box !important; }

/* HERO */
.dgt-hero { background:#b40c25; padding:28px 36px; color:#fff; border-radius:6px; margin-bottom:20px; }
.dgt-hero strong { font-weight:700; font-size:16px; display:block; margin-bottom:8px; }
.dgt-hero p { font-size:13.5px; opacity:.92; line-height:1.7; margin:0; }

/* HOW-TO BOX */
.dgt-howto { background:#1a1a1a; border-radius:6px; padding:20px 24px; border-left:5px solid #b40c25; margin-bottom:24px; }
.dgt-howto-title { font-size:12px !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:1.2px !important; color:#b40c25 !important; margin:0 0 10px !important; padding:0 !important; line-height:1.4 !important; display:block !important; }
.dgt-howto ul { padding-left:18px; margin:0; }
.dgt-howto li { font-size:13px; color:#ccc !important; margin-bottom:6px; line-height:1.6; }
.dgt-howto li strong { color:#fff !important; }

/* ERROR BANNER */
.dgt-err { display:none; background:#fff0f0; border:1px solid #b40c25; color:#b40c25; padding:10px 14px; border-radius:4px; font-size:13px; margin-bottom:18px; }

/* SECTION CARD */
.dgt-sec { background:#fff; border-radius:6px; margin-bottom:22px; overflow:hidden; box-shadow:0 1px 5px rgba(0,0,0,.08); }
.dgt-sec-head { background:#1a1a1a; padding:13px 20px; display:flex; align-items:center; gap:12px; }
.dgt-sec-num { background:#b40c25; color:#fff; font-size:11px; font-weight:700; width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.dgt-sec-title { font-size:14px; font-weight:600; color:#fff !important; }
.dgt-sec-sub { font-size:12px; color:#848684 !important; margin-top:2px; }
.dgt-sec-body { padding:22px; }

/* QUESTION BLOCK */
.dgt-qb { margin-bottom:22px; padding-bottom:22px; border-bottom:1px solid #ebebeb; }
.dgt-qb:last-child { margin-bottom:0; padding-bottom:0; border-bottom:none; }
.dgt-ql { font-size:14px; font-weight:700; color:#1a1a1a !important; margin-bottom:7px; }
.dgt-qh { font-size:12.5px; color:#555; background:#f7f7f7; border-left:3px solid #b40c25; padding:8px 12px; margin-bottom:11px; border-radius:0 4px 4px 0; line-height:1.6; }
.dgt-req { color:#b40c25; }

/* INPUTS */
.dgt-wrap input[type=text],.dgt-wrap input[type=email],.dgt-wrap input[type=tel],.dgt-wrap textarea {
  width:100% !important; border:1px solid #d4d4d4 !important; border-radius:4px !important;
  padding:9px 12px !important; font-size:14px !important; color:#1a1a1a !important;
  background:#fafafa !important; outline:none !important; font-family:'Segoe UI',Arial,sans-serif !important;
  transition:border-color .2s !important; box-shadow:none !important;
}
.dgt-wrap input[type=text]:focus,.dgt-wrap input[type=email]:focus,.dgt-wrap input[type=tel]:focus,.dgt-wrap textarea:focus {
  border-color:#b40c25 !important; background:#fff !important;
}
.dgt-wrap textarea { resize:vertical !important; min-height:76px !important; }
.dgt-short { max-width:280px !important; }
.dgt-med { max-width:460px !important; }

/* TABLE */
.dgt-ft { width:100%; border-collapse:collapse; }
.dgt-ft td { padding:7px 10px; border:1px solid #e2e2e2; font-size:13.5px; }
.dgt-ft td:first-child { font-weight:600; background:#f5f5f5; width:210px; color:#333; }
.dgt-ft td:last-child { background:#fff; }
.dgt-ft td input[type=text],.dgt-ft td input[type=email],.dgt-ft td input[type=tel] {
  border:none !important; background:transparent !important; border-radius:0 !important;
  padding:2px 0 !important; width:100% !important;
}

/* RADIO */
.dgt-rl { display:flex; flex-direction:column; gap:7px; }
.dgt-ri { display:flex; align-items:flex-start; gap:9px; background:#f5f5f5; border:1px solid #e2e2e2; border-radius:4px; padding:9px 12px; cursor:pointer; transition:border-color .15s,background .15s; }
.dgt-ri:hover { border-color:#b40c25; background:#fff8f8; }
.dgt-ri input[type=radio] { margin-top:2px; accent-color:#b40c25; width:15px; height:15px; flex-shrink:0; }
.dgt-ri span { font-size:13.5px; line-height:1.5; color:#1a1a1a; }

/* CHECKBOX */
.dgt-cg { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:7px; }
.dgt-ci { display:flex; align-items:flex-start; gap:9px; background:#f5f5f5; border:1px solid #e2e2e2; border-radius:4px; padding:9px 12px; cursor:pointer; transition:border-color .15s,background .15s; }
.dgt-ci:hover { border-color:#b40c25; background:#fff8f8; }
.dgt-ci input[type=checkbox] { margin-top:2px; accent-color:#b40c25; width:15px; height:15px; flex-shrink:0; }
.dgt-ci span { font-size:13.5px; line-height:1.5; color:#1a1a1a; }

/* YES/NO */
.dgt-yn { display:flex; gap:8px; flex-wrap:wrap; }
.dgt-yi { display:flex; align-items:center; gap:8px; background:#f5f5f5; border:1px solid #e2e2e2; border-radius:4px; padding:9px 18px; cursor:pointer; transition:border-color .15s,background .15s; }
.dgt-yi:hover { border-color:#b40c25; background:#fff8f8; }
.dgt-yi input[type=radio] { accent-color:#b40c25; width:15px; height:15px; }
.dgt-yi span { font-size:13.5px; font-weight:600; color:#1a1a1a; }

/* INLINE */
.dgt-ir { display:flex; gap:14px; flex-wrap:wrap; }
.dgt-ir > div { flex:1; min-width:160px; }
.dgt-sl { font-size:11px; color:#848684; display:block; margin-bottom:4px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }

/* SCALE */
.dgt-scrow { display:flex; gap:8px; flex-wrap:wrap; }
.dgt-sci { display:flex; flex-direction:column; align-items:center; gap:4px; background:#f5f5f5; border:1px solid #e2e2e2; border-radius:4px; padding:9px 14px; cursor:pointer; transition:border-color .15s,background .15s; min-width:60px; }
.dgt-sci:hover { border-color:#b40c25; background:#fff8f8; }
.dgt-sci input[type=radio] { accent-color:#b40c25; }
.dgt-sci .dgt-sn { font-size:16px; font-weight:700; color:#1a1a1a; }
.dgt-sci .dgt-st { font-size:11px; color:#848684; }

/* SPACER */
.dgt-sp { margin-top:12px; }
.dgt-hint { font-size:12px; color:#999; font-style:italic; margin-top:5px; }

/* SUBMIT AREA */
.dgt-submit-area { background:#fff; border-radius:6px; padding:28px; box-shadow:0 1px 5px rgba(0,0,0,.08); text-align:center; margin-bottom:22px; }
.dgt-submit-area p { font-size:13.5px; color:#555; margin-bottom:18px; max-width:540px; margin-left:auto; margin-right:auto; line-height:1.6; }
.dgt-btn { background:#b40c25 !important; color:#fff !important; border:none !important; padding:14px 40px !important; font-size:15px !important; font-weight:700 !important; border-radius:5px !important; cursor:pointer !important; letter-spacing:.4px !important; transition:background .2s !important; }
.dgt-btn:hover { background:#91091c !important; }
.dgt-btn:disabled { background:#ccc !important; cursor:not-allowed !important; }

/* SPINNER */
.dgt-spinner { display:none; margin:0 auto 14px; width:32px; height:32px; border:3px solid #e0e0e0; border-top-color:#b40c25; border-radius:50%; animation:dgt-spin .8s linear infinite; }
@keyframes dgt-spin { to { transform:rotate(360deg); } }

/* SUCCESS SCREEN */
.dgt-success { display:none; text-align:center; padding:50px 20px; }
.dgt-success .dgt-check { width:64px; height:64px; background:#b40c25; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; font-size:28px; color:#fff; }
.dgt-success h2 { font-size:24px; font-weight:700; margin-bottom:12px; }
.dgt-success p { font-size:14.5px; color:#555; max-width:520px; margin:0 auto; line-height:1.7; }

/* PDF template */
#dgt-pdf-out { position:absolute; left:-9999px; top:0; width:860px; background:#fff; font-family:Arial,sans-serif; font-size:12px; color:#1a1a1a; padding:36px; }

/* APPS TABLE */
.dgt-app-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:8px; margin-bottom:7px; }
.dgt-app-head { display:grid; grid-template-columns:2fr 1fr 1fr; gap:8px; margin-bottom:5px; }
.dgt-app-head span { font-size:11px; color:#848684; font-weight:600; text-transform:uppercase; letter-spacing:.4px; }

@media(max-width:640px) {
  .dgt-cg { grid-template-columns:1fr; }
  .dgt-app-grid,.dgt-app-head { grid-template-columns:1fr; }
  .dgt-ft td:first-child { width:140px; }
}
