/* GMT (team 49807) PUBLIC interface pages — evals, screening authorization, reference form,
   registration flow, participant form, event-closed. Scoped under .gmt-public so nothing leaks
   into the paywall or the GMT portals. Mirrors interfaces/gmt/_gmt.css (the WebForms stylesheet):
   Inter body, Anton 48px blue h1, GMT blue #3E55FF / red #EB4149 palette, the .checkbox/.radio
   custom-check pattern, .form-field sizing, .side-box, .border-all, breadcrumbs.
   PLAIN (non-fingerprinted) link — bump the ?v= cache-buster on EVERY edit. */

.gmt-public{--gmtp-blue:#3E55FF; --gmtp-blue-hover:#5C6FFD; --gmtp-red:#EB4149; --color-primary:#3E55FF; --color-secondary:#3E55FF; --color-tertiary:#EB4149; --color-rfv:#EB4149; --color-links:#3E55FF; --color-links-hover:#EB4149; --color-buttons:#3E55FF; --color-buttons-hover:#5C6FFD; --color-buttons-text:#FFFFFF; --color-buttons-text-hover:#FFFFFF; font-family:'Inter',sans-serif; color:#464646; background:#FFF; min-height:100vh}
.gmt-public h1{font-family:'Anton',sans-serif; font-size:48px; color:var(--gmtp-blue)}
.gmt-public h2{font-family:'Inter',sans-serif; font-size:22px; font-weight:bold; color:var(--gmtp-blue)}
.gmt-public h3{font-family:'Anton',sans-serif; font-size:30px; color:var(--gmtp-blue)}
.gmt-public p{color:#2F3035}
.gmt-public .primary{color:var(--gmtp-blue)}
.gmt-public .secondary{color:var(--gmtp-blue)}
.gmt-public .tertiary{color:var(--gmtp-red)}
.gmt-public .orange{color:#FF4A11 !important}
.gmt-public .black{color:#000}
.gmt-public .gray{color:#2F3035}
.gmt-public .light{color:#CCC}
.gmt-public .red{color:var(--gmtp-red) !important}
.gmt-public .white{color:#FFF !important}
.gmt-public .purple{color:#800080}
.gmt-public .bold{font-weight:bold}
.gmt-public .font-70{font-size:70%}
.gmt-public .font-75{font-size:75%}
.gmt-public .font-90{font-size:90%}
.gmt-public .font-110{font-size:110%}
.gmt-public .font-120{font-size:120%}

.gmt-public .form-field{font-family:'Inter',sans-serif; font-size:.80em; margin-bottom:2rem}
.gmt-public .form-field .form-control, .gmt-public .form-field textarea, .gmt-public .form-field input[type="text"], .gmt-public .form-field input[type="email"], .gmt-public .form-field input[type="password"], .gmt-public .form-field input[type="tel"]{font-family:'Inter',sans-serif !important; font-size:12px !important; font-weight:500 !important}
.gmt-public .rfv-note{font-size:.85em; color:var(--gmtp-red); font-weight:bold}
.gmt-public .border-all{border:solid 1px #CCC !important; margin:.20%; padding:1% !important}
.gmt-public .border-top{border-top:solid 1px #CCC !important; padding-top:3px !important}
.gmt-public .side-box{padding:1.25rem; border:1px solid #ACBDC9; border-radius:2px 2px 0 0; margin-bottom:1rem}
.gmt-public a.link{color:var(--gmtp-blue); text-decoration:underline; font-weight:bold}
.gmt-public a.link:hover{color:var(--gmtp-blue); text-decoration:underline; font-weight:bold}
.gmt-public .dashed-line-top{border-top:dashed 5px #EB9532}

/* Buttons — GMT blue, hover lighter blue (matches _gmt.css --color-buttons / .btn-blue). The
   app.css !important .btn catch-all reads var(--color-buttons), redefined in the scope above,
   so Bootstrap-classed buttons land GMT blue too. */
.gmt-public .btn-primary, .gmt-public .btn-blue{background:var(--gmtp-blue) !important; border-color:var(--gmtp-blue) !important; color:#FFF !important; font-family:'Inter',sans-serif}
.gmt-public .btn-primary:hover, .gmt-public .btn-blue:hover{background:var(--gmtp-blue-hover) !important; border-color:var(--gmtp-blue-hover) !important; color:#FFF !important}
.gmt-public .btn:disabled{opacity:.65}

/* Custom checkbox/radio (the .cr check pattern from _gmt.css) */
.gmt-public .checkbox label:after, .gmt-public .radio label:after{content:''; display:table; clear:both}
.gmt-public .checkbox .cr, .gmt-public .radio .cr{position:relative; display:inline-block; border:1px solid #646464; border-radius:.25em; width:1.3em; height:1.25em; float:left; margin-right:.5em; background:#FFF}
.gmt-public .radio .cr{border-radius:50%}
.gmt-public .checkbox .cr .cr-icon, .gmt-public .radio .cr .cr-icon{position:absolute; font-size:1.2em; line-height:0; top:55%; left:5%}
.gmt-public .checkbox label input[type="checkbox"], .gmt-public .radio label input[type="radio"]{display:none}
.gmt-public .checkbox label input[type="checkbox"] + .cr > .cr-icon, .gmt-public .radio label input[type="radio"] + .cr > .cr-icon{transform:scale(3) rotateZ(-10deg); opacity:0; transition:all .2s ease-in}
.gmt-public .checkbox label input[type="checkbox"]:checked + .cr > .cr-icon, .gmt-public .radio label input[type="radio"]:checked + .cr > .cr-icon{transform:scale(1) rotateZ(0deg); opacity:1}
.gmt-public .checkbox label, .gmt-public .radio label{cursor:pointer}

/* Simple select styling (native selects on these public forms mirror the WebForms RadComboBox look) */
.gmt-public select.gmtp-select{display:block; width:100%; border:1px solid #CCC; border-radius:4px; padding:6px 4px; font-family:'Inter',sans-serif; font-size:13px; font-weight:bold; color:#000; background:#FFF}

/* Header chrome (blue GMT logo bar + phone, mirrors _gmt.master) */
.gmt-public .gmtp-header{display:flex; flex-wrap:nowrap; justify-content:space-between; align-items:center; height:79px; border-bottom:solid 1px #ACBDC9; padding:0}
.gmt-public .gmtp-header-logo{height:79px; margin-left:5%}
.gmt-public .gmtp-header-phone{margin-right:5%; font-size:14px; color:#464646}

/* Breadcrumbs (participant form wizard) */
.gmt-public .breadcrumbs{list-style:none; display:inline-block; padding-left:0}
.gmt-public .breadcrumbs li{float:left; color:#CCC; background:#F1F1F1; position:relative; height:40px; line-height:40px; padding:0 10px 0 5px; text-align:center; margin-right:23px; font-size:.85em}
.gmt-public .breadcrumbs li:first-child{padding-left:15px; border-radius:4px 0 0 4px}
.gmt-public .breadcrumbs li:first-child:before{border:none}
.gmt-public .breadcrumbs li:last-child{padding-right:15px; border-radius:0 4px 4px 0}
.gmt-public .breadcrumbs li:last-child:after{border:none}
.gmt-public .breadcrumbs li:before, .gmt-public .breadcrumbs li:after{content:""; position:absolute; top:0; border:0 solid #F1F1F1; border-width:20px 10px; width:0; height:0}
.gmt-public .breadcrumbs li:before{left:-20px; border-left-color:transparent}
.gmt-public .breadcrumbs li:after{left:100%; border-color:transparent; border-left-color:#F1F1F1}
.gmt-public .breadcrumbs li.active{background-color:var(--gmtp-blue); color:#FFF}
.gmt-public .breadcrumbs li.active:before{border-color:var(--gmtp-blue); border-left-color:transparent}
.gmt-public .breadcrumbs li.active:after{border-left-color:var(--gmtp-blue)}

/* Stripe payment element frame + receipt rows */
.gmt-public .gmtp-stripe-frame{border:1px solid #CCC; border-radius:4px; padding:1rem; background:#FFF}
.gmt-public .gmtp-receipt-cell{border:1px solid #6c757d; font-weight:bold; padding:.25rem .5rem}

/* Modal (constituent search) */
.gmt-public .gmtp-modal-backdrop{position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:10000; display:flex; align-items:center; justify-content:center}
.gmt-public .gmtp-modal{background:#FFF; max-width:700px; width:92vw; max-height:85vh; overflow-y:auto; border-radius:6px; padding:1.25rem}
.gmt-public .gmtp-modal table{width:100%; font-size:.85em}
.gmt-public .gmtp-modal th{border-bottom:2px solid var(--gmtp-blue); color:#4A3C3B; font-size:12px; text-align:left; padding:.35rem}
.gmt-public .gmtp-modal td{border-bottom:1px solid #EEE; padding:.35rem; font-size:12px}

/* Progress spinner */
.gmt-public .spinner-border.primary{color:var(--gmtp-blue)}
