/*
Theme Name: Seargin Child
Theme URI: https://wp.xpressbuddy.com/seargin/
Description: Dialed Web inspired dark theme — Kraftcode Infosol
Author: Kraftcode Infosol
Template: seargin
Version: 4.6.6
Text Domain: seargin-child
*/

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
  --bg:            #010101;
  --bg-card:       hsla(0,0%,100%,0.03);
  --bg-card-hover: hsla(0,0%,100%,0.06);
  --bg-nav:        hsla(0,0%,100%,0.05);
  --bg-input:      hsla(0,0%,100%,0.04);

  --text-white:  #ffffff;
  --text-grey:   hsla(0,0%,100%,0.60);
  --text-muted:  hsla(0,0%,100%,0.35);
  --text-purple: #aaa3ff;

  --border:      hsla(0,0%,100%,0.10);
  --border-dim:  hsla(0,0%,100%,0.06);
  --border-mid:  hsla(0,0%,100%,0.15);

  --inset-sm:   inset 0 0 0 1px hsla(0,0%,100%,0.08);
  --inset-glow: inset 0 0 0 1px hsla(0,0%,100%,0.08), inset 0 0 40px hsla(0,0%,100%,0.03);

  /* Borderless card surfaces (Dialedweb-style — no white ring) */
  --surface:       hsla(0, 0%, 100%, 0.04);
  --surface-hover: hsla(0, 0%, 100%, 0.07);
  --shadow-lift:   0 18px 50px rgba(0, 0, 0, 0.38);

  --r-pill: 999px;
  --r-card: 18px;
  --r-sm:   12px;
  --r-xs:   8px;

  --font: 'Inter', -apple-system, BlinkMacSystemFont, 'DM Sans', sans-serif;
  --ease: cubic-bezier(0.19, 1, 0.22, 1);
}

/* ============================================================
   HOMEPAGE HERO SLIDER — app development background
   ============================================================ */
#seargin-slider rs-slide::before,
#seargin-slider .rev-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(22, 24, 86, 0.97) 0%,
    rgba(34, 38, 110, 0.84) 44%,
    rgba(34, 38, 110, 0.25) 72%,
    transparent 100%
  );
}

#seargin-slider rs-layer,
#seargin-slider .tp-caption {
  z-index: 5 !important;
}

#seargin-slider rs-bg,
#seargin-slider .rev-slidebg {
  background-size: cover !important;
  background-position: center right !important;
}

#seargin-slider .rs-layer[data-alias="Title"],
#seargin-slider rs-layer[data-alias="Title"] {
  color: #ffffff !important;
}

#seargin-slider .rs-layer[data-alias="Content"],
#seargin-slider rs-layer[data-alias="Content"] {
  color: rgba(255, 255, 255, 0.82) !important;
  max-width: 560px;
}

@media (max-width: 991px) {
  #seargin-slider,
  #seargin-slider rs-module,
  #seargin-slider .rev_slider,
  #seargin-slider rs-slides,
  #seargin-slider rs-slide {
    z-index: 1 !important;
  }
}

/* ============================================================
   ANIMATED GRADIENT ORBS  (injected by JS as .kc-gradients)
   ============================================================ */
.kc-gradients {
  position: fixed;
  width: 100%; height: 100%;
  top: 0; left: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.kc-g1, .kc-g2, .kc-g3, .kc-g4, .kc-g5 {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.5;
}
.kc-g1 {
  background: radial-gradient(circle, hsla(0,0%,100%,0.06) 0%, transparent 70%);
  width: 700px; height: 700px;
  top: -200px; left: -200px;
  animation: kc-moveV 22s ease-in-out infinite;
}
.kc-g2 {
  background: radial-gradient(circle, hsla(240,60%,70%,0.07) 0%, transparent 70%);
  width: 600px; height: 600px;
  top: 50%; right: -100px;
  animation: kc-moveV 28s ease-in-out infinite reverse;
}
.kc-g3 {
  background: radial-gradient(circle, hsla(0,0%,100%,0.04) 0%, transparent 70%);
  width: 500px; height: 500px;
  bottom: -100px; left: 30%;
  animation: kc-moveH 35s ease-in-out infinite;
}
.kc-g4 {
  background: radial-gradient(circle, hsla(260,80%,75%,0.05) 0%, transparent 70%);
  width: 400px; height: 400px;
  top: 30%; left: 50%;
  animation: kc-moveV 18s ease-in-out infinite;
  opacity: 0.4;
}
.kc-g5 {
  background: radial-gradient(circle, hsla(0,0%,100%,0.03) 0%, transparent 70%);
  width: 800px; height: 800px;
  bottom: 10%; right: 10%;
  animation: kc-moveH 40s ease-in-out infinite reverse;
  opacity: 0.3;
}
@keyframes kc-moveV {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(80px); }
}
@keyframes kc-moveH {
  0%, 100% { transform: translateX(0); }
  50%       { transform: translateX(60px); }
}

/* ============================================================
   BASE — dark background, Inter font
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

html, body {
  background-color: var(--bg) !important;
}

body {
  font-family: var(--font) !important;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  color: var(--text-grey) !important;
}

/* Ensure all content sits above the fixed orbs */
#page,
.site {
  position: relative;
  z-index: 1;
  background: transparent !important;
}

.site_wrapper,
.seargin-main-wrap,
.body_wrap {
  background: transparent !important;
}

::selection { background: #fff; color: #000; }
::-webkit-scrollbar { width: 0; }

/* ============================================================
   TYPOGRAPHY
   Headings inherit color so Elementor light sections are not
   forced to white-on-white. Dark surfaces set white below.
   ============================================================ */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font) !important;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

body,
.site,
.elementor-widget-text-editor,
.elementor-widget-theme-post-content {
  color: var(--text-grey);
}

/* Default heading color on dark site shell (not inside light Elementor blocks) */
.site h1, .site h2, .site h3, .site h4, .site h5, .site h6,
.bc-banner h1, .bc-banner h2, .bc-banner h3,
.bc-service h1, .bc-service h2, .bc-service h3,
.bc-portfolio h1, .bc-portfolio h2, .bc-portfolio h3,
.bc-testimonial h1, .bc-testimonial h2, .bc-testimonial h3,
.bc-cta h1, .bc-cta h2, .bc-cta h3,
.bc-about h1, .bc-about h2, .bc-about h3,
.sec-title .title,
.xb-item--title {
  color: var(--text-white);
}

p { color: var(--text-grey); }

a {
  color: var(--text-grey);
  text-decoration: none;
  transition: color 0.25s var(--ease);
}
a:hover { color: var(--text-white); }

/* Section subtitle badge */
.sec-title .subtitle,
.xb-item--subtitle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 4px 14px !important;
  border-radius: var(--r-pill) !important;
  box-shadow: var(--inset-sm) !important;
  background: transparent !important;
  color: var(--text-grey) !important;
  font-family: var(--font) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

/* ============================================================
   SECTIONS — transparent, let body dark bg show through
   NOTE: Only set background to transparent, don't touch padding/
   display/position — those belong to Elementor.
   ============================================================ */
.elementor-section,
.elementor-top-section,
.elementor-inner-section {
  background-color: transparent !important;
}

/* ============================================================
   HEADER — same fixed pill nav on home + inner pages
   initNav() adds .kc-scrolled when scrollY > 40.
   ============================================================ */
#xb-header-area {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000 !important;
  background: transparent !important;
  background-color: transparent !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

body:has(#xb-header-area) {
  padding-top: 88px;
}

@media (max-width: 991px) {
  body:has(#xb-header-area) {
    padding-top: 72px;
  }
}

/* Sticky clone — never needed */
#xb-header-area .xb-header-area-sticky {
  display: none !important;
}

#xb-header-area .xb-header,
#xb-header-area .xb-header__wrap {
  background: transparent !important;
  background-color: transparent !important;
}

/* Pill container — transparent at top, glass on scroll */
#xb-header-area .container.mxw_1710 {
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: var(--r-pill) !important;
  padding-left: clamp(16px, 2vw, 28px) !important;
  padding-right: 8px !important;
  transition: background 0.35s var(--ease), border-color 0.35s var(--ease),
              backdrop-filter 0.35s var(--ease) !important;
}

/* On scroll: only the pill container gets the glass background — NOT the full header */
#xb-header-area.kc-scrolled .container.mxw_1710 {
  background: hsla(0,0%,4%,0.82) !important;
  border-color: var(--border) !important;
  box-shadow: var(--inset-glow), 0 4px 32px rgba(0,0,0,0.45) !important;
  backdrop-filter: blur(18px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
}

/* Logo */
.xb-header__logo img,
.xb-logo img {
  filter: brightness(10) !important;
}

/* Nav links — match inner-page height on homepage too */
#xb-header-area .main-menu > ul > li > a,
#xb-header-area .main-menu ul li a {
  padding: 35px 0 !important;
}

/* Homepage header CTA: same pill + arrow as inner pages (not business anim btn) */
#xb-header-area.header-business .xb-header__btn a.xb-btn--business {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-mid) !important;
  border-radius: var(--r-pill) !important;
  color: var(--text-white) !important;
  padding: 8px 8px 8px 18px !important;
  font-family: var(--font) !important;
  font-weight: 500 !important;
  font-size: 13.5px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
#xb-header-area.header-business .xb-header__btn a.xb-btn--business::before {
  display: none !important;
}
#xb-header-area.header-business .xb-header__btn a .btn-anim-wrap {
  transform: none !important;
  transition: none !important;
}
#xb-header-area.header-business .xb-header__btn a .button-text:nth-child(2) {
  display: none !important;
}
#xb-header-area.header-business .xb-header__btn a .button-text:nth-child(1) {
  position: static !important;
  opacity: 1 !important;
  transform: none !important;
}

@media (max-width: 991px) {
  #xb-header-area.header-business {
    background: transparent !important;
    background-color: transparent !important;
  }
}

.main-menu > ul > li > a,
#main-nav > li > a {
  color: var(--text-grey) !important;
  font-family: var(--font) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  transition: color 0.25s var(--ease) !important;
}
.main-menu > ul > li:hover > a,
.main-menu > ul > li.current-menu-item > a {
  color: var(--text-white) !important;
}

/* Dropdown */
.main-menu .sub-menu {
  background: #0c0c0c !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-sm) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.8) !important;
  padding: 6px !important;
}
.main-menu .sub-menu li a {
  color: var(--text-grey) !important;
  border-radius: 8px !important;
  padding: 9px 14px !important;
  font-size: 13.5px !important;
  display: block !important;
  transition: all 0.2s var(--ease) !important;
}
.main-menu .sub-menu li:hover > a {
  color: var(--text-white) !important;
  background: var(--bg-card-hover) !important;
}

/* Header CTA button */
.xb-header__btn a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 8px 8px 18px !important;
  border-radius: var(--r-pill) !important;
  border: 1px solid var(--border-mid) !important;
  background: var(--bg-card) !important;
  color: var(--text-white) !important;
  font-family: var(--font) !important;
  font-weight: 500 !important;
  font-size: 13.5px !important;
  transition: background 0.3s var(--ease) !important;
  text-decoration: none !important;
}
.xb-header__btn a::after {
  content: '↗';
  width: 30px; height: 30px;
  border-radius: 50%;
  background: #fff; color: #010101;
  display: inline-flex;
  align-items: center; justify-content: center;
  font-size: 13px; font-weight: 700;
  flex-shrink: 0;
  transition: transform 0.4s var(--ease);
}
.xb-header__btn a:hover { background: var(--bg-card-hover) !important; }
.xb-header__btn a:hover::after { transform: rotate(45deg); }

