/* ============================================================
   NJ Tech Repair — Effects v12
   Dual accent: Lime #c8ff00 + Purple #a78bfa
   ============================================================ */

:root {
  --purple:       #a78bfa;
  --purple-dim:   rgba(167,139,250,.08);
  --purple-glow:  rgba(167,139,250,.18);
  --purple-bord:  rgba(167,139,250,.22);
}

/* ════ HERO AURORA ════ */
.aurora {
  position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;
}
.aurora-blob {
  position:absolute;border-radius:50%;filter:blur(100px);
}
.aurora-1 {
  width:60vw;height:50vw;
  background:radial-gradient(ellipse,rgba(200,255,0,.055) 0%,transparent 70%);
  top:-15%;left:-20%;
  animation:ab1 14s ease-in-out infinite alternate;
}
.aurora-2 {
  width:45vw;height:55vw;
  background:radial-gradient(ellipse,rgba(167,139,250,.07) 0%,transparent 70%);
  top:10%;right:-15%;
  animation:ab2 16s ease-in-out infinite alternate;
}
.aurora-3 {
  width:35vw;height:35vw;
  background:radial-gradient(ellipse,rgba(167,139,250,.04) 0%,transparent 70%);
  bottom:0;left:35%;
  animation:ab3 11s ease-in-out infinite alternate;
}
@keyframes ab1{from{transform:translate(0,0) scale(1)}to{transform:translate(50px,-40px) scale(1.1)}}
@keyframes ab2{from{transform:translate(0,0)}to{transform:translate(-40px,50px) scale(.9)}}
@keyframes ab3{from{transform:translate(0,0)}to{transform:translate(-25px,-30px) scale(1.06)}}

/* ════ SCROLL PROGRESS ════ */
.scroll-progress{
  position:fixed;top:0;left:0;right:0;height:2px;z-index:9001;
  pointer-events:none;transform-origin:left;transform:scaleX(0);
  background:linear-gradient(90deg,var(--accent),var(--purple));
  transition:transform .08s linear;
}

/* ════ SECTION GLOW LINES ════ */
#services::before,#gallery::before,#how::before,#booking::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;z-index:2;
  background:linear-gradient(90deg,transparent 0%,rgba(167,139,250,.2) 40%,rgba(200,255,0,.2) 60%,transparent 100%);
}

/* ════ SERVICE CARDS ════ */
.svc-card{position:relative;overflow:hidden;transition:all .3s cubic-bezier(.23,1,.32,1);}
.svc-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(200,255,0,.5),transparent);
  transform:scaleX(0);transform-origin:center;transition:transform .4s;
}
.svc-card:hover{
  transform:translateY(-6px);
  box-shadow:0 0 0 1px rgba(200,255,0,.2),0 12px 40px rgba(0,0,0,.5),0 0 60px rgba(200,255,0,.05);
}
.svc-card:hover::before{transform:scaleX(1);}

/* purple on design cards */
.svc-card:nth-child(n+7):hover{
  box-shadow:0 0 0 1px var(--purple-bord),0 12px 40px rgba(0,0,0,.5),0 0 60px var(--purple-dim);
}
.svc-card:nth-child(n+7)::before{
  background:linear-gradient(90deg,transparent,var(--purple-glow),transparent);
}

/* ════ STEPS ════ */
.step{transition:all .3s cubic-bezier(.23,1,.32,1);}
.step:hover{
  transform:translateY(-5px);
  box-shadow:0 0 0 1px var(--purple-bord),0 12px 36px rgba(0,0,0,.4),0 0 40px var(--purple-dim);
  border-color:var(--purple-bord);
}
.step:hover .step-num{color:var(--purple);text-shadow:0 0 30px var(--purple-glow);}

