/* =========================================================
   Gresh Square Business Pvt Ltd — brand override stylesheet
   Purple + Indigo theme, layout & typography differentiation
   Loaded AFTER style.css so these rules win.
   ========================================================= */

:root{
  --gs-primary:#6d28d9;   /* violet-700  */
  --gs-primary-2:#7c3aed; /* violet-600  */
  --gs-indigo:#4f46e5;    /* indigo-600  */
  --gs-dark:#1e1b4b;      /* indigo-950  */
  --gs-soft:#f3f0ff;
}

/* ---------- Typography (new heading font for a distinct look) ---------- */
h1,h2,h3,h4,h5,h6,
.section-title h1,.hero-contents h1,.page-title h1,.banner-text,.hero-text{
  font-family:'Poppins',sans-serif !important;
  letter-spacing:-.015em;
}
.section-title p{
  color:var(--gs-primary) !important;
  font-weight:600;
  letter-spacing:2px;
  text-transform:uppercase;
}

/* ---------- Buttons: pill shape + gradient ---------- */
.theme-btn{
  border-radius:50px !important;
  background-image:linear-gradient(120deg,var(--gs-primary) 0%,var(--gs-indigo) 100%) !important;
  border:none !important;
  box-shadow:0 10px 24px rgba(109,40,217,.28);
  transition:transform .25s ease, box-shadow .25s ease;
}
.theme-btn:hover{ transform:translateY(-3px); box-shadow:0 16px 30px rgba(109,40,217,.36); }
.theme-btn.minimal-btn{
  background:transparent !important;
  box-shadow:none;
  border:2px solid rgba(255,255,255,.75) !important;
}

/* ---------- Hero ---------- */
.hero-slide-wrapper.hero-2 .single-slide{
  min-height:0 !important;
  padding-top:64px !important;
  padding-bottom:64px !important;
  display:flex;
  align-items:center;
}
@media (max-width:767px){
  .hero-slide-wrapper.hero-2 .single-slide{ padding-top:46px !important; padding-bottom:46px !important; }
}
.hero-slide-wrapper .hero-contents h1{ color:#fff; font-weight:700; }
.hero-slide-wrapper .hero-contents p{ color:rgba(255,255,255,.86); max-width:560px; }
.hero-slide-wrapper .hero-text{ color:rgba(255,255,255,.06) !important; }
.gs-hero-slide{ position:relative; }
.gs-hero-slide:before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.14), transparent 42%),
    radial-gradient(circle at 12% 90%, rgba(255,255,255,.08), transparent 40%);
  pointer-events:none;
}
@media (max-width:767px){ .hero-slider-2 .single-slide{ min-height:480px; } }

