/* Just Right Loans inner-page brand parity layer — 2026-09-01 */
.product-v5 {
  --jrl-deep: #00382f;
  --jrl-deep-2: #07513f;
  --jrl-bright: #18d778;
  --jrl-gold: #e7ca78;
  --jrl-ivory: #fbfcf8;
  --jrl-mint: #f2f8f4;
  --jrl-mint-2: #e8f4ed;
  --jrl-ink: #0a2a20;
  --jrl-copy: #53685f;
  --jrl-line: #cddfd5;
  --jrl-shadow: 0 16px 42px rgba(0, 52, 39, .08);
}

body.product-v5 main {
  background: var(--jrl-mint);
}

body.product-v5 .product-hero,
body.product-v5 .product-hub-hero,
body.product-v5 .page-hero,
body.product-v5 .hub-hero,
body.product-v5 .v5-page-hero,
body.product-v5 .v3-library-hero,
body.product-v5 .expert-directory-hero,
body.product-v5 .expert-profile-hero {
  position: relative;
  isolation: isolate;
}

body.product-v5 .product-hero::after,
body.product-v5 .product-hub-hero::after,
body.product-v5 .page-hero::after,
body.product-v5 .hub-hero::after,
body.product-v5 .v5-page-hero::after,
body.product-v5 .v3-library-hero::after,
body.product-v5 .expert-directory-hero::after,
body.product-v5 .expert-profile-hero::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
  background-size: 80px 80px;
  content: "";
  pointer-events: none;
}

body.product-v5 .content-shell.product-shell,
body.product-v5 .v3-library-section,
body.product-v5 .profile-section,
body.product-v5 .expert-directory-section {
  position: relative;
}

/* Signature component: dark active chapter, gold step marker, bright action accent. */
.product-v5 .v5-chapter {
  border-color: var(--jrl-line);
  background: var(--jrl-ivory);
  box-shadow: var(--jrl-shadow);
}

.product-v5 .v5-chapter > summary {
  border-bottom: 1px solid transparent;
  background: linear-gradient(135deg, #ffffff, #f4faf6);
  transition: background-color .18s ease, border-color .18s ease;
}

.product-v5 .v5-chapter-num {
  border: 1px solid #bfe0cd;
  background: var(--jrl-mint-2);
  color: #087b49;
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, .72);
}

.product-v5 .v5-chapter[open] > summary {
  border-bottom-color: rgba(231, 202, 120, .4);
  background: linear-gradient(120deg, var(--jrl-deep), var(--jrl-deep-2));
}

.product-v5 .v5-chapter[open] .v5-chapter-num {
  border-color: var(--jrl-gold);
  background: var(--jrl-gold);
  color: var(--jrl-deep);
  box-shadow: 0 7px 18px rgba(0, 0, 0, .18), inset 0 0 0 3px rgba(255, 255, 255, .32);
}

.product-v5 .v5-chapter[open] .v5-chapter-copy b {
  color: #ffffff;
}

.product-v5 .v5-chapter[open] .v5-chapter-copy small {
  color: #cde3da;
}

.product-v5 .v5-chapter[open] summary i {
  color: var(--jrl-gold);
}