/* ════ FORM — PREVENT WHITE BG ════ */
input,select,textarea{
  background-color:var(--surf)!important;
  color:var(--text)!important;
  caret-color:var(--accent);
}
input:focus,select:focus,textarea:focus{
  background-color:var(--surf2)!important;
  color:var(--text)!important;
  border-color:var(--purple)!important;
  box-shadow:0 0 0 3px rgba(167,139,250,.1),0 0 24px rgba(167,139,250,.06)!important;
  outline:none!important;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus{
  -webkit-box-shadow:0 0 0 1000px #141728 inset!important;
  -webkit-text-fill-color:var(--text)!important;
  caret-color:var(--accent)!important;
}
select option{background:#141728!important;color:var(--text)!important;}
::selection{background:rgba(167,139,250,.3);color:#fff;}

/* ════ HERO STATS ════ */
.hstat-n{text-shadow:0 0 30px rgba(200,255,0,.3);}

/* ════ HERO BADGE ════ */
.hero-badge{border-color:var(--purple-bord);background:var(--purple-dim);color:var(--purple);}
.badge-dot{background:var(--purple);}
.ey-num{text-shadow:0 0 20px rgba(200,255,0,.4);}

/* ════ CONTACT LINKS ════ */
.clink:hover{border-color:var(--purple-bord);background:var(--purple-dim);}

/* ════ HOURS BOX ACCENT ════ */
.hours-box[style*="accent"]{border-color:var(--purple-bord)!important;background:var(--purple-dim)!important;}

/* ════ FLOAT ANIMATIONS ════ */
.chip{animation:chip-float 4s ease-in-out infinite;}
.chip-1{animation-delay:0s;}
.chip-2{animation-delay:.7s;}
.chip-3{animation-delay:1.4s;}
.chip-4{animation-delay:2.1s;}
@keyframes chip-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* ════ SHOWCASE STRIP ════ */
.showcase{position:relative;z-index:1;}
.showcase-strip{
  display:flex;gap:3px;
  height:clamp(200px,20vw,300px);
  border-radius:var(--rL);overflow:hidden;
  border:1px solid var(--border);
}
.showcase-panel{
  flex:1;position:relative;overflow:hidden;
  transition:flex .55s cubic-bezier(.23,1,.32,1);cursor:pointer;
  background:var(--surf);
}
.showcase-panel:hover{flex:2.8;}
.showcase-panel img{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(.58) saturate(.7);
  transition:filter .5s,transform .5s;
}
.showcase-panel:hover img{filter:brightness(.9) saturate(1.1);transform:scale(1.06);}
.sp-label{
  position:absolute;bottom:0;left:0;right:0;
  padding:14px 16px;
  background:linear-gradient(to top,rgba(6,7,13,.95),transparent);
  transform:translateY(110%);transition:transform .38s ease;
}
.showcase-panel:hover .sp-label{transform:translateY(0);}
.sp-badge{
  font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--accent);background:rgba(200,255,0,.1);border:1px solid rgba(200,255,0,.2);
  padding:2px 7px;border-radius:3px;display:inline-block;margin-bottom:4px;
}
.sp-badge.purple{color:var(--purple);background:var(--purple-dim);border-color:var(--purple-bord);}
.sp-title{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(13px,1.1vw,18px);letter-spacing:1.5px;color:#fff;
}

/* ════════════════════════════════════════
   AMBIENT VIDEO SECTIONS  (Apple-style)
════════════════════════════════════════ */
.va-section {
  position: relative;
  height: clamp(420px, 65vh, 780px);
  overflow: hidden;
  z-index: 1;
}

/* VIDEO — fills the section, slight scale for parallax feel */
.va-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.04);     /* tiny scale to allow parallax */
  filter: brightness(.45) saturate(.7);
  transition: filter .6s;
}
.va-section:hover .va-video { filter: brightness(.55) saturate(.85); }

/* GRADIENT OVERLAYS */
.va-overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(to right,  rgba(6,7,13,.75) 0%, transparent 55%),
    linear-gradient(to top,    rgba(6,7,13,.7)  0%, transparent 50%);
  display: flex; align-items: center;
  padding: 0 clamp(20px,4vw,80px);
}
.va-overlay-center {
  background:
    linear-gradient(to top, rgba(6,7,13,.85) 0%, rgba(6,7,13,.4) 50%, rgba(6,7,13,.85) 100%);
  justify-content: center; text-align: center;
  padding: 0 clamp(20px,4vw,80px);
}

/* CONTENT */
.va-inner { max-width: 620px; }
.va-eyebrow {
  font-size: 11px; font-weight: 700; letter-spacing: .22em;
  text-transform: uppercase; color: var(--accent); margin-bottom: 14px;
  display: flex; align-items: center; gap: 10px;
}
.va-eyebrow::after {
  content: ''; flex: 0 0 40px; height: 1px;
  background: rgba(200,255,0,.4);
}
.va-headline {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(52px, 7vw, 110px);
  line-height: .92; letter-spacing: 2px; color: #fff;
  margin-bottom: clamp(14px, 1.5vw, 22px);
}
.va-accent { color: var(--accent); }
.va-sub {
  font-size: clamp(14px, 1.05vw, 18px);
  color: rgba(255,255,255,.55);
  font-weight: 300; line-height: 1.7;
  max-width: 480px;
}

/* Subtle grain over the video */
.va-section::after {
  content: '';
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
}
.va-overlay, .va-inner { position: relative; z-index: 2; }

/* Border accent lines top/bottom */
.va-section::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px; z-index: 3;
  background: linear-gradient(90deg, transparent, rgba(200,255,0,.25) 40%, rgba(167,139,250,.2) 60%, transparent);
}

/* DARK VARIANT */
.va-dark .va-video { filter: brightness(.35) saturate(.6); }
.va-dark:hover .va-video { filter: brightness(.42) saturate(.75); }

/* MOBILE */
@media(max-width:680px) {
  .va-section { height: clamp(340px, 70vw, 500px); }
  .va-overlay { align-items: flex-end; padding-bottom: 40px; }
}
