/**
 * NEMT Homepage Rebuild — front-end layer.
 * Scoped to .nhr-home so tools, calculators, city pages, and the rest
 * of the site are untouched. Reuses the v3 theme's design tokens and
 * section classes; this file only fills the Gutenberg integration gaps.
 */

/* ============ 1. Gutenberg integration ============ */
.nhr-home { overflow-x: clip; }

.nhr-home .alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.nhr-home .alignwide {
  width: var(--container);
  max-width: var(--container);
  margin-inline: auto;
}
/* Neutralize editor-only layout quirks on the front end. */
.nhr-home .wp-block-group__inner-container { max-width: none; }
.nhr-home figure { margin: 0; }

/* ============ 2. Section rhythm ============ */
.nhr-home .section-head { max-width: 760px; margin-bottom: var(--space-10); }
.nhr-home .section-head.centered { margin-inline: auto; text-align: center; }
.nhr-home .section-head h2 { margin-bottom: var(--space-4); }
.nhr-home .section-head .lead { margin-bottom: 0; }

/* Dark band helper for full-bleed contrast sections. */
.nhr-home .nhr-band-dark { background: #0A1428; color: #fff; }
.nhr-home .nhr-band-dark h2,
.nhr-home .nhr-band-dark h3 { color: #fff; }
.nhr-home .nhr-band-dark .lead { color: rgba(255,255,255,.78); }

/* ============ 3. Core buttons mapped to the theme button system ============ */
.nhr-home .wp-block-buttons { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); }
.nhr-home .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  font-family: var(--font-display); font-weight: 600; font-size: 1rem; letter-spacing: -0.01em;
  padding: .9rem 1.7rem; border-radius: 999px; border: 1px solid transparent;
  text-decoration: none; cursor: pointer; white-space: nowrap;
  background: var(--primary); color: #fff; box-shadow: var(--shadow-sm);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.nhr-home .wp-block-button__link:hover { transform: translateY(-2px); background: var(--primary-deep); color: #fff; box-shadow: var(--shadow-md); }
.nhr-home .wp-block-button.is-style-nhr-amber .wp-block-button__link {
  background: linear-gradient(135deg, var(--accent), #D97706); color: #1A1206;
  box-shadow: 0 12px 28px -10px rgba(245, 158, 11, .55);
}
.nhr-home .wp-block-button.is-style-nhr-amber .wp-block-button__link:hover {
  background: linear-gradient(135deg, #FBBF24, var(--accent)); color: #1A1206; box-shadow: var(--shadow-md);
}
.nhr-home .wp-block-button.is-style-nhr-outline-light .wp-block-button__link {
  background: transparent; color: #fff; border-color: rgba(255,255,255,.4); box-shadow: none;
}
.nhr-home .wp-block-button.is-style-nhr-outline-light .wp-block-button__link:hover { border-color: #fff; color: #fff; background: transparent; }
.nhr-home .wp-block-button.is-style-outline .wp-block-button__link {
  background: var(--surface); color: var(--ink); border-color: var(--border);
}
.nhr-home .price-card .wp-block-buttons { margin-top: auto; padding-top: var(--space-6); }
.nhr-home .price-card .wp-block-button { width: 100%; }
.nhr-home .price-card .wp-block-button__link { width: 100%; }

/* ============ 4. FAQ accordion (native Details blocks) ============ */
.nhr-home .faq-item summary::after {
  content: "+"; flex: none; width: 30px; height: 30px; border-radius: 50%;
  background: var(--surface-2); border: 1px solid var(--border);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.25rem; font-weight: 400; line-height: 1; color: var(--ink-2);
  transition: transform .25s ease, background .25s ease, color .25s ease;
}
.nhr-home .faq-item[open] summary::after {
  transform: rotate(45deg); background: var(--primary); border-color: var(--primary); color: #fff;
}
.nhr-home .faq-item > .faq-answer { padding: 0 var(--space-6) var(--space-6); color: var(--ink-2); font-size: .98rem; }

/* ============ 5. Pricing checklist marks ============ */
.nhr-home .price-list { list-style: none; }
.nhr-home .price-list li { position: relative; padding-left: 30px; }
.nhr-home .price-list li::before {
  content: ""; position: absolute; left: 0; top: 3px; width: 20px; height: 20px;
  border-radius: 50%;
  background-color: rgba(21,128,61,.14);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M6.5 10.3 9.2 13l4.6-5.4' stroke='%2315803D' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: 20px 20px; background-repeat: no-repeat;
}
.nhr-home .price-card.featured .price-list li::before {
  background-color: rgba(252,211,77,.18);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M6.5 10.3 9.2 13l4.6-5.4' stroke='%23FCD34D' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ============ 6. Bento photo cell (Cover inside .bcell) ============ */
.nhr-home .bcell { position: relative; overflow: hidden; }
.nhr-home .nhr-bcell-photo { padding: 0; }
.nhr-home .nhr-bcell-cover { height: 100%; min-height: 480px; margin: 0; border-radius: 0; }
.nhr-home .nhr-bcell-cover .wp-block-cover__inner-container { padding: 34px 30px; width: 100%; }
.nhr-home .rank-row p, .nhr-home .chip-row p { margin: 0; }
.nhr-home .rank-row { align-items: center; }

/* ============ 7. Final CTA cover ============ */
.nhr-home .nhr-final { min-height: 620px; display: flex; align-items: center; padding: var(--space-20) 0; }
.nhr-home .nhr-final::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(6,12,24,.25), rgba(6,12,24,.88));
}
.nhr-home .nhr-final .wp-block-cover__inner-container { position: relative; z-index: 2; max-width: 760px; text-align: center; }
.nhr-home .nhr-final h2 { color: #fff; font-size: clamp(2.4rem, 1.6rem + 4vw, 4.2rem); line-height: 1.04; margin-bottom: 22px; }
.nhr-home .nhr-final h2 .grad-text {
  background: linear-gradient(92deg, #7FB0FF, var(--cyan));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.nhr-home .nhr-final p { color: rgba(255,255,255,.8); font-size: 1.15rem; max-width: 52ch; margin: 0 auto 36px; line-height: 1.65; }
.nhr-home .nhr-final .wp-block-buttons { justify-content: center; margin-top: 0; }
.nhr-home .nhr-final .kicker { margin-bottom: 28px; }

/* ============ 7b. Authority band cover ============ */
.nhr-home .nhr-authority { min-height: 72vh; display: flex; align-items: center; padding: var(--space-20) 0; }
.nhr-home .nhr-authority::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(90deg, rgba(6,12,24,.82) 0%, rgba(6,12,24,.35) 60%, rgba(6,12,24,.15) 100%);
}
.nhr-home .nhr-authority .wp-block-cover__inner-container { position: relative; z-index: 2; width: var(--container); text-align: left; }
.nhr-home .nhr-authority .wp-block-cover__inner-container > * { max-width: 640px; }
.nhr-home .nhr-authority h2 { color: #fff; font-size: clamp(2rem, 1.4rem + 3vw, 3.4rem); line-height: 1.06; margin-bottom: 20px; }
.nhr-home .nhr-authority h2 .serif-accent { color: #FFD9A0; }
.nhr-home .nhr-authority p { color: rgba(255,255,255,.82); font-size: 1.1rem; line-height: 1.7; }
.nhr-home .nhr-authority .eyebrow { color: var(--accent); }

/* ============ 8. Steps vignettes ============ */
.nhr-home .step-vignette { margin-top: auto; padding-top: var(--space-5); min-height: 120px; }

/* ============ 9. Hero safety nets (theme owns the cinematic hero) ============ */
.nhr-home .hero { margin-top: 0; }
/* If the header ever stops being fixed, the hero still clears it. */
body:not(.home) .nhr-home .hero { padding-top: var(--space-20); }

/* ============ 10. Reduced motion ============ */
@media (prefers-reduced-motion: reduce) {
  .nhr-home .marquee-track { animation: none; }
  .nhr-home .ui-card { animation: none; }
  .nhr-home .kicker .dot { animation: none; }
}

/* ============ 11. Small-screen tuning ============ */
@media (max-width: 640px) {
  .nhr-home .nhr-bcell-cover { min-height: 380px; }
  .nhr-home .nhr-final { min-height: 520px; }
  .nhr-home .hero-ctas .wp-block-buttons { justify-content: center; }
}
