/* fnrx-pages.css — Page-specific styles and hero layout */

/* ── Index hero ───────────────────────────────────────────── */
.fnrx-hero-index {
  background: var(--fnrx-dark-bg);
  padding-top: calc(var(--fnrx-nav-h) + 64px);
  padding-bottom: var(--fnrx-space-3xl);
}

.fnrx-hero-index__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--fnrx-space-2xl);
  align-items: center;
}
@media (max-width: 1023px) { .fnrx-hero-index__inner { grid-template-columns: 1fr; } }

.fnrx-hero-index__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--fnrx-caption);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fnrx-amber);
  margin-bottom: var(--fnrx-space-md);
}

.fnrx-hero-index__label-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--fnrx-amber);
  animation: fnrx-pulse 2s ease-in-out infinite;
}
@keyframes fnrx-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.75); }
}

.fnrx-hero-index__h1 {
  font-family: var(--fnrx-font-heading);
  font-size: var(--fnrx-display);
  color: var(--fnrx-text-dark-primary);
  line-height: 1.1;
  margin-bottom: var(--fnrx-space-xl);
}

.fnrx-hero-index__h1 em {
  font-style: normal;
  color: var(--fnrx-amber);
}

.fnrx-hero-index__sub {
  font-size: var(--fnrx-body-lg);
  color: var(--fnrx-text-dark-secondary);
  line-height: 1.75;
  margin-bottom: var(--fnrx-space-xl);
  max-width: 520px;
}

.fnrx-hero-index__actions {
  display: flex;
  gap: var(--fnrx-space-md);
  flex-wrap: wrap;
}

.fnrx-hero-index__visual {
  min-width: 0;
}

/* ── About page ───────────────────────────────────────────── */
.fnrx-about-hero {
  background: var(--fnrx-light-bg);
  padding-top: calc(var(--fnrx-nav-h) + var(--fnrx-space-2xl));
  padding-bottom: var(--fnrx-space-2xl);
}

.fnrx-about-hero__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--fnrx-space-2xl);
  align-items: center;
}
@media (max-width: 767px) { .fnrx-about-hero__inner { grid-template-columns: 1fr; } }

.fnrx-about-hero__img {
  border-radius: var(--fnrx-radius-md);
  width: 100%;
  height: auto;
  max-height: 400px;
  object-fit: cover;
  display: block;
}

.fnrx-founder-section {
  background: var(--fnrx-white);
  padding-block: var(--fnrx-space-3xl);
}

.fnrx-founder-layout {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: var(--fnrx-space-2xl);
  align-items: start;
}
@media (max-width: 767px) { .fnrx-founder-layout { grid-template-columns: 1fr; } }

.fnrx-founder-portrait {
  border-radius: var(--fnrx-radius-md);
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: top;
  display: block;
}

.fnrx-founder-story__title {
  font-family: var(--fnrx-font-heading);
  font-size: var(--fnrx-h2);
  color: var(--fnrx-text-light-primary);
  margin-bottom: var(--fnrx-space-lg);
}

.fnrx-founder-story p {
  font-size: var(--fnrx-body-lg);
  color: var(--fnrx-text-light-secondary);
  line-height: 1.8;
  margin-bottom: var(--fnrx-space-md);
}

/* ── Pricing page ─────────────────────────────────────────── */
.fnrx-pricing-hero {
  background: var(--fnrx-light-bg);
  padding-top: calc(var(--fnrx-nav-h) + var(--fnrx-space-2xl));
  padding-bottom: var(--fnrx-space-2xl);
  text-align: center;
}

/* ── NCA page specifics ───────────────────────────────────── */
.fnrx-nca-schema-detail {
  background: var(--fnrx-light-bg);
  padding-block: var(--fnrx-space-3xl);
}

.fnrx-nca-coverage-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--fnrx-space-xl);
}
@media (max-width: 1023px) { .fnrx-nca-coverage-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px)  { .fnrx-nca-coverage-cards { grid-template-columns: 1fr; } }

.fnrx-nca-card {
  background: var(--fnrx-white);
  border: 1px solid rgba(26,31,46,0.12);
  border-radius: var(--fnrx-radius-md);
  padding: var(--fnrx-space-xl);
  text-decoration: none;
  color: inherit;
  display: block;
  transition: box-shadow var(--fnrx-transition), border-color var(--fnrx-transition);
}
.fnrx-nca-card:hover {
  box-shadow: 0 4px 20px rgba(26,31,46,0.08);
  border-color: var(--fnrx-amber-on-light);
}

