/*
 * routing.css — Section 2: Audience Routing Cards
 * Source: Build H-3 spec — bestyearyet.com Homepage Build Queue
 *
 * Background: --color-light-gray (visual break from hero off-white — deliberate section separation)
 * Padding: 100px 0
 * Layout: 3-column equal-width grid on desktop, single-column stacked on mobile
 *
 * Per-card accent system via CSS custom properties + :nth-child:
 *   Card 1 (For Yourself) — Red
 *   Card 2 (As a Gift)    — Gold
 *   Card 3 (For Your Team) — Purple
 *
 * Hover: colored shadow + translateY(-8px) lift
 *
 * Depends on: styles/tokens.css, styles/global.css
 */


/* ================================================================
 * SECTION WRAPPER
 * ================================================================ */

.section-routing {
  background: var(--color-light-gray);
  padding: 100px 0;
}


/* ================================================================
 * SECTION HEADER
 * ================================================================ */

.routing-header {
  margin-bottom: 52px;
}

.routing-header .section-label {
  margin-bottom: 12px;
}

.routing-header .section-headline {
  font-family: var(--font-heading);
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 700;
  color: var(--color-text-primary);
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0;
}


/* ================================================================
 * PER-CARD ACCENT SYSTEM
 * Set once on the card element; all child rules consume the var.
 * ================================================================ */

.routing-card:nth-child(1) {
  --card-accent:    var(--color-red);
  --card-icon-bg:   var(--color-red);
  --card-icon-clr:  #ffffff;
  --card-shadow:    rgba(201, 63, 47, 0.18);
}

.routing-card:nth-child(2) {
  --card-accent:    var(--color-gold-900);
  --card-icon-bg:   var(--color-gold-tint);
  --card-icon-clr:  var(--color-gold-900);
  --card-shadow:    rgba(192, 130, 14, 0.20);
}

.routing-card:nth-child(3) {
  --card-accent:    var(--color-brand-purple);
  --card-icon-bg:   var(--color-brand-purple);
  --card-icon-clr:  #ffffff;
  --card-shadow:    rgba(102, 51, 101, 0.18);
}


/* ================================================================
 * 3-COLUMN GRID
 * ================================================================ */

.routing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: stretch;   /* all cards in the row start at the same y */
  gap: 28px;
}

@media (max-width: 768px) {
  .routing-grid {
    grid-template-columns: 1fr;
  }
}


/* ================================================================
 * ROUTING CARD
 * ================================================================ */

.routing-card {
  padding: 40px 36px 36px;
  border-radius: var(--radius-card);
  border-top: 4px solid var(--card-accent);
  background: #ffffff;
  cursor: pointer;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  transition:
    transform     var(--transition-base),
    box-shadow    var(--transition-base);
}

.routing-card:hover {
  transform: translateY(-8px);
  box-shadow:
    0 28px 64px var(--card-shadow),
    0 4px 20px rgba(0, 0, 0, 0.06);
}

.routing-card:active {
  transform: translateY(-4px);
}


/* ================================================================
 * CARD ICON CONTAINER
 * ================================================================ */

.card-icon-wrap {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  background: var(--card-icon-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  flex-shrink: 0;
}

.card-icon {
  width: 28px;
  height: 28px;
  color: var(--card-icon-clr);
  display: block;
  flex-shrink: 0;
}


/* ================================================================
 * CARD CONTENT
 * ================================================================ */

.card-headline {
  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 700;
  color: var(--color-text-primary);
  margin-bottom: 12px;
  line-height: 1.2;
}

.card-body {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.65;
  color: var(--color-text-secondary);
  margin-bottom: 28px;
  flex: 1;    /* pushes .card-cta to the bottom of every card */
}

.card-cta {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 700;
  color: var(--card-accent);
  display: flex;
  align-items: center;
  gap: 6px;
  transition: gap var(--transition-fast);
}

.routing-card:hover .card-cta {
  gap: 12px;
}
