.elementor-611 .elementor-element.elementor-element-45d705ad:not(.elementor-motion-effects-element-type-background), .elementor-611 .elementor-element.elementor-element-45d705ad > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(135deg, #061A2D 0%, #0B2942 100%);}.elementor-611 .elementor-element.elementor-element-45d705ad > .elementor-container{max-width:1280px;}.elementor-611 .elementor-element.elementor-element-45d705ad{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 0px 80px 0px;}.elementor-611 .elementor-element.elementor-element-45d705ad > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-611 .elementor-element.elementor-element-332c5502.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-611 .elementor-element.elementor-element-332c5502.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-611 .elementor-element.elementor-element-332c5502 > .elementor-element-populated{padding:0px 32px 0px 0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-611 .elementor-element.elementor-element-7c5f9070{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-68231d8a{--spacer-size:16px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-611 .elementor-element.elementor-element-64e6205e{text-align:start;}.elementor-611 .elementor-element.elementor-element-64e6205e .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:48px;font-weight:900;line-height:1.1em;color:#FFFFFF;}.elementor-611 .elementor-element.elementor-element-5c873022{--spacer-size:16px;}.elementor-611 .elementor-element.elementor-element-30a4408c{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-1508b0f9{font-family:"Inter", Sans-serif;}.elementor-bc-flex-widget .elementor-611 .elementor-element.elementor-element-4d7754ab.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-611 .elementor-element.elementor-element-4d7754ab.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-611 .elementor-element.elementor-element-40175f5{text-align:center;}.elementor-611 .elementor-element.elementor-element-6c479eb7:not(.elementor-motion-effects-element-type-background), .elementor-611 .elementor-element.elementor-element-6c479eb7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F2F8FD;}.elementor-611 .elementor-element.elementor-element-6c479eb7 > .elementor-container{max-width:1280px;}.elementor-611 .elementor-element.elementor-element-6c479eb7{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:70px 0px 70px 0px;}.elementor-611 .elementor-element.elementor-element-6c479eb7 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-611 .elementor-element.elementor-element-5b1a6a35 > .elementor-element-populated{padding:0px 30px 0px 0px;}.elementor-611 .elementor-element.elementor-element-1ac60657{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-60773c8a{--spacer-size:14px;}.elementor-611 .elementor-element.elementor-element-2b6229e0{text-align:start;}.elementor-611 .elementor-element.elementor-element-2b6229e0 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:32px;font-weight:900;line-height:1.2em;color:#111827;}.elementor-611 .elementor-element.elementor-element-270412db{--spacer-size:14px;}.elementor-611 .elementor-element.elementor-element-4af4ac9c{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-1db20a62{--spacer-size:10px;}.elementor-611 .elementor-element.elementor-element-68e9844d{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-7b16430e{--spacer-size:10px;}.elementor-611 .elementor-element.elementor-element-5aed862e{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-7639bd31{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-643e050f > .elementor-element-populated{padding:0px 0px 0px 30px;}.elementor-611 .elementor-element.elementor-element-6c777af4{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-5166f040{--spacer-size:14px;}.elementor-611 .elementor-element.elementor-element-564f9bc7{text-align:start;}.elementor-611 .elementor-element.elementor-element-564f9bc7 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:28px;font-weight:900;line-height:1.2em;color:#111827;}.elementor-611 .elementor-element.elementor-element-1f3277bb{--spacer-size:20px;}.elementor-611 .elementor-element.elementor-element-26e44e09{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-4dd57767:not(.elementor-motion-effects-element-type-background), .elementor-611 .elementor-element.elementor-element-4dd57767 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-611 .elementor-element.elementor-element-4dd57767 > .elementor-container{max-width:1280px;}.elementor-611 .elementor-element.elementor-element-4dd57767{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:70px 0px 70px 0px;}.elementor-611 .elementor-element.elementor-element-4dd57767 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-611 .elementor-element.elementor-element-19132941{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-3b0ca5a{--spacer-size:14px;}.elementor-611 .elementor-element.elementor-element-4abd2f94{text-align:center;}.elementor-611 .elementor-element.elementor-element-4abd2f94 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:36px;font-weight:900;line-height:1.2em;color:#111827;}.elementor-611 .elementor-element.elementor-element-2ef04915{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-2867e321{--spacer-size:36px;}.elementor-611 .elementor-element.elementor-element-7673b5a6{padding:0px 0px 0px 0px;}.elementor-611 .elementor-element.elementor-element-6912ada5{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-a977940{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-523c02ad{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-5a8fcca7{--spacer-size:20px;}.elementor-611 .elementor-element.elementor-element-7b7d8aa9{padding:0px 0px 0px 0px;}.elementor-611 .elementor-element.elementor-element-23a75d20{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-29548b46{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-6a09a2ba{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-33c97f60:not(.elementor-motion-effects-element-type-background), .elementor-611 .elementor-element.elementor-element-33c97f60 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#061A2D;}.elementor-611 .elementor-element.elementor-element-33c97f60 > .elementor-container{max-width:1280px;}.elementor-611 .elementor-element.elementor-element-33c97f60{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:56px 0px 56px 0px;}.elementor-611 .elementor-element.elementor-element-33c97f60 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-611 .elementor-element.elementor-element-2cae9a69{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-39d49a85{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-508ea73d{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-4deeabd5{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-72f259f9:not(.elementor-motion-effects-element-type-background), .elementor-611 .elementor-element.elementor-element-72f259f9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EAF5FF;}.elementor-611 .elementor-element.elementor-element-72f259f9 > .elementor-container{max-width:1280px;}.elementor-611 .elementor-element.elementor-element-72f259f9{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:72px 0px 72px 0px;}.elementor-611 .elementor-element.elementor-element-72f259f9 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-611 .elementor-element.elementor-element-d029510{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-59056d1f{--spacer-size:14px;}.elementor-611 .elementor-element.elementor-element-32e67b5c{text-align:center;}.elementor-611 .elementor-element.elementor-element-32e67b5c .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:38px;font-weight:900;line-height:1.2em;color:#111827;}.elementor-611 .elementor-element.elementor-element-1bb184e4{--spacer-size:8px;}.elementor-611 .elementor-element.elementor-element-4f8c6aaf{font-family:"Inter", Sans-serif;}.elementor-611 .elementor-element.elementor-element-58e8cef5{--spacer-size:16px;}.elementor-611 .elementor-element.elementor-element-35fb1a8d{font-family:"Inter", Sans-serif;}@media(max-width:1024px){.elementor-611 .elementor-element.elementor-element-45d705ad{padding:60px 0px 60px 0px;}.elementor-611 .elementor-element.elementor-element-64e6205e .elementor-heading-title{font-size:39px;}.elementor-611 .elementor-element.elementor-element-6c479eb7{padding:52px 0px 52px 20px;}.elementor-611 .elementor-element.elementor-element-2b6229e0 .elementor-heading-title{font-size:26px;}.elementor-611 .elementor-element.elementor-element-7639bd31 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-611 .elementor-element.elementor-element-564f9bc7 .elementor-heading-title{font-size:22px;}.elementor-611 .elementor-element.elementor-element-4dd57767{padding:52px 0px 52px 0px;}.elementor-611 .elementor-element.elementor-element-4abd2f94 .elementor-heading-title{font-size:29px;}.elementor-611 .elementor-element.elementor-element-33c97f60{padding:42px 0px 42px 0px;}.elementor-611 .elementor-element.elementor-element-72f259f9{padding:54px 0px 54px 0px;}.elementor-611 .elementor-element.elementor-element-32e67b5c .elementor-heading-title{font-size:31px;}}@media(max-width:767px){.elementor-611 .elementor-element.elementor-element-45d705ad{padding:50px 20px 50px 20px;}.elementor-611 .elementor-element.elementor-element-332c5502 > .elementor-element-populated{padding:0px 0px 24px 0px;}.elementor-611 .elementor-element.elementor-element-68231d8a{--spacer-size:10px;}.elementor-611 .elementor-element.elementor-element-64e6205e .elementor-heading-title{font-size:28px;}.elementor-611 .elementor-element.elementor-element-5c873022{--spacer-size:10px;}.elementor-611 .elementor-element.elementor-element-6c479eb7{padding:38px 20px 38px 0px;}.elementor-611 .elementor-element.elementor-element-60773c8a{--spacer-size:8px;}.elementor-611 .elementor-element.elementor-element-2b6229e0 .elementor-heading-title{font-size:24px;}.elementor-611 .elementor-element.elementor-element-270412db{--spacer-size:8px;}.elementor-611 .elementor-element.elementor-element-1db20a62{--spacer-size:6px;}.elementor-611 .elementor-element.elementor-element-7b16430e{--spacer-size:6px;}.elementor-611 .elementor-element.elementor-element-5166f040{--spacer-size:8px;}.elementor-611 .elementor-element.elementor-element-564f9bc7 .elementor-heading-title{font-size:22px;}.elementor-611 .elementor-element.elementor-element-1f3277bb{--spacer-size:14px;}.elementor-611 .elementor-element.elementor-element-4dd57767{padding:38px 20px 38px 20px;}.elementor-611 .elementor-element.elementor-element-3b0ca5a{--spacer-size:10px;}.elementor-611 .elementor-element.elementor-element-4abd2f94 .elementor-heading-title{font-size:26px;}.elementor-611 .elementor-element.elementor-element-2867e321{--spacer-size:22px;}.elementor-611 .elementor-element.elementor-element-5a8fcca7{--spacer-size:12px;}.elementor-611 .elementor-element.elementor-element-33c97f60{padding:30px 20px 30px 20px;}.elementor-611 .elementor-element.elementor-element-72f259f9{padding:39px 20px 39px 20px;}.elementor-611 .elementor-element.elementor-element-59056d1f{--spacer-size:10px;}.elementor-611 .elementor-element.elementor-element-32e67b5c .elementor-heading-title{font-size:26px;}.elementor-611 .elementor-element.elementor-element-1bb184e4{--spacer-size:10px;}.elementor-611 .elementor-element.elementor-element-58e8cef5{--spacer-size:10px;}}/* Start custom CSS *//* ============================================================
   KESHAV WEB SOLUTIONS — Additional CSS (Final)
   Appearance > Customize > Additional CSS
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ── Global ── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif !important; overflow-x: hidden; }
.elementor-section { margin-bottom: 0 !important; }
.elementor-inner-section { margin-bottom: 0 !important; }
img { max-width: 100%; height: auto; }

