.pf-label { font-weight:600; font-size:0.88rem; margin-bottom:6px; display:block; }
.pf-label sup { color:#dc3545; }
.pf-field { position:relative; }
.pf-field > i { position:absolute; left:15px; top:50%; transform:translateY(-50%); color:var(--text-muted); font-size:0.88rem; pointer-events:none; }
.pf-field > input { border:2px solid var(--border); border-radius:12px; padding:12px 16px 12px 40px; font-size:0.95rem; width:100%; outline:none; transition:border-color 0.2s, box-shadow 0.2s; }
#volFormFields input:focus, #volFormFields select:focus, #volFormFields textarea:focus { border-color:var(--primary) !important; box-shadow:0 0 0 3px rgba(0,126,63,0.1); }
#volFormFields input.invalid, #volFormFields select.invalid { border-color:#dc3545 !important; }
#volFormFields label.invalid, .pf-error { color:#dc3545; font-size:0.78rem; font-weight:500; margin-top:5px; display:block; }
/* Select2 (State) — sized/rounded to match the other form controls. */
#volFormFields .select2-container { width:100% !important; }
#volFormFields .select2-container--default .select2-selection--single { height:48px; border:2px solid var(--border); border-radius:12px; }
#volFormFields .select2-container--default .select2-selection--single .select2-selection__rendered { line-height:44px; padding-left:16px; font-size:0.95rem; color:inherit; }
#volFormFields .select2-container--default .select2-selection--single .select2-selection__arrow { height:44px; right:8px; }
#volFormFields .select2-container--default.select2-container--focus .select2-selection--single,
#volFormFields .select2-container--default.select2-container--open .select2-selection--single { border-color:var(--primary); }
/* Select2 boxes show the red error border when their hidden <select> is flagged invalid. */
#volFormFields select.invalid + .select2-container .select2-selection { border-color:#dc3545 !important; }
/* Select2 multi-select (Area of Interest) */
#volFormFields .select2-container--default .select2-selection--multiple { min-height:48px; border:2px solid var(--border); border-radius:12px; padding:3px 8px 6px; }
#volFormFields .select2-container--default.select2-container--focus .select2-selection--multiple,
#volFormFields .select2-container--default.select2-container--open .select2-selection--multiple { border-color:var(--primary); }
#volFormFields .select2-container--default .select2-selection--multiple .select2-selection__choice { background:var(--primary-light); border:1px solid var(--primary); color:var(--primary-dark); border-radius:14px; padding:1px 10px; margin-top:6px; font-size:0.85rem; }
#volFormFields .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { color:var(--primary-dark); margin-right:6px; }
#volFormFields .select2-container--default .select2-search--inline .select2-search__field { margin-top:8px; font-size:0.95rem; }
/* The dropdown panel is appended to <body> (outside #volFormFields), so these are unscoped.
   Search box inside the State dropdown: plain light input instead of the browser's heavy focus ring. */
.select2-container--default .select2-search--dropdown { padding:8px; }
.select2-container--default .select2-search--dropdown .select2-search__field { border:1px solid var(--border); border-radius:8px; padding:8px 12px; font-size:0.9rem; outline:none; box-shadow:none; }
.select2-container--default .select2-search--dropdown .select2-search__field:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(0,126,63,0.1); outline:none; }
.select2-container--open { z-index:2000; }
.pf-submit-btn { background:var(--primary); color:#fff; border:none; border-radius:25px; padding:11px; font-size:0.9rem; font-weight:700; width:100%; cursor:pointer; transition:all 0.22s ease; box-shadow:0 6px 16px rgba(0,126,63,0.28); }
.pf-submit-btn:hover { transform:translateY(-2px); box-shadow:0 10px 22px rgba(0,126,63,0.38); }
