/* Fenêtres de contribution et de profil : portée explicite, hors administration.
   Les états et handlers historiques restent dans leurs modules respectifs. */
.j-form-overlay {
  --j-display-font: 'Barlow Condensed', Impact, 'Arial Narrow', sans-serif;
  --text-orange: var(--j-text-accent);
  --burnt-orange: var(--j-text-accent);
  box-sizing: border-box;
  padding: .75rem;
  background: rgba(6, 10, 16, .8);
}
.j-form-overlay .j-form-panel {
  width: 100%; max-width: 34rem; min-width: 0;
  max-height: calc(100dvh - 1.5rem); overflow: auto; overscroll-behavior: contain;
  padding: 3.4rem 1rem 1.25rem !important;
  background: var(--j-surface); color: var(--j-text);
  border: 1px solid var(--j-line); border-radius: var(--j-radius);
  box-shadow: 0 1rem 3rem #0006; text-align: left;
  scrollbar-color: var(--j-line) var(--j-surface);
}
.j-form-overlay .j-form-panel :is(h3,.claim-modal-title) {
  font: italic 800 clamp(1.65rem, 5vw, 2rem)/1.08 var(--j-display-font) !important;
  color: var(--j-text) !important; text-transform: uppercase;
}
.j-form-overlay .j-form-panel p { line-height: 1.5 !important; }
.j-form-overlay :is(.modal-close-btn,.claim-modal-close) {
  top: .5rem; right: .5rem; width: var(--j-touch); height: var(--j-touch);
  display: grid; place-items: center; padding: 0 !important;
  background: var(--j-surface-raised) !important; color: var(--j-text) !important;
  border: 1px solid var(--j-line) !important; border-radius: var(--j-radius);
  font: 1.6rem/1 var(--j-body-font); box-shadow: none;
}
.j-form-overlay :is(button,input,select,textarea) { min-width: 0; max-width: 100%; }
.j-form-overlay :is(input,select,textarea) {
  box-sizing: border-box; font-size: 1rem !important; min-height: var(--j-touch);
  border-radius: var(--j-radius) !important; border-color: var(--j-line) !important;
  background: var(--j-surface-raised); color: var(--j-text);
}
.j-form-overlay textarea { resize: vertical; }
.j-form-overlay input[type=file] { padding: .5rem; }
.j-form-overlay input[type=file]::file-selector-button {
  border: 0; padding: .65rem .5rem; margin-right: .4rem;
  background: var(--j-action); color: var(--j-action-text); font: inherit;
}
.j-form-overlay :is(input,textarea)::placeholder { color: var(--j-muted); opacity: .8; }
.j-form-overlay :is(.dashboard-label,label) { color: var(--j-text-accent) !important; line-height: 1.4; }
.j-form-overlay button {
  min-height: var(--j-touch); white-space: normal;
  font-family: var(--j-body-font); line-height: 1.3;
  border-radius: var(--j-radius); box-shadow: none !important;
}
.j-form-overlay :is(.dashboard-btn-orange,.btn-google-link,.btn-google-claim,#btnSubmitUgcPro) {
  background: var(--j-action) !important; color: var(--j-action-text) !important;
  border: 1px solid var(--j-action) !important; padding: .75rem !important;
}
.j-form-overlay :is(button,a,input,select,textarea):focus-visible {
  outline: 2px solid var(--j-text); outline-offset: 3px;
}
.j-form-overlay .j-form-grid { grid-template-columns: minmax(0,1fr) !important; gap: .9rem !important; }
.j-form-overlay .j-form-grid > * { min-width: 0; }
.j-form-overlay .j-form-note {
  background: var(--j-surface-raised) !important; border: 1px solid var(--j-line) !important;
  border-radius: var(--j-radius) !important;
}
.j-form-overlay .modal-tabs {
  padding: .25rem; gap: .25rem; background: var(--j-surface-raised);
  border: 1px solid var(--j-line); border-radius: var(--j-radius);
}
.j-form-overlay .modal-tab-btn { padding: .45rem .2rem; font-size: .82rem; color: var(--j-text); }
.j-form-overlay .modal-tab-btn.active { background: var(--j-action); color: var(--j-action-text); }
.j-form-overlay .intensity-row { flex-direction: column; align-items: stretch; gap: .4rem; padding-block: .65rem; }
.j-form-overlay .intensity-selector-pills { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .35rem; }
.j-form-overlay .intensity-pill {
  width: 100%; background: var(--j-surface-raised); color: var(--j-text);
  border: 1px solid var(--j-line);
}
.j-form-overlay .intensity-pill.active { background: var(--j-action) !important; color: var(--j-action-text) !important; border-color: var(--j-action); }
@media (min-width: 30rem) {
  .j-form-overlay .j-form-panel { padding: 3.4rem 1.5rem 1.5rem !important; }
  .j-form-overlay .j-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .j-form-overlay .intensity-row { flex-direction: row; align-items: center; }
  .j-form-overlay .intensity-selector-pills { flex: 0 0 12rem; }
}
