/* Hootivo x Elementor
   Decoration, grids and hover effects for the Elementor-built pages.
   Colours, text, spacing, borders and radius are set inside Elementor itself,
   so they stay editable in the Elementor panel. */

/* ---------- Elementor resets to match the theme ---------- */
.elementor .elementor-widget-text-editor p{margin:0;}
.elementor .elementor-widget-heading .elementor-heading-title{margin:0;}
.elementor-section-wrap,.site-main{display:block;}

/* ---------- Grids (class on a container: hv-grid hv-cols-N) ---------- */
.elementor .e-con.hv-grid{display:grid;grid-template-columns:repeat(var(--hv-cols,2),minmax(0,1fr));}
.elementor .e-con.hv-grid>.e-con{width:auto;max-width:none;min-width:0;--width:auto;}
.elementor .e-con.hv-cols-2,.elementor .e-con.hv-cols-2w{--hv-cols:2;}
.elementor .e-con.hv-cols-3{--hv-cols:3;}
.elementor .e-con.hv-cols-4{--hv-cols:4;}
.elementor .e-con.hv-cols-6{--hv-cols:6;}
@media(max-width:960px){
  .elementor .e-con.hv-cols-6{--hv-cols:3;}
  .elementor .e-con.hv-cols-4{--hv-cols:2;}
  .elementor .e-con.hv-cols-3{--hv-cols:1;}
  .elementor .e-con.hv-cols-2w{--hv-cols:1;}
}
@media(max-width:760px){
  .elementor .e-con.hv-cols-6{--hv-cols:2;}
  .elementor .e-con.hv-cols-2{--hv-cols:1;}
}
@media(max-width:480px){
  .elementor .e-con.hv-cols-4{--hv-cols:1;}
}

/* ---------- Narrow text widgets ---------- */
.elementor .elementor-widget.hv-narrow-540{max-width:540px;}
.elementor .elementor-widget.hv-narrow-560{max-width:560px;margin-left:auto;margin-right:auto;}
.elementor .elementor-widget.hv-narrow-620{max-width:620px;}
.elementor .e-con.hv-sechead{max-width:660px;}

/* ---------- Hero ---------- */
.elementor .e-con.hv-hero{position:relative;overflow:hidden;}
.elementor .e-con.hv-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:
    radial-gradient(900px 520px at 88% 6%,rgba(66,159,255,.30),transparent 58%),
    radial-gradient(680px 520px at -6% 100%,rgba(31,111,214,.16),transparent 55%);}
