/* ZiezGeek Aldevinc – Layout (Navbar, Hero, Footer, Animations) */
/* ============================================= */



/* ===== SITE HEADER (announce bar + navbar, always stacked, never overlapping) ===== */
.site-header{
  position:fixed;top:0;left:0;right:0;width:100%;
  z-index:1000;
}

/* ===== NAVBAR ===== */
.navbar{
  position:relative;width:100%;
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 40px;
  background:rgba(4,13,16,0.92);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid var(--card-border);
}

.navbar .logo img{height:46px;filter:drop-shadow(0 0 8px var(--neon));}

.nav-links{list-style:none;display:flex;gap:5px;flex-wrap:wrap;}
.nav-links a{
  text-decoration:none;color:#aaa;font-weight:600;font-size:14px;
  padding:8px 14px;border-radius:8px;letter-spacing:1px;
  transition:.3s;cursor:pointer;text-transform:uppercase;
  position:relative;
}
.nav-links a:hover{color:var(--neon);background:rgba(47,143,255,0.08);}

.cart-badge{
  position:relative;display:inline-block;
}
.cart-count{
  position:absolute;top:-8px;right:-8px;
  background:var(--neon3);color:white;
  border-radius:50%;width:18px;height:18px;
  font-size:11px;display:flex;align-items:center;justify-content:center;
  font-weight:700;font-family:'Orbitron',sans-serif;
  display:none;
}
.cart-count.visible{display:flex;animation:pop .3s ease;}

@keyframes pop{
  0%{transform:scale(0);} 70%{transform:scale(1.3);} 100%{transform:scale(1);}
}

/* ===== HERO ===== */
header{
  min-height:100vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:140px 20px 80px;
  position:relative;overflow:hidden;
}

.hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 40%, rgba(47,143,255,0.08) 0%, transparent 70%),
    radial-gradient(ellipse 60% 40% at 80% 80%, rgba(0,212,255,0.06) 0%, transparent 60%);
  animation:pulseBg 6s ease-in-out infinite alternate;
}
@keyframes pulseBg{
  from{opacity:.7;} to{opacity:1;}
}

.hero-logo{
  width:130px;
  filter:drop-shadow(0 0 15px var(--neon));
  animation:floatLogo 4s ease-in-out infinite;
  margin-bottom:25px;
  position:relative;z-index:1;
}
@keyframes floatLogo{
  0%,100%{transform:translateY(0);} 50%{transform:translateY(-12px);}
}

