/*
 * Neavo — visual-only tokens (no layout / spacing / structure changes).
 * Excludes Privacy/Terms legal pages.
 */

/* Popup open animation only */
@keyframes neavo-popup-in{
  from{ opacity:0; transform:translate3d(0, 10px, 0) scale(0.985); }
  to{ opacity:1; transform:translate3d(0, 0, 0) scale(1); }
}

#settingsModal:not(.hidden) > .settings,
#authModal:not(.hidden) > .settings,
#deleteAccountConfirmModal:not(.hidden) > .sheet,
#premiumNudge:not(.hidden) > .sheet,
#ageGate:not(.hidden) > .sheet,
#cropperModal:not(.hidden) > .cropper-sheet,
#reportModal:not(.hidden) .report-sheet{
  animation:neavo-popup-in var(--neavo-dur-popup) var(--neavo-ease-out) both;
}

#profileOverlay.neavo-bottom-sheet > .overlay{
  transition:transform var(--neavo-dur-popup) var(--neavo-ease-out), opacity var(--neavo-dur-popup) var(--neavo-ease-out);
}
#profileOverlay.neavo-bottom-sheet.neavo-sheet-visible > .overlay{
  transition:transform var(--neavo-dur-popup) var(--neavo-ease-out), opacity var(--neavo-dur-popup) var(--neavo-ease-out);
}

@media (prefers-reduced-motion: reduce){
  #settingsModal:not(.hidden) > .settings,
  #authModal:not(.hidden) > .settings,
  #deleteAccountConfirmModal:not(.hidden) > .sheet,
  #premiumNudge:not(.hidden) > .sheet,
  #ageGate:not(.hidden) > .sheet,
  #cropperModal:not(.hidden) > .cropper-sheet,
  #reportModal:not(.hidden) .report-sheet{
    animation:none;
  }
}

/* Primary purple actions — paint only (not links, not social, not danger) */
.btn.primary,
#settingsModal .btn.primary,
#authModal .btn.primary,
#deleteAccountConfirmModal .btn.primary,
#premiumNudge .btn.primary,
#ageGate .btn.primary,
#cropperModal .btn.primary,
#profileOverlay .btn.primary,
#reportModal .btn.primary,
#settingsModal .page[data-page="subscription"] .sub-premium-promo__cta,
#btnSaveProfile.btn.primary{
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  text-align:center;
  padding-top:0;
  padding-bottom:0;
  border:1px solid rgba(168, 148, 255, 0.4);
  background:linear-gradient(135deg, rgba(142, 119, 255, 0.96) 0%, rgba(108, 82, 235, 0.94) 52%, rgba(124, 92, 255, 0.92) 100%);
  color:#fff;
  font-size:15px;
  font-weight:700;
  border-radius:16px;
  box-shadow:0 1px 0 rgba(255, 255, 255, 0.12) inset, 0 10px 24px rgba(74, 52, 180, 0.3);
}

@media (hover:hover){
  #settingsModal .btn.primary:hover:not(:disabled),
  #authModal .btn.primary:hover:not(:disabled),
  #reportModal .btn.primary:hover:not(:disabled),
  #settingsModal .page[data-page="subscription"] .sub-premium-promo__cta:hover:not(:disabled),
  #btnSaveProfile.btn.primary:hover:not(:disabled){
    border-color:rgba(186, 168, 255, 0.48);
    filter:brightness(1.04);
  }
}

#settingsModal .btn.primary:active:not(:disabled),
#authModal .btn.primary:active:not(:disabled),
#reportModal .btn.primary:active:not(:disabled),
#settingsModal .page[data-page="subscription"] .sub-premium-promo__cta:active:not(:disabled),
#btnSaveProfile.btn.primary:active:not(:disabled){
  transform:scale(0.98);
  opacity:0.94;
}

#settingsModal .btn.primary:disabled,
#authModal .btn.primary:disabled,
#reportModal .btn.primary:disabled{
  opacity:0.5;
  cursor:not-allowed;
}

/* Text fields — border, placeholder, focus, radius only (sizes unchanged) */
#settingsModal .field input,
#settingsModal .field select,
#settingsModal .field textarea,
#authModal .field input,
#authModal .field select,
#authModal .field textarea,
#authModal .input,
#reportModal .input,
#reportModal .textarea,
#reportNote,
#simpleReportMessage{
  border-radius:16px;
  border-color:rgba(255, 255, 255, 0.12);
  transition:border-color var(--neavo-dur-fast) var(--neavo-ease-out), box-shadow var(--neavo-dur-fast) var(--neavo-ease-out);
}

#settingsModal .field input::placeholder,
#settingsModal .field textarea::placeholder,
#authModal .field input::placeholder,
#authModal .field textarea::placeholder,
#authModal .input::placeholder,
#reportModal .input::placeholder,
#reportModal .textarea::placeholder,
#reportNote::placeholder{
  color:rgba(255, 255, 255, 0.42);
}

#settingsModal .field input:focus,
#settingsModal .field select:focus,
#settingsModal .field textarea:focus,
#authModal .field input:focus,
#authModal .field select:focus,
#authModal .field textarea:focus,
#authModal .input:focus,
#reportModal .input:focus,
#reportModal .textarea:focus,
#reportNote:focus,
#simpleReportMessage:focus{
  border-color:rgba(124, 92, 255, 0.45);
  box-shadow:0 0 0 3px rgba(124, 92, 255, 0.14);
  outline:none;
}

/* Header titles — single line when possible (no header layout changes) */
.settings-top .settings-title,
#authModal .settings-title,
.report-header h2,
.cropper-sheet .sheet-head h2{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
