.gv-contact-file-field { margin: 0 0 1rem; }
.gv-contact-file-label { display: block; margin-bottom: .45rem; font-weight: 650; }
.gv-contact-dropzone {
  position: relative;
  padding: 1.1rem;
  border: 2px dashed #9aaa89;
  border-radius: 9px;
  background: #f7f8ef;
  text-align: center;
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.gv-contact-dropzone.is-dragging,
.gv-contact-dropzone:focus-within {
  border-color: #214f3d;
  background: #edf4e9;
  box-shadow: 0 0 0 3px rgb(33 79 61 / 12%);
}
.gv-contact-dropzone input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
}
.gv-contact-dropzone-prompt { display: flex; min-height: 3.8rem; flex-direction: column; align-items: center; justify-content: center; gap: .2rem; margin: 0!important; cursor: pointer; }
.gv-contact-dropzone-prompt strong { color: #214f3d; font-size: 1.05rem; }
.gv-contact-dropzone-prompt span { color: #536158; }
.gv-contact-dropzone-prompt .gv-contact-dropzone-or { margin-top: .3rem; }
.gv-member-contact-page > p { max-width: none!important; width: 100%; }
.gv-contact-dropzone-prompt u { text-underline-offset: .15em; }
.gv-contact-file-list { margin: .75rem 0 0!important; padding: 0!important; list-style: none!important; text-align: left; }
.gv-contact-file-list li { overflow-wrap: anywhere; padding: .35rem .55rem; border-radius: 5px; background: #fffdf7; font-size: .92rem; }
.gv-contact-file-list li + li { margin-top: .3rem; }
.gv-contact-dropzone-status { margin: .5rem 0 0!important; color: #68766b; font-size: .85rem!important; }
.gv-contact-dropzone-status.has-message { color: #92271e; font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .gv-contact-dropzone { transition: none; } }

.gv-waste-camera-action button { display:inline-block; padding:.45rem .7rem; border:1px solid #6c7d58; border-radius:5px; background:#fffdf7; color:#214f3d; font:inherit; font-size:.9rem; cursor:pointer; }
.gv-camera-dialog { position:fixed; z-index:100000; inset:0; display:flex; align-items:center; justify-content:center; padding:1rem; background:rgb(18 28 21 / 78%); }
.gv-camera-dialog-panel { width:min(100%,720px); padding:12px; border-radius:10px; background:#fffdf7; box-shadow:0 12px 40px rgb(0 0 0 / 30%); }
.gv-camera-dialog video { display:block; width:100%; max-height:72vh; object-fit:contain; border-radius:6px; background:#101010; }
.gv-camera-dialog-controls { display:flex; justify-content:flex-end; gap:8px; margin-top:10px; }
.gv-camera-dialog-controls button { padding:.55rem .85rem; border:1px solid #6c7d58; border-radius:6px; background:#fff; color:#214f3d; font:inherit; cursor:pointer; }
.gv-camera-dialog-controls button:first-child { border-color:#214f3d; background:#214f3d; color:#fff; }