/* ============================================================
   BADGE
   ============================================================ */
.badge {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  color: #0878F9 !important;
  background: #EAF5FF !important;
  border: 1px solid #bbd8ff !important;
  border-radius: 20px !important;
  padding: 5px 14px !important;
  text-transform: uppercase;
  font-family: 'Inter', sans-serif !important;
}

/* ============================================================
   BUTTONS (all contexts)
   ============================================================ */
.btn-primary,
a.btn-primary,
.elementor-button.btn-primary {
  background: #0878F9 !important;
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  padding: 12px 24px !important;
  border-radius: 8px !important;
  border: none !important;
  transition: all 0.22s !important;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  text-decoration: none !important;
  font-family: 'Inter', sans-serif !important;
  white-space: nowrap;
}
.btn-primary:hover,
a.btn-primary:hover,
.elementor-button.btn-primary:hover {
  background: #0A66E8 !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(8,120,249,0.28) !important;
}

/* ============================================================
   ICON CIRCLE
   ============================================================ */
.icon-circle {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  background: #EAF5FF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}
.icon-circle.sm { width: 36px; height: 36px; border-radius: 8px; font-size: 16px; }

/* ============================================================
   HERO — ALL PAGES
   ============================================================ */
.section-services-hero,
.section-portfolio-hero,
.section-reviews-hero,
.section-about-hero,
.section-contact-hero {
  background: linear-gradient(135deg, #061A2D 0%, #08243B 55%, #0B2942 100%) !important;
  overflow: hidden;
  position: relative;
}
.section-services-hero::before,
.section-portfolio-hero::before,
.section-reviews-hero::before,
.section-about-hero::before,
.section-contact-hero::before {
  content: '';
  position: absolute;
  top: -80px; right: -80px;
  width: 400px; height: 400px;
  border-radius: 50%;
  background: rgba(8,120,249,0.07);
  pointer-events: none;
}
.section-hero {
  background: linear-gradient(135deg, #061A2D 0%, #08243B 55%, #0B2942 100%) !important;
  overflow: hidden;
  position: relative;
}

/* ============================================================
   SERVICE DETAIL CARDS — exact HTML match
   ============================================================ */
.svc-detail {
  background: #fff;
  border: 1px solid #DCE5EF;
  border-radius: 14px;
  padding: 36px 32px;
  transition: all 0.25s;
}
.svc-detail:hover {
  box-shadow: 0 8px 32px rgba(8,120,249,0.12);
  transform: translateY(-3px);
}
.svc-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}
/* Feature list inside service cards */
.feat-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.feat-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  color: #5B6472;
  font-family: 'Inter', sans-serif;
  line-height: 1.5;
}
.feat-list li::before {
  content: '→';
  color: #0878F9;
  font-weight: 700;
  flex-shrink: 0;
}

/* Container for service sections */
.section-services-cards .elementor-container { max-width: 1280px !important; }
.services-all-cards > .elementor-widget-wrap { gap: 0 !important; }

/* ============================================================
   HOME PAGE SERVICES PREVIEW (5 cards)
   ============================================================ */
.service-card {
  background: #fff;
  border: 1px solid #DCE5EF;
  border-radius: 12px;
  padding: 26px 22px;
  height: 100%;
  transition: all 0.25s;
}
.service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 36px rgba(8,120,249,0.13);
  border-color: #bbd8ff;
}

