/* P71 — Child Page Design System Foundation
   Scope: Money Page / Supporting / News detail only.
   Homepage is intentionally excluded by layout loading rule. */

:root{
  --tr71-shell:1280px;
  --tr71-content:820px;
  --tr71-side:330px;
  --tr71-ink:#0b2d4f;
  --tr71-text:#294b68;
  --tr71-muted:#688197;
  --tr71-blue:#0878bd;
  --tr71-blue-dark:#075a96;
  --tr71-soft:#f3f9fd;
  --tr71-soft-2:#eaf5fb;
  --tr71-line:#d8e6f0;
  --tr71-line-strong:#c6dbea;
  --tr71-accent:#ffc313;
  --tr71-card:#fff;
  --tr71-radius:14px;
  --tr71-radius-lg:20px;
  --tr71-shadow:0 10px 28px rgba(9,55,91,.07);
  --tr71-shadow-hover:0 16px 36px rgba(9,55,91,.11);
}

/* Shared child-page canvas */
body.transport-native.transport-money-v2,
body.transport-native.trsp30-page,
body.transport-native.trn31-page{
  background:#fff;
  color:var(--tr71-text);
  font-size:17px;
  line-height:1.68;
}
body.transport-native.transport-money-v2 main,
body.transport-native.trsp30-page main,
body.transport-native.trn31-page main{overflow:clip}

/* Match homepage chrome width without touching homepage itself */
body.transport-native.transport-money-v2 .tm29-shell,
body.transport-native.transport-money-v2 .tr-shell,
body.transport-native.trsp30-page .tr-shell,
body.transport-native.trn31-page .tr-shell{
  width:min(var(--tr71-shell),calc(100% - 32px))!important;
  margin-inline:auto!important;
}

/* Consistent child-page typography */
body.transport-native.transport-money-v2 h1,
body.transport-native.trsp30-page h1,
body.transport-native.trn31-page h1{
  color:var(--tr71-ink);
  font-family:var(--tr-font-semibold,'Bebeboo-SemiBold',Arial,sans-serif);
  letter-spacing:-.025em;
  text-wrap:balance;
}
body.transport-native.transport-money-v2 h2,
body.transport-native.trsp30-page h2,
body.transport-native.trn31-page h2{
  color:var(--tr71-ink);
  font-family:var(--tr-font-semibold,'Bebeboo-SemiBold',Arial,sans-serif);
  letter-spacing:-.015em;
  text-wrap:balance;
}
body.transport-native.transport-money-v2 h3,
body.transport-native.trsp30-page h3,
body.transport-native.trn31-page h3{
  color:var(--tr71-ink);
  font-family:var(--tr-font-semibold,'Bebeboo-SemiBold',Arial,sans-serif);
}

/* Breadcrumbs: same rhythm, compact and crawlable */
body.transport-native.transport-money-v2 .tm29-breadcrumb,
body.transport-native.trsp30-page .trsp30-breadcrumb,
body.transport-native.trn31-page .trn31-breadcrumb{
  min-height:44px;
  padding-block:11px!important;
  gap:8px!important;
  font-size:13px!important;
  line-height:1.35!important;
  color:var(--tr71-muted)!important;
}
body.transport-native.transport-money-v2 .tm29-breadcrumb a,
body.transport-native.trsp30-page .trsp30-breadcrumb a,
body.transport-native.trn31-page .trn31-breadcrumb a{
  color:#426983!important;
  text-decoration:none!important;
  transition:color .16s ease;
}
body.transport-native.transport-money-v2 .tm29-breadcrumb a:hover,
body.transport-native.trsp30-page .trsp30-breadcrumb a:hover,
body.transport-native.trn31-page .trn31-breadcrumb a:hover{color:var(--tr71-blue)!important}