header h1{
  font-family:'Orbitron',sans-serif;
  font-size:clamp(2rem,6vw,4rem);
  font-weight:900;
  letter-spacing:3px;
  background:linear-gradient(135deg,var(--neon),var(--neon2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  text-shadow:none;
  filter:drop-shadow(0 0 12px rgba(47,143,255,0.4));
  position:relative;z-index:1;
  animation:slideUp .8s ease;
}
@keyframes slideUp{
  from{transform:translateY(40px);opacity:0;} to{transform:translateY(0);opacity:1;}
}

.hero-tagline{
  font-size:1.1rem;color:#aaa;margin:18px 0 8px;
  letter-spacing:2px;text-transform:uppercase;position:relative;z-index:1;
  animation:slideUp 1s ease .1s both;
}
.hero-services{
  display:flex;flex-wrap:wrap;gap:12px;justify-content:center;
  margin:20px 0 35px;position:relative;z-index:1;
  animation:slideUp 1s ease .2s both;
}
.service-pill{
  background:rgba(47,143,255,0.08);
  border:1px solid rgba(47,143,255,0.2);
  border-radius:50px;padding:8px 18px;
  font-size:13px;font-weight:600;color:var(--neon);letter-spacing:1px;
}

.hero-btns{display:flex;gap:15px;flex-wrap:wrap;justify-content:center;position:relative;z-index:1;animation:slideUp 1s ease .3s both;}

.glow-btn{
  background:linear-gradient(135deg,var(--neon),var(--neon2));
  color:#040d10;padding:14px 32px;border-radius:50px;
  font-weight:700;font-size:15px;text-decoration:none;
  display:inline-flex;align-items:center;gap:8px;
  box-shadow:0 0 25px rgba(47,143,255,0.4);
  cursor:pointer;border:none;font-family:'Rajdhani',sans-serif;
  letter-spacing:1px;text-transform:uppercase;
  transition:.3s;
}
.glow-btn:hover{transform:translateY(-3px);box-shadow:0 0 40px rgba(47,143,255,0.6);}

.outline-btn{
  background:transparent;
  color:var(--neon);padding:14px 32px;border-radius:50px;
  font-weight:700;font-size:15px;text-decoration:none;
  display:inline-flex;align-items:center;gap:8px;
  border:1.5px solid var(--neon);
  cursor:pointer;font-family:'Rajdhani',sans-serif;
  letter-spacing:1px;text-transform:uppercase;
  transition:.3s;
}
.outline-btn:hover{background:rgba(47,143,255,0.08);transform:translateY(-3px);}

/* Floating tech icons */
.float-icons{
  position:absolute;inset:0;pointer-events:none;overflow:hidden;
}
.float-icon{
  position:absolute;font-size:clamp(20px,3vw,36px);opacity:0.06;
  animation:floatRandom linear infinite;
  color:var(--neon);
}

/* Stats strip */
.stats-strip{
  display:flex;flex-wrap:wrap;justify-content:center;gap:40px;
  padding:40px 20px;
  border-top:1px solid var(--card-border);
  border-bottom:1px solid var(--card-border);
  background:rgba(47,143,255,0.02);
  position:relative;z-index:1;
}
.stat{text-align:center;}
.stat-number{
  font-family:'Orbitron',sans-serif;font-size:2.2rem;font-weight:700;
  color:var(--neon);
}
.stat-label{font-size:13px;color:#666;letter-spacing:2px;text-transform:uppercase;margin-top:4px;}

/* ===== SECTIONS ===== */
section{
  padding:80px 20px;max-width:1200px;margin:auto;
  position:relative;z-index:1;
}

.section-title{
  text-align:center;margin-bottom:50px;
}
.section-title h2{
  font-family:'Orbitron',sans-serif;font-size:clamp(1.4rem,4vw,2.2rem);
  font-weight:700;letter-spacing:2px;
  background:linear-gradient(135deg,var(--neon),var(--neon2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.section-title p{color:#666;margin-top:10px;letter-spacing:1px;font-size:14px;text-transform:uppercase;}

/* ===== FOOTER ===== */
footer{
  background:rgba(0,0,0,0.6);
  border-top:1px solid var(--card-border);
  padding:50px 20px 30px;
  position:relative;z-index:1;
}
.footer-inner{
  max-width:1200px;margin:auto;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;
}
.footer-brand .logo-text{
  font-family:'Orbitron',sans-serif;font-size:1.2rem;color:var(--neon);font-weight:700;
}
.footer-brand p{color:#555;margin-top:12px;font-size:0.9rem;line-height:1.7;}
.footer-links h4{color:#e0e0e0;font-weight:700;letter-spacing:1px;margin-bottom:15px;text-transform:uppercase;font-size:13px;}
.footer-links a{display:block;color:#555;text-decoration:none;margin-bottom:10px;font-size:14px;transition:.2s;cursor:pointer;}
.footer-links a:hover{color:var(--neon);}
.footer-social{display:flex;gap:12px;margin-top:15px;}
.social-btn{
  width:40px;height:40px;border-radius:10px;
  background:var(--card);border:1px solid var(--card-border);
  display:flex;align-items:center;justify-content:center;
  color:#888;font-size:16px;text-decoration:none;transition:.3s;
}
.social-btn:hover{color:var(--neon);border-color:var(--neon);background:rgba(47,143,255,0.08);}
.footer-bottom{
  max-width:1200px;margin:40px auto 0;
  border-top:1px solid var(--card-border);padding-top:20px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;
  color:#444;font-size:13px;
}

/* ===== WHATSAPP ===== */
.whatsapp{
  position:fixed;bottom:25px;right:25px;
  background:linear-gradient(135deg,#25D366,#128C7E);
  padding:16px;border-radius:50%;font-size:24px;
  text-decoration:none;color:white;
  box-shadow:0 0 20px rgba(37,211,102,0.5);
  z-index:999;transition:.3s;
  animation:waPulse 2s ease-in-out infinite;
}
.whatsapp:hover{transform:scale(1.15);box-shadow:0 0 35px rgba(37,211,102,0.7);}
@keyframes waPulse{
  0%,100%{box-shadow:0 0 20px rgba(37,211,102,0.5);}
  50%{box-shadow:0 0 35px rgba(37,211,102,0.8),0 0 60px rgba(37,211,102,0.3);}
}

/* Toast notification */
.toast{
  position:fixed;bottom:90px;right:25px;
  background:rgba(47,143,255,0.15);border:1px solid var(--neon);
  color:var(--neon);padding:12px 20px;border-radius:12px;
  font-weight:600;font-size:14px;z-index:9999;
  transform:translateX(120%);transition:.4s;letter-spacing:1px;
  backdrop-filter:blur(10px);
}
.toast.show{transform:translateX(0);}

/* Hidden util */
.hidden{display:none!important;}
.page-section{display:none;}
.active-section{display:block;}

/* Scroll indicator */
.scroll-indicator{
  position:absolute;bottom:40px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  color:#333;font-size:11px;letter-spacing:2px;text-transform:uppercase;
  animation:bounce 2s ease-in-out infinite;cursor:pointer;
  z-index:2;
}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0);} 50%{transform:translateX(-50%) translateY(8px);}}

/* Announcement bar */
.announce-bar{
  background:linear-gradient(135deg,var(--neon),var(--neon2));
  color:#040d10;text-align:center;padding:10px 44px;
  font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;
  line-height:1.5;
}
@media(max-width:480px){
  .announce-bar{font-size:11px;letter-spacing:1px;padding:8px 12px;}
}

/* Mobile nav */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:5px;}
.hamburger span{width:24px;height:2px;background:var(--neon);border-radius:2px;transition:.3s;}
@media(max-width:768px){
  .hamburger{display:flex;}
  .nav-links{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:rgba(4,13,16,0.98);flex-direction:column;
    padding:20px;gap:5px;border-bottom:1px solid var(--card-border);
    max-height:calc(100vh - 100%);overflow-y:auto;
  }
  .nav-links.open{display:flex;}
  .navbar{padding:12px 20px;}
}

/* Repair progress section */
.repair-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;}
.step-card{
  background:var(--card);border:1px solid var(--card-border);
  border-radius:16px;padding:25px 20px;text-align:center;
  position:relative;
}
.step-number{
  font-family:'Orbitron',sans-serif;font-size:2.5rem;font-weight:900;
  color:rgba(47,143,255,0.1);position:absolute;top:15px;right:20px;
}
.step-icon{font-size:2rem;margin-bottom:12px;}
.step-card h3{font-weight:700;color:#e0e0e0;margin-bottom:8px;}
.step-card p{color:#666;font-size:0.9rem;line-height:1.6;}

/* Guarantee badges */
.guarantee-strip{
  display:flex;flex-wrap:wrap;justify-content:center;gap:20px;
  padding:30px 20px;
}
.guarantee-badge{
  display:flex;align-items:center;gap:10px;
  background:var(--card);border:1px solid var(--card-border);
  border-radius:12px;padding:12px 20px;
  font-weight:600;font-size:14px;
}
.guarantee-badge i{color:var(--neon);font-size:1.2rem;}

/* ===== VISUAL UPGRADES ===== */

/* ── Page load progress bar ── */
#progress-bar {
  position: fixed;
  top: 0; left: 0;
  height: 3px;
  width: 0%;
  background: linear-gradient(90deg, var(--neon), var(--neon2));
  z-index: 9999;
  transition: width .25s ease;
  box-shadow: 0 0 10px var(--neon);
}

/* ── Page transition wrapper ── */
.page-section {
  animation: none;
}
.page-section.page-enter {
  animation: pageEnter .35s ease both;
}
@keyframes pageEnter {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}
#homePage.page-enter {
  animation: pageEnter .35s ease both;
}

/* ── Scroll-reveal ── */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .55s ease, transform .55s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
.reveal-left {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity .55s ease, transform .55s ease;
}
.reveal-left.visible {
  opacity: 1;
  transform: translateX(0);
}
.reveal-right {
  opacity: 0;
  transform: translateX(30px);
  transition: opacity .55s ease, transform .55s ease;
}
.reveal-right.visible {
  opacity: 1;
  transform: translateX(0);
}

/* Stagger children */
.reveal-stagger > * {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .45s ease, transform .45s ease;
}
.reveal-stagger.visible > *:nth-child(1) { opacity:1; transform:none; transition-delay:.05s; }
.reveal-stagger.visible > *:nth-child(2) { opacity:1; transform:none; transition-delay:.12s; }
.reveal-stagger.visible > *:nth-child(3) { opacity:1; transform:none; transition-delay:.19s; }
.reveal-stagger.visible > *:nth-child(4) { opacity:1; transform:none; transition-delay:.26s; }
.reveal-stagger.visible > *:nth-child(5) { opacity:1; transform:none; transition-delay:.33s; }
.reveal-stagger.visible > *:nth-child(6) { opacity:1; transform:none; transition-delay:.40s; }
.reveal-stagger.visible > *:nth-child(7) { opacity:1; transform:none; transition-delay:.47s; }
.reveal-stagger.visible > *:nth-child(8) { opacity:1; transform:none; transition-delay:.54s; }

/* ── Scroll-to-top button ── */
#scrollTop {
  position: fixed;
  bottom: 90px;
  left: 25px;
  width: 44px;
  height: 44px;
  background: var(--card);
  border: 1px solid var(--card-border);
  border-radius: 12px;
  color: var(--neon);
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 998;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .3s, transform .3s, border-color .3s, box-shadow .3s;
  pointer-events: none;
}
#scrollTop.show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: all;
}
#scrollTop:hover {
  border-color: var(--neon);
  box-shadow: 0 0 15px rgba(47,143,255,0.3);
}

/* ── Active nav link ── */
.nav-links a.nav-active {
  color: var(--neon);
  background: rgba(47,143,255,0.08);
}
.nav-links a.nav-active::after {
  content: '';
  position: absolute;
  bottom: 2px; left: 50%;
  transform: translateX(-50%);
  width: 16px; height: 2px;
  background: var(--neon);
  border-radius: 2px;
}

/* ── Improved mobile nav ── */
@media(max-width: 768px) {
  .nav-links {
    top: 0 !important;
    height: 100vh;
    padding-top: 80px !important;
    gap: 4px !important;
    transform: translateX(-100%);
    transition: transform .3s ease !important;
    display: flex !important;
  }
  .nav-links.open {
    transform: translateX(0) !important;
  }
  .nav-links li a {
    padding: 14px 20px !important;
    font-size: 15px !important;
    border-radius: 12px !important;
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .nav-links li a i {
    width: 20px;
    text-align: center;
    color: var(--neon);
  }

  /* Close button inside mobile menu */
  .nav-close-btn {
    display: flex !important;
  }
}

.nav-close-btn {
  display: none;
  position: absolute;
  top: 18px; right: 20px;
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--card-border);
  color: #aaa;
  width: 36px; height: 36px;
  border-radius: 10px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 14px;
  transition: .2s;
  z-index: 10;
}
.nav-close-btn:hover { color: var(--neon); border-color: var(--neon); }

.nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  z-index: 999;
  backdrop-filter: blur(4px);
}

/* ── Hamburger → X animation ── */
.hamburger.active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.hamburger.active span:nth-child(2) {
  opacity: 0;
  transform: translateX(-10px);
}
.hamburger.active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}
.hamburger span { transition: transform .3s ease, opacity .3s ease; }

/* ── Card hover glow pulse ── */
.service-card:hover,
.product-card:hover,
.review-card:hover,
.price-card:hover {
  animation: glowPulse 1.5s ease-in-out infinite;
}
@keyframes glowPulse {
  0%, 100% { box-shadow: 0 0 20px rgba(47,143,255,0.08); }
  50%       { box-shadow: 0 0 35px rgba(47,143,255,0.18); }
}

/* ── Stat counter animation ── */
.stat-number {
  transition: color .3s;
}
.stat-number.counting {
  color: var(--neon2);
}

/* ── Smooth section titles ── */
.section-title {
  transition: opacity .4s ease;
}

/* ===== MOBILE BLUR FIX ===== */
@media(max-width: 768px) {
  .navbar {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(4,13,16,0.99) !important;
  }
  .hero-logo {
    filter: drop-shadow(0 0 8px var(--neon)) !important;
  }
  header h1 {
    filter: none !important;
  }
  .hero-bg {
    opacity: 0.5 !important;
    animation: none !important;
  }
  .hero-poster {
    box-shadow: 0 10px 30px rgba(0,0,0,0.5) !important;
    animation: none !important;
  }
  .hero-poster-glow {
    display: none !important;
  }
  .float-icons {
    display: none !important;
  }
  .nav-overlay {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(0,0,0,0.7) !important;
  }
}

/* ===== HERO SPLIT LAYOUT (with poster) ===== */
.hero-split {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 120px 6% 80px !important;
  gap: 40px;
  min-height: 100vh;
  text-align: left !important;
}
.hero-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  z-index: 2;
}
.hero-content .hero-logo { margin: 0 0 16px 0 !important; }
.hero-content h1,
.hero-content .hero-tagline { text-align: left !important; }
.hero-content .hero-services { justify-content: flex-start !important; }
.hero-content .hero-btns { justify-content: flex-start !important; }
.hero-content .scroll-indicator { align-self: flex-start; margin-top: 20px; }

