/* Nativo Canvas Studio v1.6 — final polish: footer icons, global motion, Elementor contact page. */

/* Footer icon polish */
.ncs-footer-v15__socials{gap:10px}
.ncs-footer-v15__socials a{
  position:relative;
  width:44px;
  height:44px;
  border:1px solid rgba(99,36,91,.08);
  background:linear-gradient(145deg,#8a347e 0%,#6d235f 100%);
  box-shadow:0 10px 24px rgba(99,36,91,.18);
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease;
}
.ncs-footer-v15__socials a:hover{
  transform:translateY(-4px) scale(1.04);
  background:linear-gradient(145deg,#63245b 0%,#8a347e 100%);
  border-color:rgba(99,36,91,.18);
  box-shadow:0 15px 32px rgba(99,36,91,.26);
}
.ncs-footer-v15__socials svg{width:19px;height:19px;display:block;fill:currentColor}

.ncs-footer-v15__trust-icon{
  width:50px;
  height:50px;
  flex:0 0 50px;
  background:linear-gradient(145deg,#f8e7f5,#efd8eb);
  box-shadow:inset 0 0 0 1px rgba(123,45,112,.06),0 8px 20px rgba(123,45,112,.08);
}
.ncs-footer-v15__trust-icon--lock{
  background:linear-gradient(145deg,#fbf1df,#f3e2c8);
  color:#9b5a12;
}
.ncs-footer-v15__trust-icon svg{width:23px;height:23px;display:block;fill:currentColor}
.ncs-footer-v15__copyright{align-self:center}
.ncs-footer-v15__copyright p{font-size:13px}

/* Elementor-owned Contact page: theme supplies only Navbar + Footer around Elementor content. */
.ncs-elementor-contact-page{min-height:52vh;background:#fff;overflow-x:clip}
.ncs-elementor-contact-page > .elementor{width:100%}

/* Brand-consistent button hover polish. */
#nativo-app a[class*="bg-"]:not(.ncs-blog-card__image),
#nativo-app button,
#nativo-header-app a[class*="bg-"],
#nativo-header-app button,
.ncs-btn,
.ncs-footer-v15__project-btn,
.ncs-text-link{
  transition:transform .26s cubic-bezier(.2,.7,.2,1),box-shadow .26s ease,background-color .26s ease,color .26s ease,border-color .26s ease!important;
}
#nativo-app a[class*="bg-"]:not(.ncs-blog-card__image):hover,
#nativo-app button:hover,
#nativo-header-app a[class*="bg-"]:hover,
#nativo-header-app button:hover,
.ncs-btn:hover,
.ncs-footer-v15__project-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(99,36,91,.22);
}
.ncs-text-link:hover{transform:translateX(4px)}

/* Global scroll reveal. JS only adds these classes after mount so there is no no-JS visibility issue. */
.ncs-reveal{
  opacity:0;
  will-change:transform,opacity;
  transition-property:opacity,translate;
  transition-duration:.72s;
  transition-timing-function:cubic-bezier(.2,.72,.18,1);
  transition-delay:var(--ncs-delay,0ms);
}
.ncs-reveal[data-ncs-dir="up"]{translate:0 34px}
.ncs-reveal[data-ncs-dir="down"]{translate:0 -28px}
.ncs-reveal[data-ncs-dir="left"]{translate:42px 0}
.ncs-reveal[data-ncs-dir="right"]{translate:-42px 0}
.ncs-reveal.is-visible{opacity:1;translate:0 0}

/* Images get a subtle premium entrance rather than a hard slide. */
.ncs-reveal-media{
  opacity:0;
  translate:0 24px;
  scale:.985;
  filter:saturate(.96);
  transition:opacity .8s cubic-bezier(.2,.72,.18,1),translate .8s cubic-bezier(.2,.72,.18,1),scale .8s cubic-bezier(.2,.72,.18,1),filter .8s ease;
  transition-delay:var(--ncs-delay,0ms);
}
.ncs-reveal-media.is-visible{opacity:1;translate:0 0;scale:1;filter:none}

@media (max-width:767px){
  .ncs-reveal[data-ncs-dir="left"],.ncs-reveal[data-ncs-dir="right"]{translate:0 28px}
  .ncs-footer-v15__socials a{width:42px;height:42px}
}

@media (prefers-reduced-motion:reduce){
  .ncs-reveal,.ncs-reveal-media{opacity:1!important;translate:0 0!important;scale:1!important;filter:none!important;transition:none!important}
  #nativo-app a,#nativo-app button,#nativo-header-app a,#nativo-header-app button,.ncs-footer-v15__socials a{transition:none!important;transform:none!important}
}
