.elementor-542 .elementor-element.elementor-element-7f0a2587:not(.elementor-motion-effects-element-type-background), .elementor-542 .elementor-element.elementor-element-7f0a2587 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(135deg, #061A2D 0%, #0B2942 100%);}.elementor-542 .elementor-element.elementor-element-7f0a2587 > .elementor-container{max-width:1280px;}.elementor-542 .elementor-element.elementor-element-7f0a2587{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 0px 80px 0px;}.elementor-542 .elementor-element.elementor-element-7f0a2587 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.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-542 .elementor-element.elementor-element-240b7f0e{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-25a82356{--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-542 .elementor-element.elementor-element-3636e773{text-align:center;}.elementor-542 .elementor-element.elementor-element-3636e773 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:50px;font-weight:900;line-height:1.1em;color:#FFFFFF;}.elementor-542 .elementor-element.elementor-element-266a2292{--spacer-size:16px;}.elementor-542 .elementor-element.elementor-element-365cf5b2{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-30800c58:not(.elementor-motion-effects-element-type-background), .elementor-542 .elementor-element.elementor-element-30800c58 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-542 .elementor-element.elementor-element-30800c58 > .elementor-container{max-width:1280px;}.elementor-542 .elementor-element.elementor-element-30800c58{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:72px 0px 72px 0px;}.elementor-542 .elementor-element.elementor-element-30800c58 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-542 .elementor-element.elementor-element-60052f0e{text-align:start;}.elementor-542 .elementor-element.elementor-element-60052f0e .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:34px;font-weight:900;line-height:1.2em;color:#111827;}.elementor-542 .elementor-element.elementor-element-399647b0{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-c224127{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-74de11d0{--spacer-size:8px;}.elementor-542 .elementor-element.elementor-element-4bc5d2fc{padding:0px 0px 0px 0px;}.elementor-542 .elementor-element.elementor-element-357a9fde > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-542 .elementor-element.elementor-element-439c01d1{font-family:"Inter", Sans-serif;}.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-542 .elementor-element.elementor-element-65effa86{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-7195c473{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-54efb04c > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-542 .elementor-element.elementor-element-2f78d518{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-7ba6aef7{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-22d19eb6{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-6570509d > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-542 .elementor-element.elementor-element-31b4a152{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-590386fe{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-282a5fc0{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-52d42652 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-542 .elementor-element.elementor-element-2ffeae60{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-2433235d{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-481ce83c{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-5075ff33{--spacer-size:20px;}.elementor-542 .elementor-element.elementor-element-4969d128{padding:0px 0px 0px 0px;}.elementor-542 .elementor-element.elementor-element-1714d26c > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-542 .elementor-element.elementor-element-4dae472{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-4f419ac9{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-2d87c2a2{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-26bf9121 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-542 .elementor-element.elementor-element-faaeb27{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-484327b8{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-25b74f05{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-6a46b0d9 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-542 .elementor-element.elementor-element-4b7b7b20{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-1c014fd6{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-6d4a496{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-255e61e > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-542 .elementor-element.elementor-element-39ab5fc2{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-d12a6f2{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-4ef7c6ab{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-70c9e8b0{--spacer-size:0px;}.elementor-542 .elementor-element.elementor-element-2c94f5e0{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-64bca78f:not(.elementor-motion-effects-element-type-background), .elementor-542 .elementor-element.elementor-element-64bca78f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#061A2D;}.elementor-542 .elementor-element.elementor-element-64bca78f > .elementor-container{max-width:1280px;}.elementor-542 .elementor-element.elementor-element-64bca78f{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:56px 0px 56px 0px;}.elementor-542 .elementor-element.elementor-element-64bca78f > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-542 .elementor-element.elementor-element-476fb51f{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-6343626e{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-440cb5d{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-19ed53bf{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-5e64b2ef:not(.elementor-motion-effects-element-type-background), .elementor-542 .elementor-element.elementor-element-5e64b2ef > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EAF5FF;}.elementor-542 .elementor-element.elementor-element-5e64b2ef > .elementor-container{max-width:1280px;}.elementor-542 .elementor-element.elementor-element-5e64b2ef{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:72px 0px 72px 0px;}.elementor-542 .elementor-element.elementor-element-5e64b2ef > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-542 .elementor-element.elementor-element-587f6c69{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-5f206394{--spacer-size:14px;}.elementor-542 .elementor-element.elementor-element-14968b1a{text-align:center;}.elementor-542 .elementor-element.elementor-element-14968b1a .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:38px;font-weight:900;line-height:1.2em;color:#111827;}.elementor-542 .elementor-element.elementor-element-c8ec4a1{--spacer-size:8px;}.elementor-542 .elementor-element.elementor-element-63200b45{font-family:"Inter", Sans-serif;}.elementor-542 .elementor-element.elementor-element-8205412{--spacer-size:16px;}.elementor-542 .elementor-element.elementor-element-5409d6b8{font-family:"Inter", Sans-serif;}@media(max-width:1024px){.elementor-542 .elementor-element.elementor-element-3636e773 .elementor-heading-title{font-size:41px;}.elementor-542 .elementor-element.elementor-element-60052f0e .elementor-heading-title{font-size:27px;}.elementor-542 .elementor-element.elementor-element-14968b1a .elementor-heading-title{font-size:31px;}}@media(max-width:767px){.elementor-542 .elementor-element.elementor-element-7f0a2587{padding:44px 16px 44px 16px;}.elementor-542 .elementor-element.elementor-element-25a82356{--spacer-size:10px;}.elementor-542 .elementor-element.elementor-element-3636e773 .elementor-heading-title{font-size:30px;}.elementor-542 .elementor-element.elementor-element-266a2292{--spacer-size:10px;}.elementor-542 .elementor-element.elementor-element-30800c58{padding:39px 16px 39px 16px;}.elementor-542 .elementor-element.elementor-element-60052f0e .elementor-heading-title{font-size:24px;}.elementor-542 .elementor-element.elementor-element-74de11d0{--spacer-size:10px;}.elementor-542 .elementor-element.elementor-element-5075ff33{--spacer-size:12px;}.elementor-542 .elementor-element.elementor-element-70c9e8b0{--spacer-size:10px;}.elementor-542 .elementor-element.elementor-element-64bca78f{padding:30px 16px 30px 16px;}.elementor-542 .elementor-element.elementor-element-5e64b2ef{padding:39px 16px 39px 16px;}.elementor-542 .elementor-element.elementor-element-5f206394{--spacer-size:10px;}.elementor-542 .elementor-element.elementor-element-14968b1a .elementor-heading-title{font-size:26px;}.elementor-542 .elementor-element.elementor-element-c8ec4a1{--spacer-size:10px;}.elementor-542 .elementor-element.elementor-element-8205412{--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; }
}/* End custom CSS */