/* Mobile — same pill header on home + inner pages */
@media (max-width: 991px) {
  #xb-header-area {
    z-index: 9999 !important;
  }

  /* Pill nav visible immediately on mobile (not only after scroll) */
  #xb-header-area .container.mxw_1710 {
    background: hsla(0, 0%, 4%, 0.88) !important;
    border-color: var(--border) !important;
    box-shadow: var(--inset-glow), 0 4px 24px rgba(0, 0, 0, 0.42) !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }
}

.xb-nav-mobile-button {
  border: 1px solid var(--border) !important;
  background: var(--bg-card) !important;
  color: var(--text-white) !important;
  border-radius: 10px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}

#xb-header-area .xb-nav-mobile {
  position: relative !important;
  z-index: 10060 !important;
  cursor: pointer !important;
}

/* Hide search in slide-out menu */
.xb-header-menu .xb-header-mobile-search,
.kc-mobile-menu .xb-header-mobile-search {
  display: none !important;
}

/* Faster, more responsive slide menu */
.xb-header-wrap .xb-header-menu {
  z-index: 10050 !important;
  transition: transform 0.15s ease, visibility 0.15s ease, opacity 0.15s ease !important;
}

.xb-header-wrap .xb-header-menu-backdrop {
  z-index: 10040 !important;
  transition: opacity 0.15s ease, visibility 0.15s ease !important;
}

.xb-header-menu .xb-menu-primary a {
  display: block !important;
  padding: 14px 0 !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
  transition: opacity 0.12s ease, color 0.12s ease !important;
}

.xb-header-menu .xb-menu-primary a:active {
  opacity: 0.75 !important;
}

.xb-header-menu .sub-menu {
  display: none !important;
  transition: none !important;
}

.xb-header-menu .sub-menu.active {
  display: block !important;
}

body.kc-menu-open {
  overflow: hidden !important;
}

/* Slide-out mobile menu — override parent theme white panel */
.xb-header-wrap,
.xb-header-wrap.kc-mobile-menu {
  background: #080808 !important;
  border-right: 1px solid var(--border) !important;
}

.xb-header-menu,
.xb-header-wrap.style-black .xb-header-menu,
.xb-header-wrap.kc-mobile-menu .xb-header-menu {
  background: #080808 !important;
  background-color: #080808 !important;
}

.xb-header-menu-scroll {
  background: #080808 !important;
}

.xb-header-wrap .xb-menu-primary > li > a,
.xb-header-menu .xb-menu-primary > li > a {
  color: var(--text-grey) !important;
  border-color: var(--border-dim) !important;
}

.xb-header-wrap .xb-menu-primary > li > a:hover,
.xb-header-wrap .xb-menu-primary > li.current-menu-item > a,
.xb-header-wrap .xb-menu-primary > li.current_page_item > a,
.xb-header-menu .xb-menu-primary > li > a:hover,
.xb-header-menu .xb-menu-primary > li.current-menu-item > a {
  color: var(--text-white) !important;
}

.xb-header-wrap .xb-menu-toggle,
.xb-header-menu .xb-menu-toggle {
  color: var(--text-white) !important;
  background: var(--bg-card) !important;
}

.xb-header-mobile-search .search-field {
  color: var(--text-white) !important;
  background: var(--bg-input) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-xs) !important;
}

.xb-header-mobile-search .search-field::placeholder {
  color: var(--text-muted) !important;
}

.xb-header-mobile-search .search-submit {
  color: var(--text-white) !important;
}

.xb-menu-close {
  background: var(--bg-card) !important;
}

.xb-header-wrap .xb-close::before,
.xb-header-wrap .xb-close::after,
.xb-header-menu .xb-close::before,
.xb-header-menu .xb-close::after {
  background-color: #fff !important;
}

.xb-logo-mobile {
  margin-bottom: 28px !important;
}

.xb-logo-mobile img {
  height: 36px !important;
  width: auto !important;
  filter: brightness(10) !important;
}

/* ============================================================
   HERO / BANNER
   ============================================================ */
.bc-banner,
.bc-banner__bg {
  background: transparent !important;
}

/* ============================================================
   BUTTONS
   Pill + arrow style for simple CTAs only — not xb-btn--business
   (those use btn-anim-wrap / ::before from the parent theme).
   ============================================================ */
.xb-btn:not(.xb-btn--business):not(.xb-btn--law):not(.xb-btn--insurance):not(.xb-btn--marketing):not(.xb-btn--advisor):not(.has-icon),
a.xb-btn:not(.xb-btn--business):not(.xb-btn--law):not(.has-icon) {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 9px 9px 22px !important;
  border-radius: var(--r-pill) !important;
  border: 1px solid var(--border-mid) !important;
  background: var(--bg-card) !important;
  color: var(--text-white) !important;
  font-family: var(--font) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  cursor: pointer !important;
  transition: background 0.3s var(--ease) !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.xb-btn:not(.xb-btn--business):not(.xb-btn--law):not(.xb-btn--insurance):not(.has-icon)::after {
  content: '↗';
  width: 32px; height: 32px;
  border-radius: 50%;
  background: #fff; color: #010101;
  display: inline-flex;
  align-items: center; justify-content: center;
  font-size: 13px; font-weight: 700;
  flex-shrink: 0;
  transition: transform 0.4s var(--ease);
}
.xb-btn:not(.xb-btn--business):not(.xb-btn--law):not(.has-icon):hover {
  background: var(--bg-card-hover) !important;
  color: var(--text-white) !important;
}
.xb-btn:not(.xb-btn--business):not(.xb-btn--law):not(.has-icon):hover::after {
  transform: rotate(45deg);
}

/* Business buttons — keep parent animation, tune for dark UI */
.xb-btn--business {
  border-radius: var(--r-pill) !important;
  font-family: var(--font) !important;
}
.xb-btn--business.btn-dark {
  background-color: var(--bg-card) !important;
  color: var(--text-white) !important;
  border: 1px solid var(--border-mid) !important;
}
.xb-btn--business.btn-dark:hover {
  background-color: #fff !important;
  color: #010101 !important;
}

input[type="submit"], button[type="submit"] {
  border-radius: var(--r-pill) !important;
  background: #fff !important;
  color: #010101 !important;
  font-family: var(--font) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 12px 28px !important;
  cursor: pointer !important;
  border: none !important;
  transition: opacity 0.3s !important;
}
input[type="submit"]:hover, button[type="submit"]:hover { opacity: 0.88; }

/* ============================================================
   CARDS — general xb-item--inner
   NOTE: We add glassmorphism without touching display/flex/position.
   ============================================================ */
.xb-item--inner {
  background: var(--bg-card) !important;
  box-shadow: var(--inset-glow) !important;
  border-radius: var(--r-card) !important;
  transition: background 0.3s var(--ease), transform 0.3s var(--ease) !important;
}
.xb-item--inner:hover {
  background: var(--bg-card-hover) !important;
  transform: translateY(-3px) !important;
}
.xb-item--icon {
  background: var(--bg-card-hover) !important;
  box-shadow: var(--inset-sm) !important;
  color: var(--text-white) !important;
  border-radius: 14px !important;
  transition: color 0.3s var(--ease) !important;
}
.xb-item--inner:hover .xb-item--icon {
  color: var(--text-purple) !important;
}
.xb-item--title { color: var(--text-white) !important; }
.xb-item--content p,
.xb-item--review { color: var(--text-grey) !important; }

/* ============================================================
   SERVICE SECTION
   NOTE: No overflow:hidden — slider uses negative margins.
   ============================================================ */
.bc-service .xb-item--inner {
  background: var(--bg-card) !important;
  transition: background 0.3s var(--ease) !important;
}
.bc-service .xb-item--inner:hover {
  background: var(--bg-card-hover) !important;
}
.bc-service .xb-item--title,
.bc-service .xb-item--title a {
  color: var(--text-white) !important;
}
.bc-service .xb-item--content p,
.bc-service p { color: var(--text-grey) !important; }

/* Service slider arrows */
.xb-swiper-arrow {
  background: var(--bg-card) !important;
  box-shadow: var(--inset-sm) !important;
  border-radius: var(--r-pill) !important;
  color: var(--text-white) !important;
  transition: all 0.3s var(--ease) !important;
}
.xb-swiper-arrow:hover {
  background: #fff !important;
  color: #010101 !important;
}

/* ============================================================
   PORTFOLIO SECTION
   ============================================================ */
.bc-portfolio {
  border-radius: var(--r-card) !important;
  transition: transform 0.3s var(--ease) !important;
}
.bc-portfolio:hover {
  transform: translateY(-4px) !important;
}
.bc-portfolio .xb-item--inner {
  background: var(--surface) !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}
.bc-portfolio .xb-item--inner:hover {
  background: var(--surface-hover) !important;
  box-shadow: var(--shadow-lift) !important;
}

/* Portfolio overlay */
.bc-portfolio .overlay {
  background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.3) 100%) !important;
}

/* Portfolio images */
.bc-portfolio .xb-item--img img {
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  display: block !important;
}

/* Portfolio titles & content */
.bc-portfolio .xb-item--title a {
  color: var(--text-white) !important;
  font-weight: 700 !important;
  transition: color 0.25s var(--ease) !important;
}
.bc-portfolio .xb-item--title a:hover { color: var(--text-grey) !important; }
.bc-portfolio .xb-item--content { color: var(--text-grey) !important; }

