.ccfe-form-wrap {
  max-width: 820px;
  margin: 24px auto;
}

.ccfe-before-text, .ccfe-after-text{
  margin-bottom: 18px;
  padding: 14px 16px;
  border-radius: 14px;
  background: linear-gradient(180deg, #fafbfc 0%, #f4f6f7 100%);
  border: 1px solid #e3e7ea;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}

.ccfe-category-group {
  margin-bottom: 28px;
  padding: 16px;
  border: 1px solid #e2e7e4;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #fcfcfc 100%);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.ccfe-category-heading {
  margin-top: 0;
  margin-bottom: 16px;
  font-size: 18px;
  line-height: 1.35;
}

.ccfe-form {
  max-width: 760px;
  margin: 24px auto;
  padding: 24px;
  border: 1px solid #dde3e7;
  border-radius: 18px;
  background: #fff;
  box-sizing: border-box;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
}

.ccfe-question-block {
  margin-bottom: 24px;
  padding: 14px 0 0;
  border-top: 1px solid #eef2f4;
}

.ccfe-question-block:first-child {
  padding-top: 0;
  border-top: 0;
}

.ccfe-question-block p:first-child {
  margin-top: 0;
}

.ccfe-question-block input[type="text"], .ccfe-question-block input[type="email"], .ccfe-question-block input[type="number"], .ccfe-question-block input[type="date"], .ccfe-question-block select, .ccfe-question-block textarea{
  width: 100%;
  max-width: 100%;
  padding: 11px 13px;
  border: 1px solid #cfd7de;
  border-radius: 10px;
  box-sizing: border-box;
  background: #fff;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}

.ccfe-question-block input[type="text"]:focus, .ccfe-question-block input[type="email"]:focus, .ccfe-question-block input[type="number"]:focus, .ccfe-question-block input[type="date"]:focus, .ccfe-question-block select:focus, .ccfe-question-block textarea:focus{
  border-color: #2271b1;
  box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.10);
  outline: none;
}

.ccfe-question-block label {
  display: inline-block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #1f2937;
}

/* Unified CCFE button system */
.ccfe-submit-btn, .ccfe-form button[type="submit"], .ccfe-form input[type="submit"], .ccfe-mode-box .button, .ccfe-start-solo{
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image: none !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border: 1px solid #ccd0d4 !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
  text-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  outline: none !important;
  cursor: pointer;
  box-sizing: border-box;
  min-height: 46px;
  padding: 12px 18px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none !important;
  -webkit-tap-highlight-color: transparent !important;
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.06s ease !important;
}

.ccfe-submit-btn:hover, .ccfe-submit-btn:focus, .ccfe-submit-btn:focus-visible, .ccfe-form button[type="submit"]:hover, .ccfe-form button[type="submit"]:focus, .ccfe-form button[type="submit"]:focus-visible, .ccfe-form input[type="submit"]:hover, .ccfe-form input[type="submit"]:focus, .ccfe-form input[type="submit"]:focus-visible, .ccfe-mode-box .button:hover, .ccfe-mode-box .button:focus, .ccfe-mode-box .button:focus-visible, .ccfe-start-solo:hover, .ccfe-start-solo:focus, .ccfe-start-solo:focus-visible{
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border-color: #b8bec5 !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08) !important;
  outline: none !important;
  text-decoration: none !important;
}

.ccfe-submit-btn:active, .ccfe-form button[type="submit"]:active, .ccfe-form input[type="submit"]:active, .ccfe-mode-box .button:active, .ccfe-start-solo:active{
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border-color: #b8bec5 !important;
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.06) !important;
  filter: none !important;
  transform: scale(0.99);
}

.ccfe-submit-btn:disabled, .ccfe-submit-btn[disabled], .ccfe-form button[type="submit"]:disabled, .ccfe-form button[type="submit"][disabled], .ccfe-form input[type="submit"]:disabled, .ccfe-form input[type="submit"][disabled], .ccfe-mode-box .button:disabled, .ccfe-mode-box .button[disabled]{
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border-color: #ccd0d4 !important;
  opacity: 1 !important;
  box-shadow: none !important;
  filter: none !important;
}

.ccfe-response {
  margin-top: 16px;
  font-weight: 600;
}

.ccfe-timer-wrap {
  position: sticky;
  top: 16px;
  z-index: 5;
  margin-bottom: 20px;
  padding: 12px 14px;
  border-radius: 12px;
  background: linear-gradient(180deg, #fafbfc 0%, #f4f6f8 100%);
  border: 1px solid #dcdcde;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
  backdrop-filter: blur(4px);
}

.ccfe-timer-warning {
  background: #fff8e5;
  border-color: #dba617;
}

.ccfe-timer-danger {
  background: #fff1f1;
  border-color: #d63638;
}

.ccfe-review-wrap {
  margin-top: 24px;
  display: grid;
  gap: 14px;
}

.ccfe-review-item {
  border: 1px solid #dcdcde;
  border-left-width: 5px;
  border-radius: 14px;
  padding: 14px 16px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.ccfe-review-correct {
  border-left-color: #00a32a;
  background: #f6fff7;
}

.ccfe-review-incorrect {
  border-left-color: #d63638;
  background: #fff6f6;
}

.ccfe-correct-answer {
  color: #00a32a;
  font-weight: 700;
}

.ccfe-review-explanation {
  margin-top: 8px;
}

.ccfe-mode-box{
  padding: 18px;
  border: 1px solid #dcdcde;
  border-radius: 16px;
  background: #fff;
  margin-bottom: 18px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.ccfe-mode-box h3{
  margin-top: 0;
  margin-bottom: 12px;
}


.ccfe-mode-box .button {
  margin-right: 10px;
  margin-bottom: 10px;
}


.ccfe-post-submit-panel {
  margin-bottom: 18px;
}


.ccfe-processing-box {
  padding: 18px;
  border: 1px solid #eadcff;
  border-radius: 18px;
  background: linear-gradient(180deg, #fff, #faf7ff);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
  text-align: center;
}

.ccfe-processing-spinner {
  width: 34px;
  height: 34px;
  margin: 0 auto 12px;
  border-radius: 50%;
  border: 3px solid #eadcff;
  border-top-color: #7a4bff;
  animation: ccfe-spin 0.9s linear infinite;
}

@keyframes ccfe-spin {
  to {
    transform: rotate(360deg);
  }
}


.ccfe-code-expiry-line {
  display: inline-block;
  margin-top: 8px;
  padding: 7px 10px;
  border-radius: 999px;
  background: #f5f7fa;
  border: 1px solid #dde3e9;
  font-size: 12px;
  font-weight: 600;
  color: #334155;
}

.ccfe-code-expiry-time {
  font-variant-numeric: tabular-nums;
}

.ccfe-code-expiry-warning {
  background: #fff7e8;
  border-color: #efc26f;
  color: #9a5b00;
}


/* Floating shared chat */


@keyframes ccfeFabPulse {
  0%, 100%{
    box-shadow: 0 14px 32px rgba(34, 113, 177, 0.30);
  }
  50% {
    box-shadow: 0 18px 40px rgba(34, 113, 177, 0.42);
  }
}


.ccfe-progress-a, .ccfe-progress-b{
  height: 100%;
  width: 0%;
  border-radius: 999px;
  transition: width 0.25s ease;
}

.ccfe-progress-a {
  background: #2271b1;
}

.ccfe-progress-b {
  background: #46b450;
}


@media (max-width: 767px) {
  .ccfe-form {
    padding: 18px;
    margin: 18px auto;
    border-radius: 16px;
  }

  .ccfe-before-text, .ccfe-after-text, .ccfe-mode-box, .ccfe-processing-box, .ccfe-category-group{
    border-radius: 14px;
  }

  

  

  

  

  

  

  

  

  

  

  

  

  

  
}


/* Paged form flow */
.ccfe-form-progress {
  margin: 0 0 18px;
  display: grid;
  gap: 8px;
}
.ccfe-form-progress-text {
  font-size: 13px;
  font-weight: 700;
  color: #4b5563;
}
.ccfe-form-progress-bar {
  height: 10px;
  border-radius: 999px;
  background: #eef2f7;
  border: 1px solid #dde5ee;
  overflow: hidden;
}
.ccfe-form-progress-fill {
  height: 100%;
  width: 0%;
  border-radius: 999px;
  background: linear-gradient(90deg, #6f42c1 0%, #8c63d9 100%);
  transition: width 0.2s ease;
}
.ccfe-form-page.ccfe-page-hidden {
  display: none !important;
}
.ccfe-form-nav {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid #eef2f4;
}
.ccfe-page-back, .ccfe-page-next{
  -webkit-appearance: none !important;
  appearance: none !important;
  min-height: 46px;
  padding: 12px 18px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}
.ccfe-page-back {
  background: #fff !important;
  color: #111 !important;
  border: 1px solid #ccd0d4 !important;
}
.ccfe-page-next {
  background: #6f42c1 !important;
  color: #fff !important;
  border: 1px solid #6f42c1 !important;
  margin-left: auto;
  box-shadow: 0 8px 18px rgba(111, 66, 193, 0.18);
}
.ccfe-page-next:hover, .ccfe-page-next:focus{
  background: #6238b0 !important;
  border-color: #6238b0 !important;
}
.ccfe-page-back:hover, .ccfe-page-back:focus{
  border-color: #b8bec5 !important;
  box-shadow: 0 8px 20px rgba(15,23,42,0.08) !important;
}
.ccfe-category-page-group {
  margin-bottom: 0;
}


/* Form pre-start intro */
.ccfe-form-intro{
  margin: 0 0 22px;
}
.ccfe-form-intro-shell{
  padding: 24px;
  border: 1px solid #dddff2;
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(111,66,193,.08), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #faf8ff 100%);
  box-shadow: 0 18px 40px rgba(15,23,42,0.08);
}
.ccfe-form-intro-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#f4edff;
  border:1px solid #ddd1ff;
  color:#6f42c1;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  margin-bottom:12px;
}
.ccfe-form-intro-title{
  margin:0 0 12px;
  font-size: clamp(24px, 3vw, 34px);
  line-height:1.12;
  letter-spacing:-0.03em;
  color:#111827;
}
.ccfe-form-intro-copy{
  color:#4b5563;
  line-height:1.7;
  font-size:15px;
}
.ccfe-form-intro-copy p:last-child{
  margin-bottom:0;
}
.ccfe-form-intro-registered, .ccfe-form-intro-sharing{
  margin-top:16px;
  padding:14px 16px;
  border:1px solid #e7e9f4;
  border-radius:16px;
  background:#ffffff;
}
.ccfe-form-intro-registered strong, .ccfe-form-intro-sharing strong{
  display:block;
  margin-bottom:8px;
  color:#111827;
}
.ccfe-form-intro-sharing-list{
  display:grid;
  gap:10px;
}
.ccfe-form-intro-sharing-item{
  display:grid;
  gap:4px;
}
.ccfe-form-intro-sharing-label{
  font-size:12px;
  font-weight:700;
  color:#6b7280;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.ccfe-form-intro-sharing-text{
  color:#374151;
  line-height:1.5;
}
.ccfe-form-intro-actions{
  margin-top:20px;
  display:flex;
  justify-content:flex-start;
}
.ccfe-begin-form{
  min-width:160px;
  min-height:48px;
  border-radius:999px !important;
  font-weight:700 !important;
  box-shadow:0 14px 30px rgba(111,66,193,.22) !important;
}
@media (max-width: 768px){
  .ccfe-form-intro-shell{
    padding:18px;
    border-radius:18px;
  }
  .ccfe-form-intro-title{
    font-size:26px;
  }
}

/* v2: form theme system */
.ccfe-form-wrap {
  --ccfe-theme-accent: #6f42c1;
  --ccfe-theme-accent-dark: #6238b0;
  --ccfe-theme-shell-border: #dddff2;
  --ccfe-theme-shell-bg: radial-gradient(circle at top right, rgba(111,66,193,.08), transparent 34%), linear-gradient(180deg, #ffffff 0%, #faf8ff 100%);
  --ccfe-theme-form-bg: #ffffff;
  --ccfe-theme-form-border: #dde3e7;
  --ccfe-theme-form-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
  --ccfe-theme-badge-bg: #f4edff;
  --ccfe-theme-badge-border: #ddd1ff;
  --ccfe-theme-badge-text: #6f42c1;
  --ccfe-theme-title: #111827;
  --ccfe-theme-copy: #4b5563;
  --ccfe-theme-panel-bg: #ffffff;
  --ccfe-theme-panel-border: #e7e9f4;
  --ccfe-theme-progress: linear-gradient(90deg, #6f42c1 0%, #8c63d9 100%);
}

.ccfe-form-intro-shell {
  border-color: var(--ccfe-theme-shell-border);
  background: var(--ccfe-theme-shell-bg);
}

.ccfe-form-intro-badge {
  background: var(--ccfe-theme-badge-bg);
  border-color: var(--ccfe-theme-badge-border);
  color: var(--ccfe-theme-badge-text);
}

.ccfe-form-intro-title, .ccfe-theme-custom-photo .ccfe-form-intro-title{
  color: var(--ccfe-theme-title);
}

.ccfe-form-intro-copy, .ccfe-form-intro-sharing-text, .ccfe-form-intro-section-body, .ccfe-form-intro-section-body div, .ccfe-form-intro-section-body p{
  color: var(--ccfe-theme-copy);
}

.ccfe-form-intro-registered, .ccfe-form-intro-sharing, .ccfe-form-intro-section{
  background: var(--ccfe-theme-panel-bg);
  border-color: var(--ccfe-theme-panel-border);
}

.ccfe-form {
  border-color: var(--ccfe-theme-form-border);
  background: var(--ccfe-theme-form-bg);
  box-shadow: var(--ccfe-theme-form-shadow);
}

.ccfe-page-next, .ccfe-submit-btn.ccfe-theme-accent, .ccfe-theme-aurora-slate .ccfe-begin-form, .ccfe-theme-royal-glow .ccfe-begin-form, .ccfe-theme-forest-editorial .ccfe-begin-form, .ccfe-theme-sunset-copper .ccfe-begin-form, .ccfe-theme-ocean-glass .ccfe-begin-form, .ccfe-theme-midnight-luxe .ccfe-begin-form, .ccfe-theme-custom-photo .ccfe-begin-form{
  background: var(--ccfe-theme-accent) !important;
  border-color: var(--ccfe-theme-accent) !important;
  color: #fff !important;
}

.ccfe-page-next:hover, .ccfe-page-next:focus, .ccfe-begin-form:hover, .ccfe-begin-form:focus{
  background: var(--ccfe-theme-accent-dark) !important;
  border-color: var(--ccfe-theme-accent-dark) !important;
}

.ccfe-form-progress-fill {
  background: var(--ccfe-theme-progress);
}

.ccfe-theme-aurora-slate {
  --ccfe-theme-accent: #5b6cff;
  --ccfe-theme-accent-dark: #4454dd;
  --ccfe-theme-shell-border: #d9defb;
  --ccfe-theme-shell-bg: radial-gradient(circle at top right, rgba(91,108,255,.12), transparent 30%), linear-gradient(180deg, #f8faff 0%, #eef3ff 100%);
  --ccfe-theme-badge-bg: #eef1ff;
  --ccfe-theme-badge-border: #d6ddff;
  --ccfe-theme-badge-text: #4454dd;
  --ccfe-theme-progress: linear-gradient(90deg, #5b6cff 0%, #8d9cff 100%);
}

.ccfe-theme-royal-glow {
  --ccfe-theme-accent: #6f42c1;
  --ccfe-theme-accent-dark: #56319d;
  --ccfe-theme-shell-border: #e1d7f4;
  --ccfe-theme-shell-bg: radial-gradient(circle at top right, rgba(111,66,193,.14), transparent 30%), linear-gradient(180deg, #ffffff 0%, #f8f2ff 100%);
  --ccfe-theme-badge-bg: #f2eaff;
  --ccfe-theme-badge-border: #ddccff;
  --ccfe-theme-badge-text: #6b37cf;
  --ccfe-theme-progress: linear-gradient(90deg, #6f42c1 0%, #a06de0 100%);
}

.ccfe-theme-forest-editorial {
  --ccfe-theme-accent: #216e5a;
  --ccfe-theme-accent-dark: #185645;
  --ccfe-theme-shell-border: #d7ece4;
  --ccfe-theme-shell-bg: radial-gradient(circle at top right, rgba(33,110,90,.10), transparent 30%), linear-gradient(180deg, #ffffff 0%, #f2fbf7 100%);
  --ccfe-theme-badge-bg: #edf9f4;
  --ccfe-theme-badge-border: #d1ecdf;
  --ccfe-theme-badge-text: #216e5a;
  --ccfe-theme-progress: linear-gradient(90deg, #216e5a 0%, #46a082 100%);
}

.ccfe-theme-sunset-copper {
  --ccfe-theme-accent: #c56a2d;
  --ccfe-theme-accent-dark: #a95218;
  --ccfe-theme-shell-border: #f0dccf;
  --ccfe-theme-shell-bg: radial-gradient(circle at top right, rgba(197,106,45,.10), transparent 30%), linear-gradient(180deg, #fffdfb 0%, #fff4eb 100%);
  --ccfe-theme-badge-bg: #fff1e4;
  --ccfe-theme-badge-border: #f3d3b7;
  --ccfe-theme-badge-text: #b55d22;
  --ccfe-theme-progress: linear-gradient(90deg, #c56a2d 0%, #e39a61 100%);
}

.ccfe-theme-ocean-glass {
  --ccfe-theme-accent: #0f6e8f;
  --ccfe-theme-accent-dark: #0b5872;
  --ccfe-theme-shell-border: #d7ebf1;
  --ccfe-theme-shell-bg: radial-gradient(circle at top right, rgba(15,110,143,.10), transparent 30%), linear-gradient(180deg, #fbfeff 0%, #eef9fd 100%);
  --ccfe-theme-badge-bg: #e7f7fc;
  --ccfe-theme-badge-border: #cdebf6;
  --ccfe-theme-badge-text: #0f6e8f;
  --ccfe-theme-progress: linear-gradient(90deg, #0f6e8f 0%, #43abc9 100%);
}

.ccfe-theme-midnight-luxe {
  --ccfe-theme-accent: #111827;
  --ccfe-theme-accent-dark: #000000;
  --ccfe-theme-shell-border: #2b3242;
  --ccfe-theme-shell-bg: radial-gradient(circle at top right, rgba(255,215,128,.12), transparent 26%), linear-gradient(180deg, #121826 0%, #1a2233 100%);
  --ccfe-theme-form-bg: #ffffff;
  --ccfe-theme-form-border: #d6dbe4;
  --ccfe-theme-badge-bg: rgba(255,214,102,.10);
  --ccfe-theme-badge-border: rgba(255,214,102,.25);
  --ccfe-theme-badge-text: #f3d184;
  --ccfe-theme-title: #f8fafc;
  --ccfe-theme-copy: #d6dbe4;
  --ccfe-theme-panel-bg: rgba(255,255,255,.06);
  --ccfe-theme-panel-border: rgba(255,255,255,.12);
  --ccfe-theme-progress: linear-gradient(90deg, #d4af37 0%, #f1da85 100%);
}
.ccfe-theme-midnight-luxe .ccfe-form-intro-sharing-label, .ccfe-theme-custom-photo .ccfe-form-intro-sharing-label{
  color: rgba(255,255,255,.82);
}
.ccfe-theme-midnight-luxe .ccfe-form-intro-section-title, .ccfe-theme-custom-photo .ccfe-form-intro-section-title{
  color: #ffffff;
}

.ccfe-theme-custom-photo {
  position: relative;
  padding: 16px;
  border-radius: 28px;
  overflow: hidden;
}
.ccfe-theme-custom-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--ccfe-theme-photo);
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
}
.ccfe-theme-custom-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,14,24,var(--ccfe-theme-photo-overlay, .58)) 0%, rgba(10,14,24,calc(var(--ccfe-theme-photo-overlay, .58) + .10)) 100%);
}
.ccfe-theme-custom-photo > * {
  position: relative;
  z-index: 1;
}
.ccfe-theme-custom-photo .ccfe-form-intro-shell {
  border-color: rgba(255,255,255,.18);
  background: linear-gradient(180deg, rgba(9,14,22,.60) 0%, rgba(9,14,22,.48) 100%);
  box-shadow: 0 22px 44px rgba(0,0,0,.20);
}
.ccfe-theme-custom-photo .ccfe-form {
  background: rgba(255,255,255,.94);
  border-color: rgba(255,255,255,.35);
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 40px rgba(0,0,0,.14);
}
.ccfe-theme-custom-photo .ccfe-form-intro-copy, .ccfe-theme-custom-photo .ccfe-form-intro-sharing-text, .ccfe-theme-custom-photo .ccfe-form-intro-section-body, .ccfe-theme-custom-photo .ccfe-form-intro-section-body div, .ccfe-theme-custom-photo .ccfe-form-intro-section-body p{
  color: rgba(255,255,255,.92);
}
.ccfe-theme-custom-photo .ccfe-form-intro-badge {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.18);
  color: #ffffff;
}
.ccfe-theme-custom-photo .ccfe-form-intro-registered, .ccfe-theme-custom-photo .ccfe-form-intro-sharing, .ccfe-theme-custom-photo .ccfe-form-intro-section{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.16);
}

/* Mobile-only collapsible intro sections */
.ccfe-form-intro-section-toggle {
  display: none;
}

@media (max-width: 768px) {
  .ccfe-form-intro-section {
    overflow: hidden;
  }
  .ccfe-form-intro-section-toggle {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    text-align: left;
    cursor: pointer;
  }
  .ccfe-form-intro-section-title {
    font-weight: 700;
    color: #111827;
  }
  .ccfe-form-intro-section-icon {
    transition: transform .18s ease;
    color: inherit;
  }
  .ccfe-form-intro-section.is-collapsed .ccfe-form-intro-section-icon {
    transform: rotate(-90deg);
  }
  .ccfe-form-intro-section-body {
    margin-top: 10px;
  }
  .ccfe-form-intro-section.is-collapsed .ccfe-form-intro-section-body {
    display: none;
  }
}

/* v3: stronger theme rendering on the actual form page */
.ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-category-group {
  border-color: var(--ccfe-theme-panel-border);
  background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.88) 100%);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block {
  border-top-color: color-mix(in srgb, var(--ccfe-theme-panel-border) 72%, #ffffff 28%);
}

.ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block label, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-category-heading, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-form-progress-text, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-response{
  color: var(--ccfe-theme-title);
}

.ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block input[type="text"], .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block input[type="email"], .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block input[type="number"], .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block input[type="date"], .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block select, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block textarea{
  border-color: color-mix(in srgb, var(--ccfe-theme-panel-border) 78%, #cfd7de 22%);
  background: #ffffff;
}

.ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block input[type="text"]:focus, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block input[type="email"]:focus, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block input[type="number"]:focus, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block input[type="date"]:focus, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block select:focus, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block textarea:focus{
  border-color: var(--ccfe-theme-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ccfe-theme-accent) 14%, transparent 86%);
}

.ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-timer-wrap, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-review-item, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-mode-box{
  border-color: var(--ccfe-theme-panel-border);
}

.ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-timer-wrap {
  background: linear-gradient(180deg, color-mix(in srgb, var(--ccfe-theme-shell-bg) 62%, #ffffff 38%) 0%, #ffffff 100%);
}

.ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-page-next, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-submit-btn.ccfe-theme-accent, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-begin-form{
  background: var(--ccfe-theme-accent) !important;
  border-color: var(--ccfe-theme-accent) !important;
  color: #ffffff !important;
}

.ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-page-next:hover, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-page-next:focus, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-submit-btn.ccfe-theme-accent:hover, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-submit-btn.ccfe-theme-accent:focus, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-begin-form:hover, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-begin-form:focus{
  background: var(--ccfe-theme-accent-dark) !important;
  border-color: var(--ccfe-theme-accent-dark) !important;
}

.ccfe-form.ccfe-theme-midnight-luxe, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-form{
  background: rgba(255,255,255,.98);
}

.ccfe-form.ccfe-theme-custom-photo, .ccfe-form-wrap.ccfe-theme-custom-photo .ccfe-form{
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(10px);
}

/* v3: stronger live-form theme rendering */
.ccfe-form-wrap[class*="ccfe-theme-"] {
  border-radius: 26px;
  padding: 18px;
  background: var(--ccfe-theme-shell-bg);
  border: 1px solid var(--ccfe-theme-shell-border);
  box-shadow: 0 18px 40px rgba(15,23,42,.08);
}

.ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-form {
  background: var(--ccfe-theme-form-bg);
  border: 1px solid var(--ccfe-theme-form-border);
  box-shadow: var(--ccfe-theme-form-shadow);
}

.ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-category-group, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-before-text, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-after-text, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-processing-box, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-mode-box{
  background: var(--ccfe-theme-panel-bg);
  border-color: var(--ccfe-theme-panel-border);
}

.ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block {
  border-top-color: color-mix(in srgb, var(--ccfe-theme-accent) 14%, #eef2f4);
}

.ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-category-heading, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block label, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-form-progress-text, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-response{
  color: var(--ccfe-theme-title);
}

.ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-timer-wrap {
  background: linear-gradient(180deg, color-mix(in srgb, var(--ccfe-theme-accent) 8%, #ffffff) 0%, color-mix(in srgb, var(--ccfe-theme-accent) 3%, #f4f6f8) 100%);
  border-color: color-mix(in srgb, var(--ccfe-theme-accent) 24%, #dcdcde);
  box-shadow: 0 6px 18px color-mix(in srgb, var(--ccfe-theme-accent) 10%, rgba(15,23,42,.05));
}

.ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-page-next, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-submit-btn, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-form button[type="submit"], .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-form input[type="submit"]{
  background: var(--ccfe-theme-accent) !important;
  border-color: var(--ccfe-theme-accent) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--ccfe-theme-accent) 26%, rgba(15,23,42,.08)) !important;
}

.ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-page-next:hover, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-page-next:focus, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-submit-btn:hover, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-submit-btn:focus, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-form button[type="submit"]:hover, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-form button[type="submit"]:focus, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-form input[type="submit"]:hover, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-form input[type="submit"]:focus{
  background: var(--ccfe-theme-accent-dark) !important;
  border-color: var(--ccfe-theme-accent-dark) !important;
}

.ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-page-back {
  border-color: color-mix(in srgb, var(--ccfe-theme-accent) 20%, #ccd0d4) !important;
}

.ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block input[type="text"], .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block input[type="email"], .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block input[type="number"], .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block input[type="date"], .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block select, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block textarea{
  border-color: color-mix(in srgb, var(--ccfe-theme-accent) 16%, #cfd7de);
}

.ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block input[type="text"]:focus, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block input[type="email"]:focus, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block input[type="number"]:focus, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block input[type="date"]:focus, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block select:focus, .ccfe-form-wrap[class*="ccfe-theme-"] .ccfe-question-block textarea:focus{
  border-color: var(--ccfe-theme-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ccfe-theme-accent) 16%, transparent);
}

.ccfe-theme-midnight-luxe .ccfe-form, .ccfe-theme-midnight-luxe .ccfe-category-group, .ccfe-theme-midnight-luxe .ccfe-before-text, .ccfe-theme-midnight-luxe .ccfe-after-text, .ccfe-theme-midnight-luxe .ccfe-mode-box, .ccfe-theme-midnight-luxe .ccfe-processing-box{
  background: rgba(255,255,255,.97);
}

.ccfe-theme-custom-photo {
  background-image: var(--ccfe-theme-photo);
  background-size: cover;
  background-position: center;
}

.ccfe-theme-custom-photo .ccfe-form {
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(10px);
}

.ccfe-theme-custom-photo .ccfe-question-block, .ccfe-theme-custom-photo .ccfe-form-progress-text, .ccfe-theme-custom-photo .ccfe-category-heading, .ccfe-theme-custom-photo .ccfe-question-block label{
  color: #111827;
}


/* v4: ensure selected theme renders on the live form even when the wrapper selector is bypassed */
.ccfe-form[class*="ccfe-theme-"] {
  border-color: var(--ccfe-theme-form-border);
  background: var(--ccfe-theme-form-bg);
  box-shadow: var(--ccfe-theme-form-shadow);
}

.ccfe-form[class*="ccfe-theme-"] .ccfe-form-progress-fill {
  background: var(--ccfe-theme-progress);
}

.ccfe-form[class*="ccfe-theme-"] .ccfe-form-progress-text, .ccfe-form[class*="ccfe-theme-"] .ccfe-category-heading, .ccfe-form[class*="ccfe-theme-"] .ccfe-question-block label, .ccfe-form[class*="ccfe-theme-"] .ccfe-response, .ccfe-form[class*="ccfe-theme-"] .ccfe-timer-wrap{
  color: var(--ccfe-theme-title);
}

.ccfe-form[class*="ccfe-theme-"] .ccfe-question-block {
  border-top-color: color-mix(in srgb, var(--ccfe-theme-panel-border) 72%, #ffffff 28%);
}

.ccfe-form[class*="ccfe-theme-"] .ccfe-question-block input[type="text"], .ccfe-form[class*="ccfe-theme-"] .ccfe-question-block input[type="email"], .ccfe-form[class*="ccfe-theme-"] .ccfe-question-block input[type="number"], .ccfe-form[class*="ccfe-theme-"] .ccfe-question-block input[type="date"], .ccfe-form[class*="ccfe-theme-"] .ccfe-question-block select, .ccfe-form[class*="ccfe-theme-"] .ccfe-question-block textarea{
  border-color: color-mix(in srgb, var(--ccfe-theme-panel-border) 78%, #cfd7de 22%);
  background: #ffffff;
}

.ccfe-form[class*="ccfe-theme-"] .ccfe-question-block input[type="text"]:focus, .ccfe-form[class*="ccfe-theme-"] .ccfe-question-block input[type="email"]:focus, .ccfe-form[class*="ccfe-theme-"] .ccfe-question-block input[type="number"]:focus, .ccfe-form[class*="ccfe-theme-"] .ccfe-question-block input[type="date"]:focus, .ccfe-form[class*="ccfe-theme-"] .ccfe-question-block select:focus, .ccfe-form[class*="ccfe-theme-"] .ccfe-question-block textarea:focus{
  border-color: var(--ccfe-theme-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ccfe-theme-accent) 18%, transparent);
}

.ccfe-form[class*="ccfe-theme-"] .ccfe-timer-wrap {
  background: linear-gradient(180deg, color-mix(in srgb, var(--ccfe-theme-accent) 8%, #ffffff) 0%, color-mix(in srgb, var(--ccfe-theme-accent) 3%, #f4f6f8) 100%);
  border-color: color-mix(in srgb, var(--ccfe-theme-accent) 24%, #dcdcde);
  box-shadow: 0 6px 18px color-mix(in srgb, var(--ccfe-theme-accent) 10%, rgba(15,23,42,.05));
}

.ccfe-form[class*="ccfe-theme-"] .ccfe-page-next, .ccfe-form[class*="ccfe-theme-"] .ccfe-submit-btn, .ccfe-form[class*="ccfe-theme-"] button[type="submit"], .ccfe-form[class*="ccfe-theme-"] input[type="submit"]{
  background: var(--ccfe-theme-accent) !important;
  border-color: var(--ccfe-theme-accent) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--ccfe-theme-accent) 26%, rgba(15,23,42,.08)) !important;
}

.ccfe-form[class*="ccfe-theme-"] .ccfe-page-next:hover, .ccfe-form[class*="ccfe-theme-"] .ccfe-page-next:focus, .ccfe-form[class*="ccfe-theme-"] .ccfe-submit-btn:hover, .ccfe-form[class*="ccfe-theme-"] .ccfe-submit-btn:focus, .ccfe-form[class*="ccfe-theme-"] button[type="submit"]:hover, .ccfe-form[class*="ccfe-theme-"] button[type="submit"]:focus, .ccfe-form[class*="ccfe-theme-"] input[type="submit"]:hover, .ccfe-form[class*="ccfe-theme-"] input[type="submit"]:focus{
  background: var(--ccfe-theme-accent-dark) !important;
  border-color: var(--ccfe-theme-accent-dark) !important;
}

.ccfe-form[class*="ccfe-theme-"] .ccfe-page-back {
  border-color: color-mix(in srgb, var(--ccfe-theme-accent) 20%, #ccd0d4) !important;
}

.ccfe-form[class*="ccfe-theme-"] .ccfe-page-back:hover, .ccfe-form[class*="ccfe-theme-"] .ccfe-page-back:focus{
  border-color: var(--ccfe-theme-accent) !important;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--ccfe-theme-accent) 16%, rgba(15,23,42,.08)) !important;
}

.ccfe-form.ccfe-theme-custom-photo {
  background: rgba(255,255,255,.94);
  border-color: rgba(255,255,255,.35);
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 40px rgba(0,0,0,.14);
}


/* v6 targeted fixes: Midnight Luxe intro readability + Custom Photo sticky timer/readability */

/* ---------- Midnight Luxe: lighter, more readable intro/start page ---------- */
.ccfe-theme-midnight-luxe::after {
  background: linear-gradient(180deg, rgba(13, 18, 28, 0.46) 0%, rgba(13, 18, 28, 0.58) 100%) !important;
}

.ccfe-theme-midnight-luxe .ccfe-form-intro-shell {
  background: linear-gradient(180deg, rgba(17, 24, 39, 0.40) 0%, rgba(17, 24, 39, 0.52) 100%) !important;
  border-color: rgba(255,255,255,0.18) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,0.18) !important;
}

.ccfe-theme-midnight-luxe .ccfe-form-intro-title, .ccfe-theme-midnight-luxe .ccfe-form-intro-copy, .ccfe-theme-midnight-luxe .ccfe-form-intro-copy p, .ccfe-theme-midnight-luxe .ccfe-form-intro-sharing-label, .ccfe-theme-midnight-luxe .ccfe-form-intro-sharing-text, .ccfe-theme-midnight-luxe .ccfe-form-intro-section-title, .ccfe-theme-midnight-luxe .ccfe-form-intro-section-body, .ccfe-theme-midnight-luxe .ccfe-form-intro-section-body p, .ccfe-theme-midnight-luxe .ccfe-form-intro-section-body div, .ccfe-theme-midnight-luxe .ccfe-form-intro-registered, .ccfe-theme-midnight-luxe .ccfe-form-intro-meta, .ccfe-theme-midnight-luxe .ccfe-form-intro-email, .ccfe-theme-midnight-luxe .ccfe-form-progress-text{
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.34) !important;
}

.ccfe-theme-midnight-luxe .ccfe-form-intro-title {
  font-weight: 800 !important;
  letter-spacing: -0.02em;
}

.ccfe-theme-midnight-luxe .ccfe-form-intro-badge, .ccfe-theme-midnight-luxe .ccfe-form-intro-registered, .ccfe-theme-midnight-luxe .ccfe-form-intro-sharing, .ccfe-theme-midnight-luxe .ccfe-form-intro-section{
  background: rgba(255,255,255,0.10) !important;
  border-color: rgba(255,255,255,0.18) !important;
  backdrop-filter: blur(8px);
}

.ccfe-theme-midnight-luxe .ccfe-start-solo, .ccfe-theme-midnight-luxe .ccfe-begin-form, .ccfe-theme-midnight-luxe .ccfe-submit-btn{
  box-shadow: 0 14px 30px rgba(17,24,39,0.32) !important;
}

/* ---------- Custom Photo: cleaner photo, lighter intro text/cards, sticky timer ---------- */
.ccfe-theme-custom-photo, .ccfe-form-wrap.ccfe-theme-custom-photo{
  overflow: visible !important;
}

.ccfe-theme-custom-photo::before, .ccfe-form-wrap.ccfe-theme-custom-photo::before{
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  filter: none !important;
}

.ccfe-theme-custom-photo::after, .ccfe-form-wrap.ccfe-theme-custom-photo::after{
  background: linear-gradient(180deg, rgba(9, 14, 24, 0.48) 0%, rgba(9, 14, 24, 0.62) 100%) !important;
}

.ccfe-theme-custom-photo .ccfe-form-intro-shell {
  background: linear-gradient(180deg, rgba(16, 24, 40, 0.30) 0%, rgba(16, 24, 40, 0.42) 100%) !important;
  border-color: rgba(255,255,255,0.20) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,0.16) !important;
}

.ccfe-theme-custom-photo .ccfe-form-intro-title, .ccfe-theme-custom-photo .ccfe-form-intro-copy, .ccfe-theme-custom-photo .ccfe-form-intro-copy p, .ccfe-theme-custom-photo .ccfe-form-intro-sharing-label, .ccfe-theme-custom-photo .ccfe-form-intro-sharing-text, .ccfe-theme-custom-photo .ccfe-form-intro-section-title, .ccfe-theme-custom-photo .ccfe-form-intro-section-body, .ccfe-theme-custom-photo .ccfe-form-intro-section-body p, .ccfe-theme-custom-photo .ccfe-form-intro-section-body div, .ccfe-theme-custom-photo .ccfe-form-intro-registered, .ccfe-theme-custom-photo .ccfe-form-intro-meta, .ccfe-theme-custom-photo .ccfe-form-intro-email, .ccfe-theme-custom-photo .ccfe-form-progress-text{
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.34) !important;
}

.ccfe-theme-custom-photo .ccfe-form-intro-title {
  font-weight: 800 !important;
  letter-spacing: -0.02em;
}

.ccfe-theme-custom-photo .ccfe-form-intro-badge, .ccfe-theme-custom-photo .ccfe-form-intro-registered, .ccfe-theme-custom-photo .ccfe-form-intro-sharing, .ccfe-theme-custom-photo .ccfe-form-intro-section{
  background: rgba(255,255,255,0.14) !important;
  border-color: rgba(255,255,255,0.24) !important;
  backdrop-filter: blur(10px);
}

.ccfe-form.ccfe-theme-custom-photo .ccfe-timer-wrap, .ccfe-form-wrap.ccfe-theme-custom-photo .ccfe-timer-wrap{
  position: sticky !important;
  top: 16px !important;
  z-index: 8 !important;
  background: rgba(255,255,255,0.94) !important;
  border-color: rgba(17,24,39,0.10) !important;
  color: #111827 !important;
  backdrop-filter: blur(10px);
}

.ccfe-form.ccfe-theme-custom-photo .ccfe-form-progress-text, .ccfe-form-wrap.ccfe-theme-custom-photo .ccfe-form-progress-text, .ccfe-form.ccfe-theme-custom-photo .ccfe-response, .ccfe-form-wrap.ccfe-theme-custom-photo .ccfe-response, .ccfe-form.ccfe-theme-custom-photo .ccfe-question-block, .ccfe-form-wrap.ccfe-theme-custom-photo .ccfe-question-block, .ccfe-form.ccfe-theme-custom-photo .ccfe-question-block p, .ccfe-form-wrap.ccfe-theme-custom-photo .ccfe-question-block p, .ccfe-form.ccfe-theme-custom-photo .ccfe-question-block label, .ccfe-form-wrap.ccfe-theme-custom-photo .ccfe-question-block label{
  color: #111827 !important;
}

.ccfe-form.ccfe-theme-custom-photo .ccfe-question-block input, .ccfe-form.ccfe-theme-custom-photo .ccfe-question-block select, .ccfe-form.ccfe-theme-custom-photo .ccfe-question-block textarea, .ccfe-form-wrap.ccfe-theme-custom-photo .ccfe-question-block input, .ccfe-form-wrap.ccfe-theme-custom-photo .ccfe-question-block select, .ccfe-form-wrap.ccfe-theme-custom-photo .ccfe-question-block textarea{
  color: #111827 !important;
  background: rgba(255,255,255,0.98) !important;
}

.ccfe-form.ccfe-theme-custom-photo .ccfe-question-block input::placeholder, .ccfe-form.ccfe-theme-custom-photo .ccfe-question-block textarea::placeholder, .ccfe-form-wrap.ccfe-theme-custom-photo .ccfe-question-block input::placeholder, .ccfe-form-wrap.ccfe-theme-custom-photo .ccfe-question-block textarea::placeholder{
  color: #6b7280 !important;
}


/* v7 Midnight Luxe live-form readability fix only */
.ccfe-form.ccfe-theme-midnight-luxe, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-form{
  background: rgba(255,255,255,.985) !important;
  border-color: #d6dbe4 !important;
}

.ccfe-form.ccfe-theme-midnight-luxe .ccfe-form-progress-text, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-form-progress-text, .ccfe-form.ccfe-theme-midnight-luxe .ccfe-response, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-response, .ccfe-form.ccfe-theme-midnight-luxe .ccfe-category-heading, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-category-heading, .ccfe-form.ccfe-theme-midnight-luxe .ccfe-question-block, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-question-block, .ccfe-form.ccfe-theme-midnight-luxe .ccfe-question-block p, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-question-block p, .ccfe-form.ccfe-theme-midnight-luxe .ccfe-question-block label, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-question-block label, .ccfe-form.ccfe-theme-midnight-luxe .ccfe-timer-wrap, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-timer-wrap, .ccfe-form.ccfe-theme-midnight-luxe .ccfe-page-back, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-page-back{
  color: #111827 !important;
}

.ccfe-form.ccfe-theme-midnight-luxe .ccfe-question-block input, .ccfe-form.ccfe-theme-midnight-luxe .ccfe-question-block select, .ccfe-form.ccfe-theme-midnight-luxe .ccfe-question-block textarea, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-question-block input, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-question-block select, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-question-block textarea{
  color: #111827 !important;
  background: #ffffff !important;
}

.ccfe-form.ccfe-theme-midnight-luxe .ccfe-question-block input::placeholder, .ccfe-form.ccfe-theme-midnight-luxe .ccfe-question-block textarea::placeholder, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-question-block input::placeholder, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-question-block textarea::placeholder{
  color: #6b7280 !important;
}

.ccfe-form.ccfe-theme-midnight-luxe .ccfe-timer-wrap, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-timer-wrap{
  position: sticky !important;
  top: 16px !important;
  z-index: 8 !important;
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%) !important;
  border-color: #d7dce5 !important;
  box-shadow: 0 8px 20px rgba(15,23,42,.08) !important;
}

.ccfe-form.ccfe-theme-midnight-luxe .ccfe-form-progress-bar, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-form-progress-bar{
  background: #eceff3 !important;
  border-color: #dde3ea !important;
}

.ccfe-form.ccfe-theme-midnight-luxe .ccfe-question-block input[type="radio"], .ccfe-form.ccfe-theme-midnight-luxe .ccfe-question-block input[type="checkbox"], .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-question-block input[type="radio"], .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-question-block input[type="checkbox"]{
  accent-color: #111827;
  filter: none !important;
  opacity: 1 !important;
}

.ccfe-form.ccfe-theme-midnight-luxe .ccfe-question-block label *, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-question-block label *{
  color: inherit !important;
}

.ccfe-form.ccfe-theme-midnight-luxe .ccfe-page-next, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-page-next, .ccfe-form.ccfe-theme-midnight-luxe .ccfe-submit-btn, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-submit-btn, .ccfe-form.ccfe-theme-midnight-luxe button[type="submit"], .ccfe-form-wrap.ccfe-theme-midnight-luxe button[type="submit"], .ccfe-form.ccfe-theme-midnight-luxe input[type="submit"], .ccfe-form-wrap.ccfe-theme-midnight-luxe input[type="submit"]{
  color: #ffffff !important;
}


.ccfe-theme-midnight-luxe .ccfe-submit-btn, .ccfe-theme-midnight-luxe button[type="submit"], .ccfe-theme-midnight-luxe input[type="submit"], .ccfe-theme-midnight-luxe .ccfe-page-next, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-submit-btn, .ccfe-form-wrap.ccfe-theme-midnight-luxe button[type="submit"], .ccfe-form-wrap.ccfe-theme-midnight-luxe input[type="submit"], .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-page-next{
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border: 1px solid #cfd6dd !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12) !important;
  text-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}

.ccfe-theme-midnight-luxe .ccfe-submit-btn:hover, .ccfe-theme-midnight-luxe .ccfe-submit-btn:focus, .ccfe-theme-midnight-luxe button[type="submit"]:hover, .ccfe-theme-midnight-luxe button[type="submit"]:focus, .ccfe-theme-midnight-luxe input[type="submit"]:hover, .ccfe-theme-midnight-luxe input[type="submit"]:focus, .ccfe-theme-midnight-luxe .ccfe-page-next:hover, .ccfe-theme-midnight-luxe .ccfe-page-next:focus, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-submit-btn:hover, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-submit-btn:focus, .ccfe-form-wrap.ccfe-theme-midnight-luxe button[type="submit"]:hover, .ccfe-form-wrap.ccfe-theme-midnight-luxe button[type="submit"]:focus, .ccfe-form-wrap.ccfe-theme-midnight-luxe input[type="submit"]:hover, .ccfe-form-wrap.ccfe-theme-midnight-luxe input[type="submit"]:focus, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-page-next:hover, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-page-next:focus{
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border-color: #b8c2cc !important;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.16) !important;
}

.ccfe-theme-midnight-luxe .ccfe-submit-btn:active, .ccfe-theme-midnight-luxe button[type="submit"]:active, .ccfe-theme-midnight-luxe input[type="submit"]:active, .ccfe-theme-midnight-luxe .ccfe-page-next:active, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-submit-btn:active, .ccfe-form-wrap.ccfe-theme-midnight-luxe button[type="submit"]:active, .ccfe-form-wrap.ccfe-theme-midnight-luxe input[type="submit"]:active, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-page-next:active{
  background: #f8fafc !important;
  background-color: #f8fafc !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

.ccfe-theme-midnight-luxe .ccfe-submit-btn[disabled], .ccfe-theme-midnight-luxe .ccfe-submit-btn:disabled, .ccfe-theme-midnight-luxe button[type="submit"][disabled], .ccfe-theme-midnight-luxe button[type="submit"]:disabled, .ccfe-theme-midnight-luxe input[type="submit"][disabled], .ccfe-theme-midnight-luxe input[type="submit"]:disabled, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-submit-btn[disabled], .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-submit-btn:disabled, .ccfe-form-wrap.ccfe-theme-midnight-luxe button[type="submit"][disabled], .ccfe-form-wrap.ccfe-theme-midnight-luxe button[type="submit"]:disabled, .ccfe-form-wrap.ccfe-theme-midnight-luxe input[type="submit"][disabled], .ccfe-form-wrap.ccfe-theme-midnight-luxe input[type="submit"]:disabled{
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  opacity: 1 !important;
}


/* v9 Midnight Luxe submit button readability */
.ccfe-form.ccfe-theme-midnight-luxe .ccfe-submit-btn, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-submit-btn, .ccfe-form.ccfe-theme-midnight-luxe .ccfe-form button[type="submit"], .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-form button[type="submit"], .ccfe-form.ccfe-theme-midnight-luxe .ccfe-form input[type="submit"], .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-form input[type="submit"]{
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border-color: #cfd6dd !important;
  text-shadow: none !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12) !important;
}

.ccfe-form.ccfe-theme-midnight-luxe .ccfe-submit-btn:hover, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-submit-btn:hover, .ccfe-form.ccfe-theme-midnight-luxe .ccfe-submit-btn:focus, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-submit-btn:focus, .ccfe-form.ccfe-theme-midnight-luxe .ccfe-form button[type="submit"]:hover, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-form button[type="submit"]:hover, .ccfe-form.ccfe-theme-midnight-luxe .ccfe-form button[type="submit"]:focus, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-form button[type="submit"]:focus, .ccfe-form.ccfe-theme-midnight-luxe .ccfe-form input[type="submit"]:hover, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-form input[type="submit"]:hover, .ccfe-form.ccfe-theme-midnight-luxe .ccfe-form input[type="submit"]:focus, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-form input[type="submit"]:focus{
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border-color: #b8c2cc !important;
}

.ccfe-form.ccfe-theme-midnight-luxe .ccfe-submit-btn:active, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-submit-btn:active, .ccfe-form.ccfe-theme-midnight-luxe .ccfe-form button[type="submit"]:active, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-form button[type="submit"]:active, .ccfe-form.ccfe-theme-midnight-luxe .ccfe-form input[type="submit"]:active, .ccfe-form-wrap.ccfe-theme-midnight-luxe .ccfe-form input[type="submit"]:active{
  background: #f8fafc !important;
  background-color: #f8fafc !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}


/* Shared mode uses the dedicated shared launcher. The intro Start button is solo-only. */


