/* Homepage UI fixes (2026-11-07). Loaded on the homepage only, after eqw.min.css. */

:root { --eqw-green-text: #3a7a1f; } /* 5.3:1 on white — brand green #72BF44 is only 2.3:1 */

/* 1. Contrast: white text on bright green fails WCAG (2.3:1). Navy on green is 7.6:1. */
body.eqw-homepage .eqw-hero__btn--primary,
body.eqw-homepage .eqw-hero__btn--primary:hover,
body.eqw-homepage .eqw-mobile-bar__quote,
body.eqw-homepage .eqw-mobile-bar__quote:hover { color: var(--eqw-navy, #0f1b33); }
body.eqw-homepage .eqw-mobile-bar__wa { color: #1a7f3c; }
/* Featured price card button is navy, so it keeps white text */
body.eqw-homepage .eqw-price-card--featured .eqw-price-card__cta.eqw-hero__btn--primary,
body.eqw-homepage .eqw-price-card--featured .eqw-price-card__cta.eqw-hero__btn--primary:hover { color: #fff; }
/* Outline price card buttons keep navy text */
body.eqw-homepage .eqw-price-card:not(.eqw-price-card--featured) .eqw-price-card__cta.eqw-hero__btn--primary { color: var(--eqw-navy, #0f1b33); }

/* Green text on white/mint → darker brand green */
body.eqw-homepage .eqw-intro-v2__contrast-label,
body.eqw-homepage .eqw-who-v2__definition-label,
body.eqw-homepage .eqw-goal-card__link,
body.eqw-homepage .eqw-portfolio__eyebrow,
body.eqw-homepage .eqw-portfolio__card-action,
body.eqw-homepage .eqw-portfolio__footer-link,
body.eqw-homepage .eqw-price-card__label,
body.eqw-homepage .eqw-blog-v2__link,
body.eqw-homepage .eqw-pricing-table__growth th a { color: var(--eqw-green-text); }

/* 2. Tiny 11px labels → 12px minimum */
body.eqw-homepage .eqw-directories-v2__label,
body.eqw-homepage .eqw-who-v2__definition-label,
body.eqw-homepage .eqw-portfolio__spotlight-flag { font-size: 12px; }

/* 3. Hero lead: shorter line length for readability */
body.eqw-homepage .eqw-hero__lead { max-width: 62ch; margin-left: auto; margin-right: auto; }

/* 4. Trust cards: CTA pill could not fit two-line labels in a fixed 40px */
body.eqw-homepage .eqw-trust-card__more { height: auto; min-height: 44px; padding: 10px 20px; line-height: 1.25; }

/* 5. Pricing cards: on mobile the flex column squashed the CTA to 18px tall */
body.eqw-homepage .eqw-price-card > * { flex-shrink: 0; }
body.eqw-homepage .eqw-price-card__cta { flex: 0 0 auto; height: 52px; width: 100%; }
body.eqw-homepage .eqw-price-card__features { flex: 1 0 auto; }

/* 6. Small tap targets (16–20px tall text links) → 44px touch area */
body.eqw-homepage .eqw-services-v2__link,
body.eqw-homepage .eqw-goal-card__link,
body.eqw-homepage .eqw-blog-v2__link,
body.eqw-homepage .eqw-portfolio__footer-link {
  display: inline-flex; align-items: center; min-height: 44px; padding-top: 10px; padding-bottom: 10px;
}

/* 7. Pricing feature lists: 13 items × 3 cards made the section ~4,000px tall on phones */
.eqw-price-card__toggle { display: none; }
@media (max-width: 767.98px) {
  body.eqw-homepage .eqw-price-card { height: auto; }
  body.eqw-homepage .eqw-price-card:not(.is-open) .eqw-price-card__features li:nth-child(n+6) { display: none; }
  .eqw-price-card__toggle {
    display: inline-flex; align-items: center; gap: .35rem; align-self: flex-start;
    min-height: 44px; padding: 0; border: 0; background: none;
    color: var(--eqw-green-text); font-weight: 700; font-size: .95rem; cursor: pointer;
  }
  .eqw-price-card.is-open .eqw-price-card__toggle i { transform: rotate(180deg); }
}

/* 8. Pricing table: on phones it overflowed (441px in a 343px box) and hid the Delivery column → stacked rows */
@media (max-width: 575.98px) {
  body.eqw-homepage .eqw-pricing-table thead { display: none; }
  body.eqw-homepage .eqw-pricing-table,
  body.eqw-homepage .eqw-pricing-table tbody,
  body.eqw-homepage .eqw-pricing-table tr,
  body.eqw-homepage .eqw-pricing-table th,
  body.eqw-homepage .eqw-pricing-table td { display: block; width: 100%; }
  body.eqw-homepage .eqw-pricing-table tr { padding: .9rem 1rem; border-bottom: 1px solid rgba(15, 27, 51, .08); }
  body.eqw-homepage .eqw-pricing-table th[scope="row"] { padding: 0 0 .35rem; font-size: 1.05rem; }
  body.eqw-homepage .eqw-pricing-table td { display: flex; justify-content: space-between; gap: 1rem; padding: .2rem 0; border: 0; text-align: right; }
  body.eqw-homepage .eqw-pricing-table td::before { content: attr(data-label); font-weight: 600; color: #4a5672; text-align: left; flex-shrink: 0; }
}
