/* Professional form styling that inherits theme fonts */
.certi-form{max-width:720px;margin:2rem auto;font-family:inherit;background:var(--certi-bg,#fff);box-shadow:0 6px 20px rgba(27,31,35,.05);border-radius:10px;padding:1.5rem}
.certi-card{padding:1.25rem}
.certi-legend{font-size:1.1rem;font-weight:700;margin-bottom:.5rem}
.certi-row{margin-bottom:1rem}
.certi-row label{display:block;font-weight:600;margin-bottom:.35rem;color:var(--certi-label,#222)}
.certi-input{box-sizing:border-box;width:100%;padding:.6rem;border:1px solid #e2e8f0;border-radius:8px;background:transparent;font-size:1rem;min-height:44px;line-height:1.4}
.certi-input:focus{outline:none;box-shadow:0 0 0 3px rgba(0,115,170,.12);border-color:var(--certi-primary,#0073aa)}

/* Improve native select appearance and ensure it doesn't render cropped */
select.certi-input{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#6b7280 50%),linear-gradient(135deg,#6b7280 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 13px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2.5rem}

/* Small tweak for smaller screens */
@media (max-width:520px){select.certi-input{padding-right:2rem}}
.certi-actions{display:flex;align-items:center;gap:.75rem;margin-top:1rem}
.certi-btn{background:var(--certi-primary,#0073aa);color:#fff;border:none;padding:.65rem 1rem;border-radius:8px;cursor:pointer;font-weight:600}
.certi-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.2);border-top-color:rgba(255,255,255,.9);border-radius:50%;display:none}
.certi-notice{margin-bottom:1rem;padding:.6rem 1rem;border-radius:6px}
.certi-notice.success{background:#e6ffef;color:#064e3b;border:1px solid #bbf7d0}
.certi-notice.error{background:#fff1f2;color:#7f1d1d;border:1px solid #fecaca}
.certi-error-summary{display:none;margin-bottom:1rem;padding:.8rem;border-radius:6px;background:#fff1f2;color:#7f1d1d}
.certi-preview{max-width:120px;max-height:120px;border-radius:6px;display:block;margin-top:.5rem}
.certi-consent label{font-weight:400}

/* Persistent progress container for uploads when Bootstrap is enabled. */
#certi-persistent-progress .certi-progress{background:#fff;padding:8px;border:1px solid #eef2f7;border-radius:6px}
#certi-persistent-progress .progress{height:8px}
#certi-persistent-progress .certi-progress-text{font-size:.85rem;color:#374151}
#photo-preview img.certi-preview{max-width:200px}

/* required asterisk style for important fields */
.certi-required{color:#c62828;font-weight:700;margin-left:.35rem;font-size:1.05em;vertical-align:middle}

@media (max-width:520px){.certi-form{padding:1rem}}