.elementor .e-con.hv-hero::after{content:"";position:absolute;inset:0;opacity:.4;pointer-events:none;
    background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
    background-size:52px 52px;-webkit-mask-image:radial-gradient(700px 500px at 70% 20%,#000,transparent 80%);mask-image:radial-gradient(700px 500px at 70% 20%,#000,transparent 80%);}
.elementor .e-con.hv-hero>.e-con-inner{position:relative;z-index:2;}
.elementor .e-con.hv-hero-cols>.e-con-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.elementor .e-con.hv-hero-cols>.e-con-inner>.e-con{width:auto;max-width:none;min-width:0;--width:auto;}
@media(max-width:960px){
  .elementor .e-con.hv-hero-cols>.e-con-inner{grid-template-columns:1fr;gap:10px;}
  .elementor .hv-hero-visual{order:2;margin-top:10px;}
  .elementor .hv-hero-visual .visual{height:380px;}
}
@media(max-width:480px){.elementor .hv-hero-visual .panel{width:100%;} .elementor .hv-hero-visual .pill-a,.elementor .hv-hero-visual .pill-b{display:none;}}

/* badge (small pill above the hero title) */
.elementor .e-con .elementor-widget.hv-badge{width:fit-content;max-width:100%;align-self:flex-start;}
.elementor .hv-badge .elementor-widget-container{display:inline-flex;align-items:center;gap:9px;padding:7px 14px;border-radius:999px;background:rgba(66,159,255,.10);border:1px solid rgba(66,159,255,.24);}
.elementor .hv-badge .elementor-widget-container::before{content:"";width:7px;height:7px;border-radius:50%;background:#429FFF;box-shadow:0 0 0 4px rgba(66,159,255,.22);flex:none;}

/* ---------- Strip, alt sections, page hero, final CTA ---------- */
.elementor .e-con.hv-strip{border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);}
.elementor .e-con.hv-alt{border-top:1px solid rgba(255,255,255,.08);}
.elementor .e-con.hv-page-hero,.elementor .e-con.hv-final{position:relative;overflow:hidden;}
.elementor .e-con.hv-page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(760px 420px at 78% -10%,rgba(66,159,255,.24),transparent 58%);}
.elementor .e-con.hv-final::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(760px 480px at 50% -30%,rgba(66,159,255,.30),transparent 60%);}
.elementor .e-con.hv-page-hero>.e-con-inner,.elementor .e-con.hv-final>.e-con-inner{position:relative;z-index:2;}
.elementor .hv-alt-text a{color:#7cbcff;font-weight:600;}

/* ---------- Cards ---------- */
.elementor .e-con.hv-card{transition:border-color .25s,transform .25s,box-shadow .25s;}
.elementor .e-con.hv-card:hover{border-color:rgba(66,159,255,.4)!important;transform:translateY(-4px);}
.elementor .e-con.hv-pillar{position:relative;overflow:hidden;}
.elementor .e-con.hv-pillar:hover{transform:translateY(-5px);box-shadow:0 24px 50px rgba(0,0,0,.4);}
.elementor .e-con.hv-pillar::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#429FFF,transparent);opacity:0;transition:opacity .25s;}
.elementor .e-con.hv-pillar:hover::before{opacity:1;}
.elementor .e-con.hv-ind:hover{transform:translateY(-3px);}

/* icon tile used inside cards */
.elementor .e-con .elementor-widget.hv-ic{width:50px;height:50px;border-radius:13px;background:linear-gradient(160deg,rgba(66,159,255,.20),rgba(66,159,255,.05));border:1px solid rgba(66,159,255,.2);flex:none;align-self:flex-start;}
.elementor .e-con .elementor-widget.hv-ic-40{width:40px;height:40px;border-radius:10px;}
.elementor .e-con .elementor-widget.hv-ic-42{width:42px;height:42px;border-radius:11px;}
.elementor .e-con .elementor-widget.hv-ic-46{width:46px;height:46px;border-radius:12px;}
.elementor .e-con .elementor-widget.hv-ic-54{width:54px;height:54px;border-radius:14px;}
.elementor .e-con.hv-contact .elementor-widget.hv-ic{align-self:center;}
.elementor .hv-ic .elementor-widget-container,.elementor .hv-ic .elementor-icon-wrapper{height:100%;display:flex;align-items:center;justify-content:center;}
.elementor .hv-ic .elementor-icon{display:flex;align-items:center;justify-content:center;line-height:1;}
.elementor .hv-ic .elementor-icon svg{width:1em;height:1em;}

/* tag chips inside service pillars */
.elementor .hv-tags ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;}
.elementor .hv-tags li{margin:0;font-size:13px;font-weight:600;color:#a7b3c9;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);padding:6px 12px;border-radius:999px;}

/* steps */
.elementor .e-con.hv-step{border-top:2px solid rgba(255,255,255,.16);position:relative;}
.elementor .e-con.hv-step::before{content:"";position:absolute;top:-2px;left:0;width:46px;height:2px;background:#429FFF;}

/* credentials line */
.elementor .hv-cred .elementor-widget-container{padding-top:24px;border-top:1px solid rgba(255,255,255,.08);}
.elementor .hv-cred b{color:#a7b3c9;font-weight:600;}

/* contact links */
.elementor .hv-link a{color:#7cbcff;font-weight:600;word-break:break-word;}
.elementor .hv-link p{color:inherit;}

/* ---------- Buttons ---------- */
.elementor .hv-btn-primary .elementor-button,.elementor .hv-btn-ghost .elementor-button{transition:.2s;}
.elementor .hv-btn-primary .elementor-button:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(66,159,255,.42);}
.elementor .hv-btn-ghost .elementor-button:hover{border-color:#429FFF;}

/* ---------- FAQ (Elementor accordion) ---------- */
.elementor .hv-faq .elementor-accordion{border-top:1px solid rgba(255,255,255,.08);}
.elementor .hv-faq .elementor-accordion-item{border:0;border-bottom:1px solid rgba(255,255,255,.08);}
.elementor .hv-faq .elementor-accordion .elementor-tab-title{padding:26px 6px 26px 0;border:0;display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;}
.elementor .hv-faq .elementor-accordion .elementor-tab-title .elementor-accordion-icon{width:auto;order:2;}
.elementor .hv-faq .elementor-accordion .elementor-tab-title a{flex:1;}
.elementor .hv-faq .elementor-accordion .elementor-tab-content{border:0;padding:0 0 26px;max-width:680px;}
.elementor .hv-faq .elementor-accordion .elementor-tab-content p{margin:0;}

/* ---------- Theme chrome: menus ---------- */
.navlinks li{list-style:none;display:contents;}
.navlinks .current-menu-item>a,.navlinks .current_page_item>a{color:#fff;}
.foot-col li{list-style:none;display:contents;}

/* page built with Elementor: no stray spacing around Elementor content */
.site-main>.elementor{margin:0;}


/* ---------- Win over old Elementor Site Settings (kit) styles ---------- */
html body[class]{background-color:#080b14;color:#f4f7fc;font-family:'Manrope',sans-serif;}
html body[class] .site-main :is(h1,h2,h3,h4){color:#f4f7fc;text-transform:none;font-family:'Sora',sans-serif;}
.elementor .hv-section .elementor-heading-title{text-transform:none;}
html body[class] .navlinks a{color:#a7b3c9;}
html body[class] .navlinks a:hover,html body[class] .navlinks .current-menu-item>a,html body[class] .navlinks .current_page_item>a{color:#fff;}
html body[class] .navlinks a.wa-btn{color:#04101f;background:#429FFF;}
html body[class] .foot-col a{color:#a7b3c9;}
html body[class] .foot-col a:hover{color:#7cbcff;}
html body[class] .foot-bottom,html body[class] .foot-bottom span{color:#6f7c93;}
html body[class] .site-footer h4{color:#fff;}
html body[class] .post-card h3 a{color:#f4f7fc;}
html body[class] .post-card h3 a:hover,html body[class] .read-more,html body[class] .back-blog{color:#7cbcff;}
html body[class] .entry-content a{color:#7cbcff;}
html body[class] .btn-primary{color:#04101f;}
html body[class] .btn-ghost{color:#f4f7fc;}
