/* =========================================================
   Vodotermika — visual refresh layer
   Global premium skin for home + SEO landing pages
   ========================================================= */
:root{
  --vr-blue:#0ea5e9;
  --vr-blue-2:#0284c7;
  --vr-navy:#071427;
  --vr-navy-2:#0b1f3a;
  --vr-green:#10b981;
  --vr-red:#ef4444;
  --vr-ink:#0f172a;
  --vr-muted:#607086;
  --vr-bg:#f4f9fd;
  --vr-card:rgba(255,255,255,.86);
  --vr-line:rgba(148,163,184,.22);
  --vr-shadow:0 24px 70px rgba(15,23,42,.14);
  --vr-shadow-soft:0 14px 36px rgba(15,23,42,.08);
  --vr-radius:26px;
}

html{scroll-padding-top:120px;}
body.visual-refresh,
body{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(900px 360px at 8% 4%, rgba(14,165,233,.12), transparent 62%),
    radial-gradient(680px 320px at 92% 18%, rgba(16,185,129,.10), transparent 64%),
    linear-gradient(180deg,#f8fcff 0%,#f3f8fc 42%,#eef6fb 100%);
}
::selection{background:rgba(14,165,233,.22);color:#062037;}

body.visual-refresh::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-10;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(14,165,233,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(14,165,233,.045) 1px, transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.65), transparent 72%);
}

body.visual-refresh a,
body.visual-refresh button,
body.visual-refresh .card,
body.visual-refresh .service-card,
body.visual-refresh .gallery-item,
body.visual-refresh .faq-item,
body.visual-refresh .process-step,
body.visual-refresh .testimonial{
  -webkit-tap-highlight-color:transparent;
}

