/* ==========================================================
   Digi Web Logic — site-wide polish (header, footer, CTA)
   Loaded on every page via header.php. Brand: red #e02020 / ink #202020
   ========================================================== */
:root{--sp-red:#e02020;--sp-red2:#ff4b3e;--sp-red-d:#b81616;--sp-ink:#202020;--sp-ease:cubic-bezier(.22,.8,.24,1)}

/* ---------- navbar ---------- */
.navbar.fixed-top{transition:box-shadow .3s,padding .3s,background .3s}
.navbar.fixed-top.sp-scrolled{box-shadow:0 8px 30px rgba(0,0,0,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.navbar-nav>.nav-item>.nav-link{position:relative}
@media (min-width:992px){
  .navbar-nav>.nav-item>.nav-link:after{content:"";position:absolute;left:50%;bottom:4px;width:0;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--sp-red),#ff9a3d);transform:translateX(-50%);transition:width .3s var(--sp-ease)}
  .navbar-nav>.nav-item>.nav-link:hover:after,.navbar-nav>.nav-item.active>.nav-link:after{width:60%}
}
.navbar .btn{transition:transform .25s var(--sp-ease),box-shadow .25s}
.navbar .btn:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(224,32,32,.35)}

/* ---------- CTA band above the footer ---------- */
.call-to-action.py-5.gray-light-bg{position:relative;overflow:hidden;isolation:isolate;padding:70px 0!important;background:linear-gradient(120deg,#14141c,#2a1118 45%,var(--sp-red) 130%)!important;background-size:200% 200%;animation:spBg 12s ease infinite}
@keyframes spBg{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
.call-to-action.py-5.gray-light-bg:before,.call-to-action.py-5.gray-light-bg:after{content:"";position:absolute;border-radius:50%;z-index:-1;animation:spFloat 10s ease-in-out infinite}
.call-to-action.py-5.gray-light-bg:before{width:300px;height:300px;right:-80px;top:-120px;background:rgba(255,255,255,.08)}
.call-to-action.py-5.gray-light-bg:after{width:200px;height:200px;left:8%;bottom:-100px;background:rgba(255,75,62,.25);animation-delay:-5s}
@keyframes spFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(24px,-22px)}}
.call-to-action.py-5 .subscribe-content h3{color:#fff;font-weight:800;font-size:clamp(24px,3vw,36px);letter-spacing:-.4px}
.call-to-action.py-5 .subscribe-content p{color:rgba(255,255,255,.85)!important;font-size:16px}
.call-to-action.py-5 .action-btn .btn{position:relative;overflow:hidden;background:#fff!important;color:var(--sp-red)!important;font-weight:700;border:0!important;border-radius:40px;padding:15px 36px;box-shadow:0 12px 28px rgba(0,0,0,.28);transition:transform .25s var(--sp-ease),box-shadow .25s}
.call-to-action.py-5 .action-btn .btn:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 18px 36px rgba(0,0,0,.35)}
.call-to-action.py-5 .action-btn .btn:after{content:"";position:absolute;top:0;left:-70%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(224,32,32,.25),transparent);transform:skewX(-20deg);animation:spSweep 3.4s infinite}
@keyframes spSweep{0%{left:-70%}60%,100%{left:130%}}

/* ---------- footer ---------- */
.footer-section{position:relative}
.footer-section .footer-top{background:linear-gradient(135deg,#0b0b11 0%,#170c11 55%,#0b0b11 100%)!important;position:relative;overflow:hidden;padding:80px 0 60px}
/* replaces hot-linked decorative images with local CSS glows */
.footer-section .footer-top:before{background:radial-gradient(circle at 8% 20%,rgba(224,32,32,.22),transparent 38%),radial-gradient(circle at 92% 85%,rgba(255,154,61,.14),transparent 36%)!important;animation:spPulse 9s ease-in-out infinite}
.footer-section .footer-top:after{background:none!important}
@keyframes spPulse{0%,100%{opacity:.7}50%{opacity:1}}
.footer-section .footer-top:before{z-index:0}
.footer-section .footer-top .container{position:relative;z-index:1}
.footer-section .footer-top:after{content:"";position:absolute;left:0;top:0;width:100%;height:3px;z-index:2;background:linear-gradient(90deg,transparent,var(--sp-red),#ff9a3d,var(--sp-red),transparent);background-size:200% 100%;animation:spLine 4s linear infinite}
@keyframes spLine{to{background-position:200% 0}}
.footer-nav-wrap h4{position:relative;padding-bottom:12px;margin-bottom:20px;font-weight:700;letter-spacing:.5px}
.footer-nav-wrap h4:after{content:"";position:absolute;left:0;bottom:0;width:38px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--sp-red),#ff9a3d);transition:width .4s var(--sp-ease)}
.footer-nav-wrap:hover h4:after{width:70px}
.footer-nav-wrap .nav-link{position:relative;color:rgba(255,255,255,.75)!important;padding:6px 0 6px 0!important;transition:color .25s,padding-left .3s var(--sp-ease)}
.footer-nav-wrap .nav-link:before{content:"\203A";position:absolute;left:0;top:50%;transform:translateY(-52%);opacity:0;color:var(--sp-red2);font-weight:700;transition:opacity .25s}
.footer-nav-wrap .nav-link:hover{color:#fff!important;padding-left:16px!important}
.footer-nav-wrap .nav-link:hover:before{opacity:1}
.footer-nav-wrap p{color:rgba(255,255,255,.7);line-height:1.8}
.footer-nav-wrap img[alt=logo]{transition:transform .4s var(--sp-ease)}
.footer-nav-wrap img[alt=logo]:hover{transform:scale(1.06) rotate(-2deg)}
.social-list a.rounded{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%!important;background:rgba(255,255,255,.08);color:#fff;transition:transform .3s var(--sp-ease),background .3s,box-shadow .3s}
.social-list a.rounded:hover{background:linear-gradient(135deg,var(--sp-red),#ff9a3d);transform:translateY(-6px) rotate(8deg);box-shadow:0 10px 22px rgba(224,32,32,.5)}
.get-in-touch-list li{color:rgba(255,255,255,.78);transition:transform .3s var(--sp-ease)}
.get-in-touch-list li:hover{transform:translateX(6px);color:#fff}
.get-in-touch-list li .fas{color:var(--sp-red2);width:34px;height:34px;min-width:34px;border-radius:50%;background:rgba(224,32,32,.15);display:inline-flex;align-items:center;justify-content:center;transition:transform .4s var(--sp-ease),background .3s}
.get-in-touch-list li:hover .fas{background:var(--sp-red);color:#fff;transform:rotateY(360deg)}
.footer-section .footer-bottom{background:#07070b!important;border-top:1px solid rgba(255,255,255,.08)}
.footer-section .copyright-text{color:rgba(255,255,255,.6)!important}

/* back to top */
.scroll-top{transition:transform .3s var(--sp-ease),box-shadow .3s}
.scroll-top:hover{transform:translateY(-6px);box-shadow:0 12px 26px rgba(224,32,32,.5)}

/* ---------- generic reveal (inner pages + footer) ---------- */
.sp-js .sp-reveal{opacity:0;transform:translateY(34px);transition:opacity .75s var(--sp-ease),transform .75s var(--sp-ease);transition-delay:var(--d,0s)}
.sp-js .sp-reveal.sp-in{opacity:1;transform:none}

/* generic hover polish for cards on inner pages */
.card,.single-promo-2{transition:transform .35s var(--sp-ease),box-shadow .35s}

@media (max-width:767px){
  .footer-section .footer-top{padding:60px 0 40px}
  .call-to-action.py-5.gray-light-bg{padding:54px 0!important;text-align:center}
  .call-to-action.py-5 .action-btn{text-align:center!important;margin-top:18px}
}
@media (prefers-reduced-motion:reduce){
  .call-to-action.py-5.gray-light-bg,.call-to-action.py-5.gray-light-bg:before,.call-to-action.py-5.gray-light-bg:after,.footer-section .footer-top:before,.footer-section .footer-top:after,.call-to-action.py-5 .action-btn .btn:after{animation:none!important}
  .sp-js .sp-reveal{opacity:1!important;transform:none!important;transition:none!important}
}