.fnrx-nca-card__abbr {
  font-family: var(--fnrx-font-mono);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--fnrx-amber-on-light);
  margin-bottom: var(--fnrx-space-sm);
}

.fnrx-nca-card__country {
  font-size: var(--fnrx-caption);
  color: var(--fnrx-text-light-muted);
  margin-bottom: var(--fnrx-space-md);
}

.fnrx-nca-card__name {
  font-weight: 700;
  color: var(--fnrx-text-light-primary);
  margin-bottom: var(--fnrx-space-md);
  font-size: var(--fnrx-body);
}

.fnrx-nca-card__schemas {
  font-size: var(--fnrx-caption);
  color: var(--fnrx-text-light-muted);
  margin-bottom: var(--fnrx-space-sm);
}

.fnrx-nca-card__status {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: var(--fnrx-caption);
  font-family: var(--fnrx-font-mono);
  color: var(--fnrx-success);
  font-weight: 600;
}
.fnrx-nca-card__status::before {
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.fnrx-nca-card__status--pending { color: var(--fnrx-amber-on-light); }

/* ── Method / step list ───────────────────────────────────── */
.fnrx-step-list {
  display: flex;
  flex-direction: column;
  gap: var(--fnrx-space-xl);
  counter-reset: step-counter;
  list-style: none;
}

.fnrx-step-list__item {
  display: flex;
  gap: var(--fnrx-space-lg);
  counter-increment: step-counter;
  align-items: flex-start;
}

.fnrx-step-list__num {
  flex-shrink: 0;
  width: 40px; height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(232,160,32,0.1);
  border: 1px solid rgba(232,160,32,0.25);
  border-radius: var(--fnrx-radius-sm);
  font-family: var(--fnrx-font-mono);
  font-weight: 700;
  font-size: 14px;
  color: var(--fnrx-amber);
}

.fnrx-step-list__title {
  font-weight: 700;
  font-size: var(--fnrx-body);
  color: var(--fnrx-text-dark-primary);
  margin-bottom: 4px;
}
.fnrx-step-list__title--light { color: var(--fnrx-text-light-primary); }

.fnrx-step-list__body {
  font-size: var(--fnrx-body);
  color: var(--fnrx-text-dark-secondary);
  line-height: 1.7;
}
.fnrx-step-list__body--light { color: var(--fnrx-text-light-secondary); }

/* ── PSD3 change list ─────────────────────────────────────── */
.fnrx-change-table {
  width: 100%;
  border-collapse: collapse;
}
.fnrx-change-table th {
  background: var(--fnrx-light-alt-bg);
  font-size: var(--fnrx-caption);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fnrx-text-light-secondary);
  padding: 10px 14px;
  text-align: left;
  border-bottom: 2px solid rgba(26,31,46,0.1);
}
.fnrx-change-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(26,31,46,0.08);
  font-size: var(--fnrx-body);
  color: var(--fnrx-text-light-secondary);
  vertical-align: top;
}
.fnrx-change-table tr:last-child td { border-bottom: none; }

.fnrx-change-tag--expand {
  display: inline-block;
  background: rgba(232,160,32,0.12);
  color: var(--fnrx-amber-on-light);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 3px;
}
.fnrx-change-tag--tighten {
  display: inline-block;
  background: rgba(208,64,64,0.1);
  color: #a03030;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 3px;
}
.fnrx-change-tag--clarify {
  display: inline-block;
  background: rgba(42,158,106,0.1);
  color: #1d7a53;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 3px;
}

/* ── Pricing hero nav spacing ─────────────────────────────── */
.fnrx-pricing-hero {
  padding-top: calc(var(--fnrx-nav-height, 72px) + var(--fnrx-space-3xl));
}

/* ── About hero specifics ─────────────────────────────────── */
.fnrx-section--light .fnrx-about-hero__h1 {
  font-family: var(--fnrx-font-heading);
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  color: var(--fnrx-text-light-primary);
  line-height: 1.15;
  margin-bottom: var(--fnrx-space-lg);
}

/* ── Tag variants used outside schema-table context ──────── */
.fnrx-tag {
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-family: var(--fnrx-font-body);
}
.fnrx-tag--added    { background: rgba(42,158,106,0.15); color: var(--fnrx-success); }
.fnrx-tag--changed  { background: rgba(232,160,32,0.15); color: var(--fnrx-amber); }
.fnrx-tag--deprecated { background: rgba(208,64,64,0.12); color: var(--fnrx-error); }
.fnrx-tag--current  { background: rgba(42,158,106,0.1); color: var(--fnrx-success); }
.fnrx-tag--pending  { background: rgba(232,160,32,0.1); color: var(--fnrx-amber); }
