/* Navbar interaction refinements: remove yellow hover line, add subtle active bg */
.navbar-nav .nav-link{position:relative;font-weight:600;color:var(--ink);padding:.5rem .75rem;border-radius:.5rem;transition:background-color .2s ease,color .2s ease, border-color .2s ease, box-shadow .2s ease;cursor:pointer;border:1px solid transparent;background:transparent;box-shadow:none}
.navbar{background:#fff;padding-left:0;padding-right:0}
.navbar-nav .nav-link::after{content:none !important}
.navbar-nav .nav-link:hover{color:var(--brand);background:rgba(13,110,253,.10);border-color:rgba(13,110,253,.15);box-shadow:none}
.navbar-nav .nav-link:focus{outline:none;box-shadow:0 0 0 3px rgba(13,110,253,.18)}
.navbar-nav .nav-link.active{background:rgba(13,110,253,.14);color:var(--ink);font-weight:700;border-color:rgba(13,110,253,.22);box-shadow:none}

/* Ensure any prior sliding indicator is hidden */
.nav-indicator{display:none !important}

/* Collapsed menu panel styling (mobile/tablet) */
@media (max-width:991.98px){
  .nav-area{background:#fff;border-top:1px solid rgba(0,0,0,.06);padding:.5rem .75rem}
  .navbar-nav.even-split{justify-content:flex-start}
  .navbar-nav.even-split > li{flex:0 0 auto}
}

/* Ensure brand/logo matches products page sizing and sits flush-left */
.app-navbar{--nav-h:56px}
@media (max-width: 992px){.app-navbar{--nav-h:52px}}
@media (max-width: 576px){.app-navbar{--nav-h:44px}}
.app-navbar .navbar-brand{height:var(--nav-h);padding-left:0;margin-left:0}
.navbar-brand .logo{height:100%;max-height:100%;width:auto}
/* Remove any unexpected left spacing from container on home */
.app-navbar .container-fluid{padding-left:0}

/* Fit factory image within grid without overpowering text */
.why-img{width:100%;max-height:420px;object-fit:cover}
@media (max-width: 992px){.why-img{max-height:360px}}
@media (max-width: 576px){.why-img{max-height:280px}}
/* Show more floor on desktop: bottom-biased crop; keep full image on small screens */
/* Base: small/medium screens show full image without crop */
.why-img{width:100%;object-fit:contain;max-height:360px}
@media (max-width: 576px){.why-img{max-height:280px}}
/* Desktop: gentle crop with floor visible */
@media (min-width: 992px){
  .why-img{object-fit:cover;object-position:center center;max-height:560px}
}

/* Ensure primary buttons are high-contrast and visible on light backgrounds */
.btn-primary{
  color:#fff !important;
  background-image:linear-gradient(90deg,var(--brand),var(--brand-2)) !important;
  background-color:var(--brand) !important;
  border-color:transparent !important;
  box-shadow:0 .6rem 1.2rem rgba(13,110,253,.22);
}
.btn-primary:hover,
.btn-primary:focus{
  color:#fff !important;
  background-image:linear-gradient(90deg,var(--brand-2),var(--brand)) !important;
  background-color:var(--brand-2) !important;
  border-color:transparent !important;
}
.btn-primary:active{
  color:#fff !important;
  background-image:linear-gradient(90deg,var(--brand-2),var(--brand-2)) !important;
  background-color:var(--brand-2) !important;
}
/* Home-only Trusted Partners styling (scoped) */
.home-trusted .fw-bold{color:var(--brand);background:none;-webkit-text-fill-color:initial;text-shadow:0 1px 0 rgba(13,110,253,.18)}

@media (prefers-reduced-motion: reduce){.home-trusted .fw-bold::after{animation:none;width:120px}}
.home-trusted .text-muted{color:#2b3855 !important;font-weight:600;letter-spacing:.2px}

.home-trusted .fw-bold{color:var(--brand);background:none;-webkit-text-fill-color:initial;text-shadow:0 1px 0 rgba(13,110,253,.18)}
.home-trusted .text-muted{color:#2b3855 !important;font-weight:600;letter-spacing:.2px}
/* Moving text effect scoped to Trusted Partners subtext */
.home-trusted .moving-text{display:inline-block;background:linear-gradient(90deg,var(--brand),var(--brand-2),var(--brand));background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:hp-marquee 6s linear infinite;font-weight:600;letter-spacing:.2px}
@keyframes hp-marquee{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@media (prefers-reduced-motion: reduce){.home-trusted .moving-text{display:inline-block;background:linear-gradient(90deg,var(--brand),var(--brand-2),var(--brand));background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:hp-marquee 6s linear infinite;font-weight:600;letter-spacing:.2px}}

/* Home Trusted Partners: solid brand heading, softer gray subtext */
.home-trusted .fw-bold{color:var(--brand);background:none;-webkit-text-fill-color:initial;text-shadow:0 1px 0 rgba(13,110,253,.18)}
.home-trusted .text-muted{color:#2b3855 !important;font-weight:600;letter-spacing:.2px}
.home-trusted .moving-text{background:none;-webkit-text-fill-color:initial;color:#6b7a90;animation:none}

/* Home Trusted Partners: brand heading + softer subtext + motion underline */
.home-trusted .fw-bold{color:var(--brand);background:none;-webkit-text-fill-color:initial;text-shadow:0 1px 0 rgba(13,110,253,.18)}
.home-trusted .text-muted{color:#2b3855 !important;font-weight:600;letter-spacing:.2px}
.home-trusted .tp-sub{position:relative;display:inline-block}
.home-trusted .tp-sub::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:-.25rem;height:3px;width:0;background:linear-gradient(90deg,var(--brand),var(--brand-2));border-radius:2px;animation:tp-underline 3.2s ease-in-out infinite}
@keyframes tp-underline{0%{width:0}50%{width:120px}100%{width:0}}
@media (prefers-reduced-motion: reduce){.home-trusted .tp-sub::after{animation:none;width:120px}}

/* Improve spacing and fit for Trusted Partners row */
.home-trusted .col{max-width:920px;margin-inline:auto}
.home-trusted h3.fw-bold{margin-bottom:.75rem !important;line-height:1.2}
.home-trusted .text-muted{margin-top:.25rem !important;line-height:1.55}
.home-trusted .tp-sub{display:inline-block;padding-bottom:.25rem}
/* Home CTA: brand gradient, high-contrast text */
.home-cta{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff}
.home-cta .cta-title{color:#fff;margin-bottom:.5rem;letter-spacing:.2px}
.home-cta .cta-sub{color:rgba(255,255,255,.9);margin-bottom:1.1rem}
.home-cta .btn-accent{box-shadow:0 .8rem 1.6rem rgba(255,193,7,.28)}

/* Products hero sizing — match home */
.products-hero{min-height:48vh}
@media (max-width:576px){.products-hero{min-height:38vh}}

/* Products hero tweaks and parallax support */
.products-hero .hero-overlay{background:linear-gradient(135deg, rgba(13,110,253,.26), rgba(102,16,242,.18))}
.products-hero .hero-bg{will-change:transform;transform:translateY(0)}
@media (prefers-reduced-motion: reduce){
  .products-hero .hero-bg{transform:none !important}
}
/* De-emphasize background images under products hero for better text focus */
.products-hero .hero-bg .carousel-item img{filter:brightness(.58) saturate(.9) contrast(.95)}

/* Products hero caption (no panel, just text) */
.products-hero #prodHeroTitle{letter-spacing:.2px;font-size:clamp(1.6rem,4vw,2.25rem);line-height:1.15}
@media (prefers-reduced-motion: reduce){
  .products-hero #prodHeroTitle{animation:none}
}
.products-hero .hero-lead{font-weight:700;letter-spacing:.2px;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.35}

/* Theme: light (white text) vs dark (ink) */
.products-hero .caption-light #prodHeroTitle,
.products-hero .caption-light .hero-lead{color:#fff;text-shadow:0 3px 10px rgba(0,0,0,.45),0 0 6px rgba(0,0,0,.35);-webkit-text-stroke:0.2px rgba(0,0,0,.35)}

.products-hero .caption-dark #prodHeroTitle,
.products-hero .caption-dark .hero-lead{color:var(--ink);text-shadow:0 1px 2px rgba(255,255,255,.55), 0 1px 1px rgba(0,0,0,.15)}

/* Alignment helpers */
.products-hero .prod-hero-caption.align-left{text-align:left;max-width:760px}
.products-hero .prod-hero-caption.align-right{text-align:right;max-width:760px;margin-left:auto}

/* Soft directional vignette behind text (not a box) */
.products-hero .prod-hero-caption{position:relative;isolation:isolate}
.products-hero .prod-hero-caption.align-left{--ph-spot-x:20%}
.products-hero .prod-hero-caption.align-right{--ph-spot-x:80%}
.products-hero .prod-hero-caption::before{
  content:"";position:absolute;inset:-1rem;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at var(--ph-spot-x,20%) 50%, rgba(0,0,0,.45) 0%, rgba(0,0,0,.28) 40%, transparent 70%);
}
@media (max-width:576px){
  .products-hero .prod-hero-caption::before{inset:-.5rem}
}
@media (max-width:576px){
  .products-hero .hero-copy{padding:1rem 1.25rem !important;max-width:100%}
}

/* Attractive product card interactions */
.thumb-card{transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}
.thumb-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 1rem 2rem rgba(13,110,253,.15)}
.thumb-card .ratio{position:relative;overflow:hidden}
.thumb-card .ratio::after{content:"";position:absolute;inset:-20%;background:linear-gradient(120deg, transparent 40%, rgba(255,255,255,.22) 50%, transparent 60%);transform:translateX(-120%);transition:transform .6s ease}
.thumb-card:hover .ratio::after{transform:translateX(120%)}
.thumb-card .card-body{position:relative}
.thumb-card:hover .thumb-title{color:var(--brand)}

/* Nav pills polish on products page */
#productsTabs .nav-link{border-radius:999px}
#productsTabs .nav-link.active{color:#fff;background:linear-gradient(90deg,var(--brand),var(--brand-2));box-shadow:0 .6rem 1.2rem rgba(13,110,253,.18)}

/* Performance: avoid rendering offscreen product cards until needed */
.thumb-card{content-visibility:auto;contain-intrinsic-size: 320px 280px}
.thumb-card .thumb-img{contain: content}

/* About (Company) page polish */
.page-company .hero-section .display-5{
  color:#fff;letter-spacing:.2px;text-shadow:0 3px 10px rgba(0,0,0,.45),0 0 14px rgba(0,0,0,.25)
}
.page-company .hero-section .lead{color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.35)}

/* Glass cards: subtle frosted look, professional hover */
.page-company .border.rounded-3.h-100.reveal,
.page-company .bg-light.border.rounded-3.h-100.text-center.reveal,
.page-company .p-4.rounded-3.shadow-sm.bg-light.reveal{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 .6rem 1.2rem rgba(0,0,0,.08);
  backdrop-filter:blur(6px) saturate(110%);
  -webkit-backdrop-filter:blur(6px) saturate(110%);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  position:relative;overflow:hidden
}
.page-company .border.rounded-3.h-100.reveal::after,
.page-company .bg-light.border.rounded-3.h-100.text-center.reveal::after,
.page-company .p-4.rounded-3.shadow-sm.bg-light.reveal::after{
  content:"";position:absolute;inset:auto -40% -60% -40%;height:120px;background:radial-gradient(ellipse at 50% 50%, rgba(255,255,255,.35), transparent 60%);filter:blur(6px);pointer-events:none
}
.page-company .border.rounded-3.h-100.reveal:hover,
.page-company .bg-light.border.rounded-3.h-100.text-center.reveal:hover,
.page-company .p-4.rounded-3.shadow-sm.bg-light.reveal:hover{
  transform:translateY(-2px);
  box-shadow:0 1.2rem 2rem rgba(0,0,0,.12);
  border-color:rgba(13,110,253,.22)
}

/* Contact card: add brand accent bar */
.page-company .p-4.rounded-3.shadow-sm.bg-light.reveal{
  padding-left:1.5rem
}
.page-company .p-4.rounded-3.shadow-sm.bg-light.reveal::before{
  content:"";position:absolute;left:-2px;top:12px;bottom:12px;width:4px;border-radius:3px;background:linear-gradient(180deg,var(--brand),var(--brand-2))
}
@media (max-width:576px){
  .page-company .p-4.rounded-3.shadow-sm.bg-light.reveal{padding-left:1.25rem}
}

/* Contact page: professional, conversion-focused */
.page-contact h1.fw-bold{letter-spacing:.2px;text-shadow:0 2px 6px rgba(0,0,0,.15)}
.page-contact .needs-validation{background:rgba(255,255,255,.82);border:1px solid rgba(0,0,0,.06);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:.75rem;padding:1rem 1.25rem;box-shadow:0 .6rem 1.2rem rgba(0,0,0,.08)}
.page-contact .btn-primary{box-shadow:0 .6rem 1.2rem rgba(13,110,253,.22)}
.page-contact .form-control:focus,.page-contact .form-select:focus{border-color:rgba(13,110,253,.45);box-shadow:0 0 0 .2rem rgba(13,110,253,.15)}
.page-contact .contact-quick .btn{box-shadow:0 .4rem .9rem rgba(0,0,0,.08)}
.page-contact .col-lg-6 > .p-4.rounded.shadow-sm.bg-light.h-100,
.page-contact .col-lg-6 > .p-4.rounded-3.shadow-sm.bg-light.h-100{position:relative;background:rgba(255,255,255,.78);border:1px solid rgba(0,0,0,.06);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 .6rem 1.2rem rgba(0,0,0,.08)}
.page-contact .col-lg-6 > .p-4.rounded.shadow-sm.bg-light.h-100::before,
.page-contact .col-lg-6 > .p-4.rounded-3.shadow-sm.bg-light.h-100::before{content:"";position:absolute;left:-2px;top:12px;bottom:12px;width:4px;border-radius:3px;background:linear-gradient(180deg,var(--brand),var(--brand-2))}
.page-contact .contact-aside .contact-list i{font-size:1.05rem;line-height:1}
.page-contact .contact-aside .btn{box-shadow:0 .4rem .9rem rgba(0,0,0,.08)}
.page-contact .contact-aside .ratio{border-radius:.75rem;overflow:hidden}
.page-contact .contact-aside .contact-list li{padding:.15rem 0}

/* Softer, professional alerts on contact page */
.page-contact .alert-soft{background:#fff;border:1px solid rgba(0,0,0,.06);border-left:4px solid transparent;border-radius:.5rem;box-shadow:0 .6rem 1.2rem rgba(0,0,0,.06);color:var(--ink)}
.page-contact .alert-success.alert-soft{background:#f6fffa;border-left-color:#198754;color:#0f5132}
.page-contact .alert-danger.alert-soft{background:#fff7f5;border-left-color:var(--brand);color:#2b3855}
.page-contact .alert-soft .bi{font-size:1.1rem}
.page-contact .alert-soft{transition:transform .3s ease, opacity .3s ease}
.page-contact .alert-soft.slide-out-right{transform:translateX(40px);opacity:0}

