/* Keep form styles inside the plugin and restore real, focusable native choices. */
#ptr-registration { box-sizing:border-box; max-width:760px; margin:28px auto; padding:30px; background:#fff; color:#0e2335; border:1px solid #d9e0e5; border-radius:12px; box-shadow:0 4px 18px #0e233510; font-size:16px; line-height:1.5; color-scheme:light; }
#ptr-registration *, #ptr-registration *::before, #ptr-registration *::after { box-sizing:border-box; }
#ptr-registration h2 { color:#0e2335; margin:0 0 8px; }
#ptr-registration .ptr-alert { background:#edf2f5; border-left:4px solid #0e2335; padding:14px; margin:18px 0; }
#ptr-registration form { display:block; width:100%; max-width:none; margin:0; padding:0; border:0; background:transparent; }
#ptr-registration .ptr-field { margin:14px 0; }
#ptr-registration label { display:block; float:none; width:auto; font:inherit; font-weight:600; color:inherit; cursor:pointer; }
/* Crush and other themes may replace controls with hidden inputs/pseudo-elements. */
#ptr-registration label::before, #ptr-registration label::after,
#ptr-registration input::before, #ptr-registration input::after { content:none !important; display:none !important; }
#ptr-registration .ptr-field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
#ptr-registration .ptr-field select, #ptr-registration .ptr-field textarea {
 all:revert !important; box-sizing:border-box !important; display:block !important;
 width:100% !important; min-width:0 !important; max-width:100% !important;
 margin:5px 0 0 !important; padding:11px !important; border:1px solid #9daab4 !important;
 border-radius:5px !important; background:#fff !important; color:#0e2335 !important;
 font:inherit !important; font-weight:400 !important; line-height:1.5 !important;
 min-height:48px !important; height:auto !important; box-shadow:none !important;
}
#ptr-registration .ptr-field textarea { resize:vertical !important; }
#ptr-registration input[type="radio"], #ptr-registration input[type="checkbox"] {
 all:revert !important; appearance:auto !important; -webkit-appearance:auto !important;
 display:inline-block !important; visibility:visible !important; opacity:1 !important;
 position:static !important; float:none !important; transform:none !important;
 clip:auto !important; clip-path:none !important; width:20px !important; height:20px !important;
 min-width:20px !important; min-height:20px !important; max-width:none !important;
 margin:2px 0 0 !important; padding:0 !important; flex:0 0 20px !important;
 accent-color:#0e2335 !important; cursor:pointer !important; vertical-align:middle !important;
}
#ptr-registration .ptr-choice { display:flex; gap:12px; flex-wrap:wrap; margin:18px 0; padding:0; border:0; min-width:0; }
#ptr-registration .ptr-choice legend { margin:0 0 8px; padding:0; font:inherit; font-weight:600; color:inherit; }
#ptr-registration .ptr-choice label, #ptr-registration .ptr-declaration label { display:flex !important; align-items:flex-start; gap:10px; margin:0; padding:6px 0; }
#ptr-registration .ptr-btn, #ptr-registration .ptr-result { appearance:none; font:inherit; text-transform:none; letter-spacing:normal; height:auto; white-space:normal; }
#ptr-registration .ptr-btn { display:inline-block; background:#0e2335 !important; color:#fff !important; border:0 !important; padding:13px 20px !important; cursor:pointer; border-radius:5px; }
#ptr-registration .ptr-btn:disabled { opacity:.5; cursor:wait; }
#ptr-registration .ptr-results { border:1px solid #ccd4dc; border-radius:5px; max-height:220px; overflow:auto; }
#ptr-registration .ptr-results:empty { display:none; }
#ptr-registration .ptr-result { display:block; width:100%; text-align:left; padding:10px; background:#fff; color:#0e2335; border:0; border-bottom:1px solid #eee; cursor:pointer; }
#ptr-registration .ptr-result:hover { background:#edf2f5; }
#ptr-registration .ptr-hidden { display:none !important; }
#ptr-registration .ptr-feedback { margin:14px 0; font-weight:600; overflow-wrap:anywhere; }
#ptr-registration .ptr-feedback.ptr-error { color:#a11; }
#ptr-registration .ptr-logo { max-width:230px; max-height:85px; object-fit:contain; margin-bottom:15px; }
#ptr-registration .ptr-math { margin:20px 0; padding:16px; background:#f0f6f8; border-left:3px solid #0098cd; }
#ptr-registration .ptr-math-status { margin:5px 0 10px; font-size:14px; line-height:1.5; }
#ptr-registration .ptr-math-controls { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
#ptr-registration .ptr-math-answer { all:revert !important; box-sizing:border-box !important; display:block !important; width:90px !important; height:46px !important; margin:0 !important; padding:8px 10px !important; border:1px solid #9daab4 !important; border-radius:4px !important; background:#fff !important; color:#0e2335 !important; font:inherit !important; }
#ptr-registration .ptr-math-refresh { appearance:none; background:transparent; color:#082a3b; border:0; padding:8px 0; font:inherit; font-size:14px; text-decoration:underline; cursor:pointer; }
#ptr-registration .ptr-math-refresh:disabled { opacity:.5; cursor:wait; }
#ptr-registration input:focus-visible, #ptr-registration select:focus-visible,
#ptr-registration textarea:focus-visible, #ptr-registration button:focus-visible { outline:3px solid #1976b9 !important; outline-offset:3px !important; }
@media(max-width:600px) { #ptr-registration { padding:20px; margin:18px auto; } #ptr-registration .ptr-choice { flex-direction:column; } }
