/* Merkago Certification Prep — website styles */

.o_cert_wrap {
  --cert-ink: #1f2a44 !important;
  --cert-accent: #714B67 !important;
  --cert-bg: #f4f6f9 !important;
}

.o_cert_hero {
  background: linear-gradient(135deg, #1f2a44 0%, #3d4f73 55%, #714B67 100%) !important;
  color: #fff !important;
}
.o_cert_hero h1 {
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  color: #fff !important;
}
.o_cert_eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.75rem;
  opacity: 0.85;
}

.o_cert_section_card {
  background: #fff !important;
  border: 1px solid #e6e9ef !important;
  border-radius: 10px !important;
  padding: 1rem !important;
  height: 100%;
  box-shadow: 0 1px 2px rgba(20, 30, 50, 0.04);
}

.o_cert_panel {
  background: #f4f6f9 !important;
  border-radius: 12px !important;
  padding: 1.25rem 1.5rem !important;
  height: 100%;
  border: 1px solid #e2e6ee !important;
}
.o_cert_exam_intro {
  max-width: 860px !important;
}
.o_cert_rules {
  background: #f4f6f9 !important;
  border-left: 4px solid #714B67 !important;
  border-radius: 0 10px 10px 0 !important;
  padding: 1.2rem 1.5rem !important;
}
.o_cert_rules ul {
  margin-bottom: 0.75rem !important;
}
.o_cert_rules li {
  margin-bottom: 0.55rem !important;
}
.o_cert_module_list {
  columns: 2;
  column-gap: 3rem;
  padding-left: 1.4rem !important;
}
.o_cert_module_list li {
  margin-bottom: 0.45rem !important;
  break-inside: avoid;
}

.o_cert_question .form-check {
  margin-bottom: 0.35rem !important;
}

/* ===== TIMER ===== */
.o_cert_timer {
  display: block !important;
  min-width: 160px !important;
  padding: 0.65rem 1rem !important;
  border-radius: 12px !important;
  background: #1f2a44 !important;
  color: #ffffff !important;
  text-align: center !important;
  box-shadow: 0 6px 18px rgba(31, 42, 68, 0.28) !important;
  position: fixed !important;
  top: 90px !important;
  right: 20px !important;
  z-index: 1050 !important;
}
.o_cert_timer_caption {
  display: block !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  opacity: 0.9 !important;
  color: #ffffff !important;
  margin-bottom: 0.15rem !important;
}
.o_cert_timer_value {
  display: block !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  color: #ffffff !important;
  font-variant-numeric: tabular-nums !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}
.o_cert_timer_warning {
  background: #b45309 !important;
}
.o_cert_timer_critical,
.o_cert_timer_expired {
  background: #b02a37 !important;
  animation: o_cert_timer_pulse 1s ease-in-out infinite !important;
}
@keyframes o_cert_timer_pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.04); }
}

/* ===== PROGRESS ===== */
.o_cert_progress_panel {
  background: #ffffff !important;
  border: 1px solid #dbe2ea !important;
  border-radius: 12px !important;
  padding: 0.9rem 1rem !important;
  position: sticky !important;
  top: 0.75rem !important;
  z-index: 20 !important;
  box-shadow: 0 4px 14px rgba(20, 30, 50, 0.08) !important;
}
.o_cert_progress_label {
  color: #44506a !important;
  font-size: 0.95rem !important;
}
.o_cert_progress_pct {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #1f2a44 !important;
}
.o_cert_answer_progress {
  background: #e9eef5 !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  height: 12px !important;
}
.o_cert_answer_progress_bar {
  transition: width 0.25s ease !important;
  background-color: #3d5a80 !important;
  height: 100% !important;
}
.o_cert_progress_complete .o_cert_progress_pct {
  color: #146c43 !important;
}
.o_cert_progress_complete .o_cert_answer_progress_bar {
  background-color: #198754 !important;
}

/* ===== RESULT CHARTS ===== */
.o_cert_donut_wrap {
  display: flex !important;
  justify-content: center !important;
}
.o_cert_donut {
  width: 180px !important;
  height: 180px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.o_cert_donut_hole {
  width: 110px !important;
  height: 110px !important;
  border-radius: 50% !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.4rem !important;
}

.o_cert_pdf_border {
  border: 14px solid #c8c8c8;
  padding: 8px;
}
.o_cert_pdf_inner {
  border: 1px solid #ddd;
  padding: 40px;
  min-height: 700px;
}

@media (max-width: 576px) {
  .o_cert_timer {
    width: 100% !important;
    position: sticky !important;
    top: 0.5rem !important;
    right: auto !important;
  }
  .o_cert_timer_value {
    font-size: 1.7rem !important;
  }
  .o_cert_module_list {
    columns: 1;
  }
}