/* ============================================================
   PORTFOLIO CARDS
   ============================================================ */
.port-card {
  background: #0B2942;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.25s;
}
.port-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(8,120,249,0.22);
}

/* ============================================================
   REVIEW CARDS
   ============================================================ */
.rev-card {
  background: #fff;
  border: 1px solid #DCE5EF;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 2px 14px rgba(8,36,59,0.06);
  transition: all 0.25s;
  height: 100%;
}
.rev-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 30px rgba(8,120,249,0.11);
}

/* ============================================================
   ABOUT FEAT CARDS
   ============================================================ */
.feat-card {
  background: #fff;
  border: 1px solid #DCE5EF;
  border-radius: 12px;
  padding: 18px;
  margin-bottom: 14px;
  transition: all 0.25s;
}
.feat-card:hover { transform: translateY(-2px); box-shadow: 0 6px 24px rgba(8,120,249,0.1); }

/* ============================================================
   STATISTICS STRIP
   ============================================================ */
.section-stats {
  background: linear-gradient(135deg, #061A2D 0%, #08243B 100%) !important;
}
.stat-num { font-size: 40px; font-weight: 900; color: #fff; line-height: 1; font-family: 'Inter', sans-serif; }
.stat-label { font-size: 13px; font-weight: 500; color: rgba(255,255,255,0.6); margin-top: 6px; font-family: 'Inter', sans-serif; }

/* ============================================================
   CTA SECTION
   ============================================================ */
.section-cta {
  background: linear-gradient(135deg, #EAF5FF 0%, #F2F8FD 100%) !important;
  position: relative;
  overflow: hidden;
}
.section-cta::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 280px; height: 280px;
  border-radius: 50%;
  background: rgba(8,120,249,0.06);
  pointer-events: none;
}

/* ============================================================
   INDUSTRIES (Home)
   ============================================================ */
.section-industries { border-bottom: 1px solid #DCE5EF; }
.industry-item:hover .industry-icon-wrap { background: #0878F9 !important; }
.industry-item:hover .industry-icon-wrap svg,
.industry-item:hover .industry-icon-wrap span { color: #fff !important; }

/* ============================================================
   FAQ — Elementor Toggle overrides
   ============================================================ */
.elementor-toggle-item {
  border: 1px solid #DCE5EF !important;
  border-radius: 10px !important;
  overflow: hidden;
  margin-bottom: 12px !important;
}
.elementor-toggle .elementor-tab-title {
  padding: 16px 20px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  color: #111827 !important;
  font-family: 'Inter', sans-serif !important;
  border: none !important;
  background: #fff !important;
}
.elementor-toggle .elementor-tab-title.elementor-active { color: #0878F9 !important; }
.elementor-toggle .elementor-tab-title .elementor-toggle-icon { color: #5B6472 !important; }
.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon { color: #0878F9 !important; }
.elementor-toggle .elementor-tab-content {
  padding: 0 20px 18px !important;
  font-size: 14.5px !important;
  color: #5B6472 !important;
  line-height: 1.7 !important;
  font-family: 'Inter', sans-serif !important;
  border: none !important;
  background: #fff !important;
}

/* ============================================================
   CONTACT FORM (Elementor Pro)
   ============================================================ */
.section-contact { background: #F2F8FD !important; }
.elementor-form .elementor-field-label {
  font-size: 13px !important; font-weight: 600 !important;
  color: #111827 !important; font-family: 'Inter', sans-serif !important;
}
.elementor-form .elementor-field {
  border: 1px solid #DCE5EF !important; border-radius: 8px !important;
  padding: 11px 14px !important; font-size: 14px !important;
  font-family: 'Inter', sans-serif !important; background: #fff !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
.elementor-form .elementor-field:focus {
  border-color: #0878F9 !important;
  box-shadow: 0 0 0 3px rgba(8,120,249,0.12) !important;
  outline: none !important;
}
.elementor-form .elementor-button {
  background: #0878F9 !important; border-radius: 8px !important;
  font-weight: 600 !important; font-size: 15px !important;
  font-family: 'Inter', sans-serif !important;
  border: none !important; width: 100% !important; transition: all 0.22s !important;
}
.elementor-form .elementor-button:hover {
  background: #0A66E8 !important; transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(8,120,249,0.28) !important;
}

/* ============================================================
   PORTFOLIO FILTER TABS
   ============================================================ */
.filter-tab {
  padding: 8px 18px !important; border-radius: 8px !important;
  border: 1px solid #DCE5EF !important; background: #fff !important;
  font-size: 13.5px !important; font-weight: 600 !important;
  color: #5B6472 !important; cursor: pointer !important;
  transition: all 0.2s !important; font-family: 'Inter', sans-serif !important;
}
.filter-tab:hover, .filter-tab.active {
  background: #0878F9 !important; color: #fff !important; border-color: #0878F9 !important;
}

/* ============================================================
   MAX-WIDTH for all sections
   ============================================================ */
.elementor-section > .elementor-container { max-width: 1280px !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .svc-detail-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
  .feat-list { grid-template-columns: 1fr !important; }
  .section-hero .elementor-column { width: 100% !important; }
  .hero-right { display: none !important; }
}
@media (max-width: 767px) {
  .svc-detail { padding: 24px 18px !important; border-radius: 10px !important; }
  .svc-detail-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
  .feat-list { grid-template-columns: 1fr !important; }
  .section-stats .elementor-column { width: 50% !important; }
}
@media (max-width: 480px) {
  .section-stats .elementor-column { width: 50% !important; }
  .svc-detail { padding: 20px 14px !important; }
}


/* ============================================================
   PORTFOLIO PAGE — Card Column Styling
   ============================================================ */

/* Each card column gets dark navy card look */
.port-item > .elementor-column-wrap,
.port-item > .elementor-widget-wrap {
  background: #0B2942 !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  padding: 0 !important;
  transition: all 0.25s !important;
  display: flex !important;
  flex-direction: column !important;
}
.port-item:hover > .elementor-column-wrap,
.port-item:hover > .elementor-widget-wrap {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(8,120,249,0.22) !important;
}

/* Column outer gap (so cards don't touch) */
.port-item.elementor-column { padding: 0 10px 20px !important; }

/* Browser bar widget — no padding */
.port-browser-bar-wrap .elementor-widget-container { padding: 0 !important; }

/* Screenshot image — fills card width, fixed height */
.port-screenshot-img .elementor-widget-container { padding: 0 !important; line-height: 0; }
.port-screenshot-img img {
  width: 100% !important;
  height: 148px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}

/* Gradient placeholder — shown ONLY when no real image uploaded */
.port-mock-placeholder-wrap .elementor-widget-container { padding: 0 !important; }

/* Hide gradient placeholder when real image is present above it */
.port-screenshot-img:has(img[src]:not([src=""])) ~ .port-mock-placeholder-wrap { display: none !important; }
/* Fallback for browsers without :has() support */
.port-screenshot-img img[src]:not([src=""]) { display: block !important; }

/* Card info section */
.port-card-info-wrap .elementor-widget-container { padding: 0 !important; }

/* Filter tabs */
.filter-tab {
  padding: 8px 18px !important;
  border-radius: 8px !important;
  border: 1px solid #DCE5EF !important;
  background: #fff !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #5B6472 !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  font-family: 'Inter', sans-serif !important;
}
.filter-tab:hover, .filter-tab.active {
  background: #0878F9 !important;
  color: #fff !important;
  border-color: #0878F9 !important;
}

/* Portfolio grid inner section columns wrap properly */
.port-grid-row > .elementor-container {
  flex-wrap: wrap !important;
  gap: 0 !important;
}

/* Instructions box */
.port-instructions .elementor-widget-container { padding: 0 !important; }

/* Responsive */
@media (max-width: 1024px) {
  .port-item.elementor-column { width: 50% !important; }
}
@media (max-width: 600px) {
  .port-item.elementor-column { width: 100% !important; }
  .port-screenshot-img img { height: 200px !important; }
}

/* ============================================================
   PORTFOLIO CARDS — column-based card layout
   ============================================================ */

/* The column IS the card */
.port-card-el > .elementor-column-wrap {
  background: #0B2942 !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: all 0.25s !important;
}
.port-card-el:hover > .elementor-column-wrap {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(8,120,249,0.22) !important;
}
/* Remove all inner padding so image/chrome flush to edges */
.port-card-el > .elementor-column-wrap > .elementor-widget-wrap {
  padding: 0 !important;
}
.port-card-el .elementor-widget-wrap { padding: 0 !important; }
.port-card-el .elementor-widget { margin: 0 !important; }

/* Chrome bar (browser dots) */
.port-chrome-bar { width: 100% !important; }
.port-chrome-bar .elementor-widget-container { padding: 0 !important; margin: 0 !important; }

/* Screenshot image fills card width */
.port-card-img .elementor-widget-container { padding: 0 !important; }
.port-card-img img {
  width: 100% !important;
  height: 170px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}

/* Info area at bottom of card */
.port-card-info .elementor-widget-container { padding: 0 !important; }
.port-card-info .elementor-text-editor { padding: 0 !important; }

/* Row gap between card rows */
.port-row .elementor-column { padding: 0 8px !important; }
.port-row { gap: 0 !important; }

/* Filter tabs */
.filter-tab {
  padding: 8px 18px !important;
  border-radius: 8px !important;
  border: 1px solid #DCE5EF !important;
  background: #fff !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #5B6472 !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  font-family: 'Inter', sans-serif !important;
}
.filter-tab:hover,
.filter-tab.active {
  background: #0878F9 !important;
  color: #fff !important;
  border-color: #0878F9 !important;
}

/* Responsive */
@media (max-width: 767px) {
  .port-row .elementor-column {
    width: 50% !important;
    padding: 0 4px !important;
    margin-bottom: 12px !important;
  }
}
@media (max-width: 480px) {
  .port-row .elementor-column { width: 100% !important; }
  .port-card-img img { height: 200px !important; }
}

/* ============================================================
   REVIEW CARDS — column-based card layout
   ============================================================ */

/* Column IS the card */
.rev-card-col > .elementor-column-wrap {
  background: #fff !important;
  border: 1px solid #DCE5EF !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 14px rgba(8,36,59,.06) !important;
  transition: all .25s !important;
  overflow: hidden;
}
.rev-card-col:hover > .elementor-column-wrap {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 30px rgba(8,120,249,.12) !important;
}
.rev-card-col > .elementor-column-wrap > .elementor-widget-wrap {
  padding: 20px 20px 20px 20px !important;
}

/* Avatar image — circular */
.rev-avatar-img .elementor-widget-container { padding: 0 0 10px 0 !important; }
.rev-avatar-img img {
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Name & business text */
.rev-name-biz { margin-bottom: 0 !important; }
.rev-name-biz .elementor-widget-container { padding: 0 !important; }

/* Stars */
.rev-stars .elementor-widget-container { padding: 0 !important; }

/* Quote */
.rev-quote .elementor-widget-container { padding: 0 !important; }

/* Result badge */
.rev-badge-result .elementor-widget-container { padding: 0 !important; }

/* Row gap */
.rev-row .elementor-column { margin-bottom: 0 !important; }

/* Tip box */
.rev-add-tip .elementor-widget-container {
  background: #F2F8FD !important;
  border: 1px solid #bbd8ff !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
}

/* Responsive */
@media (max-width: 767px) {
  .rev-row .elementor-column { width: 100% !important; margin-bottom: 16px !important; }
}
@media (max-width: 1024px) {
  .rev-row .elementor-column { width: 50% !important; margin-bottom: 16px !important; }
}

/* ============================================================
   REVIEW CARDS — column-based, easy to duplicate
   ============================================================ */

/* Each review is a column — right-click → duplicate to add more */
.rev-card-col > .elementor-column-wrap {
  height: 100% !important;
}
.rev-card-col > .elementor-column-wrap > .elementor-widget-wrap {
  height: 100% !important;
}

/* The actual card */
.rev-card {
  background: #fff;
  border: 1px solid #DCE5EF;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 2px 14px rgba(8,36,59,0.06);
  transition: all 0.25s;
  height: 100%;
}
.rev-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 30px rgba(8,120,249,0.11);
}

/* Row gap */
.rev-row .elementor-column {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

/* Stars */
.stars { color: #f59e0b !important; font-size: 16px; letter-spacing: 2px; }

/* Result badge inside card */
.rev-result {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #EAF5FF;
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 12.5px;
  font-weight: 600;
  color: #0878F9;
  font-family: 'Inter', sans-serif;
}

/* Editor tip strip */
.elementor-widget-text-editor p[style*="border: 1px dashed"] {
  display: block;
}

/* Responsive */
@media (max-width: 767px) {
  .rev-row .elementor-column { width: 100% !important; margin-bottom: 16px !important; }
  .rev-card { padding: 20px 16px; }
}

/* ============================================================
   CONTACT PAGE — info + form card layout
   ============================================================ */

/* Left info column */
.contact-left-col > .elementor-column-wrap > .elementor-widget-wrap {
  padding-right: 24px !important;
}

/* Right form column — white card */
.contact-right-col > .elementor-column-wrap {
  background: #fff !important;
  border: 1px solid #DCE5EF !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 24px rgba(8,36,59,0.08) !important;
}
.contact-right-col > .elementor-column-wrap > .elementor-widget-wrap {
  padding: 32px !important;
}

/* Info cards inside contact */
.contact-info-cards .elementor-widget-container { padding: 0 !important; }
.contact-info-cards .feat-card { margin-bottom: 0; }

/* Elementor Form — contact page specific */
.section-contact-main .elementor-form .elementor-field-group {
  margin-bottom: 14px !important;
}
.section-contact-main .elementor-form .elementor-field-label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #111827 !important;
  font-family: 'Inter', sans-serif !important;
  margin-bottom: 6px !important;
  display: block;
}
.section-contact-main .elementor-form .elementor-field {
  border: 1px solid #DCE5EF !important;
  border-radius: 8px !important;
  padding: 11px 14px !important;
  font-size: 14px !important;
  color: #111827 !important;
  font-family: 'Inter', sans-serif !important;
  background: #fff !important;
  width: 100% !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
.section-contact-main .elementor-form .elementor-field:focus {
  border-color: #0878F9 !important;
  box-shadow: 0 0 0 3px rgba(8,120,249,0.12) !important;
  outline: none !important;
}
.section-contact-main .elementor-form .elementor-button {
  background: #0878F9 !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  padding: 14px !important;
  font-family: 'Inter', sans-serif !important;
  border: none !important;
  width: 100% !important;
  transition: all 0.22s !important;
  margin-top: 8px;
}
.section-contact-main .elementor-form .elementor-button:hover {
  background: #0A66E8 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(8,120,249,0.28) !important;
}

/* FAQ section — max-width 900px */
.section-contact-faq .elementor-container { max-width: 900px !important; }
.faq-col-l > .elementor-column-wrap > .elementor-widget-wrap {
  padding-right: 12px !important;
}
.faq-col-r > .elementor-column-wrap > .elementor-widget-wrap {
  padding-left: 12px !important;
}

/* Responsive contact */
@media (max-width: 1024px) {
  .contact-left-col, .contact-right-col { width: 100% !important; }
  .contact-left-col > .elementor-column-wrap > .elementor-widget-wrap {
    padding-right: 0 !important;
  }
  .contact-right-col > .elementor-column-wrap > .elementor-widget-wrap {
    padding: 24px !important;
  }
}
@media (max-width: 767px) {
  .faq-col-l, .faq-col-r { width: 100% !important; }
  .faq-col-l > .elementor-column-wrap > .elementor-widget-wrap { padding-right: 0 !important; }
  .faq-col-r > .elementor-column-wrap > .elementor-widget-wrap { padding-left: 0 !important; }
  .contact-right-col > .elementor-column-wrap > .elementor-widget-wrap { padding: 20px 16px !important; }
}

/* ============================================================
   ABOUT PAGE
   ============================================================ */

/* Hero — image takes full column height */
.about-hero-img img {
  width: 100% !important;
  max-width: 420px !important;
  height: 480px !important;
  object-fit: cover !important;
  border-radius: 16px !important;
  display: block;
  margin: 0 auto;
}
.about-hero-right > .elementor-column-wrap { align-items: center !important; }
.about-hero-left > .elementor-column-wrap > .elementor-widget-wrap {
  padding-right: 32px !important;
}

/* Story layout */
.story-left > .elementor-column-wrap > .elementor-widget-wrap { padding-right: 30px !important; }
.process-right > .elementor-column-wrap > .elementor-widget-wrap { padding-left: 30px !important; }

/* Story stat boxes grid */
.story-stat-boxes .elementor-widget-container { padding: 0 !important; }

/* Timeline */
.about-timeline .elementor-widget-container { padding: 0 !important; }
.about-timeline .elementor-text-editor > div { display: flex; flex-direction: column; }

/* Why cards — equal height columns */
.why-row-1 .elementor-column,
.why-row-2 .elementor-column {
  padding: 0 8px !important;
}
.why-row-1 > .elementor-column > .elementor-column-wrap,
.why-row-2 > .elementor-column > .elementor-column-wrap { height: 100% !important; }
.why-card-wrap > .elementor-widget-container { height: 100% !important; }
.why-card {
  height: 100% !important;
  transition: all 0.25s !important;
}
.why-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 28px rgba(8,120,249,0.10) !important;
}
.card.why-card { height: 100%; }

/* Responsive */
@media (max-width: 1024px) {
  .about-hero-left, .about-hero-right { width: 100% !important; }
  .about-hero-right { display: none !important; }
  .about-hero-left > .elementor-column-wrap > .elementor-widget-wrap { padding-right: 0 !important; }
  .story-left, .process-right { width: 100% !important; }
  .story-left > .elementor-column-wrap > .elementor-widget-wrap { padding-right: 0 !important; }
  .process-right > .elementor-column-wrap > .elementor-widget-wrap { padding-left: 0 !important; }
}
@media (max-width: 767px) {
  .why-row-1 .elementor-column,
  .why-row-2 .elementor-column { width: 100% !important; margin-bottom: 14px !important; }
  .why-row-1 .elementor-column, .why-row-2 .elementor-column { padding: 0 !important; }
}/* End custom CSS */