
/* The old 3.6-second opening animation could make healthy pages look frozen.
   v123 opens content immediately and keeps the interface calm. */
html.tr-website-loader-pending,
html.tr-website-loader-pending body{
  overflow:auto!important;
  overscroll-behavior:auto!important;
}
.tr-website-loader{display:none!important}
/* TR Global v125 — visual and runtime recovery.
   Final, intentionally narrow overrides for public buyer pages only.
   Keeps portal/business logic untouched while restoring one consistent,
   minimal and premium public presentation. */

:root{
  --tr122-navy:#0b1230;
  --tr122-blue:#3156c7;
  --tr122-blue-deep:#203f9f;
  --tr122-gold:#d6ad54;
  --tr122-ink:#111735;
  --tr122-muted:#66718a;
  --tr122-line:#e2e7f0;
  --tr122-soft:#f7f8fb;
  --tr122-container:min(1240px,calc(100% - 48px));
}

/* One header on every public page. Older page-specific header rules had
   higher specificity and were changing the menu from page to page. */
body.public-site .tr-public-header-v121{
  position:relative!important;
  z-index:120!important;
  background:#fff!important;
  border-bottom:1px solid rgba(17,23,53,.08)!important;
  box-shadow:0 8px 28px rgba(15,25,62,.055)!important;
  backdrop-filter:none!important;
}
body.public-site .tr-public-header-v121 .container{
  width:var(--tr122-container)!important;
  max-width:1240px!important;
  margin-inline:auto!important;
}
body.public-site .tr-public-header-v121 .topline{
  background:var(--tr122-navy)!important;
  color:#fff!important;
}
body.public-site .tr-public-header-v121 .topline-inner{
  min-height:30px!important;
  padding-block:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  font-size:.67rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}