/* Category badge */
.xb-item--cat,
.xb-item--cat a {
  background: transparent !important;
  box-shadow: var(--inset-sm) !important;
  border-radius: var(--r-pill) !important;
  padding: 3px 12px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: var(--text-grey) !important;
  display: inline-block !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

/* Portfolio filter buttons */
.bc-portfolio__menu { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.bc-portfolio__menu button,
.portfolio-menu button {
  background: var(--bg-card) !important;
  box-shadow: var(--inset-sm) !important;
  color: var(--text-grey) !important;
  border-radius: var(--r-pill) !important;
  padding: 7px 18px !important;
  font-family: var(--font) !important;
  font-size: 13px !important;
  cursor: pointer !important;
  transition: all 0.25s var(--ease) !important;
  border: none !important;
}
.bc-portfolio__menu button.active,
.bc-portfolio__menu button:hover {
  background: #fff !important;
  color: #010101 !important;
}

/* ============================================================
   TESTIMONIAL
   ============================================================ */
.bc-testimonial .xb-item--inner {
  background: var(--bg-card) !important;
  transition: background 0.3s var(--ease) !important;
}
.bc-testimonial .xb-item--inner:hover {
  background: var(--bg-card-hover) !important;
}
.xb-item--quote,
.xb-item--review { color: var(--text-grey) !important; }
.xb-item--name   { color: var(--text-white) !important; }
.xb-item--desig  { color: var(--text-muted) !important; }

/* ============================================================
   BLOG CARDS
   ============================================================ */
.bc-blog {
  border-radius: var(--r-card) !important;
  transition: transform 0.3s var(--ease) !important;
}
.bc-blog:hover { transform: translateY(-3px) !important; }
.bc-blog .xb-item--inner {
  background: var(--surface) !important;
  border: none !important;
  box-shadow: none !important;
}
.bc-blog .xb-item--inner:hover {
  background: var(--surface-hover) !important;
  box-shadow: var(--shadow-lift) !important;
}

/* ============================================================
   CTA SECTION
   ============================================================ */
.bc-cta__wrap {
  background: var(--bg-card) !important;
  border-radius: var(--r-card) !important;
  box-shadow: var(--inset-glow) !important;
}
.bc-cta h2, .bc-cta h3 { color: var(--text-white) !important; }
.bc-cta p             { color: var(--text-grey) !important; }

/* ============================================================
   ABOUT SECTION
   ============================================================ */
.bc-about__revirew {
  background: var(--bg-card) !important;
  border-radius: var(--r-card) !important;
  box-shadow: var(--inset-glow) !important;
}
.bc-about__tab .nav-link {
  color: var(--text-grey) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: var(--r-pill) !important;
  font-family: var(--font) !important;
  font-weight: 500 !important;
  transition: all 0.25s var(--ease) !important;
}
.bc-about__tab .nav-link.active,
.bc-about__tab .nav-link:hover {
  color: var(--text-white) !important;
  background: var(--bg-card) !important;
  box-shadow: var(--inset-sm) !important;
}

/* ============================================================
   COUNTERS
   ============================================================ */
.xb-item--number, .odometer {
  color: var(--text-white) !important;
  font-family: var(--font) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
}

/* ============================================================
   FORMS
   ============================================================ */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea,
select,
.wpcf7-form-control:not(.wpcf7-submit) {
  background: var(--bg-input) !important;
  box-shadow: var(--inset-sm) !important;
  color: var(--text-white) !important;
  border-radius: var(--r-sm) !important;
  padding: 13px 16px !important;
  font-family: var(--font) !important;
  font-size: 14px !important;
  width: 100%;
  border: none !important;
  transition: box-shadow 0.25s var(--ease) !important;
}
input:focus, textarea:focus {
  box-shadow: inset 0 0 0 1px hsla(0,0%,100%,0.3) !important;
  outline: none !important;
}
input::placeholder, textarea::placeholder { color: var(--text-muted) !important; }
label { color: var(--text-grey) !important; font-size: 13px !important; font-weight: 500 !important; }

/* ============================================================
   FOOTER
   ============================================================ */
.xb-footer, .site-footer, footer {
  background: #010101 !important;
  border-top: none !important;
  margin-top: 0 !important;
  position: relative !important;
}
.xb-footer h4, .xb-footer h5,
footer h4, footer h5 {
  color: var(--text-white) !important;
  font-family: var(--font) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
.xb-footer p, .xb-footer li,
footer p, footer li { color: var(--text-grey) !important; font-size: 14px !important; }
.xb-footer a, footer a {
  color: var(--text-grey) !important;
  font-size: 14px !important;
  transition: color 0.25s var(--ease) !important;
}
.xb-footer a:hover, footer a:hover { color: var(--text-white) !important; }

.bc-footer-social a, .xb-footer .social a {
  background: var(--bg-card) !important;
  box-shadow: var(--inset-sm) !important;
  border-radius: var(--r-pill) !important;
  width: 36px; height: 36px;
  display: inline-flex !important;
  align-items: center !important; justify-content: center !important;
  color: var(--text-grey) !important;
  transition: all 0.25s var(--ease) !important;
}
.bc-footer-social a:hover, .xb-footer .social a:hover {
  background: #fff !important; color: #010101 !important;
}

.copyright, [class*="copyright"] {
  color: var(--text-muted) !important;
  font-size: 13px !important;
  border-top: 1px solid var(--border-dim) !important;
}

/* ============================================================
   MISC
   ============================================================ */
.xb-backtotop, #back-to-top {
  background: #fff !important; color: #010101 !important;
  border: none !important;
  border-radius: var(--r-pill) !important;
}

hr, .divider {
  border: none !important;
  height: 1px !important;
  background: var(--border-dim) !important;
}

.xb-loader, #preloader, .preloader { background: var(--bg) !important; }

/* Breadcrumb */
.breadcrumb-area, .page-banner {
  background: var(--bg) !important;
  border-bottom: 1px solid var(--border-dim) !important;
  padding-top: 90px !important;
}

/* Pagination */
.pagination_wrap ul li a {
  background: var(--bg-card) !important;
  box-shadow: var(--inset-sm) !important;
  color: var(--text-grey) !important;
  border-radius: var(--r-xs) !important;
  transition: all 0.25s var(--ease) !important;
  border: none !important;
}
.pagination_wrap ul li a.current_page,
.pagination_wrap ul li a:hover { background: #fff !important; color: #010101 !important; }

/* Accordion */
.accordion-item {
  background: var(--bg-card) !important;
  box-shadow: var(--inset-sm) !important;
  border: none !important;
  border-radius: var(--r-sm) !important;
  margin-bottom: 6px !important;
}
.accordion-button {
  background: transparent !important;
  color: var(--text-white) !important;
  font-family: var(--font) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
.accordion-button:not(.collapsed) { color: var(--text-white) !important; background: transparent !important; }
.accordion-body { color: var(--text-grey) !important; }

/* ============================================================
   SECTION RADIAL GLOWS (added by JS to specific sections)
   ============================================================ */
.kc-glow-top {
  background-image: radial-gradient(
    120% 100% at 50% 0%,
    hsla(0,0%,100%,0.05) 0%,
    transparent 60%
  ) !important;
}
.kc-glow-bottom {
  background-image: radial-gradient(
    120% 100% at 50% 100%,
    hsla(0,0%,100%,0.05) 0%,
    transparent 60%
  ) !important;
}
.kc-glow-side {
  background-image: radial-gradient(
    80% 120% at 90% 110%,
    hsla(0,0%,100%,0.06),
    transparent 65%
  ) !important;
}

/* ============================================================
   SCROLL ANIMATIONS — subtle slide only (never opacity:0)
   ============================================================ */
.kc-anim {
  transition: transform 0.65s cubic-bezier(0.19,1,0.22,1);
}
.kc-anim:not(.kc-in) {
  transform: translateY(20px);
}
.kc-anim.kc-in {
  transform: translateY(0) !important;
}

/* ============================================================
   HOMEPAGE (Elementor page 104) — remove light-theme sections
   Elementor still ships #CCFF86 / #F1F1F1 / #FFFFFF blocks.
   ============================================================ */
body.elementor-page-104 {
  color: var(--text-grey) !important;
}

body.elementor-page-104 h1,
body.elementor-page-104 h2,
body.elementor-page-104 h3,
body.elementor-page-104 h4,
body.elementor-page-104 h5,
body.elementor-page-104 h6 {
  color: var(--text-white) !important;
}

.elementor-104 .elementor-element.elementor-element-31298bc4:not(.elementor-motion-effects-element-type-background),
.elementor-104 .elementor-element.elementor-element-31298bc4 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-104 .elementor-element.elementor-element-6e069718:not(.elementor-motion-effects-element-type-background),
.elementor-104 .elementor-element.elementor-element-6e069718 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-104 .elementor-element.elementor-element-59c62b89:not(.elementor-motion-effects-element-type-background),
.elementor-104 .elementor-element.elementor-element-59c62b89 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-104 .elementor-element.elementor-element-307a050c:not(.elementor-motion-effects-element-type-background),
.elementor-104 .elementor-element.elementor-element-307a050c > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-104 .elementor-element.elementor-element-172eb2aa:not(.elementor-motion-effects-element-type-background),
.elementor-104 .elementor-element.elementor-element-172eb2aa > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: transparent !important;
  background-image: none !important;
}

/* Trusted by Leading Companies — wide client logos (Cura, Guardant) */
.elementor-element-5bccb4e .bc-cta-img .shape--1 .shape-inner img {
  max-width: 96px;
  max-height: 42px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.elementor-element-5bccb4e .bc-cta-img .shape--2 .shape-inner img {
  max-width: 52px;
  max-height: 42px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.elementor-element-5bccb4e .bc-cta-img.style-2 .shape--1 .shape-inner img {
  max-width: 72px;
  max-height: 36px;
  width: auto;
  height: auto;
  object-fit: contain;
}

body.elementor-page-104 .sec-title .title,
body.elementor-page-104 .sec-title--business .title,
body.elementor-page-104 .bc-portfolio .xb-item--title,
body.elementor-page-104 .bc-portfolio .xb-item--title a {
  color: var(--text-white) !important;
}

body.elementor-page-104 .sec-title--business .title span {
  color: var(--text-purple) !important;
}

body.elementor-page-104 .bc-service .xb-item--content,
body.elementor-page-104 .bc-service-text,
body.elementor-page-104 .bc-portfolio .xb-item--content {
  color: var(--text-grey) !important;
}

/* ============================================================
   ABOUT TAB TEMPLATES (120, 122, 124) — dark theme overrides
   These templates were built for a lime-green (#CCFF86) section bg.
   We override the light icon box backgrounds and fix text contrast.
   ============================================================ */

/* Big headings in each tab */
.elementor-120 .elementor-heading-title,
.elementor-122 .elementor-heading-title,
.elementor-124 .elementor-heading-title {
  color: var(--text-white) !important;
}

/* Body / detail copy in each About tab */
.elementor-104 .elementor-element.elementor-element-24d39caa .elementor-widget-text-editor,
.elementor-104 .tab-content .elementor-widget-text-editor,
.elementor-120 .elementor-widget-text-editor,
.elementor-122 .elementor-widget-text-editor,
.elementor-124 .elementor-widget-text-editor,
.elementor-120 p,
.elementor-122 p,
.elementor-124 p,
.elementor-120 .elementor-widget-text-editor div,
.elementor-122 .elementor-widget-text-editor div,
.elementor-124 .elementor-widget-text-editor div {
  color: var(--text-white) !important;
}

/* Homepage portfolio — no section title */
.elementor-104 .elementor-element.elementor-element-3d99bfd1 .sec-title {
  display: none !important;
}

/* Icon boxes: replace #F8FFEF background with dark card glass */
.tab-content .elementor-widget-icon-box,
.elementor-120 .elementor-widget-icon-box > .elementor-widget-container,
.elementor-122 .elementor-widget-icon-box > .elementor-widget-container,
.elementor-124 .elementor-widget-icon-box > .elementor-widget-container {
  background: var(--bg-card) !important;
  background-color: var(--bg-card) !important;
  box-shadow: var(--inset-glow) !important;
  border-radius: var(--r-sm) !important;
}
.tab-content .elementor-icon-box-title,
.tab-content .elementor-icon-box-title a,
.elementor-120 .elementor-icon-box-title,
.elementor-120 .elementor-icon-box-title a,
.elementor-122 .elementor-icon-box-title,
.elementor-122 .elementor-icon-box-title a,
.elementor-124 .elementor-icon-box-title,
.elementor-124 .elementor-icon-box-title a {
  color: var(--text-white) !important;
}
.tab-content .elementor-icon-box-description {
  color: var(--text-grey) !important;
}
/* Icon circle: swap #03080B background for a subtle light bg */
.tab-content .elementor-view-stacked .elementor-icon {
  background-color: hsla(0,0%,100%,0.10) !important;
  color: var(--text-white) !important;
  border-color: transparent !important;
}
.tab-content .elementor-view-framed .elementor-icon,
.tab-content .elementor-view-default .elementor-icon {
  color: var(--text-white) !important;
  border-color: hsla(0,0%,100%,0.20) !important;
}

/* About tabs — body copy squishes into one line on mobile/tablet because
   Elementor templates 120/122/124 use 200–600px right margin for desktop. */
@media (max-width: 1024px) {
  .elementor-120 .elementor-widget-text-editor > .elementor-widget-container,
  .elementor-122 .elementor-widget-text-editor > .elementor-widget-container,
  .elementor-124 .elementor-widget-text-editor > .elementor-widget-container,
  .tab-content .elementor-widget-text-editor > .elementor-widget-container {
    margin-right: 0 !important;
    margin-left: 0 !important;
    max-width: 100% !important;
  }

  .elementor-120 .elementor-inner-section .elementor-container,
  .elementor-122 .elementor-inner-section .elementor-container,
  .elementor-124 .elementor-inner-section .elementor-container {
    flex-wrap: wrap !important;
  }

  .elementor-120 .elementor-inner-section .elementor-column,
  .elementor-122 .elementor-inner-section .elementor-column,
  .elementor-124 .elementor-inner-section .elementor-column {
    width: 100% !important;
  }

  .tab-content .elementor-icon-box-wrapper,
  .elementor-120 .elementor-icon-box-wrapper,
  .elementor-122 .elementor-icon-box-wrapper,
  .elementor-124 .elementor-icon-box-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
}

@media (max-width: 767px) {
  .tab-content {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .tab-content .elementor-widget-text-editor p,
  .elementor-120 .elementor-widget-text-editor p,
  .elementor-122 .elementor-widget-text-editor p,
  .elementor-124 .elementor-widget-text-editor p {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    line-height: 1.65 !important;
    margin-bottom: 1em !important;
    white-space: normal !important;
  }

  .elementor-120 .elementor-heading-title,
  .elementor-122 .elementor-heading-title,
  .elementor-124 .elementor-heading-title {
    font-size: clamp(24px, 6vw, 32px) !important;
    line-height: 1.25 !important;
  }
}

/* ============================================================
   SERVICE SECTION — SVG icon visibility
   SVG paths use stroke="#212121" designed for light bg.
   filter: brightness(0) invert(1) turns any dark SVG white.
   ============================================================ */
.bc-service .xb-item--icon svg {
  filter: brightness(0) invert(1);
  opacity: 0.85;
}

/* ============================================================
   HIDE BLOG SECTION ON HOMEPAGE  (Elementor ID: 36f16d2b)
   ============================================================ */
.elementor-element-36f16d2b {
  display: none !important;
}

/* ============================================================
   PORTFOLIO PAGE (page-id-270)
   Remove legacy breadcrumb banner + embedded header widget;
   modernise the portfolio grid layout.
   ============================================================ */

/* Hide the big breadcrumb "Portfolio" title banner */
.page-id-270 .breadcrumb.page-banner {
  display: none !important;
}

/* Section title on portfolio page */
.page-id-270 .sec-title .title {
  font-size: clamp(2rem, 5vw, 3.5rem) !important;
  font-weight: 700 !important;
  color: var(--text-white) !important;
  letter-spacing: -0.03em !important;
}

/* Portfolio filter buttons — pill style */
.page-id-270 .bc-portfolio__menu button,
.page-id-270 .portfolio-menu button,
.page-id-270 .xb-portfolio__menu button {
  background: var(--bg-card) !important;
  box-shadow: var(--inset-sm) !important;
  border: none !important;
  color: var(--text-grey) !important;
  border-radius: var(--r-pill) !important;
  padding: 8px 22px !important;
  font-family: var(--font) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.25s var(--ease) !important;
}
.page-id-270 .bc-portfolio__menu button.active,
.page-id-270 .bc-portfolio__menu button:hover,
.page-id-270 .portfolio-menu button.active,
.page-id-270 .portfolio-menu button:hover,
.page-id-270 .xb-portfolio__menu button.active,
.page-id-270 .xb-portfolio__menu button:hover {
  background: #fff !important;
  color: #010101 !important;
  box-shadow: none !important;
}

/* Portfolio cards */
.page-id-270 .bc-portfolio,
.page-id-270 .xb-portfolio-item {
  border-radius: var(--r-card) !important;
  overflow: hidden !important;
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease) !important;
  background: var(--surface) !important;
  box-shadow: none !important;
  border: none !important;
}
.page-id-270 .bc-portfolio:hover,
.page-id-270 .xb-portfolio-item:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--shadow-lift) !important;
  background: var(--surface-hover) !important;
}

.page-id-270 .bc-portfolio .xb-item--inner,
.page-id-270 .xb-portfolio-item .xb-item--inner {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Portfolio image cover */
.page-id-270 .bc-portfolio img,
.page-id-270 .xb-portfolio-item img,
.page-id-270 .bc-portfolio .xb-item--img img {
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.5s var(--ease) !important;
}
.page-id-270 .bc-portfolio:hover img,
.page-id-270 .xb-portfolio-item:hover img {
  transform: scale(1.04) !important;
}

/* Image overlay */
.page-id-270 .bc-portfolio .overlay,
.page-id-270 .xb-portfolio-item .overlay {
  background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.1) 60%, transparent 100%) !important;
}

/* Card text */
.page-id-270 .bc-portfolio .xb-item--title,
.page-id-270 .bc-portfolio .xb-item--title a,
.page-id-270 .xb-portfolio-item .xb-item--title,
.page-id-270 .xb-portfolio-item .xb-item--title a {
  color: var(--text-white) !important;
  font-weight: 600 !important;
  font-size: 16px !important;
}
.page-id-270 .bc-portfolio .xb-item--content,
.page-id-270 .xb-portfolio-item .xb-item--content {
  color: var(--text-grey) !important;
  font-size: 14px !important;
}
.page-id-270 .xb-item--cat,
.page-id-270 .xb-item--cat a {
  color: var(--text-muted) !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Footer CTA on portfolio page */
.page-id-270 .bc-footer-cta,
.page-id-270 .elementor-widget-int-footer-cta {
  background: var(--surface) !important;
  border-radius: var(--r-card) !important;
  box-shadow: none !important;
  border: none !important;
}

/* ============================================================
   HOMEPAGE SPACER
   Header is fixed on all pages; body padding-top reserves space.
   ============================================================ */

/* Hide AI Copilot chat widget — keep WhatsApp (qlwapp) only */
#aicp__app { display: none !important; }

/* WhatsApp bubble — icon only, no label text */
.qlwapp-text {
  display: none !important;
}

/* ============================================================
   PORTFOLIO DETAIL PAGE — modern dark layout
   Body class: single-seargin_portfolio
   ============================================================ */

.single-seargin_portfolio .breadcrumb.portfolio-banner {
  display: none !important;
}

/* First section — header already reserves ~88px */
.single-seargin_portfolio .elementor-top-section:first-child {
  padding-top: 48px !important;
}

@media (max-width: 767px) {
  .single-seargin_portfolio .elementor-top-section:first-child {
    padding-top: 32px !important;
  }
}

/* Hero project image */
.single-seargin_portfolio .elementor-widget-image img {
  border-radius: var(--r-card) !important;
  width: 100% !important;
  display: block !important;
}

/* Headings & body copy */
.single-seargin_portfolio .elementor-heading-title,
.single-seargin_portfolio h1,
.single-seargin_portfolio h2,
.single-seargin_portfolio h3,
.single-seargin_portfolio .portfolio-single__content h2 {
  color: var(--text-white) !important;
  font-family: var(--font) !important;
  letter-spacing: -0.03em !important;
}

.single-seargin_portfolio .elementor-widget-text-editor,
.single-seargin_portfolio .elementor-widget-text-editor p,
.single-seargin_portfolio .elementor-widget-text-editor div,
.single-seargin_portfolio .portfolio-single__content p {
  color: var(--text-white) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

/* Project meta strip (Client, Date, Category…) */
.single-seargin_portfolio .portfolio-single__meta {
  border-top: 1px solid hsla(0, 0%, 100%, 0.08) !important;
  border-bottom: none !important;
  padding: 24px 0 0 !important;
  margin: 32px 0 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 16px 24px !important;
}

.single-seargin_portfolio .portfolio-single__meta li {
  color: var(--text-grey) !important;
  font-size: 14px !important;
  margin: 0 !important;
  background: var(--surface) !important;
  border: none !important;
  border-radius: var(--r-sm) !important;
  padding: 16px 18px !important;
}

.single-seargin_portfolio .portfolio-single__meta li strong {
  color: var(--text-white) !important;
  display: block !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin: 0 0 6px !important;
}

/* Related projects */
.single-seargin_portfolio .xb-portfolio {
  background: var(--surface) !important;
  border: none !important;
  border-radius: var(--r-card) !important;
  overflow: hidden !important;
  box-shadow: none !important;
  transition: transform 0.35s var(--ease), background 0.35s var(--ease) !important;
}

.single-seargin_portfolio .xb-portfolio:hover {
  transform: translateY(-4px) !important;
  background: var(--surface-hover) !important;
  box-shadow: var(--shadow-lift) !important;
}

.single-seargin_portfolio .xb-portfolio .xb-item--img img {
  border-radius: 0 !important;
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
}

.single-seargin_portfolio .xb-portfolio .xb-item--holder {
  padding: 20px 22px 24px !important;
}

.single-seargin_portfolio .xb-portfolio .xb-item--cat,
.single-seargin_portfolio .xb-portfolio .xb-item--cat a {
  color: var(--text-muted) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

.single-seargin_portfolio .xb-portfolio .xb-item--title,
.single-seargin_portfolio .xb-portfolio .xb-item--title a {
  color: var(--text-white) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

.single-seargin_portfolio .xb-portfolio .xb-item--content {
  color: var(--text-grey) !important;
}

/* Section spacing */
.single-seargin_portfolio .elementor-section {
  padding-bottom: 60px !important;
}

.single-seargin_portfolio .elementor-section:last-child {
  padding-bottom: 80px !important;
}

/* ============================================================
   CONTACT PAGE (page-id-1419) — Dialedweb clean surfaces
   ============================================================ */

/* Hide old breadcrumb title banner */
.page-id-1419 .breadcrumb.page-banner {
  display: none !important;
}

/* Tighter top spacing — header already reserves room */
.elementor-1419 .elementor-element.elementor-element-185cf9d1 {
  padding-top: 48px !important;
}

@media (max-width: 767px) {
  .elementor-1419 .elementor-element.elementor-element-185cf9d1 {
    padding-top: 32px !important;
  }
}

/* Contact info icon boxes — no white outline */
.page-id-1419 .elementor-widget-icon-box > .elementor-widget-container,
.elementor-1419 .elementor-widget-icon-box > .elementor-widget-container {
  background: var(--surface) !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: var(--r-card) !important;
  padding: 32px 24px !important;
  transition: background 0.3s var(--ease), box-shadow 0.3s var(--ease) !important;
}

.page-id-1419 .elementor-widget-icon-box:hover > .elementor-widget-container,
.elementor-1419 .elementor-widget-icon-box:hover > .elementor-widget-container {
  background: var(--surface-hover) !important;
  box-shadow: var(--shadow-lift) !important;
}

.page-id-1419 .elementor-icon-box-title,
.page-id-1419 .elementor-icon-box-title a,
.elementor-1419 .elementor-icon-box-title,
.elementor-1419 .elementor-icon-box-title a {
  color: var(--text-white) !important;
}

.page-id-1419 .elementor-icon-box-description,
.elementor-1419 .elementor-icon-box-description {
  color: var(--text-grey) !important;
}

.page-id-1419 .elementor-icon,
.elementor-1419 .elementor-icon {
  color: var(--text-white) !important;
  fill: var(--text-white) !important;
  background-color: hsla(0, 0%, 100%, 0.06) !important;
  border: none !important;
  box-shadow: none !important;
}

.page-id-1419 .elementor-icon svg,
.elementor-1419 .elementor-icon svg {
  filter: brightness(0) invert(1);
}

/* Drop here a note / Call us CTA strip */
.page-id-1419 .footer-cta,
.page-id-1419 .footer-cta::before {
  background-color: var(--surface) !important;
}

.page-id-1419 .footer-cta {
  box-shadow: none !important;
  border: none !important;
  border-radius: var(--r-card) !important;
}

.page-id-1419 .footer-cta::after {
  display: none !important;
}

.page-id-1419 .footer-cta__line {
  background-color: hsla(0, 0%, 100%, 0.06) !important;
}

.page-id-1419 .footer-cta__holder span {
  color: var(--text-muted) !important;
}

.page-id-1419 .footer-cta__holder h3 {
  color: var(--text-white) !important;
  font-family: var(--font) !important;
}

.page-id-1419 .footer-cta .xb-icon-img .icon svg {
  fill: var(--text-white) !important;
  color: var(--text-white) !important;
  opacity: 0.85;
}

/* Contact form container */
.elementor-element-9ff8964 > .elementor-widget-container,
.elementor-1419 .elementor-element.elementor-element-9ff8964 > .elementor-widget-container {
  background-color: var(--surface) !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: var(--r-card) !important;
}

.page-id-1419 .wpcf7-form label,
.page-id-1419 .wpcf7-form .wpcf7-list-item-label {
  color: var(--text-grey) !important;
}

/* Inputs — borderless dark fields */
.page-id-1419 input[type="text"],
.page-id-1419 input[type="email"],
.page-id-1419 input[type="tel"],
.page-id-1419 input[type="url"],
.page-id-1419 input[type="search"],
.page-id-1419 textarea,
.page-id-1419 select,
.page-id-1419 .wpcf7-form-control:not(.wpcf7-submit),
.page-id-1419 .contact-from .field-inner input,
.page-id-1419 .contact-from .field-inner textarea,
.page-id-1419 .contact-from .field-inner select {
  background: hsla(0, 0%, 100%, 0.04) !important;
  border: none !important;
  box-shadow: none !important;
}

.page-id-1419 input:focus,
.page-id-1419 textarea:focus,
.page-id-1419 .contact-from .field-inner input:focus,
.page-id-1419 .contact-from .field-inner textarea:focus {
  background: hsla(0, 0%, 100%, 0.06) !important;
  box-shadow: none !important;
  outline: none !important;
}

.contact-from .field-inner input[type="text"],
.contact-from .field-inner input[type="email"],
.contact-from .field-inner input[type="tel"],
.contact-from .field-inner input[type="url"],
.contact-from .field-inner input[type="search"],
.contact-from .field-inner textarea,
.contact-from .field-inner select {
  padding-left: 50px !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

.contact-from .icon::before {
  top: 50% !important;
  transform: translateY(-50%) !important;
  left: 18px !important;
}

.contact-from .icon {
  filter: brightness(0) invert(1);
  opacity: 0.55;
  pointer-events: none;
}

/* Map / info column divider */
.elementor-element-299369b5 > .elementor-element-populated,
.elementor-1419 .elementor-element.elementor-element-299369b5 > .elementor-element-populated {
  border: none !important;
}

.page-id-1419 .sec-title .title,
.elementor-1419 .sec-title .title {
  color: var(--text-white) !important;
}

.page-id-1419 .sec-title .subtitle,
.page-id-1419 .xb-item--subtitle,
.elementor-1419 .sec-title .subtitle {
  color: var(--text-grey) !important;
}

/* ============================================================
   INNER PAGE HEADER BANNER — hide breadcrumb/page-nav banner
   ============================================================ */
.breadcrumb.page-banner,
.breadcrumb.blog-banner,
.breadcrumb.archive-banner,
.breadcrumb.post-banner,
.breadcrumb.error-page-banner {
  display: none !important;
}

/* ============================================================
   INNER PAGE TOP SPACING — header already reserves 88px
   ============================================================ */
.elementor-20 .elementor-element.elementor-element-19067bec,
.elementor-270 .elementor-element.elementor-element-1a9374a8 {
  padding-top: 48px !important;
}

@media (max-width: 767px) {
  .elementor-20 .elementor-element.elementor-element-19067bec,
  .elementor-270 .elementor-element.elementor-element-1a9374a8 {
    padding-top: 32px !important;
  }
}

/* Blog listing / archive — parent theme adds pt-150 (150px) on top of header */
body.blog #primary.content-area,
body.archive #primary.content-area,
body.search #primary.content-area,
body.home:not(.elementor-page) #primary.content-area,
.page-id-1418 #primary.content-area,
body.single-post #primary.content-area {
  padding-top: 48px !important;
  padding-bottom: 80px !important;
}

/* ============================================================
   BLOG LISTING — dark theme cards
   ============================================================ */
body.blog .single-post-wrapper,
body.archive .single-post-wrapper,
body.search .single-post-wrapper,
.page-id-1418 .single-post-wrapper,
.single-post-item article {
  background: var(--surface) !important;
  box-shadow: none !important;
  border: none !important;
  outline: none !important;
  border-radius: var(--r-card) !important;
  overflow: hidden !important;
  margin-bottom: 24px !important;
  transition: transform 0.35s var(--ease), background 0.35s var(--ease), box-shadow 0.35s var(--ease) !important;
}

body.blog .single-post-wrapper:hover,
body.archive .single-post-wrapper:hover {
  transform: translateY(-4px) !important;
  background: var(--surface-hover) !important;
  box-shadow: var(--shadow-lift) !important;
}

body.blog .post-content-wrapper,
body.archive .post-content-wrapper {
  padding: 28px 32px 32px !important;
}

body.blog .post-title,
body.archive .post-title,
body.blog .post-title a,
body.archive .post-title a {
  color: var(--text-white) !important;
  font-family: var(--font) !important;
  font-weight: 600 !important;
}

body.blog .post-excerpt,
body.archive .post-excerpt,
body.blog .post-excerpt p,
body.archive .post-excerpt p {
  color: var(--text-grey) !important;
}

body.blog .post-meta,
body.archive .post-meta,
body.blog .post-meta a,
body.archive .post-meta a {
  color: var(--text-muted) !important;
}

body.blog .post-meta a:hover,
body.archive .post-meta a:hover {
  color: var(--text-white) !important;
}

body.blog .post-read-more .xb-btn,
body.archive .post-read-more .xb-btn {
  background: var(--surface) !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--text-white) !important;
  border-radius: var(--r-pill) !important;
}

body.blog .post-read-more .xb-btn:hover,
body.archive .post-read-more .xb-btn:hover {
  background: #fff !important;
  color: #010101 !important;
}

body.blog .grid-post-item,
body.archive .grid-post-item {
  margin-bottom: 24px !important;
}

/* ============================================================
   BLOG SIDEBAR — dark theme, no white outlines
   ============================================================ */
body.blog .sidebar-area .widget,
body.archive .sidebar-area .widget,
body.single-post .sidebar-area .widget,
body.search .sidebar-area .widget,
.page-id-1418 .sidebar-area .widget {
  background: var(--surface) !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: var(--r-card) !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
}

body.blog .sidebar-area .widget-title,
body.archive .sidebar-area .widget-title,
body.single-post .sidebar-area .widget-title,
body.blog .sidebar-area .widget.widget_block h2,
body.archive .sidebar-area .widget.widget_block h2,
body.single-post .sidebar-area .widget.widget_block h2,
body.blog .sidebar-area .wp-block-heading,
body.archive .sidebar-area .wp-block-heading {
  color: var(--text-white) !important;
  font-family: var(--font) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 18px !important;
}

/* Search — classic + block */
body.blog .sidebar-area .search-form input[type="search"],
body.archive .sidebar-area .search-form input[type="search"],
body.single-post .sidebar-area .search-form input[type="search"],
body.blog .sidebar-area .wp-block-search__input,
body.archive .sidebar-area .wp-block-search__input,
body.single-post .sidebar-area .wp-block-search__input {
  background: hsla(0, 0%, 100%, 0.06) !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--text-white) !important;
  border-radius: var(--r-sm) !important;
  height: 52px !important;
  padding: 0 52px 0 16px !important;
}

body.blog .sidebar-area .search-form input::placeholder,
body.archive .sidebar-area .search-form input::placeholder,
body.blog .sidebar-area .wp-block-search__input::placeholder,
body.archive .sidebar-area .wp-block-search__input::placeholder {
  color: var(--text-muted) !important;
}

body.blog .sidebar-area .search-form input:focus,
body.archive .sidebar-area .search-form input:focus,
body.blog .sidebar-area .wp-block-search__input:focus,
body.archive .sidebar-area .wp-block-search__input:focus {
  box-shadow: none !important;
  outline: none !important;
  background: hsla(0, 0%, 100%, 0.08) !important;
}

body.blog .sidebar-area .search-submit,
body.archive .sidebar-area .search-submit,
body.blog .sidebar-area .wp-block-search__button,
body.archive .sidebar-area .wp-block-search__button,
body.blog .sidebar-area .widget.widget_search button[type="submit"],
body.archive .sidebar-area .widget.widget_search button[type="submit"] {
  background: #fff !important;
  color: #010101 !important;
  border: none !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

/* Categories, archives, meta links */
body.blog .sidebar-area .widget a,
body.archive .sidebar-area .widget a,
body.single-post .sidebar-area .widget a,
body.blog .sidebar-area .widget li,
body.archive .sidebar-area .widget li {
  color: var(--text-grey) !important;
}

body.blog .sidebar-area .widget a:hover,
body.archive .sidebar-area .widget a:hover,
body.single-post .sidebar-area .widget a:hover {
  color: var(--text-white) !important;
}

body.blog .sidebar-area .widget.widget_categories ul li,
body.archive .sidebar-area .widget.widget_categories ul li,
body.blog .sidebar-area .widget.widget_archive ul li,
body.archive .sidebar-area .widget.widget_archive ul li,
body.blog .sidebar-area .wp-block-categories-list li,
body.archive .sidebar-area .wp-block-categories-list li,
body.blog .sidebar-area .wp-block-archives-list li,
body.archive .sidebar-area .wp-block-archives-list li {
  border-bottom-color: hsla(0, 0%, 100%, 0.08) !important;
}

body.blog .sidebar-area .post-count-number,
body.archive .sidebar-area .post-count-number {
  color: var(--text-muted) !important;
}

/* Tag cloud */
body.blog .sidebar-area .tagcloud a,
body.archive .sidebar-area .tagcloud a,
body.blog .sidebar-area .wp-block-tag-cloud a,
body.archive .sidebar-area .wp-block-tag-cloud a {
  background: hsla(0, 0%, 100%, 0.06) !important;
  border: none !important;
  color: var(--text-grey) !important;
  border-radius: var(--r-pill) !important;
  box-shadow: none !important;
}

body.blog .sidebar-area .tagcloud a:hover,
body.archive .sidebar-area .tagcloud a:hover,
body.blog .sidebar-area .wp-block-tag-cloud a:hover,
body.archive .sidebar-area .wp-block-tag-cloud a:hover {
  background: #fff !important;
  color: #010101 !important;
}

/* Recent posts widget */
body.blog .sidebar-area .recent-posts .rp-title,
body.archive .sidebar-area .recent-posts .rp-title,
body.blog .sidebar-area .recent-posts .rp-title a,
body.archive .sidebar-area .recent-posts .rp-title a {
  color: var(--text-white) !important;
}

body.blog .sidebar-area .recent-posts .xr-recent-widget-date,
body.archive .sidebar-area .recent-posts .xr-recent-widget-date {
  color: var(--text-muted) !important;
}

body.blog .sidebar-area .recent-posts .thumb img,
body.archive .sidebar-area .recent-posts .thumb img {
  border-radius: var(--r-sm) !important;
}

/* WP block latest posts / comments */
body.blog .sidebar-area .wp-block-latest-posts li,
body.archive .sidebar-area .wp-block-latest-posts li,
body.blog .sidebar-area .wp-block-latest-posts a,
body.archive .sidebar-area .wp-block-latest-posts a,
body.blog .sidebar-area .wp-block-latest-comments li,
body.archive .sidebar-area .wp-block-latest-comments li,
body.blog .sidebar-area .wp-block-latest-comments a,
body.archive .sidebar-area .wp-block-latest-comments a {
  color: var(--text-grey) !important;
}

body.blog .sidebar-area .wp-block-latest-posts a:hover,
body.archive .sidebar-area .wp-block-latest-posts a:hover,
body.blog .sidebar-area .wp-block-latest-comments a:hover,
body.archive .sidebar-area .wp-block-latest-comments a:hover {
  color: var(--text-white) !important;
}

body.blog .sidebar-area .wp-block-latest-posts__post-date,
body.archive .sidebar-area .wp-block-latest-posts__post-date {
  color: var(--text-muted) !important;
}

/* ============================================================
   BLOG DETAIL — single post dark typography & layout
   ============================================================ */
body.single-post .post-details-wrapper article {
  background: var(--surface) !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: var(--r-card) !important;
  padding: clamp(28px, 4vw, 48px) !important;
}

body.single-post .post-details-wrapper article .post-title,
body.single-post .post-details-wrapper article .entry-title {
  color: var(--text-white) !important;
  font-family: var(--font) !important;
  font-size: clamp(28px, 4vw, 38px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.2 !important;
  margin: 0 0 20px !important;
}

body.single-post .post-details-wrapper .post-thumbnail-wrapper {
  margin-bottom: 28px !important;
  border-radius: var(--r-card) !important;
  overflow: hidden !important;
}

body.single-post .post-details-wrapper .post-thumbnail-wrapper img {
  display: block !important;
  width: 100% !important;
  border-radius: var(--r-card) !important;
}

/* Meta row */
body.single-post .post-details-wrapper .post-meta,
body.single-post .post-details-wrapper .post-meta li,
body.single-post .post-details-wrapper .post-meta li a,
body.single-post .post-details-wrapper .post-meta li span {
  color: var(--text-muted) !important;
}

body.single-post .post-details-wrapper .post-meta li i {
  color: var(--text-muted) !important;
}

body.single-post .post-details-wrapper .post-meta li a:hover {
  color: var(--text-white) !important;
}

/* Entry content — override parent #57586b / #222 */
body.single-post .post-details-wrapper .entry-content,
body.single-post .post-details-wrapper .entry-content p,
body.single-post .post-details-wrapper p,
body.single-post .content-area .entry-content p {
  color: var(--text-grey) !important;
  font-size: 17px !important;
  line-height: 1.8 !important;
}

body.single-post .post-details-wrapper .entry-content h1,
body.single-post .post-details-wrapper .entry-content h2,
body.single-post .post-details-wrapper .entry-content h3,
body.single-post .post-details-wrapper .entry-content h4,
body.single-post .post-details-wrapper .entry-content h5,
body.single-post .post-details-wrapper .entry-content h6,
body.single-post .post-details-wrapper article h1,
body.single-post .post-details-wrapper article h2,
body.single-post .post-details-wrapper article h3,
body.single-post .post-details-wrapper article h4,
body.single-post .post-details-wrapper article h5,
body.single-post .post-details-wrapper article h6 {
  color: var(--text-white) !important;
  font-family: var(--font) !important;
  letter-spacing: -0.02em !important;
}

body.single-post .post-details-wrapper .entry-content a,
body.single-post .post-details-wrapper article .entry-content a {
  color: var(--text-purple) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

body.single-post .post-details-wrapper .entry-content a:hover,
body.single-post .post-details-wrapper article .entry-content a:hover {
  color: var(--text-white) !important;
}

body.single-post .post-details-wrapper .entry-content ul,
body.single-post .post-details-wrapper .entry-content ol,
body.single-post .post-details-wrapper article ul,
body.single-post .post-details-wrapper article ol {
  color: var(--text-grey) !important;
}

body.single-post .post-details-wrapper .entry-content li,
body.single-post .post-details-wrapper article ul li,
body.single-post .post-details-wrapper article ol li {
  color: var(--text-grey) !important;
}

body.single-post .post-details-wrapper strong,
body.single-post .post-details-wrapper b,
body.single-post .post-details-wrapper .entry-content strong,
body.single-post .post-details-wrapper .entry-content b {
  color: var(--text-white) !important;
  font-weight: 600 !important;
}

body.single-post .post-details-wrapper figcaption,
body.single-post .post-details-wrapper .wp-element-caption {
  color: var(--text-muted) !important;
}

/* Blockquotes */
body.single-post .post-details-wrapper blockquote,
body.single-post .post-details-wrapper blockquote.wp-block-quote,
body.single-post .post-details-wrapper .wp-block-pullquote {
  background: hsla(0, 0%, 100%, 0.04) !important;
  border-left: 3px solid var(--text-purple) !important;
  color: var(--text-white) !important;
  border-radius: 0 var(--r-sm) var(--r-sm) 0 !important;
  padding: 28px 28px 28px 32px !important;
}

body.single-post .post-details-wrapper blockquote p,
body.single-post .post-details-wrapper .wp-block-quote p {
  color: var(--text-white) !important;
}

body.single-post .post-details-wrapper .wp-block-quote cite,
body.single-post .post-details-wrapper .wp-block-quote footer,
body.single-post .post-details-wrapper .wp-block-pullquote cite {
  color: var(--text-muted) !important;
}

/* Code & pre */
body.single-post .post-details-wrapper .entry-content code,
body.single-post .post-details-wrapper .entry-content pre {
  background: hsla(0, 0%, 100%, 0.06) !important;
  color: var(--text-white) !important;
  border-radius: var(--r-sm) !important;
}

body.single-post .post-details-wrapper .entry-content pre {
  padding: 20px !important;
  overflow-x: auto !important;
}

/* Tables */
body.single-post .post-details-wrapper .entry-content table {
  border-collapse: collapse !important;
  width: 100% !important;
}

body.single-post .post-details-wrapper .entry-content table th,
body.single-post .post-details-wrapper .entry-content table td {
  border: 1px solid hsla(0, 0%, 100%, 0.08) !important;
  color: var(--text-grey) !important;
  padding: 14px 16px !important;
}

body.single-post .post-details-wrapper .entry-content table th {
  background: hsla(0, 0%, 100%, 0.06) !important;
  color: var(--text-white) !important;
}

/* Tags & share */
body.single-post .post-details-wrapper .post-footer {
  border-top: 1px solid hsla(0, 0%, 100%, 0.08) !important;
  margin-top: 32px !important;
  padding-top: 24px !important;
}

body.single-post .post-details-wrapper .tag-title,
body.single-post .post-details-wrapper .social-share .title {
  color: var(--text-white) !important;
}

body.single-post .post-details-wrapper .post-tags a {
  background: hsla(0, 0%, 100%, 0.06) !important;
  border: none !important;
  color: var(--text-grey) !important;
  border-radius: var(--r-pill) !important;
  box-shadow: none !important;
}

body.single-post .post-details-wrapper .post-tags a:hover {
  background: #fff !important;
  color: #010101 !important;
}

body.single-post .post-details-wrapper .social-share li a {
  background: hsla(0, 0%, 100%, 0.06) !important;
  border: none !important;
  color: var(--text-grey) !important;
}

body.single-post .post-details-wrapper .social-share li a:hover {
  background: #fff !important;
  color: #010101 !important;
}

body.single-post .post-details-wrapper .page-links,
body.single-post .post-details-wrapper .page-links a {
  color: var(--text-grey) !important;
}

body.single-post .post-details-wrapper .page-links a:hover {
  color: var(--text-white) !important;
}

/* Gutenberg blocks inside post */
body.single-post .post-details-wrapper .wp-block-button__link {
  background: #fff !important;
  color: #010101 !important;
  border-radius: var(--r-pill) !important;
}

body.single-post .post-details-wrapper .is-style-outline .wp-block-button__link {
  background: transparent !important;
  border: 1px solid hsla(0, 0%, 100%, 0.2) !important;
  color: var(--text-white) !important;
}

body.single-post .post-details-wrapper .wp-block-separator {
  border-color: hsla(0, 0%, 100%, 0.08) !important;
}

/* Comments */
body.single-post .comments-area {
  margin-top: 48px !important;
}

body.single-post .comments-title,
body.single-post .comments-heading,
body.single-post .comment-author.vcard .fn,
body.single-post .comment-content,
body.single-post .comment-content p,
body.single-post .comment-content li {
  color: var(--text-grey) !important;
}

body.single-post .comment-metadata time,
body.single-post .comment-metadata a,
body.single-post em.comment-awaiting-moderation {
  color: var(--text-muted) !important;
}

body.single-post .comments-area .reply a {
  color: var(--text-purple) !important;
}

body.single-post .comment-respond {
  border-top-color: hsla(0, 0%, 100%, 0.08) !important;
  color: var(--text-grey) !important;
}

body.single-post .comment-respond p,
body.single-post .comment-form label {
  color: var(--text-grey) !important;
}

body.single-post .comment-form input[type="text"],
body.single-post .comment-form input[type="email"],
body.single-post .comment-form textarea {
  background: hsla(0, 0%, 100%, 0.06) !important;
  border: none !important;
  color: var(--text-white) !important;
  border-radius: var(--r-sm) !important;
}

body.single-post .comment-form input:focus,
body.single-post .comment-form textarea:focus {
  background: hsla(0, 0%, 100%, 0.08) !important;
  outline: none !important;
  box-shadow: none !important;
}

body.single-post .comment-form input[type="submit"] {
  background: #fff !important;
  color: #010101 !important;
  border: none !important;
  border-radius: var(--r-pill) !important;
}

/* ============================================================
   PRE-FOOTER CTA — same rhythm as homepage before footer
   ============================================================ */
.kc-pre-footer {
  padding: 0 0 72px;
  background: var(--bg);
}

.kc-pre-footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
  background: var(--bg-card);
  box-shadow: var(--inset-glow);
  border-radius: var(--r-card);
  padding: clamp(32px, 5vw, 56px);
}

.kc-pre-footer__label {
  color: var(--text-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  margin: 0 0 12px !important;
}

.kc-pre-footer__title {
  color: var(--text-white) !important;
  font-family: var(--font) !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.15 !important;
  margin: 0 0 16px !important;
}

.kc-pre-footer__text {
  color: var(--text-grey) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  max-width: 520px;
}

.kc-pre-footer__btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #fff !important;
  color: #010101 !important;
  border-radius: var(--r-pill) !important;
  padding: 14px 28px !important;
  font-family: var(--font) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  transition: transform 0.25s var(--ease), opacity 0.25s var(--ease) !important;
}

.kc-pre-footer__btn:hover {
  transform: translateY(-2px);
  color: #010101 !important;
  opacity: 0.92;
}

@media (max-width: 767px) {
  .kc-pre-footer {
    padding-bottom: 48px;
  }

  .kc-pre-footer__inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ============================================================
   FOOTER — compact size + dark styling
   Elementor sets 125px top/bottom padding and 115px social margin.
   Override to tighter values so the footer doesn't dominate the page.
   ============================================================ */

/* Hide newsletter blocks only — keep footer links & content visible */
.elementor-321 .elementor-element.elementor-element-5d1d9286,
.elementor-200 .elementor-element.elementor-element-f886232 {
  display: none !important;
}

/* Hide duplicate Elementor copyright rows — unified legal bar in child footer */
.elementor-321 .elementor-element.elementor-element-14413803,
.elementor-200 .elementor-element.elementor-element-1be36b75 {
  display: none !important;
}

/* Footer legal bar — copyright + Terms + Privacy */
.kc-footer-legal {
  background: #010101 !important;
  border-top: 1px solid var(--border-dim) !important;
  padding: 14px 0 16px !important;
}

.kc-footer-legal__inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px 24px !important;
  flex-wrap: wrap !important;
}

.kc-footer-legal__copy {
  margin: 0 !important;
  color: var(--text-muted) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.kc-footer-legal__links {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}

.kc-footer-legal__links a {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  transition: color 0.25s var(--ease) !important;
}

.kc-footer-legal__links a:hover {
  color: var(--text-purple) !important;
}

@media (max-width: 767px) {
  .kc-footer-legal__inner {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

/* Footer logo + social — inline row */
.elementor-321 .elementor-element.elementor-element-2a74c5ed > .elementor-element-populated {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px 28px !important;
  flex-wrap: wrap !important;
  margin-top: 0 !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.elementor-321 .elementor-element.elementor-element-634a53e1 {
  flex: 0 0 auto !important;
}

.elementor-321 .elementor-element.elementor-element-634a53e1 > .elementor-widget-container {
  margin: 0 !important;
}

.elementor-321 .elementor-element.elementor-element-254ff764 {
  flex: 0 0 auto !important;
  margin-left: auto !important;
}

.elementor-321 .elementor-element.elementor-element-254ff764 > .elementor-widget-container {
  margin-top: 0 !important;
}

.elementor-321 .elementor-element.elementor-element-254ff764 .bc-footer-social-title {
  display: none !important;
}

.elementor-321 .elementor-element.elementor-element-254ff764 .bc-footer-social-inner {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.elementor-321 .elementor-element.elementor-element-254ff764 .bc-footer-social {
  margin: 0 !important;
  padding: 0 !important;
}

/* Hide removed footer columns + decorative bottom row */
.elementor-321 .elementor-element.elementor-element-4250499b,
.elementor-321 .elementor-element.elementor-element-648eb369,
.elementor-321 .elementor-element.elementor-element-4e72d94f,
.elementor-321 .elementor-element.elementor-element-3e3c9a22,
.elementor-321 .elementor-element.elementor-element-25443cbe,
.elementor-321 .elementor-element.elementor-element-13752ee1,
.elementor-321 .elementor-element.elementor-element-2538afbe {
  display: none !important;
}

/* Footer 200 — dark styling (inner pages) */
.elementor-200,
.elementor-200 .elementor-heading-title,
.elementor-200 .elementor-widget-text-editor {
  color: var(--text-grey) !important;
}

.elementor-200 .elementor-heading-title {
  color: var(--text-white) !important;
}

.elementor-200 a {
  color: var(--text-grey) !important;
}

.elementor-200 a:hover {
  color: var(--text-white) !important;
}

.elementor-200 .elementor-element.elementor-element-6634e258 {
  background-color: #010101 !important;
}

/* Main footer wrapper — compact */
.elementor-321 .elementor-element.elementor-element-78cbfe4d {
  padding-top: 28px !important;
  padding-bottom: 0 !important;
  background-color: #010101 !important;
}

.elementor-321 .elementor-element.elementor-element-78083687 {
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.elementor-321,
.elementor-321 .elementor-heading-title,
.elementor-321 .elementor-icon-list-text,
.elementor-321 .elementor-widget-text-editor {
  color: var(--text-grey) !important;
}

.elementor-321 .elementor-heading-title,
.elementor-321 h2,
.elementor-321 h3,
.elementor-321 h4 {
  color: var(--text-white) !important;
}

.elementor-321 a {
  color: var(--text-grey) !important;
}

.elementor-321 a:hover {
  color: var(--text-white) !important;
}

.elementor-321 .elementor-element.elementor-element-14413803 {
  background-color: #010101 !important;
  border-top: 1px solid var(--border-dim) !important;
}

/* Divider row — tighten the huge margins */
.elementor-321 .elementor-element.elementor-element-7b9fe7b9 {
  margin-top: 30px !important;
  margin-bottom: 40px !important;
}

/* Logo + social column top margin */
.elementor-321 .elementor-element.elementor-element-2a74c5ed > .elementor-element-populated,
.elementor-321 .elementor-element.elementor-element-4e72d94f > .elementor-element-populated,
.elementor-321 .elementor-element.elementor-element-3e3c9a22 > .elementor-element-populated,
.elementor-321 .elementor-element.elementor-element-4250499b > .elementor-element-populated,
.elementor-321 .elementor-element.elementor-element-648eb369 > .elementor-element-populated {
  margin-top: 20px !important;
}

@media (max-width: 767px) {
  .elementor-321 .elementor-element.elementor-element-2a74c5ed > .elementor-element-populated {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .elementor-321 .elementor-element.elementor-element-254ff764 {
    margin-left: 0 !important;
  }
}

/* Bottom copyright section — reduce bottom padding */
.elementor-321 .elementor-element.elementor-element-14413803 {
  padding-bottom: 30px !important;
  padding-top: 30px !important;
}

/* ============================================================
   ABOUT PAGE — readability on dark theme
   ============================================================ */

/* Hero intro — Elementor still sets dark heading on transparent section */
.elementor-20 .elementor-element.elementor-element-f2f2146 .elementor-heading-title {
  color: var(--text-white) !important;
}

.elementor-20 .elementor-element.elementor-element-a9593cc,
.elementor-20 .elementor-element.elementor-element-27af7481,
.elementor-20 .elementor-element.elementor-element-fb5a97d {
  color: var(--text-grey) !important;
}

.elementor-20 .xb-about-info {
  border-left-color: var(--border) !important;
}

.elementor-20 .elementor-element.elementor-element-531ab86b {
  border-color: var(--border) !important;
}

.elementor-20 .xb-about-info__item .xb-item--holder p {
  color: var(--text-grey) !important;
}

/* Feature boxes — drop light grey band from Elementor */
.elementor-20 .elementor-element.elementor-element-32f8f7d6:not(.elementor-motion-effects-element-type-background),
.elementor-20 .elementor-element.elementor-element-32f8f7d6 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: transparent !important;
}

.elementor-20 .elementor-element.elementor-element-32f8f7d6 .elementor-image-box-title {
  color: var(--text-white) !important;
}

.elementor-20 .elementor-element.elementor-element-32f8f7d6 .elementor-image-box-description {
  color: var(--text-grey) !important;
}

/* Testimonials — dark cards instead of white-on-white */
.elementor-20 .elementor-element.elementor-element-37779b6f:not(.elementor-motion-effects-element-type-background),
.elementor-20 .elementor-element.elementor-element-37779b6f > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: transparent !important;
}

.elementor-20 .elementor-element.elementor-element-37779b6f .sec-title .title,
.elementor-20 .elementor-element.elementor-element-37779b6f .sec-title .subtitle {
  color: var(--text-white) !important;
}

.elementor-20 .xb-testimonial1 .xb-item--inner {
  background: var(--bg-card) !important;
  box-shadow: var(--inset-glow) !important;
  border-radius: var(--r-card) !important;
}

.elementor-20 .xb-testimonial1 .xb-item--inner::before {
  border-color: var(--border) !important;
}

.elementor-20 .xb-testimonial1 .xb-item--content {
  color: var(--text-white) !important;
}

.elementor-20 .xb-testimonial1 .xb-item--name {
  color: var(--text-white) !important;
}

.elementor-20 .xb-testimonial1 .xb-item--desig,
.elementor-20 .xb-testimonial1 .xb-item--bottom span,
.elementor-20 .xb-testimonial1 .xb-item--review {
  color: var(--text-grey) !important;
}

.elementor-20 .xb-testimonial1 .xb-item--quote {
  border-color: var(--bg-card) !important;
}

/* Remove "Trusted by over 500+ clients worldwide" marquee section */
.elementor-20 .elementor-element.elementor-element-3823549b {
  display: none !important;
}

/* Counter / success stats on about page — white card needs dark text */
.elementor-20 .elementor-element.elementor-element-10c65dd1 .xb-fanfact2 .number,
.elementor-20 .elementor-element.elementor-element-10c65dd1 .xb-fanfact2 .number .xbo,
.elementor-20 .elementor-element.elementor-element-10c65dd1 .xb-fanfact2 .number .suffix,
.elementor-20 .elementor-element.elementor-element-10c65dd1 .xb-fanfact2 .number .xbo-digit,
.elementor-20 .elementor-element.elementor-element-10c65dd1 .xb-fanfact2 .number .xbo-value,
.elementor-20 .elementor-element.elementor-element-10c65dd1 .xb-fanfact2 > span,
.elementor-20 .elementor-element.elementor-element-56ded4c5 .xb-fanfact2 .number,
.elementor-20 .elementor-element.elementor-element-56ded4c5 .xb-fanfact2 .number .xbo,
.elementor-20 .elementor-element.elementor-element-56ded4c5 .xb-fanfact2 .number .suffix,
.elementor-20 .elementor-element.elementor-element-56ded4c5 .xb-fanfact2 .number .xbo-digit,
.elementor-20 .elementor-element.elementor-element-56ded4c5 .xb-fanfact2 .number .xbo-value,
.elementor-20 .elementor-element.elementor-element-56ded4c5 .xb-fanfact2 > span {
  color: #010101 !important;
}

.elementor-20 .elementor-element.elementor-element-56ded4c5 .fanfact,
.elementor-20 .elementor-element.elementor-element-10c65dd1 .fanfact,
.elementor-20 .elementor-element.elementor-element-56ded4c5 .xb-fanfact__inner,
.elementor-20 .elementor-element.elementor-element-56ded4c5 .xb-fanfact__inner::before {
  color: #010101 !important;
}

.elementor-20 .elementor-element.elementor-element-56ded4c5 .xb-fanfact__inner,
.elementor-20 .elementor-element.elementor-element-56ded4c5 .xb-fanfact__inner::before {
  background-color: #ffffff !important;
}

/* ============================================================
   ABOUT PAGE — Our Experts (Dialed Web profile cards)
   ============================================================ */

.elementor-20 .elementor-element.elementor-element-379506ac {
  padding-top: 80px !important;
  padding-bottom: 100px !important;
}

@media (max-width: 767px) {
  .elementor-20 .elementor-element.elementor-element-379506ac {
    padding-top: 56px !important;
    padding-bottom: 72px !important;
  }
}

.elementor-20 .elementor-element.elementor-element-379506ac:not(.elementor-motion-effects-element-type-background),
.elementor-20 .elementor-element.elementor-element-379506ac > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: transparent !important;
  background-image: none !important;
}

.elementor-20 .elementor-element.elementor-element-379506ac > .elementor-background-overlay {
  opacity: 0 !important;
}

/* Section heading */
.elementor-20 .elementor-element.elementor-element-41c688b5 .sec-title .subtitle img {
  display: none !important;
}

.elementor-20 .elementor-element.elementor-element-41c688b5 .sec-title .subtitle {
  color: var(--text-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

.elementor-20 .elementor-element.elementor-element-41c688b5 .sec-title .subtitle::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--text-purple);
  flex-shrink: 0;
}

.elementor-20 .elementor-element.elementor-element-41c688b5 .sec-title .title {
  color: var(--text-white) !important;
  font-family: var(--font) !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.15 !important;
  max-width: 640px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.elementor-20 .elementor-element.elementor-element-149f9a40 > .elementor-widget-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Static grid — swiper disabled via child-theme.js */
.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-swiper-sliders,
.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-carousel-inner,
.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-team-sldier {
  padding-bottom: 0 !important;
  overflow: visible !important;
}

.elementor-20 .elementor-element.elementor-element-149f9a40 .swiper-pagination,
.elementor-20 .elementor-element.elementor-element-149f9a40 .pagination-style1 {
  display: none !important;
}

.elementor-20 .elementor-element.elementor-element-149f9a40 .swiper-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  transform: none !important;
  width: 100% !important;
  height: auto !important;
}

.elementor-20 .elementor-element.elementor-element-149f9a40 .swiper-slide-duplicate {
  display: none !important;
}

.elementor-20 .elementor-element.elementor-element-149f9a40 .swiper-slide {
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
}

/* Profile card */
.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-team1 .xb-item--inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  background: var(--surface) !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: var(--r-card) !important;
  min-height: 0 !important;
  height: 100% !important;
  padding: 44px 36px 40px !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
  transition: background 0.35s var(--ease), transform 0.35s var(--ease), box-shadow 0.35s var(--ease) !important;
}

.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-team1 .xb-item--inner::before {
  display: none !important;
}

.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-team1 .xb-item--inner:hover {
  background: var(--surface-hover) !important;
  transform: translateY(-6px);
  box-shadow: var(--shadow-lift) !important;
}

.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-item--holder {
  position: relative !important;
  z-index: 2 !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  order: 2 !important;
}

.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-item--holder.mb-25 {
  margin-bottom: 0 !important;
}

.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-item--name {
  font-family: var(--font) !important;
  font-size: clamp(22px, 2.5vw, 26px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 10px !important;
}

.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-item--name a {
  color: var(--text-white) !important;
  pointer-events: none;
  text-decoration: none !important;
}

.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-item--desig {
  display: block !important;
  color: var(--text-grey) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  max-width: 280px;
  margin: 0 auto !important;
}

.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-item--img,
.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-item--shape,
.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-item--social {
  display: none !important;
}

/* Avatar initials — centered above name */
.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-swiper-slide:nth-child(1) .xb-item--inner::after,
.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-swiper-slide:nth-child(2) .xb-item--inner::after {
  content: '';
  position: relative !important;
  top: auto !important;
  left: auto !important;
  order: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 96px !important;
  height: 96px !important;
  border-radius: 50% !important;
  font-family: var(--font) !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: var(--text-white) !important;
  box-shadow: var(--inset-sm), 0 12px 40px rgba(0, 0, 0, 0.35) !important;
  margin: 0 auto 28px !important;
  flex-shrink: 0 !important;
}

.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-swiper-slide:nth-child(1) .xb-item--inner::after {
  content: 'VP';
  background: linear-gradient(145deg, #3d3d6b 0%, #1e1e3a 100%) !important;
}

.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-swiper-slide:nth-child(2) .xb-item--inner::after {
  content: 'AJ';
  background: linear-gradient(145deg, #2d5a45 0%, #1a3328 100%) !important;
}

/* Platform skill tags */
.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-swiper-slide:nth-child(1) .xb-item--desig::after,
.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-swiper-slide:nth-child(2) .xb-item--desig::after {
  display: inline-block !important;
  margin-top: 22px !important;
  padding: 8px 16px !important;
  border-radius: var(--r-pill) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}

.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-swiper-slide:nth-child(1) .xb-item--desig::after {
  content: 'SwiftUI · UIKit · App Store';
  color: #a7f3d0 !important;
  background: hsla(160, 60%, 45%, 0.14) !important;
}

.elementor-20 .elementor-element.elementor-element-149f9a40 .xb-swiper-slide:nth-child(2) .xb-item--desig::after {
  content: 'Kotlin · Flutter · Play Store';
  color: #bfdbfe !important;
  background: hsla(220, 70%, 55%, 0.14) !important;
}

@media (max-width: 767px) {
  .elementor-20 .elementor-element.elementor-element-149f9a40 .swiper-wrapper {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .elementor-20 .elementor-element.elementor-element-149f9a40 .xb-team1 .xb-item--inner {
    padding: 36px 28px 32px !important;
  }
}

/* ============================================================
   APP STORE PROFILE BAR — live projects section
   ============================================================ */
.kc-store-profiles {
  text-align: center;
  margin: 0 auto 48px;
  max-width: 900px;
}

.kc-store-profiles__label {
  color: var(--text-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px !important;
}

.kc-store-profiles__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.kc-store-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 20px !important;
  border-radius: var(--r-pill) !important;
  border: 1px solid var(--border-mid) !important;
  background: var(--bg-card) !important;
  color: var(--text-white) !important;
  font-family: var(--font) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: background 0.25s var(--ease), transform 0.25s var(--ease) !important;
}

.kc-store-btn:hover {
  background: var(--bg-card-hover) !important;
  color: var(--text-white) !important;
  transform: translateY(-2px);
}

.kc-store-btn__icon {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}

.kc-store-btn--play .kc-store-btn__icon {
  background: #01875f;
  color: #fff;
}

.kc-store-btn--apple .kc-store-btn__icon {
  background: #fff;
  color: #000;
  position: relative;
}

.kc-store-btn--apple .kc-store-btn__icon::before {
  content: '';
  width: 10px;
  height: 12px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='black' d='M318.7 268.7c-.2-36.7 16.4-64.4 50.5-84.8-18.8-26.9-47.2-41.8-84.7-44.6-35.5-2.6-74.3 20.7-88.1 20.7-15 0-43.1-22.4-66.6-22.4-52.3 0-110.1 49.1-110.1 141.3 0 30.1 5.5 61.3 16.5 93.4 14.7 41.7 67.7 143.6 123.1 142.1 28.7-.6 49.1-20.5 86.5-20.5 36.3 0 54.8 20.5 86.9 20.2 62.5-.9 116.8-106.7 131.2-148.4-82.4-39.1-76.5-112.8-76.5-114.7zM256.2 78.9c27.7-33.3 46.4-79.5 41.3-125.6-40.1 1.6-88.7 26.7-117.5 60.1-25.9 29.5-48.6 76.8-42.5 122.3 44.9 3.5 90.8-21.9 118.6-56.8z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='black' d='M318.7 268.7c-.2-36.7 16.4-64.4 50.5-84.8-18.8-26.9-47.2-41.8-84.7-44.6-35.5-2.6-74.3 20.7-88.1 20.7-15 0-43.1-22.4-66.6-22.4-52.3 0-110.1 49.1-110.1 141.3 0 30.1 5.5 61.3 16.5 93.4 14.7 41.7 67.7 143.6 123.1 142.1 28.7-.6 49.1-20.5 86.5-20.5 36.3 0 54.8 20.5 86.9 20.2 62.5-.9 116.8-106.7 131.2-148.4-82.4-39.1-76.5-112.8-76.5-114.7zM256.2 78.9c27.7-33.3 46.4-79.5 41.3-125.6-40.1 1.6-88.7 26.7-117.5 60.1-25.9 29.5-48.6 76.8-42.5 122.3 44.9 3.5 90.8-21.9 118.6-56.8z'/%3E%3C/svg%3E") center/contain no-repeat;
}

@media (max-width: 767px) {
  .kc-store-profiles { margin-bottom: 32px; }
  .kc-store-btn { width: 100%; justify-content: center !important; }
}

/* ============================================================
   LEGAL PAGES — Terms & Privacy modern dark layout
   ============================================================ */
body.kc-legal-page .kc-legal-page-wrap {
  padding-top: 48px !important;
  padding-bottom: 80px !important;
  background: var(--bg) !important;
}

.kc-legal-hero {
  padding: 0 0 40px !important;
  text-align: center !important;
}

.kc-legal-hero__label {
  color: var(--text-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  margin: 0 0 14px !important;
}

.kc-legal-hero__label::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--text-purple);
  margin-right: 10px;
  vertical-align: middle;
}

.kc-legal-hero__title {
  color: var(--text-white) !important;
  font-family: var(--font) !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.15 !important;
  margin: 0 0 12px !important;
  max-width: 820px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.kc-legal-hero__updated {
  color: var(--text-muted) !important;
  font-size: 14px !important;
  margin: 0 !important;
}

.kc-legal-page .kc-legal-card {
  background: var(--surface) !important;
  border-radius: var(--r-card) !important;
  padding: clamp(28px, 4vw, 48px) !important;
  max-width: 900px;
  margin: 0 auto !important;
}

.kc-legal-page .entry-content,
.kc-legal-page .entry-content p,
.kc-legal-page .entry-content li {
  color: var(--text-grey) !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  margin-bottom: 18px !important;
}

.kc-legal-page .entry-content h1,
.kc-legal-page .entry-content h2,
.kc-legal-page .entry-content h3,
.kc-legal-page .entry-content h4,
.kc-legal-page .entry-content h5,
.kc-legal-page .entry-content h6 {
  color: var(--text-white) !important;
  font-family: var(--font) !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  margin: 36px 0 16px !important;
  line-height: 1.35 !important;
}

.kc-legal-page .entry-content h2:first-child,
.kc-legal-page .entry-content h3:first-child,
.kc-legal-page .entry-content h4:first-child {
  margin-top: 0 !important;
}

.kc-legal-page .entry-content b,
.kc-legal-page .entry-content strong {
  color: var(--text-white) !important;
  font-weight: 600 !important;
}

.kc-legal-page .entry-content a {
  color: var(--text-purple) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.kc-legal-page .entry-content a:hover {
  color: var(--text-white) !important;
}

.kc-legal-page .entry-content ul,
.kc-legal-page .entry-content ol {
  padding-left: 1.4em !important;
  margin: 0 0 20px !important;
}

.kc-legal-page .entry-content li {
  margin-bottom: 10px !important;
}

.kc-legal-page .entry-content blockquote {
  background: hsla(0, 0%, 100%, 0.04) !important;
  border-left: 3px solid var(--text-purple) !important;
  border-radius: 0 var(--r-sm) var(--r-sm) 0 !important;
  padding: 20px 24px !important;
  margin: 24px 0 !important;
  color: var(--text-white) !important;
}

.kc-legal-page .entry-content .page-links,
.kc-legal-page .entry-content .page-links a {
  color: var(--text-grey) !important;
}

@media (max-width: 767px) {
  body.kc-legal-page .kc-legal-page-wrap {
    padding-top: 32px !important;
    padding-bottom: 56px !important;
  }

  .kc-legal-hero {
    padding-bottom: 28px !important;
  }

  .kc-legal-page .kc-legal-card {
    padding: 24px 20px !important;
  }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 991px) {
  .xb-item--inner:hover,
  .bc-portfolio:hover,
  .bc-blog:hover { transform: none !important; }
}

@media (max-width: 767px) {
  #xb-header-area .container.mxw_1710 { border-radius: 12px !important; }
  .xb-btn { padding: 8px 8px 8px 16px !important; font-size: 13px !important; }
}
