/* ═══════════════════════════════════════════════════
   CertifyPro Form – Isolated & Theme-Proof UI
   COLOR SYSTEM: All colors use CSS custom properties
   set by JS from the Form Builder config.
   ═══════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap');

#certpro-form-root,#certpro-form-root *,#certpro-form-root *::before,#certpro-form-root *::after{box-sizing:border-box!important;margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;text-decoration:none;list-style:none;float:none;letter-spacing:normal;word-spacing:normal;text-transform:none;text-indent:0;text-shadow:none;-webkit-text-size-adjust:100%}

#certpro-form-root{
  --cp-primary:#1a1a2e;--cp-primary-hover:#2d2d4a;--cp-primary-soft:rgba(26,26,46,0.08);
  --cp-accent:#059669;--cp-accent-hover:#047857;--cp-accent-soft:#d1fae5;
  --cp-bg:#ffffff;--cp-card-bg:#ffffff;--cp-card-border:#e5e7eb;
  --cp-input-border:#d1d5db;--cp-input-bg:#ffffff;
  --cp-text:#1a1a2e;--cp-text-muted:#6b7280;--cp-text-label:#374151;
  --cp-error:#dc2626;--cp-upload-bg:#fafafa;--cp-upload-hover:#f0f0ff;
  --cp-selected-bg:#f8f9ff;--cp-step-done:#059669;--cp-step-line:#d1d5db;
  --cp-divider:#e5e7eb;--cp-file-bg:#f9fafb;
  --cp-radius:12px;--cp-radius-sm:8px;--cp-radius-lg:10px;
  font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif!important;
  color:var(--cp-text)!important;line-height:1.6!important;max-width:1100px!important;
  margin:0 auto!important;padding:20px!important;-webkit-font-smoothing:antialiased!important;
  font-weight:400!important;font-style:normal!important
}

/* Stepper */
#certpro-form-root .cp-stepper{display:flex!important;align-items:center!important;justify-content:center!important;margin-bottom:36px!important;gap:0!important;padding:0!important;background:transparent!important;border:none!important}
#certpro-form-root .cp-step-item{display:flex!important;align-items:center!important;gap:10px!important;background:transparent!important;border:none!important;padding:0!important;margin:0!important}
#certpro-form-root .cp-step-num{width:36px!important;height:36px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;font-weight:600!important;font-size:14px!important;border:2px solid var(--cp-step-line)!important;color:#9ca3af!important;background:var(--cp-card-bg)!important;transition:all .3s ease!important;flex-shrink:0!important;line-height:1!important;padding:0!important;margin:0!important}
#certpro-form-root .cp-step-item.active .cp-step-num{background:var(--cp-primary)!important;border-color:var(--cp-primary)!important;color:#fff!important}
#certpro-form-root .cp-step-item.completed .cp-step-num{background:var(--cp-step-done)!important;border-color:var(--cp-step-done)!important;color:#fff!important}
#certpro-form-root .cp-step-label{font-size:14px!important;font-weight:500!important;color:#9ca3af!important;transition:color .3s!important;line-height:1.4!important;padding:0!important;margin:0!important;background:transparent!important;border:none!important}
#certpro-form-root .cp-step-item.active .cp-step-label,#certpro-form-root .cp-step-item.completed .cp-step-label{color:var(--cp-text)!important}
#certpro-form-root .cp-step-line{width:60px!important;height:2px!important;background:var(--cp-step-line)!important;margin:0 12px!important;transition:background .3s!important;border:none!important;padding:0!important}
#certpro-form-root .cp-step-line.done{background:var(--cp-step-done)!important}

