@import url("https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@400;500;600;700;800&family=Poppins:wght@500;600;700;800&display=swap");

/* Visual tokens from the Brasilcol reference. The existing flow CSS keeps layout and behavior. */
:root {
  --app-purple-900: #2f5646;
  --app-purple-800: #3da55b;
  --app-purple-700: #4ab969;
  --app-purple-100: #e8f5eb;
  --app-purple-050: #f5faf6;
  --app-neutral-050: #f8faf8;
  --app-neutral-100: #f3f3f3;
  --app-neutral-200: #e5e7eb;
  --app-neutral-600: #6b7280;
  --app-neutral-900: #111827;
  --app-success: #3da55b;
  --app-focus: 0 0 0 3px rgba(74, 185, 105, 0.24);
  --font: "Hind Siliguri", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html {
  background: #f3f3f3;
}

body[data-app-screen]:not([data-app-screen="home"]) {
  --app-surface: #f5f5f5;
  --app-line: #e5e7eb;
  --app-radius-md: 16px;
  --app-radius-lg: 20px;
  color: #111827 !important;
  background: #f8faf8 !important;
  font-family: "Hind Siliguri", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body[data-app-screen] :is(button, input, select, textarea) {
  font-family: "Hind Siliguri", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body[data-app-screen] :is(h1, h2, h3, h4, h5, h6) {
  font-family: Poppins, "Hind Siliguri", sans-serif !important;
}

/* global-improvements.css forces every span to var(--font); keep inline text inside headings in the heading font. */
body[data-app-screen] :is(h1, h2, h3, h4, h5, h6) :is(span, strong, em, a, small, b) {
  font-family: inherit !important;
}

body[data-app-screen] > :is(.header, header.header, header:not(.doc-head)) {
  color: #111827 !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid #e5e7eb !important;
  box-shadow: 0 1px 0 rgba(17, 24, 39, 0.04) !important;
}

body[data-app-screen] > :is(.header, header.header, header:not(.doc-head)) :is(
  .app-back,
  .app-nav-title,
  .app-nav-step,
  .header-right,
  .user-name,
  .user-cpf,
  .user-icon-wrapper,
  svg
) {
  color: #374151 !important;
  stroke: currentColor;
}

body[data-app-screen] > :is(.header, header.header, header:not(.doc-head)) :is(
  .header-icon,
  .user-avatar,
  .user-icon-wrapper,
  .app-icon-btn
) {
  color: #374151 !important;
  background: #f3f4f6 !important;
  border-color: #e5e7eb !important;
}

body[data-app-screen] :is(.card, .sheet, .m2-content, .modal-card, .modal-content) {
  background-color: #fff !important;
}

body[data-app-screen] :is(
  .btn-cta,
  .btn-submit,
  .btn-primary,
  .btn.primary,
  .final-button,
  .modal-btn,
  .button,
  .btn-next,
  .finish-btn,
  .slider-confirm-btn,
  .m2-btn-copy,
  .m2-go-btn,
  .btn-custom,
  .btn-cred
) {
  color: #1f2937 !important;
  background: #55b46e !important;
  border-color: #55b46e !important;
  box-shadow: 0 8px 20px -8px rgba(74, 185, 105, 0.5) !important;
}

body[data-app-screen] :is(
  .btn-cta,
  .btn-submit,
  .btn-primary,
  .btn.primary,
  .final-button,
  .modal-btn,
  .button,
  .btn-next,
  .finish-btn,
  .slider-confirm-btn,
  .m2-btn-copy,
  .m2-go-btn,
  .btn-custom,
  .btn-cred
) :is(span, strong, svg) {
  color: #1f2937 !important;
  stroke: currentColor;
}

body[data-app-screen] :is(
  .btn-cta,
  .btn-submit,
  .btn-primary,
  .btn.primary,
  .final-button,
  .modal-btn,
  .button,
  .btn-next,
  .finish-btn,
  .slider-confirm-btn,
  .m2-btn-copy,
  .m2-go-btn,
  .btn-custom,
  .btn-cred
):hover {
  background: #4aa862 !important;
  border-color: #4aa862 !important;
}

body[data-app-screen] :is(button, a, input, select, textarea):focus-visible {
  outline: 3px solid rgba(74, 185, 105, 0.62) !important;
  outline-offset: 3px !important;
}

body[data-app-screen] :is(input, select, textarea):focus {
  border-color: #4ab969 !important;
  box-shadow: var(--app-focus) !important;
}

body[data-app-screen="pix"] .m2-brand img {
  content: url("../assets/brand/bom-pra-credito-logo-white.svg") !important;
}

body[data-app-screen="face"] .vf-overlay {
  background: #4ab969 url("../assets/brand/bom-pra-credito-logo-white.svg") center 34px / 132px auto no-repeat !important;
}

body[data-app-screen] :is(
  #successFeedback,
  #loadingOverlay,
  #loading,
  #loadingContainer
)::before {
  background-image: url("../assets/brand/bom-pra-credito-logo-white.svg") !important;
}

/* Icons that app.css paints white now sit on light green, so they need the brand green. */
body[data-app-screen="face"] #verifyOverlay :is(.vf-success-icon, .vf-step.done .vf-step-icon) svg {
  color: #3da55b !important;
}

body[data-app-screen="insurance"] .pre-badge svg {
  color: #3da55b !important;
  -webkit-text-fill-color: #3da55b !important;
}

body[data-app-screen="pix"] #statusError button {
  color: #1f2937 !important;
  background: #55b46e !important;
}

/* Consent banner styles are injected by js/utm-supermini.js in purple. The id selector overrides only the colors. */
#safe2pays-consent .safe2pays-consent__button {
  border-color: #55b46e !important;
}

#safe2pays-consent .safe2pays-consent__button--primary {
  color: #1f2937 !important;
  background: #55b46e !important;
}

#safe2pays-consent .safe2pays-consent__button--secondary {
  color: #2f5646 !important;
  background: #fff !important;
}

@media (prefers-reduced-motion: reduce) {
  body[data-app-screen] :is(button, a, input, select, textarea) {
    transition-duration: 0.01ms !important;
  }
}
