/* =============================================================
   NetCity — Premium theme layer (loaded LAST, visual only)
   Fonts + depth + refined header / buttons / cards / forms.
   Brand: red (#1746c9) + ink black. Bengali kept crisp.
   ============================================================= */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Hind+Siliguri:wght@400;500;600;700&display=swap');

:root{
  --ISPTemplateV1-fonts-jost: 'Plus Jakarta Sans','Hind Siliguri','Jost',sans-serif;
  --nc-red:#1746c9;
  --nc-red-2:#ff3b3f;
  --nc-red-deep:#0c2a6b;
  --nc-ink:#15171c;
  --nc-soft:#f6eeee;
  --nc-shadow-sm:0 8px 22px -12px rgba(20,18,24,.20);
  --nc-shadow:0 26px 56px -28px rgba(20,18,24,.32);
  --nc-shadow-red:0 16px 38px -16px rgba(23,70,201,.42);
  --ISPTemplateV1-box-shadow1:0 36px 72px -28px rgba(20,18,24,.18);
  --ISPTemplateV1-box-shadow2:0 22px 48px -26px rgba(20,18,24,.16);
}

/* ---------- Typography ---------- */
html{ scroll-behavior:smooth; }
body{
  font-family:var(--ISPTemplateV1-fonts-jost);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6,
[class*="-title"],[class*="-big-title"]{
  font-family:var(--ISPTemplateV1-fonts-jost);
  letter-spacing:-.018em;
  font-weight:800;
}
p,li,span,a,label,input,textarea,select,button{ font-family:var(--ISPTemplateV1-fonts-jost); }

/* premium scrollbar + selection */
*{ scrollbar-color:var(--nc-red) #f1e9e9; }
::-webkit-scrollbar{ width:11px; height:11px; }
::-webkit-scrollbar-track{ background:#f3ecec; }
::-webkit-scrollbar-thumb{ background:linear-gradient(var(--nc-red),var(--nc-red-deep)); border-radius:10px; border:2px solid #f3ecec; }
::selection{ background:var(--nc-red); color:#fff; }

/* ---------- Header: glassy + premium ---------- */
.ISPTemplateV1-header{
  -webkit-backdrop-filter:saturate(170%) blur(12px);
  backdrop-filter:saturate(170%) blur(12px);
  background:rgba(255,255,255,.80)!important;
  border-bottom:1px solid rgba(20,18,24,.06);
  transition:background .3s ease, box-shadow .3s ease;
}
.ISPTemplateV1-header.is-sticky{
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 12px 34px -20px rgba(20,18,24,.5)!important;
}
.header-menu-list > li > a{
  font-weight:600;
  position:relative;
  transition:color .25s ease;
}
.header-menu-list > li > a::after{
  content:"";
  position:absolute; left:0; bottom:-6px;
  height:2px; width:0; border-radius:2px;
  background:linear-gradient(90deg,var(--nc-red),var(--nc-red-2));
  transition:width .3s cubic-bezier(.2,.7,.2,1);
}
.header-menu-list > li > a:hover{ color:var(--nc-red)!important; }
.header-menu-list > li > a:hover::after,
.header-menu-list > li.active > a::after{ width:100%; }

/* logo crisper */
.header-logo img,.offcanvas-logo img{ filter:drop-shadow(0 4px 10px rgba(23,70,201,.18)); }

/* ---------- Buttons: gradient + sheen + lift ---------- */
.ISPTemplateV1-btn{
  font-weight:700;
  letter-spacing:.015em;
  background-image:linear-gradient(118deg,var(--nc-red) 0%,var(--nc-red-deep) 100%)!important;
  border:none!important;
  border-radius:50px!important;
  box-shadow:var(--nc-shadow-red);
  position:relative;
  overflow:hidden;
  transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease, filter .3s ease;
}
.ISPTemplateV1-btn::before{
  content:"";
  position:absolute; top:0; left:-130%;
  width:55%; height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.4),transparent);
  transform:skewX(-20deg);
  transition:left .65s ease;
  pointer-events:none;
}
.ISPTemplateV1-btn:hover::before{ left:150%; }
.ISPTemplateV1-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 46px -16px rgba(23,70,201,.58);
  filter:brightness(1.03);
}
.ISPTemplateV1-btn.secondary{
  background-image:linear-gradient(118deg,#22262d,#3b414a)!important;
  box-shadow:0 16px 38px -16px rgba(0,0,0,.5);
}

/* ---------- Cards: refined depth + hover ---------- */
.pricing-card-single,
.WhatWeDo-card-single,
.blog-card-single,
.product-card-single,
.service-card-single,
.reliable-card-single,
[class*="-card-single"]{
  border-radius:20px!important;
  border:1px solid rgba(20,18,24,.06);
  box-shadow:var(--nc-shadow-sm);
  transition:transform .38s cubic-bezier(.2,.7,.2,1), box-shadow .38s ease, border-color .3s ease;
}
.pricing-card-single:hover,
.WhatWeDo-card-single:hover,
.blog-card-single:hover,
.product-card-single:hover,
.service-card-single:hover,
.reliable-card-single:hover,
[class*="-card-single"]:hover{
  transform:translateY(-8px);
  box-shadow:var(--nc-shadow);
  border-color:rgba(23,70,201,.22);
}

/* pricing icon + featured pop */
.pricing-card-icon{ transition:transform .4s ease; }
.pricing-card-single:hover .pricing-card-icon{ transform:scale(1.08); }
.pricing-card-single.active,
.pricing-card-single.featured,
.pricing-card-single.popular{
  border-color:var(--nc-red)!important;
  box-shadow:var(--nc-shadow-red)!important;
}

/* card image gentle zoom inside frame */
.blog-card-single-img,[class*="-card-single-img"]{ overflow:hidden; }
[class*="-card-single-img"] img{ transition:transform .6s cubic-bezier(.2,.7,.2,1); }
[class*="-card-single"]:hover [class*="-card-single-img"] img{ transform:scale(1.06); }

/* ---------- Forms: premium focus ---------- */
input,textarea,select,.form-control{
  border-radius:12px!important;
  transition:border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
input:focus,textarea:focus,select:focus,.form-control:focus{
  border-color:var(--nc-red)!important;
  box-shadow:0 0 0 4px rgba(23,70,201,.12)!important;
  outline:none!important;
}

/* ---------- Links / accents ---------- */
a{ transition:color .22s ease; }
a:hover{ color:var(--nc-red); }
[class*="section-title"] span,[class*="-title"] span{ color:var(--nc-red)!important; }

/* ---------- Footer: premium depth ---------- */
.footer-area{ position:relative; }
.footer-area::before{
  content:"";
  position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--nc-red),var(--nc-red-2),transparent);
  opacity:.85;
}
.footer-contact-list li img,.footer-about-content img{ transition:transform .3s ease; }

/* ---------- Misc premium touches ---------- */
.ISPTemplateV1-topbar,.topbar,[class*="topbar"]{ letter-spacing:.01em; }
.scroll-top,[class*="back-to-top"]{ transition:transform .3s ease, box-shadow .3s ease; }
.scroll-top:hover,[class*="back-to-top"]:hover{ transform:translateY(-4px); }

/* tab pills (pricing tabs) premium */
.nav-pills .nav-link.active,.list-group-item.active{
  background-image:linear-gradient(118deg,var(--nc-red),var(--nc-red-deep))!important;
  border-color:transparent!important;
  box-shadow:var(--nc-shadow-red);
}

/* subtle reveal of sections on load feel (no layout shift) */
.WhatWeDo-card-single,.pricing-card-single,.blog-card-single{ will-change:transform; }

/* ---------- Preloader: clean red spinner (replaces blue gif) ---------- */
#preloader{ background:#ffffff !important; }
#preloader .loader svg,
#preloader .loader image{ display:none !important; }
#preloader #loading-center .loader{
  width:56px; height:56px;
  border:4px solid rgba(23,70,201,.16);
  border-top-color:var(--nc-red);
  border-radius:50%;
  animation:nc-spin .8s linear infinite;
  box-sizing:border-box;
}
@keyframes nc-spin{ to{ transform:rotate(360deg); } }

/* ---------- Hero CTA: crisp white pill for contrast on red ---------- */
.hero-content-btn .ISPTemplateV1-btn,
.banner-single-btn .ISPTemplateV1-btn{
  background-image:none !important;
  background:#ffffff !important;
  color:var(--nc-red) !important;
  box-shadow:0 18px 44px -18px rgba(0,0,0,.4) !important;
}
.hero-content-btn .ISPTemplateV1-btn:hover,
.banner-single-btn .ISPTemplateV1-btn:hover{
  background:var(--nc-ink) !important;
  color:#ffffff !important;
}
.hero-content-btn .ISPTemplateV1-btn::before,
.banner-single-btn .ISPTemplateV1-btn::before{ background:linear-gradient(120deg,transparent,rgba(23,70,201,.18),transparent); }