/* Shared cards */
body.transport-native.transport-money-v2 :is(.tm29-quote-card,.tm29-price-card,.tm29-vehicle-card,.tm29-route-card,.tm29-process-card,.tm29-related-tabs>a),
body.transport-native.trsp30-page :is(.trsp30-owner-card,.trsp30-quick article,.trsp30-side-card,.trsp30-related-grid>a),
body.transport-native.trn31-page :is(.trn31-owner,.trn31-side-card,.trn31-context,.trn31-cta){
  border-color:var(--tr71-line)!important;
  border-radius:var(--tr71-radius)!important;
  box-shadow:none;
}
body.transport-native.transport-money-v2 :is(.tm29-vehicle-card,.tm29-route-card,.tm29-related-tabs>a),
body.transport-native.trsp30-page .trsp30-related-grid>a,
body.transport-native.trn31-page .trn31-side-links>a{
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
body.transport-native.transport-money-v2 :is(.tm29-vehicle-card,.tm29-route-card,.tm29-related-tabs>a):hover,
body.transport-native.trsp30-page .trsp30-related-grid>a:hover{
  border-color:var(--tr71-line-strong)!important;
  box-shadow:var(--tr71-shadow-hover);
  transform:translateY(-2px);
}

/* Shared CTA grammar: yellow = conversion, white/blue = secondary */
body.transport-native.transport-money-v2 :is(.tm29-btn-primary,.tm29-submit),
body.transport-native.trsp30-page .trsp30-btn.primary,
body.transport-native.trn31-page .trn31-btn.primary{
  background:var(--tr71-accent)!important;
  border-color:var(--tr71-accent)!important;
  color:#11324d!important;
  font-weight:800!important;
  min-height:46px;
  border-radius:10px!important;
  box-shadow:none!important;
}
body.transport-native.transport-money-v2 :is(.tm29-btn-primary,.tm29-submit):hover,
body.transport-native.trsp30-page .trsp30-btn.primary:hover,
body.transport-native.trn31-page .trn31-btn.primary:hover{
  filter:brightness(.98);
  transform:translateY(-1px);
}

/* Readability: Supporting + News are knowledge/editorial pages */
body.transport-native.trsp30-page .trsp30-prose,
body.transport-native.trn31-page .trn31-prose{
  color:var(--tr71-text)!important;
  font-size:18px!important;
  line-height:1.78!important;
  overflow-wrap:anywhere;
}
body.transport-native.trsp30-page .trsp30-prose p,
body.transport-native.trn31-page .trn31-prose p{margin-block:0 0 1.05em!important}
body.transport-native.trsp30-page .trsp30-prose h2,
body.transport-native.trn31-page .trn31-prose h2{
  font-size:clamp(29px,2.3vw,36px)!important;
  line-height:1.18!important;
  margin:1.55em 0 .55em!important;
}
body.transport-native.trsp30-page .trsp30-prose h3,
body.transport-native.trn31-page .trn31-prose h3{
  font-size:clamp(23px,1.8vw,28px)!important;
  line-height:1.25!important;
  margin:1.35em 0 .45em!important;
}
body.transport-native.trsp30-page .trsp30-prose :is(ul,ol),
body.transport-native.trn31-page .trn31-prose :is(ul,ol){padding-left:1.3em;margin:0 0 1.15em}
body.transport-native.trsp30-page .trsp30-prose li,
body.transport-native.trn31-page .trn31-prose li{margin:.36em 0}
body.transport-native.trsp30-page .trsp30-prose img,
body.transport-native.trn31-page .trn31-prose img{
  display:block;
  max-width:100%;
  height:auto;
  border-radius:12px!important;
}
body.transport-native.trsp30-page .trsp30-prose :is(blockquote,.note,.callout),
body.transport-native.trn31-page .trn31-prose :is(blockquote,.note,.callout){
  border-left:4px solid var(--tr71-blue);
  background:var(--tr71-soft);
  border-radius:0 12px 12px 0;
  padding:16px 18px;
  margin:24px 0;
}

/* Tables stay usable on mobile and do not blow out layout */
body.transport-native :is(.trsp30-prose,.trn31-prose,.tm29-page) table{
  max-width:100%;
  border-color:var(--tr71-line)!important;
}
body.transport-native :is(.trsp30-prose,.trn31-prose,.tm29-page) th{
  background:var(--tr71-soft)!important;
  color:var(--tr71-ink)!important;
}

/* Media stability / CLS */
body.transport-native.transport-money-v2 img,
body.transport-native.trsp30-page img,
body.transport-native.trn31-page img{
  max-width:100%;
}
body.transport-native.transport-money-v2 img[width][height],
body.transport-native.trsp30-page img[width][height],
body.transport-native.trn31-page img[width][height]{height:auto}

/* Keyboard UX */
body.transport-native.transport-money-v2 :is(a,button,input,select,textarea):focus-visible,
body.transport-native.trsp30-page :is(a,button,input,select,textarea):focus-visible,
body.transport-native.trn31-page :is(a,button,input,select,textarea):focus-visible{
  outline:3px solid rgba(8,120,189,.24)!important;
  outline-offset:3px!important;
}

/* Keep sidebars useful, not dominant */
body.transport-native.trsp30-page .trsp30-sticky,
body.transport-native.trn31-page .trn31-sticky{top:110px!important}

/* Harmonize child-page section backgrounds with homepage palette */
body.transport-native.transport-money-v2 :is(.tm29-section.soft,.tm29-related),
body.transport-native.trsp30-page .trsp30-hub,
body.transport-native.trn31-page .trn31-related{background:var(--tr71-soft)!important}

/* Performance: skip paint of far-below-the-fold blocks until needed. */
@supports (content-visibility:auto){
  body.transport-native.transport-money-v2 .tm29-page>section:nth-of-type(n+4),
  body.transport-native.trsp30-page .trsp30-related,
  body.transport-native.trsp30-page .trsp30-hub,
  body.transport-native.trn31-page .trn31-related{
    content-visibility:auto;
    contain-intrinsic-size:1px 640px;
  }
}

@media (max-width:980px){
  body.transport-native.transport-money-v2 .tm29-shell,
  body.transport-native.transport-money-v2 .tr-shell,
  body.transport-native.trsp30-page .tr-shell,
  body.transport-native.trn31-page .tr-shell{width:min(100% - 28px,var(--tr71-shell))!important}
  body.transport-native.trsp30-page .trsp30-prose,
  body.transport-native.trn31-page .trn31-prose{font-size:17px!important}
  body.transport-native.trsp30-page .trsp30-sticky,
  body.transport-native.trn31-page .trn31-sticky{top:auto!important}
}

@media (max-width:560px){
  body.transport-native.transport-money-v2,
  body.transport-native.trsp30-page,
  body.transport-native.trn31-page{font-size:16px;line-height:1.64}
  body.transport-native.transport-money-v2 .tm29-shell,
  body.transport-native.transport-money-v2 .tr-shell,
  body.transport-native.trsp30-page .tr-shell,
  body.transport-native.trn31-page .tr-shell{width:min(100% - 24px,var(--tr71-shell))!important}
  body.transport-native.trsp30-page .trsp30-prose,
  body.transport-native.trn31-page .trn31-prose{font-size:16.5px!important;line-height:1.74!important}
  body.transport-native.transport-money-v2 .tm29-breadcrumb,
  body.transport-native.trsp30-page .trsp30-breadcrumb,
  body.transport-native.trn31-page .trn31-breadcrumb{font-size:12px!important}
}

@media (prefers-reduced-motion:reduce){
  body.transport-native.transport-money-v2 *,
  body.transport-native.trsp30-page *,
  body.transport-native.trn31-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
