/* CB-UI 3.0 / Public site. Shared header loads this AFTER v1/v2.
   Presentation-only. The route class is server-generated from SCRIPT_NAME. */
body.cb-ui-public {
 --cb3-teal:#06231f; --cb3-teal-mid:#07574c; --cb3-gold:#e6a129;
 --cb3-ink:#183b35;--cb3-muted:#536f67;--cb3-line:#d9e7e1;
 --cb3-bg:#f5f9f7;--cb3-paper:#fff;--cb3-elev:0 12px 36px rgba(6,35,31,.09);
 font-family:Inter,'Noto Sans Devanagari','Segoe UI',system-ui,sans-serif;
 -webkit-font-smoothing:antialiased;
}
body.cb-ui-public main {min-width:0}
body.cb-ui-public :where(input,select,textarea,button) {font-family:inherit;letter-spacing:normal}
body.cb-ui-public :where(input,select,textarea) {max-width:100%}
body.cb-ui-public :where(a,button,input,select,textarea):focus-visible {outline:3px solid #e6a129!important;outline-offset:3px!important}
body.cb-ui-public :where(button,[role="button"],a) { -webkit-tap-highlight-color:transparent; }
body.cb-ui-public :where(h1,h2,h3) {text-wrap:balance;letter-spacing:-.025em;line-height:1.25}
body.cb-ui-public :where(p,li) {overflow-wrap:break-word}
body.cb-ui-public .cb-brand-logo img {object-fit:contain}
body.cb-ui-public .footer-grid {align-items:start}
body.cb-ui-public footer .footer-col a {min-height:28px;display:inline-flex;align-items:center}
body.cb-ui-public footer .footer-col :where(p,a) {font-size:13px;line-height:1.65}

/* Public homepage: retain commercial copy, trust claims and conversion logic. */
body.cb-ui-route-index .hero {isolation:isolate}
body.cb-ui-route-index .hero .hero-container {max-width:1260px;margin-inline:auto;gap:clamp(22px,4vw,64px)}
body.cb-ui-route-index .hero .hero-text h1 {font-size:clamp(33px,4.3vw,58px)!important;line-height:1.12!important;letter-spacing:-.045em!important;max-width:720px}
body.cb-ui-route-index .hero .hero-text>p {font-size:clamp(14px,1.45vw,17px)!important;line-height:1.72;max-width:650px}
body.cb-ui-route-index .hero :where(input,select,textarea) {min-height:48px;font-size:16px;line-height:1.4;border-radius:12px}
body.cb-ui-route-index .hero :where(.hero-form,.form-card,.loan-form,.form-container) {border-radius:22px;box-shadow:0 18px 48px rgba(0,0,0,.16)}
body.cb-ui-route-index .hero :where(button,.cta-btn,.btn-primary) {min-height:48px;border-radius:12px;font-weight:750}
body.cb-ui-route-index .hero .trust-badges {gap:12px}
body.cb-ui-route-index .hero .badge-item h3 {font-size:16px!important}
body.cb-ui-route-index .hero .badge-item p {font-size:12px!important}
body.cb-ui-route-index :where(.features-grid,.benefits-grid,.faq-container) {max-width:1240px;margin-inline:auto}
body.cb-ui-route-index :where(.feature-card,.benefit-card,.step-card) {border-radius:19px}
body.cb-ui-route-index :where(#step-details,#step-otp-form) input {font-size:16px;min-height:46px}

/* Contact is a real shared-header route with dense inline styling. */
body.cb-ui-route-contact-us main {max-width:980px!important;padding:clamp(20px,4vw,44px) 16px 110px!important}
body.cb-ui-route-contact-us main>section {background:var(--cb3-paper)!important;border:1px solid var(--cb3-line)!important;border-radius:24px!important;box-shadow:var(--cb3-elev);padding:clamp(20px,4vw,42px)!important;color:var(--cb3-ink)}
body.cb-ui-route-contact-us main h1 {font-size:clamp(26px,3.4vw,36px);color:var(--cb3-ink)}
body.cb-ui-route-contact-us main :where(input,select,textarea) {min-height:46px;border:1px solid #cddfd8;border-radius:11px;background:#fff;color:#153c34;font-size:16px;padding:11px 13px}
body.cb-ui-route-contact-us main textarea {min-height:110px;resize:vertical}
body.cb-ui-route-contact-us main :where(label,small) {line-height:1.5}
body.cb-ui-route-contact-us main button {min-height:47px;border-radius:11px;font-weight:750}

/* Shared personal-account/settings/login routes get page-matched backgrounds, not an imposed widget rewrite. */
body:is(.cb-ui-route-myaccount,.cb-ui-route-dashboard,.cb-ui-route-customer-settings,.cb-ui-route-customer-login) {background:var(--cb3-bg)}
body.cb-ui-route-customer-login main :where(input,select) {min-height:46px;font-size:16px;border-radius:11px}
body.cb-ui-route-customer-login main :where(button,.btn) {min-height:45px}
body.cb-ui-route-customer-settings .cb-settings-nav {scrollbar-width:thin;scroll-snap-type:x proximity}
body.cb-ui-route-customer-settings .cb-settings-nav a {scroll-snap-align:start;white-space:nowrap}

@media(max-width:768px) {
 body.cb-ui-route-index .hero .hero-container {padding-inline:16px;gap:20px}
 body.cb-ui-route-index .hero .hero-text h1 {font-size:clamp(31px,8.4vw,43px)!important}
 body.cb-ui-route-index .hero .hero-text>p {font-size:14px!important;line-height:1.68}
 body.cb-ui-route-index .hero :where(.form-card,.hero-form,.form-container) {border-radius:17px}
 body.cb-ui-public footer .footer-grid {gap:22px;grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){body.cb-ui-public *,body.cb-ui-public *::before,body.cb-ui-public *::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}
/* SEO/educational standalone routes use shared header and cb-seo-page root. */
body.cb-ui-public .cb-seo-page .cb-seo-wrap{max-width:1210px}
body.cb-ui-public .cb-seo-page .cb-seo-hero h1{font-size:clamp(30px,4.2vw,50px);line-height:1.15;letter-spacing:-.035em}
body.cb-ui-public .cb-seo-page .cb-seo-hero p{font-size:clamp(14px,1.4vw,17px);line-height:1.75}
body.cb-ui-public .cb-seo-page :where(.cb-seo-section,.cb-seo-card,.cb-seo-faq){border-radius:18px}
body.cb-ui-public .cb-seo-page :where(.cb-seo-primary,.cb-seo-secondary){min-height:46px;display:inline-flex;align-items:center;justify-content:center;line-height:1.35;border-radius:12px}
body.cb-ui-public .cb-seo-page .cb-seo-card a{display:flex;align-items:center;min-height:40px;line-height:1.4}
body.cb-ui-public .cb-seo-page details summary{min-height:46px;display:flex;align-items:center;cursor:pointer;font-size:14px;line-height:1.5}
body.cb-ui-public .cb-seo-page :where(input,select){font-size:16px;min-height:45px}