.product-v5 .v5-chapter-body {
  border-top: 0;
  background: linear-gradient(180deg, #f8fbf9, var(--jrl-ivory) 120px);
}

/* Long-form surfaces */
.product-v5 .article-main > .decision-section > .section-card,
.product-v5 .v5-chapter-body > .decision-section > .section-card,
.product-v5 .article-main > .calc-section > .section-card,
.product-v5 .profile-main,
.product-v5 .profile-aside,
.product-v5 .v5-application-card,
.product-v5 .v5-contact-card,
.product-v5 .v5-callout {
  border-color: var(--jrl-line);
  background: linear-gradient(145deg, #ffffff, var(--jrl-ivory));
  box-shadow: inset 0 3px 0 rgba(24, 215, 120, .6), 0 12px 32px rgba(0, 52, 39, .055);
}

.product-v5 .section-card h2,
.product-v5 .section-card h3,
.product-v5 .profile-main h2,
.product-v5 .profile-aside h2,
.product-v5 .profile-aside h3 {
  color: var(--jrl-ink);
}

.product-v5 .legacy-tool-module {
  border-top-color: var(--jrl-line);
}

.product-v5 .decision-callout,
.product-v5 .editorial-card {
  border-left-color: var(--jrl-bright);
  background: linear-gradient(110deg, #eaf8f0, #f8fbf9);
}

.product-v5 .warning-section .section-card,
.product-v5 .gated-banner,
.product-v5 .gated-product-card,
.product-v5 .v5-security-note,
.product-v5 .v5-ready-result {
  border-color: #ddc77c !important;
  background: linear-gradient(135deg, #fff9e7, #fffdf6) !important;
  box-shadow: inset 0 3px 0 var(--jrl-gold), 0 10px 24px rgba(92, 71, 10, .06);
}

/* Data and worksheets */
.product-v5 .table-wrap {
  border-color: var(--jrl-line);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 8px 22px rgba(0, 52, 39, .045);
}

.product-v5 .table-wrap table:not(.v5-input-table) th {
  border-bottom-color: rgba(231, 202, 120, .46);
  background: linear-gradient(120deg, var(--jrl-deep), var(--jrl-deep-2));
  color: #ffffff;
}

.product-v5 .table-wrap table:not(.v5-input-table) tbody tr:nth-child(even) td {
  background: #f5faf7;
}

.product-v5 .table-wrap table:not(.v5-input-table) td {
  border-bottom-color: #e1ebe5;
  color: #3e554c;
}

.product-v5 .v5-input-table tr {
  position: relative;
  overflow: hidden;
  border-color: var(--jrl-line);
  background: linear-gradient(135deg, #ffffff, #f5faf7);
  box-shadow: 0 7px 18px rgba(0, 52, 39, .035);
}

.product-v5 .v5-input-table tr::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(var(--jrl-bright), var(--jrl-gold));
  content: "";
}

.product-v5 .v5-input-table td:first-child {
  color: #08784a;
}

/* Page navigation and proof */
.product-v5 .v5-toc {
  border-color: #0a5c49;
  background: linear-gradient(145deg, var(--jrl-deep), #06493b);
  box-shadow: 0 16px 36px rgba(0, 44, 34, .18);
}

.product-v5 .v5-toc > span {
  color: var(--jrl-gold);
}

.product-v5 .v5-toc a {
  color: #e8f4ef;
}

.product-v5 .v5-toc a:hover,
.product-v5 .v5-toc a:focus-visible {
  background: rgba(24, 215, 120, .15);
  color: #ffffff;
}

.product-v5 .aside-apply,
.product-v5 .v5-apply-aside {
  overflow: hidden;
  border-color: var(--jrl-line);
  border-top: 3px solid var(--jrl-gold);
  border-radius: 16px;
  background: linear-gradient(145deg, #ffffff, #f6faf7);
  box-shadow: var(--jrl-shadow);
}

.product-v5 .aside-apply .btn,
.product-v5 .v5-apply-aside .btn {
  box-shadow: 0 9px 22px rgba(8, 139, 73, .18);
}

.product-v5 .expert-proof {
  border-color: var(--jrl-line) !important;
  border-top: 3px solid var(--jrl-gold) !important;
  background: linear-gradient(135deg, #ffffff, #f6faf7) !important;
  box-shadow: var(--jrl-shadow) !important;
}

.product-v5 .expert-method {
  background: #eef7f2 !important;
}

.product-v5 .expert-content-meta {
  background: #f8fbf9 !important;
}

/* Sources, related content, FAQs */
.product-v5 .sources-box,
.product-v5 .related-box {
  overflow: hidden;
  border: 1px solid var(--jrl-line) !important;
  border-top: 3px solid var(--jrl-gold) !important;
  background: linear-gradient(145deg, #ffffff, var(--jrl-ivory)) !important;
  box-shadow: var(--jrl-shadow) !important;
}

.product-v5 .sources-box h2,
.product-v5 .related-box h2 {
  color: var(--jrl-ink);
}

.product-v5 .sources-box a,
.product-v5 .related-box a {
  color: #087c49;
}

.product-v5 .related-card,
.product-v5 .faq-item,
.product-v5 .v5-faq-grid details,
.product-v5 .v5-faq-page details {
  border-color: var(--jrl-line);
  background: linear-gradient(145deg, #ffffff, #f6faf7);
}

.product-v5 .related-card {
  box-shadow: inset 3px 0 0 rgba(24, 215, 120, .72);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.product-v5 .related-card:hover {
  transform: translateY(-2px);
  border-color: #8fc9aa;
  box-shadow: inset 3px 0 0 var(--jrl-gold), 0 10px 24px rgba(0, 52, 39, .08);
}

.product-v5 .faq-item[open],
.product-v5 .v5-faq-grid details[open],
.product-v5 .v5-faq-page details[open] {
  border-color: #8fc9aa;
  box-shadow: inset 3px 0 0 var(--jrl-bright);
}

/* Hub, article-library and expert-directory cards */
.product-v5 .hub-card,
.product-v5 .v3-library-card,
.product-v5 .v3-featured-card,
.product-v5 .expert-card,
.product-v5 .expert-directory-card,
.product-v5 .v5-value-grid article,
.product-v5 .v5-location-grid article,
.product-v5 .product-step-card,
.product-v5 .product-standard,
.product-v5 .state-feature {
  border-color: var(--jrl-line);
  background: linear-gradient(145deg, #ffffff, var(--jrl-ivory));
  box-shadow: inset 0 3px 0 rgba(231, 202, 120, .82), 0 12px 30px rgba(0, 52, 39, .055);
}

.product-v5 .v3-library-controls,
.product-v5 .v3-library-empty,
.product-v5 .product-state-card {
  border-color: var(--jrl-line);
  background: linear-gradient(145deg, #ffffff, #f4faf6);
  box-shadow: 0 12px 30px rgba(0, 52, 39, .055);
}

.product-v5 .v3-library-card:hover,
.product-v5 .hub-card:hover,
.product-v5 .expert-card:hover,
.product-v5 .expert-directory-card:hover {
  border-color: #8fc9aa;
  box-shadow: inset 0 3px 0 var(--jrl-gold), 0 18px 36px rgba(0, 52, 39, .1);
}

/* Existing dark calculators remain dark, but inherit the homepage premium accent. */
.product-v5 .article-main .calc-card {
  border: 1px solid rgba(231, 202, 120, .62) !important;
  border-top: 3px solid var(--jrl-gold) !important;
  background:
    radial-gradient(circle at 92% 12%, rgba(24, 215, 120, .2), transparent 32%),
    linear-gradient(120deg, var(--jrl-deep), var(--jrl-deep-2)) !important;
  box-shadow: 0 18px 42px rgba(0, 44, 34, .2) !important;
}

/* Sitewide dark-surface contrast ownership — 2026-09-01 */
.product-v5 .btn:not(.secondary) {
  border-color: #0a9d59 !important;
  background: linear-gradient(180deg, #22df83, #12c96d) !important;
  color: var(--jrl-deep) !important;
  text-shadow: none !important;
}

.product-v5 .btn:not(.secondary):hover {
  border-color: #c5a94f !important;
  background: linear-gradient(180deg, #f0dc9d, var(--jrl-gold)) !important;
  color: var(--jrl-deep) !important;
}

.product-v5 .contact-email{cursor:text;user-select:text}
@media(max-width:520px){.product-v5 .topline-contacts{flex-wrap:wrap;gap:3px 14px;max-width:100%;min-width:0}}
.product-v5 .topline-contacts :is(a,.contact-email) > span,
.product-v5 .topline-contacts :is(a,.contact-email),
.product-v5 .topline-benefits > span {
  color: #ffffff !important;
}

.product-v5 .product-final-cta {
  border: 1px solid rgba(231, 202, 120, .42);
  background:
    radial-gradient(circle at 92% 12%, rgba(24, 215, 120, .18), transparent 34%),
    linear-gradient(115deg, var(--jrl-deep), var(--jrl-deep-2));
  color: #ffffff !important;
  box-shadow: 0 18px 40px rgba(0, 44, 34, .16);
}

.product-v5 .product-final-cta h2 {
  color: #ffffff !important;
}

.product-v5 .product-final-cta p,
.product-v5 .product-final-cta .fine {
  color: #d5e8df !important;
}

.product-v5 .product-final-cta .btn {
  color: var(--jrl-deep) !important;
}

.product-v5 :is(
  .product-hero,
  .product-hub-hero,
  .page-hero,
  .hub-hero,
  .v5-page-hero,
  .v3-library-hero,
  .expert-directory-hero,
  .expert-profile-hero
) .eyebrow {
  color: var(--jrl-gold) !important;
}

.product-v5 .product-info-card .eyebrow,
.product-v5 .v5-match-card .eyebrow {
  color: #08784a !important;
}

.product-v5 .v5-role > span {
  border: 1px solid rgba(231, 202, 120, .62);
  background: var(--jrl-deep) !important;
  color: var(--jrl-gold) !important;
}

.product-v5 .product-hero .page-dek,
.product-v5 .product-hero-grid > div:first-child > p,
.product-v5 .product-hub-hero .lead,
.product-v5 .page-hero .lead,
.product-v5 .hub-hero .lead,
.product-v5 .v5-page-hero > .wrap > p,
.product-v5 .v3-library-hero > .wrap > p,
.product-v5 .expert-directory-hero p,
.product-v5 .expert-profile-hero p {
  color: #d5e8df !important;
}

.product-v5 :is(
  .product-hero,
  .product-hub-hero,
  .page-hero,
  .hub-hero,
  .v5-page-hero,
  .v3-library-hero,
  .expert-directory-hero,
  .expert-profile-hero
) .breadcrumbs,
.product-v5 :is(
  .product-hero,
  .product-hub-hero,
  .page-hero,
  .hub-hero,
  .v5-page-hero,
  .v3-library-hero,
  .expert-directory-hero,
  .expert-profile-hero
) .breadcrumbs a,
.product-v5 :is(
  .product-hero,
  .product-hub-hero,
  .page-hero,
  .hub-hero,
  .v5-page-hero,
  .v3-library-hero,
  .expert-directory-hero,
  .expert-profile-hero
) .breadcrumbs span {
  color: #cfe4dc !important;
}

.product-v5 .calc-card h2,
.product-v5 .calc-card h3,
.product-v5 .calc-card label,
.product-v5 .calc-card .calc-results strong,
.product-v5 .v7-calculator-card h2,
.product-v5 .v7-calculator-card h3,
.product-v5 .v7-calculator-card label,
.product-v5 .v7-calculator-card strong {
  color: #ffffff !important;
}

.product-v5 .calc-card > div:first-child > p,
.product-v5 .calc-card .fineprint,
.product-v5 .calc-card .calc-results small,
.product-v5 .calc-card .jrl-amount-slider-limits,
.product-v5 .v7-calculator-card p,
.product-v5 .v7-calculator-card small {
  color: #d5e8df !important;
}

.product-v5 .calc-card .eyebrow,
.product-v5 .v7-calculator-card .eyebrow,
.product-v5 .v5-final > .wrap > div > span {
  color: var(--jrl-gold) !important;
}

.product-v5 .v5-final h2 {
  color: #ffffff !important;
}

.product-v5 .v5-final p {
  color: #d5e8df !important;
}

.product-v5 .v5-match-card > p,
.product-v5 .v5-safety small {
  color: var(--jrl-copy) !important;
}

.product-v5 .footer-disclosure,
.product-v5 .footer-disclosure p {
  color: #d5e8df !important;
}

.product-v5 .footer-disclosure strong {
  color: #ffffff !important;
}

.product-v5 .footer-disclosure a {
  color: var(--jrl-gold) !important;
}

/* Sitewide footer geometry and compact responsive rhythm — 2026-09-01 */
.product-v5 .footer {
  padding-top: 32px;
}

.product-v5 .footer-main {
  display: grid !important;
  grid-template-columns: minmax(280px, .82fr) minmax(0, 2.18fr) !important;
  gap: 32px 56px !important;
  align-items: start !important;
}

.product-v5 .footer-brand,
.product-v5 .footer-menus,
.product-v5 .footer-menus > div {
  min-width: 0;
}

.product-v5 .footer-brand .brand.elite-brand {
  display: inline-flex !important;
  width: auto !important;
  max-width: 100% !important;
}

.product-v5 .footer-brand p {
  width: 100%;
  max-width: 34rem !important;
  margin: 14px 0 0 !important;
  color: #d5e8df !important;
  font-size: 15px !important;
  line-height: 1.58 !important;
}

.product-v5 .footer-menus {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

.product-v5 .footer-menus h4 {
  margin: 0 0 10px !important;
}

.product-v5 .footer-menus a {
  margin: 6px 0 !important;
  line-height: 1.42 !important;
}

.product-v5 .footer-logos {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: center !important;
  gap: 18px 28px !important;
  margin-top: 24px !important;
}

.product-v5 .footer-logos .govlogo {
  min-width: 0;
}

@media (max-width: 900px) {
  .product-v5 .footer-main {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 26px !important;
  }

  .product-v5 .footer-brand p {
    max-width: 46rem !important;
  }
}

@media (max-width: 800px) {
  .product-v5 .footer-menus {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px 24px !important;
  }

  .product-v5 .footer-logos {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 24px !important;
  }
}

@media (max-width: 480px) {
  .product-v5 .footer {
    padding-top: 26px;
  }

  .product-v5 .footer-main {
    gap: 22px !important;
  }

  .product-v5 .footer-brand p {
    max-width: none !important;
    margin-top: 12px !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  .product-v5 .footer-menus {
    gap: 20px 18px !important;
  }

  .product-v5 .footer-logos {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-items: start !important;
    gap: 16px 14px !important;
    margin-top: 22px !important;
  }
}

@media (max-width: 380px) {
  .product-v5 .footer-brand p {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
}

.product-v5 :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--jrl-gold);
  outline-offset: 3px;
}

@media (max-width: 760px) {
  body.product-v5 .product-hero::after,
  body.product-v5 .product-hub-hero::after,
  body.product-v5 .page-hero::after,
  body.product-v5 .hub-hero::after,
  body.product-v5 .v5-page-hero::after,
  body.product-v5 .v3-library-hero::after,
  body.product-v5 .expert-directory-hero::after,
  body.product-v5 .expert-profile-hero::after {
    background-size: 56px 56px;
  }

  .product-v5 .v5-chapter,
  .product-v5 .sources-box,
  .product-v5 .related-box,
  .product-v5 .expert-proof,
  .product-v5 .aside-apply,
  .product-v5 .v5-apply-aside {
    box-shadow: 0 9px 24px rgba(0, 52, 39, .065) !important;
  }

  .product-v5 .table-wrap {
    border-radius: 10px;
  }
}

@media (max-width: 480px) {
  .product-v5 .v5-chapter > summary {
    min-height: 76px;
  }

  .product-v5 .v5-chapter-num {
    min-height: 44px;
  }

  .product-v5 .v5-chapter-body {
    background: var(--jrl-ivory);
  }

  .product-v5 .article-main > .decision-section > .section-card,
  .product-v5 .v5-chapter-body > .decision-section > .section-card {
    box-shadow: inset 0 3px 0 rgba(24, 215, 120, .52);
  }
}

@media (prefers-reduced-motion: reduce) {
  .product-v5 .v5-chapter > summary,
  .product-v5 .related-card {
    transition: none;
  }
}
