html,body{background:#f6f7f9 !important;}
.dgca-qb-wrap{max-width:1100px;margin:0 auto;padding:18px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial}
.dgca-card{background:#fff;border:1px solid #e8e8e8;border-radius:16px;padding:16px;box-shadow:0 10px 24px rgba(0,0,0,.05);margin-bottom:14px}
.dgca-muted{color:#666;font-size:13px;margin-top:4px}
.dgca-h2{margin:0;font-size:22px;letter-spacing:-.2px}
.dgca-topbar{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:12px;gap:12px}
.dgca-top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.dgca-breadcrumb{color:#444;font-size:13px;margin-top:6px}
.dgca-h3{margin:10px 0 12px;font-size:18px}
.dgca-section-head{margin-bottom:12px}
.dgca-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dgca-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.dgca-row{display:flex;gap:10px;align-items:center}
.dgca-row-wrap{flex-wrap:wrap}
.dgca-row-between{justify-content:space-between}
.dgca-tile{border:1px solid #ececec;border-radius:16px;padding:14px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;background:linear-gradient(180deg,#fafafa,#fff)}
.dgca-tile:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(0,0,0,.08);border-color:#e2e2e2}
.dgca-tile-sm{padding:12px}
.dgca-title{font-weight:800;color:#111}
.dgca-subcount{color:#666;font-size:12px;margin-top:6px}
.dgca-btn{border:1px solid #ddd;background:#fff;padding:10px 12px;border-radius:12px;cursor:pointer;font-weight:700}
.dgca-btn:hover{border-color:#cfcfcf}
.dgca-btn-primary{background:#111;color:#fff;border-color:#111}
.dgca-btn-ghost{background:transparent}
.dgca-otp{width:160px}
.dgca-loader{padding:18px;color:#444}
.dgca-q-head{display:flex;gap:10px}
.dgca-q-no{font-weight:900;color:#111;min-width:42px}
.dgca-q-text{font-weight:750;color:#111;line-height:1.35}
.dgca-opt-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.dgca-opt{text-align:left;display:flex;gap:10px;align-items:flex-start;border:1px solid #ececec;background:#fff;padding:12px;border-radius:14px;cursor:pointer;transition:transform .06s ease,border-color .12s ease}
.dgca-opt:hover{transform:translateY(-1px);border-color:#e0e0e0}
.dgca-opt-key{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:10px;border:1px solid #eee;font-weight:900}
.dgca-opt-text{line-height:1.3}
.dgca-answered .dgca-opt{cursor:not-allowed;opacity:.98}
.dgca-correct{border-color:#16a34a!important;background:rgba(22,163,74,.10)!important}
.dgca-wrong{border-color:#dc2626!important;background:rgba(220,38,38,.10)!important}
.dgca-exp{margin-top:12px;border-top:1px dashed #e6e6e6;padding-top:12px}
.dgca-exp-title{font-weight:900;margin-bottom:6px}
.dgca-exp-text{color:#333;line-height:1.4}
.dgca-msg{margin-top:10px;color:#111;font-weight:750}
.dgca-qb-wrap input{width:100%;padding:10px 12px;border-radius:12px;border:1px solid #e6e6e6}
@media (max-width:860px){
  .dgca-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dgca-opt-wrap{grid-template-columns:1fr}
  .dgca-grid-2{grid-template-columns:1fr}
}

.dgca-locked{background:#f6f7f7}


/* === Theme override shield (prevents theme typography/background from breaking UI) === */
.dgca-qb,
.dgca-qb *,
.dgca-qb-wrap,
.dgca-qb-wrap * { box-sizing: border-box; }

.dgca-qb, .dgca-qb-wrap {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  color: #111 !important;
  line-height: 1.4 !important;
  font-size: 16px !important;
}

/* Reset headings inside plugin container */
.dgca-qb h1, .dgca-qb h2, .dgca-qb h3, .dgca-qb h4, .dgca-qb h5, .dgca-qb h6 {
  font-family: inherit !important;
  background: transparent !important;
  color: #111 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.15 !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Ensure our titles look consistent even if theme styles h1/h2 heavily */
.dgca-qb .dgca-title {
  font-size: 44px !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  margin: 0 0 10px 0 !important;
  color: #111 !important;
  background: transparent !important;
}

.dgca-qb .dgca-subtitle {
  font-size: 18px !important;
  margin: 0 0 18px 0 !important;
  color: #444 !important;
  background: transparent !important;
}

.dgca-qb p, .dgca-qb span, .dgca-qb label, .dgca-qb small {
  color: inherit !important;
  background: transparent !important;
}

/* Inputs - prevent theme changing font size/color/line-height */
.dgca-qb input, .dgca-qb select, .dgca-qb textarea {
  font-family: inherit !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  color: #111 !important;
}

/* Buttons - prevent theme overriding padding/font-size */
.dgca-qb button, .dgca-qb .dgca-btn, .dgca-qb a.dgcabtn {
  font-family: inherit !important;
  font-size: 16px !important;
  line-height: 1.1 !important;
  background-image: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

/* Prevent weird blue background on text from theme classes */
.dgca-qb .dgca-title, .dgca-qb .dgca-subtitle,
.dgca-qb .dgca-card, .dgca-qb .dgca-grid,
.dgca-qb .dgca-quiz-wrap, .dgca-qb .dgca-auth-wrap {
  background-color: transparent;
}

/* Mobile responsiveness safeguard */
@media (max-width: 768px){
  .dgca-qb .dgca-title{ font-size: 32px !important; }
  .dgca-qb .dgca-subtitle{ font-size: 16px !important; }
}



/* === HARD UI OVERRIDES (force grid/cards visibility even if theme overrides) === */
.dgca-qb-wrap .dgca-topbar{display:flex !important;align-items:flex-end !important;justify-content:space-between !important;gap:12px !important;}
.dgca-qb-wrap .dgca-h2{font-size:22px !important;font-weight:800 !important;margin:0 !important;color:#111 !important;background:transparent !important;}
.dgca-qb-wrap .dgca-h3{font-size:18px !important;font-weight:800 !important;margin:10px 0 12px !important;color:#111 !important;background:transparent !important;}
.dgca-qb-wrap .dgca-muted{color:#666 !important;font-size:13px !important;line-height:1.4 !important;background:transparent !important;}

.dgca-qb-wrap .dgca-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:12px !important;}
@media (max-width: 900px){ .dgca-qb-wrap .dgca-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;} }
@media (max-width: 560px){ .dgca-qb-wrap .dgca-grid{grid-template-columns:1fr !important;} }

.dgca-qb-wrap .dgca-tile{
  display:block !important;
  border:1px solid #ececec !important;
  border-radius:16px !important;
  padding:16px !important;
  cursor:pointer !important;
  user-select:none !important;
  background:linear-gradient(180deg,#fafafa,#fff) !important;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease !important;
  min-height:88px !important;
}
.dgca-qb-wrap .dgca-tile:hover{transform:translateY(-2px) !important;box-shadow:0 14px 28px rgba(0,0,0,.08) !important;border-color:#e2e2e2 !important;}
.dgca-qb-wrap .dgca-title{font-weight:800 !important;color:#111 !important;font-size:16px !important;line-height:1.2 !important;background:transparent !important;}
.dgca-qb-wrap .dgca-subcount{color:#666 !important;font-size:12px !important;margin-top:6px !important;background:transparent !important;}

.dgca-qb-wrap .dgca-btn{
  border:1px solid #ddd !important;
  background:#fff !important;
  padding:10px 12px !important;
  border-radius:12px !important;
  cursor:pointer !important;
  font-weight:800 !important;
  color:#d60000 !important;
  text-transform:uppercase !important;
  letter-spacing:2px !important;
}
.dgca-qb-wrap .dgca-btn-ghost{background:transparent !important;color:#111 !important;border-color:#ddd !important;letter-spacing:0 !important;text-transform:none !important;}

.dgca-qb-wrap .dgca-card{background:#fff !important;border:1px solid #e8e8e8 !important;border-radius:16px !important;box-shadow:0 10px 24px rgba(0,0,0,.05) !important;}


.dgca-qb-iframe-wrap{padding:24px 12px}

/* Result / Score Modal */
.dgca-result-overlay{
  position:fixed !important;
  inset:0 !important;
  background:rgba(0,0,0,.55) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:18px !important;
  z-index:999999 !important;
}
.dgca-result-modal{
  width:min(560px, 100%) !important;
  background:#fff !important;
  border-radius:18px !important;
  border:1px solid #eee !important;
  box-shadow:0 18px 50px rgba(0,0,0,.25) !important;
  overflow:hidden !important;
}
.dgca-result-head{
  padding:18px 18px 12px !important;
  border-bottom:1px solid #f0f0f0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
}
.dgca-result-title{font-size:20px !important;font-weight:900 !important;margin:0 !important;color:#111 !important;}
.dgca-result-body{padding:18px !important;display:flex !important;gap:16px !important;align-items:center !important;flex-wrap:wrap !important;}
.dgca-donut{width:120px !important;height:120px !important;flex:0 0 120px !important;}
.dgca-result-stats{flex:1 1 220px !important;}
.dgca-result-big{font-size:34px !important;font-weight:900 !important;line-height:1 !important;margin:0 0 6px 0 !important;color:#111 !important;}
.dgca-result-small{margin:0 !important;color:#555 !important;font-size:14px !important;line-height:1.4 !important;}
.dgca-result-actions{padding:12px 18px 18px !important;display:flex !important;gap:10px !important;justify-content:flex-end !important;flex-wrap:wrap !important;}
.dgca-btn-primary{
  background:#111 !important;
  color:#fff !important;
  border:1px solid #111 !important;
  padding:10px 14px !important;
  border-radius:12px !important;
  font-weight:900 !important;
  cursor:pointer !important;
}
.dgca-btn-light{
  background:#fff !important;
  color:#111 !important;
  border:1px solid #ddd !important;
  padding:10px 14px !important;
  border-radius:12px !important;
  font-weight:900 !important;
  cursor:pointer !important;
}
