.dhc-wrap{max-width:980px;margin:30px auto;font-family:Arial,sans-serif}
.dhc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dhc-grid label,.dhc-checks label{display:flex;flex-direction:column;gap:6px}
.dhc-grid input,.dhc-grid select,.dhc-email-form input{padding:10px;border:1px solid #c8d1df;border-radius:6px;-webkit-appearance:none;appearance:none}
.dhc-grid input.dhc-invalid{border-color:#a12c2f;box-shadow:0 0 0 2px rgba(161,44,47,.15)}
.dhc-hint{font-size:12px;line-height:1.4;color:#5b6472;margin:-4px 0 2px}
.dhc-field-error{font-size:13px;line-height:1.4;color:#a12c2f;font-weight:700;min-height:0}
.dhc-field-error:empty{display:none}
.dhc-checks{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px}
.dhc-checks label{flex-direction:row;align-items:center;gap:8px}
.dhc-actions{margin-top:20px}
.dhc-actions button,.dhc-open-email-modal,.dhc-btn-primary,.dhc-btn-secondary{background:#0a347f;color:#fff;padding:12px 18px;border:none;border-radius:6px;cursor:pointer}
.dhc-btn-secondary{background:transparent;color:#fff;border:2px solid #fff}
.dhc-calculate-btn{width:100%;font-size:20px;font-weight:800;letter-spacing:.3px;padding:18px 24px;border-radius:8px;text-transform:none;box-shadow:0 4px 12px rgba(10,52,127,.25);transition:background .15s ease, transform .05s ease}
.dhc-calculate-btn:hover{background:#082763}
.dhc-calculate-btn:active{transform:translateY(1px)}
.dhc-form-error{margin-top:12px;color:#a12c2f;font-weight:700}
.dhc-quote-card{background:#072f7a;color:#fff;padding:36px;border-radius:8px;margin-top:24px}
.dhc-quote-card h2,.dhc-quote-card h3,.dhc-headline,.dhc-label{color:#fff}
.dhc-summary{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end;margin-bottom:24px}
.dhc-summary-lead h3{margin:0 0 6px}
.dhc-summary-total-label{font-size:17px;font-weight:700;margin-top:8px;color:#fff}
.dhc-top-total{text-align:right;font-size:22px;font-weight:800;line-height:1.2}
.dhc-sub{font-size:13px;line-height:1.45;color:#eef3ff;font-weight:400}
.dhc-comment{font-size:13px;line-height:1.45;color:#eef3ff;margin:-2px 0 10px 0;padding-left:2px}
.dhc-note{font-size:13px;line-height:1.45;color:#eef3ff;margin-top:12px}
.dhc-section{padding-top:16px;margin-top:16px;border-top:1px solid rgba(255,255,255,.2)}
.dhc-section h3{margin:0 0 10px;font-size:20px}
.dhc-row{display:flex;justify-content:space-between;gap:20px;margin:6px 0}
.dhc-row.is-total{font-weight:700;padding-top:10px;margin-top:10px;border-top:1px solid rgba(255,255,255,.2)}
.dhc-section--inline-total .dhc-inline-total-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.dhc-section--inline-total h3{margin:0}
.dhc-section--inline-total .dhc-amount{font-size:20px;font-weight:700;min-width:0;text-align:right}
.dhc-amount{text-align:right;min-width:180px}
.dhc-quote-end{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.2);display:flex;justify-content:flex-start}
.dhc-open-email-modal{background:#fff;color:#0a347f;font-size:15px;font-weight:700;padding:10px 18px;border-radius:6px;border:2px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.18);transition:background .15s ease, color .15s ease}
.dhc-open-email-modal:hover{background:#eef3ff;color:#072f7a}
.dhc-modal[hidden]{display:none}
.dhc-modal{font-family:Arial,sans-serif;position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.dhc-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.dhc-modal__panel{position:relative;width:min(760px,100%);max-height:90vh;overflow:auto;background:#072f7a;color:#fff;padding:32px;border-radius:10px;z-index:1}
.dhc-modal__close{position:absolute;right:16px;top:12px;font-size:34px;line-height:1;color:#fff;background:transparent;border:none}
.dhc-email-form{display:grid;gap:14px;margin-top:18px}
.dhc-email-form label{display:flex;flex-direction:column;gap:8px;font-weight:700}
.dhc-email-form h3{font-size:20px;line-height:1.2;margin-top:8px}
.dhc-email-form hr{border:none;border-top:2px solid rgba(255,255,255,.7);margin:10px 0}
.dhc-inline-check{flex-direction:row!important;align-items:center!important;font-weight:400!important}
.dhc-inline-check input{width:22px;height:22px}
.dhc-small-note,.dhc-email-status{font-size:13px;line-height:1.45;color:#eef3ff}
.dhc-email-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.dhc-modal-open{overflow:hidden}
.wrap .widefat input{width:100%}
@media (max-width:700px){
  .dhc-grid,.dhc-summary{grid-template-columns:1fr}
  .dhc-top-total,.dhc-amount{text-align:left;min-width:0}
  .dhc-modal__panel{padding:24px}
  .dhc-calculate-btn{font-size:18px;padding:16px 20px}
  .dhc-open-email-modal{width:100%;text-align:center;font-size:15px;padding:12px 16px}
  .dhc-summary{align-items:start}
  .dhc-summary-total-label{margin-top:12px}
}

/* Email modal: force white text so theme heading colours don't hide it */
.dhc-modal__panel,.dhc-modal__panel h2,.dhc-modal__panel h3,.dhc-modal__panel p,.dhc-modal__panel label,.dhc-modal__panel span{color:#fff!important}
.dhc-modal__panel .dhc-btn-primary{background:#fff!important;color:#0a347f!important;border:2px solid #fff;font-weight:700}
.dhc-modal__panel .dhc-btn-primary:hover{background:#eef3ff!important;color:#072f7a!important}
.dhc-modal__panel .dhc-btn-secondary{color:#fff!important}
.dhc-modal__panel input[type=email],.dhc-modal__panel input[type=text]{color:#1f2937!important;background:#fff}