/* Layout */
#certpro-form-root .cp-layout{display:grid!important;grid-template-columns:1fr!important;gap:24px!important;border:none!important;padding:0!important;margin:0!important;background:transparent!important}
#certpro-form-root .cp-layout.two-col{grid-template-columns:1fr 380px!important}
@media(max-width:768px){#certpro-form-root .cp-layout.two-col{grid-template-columns:1fr!important}#certpro-form-root .cp-stepper{flex-wrap:wrap!important;gap:4px!important}#certpro-form-root .cp-step-label{display:none!important}#certpro-form-root .cp-step-line{width:32px!important}}

/* Form card */
#certpro-form-root .cp-form-card{background:var(--cp-card-bg)!important;border:1px solid var(--cp-card-border)!important;border-radius:var(--cp-radius)!important;padding:32px!important;box-shadow:0 1px 3px rgba(0,0,0,.04)!important;margin:0!important}
#certpro-form-root .cp-form-card h2{font-size:22px!important;font-weight:700!important;margin:0 0 6px 0!important;color:var(--cp-text)!important;line-height:1.3!important;padding:0!important;border:none!important;background:transparent!important;text-transform:none!important;letter-spacing:normal!important;font-family:inherit!important}
#certpro-form-root .cp-form-card .cp-subtitle{color:var(--cp-text-muted)!important;font-size:15px!important;margin:0 0 24px 0!important;padding:0!important;line-height:1.5!important;font-weight:400!important}

/* Fields */
#certpro-form-root .cp-field{margin-bottom:20px!important;padding:0!important;border:none!important;background:transparent!important}
#certpro-form-root .cp-field label{display:block!important;font-size:14px!important;font-weight:600!important;margin-bottom:6px!important;color:var(--cp-text-label)!important;line-height:1.4!important;padding:0!important;background:transparent!important;border:none!important;text-transform:none!important;letter-spacing:normal!important;font-family:inherit!important;cursor:default!important;float:none!important;width:auto!important}
#certpro-form-root .cp-field label .cp-required{color:var(--cp-error)!important;margin-left:2px!important;font-weight:600!important}
#certpro-form-root .cp-field input[type="text"],#certpro-form-root .cp-field input[type="email"],#certpro-form-root .cp-field input[type="tel"],#certpro-form-root .cp-field select,#certpro-form-root .cp-field textarea{width:100%!important;padding:10px 14px!important;border:1.5px solid var(--cp-input-border)!important;border-radius:var(--cp-radius-sm)!important;font-size:15px!important;font-family:inherit!important;color:var(--cp-text)!important;background:var(--cp-input-bg)!important;transition:border-color .2s,box-shadow .2s!important;outline:none!important;line-height:1.5!important;height:auto!important;min-height:0!important;max-width:100%!important;box-shadow:none!important;margin:0!important;-webkit-appearance:none!important;appearance:none!important}
#certpro-form-root .cp-field input[type="text"]:focus,#certpro-form-root .cp-field input[type="email"]:focus,#certpro-form-root .cp-field input[type="tel"]:focus,#certpro-form-root .cp-field select:focus,#certpro-form-root .cp-field textarea:focus{border-color:var(--cp-primary)!important;box-shadow:0 0 0 3px var(--cp-primary-soft)!important;outline:none!important;background:var(--cp-input-bg)!important}
#certpro-form-root .cp-field input.cp-error,#certpro-form-root .cp-field select.cp-error{border-color:var(--cp-error)!important}
#certpro-form-root .cp-error-msg{color:var(--cp-error)!important;font-size:13px!important;margin-top:4px!important;display:block!important;line-height:1.4!important;padding:0!important;background:transparent!important;border:none!important;font-weight:400!important}

/* Language selector */
#certpro-form-root .cp-lang-pair{display:grid!important;grid-template-columns:1fr auto 1fr!important;gap:12px!important;align-items:end!important;border:none!important;padding:0!important;margin:0!important;background:transparent!important}
#certpro-form-root .cp-lang-arrow{display:flex!important;align-items:center!important;justify-content:center!important;padding-bottom:12px!important;color:#9ca3af!important;font-size:20px!important;background:transparent!important;border:none!important;margin:0!important}
@media(max-width:520px){#certpro-form-root .cp-lang-pair{grid-template-columns:1fr!important}#certpro-form-root .cp-lang-arrow{display:none!important}}
#certpro-form-root .cp-search-select{position:relative!important;padding:0!important;margin:0!important;border:none!important;background:transparent!important}
#certpro-form-root .cp-search-select input{width:100%!important;padding:10px 14px!important;border:1.5px solid var(--cp-input-border)!important;border-radius:var(--cp-radius-sm)!important;font-size:15px!important;font-family:inherit!important;outline:none!important;transition:border-color .2s,box-shadow .2s!important;color:var(--cp-text)!important;background:var(--cp-input-bg)!important;box-shadow:none!important;line-height:1.5!important;height:auto!important;-webkit-appearance:none!important;appearance:none!important;margin:0!important}
#certpro-form-root .cp-search-select input:focus{border-color:var(--cp-primary)!important;box-shadow:0 0 0 3px var(--cp-primary-soft)!important}
#certpro-form-root .cp-search-dropdown{position:absolute!important;top:100%!important;left:0!important;right:0!important;max-height:200px!important;overflow-y:auto!important;background:var(--cp-card-bg)!important;border:1px solid var(--cp-input-border)!important;border-radius:var(--cp-radius-sm)!important;margin-top:4px!important;z-index:100!important;box-shadow:0 4px 12px rgba(0,0,0,.1)!important;display:none!important;padding:0!important}
#certpro-form-root .cp-search-dropdown.open{display:block!important}
#certpro-form-root .cp-search-dropdown .cp-option{padding:8px 14px!important;cursor:pointer!important;font-size:14px!important;transition:background .15s!important;border:none!important;margin:0!important;background:var(--cp-card-bg)!important;color:var(--cp-text)!important;text-align:left!important;line-height:1.4!important;display:block!important;width:100%!important;font-family:inherit!important}
#certpro-form-root .cp-search-dropdown .cp-option:hover,#certpro-form-root .cp-search-dropdown .cp-option.highlighted{background:#f3f4f6!important}

/* Radio groups */
#certpro-form-root .cp-radio-group{display:flex!important;gap:12px!important;flex-wrap:wrap!important;border:none!important;padding:0!important;margin:0!important;background:transparent!important}
#certpro-form-root .cp-radio-card{flex:1!important;min-width:180px!important;border:1.5px solid var(--cp-input-border)!important;border-radius:var(--cp-radius-lg)!important;padding:16px!important;cursor:pointer!important;transition:all .2s!important;background:var(--cp-card-bg)!important;position:relative!important;margin:0!important;box-shadow:none!important;text-align:left!important}
#certpro-form-root .cp-radio-card:hover{border-color:#9ca3af!important}
#certpro-form-root .cp-radio-card.selected{border-color:var(--cp-primary)!important;background:var(--cp-selected-bg)!important;box-shadow:0 0 0 3px var(--cp-primary-soft)!important}
#certpro-form-root .cp-radio-card input[type="radio"]{position:absolute!important;opacity:0!important;width:0!important;height:0!important;margin:0!important;padding:0!important}
#certpro-form-root .cp-radio-title{font-weight:600!important;font-size:15px!important;margin-bottom:2px!important;color:var(--cp-text)!important;line-height:1.3!important}
#certpro-form-root .cp-radio-desc{color:var(--cp-text-muted)!important;font-size:13px!important;line-height:1.4!important;font-weight:400!important}
#certpro-form-root .cp-radio-price{font-weight:700!important;color:var(--cp-accent)!important;font-size:16px!important;margin-top:6px!important;line-height:1.3!important}

/* Checkboxes */
#certpro-form-root .cp-checkbox-group{display:flex!important;flex-direction:column!important;gap:10px!important;border:none!important;padding:0!important;margin:0!important;background:transparent!important}
#certpro-form-root .cp-checkbox-card{display:flex!important;align-items:center!important;gap:12px!important;border:1.5px solid var(--cp-input-border)!important;border-radius:var(--cp-radius-lg)!important;padding:14px 16px!important;cursor:pointer!important;transition:all .2s!important;background:var(--cp-card-bg)!important;margin:0!important;box-shadow:none!important}
#certpro-form-root .cp-checkbox-card:hover{border-color:#9ca3af!important}
#certpro-form-root .cp-checkbox-card.checked{border-color:var(--cp-primary)!important;background:var(--cp-selected-bg)!important}
#certpro-form-root .cp-checkbox-card input[type="checkbox"]{width:20px!important;height:20px!important;accent-color:var(--cp-primary)!important;flex-shrink:0!important;margin:0!important;padding:0!important;-webkit-appearance:checkbox!important;appearance:checkbox!important;cursor:pointer!important}
#certpro-form-root .cp-checkbox-label{flex:1!important}
#certpro-form-root .cp-checkbox-name{font-weight:500!important;font-size:15px!important;color:var(--cp-text)!important;line-height:1.4!important}
#certpro-form-root .cp-checkbox-price{font-weight:600!important;color:var(--cp-accent)!important;white-space:nowrap!important;font-size:15px!important}

/* Upload */
#certpro-form-root .cp-upload-zone{border:2px dashed var(--cp-input-border)!important;border-radius:var(--cp-radius)!important;padding:32px!important;text-align:center!important;cursor:pointer!important;transition:all .2s!important;background:var(--cp-upload-bg)!important;position:relative!important;margin:0!important;box-shadow:none!important}
#certpro-form-root .cp-upload-zone:hover,#certpro-form-root .cp-upload-zone.dragover{border-color:var(--cp-primary)!important;background:var(--cp-upload-hover)!important}
#certpro-form-root .cp-upload-zone input[type="file"]{position:absolute!important;inset:0!important;opacity:0!important;cursor:pointer!important;width:100%!important;height:100%!important;padding:0!important;margin:0!important;border:none!important}
#certpro-form-root .cp-upload-icon{font-size:36px!important;margin-bottom:8px!important;color:#9ca3af!important;line-height:1!important;display:block!important}
#certpro-form-root .cp-upload-text{font-size:15px!important;color:var(--cp-text-muted)!important;line-height:1.5!important;font-weight:400!important}
#certpro-form-root .cp-upload-text strong{color:var(--cp-text)!important;font-weight:600!important}
#certpro-form-root .cp-file-list{margin-top:16px!important;display:flex!important;flex-direction:column!important;gap:8px!important;padding:0!important;border:none!important;background:transparent!important}
#certpro-form-root .cp-file-item{display:flex!important;align-items:center!important;gap:12px!important;padding:10px 14px!important;background:var(--cp-file-bg)!important;border:1px solid var(--cp-card-border)!important;border-radius:var(--cp-radius-sm)!important;font-size:14px!important;margin:0!important;box-shadow:none!important}
#certpro-form-root .cp-file-item .cp-file-icon{font-size:18px!important;flex-shrink:0!important;line-height:1!important}
#certpro-form-root .cp-file-item .cp-file-info{flex:1!important;min-width:0!important}
#certpro-form-root .cp-file-item .cp-file-name{font-weight:500!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:var(--cp-text)!important;font-size:14px!important;line-height:1.4!important}
#certpro-form-root .cp-file-item .cp-file-meta{color:var(--cp-text-muted)!important;font-size:12px!important;line-height:1.3!important;font-weight:400!important}
#certpro-form-root .cp-file-remove{background:none!important;border:none!important;color:var(--cp-error)!important;cursor:pointer!important;font-size:18px!important;padding:4px!important;line-height:1!important;border-radius:4px!important;transition:background .15s!important;margin:0!important;box-shadow:none!important;min-width:0!important;min-height:0!important;width:auto!important;height:auto!important}
#certpro-form-root .cp-file-remove:hover{background:#fee2e2!important}

/* Summary panel */
#certpro-form-root .cp-summary-panel{position:sticky!important;top:24px!important;background:var(--cp-card-bg)!important;border:1px solid var(--cp-card-border)!important;border-radius:var(--cp-radius)!important;padding:24px!important;box-shadow:0 1px 3px rgba(0,0,0,.04)!important;margin:0!important}
#certpro-form-root .cp-summary-panel h3{font-size:18px!important;font-weight:700!important;margin:0 0 16px 0!important;padding:0 0 12px 0!important;border-bottom:1px solid var(--cp-divider)!important;border-top:none!important;border-left:none!important;border-right:none!important;color:var(--cp-text)!important;line-height:1.3!important;background:transparent!important;text-transform:none!important;letter-spacing:normal!important;font-family:inherit!important}
#certpro-form-root .cp-summary-row{display:flex!important;justify-content:space-between!important;padding:8px 0!important;font-size:14px!important;border:none!important;margin:0!important;background:transparent!important}
#certpro-form-root .cp-summary-row .cp-sum-label{color:var(--cp-text-muted)!important;font-weight:400!important}
#certpro-form-root .cp-summary-row .cp-sum-value{font-weight:500!important;color:var(--cp-text)!important;text-align:right!important;max-width:60%!important;word-break:break-word!important}
#certpro-form-root .cp-summary-divider{height:1px!important;background:var(--cp-divider)!important;margin:8px 0!important;border:none!important;padding:0!important}
#certpro-form-root .cp-summary-total{display:flex!important;justify-content:space-between!important;padding:12px 0 0!important;font-size:18px!important;font-weight:700!important;border:none!important;margin:0!important;background:transparent!important}
#certpro-form-root .cp-summary-total .cp-sum-value{color:var(--cp-accent)!important;font-weight:700!important}

/* Mobile summary */
#certpro-form-root .cp-summary-toggle{display:none!important;width:100%!important;background:var(--cp-primary)!important;color:#fff!important;border:none!important;border-radius:var(--cp-radius-lg)!important;padding:12px!important;font-size:15px!important;font-weight:600!important;cursor:pointer!important;margin-bottom:12px!important;font-family:inherit!important;box-shadow:none!important;text-align:left!important;line-height:1.4!important}
@media(max-width:768px){#certpro-form-root .cp-summary-toggle{display:flex!important;justify-content:space-between!important;align-items:center!important}#certpro-form-root .cp-summary-panel{position:static!important}#certpro-form-root .cp-summary-content{display:none!important}#certpro-form-root .cp-summary-content.open{display:block!important}}

/* Buttons */
#certpro-form-root .cp-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:12px 28px!important;border-radius:var(--cp-radius-lg)!important;font-size:15px!important;font-weight:600!important;font-family:inherit!important;cursor:pointer!important;transition:all .2s!important;border:none!important;line-height:1.4!important;text-decoration:none!important;box-shadow:none!important;text-transform:none!important;letter-spacing:normal!important;min-height:0!important;height:auto!important;width:auto!important}
#certpro-form-root .cp-btn-primary{background:var(--cp-primary)!important;color:#fff!important}
#certpro-form-root .cp-btn-primary:hover{background:var(--cp-primary-hover)!important;transform:translateY(-1px)!important;box-shadow:0 4px 12px rgba(0,0,0,.15)!important;color:#fff!important}
#certpro-form-root .cp-btn-primary:disabled{opacity:.5!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}
#certpro-form-root .cp-btn-secondary{background:#f3f4f6!important;color:var(--cp-text-label)!important;border:1px solid var(--cp-input-border)!important}
#certpro-form-root .cp-btn-secondary:hover{background:#e5e7eb!important;color:var(--cp-text-label)!important}
#certpro-form-root .cp-btn-pay{background:var(--cp-accent)!important;color:#fff!important;width:100%!important;padding:14px!important;font-size:16px!important}
#certpro-form-root .cp-btn-pay:hover{background:var(--cp-accent-hover)!important;color:#fff!important}
#certpro-form-root .cp-btn-row{display:flex!important;gap:12px!important;margin-top:24px!important;padding:0!important;border:none!important;background:transparent!important}

/* Select */
#certpro-form-root .cp-field select{-webkit-appearance:none!important;appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:12px 7px!important;padding-right:36px!important;background-color:var(--cp-input-bg)!important}

/* Region */
#certpro-form-root .cp-region-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important;gap:10px!important;border:none!important;padding:0!important;margin:0!important;background:transparent!important}
#certpro-form-root .cp-region-card{border:1.5px solid var(--cp-input-border)!important;border-radius:var(--cp-radius-lg)!important;padding:12px 14px!important;cursor:pointer!important;text-align:center!important;font-size:14px!important;font-weight:500!important;transition:all .2s!important;background:var(--cp-card-bg)!important;margin:0!important;box-shadow:none!important;color:var(--cp-text)!important;line-height:1.4!important}
#certpro-form-root .cp-region-card:hover{border-color:#9ca3af!important}
#certpro-form-root .cp-region-card.selected{border-color:var(--cp-primary)!important;background:var(--cp-selected-bg)!important;box-shadow:0 0 0 3px var(--cp-primary-soft)!important}
#certpro-form-root .cp-region-card input{display:none!important}

/* Spinner */
#certpro-form-root .cp-spinner{display:inline-block!important;width:18px!important;height:18px!important;border:2px solid rgba(255,255,255,.3)!important;border-top-color:#fff!important;border-radius:50%!important;animation:cpSpin .6s linear infinite!important;padding:0!important;margin:0!important;background:transparent!important}
@keyframes cpSpin{to{transform:rotate(360deg)}}

/* Success */
#certpro-form-root .cp-success{text-align:center!important;padding:48px 20px!important;border:none!important;margin:0!important;background:transparent!important}
#certpro-form-root .cp-success-icon{width:72px!important;height:72px!important;background:var(--cp-accent-soft)!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0 auto 20px!important;font-size:36px!important;color:var(--cp-accent)!important;line-height:1!important;border:none!important;padding:0!important}
#certpro-form-root .cp-success h2{font-size:26px!important;margin:0 0 8px 0!important;color:var(--cp-text)!important;font-weight:700!important;line-height:1.3!important;border:none!important;padding:0!important;background:transparent!important}
#certpro-form-root .cp-success p{color:var(--cp-text-muted)!important;font-size:16px!important;line-height:1.5!important;margin:0!important;padding:0!important;border:none!important;font-weight:400!important}
#certpro-form-root .cp-success-details{background:var(--cp-file-bg)!important;border:1px solid var(--cp-card-border)!important;border-radius:var(--cp-radius)!important;padding:24px!important;margin-top:24px!important;text-align:left!important;max-width:500px!important;display:inline-block!important;width:100%!important;box-shadow:none!important}

/* Animations */
#certpro-form-root .cp-fade-in{animation:cpFadeIn .3s ease!important}
@keyframes cpFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* Document type */
#certpro-form-root .cp-field .cp-custom-type{margin-top:10px!important}

/* Resets */
#certpro-form-root a{color:var(--cp-primary)!important;text-decoration:none!important;border:none!important;box-shadow:none!important;background:transparent!important}
#certpro-form-root a:hover{text-decoration:underline!important}
#certpro-form-root p{margin:0!important;padding:0!important;font-size:inherit!important;line-height:inherit!important}
#certpro-form-root ul,#certpro-form-root ol{list-style:none!important;margin:0!important;padding:0!important}
#certpro-form-root img{max-width:100%!important;height:auto!important;border:none!important;box-shadow:none!important}
