/* Shared localized components retain the existing page shell and visual tokens. */
:is(.site-spanish-section,.site-locale-section) { display:flex; flex-wrap:wrap; gap:.5rem 1rem; margin:0 0 2rem; font:700 .82rem/1.5 "Source Sans Pro",sans-serif; }
:is(.site-spanish-section,.site-locale-section) a { border-bottom:1px solid rgba(15,23,42,.15); }
:is(.site-spanish-section,.site-locale-section) a[aria-current="page"] { color:#18212b; border-color:#afe67e; }
.site-locale-example { border:1px solid rgba(15, 23, 42, 0.08); border-radius:20px; padding:clamp(1.25rem,3vw,2.25rem); background:linear-gradient(135deg, rgba(175, 230, 126, 0.22), rgba(255, 255, 255, 0.98) 48%, rgba(228, 238, 248, 0.92)); box-shadow:0 14px 36px rgba(15, 23, 42, 0.08); color:#212931; text-align:left; }
.site-locale-example__label { font:700 .8rem/1.5 "Source Sans Pro",sans-serif; letter-spacing:.02em; margin:0 0 1rem; color:rgba(33, 41, 49, 0.88); }
.site-locale-example strong { display:block; color:#18212b; font:900 clamp(1.2rem,3vw,1.8rem)/1.25 "Source Sans Pro",sans-serif; margin-bottom:1rem; }
.site-locale-example ul { padding-left:1.2rem; margin:0; }
html:is([lang="es"],[lang="de"],[lang="ar"],[lang="fr"]) body .site-locale-store-link.lt-appStoreBtn { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding: .8rem 1.3rem; border-radius:12px; background:#afe67e; color:#18212b!important; font:900 1rem/1.3 "Source Sans Pro",sans-serif; white-space:normal; text-align:center; height:auto; }
html:is([lang="es"],[lang="de"],[lang="ar"],[lang="fr"]) body .site-locale-store-link.lt-appStoreBtn:hover { background:#bcf18c; }
.site-locale-store-link:focus-visible,:is(.site-spanish-section,.site-locale-section) a:focus-visible { outline:3px solid rgba(53, 84, 40, 0.32); outline-offset:3px; }
html:is([lang="es"],[lang="de"],[lang="ar"],[lang="fr"]) .lt-appStoreBtn { max-width:100%; }
html:is([lang="es"],[lang="de"],[lang="ar"],[lang="fr"]) .site-language-switch a { white-space:nowrap; }
html:is([lang="es"],[lang="de"],[lang="ar"],[lang="fr"]) body.money-owed-record-page .actions.lt-actions { flex-wrap:wrap; gap:.8rem; }
html:is([lang="es"],[lang="de"],[lang="ar"],[lang="fr"]) body.money-owed-record-page .actions.lt-actions > li { min-width:0; max-width:100%; padding:0; }
html:is([lang="es"],[lang="de"],[lang="ar"],[lang="fr"]) body.money-owed-record-page .actions.lt-actions .button { white-space:normal; height:auto; line-height:1.4; padding:.85rem 1.25rem; }
html:is([lang="es"],[lang="de"],[lang="ar"],[lang="fr"]) body.money-owed-record-page .mow-hero > .site-locale-example { align-self:center; }
html:is([lang="es"],[lang="de"],[lang="ar"],[lang="fr"]) .plrt-record-once__results dt,
html:is([lang="es"],[lang="de"],[lang="ar"],[lang="fr"]) .plrt-table th { min-width:0; overflow-wrap:anywhere; }
html:is([lang="es"],[lang="de"],[lang="ar"],[lang="fr"]) .split-calculator .calculator-input,
html:is([lang="es"],[lang="de"],[lang="ar"],[lang="fr"]) .split-calculator .calculator-select { box-sizing:border-box; min-width:0; }
@media(max-width:736px) { :is(.site-spanish-section,.site-locale-section) { font-size:.8rem; } }
/* Text examples need the whole card width where English used narrow screenshots. */
@media(max-width:736px) {
  html:is([lang="es"],[lang="de"],[lang="ar"],[lang="fr"]) body.homepage-page .lt-coreFeatureCard { grid-template-columns:minmax(0,1fr); }
}

html[lang="de"] #main { overflow-wrap:break-word; }
/* Keep German content-page discovery links below the fixed mobile menu control. */
@media(max-width:980px) {
  html[lang="de"] body:not(.homepage-page) .site-locale-section { padding-top:3rem; }
}

/* Arabic has a semantic HTML base direction. These overrides adapt legacy
   physical alignment without reversing source/focus order or bitmap assets. */
html[lang="ar"] body, html[lang="ar"] input, html[lang="ar"] select,
html[lang="ar"] textarea, html[lang="ar"] button {
  font-family: "Geeza Pro", "Noto Naskh Arabic", Tahoma, Arial, sans-serif;
}
html[lang="ar"] body { line-height: 1.9; }
html[lang="ar"] :is(h1,h2,h3,h4,h5,h6,.button,button,label,#nav,#navPanel,.site-locale-section,.site-locale-example__label) {
  letter-spacing: normal; text-transform: none; line-height: 1.65;
}
html[lang="ar"] :is(#main,.site-locale-example,.lt-heroCopy,.lt-featureCopy,.plrt-table th,.plrt-table td) { text-align: start; }
html[lang="ar"] :is(p,li,dd,dt,a,button,label) { overflow-wrap: break-word; }
html[lang="ar"] :is(ul,ol):not(.links,.actions,.icons) { padding-inline-start: 1.25rem; padding-inline-end: 0; }
html[lang="ar"] .site-language-switch { unicode-bidi: isolate; }
html[lang="ar"] .site-language-switch a { unicode-bidi: isolate; display: inline-block; }
html[lang="ar"] :is(.site-locale-example,.site-locale-section) { font-family: inherit; }
html[lang="ar"] .site-locale-example strong { font-family: inherit; line-height: 1.65; }
html[lang="ar"] .site-locale-example__label { font-family: inherit; }
html[lang="ar"] :is(input,select,button,.button) { max-inline-size: 100%; }
html[lang="ar"] :is(th,td) { text-align: start; }
html[lang="ar"] bdi { unicode-bidi: isolate; }
html[lang="ar"] :is(.button,button) { white-space: normal; height: auto; min-height: 44px; }
@media(max-width:980px) {
  html[lang="ar"] body:not(.homepage-page) .site-locale-section { padding-block-start: 3rem; }
}
/* The retained English landing/content rules set fonts and physical alignment
   on descendants. Override those explicitly only within Arabic documents. */
html[lang="ar"] body * { letter-spacing: normal !important; text-transform: none !important; }
html[lang="ar"] body :is(h1,h2,h3,h4,h5,h6,p,a,label,button,input,select,textarea,li,dt,dd,th,td,summary,strong,span) {
  font-family: "Geeza Pro", "Noto Naskh Arabic", Tahoma, Arial, sans-serif !important;
}
html[lang="ar"] body #main :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,th,td) { text-align: start !important; }
html[lang="ar"] body :is(h1,h2,h3,h4,h5,h6) { line-height: 1.65 !important; }
html[lang="ar"] body :is(p,li,dt,dd,label,summary) { line-height: 1.9; }
html[lang="ar"] body .site-locale-store-link.lt-appStoreBtn { gap: .35em; }
html[lang="ar"] body #main :is(.lt-cardCta,.lt-textCta) { display: inline-block; line-height: 1.7; }
html[lang="ar"] body #main :is(p,li,dt,dd,label,summary) { line-height: 1.9 !important; }
html[lang="ar"] body :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 3px solid rgba(53, 84, 40, 0.32) !important; outline-offset: 3px;
}
html[lang="ar"] .iphone-handoff__fallback { display: inline-block; }
html[lang="ar"] .iphone-handoff__instruction bdi { white-space: nowrap; }
/* Keep a financial value and its code together; wide tables scroll as a unit. */
html[lang="ar"] td bdi[dir="ltr"] { white-space: nowrap; }
html[lang="ar"] body.personal-loan-repayment-tracker-page .plrt-rule-callout {
  border-inline-end: 0; border-inline-start: 4px solid #afe67e;
  border-start-start-radius: 0; border-end-start-radius: 0;
  border-start-end-radius: 16px; border-end-end-radius: 16px;
}
html[lang="ar"] body.personal-loan-repayment-tracker-page .plrt-table :is(th,td)::before {
  letter-spacing: normal; text-transform: none; line-height: 1.7; text-align: start;
}
html[lang="ar"] body.personal-loan-repayment-tracker-page #main bdi[dir="ltr"] { white-space: nowrap; }
html[lang="ar"] body.personal-loan-repayment-tracker-page #main .plrt-record-once__download .lt-appStoreBtn {
  display: inline-block; text-align: center; width: min(225px, 100%) !important;
}
/* Arabic start-aligned anchor headings need room below the fixed menu control. */
html[lang="ar"] #main :is(section[id],h1[id],h2[id],h3[id]) { scroll-margin-block-start: 4rem; }
/* Settlement prose must remain an inline Arabic sentence, with isolated tokens. */
html[lang="ar"] .split-calculator .settlement-item { display: block; line-height: 1.9; }
html[lang="ar"] .split-calculator :is(.result-item,.settlement-item) { overflow-wrap: anywhere; min-inline-size: 0; }
html[lang="ar"] .split-calculator :is(.result-item strong,.settlement-item) bdi[dir="ltr"] { white-space: nowrap; }
html[lang="ar"] .split-calculator .checkbox-pill span { min-inline-size: 0; max-inline-size: 100%; }
html[lang="ar"] .split-calculator .checkbox-pill bdi { overflow-wrap: anywhere; }

/* French discovery links need the same clearance below the mobile menu. */
html[lang="fr"] #main { overflow-wrap: break-word; }
@media(max-width:980px) {
  html[lang="fr"] body:not(.homepage-page) .site-locale-section { padding-top:3rem; }
}
/* Keep French fallback labels in the sentence instead of separate flex columns. */
html[lang="fr"] body #main :is(.lt-cardCta,.lt-textCta,.lt-situationPrimaryCta,.lt-reviewMoreLink) {
  display: inline-block; white-space: normal; line-height: 1.5;
}
/* Workflow number badges must not style nested English fallback text. */
html[lang="fr"] body #main .solution-step-item .site-locale-fallback {
  display: inline; width: auto; height: auto; border-radius: 0;
  background: none; color: inherit; font: inherit;
}
/* Stacked loan-table headers need the full mobile card width in both locales. */
@media(max-width:736px) {
  html:is([lang="fr"],[lang="de"]) body.personal-loan-repayment-tracker-page .plrt-table--compact tbody th { width: 100%; }
}
/* French download text needs the same readable measure as the Arabic label. */
html[lang="fr"] body.personal-loan-repayment-tracker-page #main .plrt-record-once__download .lt-appStoreBtn {
  display: inline-block; text-align: center; width: min(225px, 100%) !important;
}
html[lang="fr"] body.personal-loan-repayment-tracker-page #main .plrt-button:has(.site-locale-fallback) {
  display: inline-block; text-align: center; white-space: normal;
}