.hero-poster-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  max-width: 480px;
}
.hero-poster {
  width: 100%;
  max-width: 460px;
  border-radius: 24px;
  box-shadow:
    0 0 40px rgba(47,143,255,0.2),
    0 0 80px rgba(47,143,255,0.08),
    0 25px 60px rgba(0,0,0,0.6);
  animation: posterFloat 6s ease-in-out infinite;
  position: relative;
  z-index: 2;
}
@keyframes posterFloat {
  0%, 100% { transform: translateY(0px) rotate(-0.5deg); }
  50%       { transform: translateY(-12px) rotate(0.5deg); }
}
.hero-poster-glow {
  position: absolute;
  inset: 10%;
  background: radial-gradient(ellipse, rgba(47,143,255,0.15), transparent 70%);
  border-radius: 50%;
  filter: blur(30px);
  z-index: 1;
  animation: posterFloat 6s ease-in-out infinite reverse;
}
@media(max-width: 900px) {
  .hero-split {
    flex-direction: column !important;
    text-align: center !important;
    padding: 120px 5% 60px !important;
    align-items: center !important;
  }
  .hero-content { align-items: center !important; }
  .hero-content h1,
  .hero-content .hero-tagline { text-align: center !important; }
  .hero-content .hero-services { justify-content: center !important; }
  .hero-content .hero-btns { justify-content: center !important; }
  .hero-content .scroll-indicator { align-self: center; }
  .hero-poster-wrap { max-width: 340px; width: 100%; }
}

/* ===== GALLERY REAL PHOTOS ===== */
.ba-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}
.ba-after .ba-img,
.ba-before .ba-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
