/* ── Hero Tools Shared Styles ──────────────────────────────────── */

/* Fix native date/time input icons invisible on dark backgrounds */
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  filter: invert(0.7);
}

/* Serif heading — used for main section titles across all Hero Tools */
.hero-heading-serif {
  font-family: 'Instrument Serif', Georgia, 'Times New Roman', serif;
  font-weight: 400;
  letter-spacing: -0.01em;
}

/* Gradient accent line — replaces flat border-t as a section divider */
.hero-accent-line {
  height: 1px;
}

.hero-accent-line--sky {
  background: linear-gradient(90deg, transparent, rgba(56, 189, 248, 0.3) 30%, rgba(251, 191, 36, 0.2) 70%, transparent);
}

.hero-accent-line--cyan {
  background: linear-gradient(90deg, transparent, rgba(24, 190, 232, 0.3) 30%, rgba(16, 185, 129, 0.2) 70%, transparent);
}

/* Grain texture overlay for organic depth */
.hero-grain::after {
  content: '';
  position: fixed;
  inset: 0;
  opacity: 0.022;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 9999;
  mix-blend-mode: overlay;
}

/* Step card hover lift */
.hero-step-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hero-step-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 30px -8px rgba(0, 0, 0, 0.3);
}

/* ── CFO Hero Specific ────────────────────────────────────────── */

/* Animated glow for upload dropzone — draws eye to primary action */
@keyframes cfo-dropzone-breathe {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(56, 189, 248, 0), 0 0 20px -8px rgba(56, 189, 248, 0);
    border-color: rgb(51, 65, 85);
  }
  50% {
    box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.12), 0 0 40px -4px rgba(56, 189, 248, 0.08);
    border-color: rgba(56, 189, 248, 0.35);
  }
}

.cfo-dropzone-glow {
  animation: cfo-dropzone-breathe 4s ease-in-out infinite;
}

.cfo-dropzone-glow:hover {
  animation: none;
  box-shadow: 0 0 0 2px rgba(56, 189, 248, 0.2), 0 0 60px -4px rgba(56, 189, 248, 0.12);
  border-color: rgba(56, 189, 248, 0.5) !important;
}