/* ---------- Inner page banner & CTA: brand gradients (replace photos) ---------- */
.page-banner-wrap.bg-cover{
  background-image:linear-gradient(120deg,#1e1b4b 0%,#6d28d9 100%) !important;
}
.cta-banner .section-bg{
  background-image:linear-gradient(120deg,#4c1d95 0%,#4f46e5 100%) !important;
}
.cta-banner .cta-content h1{ margin-bottom:0; }
.cta-banner .cta-content p{
  color:rgba(255,255,255,.9); font-size:17px; line-height:1.6;
  margin:14px 0 0; max-width:600px;
}
/* recolour the floating accent circles to match the purple theme */
.cta-banner .container-fluid::after{ border-color:rgba(255,255,255,.6) !important; }
.cta-banner .container-fluid::before{ border-color:rgba(255,255,255,.3) !important; }

/* ---------- Service cards ---------- */
.single-service-box{
  border-radius:18px !important;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(30,27,75,.08);
  transition:transform .3s ease, box-shadow .3s ease;
}
.single-service-box:hover{
  transform:translateY(-8px);
  box-shadow:0 22px 44px rgba(109,40,217,.18);
}
.single-service-box .read-link:after{ background:var(--gs-primary) !important; }
/* Clean gradient icon tiles for service cards (replaces off-brand illustrations) */
.single-service-box{
  min-height:300px;
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  padding:26px 22px;
}
.single-service-box .icon{
  width:80px !important; height:80px !important;
  min-height:80px !important;
  border-radius:22px;
  background:linear-gradient(135deg,#ede9fe,#ddd6fe) !important;
  display:flex; align-items:center; justify-content:center;
  margin:0 0 20px;
}
.single-service-box .icon i{
  font-size:38px; line-height:1; margin:0;
  color:var(--gs-primary);
}
.single-service-box .content-visible{ margin-top:0; width:100%; }
/* Hover overlay: fill the whole card and centre its content so text never spills out */
.single-service-box .content-overlay{
  top:0; left:0; right:0; bottom:0; width:auto;
  display:flex; flex-direction:column; justify-content:center;
  padding:24px 22px;
}
.single-service-box .content-overlay h4{ margin-bottom:8px; }
.single-service-box .content-overlay p{ font-size:14px; line-height:1.6; margin:0; }
.single-service-box .content-overlay .read-link{ margin-top:12px; }

/* ---------- Feature icon boxes ---------- */
.icon-box{
  border-radius:16px;
  padding:22px 12px;
  transition:transform .3s ease, box-shadow .3s ease;
}
.icon-box:hover{ transform:translateY(-6px); box-shadow:0 16px 34px rgba(30,27,75,.10); }
.icon-box .icon i,.icon-box .icon .flaticon{ color:var(--gs-primary) !important; }

/* ---------- Navigation ---------- */
.main-menu ul li a:hover,
.mobile-nav .metismenu li a:hover{ color:var(--gs-primary) !important; }

/* ---------- Single contact cards ---------- */
.single-contact-card{ border-radius:18px; }
.single-contact-card .icon i{ color:var(--gs-primary); }

/* ---------- FAQ accordion ---------- */
.faq-accordion .card{ border-radius:14px; overflow:hidden; }
.faq-accordion .card-header a{ color:var(--gs-dark); }
.faq-accordion .card-header a:not(.collapsed){ color:var(--gs-primary); }

/* ---------- Footer ---------- */
.footer-bottom a,
.single-footer-wid ul li a:hover{ color:var(--gs-primary-2) !important; }

/* ---------- Funfact ---------- */
.single-funfact-item h3{ color:#fff; }
.single-funfact-item .icon i{ color:#c4b5fd; }

/* =========================================================
   Layout modifications
   ========================================================= */

/* Sticky main header with shadow */
.main-header-wraper{
  position:sticky; top:0; z-index:990;
  background:#fff;
  box-shadow:0 6px 26px rgba(30,27,75,.08);
  padding-top:6px; padding-bottom:6px;
}

/* Header "Get Started" button */
.header-btn-cta{ margin-left:28px; }
.header-btn-cta .gs-header-btn{
  padding:12px 26px;
  font-size:14px;
}

/* Feature grid -> distinct cards with gradient icon tiles */
.features-2{ background:linear-gradient(180deg,#faf8ff 0%, #ffffff 100%); }
.features-2 .icon-box{
  background:#fff;
  border:1px solid #ece9fb;
  border-radius:18px;
  box-shadow:0 8px 24px rgba(30,27,75,.05);
  padding:26px 12px;
  height:100%;
}
.features-2 .icon-box .icon{
  width:74px; height:74px;
  margin:0 auto 16px;
  border-radius:20px;
  background:linear-gradient(135deg,#ede9fe,#ddd6fe);
  display:flex; align-items:center; justify-content:center;
}
.features-2 .icon-box .icon i{
  font-size:32px; line-height:1; margin:0;
  color:var(--gs-primary) !important;
}
.features-2 .icon-box h4 a{ font-size:16px; }
.features-2 .mtm-30{ margin-top:-15px; }
.features-2 .mtm-30 > [class*="col-"]{ margin-top:15px; }

/* Section rhythm: tint the dark services band a touch deeper */
.services-wrapper.service-2{ background-color:#17153a; }

/* About illustration: soft rounded frame */
.about-thum .top-image img,
.faq-section img{ border-radius:18px; }

/* Page banner: a bit more compact + centered breadcrumb spacing */
.page-banner-wrap{ padding:62px 0; }
.page-banner-wrap .breadcrumb{ background:transparent; }

/* Smooth anchor + scroll-up button colour */
html{ scroll-behavior:smooth; }
#scrollUp{ background:var(--gs-primary) !important; border-radius:10px; }

/* =========================================================
   Custom header (redesigned, original layout)
   ========================================================= */
.gs-header{ position:relative; z-index:990; font-family:'Poppins',sans-serif; }
.gs-header .container-fluid{
  box-sizing:border-box; width:100%; max-width:100%;
  padding-left:50px; padding-right:50px;
}
@media (max-width:1199px){ .gs-header .container-fluid{ padding-left:30px; padding-right:30px; } }
@media (max-width:575px){ .gs-header .container-fluid{ padding-left:16px; padding-right:16px; } }

.gs-topbar{ background:linear-gradient(120deg,#1e1b4b 0%, #4c1d95 100%); color:#fff; font-size:13px; }
.gs-topbar-inner{ display:flex; align-items:center; justify-content:space-between; padding:9px 0; }
.gs-topbar .gs-tagline{ color:rgba(255,255,255,.85); }
.gs-topbar .gs-tagline i{ color:#c4b5fd; margin-right:7px; }
.gs-topbar-right{ display:flex; align-items:center; gap:22px; }
.gs-topbar-right > a{ color:rgba(255,255,255,.9); }
.gs-topbar-right > a:hover{ color:#fff; }
.gs-topbar-right i{ margin-right:6px; color:#c4b5fd; }
.gs-social a{ margin-left:12px; color:rgba(255,255,255,.85); }
.gs-social a:hover{ color:#fff; }

.gs-mainbar{ background:#fff; position:sticky; top:0; z-index:991; box-shadow:0 6px 26px rgba(30,27,75,.08); }
.gs-nav-wrap{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding:13px 0; }
.gs-logo img{ height:46px; width:auto; }
.gs-menu ul{ display:flex; gap:4px; margin:0; padding:0; list-style:none; }
.gs-menu ul li a{
  display:block; padding:10px 18px; border-radius:30px;
  color:#1e1b4b; font-weight:600; font-size:15px; transition:.25s ease;
}
.gs-menu ul li a:hover{ color:var(--gs-primary); background:#f3f0ff; }
.gs-actions{ display:flex; align-items:center; gap:18px; }
.gs-burger{ display:none; font-size:24px; color:#1e1b4b; cursor:pointer; line-height:1; }

@media (max-width:1199px){
  .gs-menu{ display:none; }
  #hamburger.gs-burger{
    display:inline-flex !important;
    align-items:center; justify-content:center;
    width:44px; height:44px; flex:0 0 auto;
    font-size:26px; color:#1e1b4b; border-radius:10px;
  }
}
@media (max-width:575px){
  .gs-topbar{ display:none; }
  .gs-header-btn{ display:none; }
  .gs-logo img{ height:40px; }
}

/* =========================================================
   Custom footer (redesigned, original layout)
   ========================================================= */
.gs-footer{ background:#17153a; color:rgba(255,255,255,.7); padding:72px 0 0; font-family:'Poppins',sans-serif; }
.gs-footer-grid{ display:grid; grid-template-columns:1.7fr 1fr 1fr 1.4fr; gap:40px; padding-bottom:48px; }
.gs-footer-logo{ display:inline-block; }
.gs-footer-logo img{ height:46px; margin-bottom:20px; }
.gs-footer-brand p{ font-size:14px; line-height:1.85; color:rgba(255,255,255,.6); margin:0; }
.gs-footer-social{ margin-top:22px; display:flex; gap:10px; }
.gs-footer-social a{
  width:38px; height:38px; border-radius:11px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.08); color:#fff; transition:.25s ease;
}
.gs-footer-social a:hover{ background:linear-gradient(135deg,var(--gs-primary),var(--gs-indigo)); transform:translateY(-3px); }
.gs-footer h4{ color:#fff; font-size:17px; font-weight:600; margin-bottom:22px; position:relative; padding-bottom:12px; }
.gs-footer h4:after{ content:""; position:absolute; left:0; bottom:0; width:34px; height:3px; border-radius:3px; background:linear-gradient(90deg,var(--gs-primary),var(--gs-indigo)); }
.gs-footer-col ul,.gs-footer-contact ul{ list-style:none; margin:0; padding:0; }
.gs-footer-col ul li{ margin-bottom:12px; }
.gs-footer-col ul li a{ color:rgba(255,255,255,.65); font-size:14px; transition:.2s ease; }
.gs-footer-col ul li a:hover{ color:#fff; padding-left:5px; }
.gs-footer-contact ul li{ display:flex; gap:11px; margin-bottom:14px; font-size:14px; color:rgba(255,255,255,.65); line-height:1.6; }
.gs-footer-contact ul li i{ color:#c4b5fd; margin-top:4px; }
.gs-footer-contact ul li a{ color:rgba(255,255,255,.65); }
.gs-footer-contact ul li a:hover{ color:#fff; }
.gs-footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding:22px 0; display:flex; align-items:center; justify-content:space-between;
  font-size:13px; color:rgba(255,255,255,.55);
}
.gs-footer-bottom p{ margin:0; }
.gs-footer-bottom .gs-app-btn{
  display:inline-flex; align-items:center; gap:9px;
  padding:11px 24px; border-radius:30px;
  background:linear-gradient(135deg,var(--gs-primary),var(--gs-indigo));
  color:#fff; font-size:14px; font-weight:600;
  box-shadow:0 8px 20px rgba(109,40,217,.35);
  transition:transform .25s ease, box-shadow .25s ease;
}
.gs-footer-bottom .gs-app-btn i{ font-size:18px; }
.gs-footer-bottom .gs-app-btn:hover{ color:#fff; transform:translateY(-2px); box-shadow:0 12px 26px rgba(109,40,217,.45); }

@media (max-width:991px){
  .gs-footer-grid{ grid-template-columns:1fr 1fr; gap:34px; }
}
@media (max-width:575px){
  .gs-footer-grid{ grid-template-columns:1fr; }
  .gs-footer-bottom{ flex-direction:column; gap:8px; text-align:center; }
}

/* =========================================================
   Responsive fixes (prevent overflow on small screens)
   ========================================================= */
body{ overflow-x:hidden; }
@media (max-width:991px){
  .hero-slide-wrapper .hero-contents h1{ font-size:42px !important; line-height:1.2 !important; }
}
@media (max-width:767px){
  .hero-slide-wrapper .hero-contents h1{ font-size:34px !important; line-height:1.22 !important; }
  .hero-slide-wrapper .hero-contents p{ font-size:15px; }
  .hero-slider-2 .single-slide{ min-height:440px; }
  .hero-slide-wrapper .hero-text{ font-size:64px !important; }
}
@media (max-width:575px){
  .hero-slide-wrapper .hero-contents h1{ font-size:27px !important; }
  .hero-slide-wrapper .hero-text{ font-size:46px !important; }
  .gs-nav-wrap{ padding:11px 0; }
}

/* =========================================================
   Colour & spacing polish
   ========================================================= */
/* Hero: depth + subtle brand-dot texture on the empty side */
.hero-slide-wrapper{ overflow:hidden; }
.hero-slide-wrapper .hero-contents{ position:relative; z-index:3; }
.gs-hero-slide{ overflow:hidden; }
.gs-hero-slide:after{
  content:""; position:absolute; top:0; right:0; bottom:0; width:48%;
  background-image:radial-gradient(rgba(255,255,255,.13) 2px, transparent 2.5px);
  background-size:30px 30px;
  -webkit-mask-image:linear-gradient(to left,#000 35%,transparent);
          mask-image:linear-gradient(to left,#000 35%,transparent);
  pointer-events:none; z-index:1;
}
/* Big translucent brand square floating in the hero */
.hero-slide-wrapper:after{
  content:""; position:absolute; z-index:1; pointer-events:none;
  right:-70px; top:50%; transform:translateY(-50%) rotate(16deg);
  width:330px; height:330px; border-radius:54px;
  border:2px solid rgba(255,255,255,.14);
  box-shadow:0 0 0 28px rgba(255,255,255,.05);
}
.gs-hero-slide .hero-contents h1{ margin-bottom:20px; }
.gs-hero-slide .hero-contents p{ margin-bottom:32px; }
.gs-hero-slide .hero-contents .theme-btn{ margin-right:14px; margin-top:6px; }

/* Feature section: more breathing room + roomier cards */
.features-2{ padding-top:64px; padding-bottom:64px; }
.features-2 .icon-box{ padding:30px 16px; }
.features-2 .mtm-30{ margin-top:-24px; }
.features-2 .mtm-30 > [class*="col-"]{ margin-top:24px; }

/* Funfact bar: rounded + refined spacing */
.funfact-wrapper .funfact-content-grid{ border-radius:22px; padding:48px 30px; }

/* Service section: balanced vertical rhythm */
.services-wrapper.service-2{ padding-top:64px; padding-bottom:64px; }

/* Section titles: tidy label + heading rhythm */
.section-title p{ margin-bottom:10px; }
.section-title h1{ line-height:1.18; }

/* Softer, consistent card shadows */
.single-contact-card{ box-shadow:0 12px 30px rgba(30,27,75,.07); }
.faq-accordion .card{ box-shadow:0 8px 22px rgba(30,27,75,.05); }

@media (max-width:991px){
  .features-2,.services-wrapper.service-2{ padding-top:46px; padding-bottom:46px; }
  .hero-slide-wrapper:after{ display:none; }
}

/* =========================================================
   Professional spacing & typography refinements
   ========================================================= */
/* Consistent vertical rhythm across main sections */
.about-us-wrapper{ padding-top:64px; padding-bottom:64px; }
.faq-section{ padding-top:64px; padding-bottom:64px; }

/* Tighter gap right after an inner-page banner (About/Service/etc.) */
.page-banner-wrap + .about-us-wrapper,
.page-banner-wrap + .features-wrapper,
.page-banner-wrap + .services-wrapper{ padding-top:44px; }
.page-banner-wrap{ padding:62px 0; }

/* Heading hierarchy */
.section-title h1{ font-size:38px; line-height:1.22; margin-bottom:0; }
.about-us-wrapper .section-title h1{ font-size:36px; }
.section-title p{ font-size:13px; }

/* Readable body copy */
.about-us-wrapper p,
.features-wrapper .col-xl-5 p,
.faq-accordion .card-body p{ font-size:16px; line-height:1.85; color:#5b5870; }

/* Feature icon cards: balanced sizing */
.features-2 .icon-box h4{ margin-bottom:0; }
.features-2 .icon-box h4 a{ font-weight:600; font-size:15.5px; }
.features-2 .col-xl-6 .row{ margin-left:-12px; margin-right:-12px; }
.features-2 .mtm-30 > [class*="col-"]{ padding-left:12px; padding-right:12px; }

/* Who We Are column: a little left breathing room on desktop */
@media (min-width:1200px){
  .features-2 .col-xl-5{ padding-left:24px; }
}

/* Funfact: elevated floating card */
.funfact-wrapper.bottom{ position:relative; z-index:5; }
.funfact-wrapper .funfact-content-grid{
  box-shadow:0 30px 60px rgba(30,27,75,.22);
  background-color:#5b21b6;
}

/* Services + FAQ section headings on dark/section bg */
.services-wrapper .section-title h1{ font-size:40px; }

/* Card grids: consistent gutters & equal-height rows */
.services-wrapper .row,
.contact-page-wrap .row{ row-gap:6px; }

/* Buttons: consistent comfortable size */
.theme-btn{ padding:14px 30px; font-weight:600; }

/* Active nav item highlight */
.gs-menu ul li.active > a{
	color:#fff;
	background:var(--gs-primary, #6d28d9);
}
.gs-menu ul li.active > a:hover{
	color:#fff;
	background:var(--gs-primary, #6d28d9);
}
.mobile-nav .sidebar-nav ul li.active > a{
	color:var(--gs-primary, #6d28d9);
	font-weight:700;
}

/* Contact card: stop long emails from being clipped */
.single-contact-card .top-part .title{ min-width:0; }
.single-contact-card .top-part .title span{
	display:block;
	word-break:break-all;
	overflow-wrap:anywhere;
	font-size:14px;
	line-height:1.4;
}