body.public-site .tr-public-header-v121 .topline-inner>div{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
}
body.public-site .tr-public-header-v121 .topline a{
  color:#fff!important;
  font-weight:850!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
body.public-site .tr-public-header-v121 .nav{
  position:relative!important;
  min-height:76px!important;
  height:auto!important;
  padding-block:0!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
}
body.public-site .tr-public-header-v121 .brand{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex:0 0 auto!important;
  min-width:0!important;
  text-decoration:none!important;
}
body.public-site .tr-public-header-v121 .brand-mark{
  width:43px!important;
  height:43px!important;
  flex:0 0 43px!important;
}
body.public-site .tr-public-header-v121 .brand-mark img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
body.public-site .tr-public-header-v121 .brand-name{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  max-width:none!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
body.public-site .tr-public-header-v121 .brand-name strong{
  max-width:none!important;
  color:#11143f!important;
  font-size:.91rem!important;
  line-height:1.05!important;
  font-weight:900!important;
  letter-spacing:.015em!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
body.public-site .tr-public-header-v121 .brand-name small{
  display:block!important;
  margin-top:4px!important;
  color:#5368bf!important;
  font-size:.64rem!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
body.public-site .tr-public-header-v121 .nav-links{
  display:flex!important;
  align-items:center!important;
  gap:1px!important;
  margin-left:auto!important;
  min-width:0!important;
  flex-wrap:nowrap!important;
}
body.public-site .tr-public-header-v121 .nav-links>a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:9px 10px!important;
  border:0!important;
  border-radius:11px!important;
  background:transparent!important;
  color:#27314e!important;
  font-size:.76rem!important;
  line-height:1.1!important;
  font-weight:850!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
body.public-site .tr-public-header-v121 .nav-links>a:hover{
  background:#f1f4fb!important;
  color:#203f9f!important;
}
body.public-site .tr-public-header-v121 .nav-links>a.active,
body.public-site .tr-public-header-v121 .nav-links>a[aria-current="page"]{
  background:#eef2ff!important;
  color:#274ab4!important;
  box-shadow:inset 0 0 0 1px rgba(49,86,199,.12)!important;
}
body.public-site .tr-public-header-v121 .nav-links>a.nav-project-link{
  margin-left:5px!important;
  padding-inline:13px!important;
  border:1px solid #d9e0ee!important;
  background:#fff!important;
  color:#202a49!important;
  border-radius:999px!important;
}
body.public-site .tr-public-header-v121 .nav-links>a.nav-project-link:hover{
  border-color:#bfcbe4!important;
  background:#f8f9fc!important;
}
body.public-site .tr-public-header-v121 .nav-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:10px 17px!important;
  border-radius:999px!important;
  background:var(--tr122-navy)!important;
  color:#fff!important;
  font-size:.78rem!important;
  font-weight:900!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  box-shadow:0 11px 26px rgba(11,18,48,.16)!important;
}
body.public-site .tr-public-header-v121 .nav-cta:hover,
body.public-site .tr-public-header-v121 .nav-cta.active{
  background:#1b2f6f!important;
  color:#fff!important;
}

/* Language selector recovery: a late generic select rule inherited the
   label's 0px font size, leaving an empty capsule. */
body.public-site .tr-public-header-v121 .tr-language-switcher{
  position:relative!important;
  z-index:60!important;
  display:flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  margin-left:0!important;
}
body.public-site .tr-public-header-v121 .tr-language-label{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  position:relative!important;
  font-size:0!important;
  line-height:1!important;
}
body.public-site .tr-public-header-v121 .tr-language-label:before{
  content:"🌐"!important;
  display:inline-block!important;
  font-size:14px!important;
  line-height:1!important;
}
body.public-site .tr-public-header-v121 .tr-language-switcher select{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:block!important;
  width:auto!important;
  min-width:104px!important;
  max-width:132px!important;
  height:38px!important;
  margin:0!important;
  padding:0 31px 0 12px!important;
  border:1px solid #dbe2ef!important;
  border-radius:999px!important;
  background-color:#fff!important;
  color:#11143f!important;
  -webkit-text-fill-color:#11143f!important;
  font-family:Inter,"Noto Sans","Noto Sans Tamil","Noto Sans Sinhala","Noto Sans Bengali","Segoe UI",Arial,sans-serif!important;
  font-size:.73rem!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:0!important;
  text-indent:0!important;
  opacity:1!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
body.public-site .tr-public-header-v121 .tr-language-switcher select:focus-visible{
  border-color:#8fa6df!important;
  outline:3px solid rgba(49,86,199,.17)!important;
  outline-offset:2px!important;
}
body.public-site .tr-public-header-v121 .tr-language-switcher.is-translating:after{
  position:absolute!important;
  right:-12px!important;
}

body.public-site .tr-public-header-v121 .nav-toggle{
  display:none!important;
  min-height:42px!important;
  padding:9px 12px!important;
  border:1px solid #d8e0ed!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#1c315f!important;
  font-size:.78rem!important;
  font-weight:900!important;
  box-shadow:none!important;
}
body.public-site .tr-public-header-v121 .nav-links>a.nav-mobile-login{display:none!important}

/* Compact, premium generic public heroes. This does not replace the homepage
   composition; it only prevents secondary pages from becoming oversized. */
body.public-site:not(.home-client-visibility) :is(.mega-public-hero,.public-page-hero){
  padding-block:clamp(62px,7vw,92px)!important;
}
body.public-site:not(.home-client-visibility) .mega-public-hero{
  background:linear-gradient(135deg,#0c173c 0%,#15366f 100%)!important;
}
body.public-site:not(.home-client-visibility) :is(.mega-public-hero,.public-page-hero) h1{
  max-width:850px!important;
  margin-top:18px!important;
  margin-bottom:18px!important;
  font-size:clamp(2.75rem,5.1vw,4.8rem)!important;
  line-height:.98!important;
  letter-spacing:-.052em!important;
}
body.public-site:not(.home-client-visibility) :is(.mega-public-hero,.public-page-hero)>div>p,
body.public-site:not(.home-client-visibility) :is(.mega-public-hero,.public-page-hero) .container>p{
  max-width:700px!important;
  font-size:1.02rem!important;
  line-height:1.7!important;
}
body.public-site .mega-section,
body.public-site .public-section{
  padding-block:clamp(54px,6vw,80px)!important;
}
body.public-site .mega-heading h2,
body.public-site .public-section-head h2{
  font-size:clamp(2rem,3.7vw,3.35rem)!important;
  line-height:1.03!important;
  letter-spacing:-.04em!important;
}

/* Keep the homepage premium while removing the oversized, crowded feeling. */
body.home-client-visibility .bx-hero{
  padding-block:clamp(66px,7vw,92px)!important;
}
body.home-client-visibility .bx-hero h1{
  font-size:clamp(3.25rem,5.2vw,5.2rem)!important;
  line-height:.96!important;
  letter-spacing:-.055em!important;
}
body.home-client-visibility .bx-lead{
  max-width:650px!important;
  font-size:1.06rem!important;
  line-height:1.72!important;
}
body.home-client-visibility .bx-section{
  padding-block:clamp(60px,6.5vw,88px)!important;
}

/* Footer was visually heavier than the buyer pages. Keep all links, but make
   the hierarchy quieter and more compact. */
body.public-site .tr-public-footer-v121{
  margin-top:0!important;
  background:var(--tr122-navy)!important;
  color:#fff!important;
}
body.public-site .tr-public-footer-v121 .container{
  width:var(--tr122-container)!important;
  max-width:1240px!important;
}
body.public-site .tr-public-footer-v121 .public-footer-cta{
  padding-block:27px!important;
  gap:20px!important;
}
body.public-site .tr-public-footer-v121 .public-footer-cta h2{
  max-width:720px!important;
  font-size:clamp(1.35rem,2.3vw,2rem)!important;
  line-height:1.12!important;
}
body.public-site .tr-public-footer-v121 .public-footer-actions a{
  min-height:42px!important;
  padding:10px 15px!important;
  font-size:.76rem!important;
}
body.public-site .tr-public-footer-v121 .footer-main{
  padding-block:38px!important;
  gap:30px!important;
}
body.public-site .tr-public-footer-v121 .footer-brand-column>p{
  max-width:390px!important;
  font-size:.81rem!important;
}
body.public-site .tr-public-footer-v121 .footer-bottom,
body.public-site .tr-public-footer-v121 .tr-legal-footer-bar{
  padding-block:14px!important;
}

@media(max-width:1180px){
  body.public-site .tr-public-header-v121 .nav{gap:9px!important}
  body.public-site .tr-public-header-v121 .nav-links{
    display:none!important;
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:0!important;
    right:0!important;
    margin:0!important;
    padding:10px!important;
    border:1px solid #dfe5ef!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 24px 60px rgba(12,24,62,.18)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:3px!important;
    max-height:calc(100dvh - 132px)!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    z-index:160!important;
  }
  body.public-site .tr-public-header-v121 .nav-links.open{display:flex!important}
  body.public-site .tr-public-header-v121 .nav-links>a,
  body.public-site .tr-public-header-v121 .nav-links>a.nav-project-link{
    width:100%!important;
    min-height:44px!important;
    margin:0!important;
    padding:11px 13px!important;
    justify-content:flex-start!important;
    border:0!important;
    border-radius:11px!important;
    font-size:.86rem!important;
  }
  body.public-site .tr-public-header-v121 .nav-cta{display:none!important}
  body.public-site .tr-public-header-v121 .nav-links>a.nav-mobile-login{
    display:flex!important;
    margin-top:4px!important;
    background:var(--tr122-navy)!important;
    color:#fff!important;
  }
  body.public-site .tr-public-header-v121 .nav-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
  }
  body.public-site .tr-public-header-v121 .tr-language-switcher{
    margin-left:auto!important;
  }
}

@media(max-width:760px){
  :root{--tr122-container:min(100% - 28px,1240px)}
  body.public-site .tr-public-header-v121 .topline-inner{
    min-height:28px!important;
    font-size:.6rem!important;
    letter-spacing:.045em!important;
  }
  body.public-site .tr-public-header-v121 .topline-inner>div>span{display:none!important}
  body.public-site .tr-public-header-v121 .topline-inner>span{
    max-width:66vw!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  body.public-site .tr-public-header-v121 .nav{
    min-height:66px!important;
    gap:7px!important;
  }
  body.public-site .tr-public-header-v121 .brand-mark{
    width:39px!important;
    height:39px!important;
    flex-basis:39px!important;
  }
  body.public-site .tr-public-header-v121 .brand-name strong{font-size:.79rem!important}
  body.public-site .tr-public-header-v121 .brand-name small{font-size:.56rem!important}
  body.public-site .tr-public-header-v121 .tr-language-label:before{display:none!important}
  body.public-site .tr-public-header-v121 .tr-language-switcher select{
    min-width:88px!important;
    max-width:98px!important;
    height:36px!important;
    padding-left:10px!important;
    padding-right:27px!important;
    font-size:.67rem!important;
  }
  body.public-site .tr-public-header-v121 .nav-toggle{
    min-height:38px!important;
    padding:8px 10px!important;
    font-size:.72rem!important;
  }
  body.public-site .tr-public-footer-v121 .footer-main{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  body.public-site .tr-public-footer-v121 .public-footer-cta{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
}

@media(max-width:480px){
  :root{--tr122-container:min(100% - 22px,1240px)}
  body.public-site .tr-public-header-v121 .brand-name small{display:none!important}
  body.public-site .tr-public-header-v121 .brand-name strong{
    max-width:112px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.public-site .tr-public-header-v121 .tr-language-switcher select{
    min-width:76px!important;
    max-width:82px!important;
    font-size:.62rem!important;
  }
  body.public-site:not(.home-client-visibility) :is(.mega-public-hero,.public-page-hero) h1{
    font-size:clamp(2.35rem,12vw,3.25rem)!important;
  }
  body.home-client-visibility .bx-hero h1{
    font-size:clamp(2.75rem,13vw,3.8rem)!important;
  }
}


/* v123 catalogue card repair. Text is grouped into one normal-flow block so
   labels and descriptions cannot occupy the same absolute coordinates. */
body.public-site .unified-catalogue-visual article>.catalogue-visual-copy{
  position:absolute!important;
  left:20px!important;
  right:20px!important;
  bottom:20px!important;
  z-index:3!important;
  display:grid!important;
  gap:6px!important;
  min-width:0!important;
  padding:0!important;
}
body.public-site .unified-catalogue-visual article>.catalogue-visual-copy>span,
body.public-site .unified-catalogue-visual article>.catalogue-visual-copy>strong{
  position:static!important;
  inset:auto!important;
  display:block!important;
  margin:0!important;
  color:#fff!important;
  min-width:0!important;
  overflow-wrap:break-word!important;
}
body.public-site .unified-catalogue-visual article>.catalogue-visual-copy>span{
  font-size:.68rem!important;
  line-height:1.2!important;
  font-weight:950!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
body.public-site .unified-catalogue-visual article>.catalogue-visual-copy>strong{
  font-size:.98rem!important;
  line-height:1.34!important;
  font-weight:900!important;
}
body.public-site .catalogue-visual-fabric .fabric-swatch-stack{
  bottom:145px!important;
}
@media(max-width:640px){
  body.public-site .unified-catalogue-visual article>.catalogue-visual-copy{
    left:13px!important;
    right:13px!important;
    bottom:14px!important;
    gap:4px!important;
  }
  body.public-site .unified-catalogue-visual article>.catalogue-visual-copy>span{
    font-size:.57rem!important;
    letter-spacing:.11em!important;
  }
  body.public-site .unified-catalogue-visual article>.catalogue-visual-copy>strong{
    font-size:.76rem!important;
    line-height:1.3!important;
  }
  body.public-site .catalogue-visual-fabric .fabric-swatch-stack{
    bottom:112px!important;
  }
}

/* v123 mobile finishing: retain the two website actions without letting large
   promotional pills cover catalogue or form content. */
@media(max-width:640px){
  body.public-site .tr-public-header-v121 .brand-name strong{
    max-width:none!important;
    font-size:0!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
  }
  body.public-site .tr-public-header-v121 .brand-name strong:after{
    content:"TR GLOBAL";
    font-size:.76rem;
    line-height:1;
    letter-spacing:.035em;
  }
  html:not(.tr-native-app):not(.tr-pwa-standalone):not(.tr-pwa-installed):not(.tr-windows-app) body.public-site .tr-install-button{
    left:auto!important;
    right:calc(10px + var(--tr-safe-right,0px))!important;
    bottom:calc(10px + var(--tr-safe-bottom,0px))!important;
    width:50px!important;
    min-width:50px!important;
    max-width:50px!important;
    height:50px!important;
    min-height:50px!important;
    padding:6px!important;
    justify-content:center!important;
    border-radius:50%!important;
  }
  html:not(.tr-native-app):not(.tr-pwa-standalone):not(.tr-pwa-installed):not(.tr-windows-app) body.public-site .tr-install-button>span:last-child{
    display:none!important;
  }
  html:not(.tr-native-app):not(.tr-pwa-standalone):not(.tr-pwa-installed):not(.tr-windows-app) body.public-site .tr-install-button-icon{
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
    font-size:20px!important;
  }
  html:not(.tr-native-app):not(.tr-pwa-standalone):not(.tr-pwa-installed):not(.tr-windows-app) body.public-site .lily-assistant{
    right:calc(10px + var(--lily-safe-right,0px))!important;
    bottom:calc(70px + var(--lily-safe-bottom,0px))!important;
  }
  html:not(.tr-native-app):not(.tr-pwa-standalone):not(.tr-pwa-installed):not(.tr-windows-app) body.public-site .lily-launch{
    width:50px!important;
    min-width:50px!important;
    height:50px!important;
    min-height:50px!important;
    padding:5px!important;
    justify-content:center!important;
    border-radius:50%!important;
  }
  html:not(.tr-native-app):not(.tr-pwa-standalone):not(.tr-pwa-installed):not(.tr-windows-app) body.public-site .lily-launch-avatar{
    width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
  }
  html:not(.tr-native-app):not(.tr-pwa-standalone):not(.tr-pwa-installed):not(.tr-windows-app) body.public-site .lily-launch-copy{
    display:none!important;
  }
}