/* ---------- Universal buttons ---------- */
body.visual-refresh .btn{
  position:relative;
  border-radius:999px !important;
  padding:13px 20px;
  font-weight:950;
  letter-spacing:-.015em;
  box-shadow:0 14px 30px rgba(14,165,233,.20);
  transform:translateZ(0);
}
body.visual-refresh .btn::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.30),rgba(255,255,255,0));
  pointer-events:none;
}
body.visual-refresh .btn:hover{transform:translateY(-3px);box-shadow:0 22px 48px rgba(14,165,233,.25);}
body.visual-refresh .btn-danger{background:linear-gradient(135deg,#ff5b5b,#d7263d) !important;box-shadow:0 16px 38px rgba(239,68,68,.24)!important;}
body.visual-refresh .btn-danger:hover{box-shadow:0 24px 55px rgba(239,68,68,.32)!important;}
body.visual-refresh .btn-soft,
body.visual-refresh .btn-outline{
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.25)!important;
  color:#fff!important;
  backdrop-filter:blur(14px);
  box-shadow:0 12px 28px rgba(2,132,199,.14)!important;
}
body.visual-refresh.seo-page .btn-soft,
body.visual-refresh.seo-page .btn-outline{
  background:rgba(14,165,233,.10)!important;
  color:#075985!important;
  border-color:rgba(14,165,233,.22)!important;
}
body.visual-refresh .cta-row{align-items:center;}

/* ---------- Homepage header ---------- */
body.visual-refresh.home-page header#siteHeader{
  background:rgba(248,252,255,.76);
  border-bottom:1px solid rgba(148,163,184,.20);
  box-shadow:0 12px 38px rgba(15,23,42,.08);
}
body.visual-refresh.home-page header#siteHeader.shrink{
  background:rgba(255,255,255,.86);
  box-shadow:0 18px 50px rgba(15,23,42,.12);
}
body.visual-refresh.home-page .topbar{
  background:linear-gradient(90deg,#06172b,#0b3158 50%,#064e3b);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
}
body.visual-refresh.home-page .topbar-row .pill,
body.visual-refresh.home-page .topbar-quick a{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
body.visual-refresh.home-page .topbar-row i,
body.visual-refresh.home-page .topbar-quick i{color:#7dd3fc;}
body.visual-refresh.home-page .logo-badge{
  background:rgba(255,255,255,.76)!important;
  border:1px solid rgba(148,163,184,.22)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.10)!important;
}
body.visual-refresh.home-page nav a{
  padding:10px 2px;
}
body.visual-refresh.home-page nav a::after{
  height:3px;
  bottom:2px;
  background:linear-gradient(90deg,var(--vr-blue),var(--vr-green));
}

/* ---------- SEO landing header ---------- */
body.visual-refresh.seo-page .top{
  background:linear-gradient(90deg,#06172b,#0b3158 48%,#064e3b);
  color:#e8f7ff;
  border-bottom:1px solid rgba(255,255,255,.08);
}
body.visual-refresh.seo-page .top .container{padding:10px 0;}
body.visual-refresh.seo-page .top a{color:#fff;text-shadow:0 1px 12px rgba(125,211,252,.18);}
body.visual-refresh.seo-page .header{
  top:0;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(20px) saturate(145%);
  border-bottom:1px solid rgba(148,163,184,.20);
  box-shadow:0 14px 40px rgba(15,23,42,.08);
}
body.visual-refresh.seo-page .nav{padding:12px 0;}
body.visual-refresh.seo-page .logo{
  display:inline-flex;
  align-items:center;
  padding:9px 12px;
  border-radius:18px;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(148,163,184,.18);
  box-shadow:0 10px 26px rgba(15,23,42,.08);
}
body.visual-refresh.seo-page .logo img{height:48px;}
body.visual-refresh.seo-page .menu a:not(.btn){
  position:relative;
  padding:9px 2px;
  color:#1f334a;
  opacity:.92;
}
body.visual-refresh.seo-page .menu a:not(.btn)::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:4px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--vr-blue),var(--vr-green));
  transition:right .24s ease;
}
body.visual-refresh.seo-page .menu a:not(.btn):hover{color:#0369a1;opacity:1;}
body.visual-refresh.seo-page .menu a:not(.btn):hover::after{right:0;}

/* ---------- Hero refresh ---------- */
body.visual-refresh .hero{
  min-height:unset;
  position:relative;
  isolation:isolate;
}
body.visual-refresh.home-page .hero{
  margin-top:104px;
  min-height:82vh;
  padding:7.8rem 0 4.8rem;
  border-bottom-left-radius:42px;
  border-bottom-right-radius:42px;
  box-shadow:0 38px 90px rgba(7,20,39,.18);
}
body.visual-refresh.home-page .hero-bg{
  filter:saturate(1.08) contrast(1.02);
}
body.visual-refresh.home-page .hero-bg::after,
body.visual-refresh.seo-page .hero::marker{display:none;}
body.visual-refresh.home-page .hero-overlay{
  background:
    radial-gradient(760px 340px at 54% 26%,rgba(14,165,233,.36),transparent 64%),
    radial-gradient(640px 300px at 15% 80%,rgba(16,185,129,.22),transparent 62%),
    linear-gradient(90deg,rgba(7,20,39,.88),rgba(7,20,39,.64) 48%,rgba(7,20,39,.80));
}
body.visual-refresh.home-page .hero-content{
  max-width:1040px;
  margin:auto;
}
body.visual-refresh.home-page .hero h1,
body.visual-refresh.seo-page .hero h1{
  letter-spacing:-.065em;
  text-wrap:balance;
}
body.visual-refresh.home-page .hero h1{
  font-size:clamp(2.45rem,6vw,5.75rem);
  line-height:.98;
  max-width:1040px;
  margin-left:auto;
  margin-right:auto;
}
body.visual-refresh.home-page .hero h1 span{
  background:linear-gradient(90deg,#7dd3fc,#22c55e);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
  text-shadow:none;
}
body.visual-refresh.home-page .hero p,
body.visual-refresh.seo-page .hero p{
  text-wrap:pretty;
  font-weight:650;
}
body.visual-refresh.home-page .trust-strip,
body.visual-refresh.seo-page .trust{
  backdrop-filter:blur(12px);
}
body.visual-refresh.home-page .trust-item,
body.visual-refresh.seo-page .trust div{
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.06));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 16px 34px rgba(0,0,0,.13);
}

body.visual-refresh.seo-page .hero{
  border-bottom-left-radius:42px;
  border-bottom-right-radius:42px;
  box-shadow:0 36px 80px rgba(7,20,39,.16);
}
body.visual-refresh.seo-page .hero:before{
  background:
    linear-gradient(96deg,rgba(7,20,39,.98),rgba(7,20,39,.78) 48%,rgba(7,20,39,.34)),
    radial-gradient(640px 320px at 72% 28%,rgba(14,165,233,.30),transparent 65%),
    url('/assets/hero.webp') center/cover no-repeat!important;
  filter:saturate(1.07) contrast(1.02);
}
body.visual-refresh.seo-page .hero:after{
  inset:auto -16% -42% -16%;
  height:470px;
  background:
    radial-gradient(circle at 48% 42%,rgba(14,165,233,.36),transparent 58%),
    radial-gradient(circle at 72% 48%,rgba(16,185,129,.20),transparent 58%);
}
body.visual-refresh.seo-page .hero-inner{padding:96px 0 82px;}
body.visual-refresh.seo-page .breadcrumb{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  color:#dff4ff;
}
body.visual-refresh.seo-page .kicker{
  margin-top:12px;
  background:rgba(14,165,233,.14);
  border-color:rgba(125,211,252,.28);
  color:#e0f7ff;
}
body.visual-refresh.seo-page .hero h1{
  font-size:clamp(2.35rem,5.8vw,5.5rem);
  max-width:950px;
}
body.visual-refresh.seo-page .hero p{max-width:860px;color:#e9f7ff;}

/* ---------- Sections ---------- */
body.visual-refresh .section{
  position:relative;
  padding-top:clamp(58px,7vw,94px);
  padding-bottom:clamp(58px,7vw,94px);
}
body.visual-refresh .section-title h2,
body.visual-refresh .section h2{
  letter-spacing:-.05em;
  text-wrap:balance;
}
body.visual-refresh .section h2::after,
body.visual-refresh .section-title h2::after{
  background:linear-gradient(90deg,var(--vr-blue),var(--vr-green));
  box-shadow:0 7px 20px rgba(14,165,233,.20);
}
body.visual-refresh .lead,
body.visual-refresh p{ text-wrap:pretty; }

body.visual-refresh.home-page #services,
body.visual-refresh.home-page #process,
body.visual-refresh.home-page #testimonials,
body.visual-refresh.seo-page main > .section:nth-of-type(even){
  background:
    radial-gradient(720px 260px at 12% 15%,rgba(14,165,233,.10),transparent 62%),
    radial-gradient(620px 260px at 92% 80%,rgba(16,185,129,.08),transparent 62%);
}
body.visual-refresh.home-page .areas-wrap{
  background:
    radial-gradient(900px 360px at 15% 14%,rgba(14,165,233,.18),transparent 60%),
    radial-gradient(760px 340px at 88% 72%,rgba(16,185,129,.13),transparent 62%),
    linear-gradient(135deg,rgba(255,255,255,.76),rgba(238,247,253,.68));
}

/* ---------- Cards and grids ---------- */
body.visual-refresh .card,
body.visual-refresh .service-card,
body.visual-refresh .process-step,
body.visual-refresh .faq-item,
body.visual-refresh .testimonial,
body.visual-refresh .areas-card{
  border-radius:var(--vr-radius)!important;
  border:1px solid var(--vr-line)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.78))!important;
  box-shadow:var(--vr-shadow-soft)!important;
  position:relative;
  overflow:hidden;
}
body.visual-refresh .card::before,
body.visual-refresh .service-card::before,
body.visual-refresh .process-step::before,
body.visual-refresh .faq-item::before,
body.visual-refresh .testimonial::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(135deg,rgba(14,165,233,.09),transparent 42%),
    radial-gradient(220px 120px at 100% 0%,rgba(16,185,129,.10),transparent 68%);
  opacity:.75;
}
body.visual-refresh .card > *,
body.visual-refresh .service-card > *,
body.visual-refresh .process-step > *,
body.visual-refresh .faq-item > *,
body.visual-refresh .testimonial > *{position:relative;z-index:1;}
body.visual-refresh .card:hover,
body.visual-refresh .service-card:hover,
body.visual-refresh .process-step:hover,
body.visual-refresh .faq-item:hover,
body.visual-refresh .testimonial:hover,
body.visual-refresh .gallery-item:hover{
  transform:translateY(-8px);
  border-color:rgba(14,165,233,.34)!important;
  box-shadow:var(--vr-shadow)!important;
}
body.visual-refresh .grid{align-items:stretch;}
body.visual-refresh .grid > .card,
body.visual-refresh .grid > a.card{height:100%;}
body.visual-refresh .card h3,
body.visual-refresh .service-card h3,
body.visual-refresh .process-step h3{
  letter-spacing:-.03em;
  color:#102033;
}
body.visual-refresh .bullets,
body.visual-refresh .service-bullets{gap:11px;}
body.visual-refresh .check,
body.visual-refresh .service-bullets i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  width:22px;
  height:22px;
  border-radius:999px;
  color:#fff!important;
  background:linear-gradient(135deg,var(--vr-green),#059669);
  box-shadow:0 7px 18px rgba(16,185,129,.22);
  font-size:.78rem;
}
body.visual-refresh .chip{
  border-radius:999px!important;
  border:1px solid rgba(14,165,233,.18)!important;
  background:rgba(255,255,255,.80)!important;
  box-shadow:0 10px 26px rgba(15,23,42,.06);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
body.visual-refresh .chip:hover{
  transform:translateY(-3px);
  border-color:rgba(14,165,233,.36)!important;
  background:rgba(239,248,255,.95)!important;
  box-shadow:0 16px 36px rgba(14,165,233,.12);
  color:#0369a1!important;
}

/* ---------- Service card icon polish ---------- */
body.visual-refresh.home-page .service-icon{
  width:58px;
  height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(14,165,233,.14),rgba(16,185,129,.10));
  border:1px solid rgba(14,165,233,.18);
  box-shadow:0 12px 28px rgba(14,165,233,.12);
  font-size:1.65rem;
}
body.visual-refresh.home-page .service-card{border-top:0!important;}
body.visual-refresh.home-page .service-card::after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  top:0;
  height:4px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,var(--vr-blue),var(--vr-green));
}

