/*!
 * im-pages.css - CC-02b Wave 1 page-shared styles
 *
 * Receives page-specific CSS that was duplicated across multiple Wave-1
 * files but is too page-shaped for the .im-* primitive library. Loaded
 * AFTER im-components.css. Single source of truth for surface conventions.
 *
 * Discussion: DOCS/INDIANMARRIAGE/discussions/CC-02b-wave1.md
 */

/* Generic card-hover utility — 50+ pages used a per-page custom-named class
   for the same effect. */
.im-page-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.im-page-card:hover {
  transform: translateY(-0.125rem);
  box-shadow: 0 0.625rem 1.5625rem -0.3125rem rgba(0, 0, 0, 0.1);
}
.dark .im-page-card:hover {
  box-shadow: 0 0.625rem 1.5625rem rgba(0, 0, 0, 0.3);
}

/* Section-header scroll margin (TOC anchors, common in legal pages) */
.im-section-header,
.section-header {
  scroll-margin-top: 6.25rem;
}

/* Animations that pages reach for. Re-aliased to im-* keyframes so that
   when CC-02a fully lands and we drop the legacy aliases, single grep finds
   all consumers. */
.im-anim-fade-in {
  animation: im-modal-fade 0.6s ease-out;
}
.im-anim-slide-up {
  animation: im-modal-rise 0.7s ease-out;
}

/* Generic gradient brand badge */
.im-badge-brand {
  background: linear-gradient(135deg, var(--marriage-gold), var(--marriage-gold-700));
  color: #ffffff;
}
.im-badge-success {
  background: linear-gradient(135deg, var(--color-success), #059669);
  color: #ffffff;
}
.im-badge-info {
  background: linear-gradient(135deg, var(--color-info), #2563eb);
  color: #ffffff;
}

/* Step indicator (used in profile-creation, legal-documentation, etc.) */
.im-step-indicator {
  transition: transform 0.3s ease, background-color 0.3s ease;
}
.im-step-indicator.is-active,
.im-step-indicator.active {
  transform: scale(1.1);
}

/* Pulsing glow utility (legal & admin trust sections) */
.im-pulse-glow {
  animation: im-pulse-glow 2s infinite;
}
@keyframes im-pulse-glow {
  0%, 100% { box-shadow: 0 0 0.3125rem rgba(16, 185, 129, 0.5); }
  50% { box-shadow: 0 0 1.25rem rgba(16, 185, 129, 0.8); }
}

/* =============================================================================
 * Shared utilities deduplicated from migrated extracted page CSS.
 * Each pattern appeared in 5+ pages with identical or near-identical
 * declarations.
 * ===========================================================================*/

/* gradient-text: brand-color text gradient (9 hits across pages) */
.gradient-text {
  background: linear-gradient(135deg, var(--marriage-gold), var(--love-pink));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* gradient-bg: brand-color surface gradient (8 hits) */
.gradient-bg {
  background: linear-gradient(135deg, var(--love-pink), var(--marriage-gold));
}

/* card-hover: pages re-defined this — alias to .im-page-card */
.card-hover {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card-hover:hover {
  transform: translateY(-0.125rem);
  box-shadow: 0 0.625rem 1.5625rem -0.3125rem rgba(0, 0, 0, 0.1);
}

/* progress-bar / progress-ring (7 + 6 hits) */
.progress-bar {
  width: 100%;
  height: 0.5rem;
  background: var(--neutral-slate-200);
  border-radius: var(--radius-full);
  overflow: hidden;
}
.progress-bar > .progress-fill,
.progress-bar > [data-progress] {
  height: 100%;
  background: linear-gradient(90deg, var(--marriage-gold), var(--marriage-gold-700));
  transition: width 0.6s var(--ease-decelerate);
}
.progress-ring {
  transform: rotate(-90deg);
}

/* fade-in utility (6 hits) — alias to .im-anim-fade-in */
.fade-in {
  animation: im-modal-fade 0.6s ease-out;
}