/* ---------- Gallery ---------- */
body.visual-refresh .gallery-item{
  border-radius:28px!important;
  box-shadow:var(--vr-shadow-soft)!important;
  background:#fff;
}
body.visual-refresh .gallery-item::after{
  content:"Pogledaj rad";
  position:absolute;
  left:16px;
  bottom:16px;
  z-index:2;
  color:#fff;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(7,20,39,.52);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(10px);
  font-size:.82rem;
  font-weight:900;
  opacity:0;
  transform:translateY(8px);
  transition:.25s ease;
}
body.visual-refresh .gallery-item:hover::after{opacity:1;transform:none;}

/* ---------- Contact / forms ---------- */
body.visual-refresh input,
body.visual-refresh select,
body.visual-refresh textarea{
  border-radius:18px!important;
  border:1px solid rgba(148,163,184,.28)!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 10px 24px rgba(15,23,42,.04);
  transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
body.visual-refresh input:focus,
body.visual-refresh select:focus,
body.visual-refresh textarea:focus{
  border-color:rgba(14,165,233,.58)!important;
  box-shadow:0 0 0 5px rgba(14,165,233,.12),0 16px 30px rgba(15,23,42,.07);
  transform:translateY(-1px);
}
body.visual-refresh .contact-container,
body.visual-refresh .contact-info,
body.visual-refresh .contact-form{
  border-radius:32px!important;
}
body.visual-refresh .contact-item{
  border-radius:22px!important;
}

/* ---------- CTA band and footer ---------- */
body.visual-refresh .cta-band{
  border-radius:34px!important;
  background:
    radial-gradient(620px 260px at 82% 18%,rgba(14,165,233,.34),transparent 64%),
    radial-gradient(520px 220px at 18% 78%,rgba(16,185,129,.22),transparent 60%),
    linear-gradient(135deg,#06172b,#0b3158 52%,#063d3a)!important;
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 30px 80px rgba(7,20,39,.22)!important;
}
body.visual-refresh .footer,
body.visual-refresh footer{
  background:
    radial-gradient(700px 260px at 20% 0%,rgba(14,165,233,.18),transparent 62%),
    radial-gradient(650px 260px at 82% 20%,rgba(16,185,129,.13),transparent 62%),
    linear-gradient(180deg,#071427,#050d19)!important;
}
body.visual-refresh .footer a:hover,
body.visual-refresh footer a:hover{color:#7dd3fc!important;}

/* ---------- Floating CTA for generated SEO pages ---------- */
.vr-floating-cta{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:3600;
  display:flex;
  flex-direction:column;
  gap:10px;
  pointer-events:none;
}
.vr-floating-cta a{
  pointer-events:auto;
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  color:#fff;
  font-weight:950;
  box-shadow:0 18px 38px rgba(15,23,42,.22);
  border:1px solid rgba(255,255,255,.16);
  transition:transform .22s ease, box-shadow .22s ease;
}
.vr-floating-cta a:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 24px 52px rgba(15,23,42,.30);}
.vr-floating-cta .call{background:linear-gradient(135deg,#ff5b5b,#d7263d);}
.vr-floating-cta .wa{background:linear-gradient(135deg,#1ecb74,#0f9f5a);}
.vr-mobile-bar{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:3700;
  display:none;
  gap:10px;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(16px);
  border-top:1px solid rgba(148,163,184,.22);
  box-shadow:0 -18px 40px rgba(15,23,42,.12);
}
.vr-mobile-bar a{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  border-radius:16px;
  color:#fff;
  font-weight:950;
}
.vr-mobile-bar .call{background:linear-gradient(135deg,#ff5b5b,#d7263d);}
.vr-mobile-bar .wa{background:linear-gradient(135deg,#1ecb74,#0f9f5a);}

/* ---------- Reveal animation ---------- */
body.visual-refresh .vr-reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .65s ease, transform .65s ease;
}
body.visual-refresh .vr-reveal.is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  body.visual-refresh .vr-reveal{opacity:1!important;transform:none!important;transition:none!important;}
  body.visual-refresh .hero-bg{animation:none!important;}
}

/* ---------- Responsive ---------- */
@media (max-width:1020px){
  body.visual-refresh.home-page .phone-btn .phone-text{display:none;}
  body.visual-refresh.home-page nav ul{gap:.75rem;}
}
@media (max-width:860px){
  html{scroll-padding-top:92px;}
  body.visual-refresh{padding-bottom:78px;}
  body.visual-refresh.home-page .hero{margin-top:92px;min-height:76vh;border-radius:0 0 30px 30px;padding-top:5.6rem;}
  body.visual-refresh.home-page .hero h1{font-size:clamp(2.15rem,11vw,3.65rem);}
  body.visual-refresh.home-page .trust-strip,
  body.visual-refresh.seo-page .trust{grid-template-columns:1fr 1fr!important;}
  body.visual-refresh.home-page .trust-item,
  body.visual-refresh.seo-page .trust div{padding:12px 10px;text-align:center;}
  body.visual-refresh.seo-page .nav{flex-wrap:wrap;gap:10px;}
  body.visual-refresh.seo-page .menu{
    display:flex!important;
    width:100%;
    overflow-x:auto;
    flex-wrap:nowrap!important;
    gap:8px;
    padding:8px 0 2px;
    scrollbar-width:none;
  }
  body.visual-refresh.seo-page .menu::-webkit-scrollbar{display:none;}
  body.visual-refresh.seo-page .menu a:not(.btn),
  body.visual-refresh.seo-page .menu .btn{
    flex:0 0 auto;
    padding:10px 13px!important;
    border-radius:999px!important;
    background:rgba(14,165,233,.10);
    border:1px solid rgba(14,165,233,.15);
    font-size:.92rem;
  }
  body.visual-refresh.seo-page .menu a:not(.btn)::after{display:none;}
  body.visual-refresh.seo-page .hero{border-radius:0 0 30px 30px;}
  body.visual-refresh.seo-page .hero-inner{padding:64px 0 58px;}
  body.visual-refresh.seo-page .hero h1{font-size:clamp(2.1rem,10.2vw,3.7rem);}
  body.visual-refresh .section{padding-top:54px;padding-bottom:54px;}
  body.visual-refresh .grid{grid-template-columns:1fr!important;}
  .vr-floating-cta{display:none;}
  .vr-mobile-bar{display:flex;}
}
@media (max-width:560px){
  body.visual-refresh.home-page .topbar .left{justify-content:center;}
  body.visual-refresh.home-page .topbar-quick{display:none;}
  body.visual-refresh.home-page .header-controls .phone-btn{display:none;}
  body.visual-refresh.home-page .hero-btns .btn,
  body.visual-refresh.seo-page .cta-row .btn{width:100%;}
  body.visual-refresh.home-page .trust-strip,
  body.visual-refresh.seo-page .trust{grid-template-columns:1fr!important;}
  body.visual-refresh .cta-band{padding:24px!important;border-radius:26px!important;}
}

/* ---------- Button color safety patch ---------- */
body.visual-refresh .btn-soft,
body.visual-refresh .btn-outline{
  background:rgba(14,165,233,.10)!important;
  color:#075985!important;
  border-color:rgba(14,165,233,.22)!important;
}
body.visual-refresh .hero .btn-soft,
body.visual-refresh .hero .btn-outline,
body.visual-refresh .cta-band .btn-soft,
body.visual-refresh .cta-band .btn-outline{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.25)!important;
  color:#fff!important;
  backdrop-filter:blur(14px);
}
body.visual-refresh.home-page .header-controls .btn-outline{
  background:rgba(14,165,233,.10)!important;
  color:#0369a1!important;
  border-color:rgba(14,165,233,.24)!important;
}

/* ---------- Dark theme compatibility ---------- */
body.dark-theme.visual-refresh{
  background:
    radial-gradient(900px 360px at 8% 4%, rgba(56,189,248,.12), transparent 62%),
    radial-gradient(680px 320px at 92% 18%, rgba(52,211,153,.10), transparent 64%),
    linear-gradient(180deg,#071427 0%,#0b1220 50%,#050d19 100%);
}
body.dark-theme.visual-refresh::before{opacity:.38;}
body.dark-theme.visual-refresh.home-page header#siteHeader,
body.dark-theme.visual-refresh.seo-page .header{
  background:rgba(7,20,39,.80)!important;
  border-bottom-color:rgba(148,163,184,.16)!important;
}
body.dark-theme.visual-refresh.home-page .logo-badge,
body.dark-theme.visual-refresh.seo-page .logo{
  background:rgba(255,255,255,.06)!important;
  border-color:rgba(148,163,184,.14)!important;
}
body.dark-theme.visual-refresh .card,
body.dark-theme.visual-refresh .service-card,
body.dark-theme.visual-refresh .process-step,
body.dark-theme.visual-refresh .faq-item,
body.dark-theme.visual-refresh .testimonial,
body.dark-theme.visual-refresh .areas-card{
  background:linear-gradient(180deg,rgba(15,23,42,.82),rgba(15,23,42,.62))!important;
  border-color:rgba(148,163,184,.16)!important;
}
body.dark-theme.visual-refresh .card h3,
body.dark-theme.visual-refresh .service-card h3,
body.dark-theme.visual-refresh .process-step h3{color:#f8fafc;}
body.dark-theme.visual-refresh .chip,
body.dark-theme.visual-refresh input,
body.dark-theme.visual-refresh select,
body.dark-theme.visual-refresh textarea{
  background:rgba(15,23,42,.70)!important;
  color:#e5f4ff!important;
  border-color:rgba(148,163,184,.18)!important;
}
body.dark-theme.visual-refresh .btn-soft,
body.dark-theme.visual-refresh .btn-outline,
body.dark-theme.visual-refresh.home-page .header-controls .btn-outline{
  background:rgba(56,189,248,.12)!important;
  color:#7dd3fc!important;
  border-color:rgba(56,189,248,.24)!important;
}
body.dark-theme.visual-refresh .hero .btn-soft,
body.dark-theme.visual-refresh .hero .btn-outline,
body.dark-theme.visual-refresh .cta-band .btn-soft,
body.dark-theme.visual-refresh .cta-band .btn-outline{
  color:#fff!important;
}
