/* ============================================================
   Hindustan Solar Solution — Solar Panel Switch Button Style
   Drop this file in as /assets/css/solar-button.css and link it
   once from header.php:
   <link rel="stylesheet" href="/solar-new/assets/css/solar-button.css">

   Usage on ANY existing button or link — just add the class,
   keep everything else the same:

   <button class="btn-solar">Get Free Quote</button>
   <a href="contact.php" class="btn-solar">Get Free Quote</a>
   <button class="btn-solar btn-solar--secondary">Explore Portfolios</button>
   <button class="btn-solar btn-solar--sm">Download</button>
   ============================================================ */

.btn-solar-wrap{
  position:relative;
  display:inline-block;
  border-radius:10px;
  padding:3px;
  background:linear-gradient(135deg,#94a3b8,#475569 40%,#94a3b8);
  box-shadow:0 6px 16px rgba(0,0,0,0.45);
}
.btn-solar-wrap.btn-solar--secondary{
  background:linear-gradient(135deg,#475569,#1e293b 40%,#475569);
}

.btn-solar{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:none;
  cursor:pointer;
  text-decoration:none;
  padding:16px 34px;
  border-radius:7px;
  font-weight:800;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:1.5px;
  color:#dbeafe;
  background-color:#0f172a;
  overflow:hidden;
  transform-origin:center bottom;
  transition:transform 0.08s ease;
  width:100%;
}
.btn-solar:focus-visible{
  outline:2px solid #f59e0b;
  outline-offset:3px;
}
.btn-solar:active{ transform:scaleY(0.94); }

.btn-solar--sm{ padding:10px 20px; font-size:11px; }
.btn-solar--lg{ padding:20px 44px; font-size:16px; }

/* PV cell grid lines */
.btn-solar::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:
    repeating-linear-gradient(90deg, transparent 0, transparent calc(33.33% - 1px), rgba(148,163,184,0.3) calc(33.33% - 1px), rgba(148,163,184,0.3) 33.33%),
    repeating-linear-gradient(0deg, transparent 0, transparent calc(50% - 1px), rgba(148,163,184,0.22) calc(50% - 1px), rgba(148,163,184,0.22) 50%);
  pointer-events:none;
}

/* charge sweep, triggered on tap via JS class */
.btn-solar::after{
  content:'';
  position:absolute;
  top:0; bottom:0; left:-40%;
  width:40%;
  background:linear-gradient(90deg, transparent, rgba(245,158,11,0.6), transparent);
  transform:skewX(-20deg);
  pointer-events:none;
}
.btn-solar.is-charging::after{
  animation:btnSolarSweep 0.5s ease forwards;
}
@keyframes btnSolarSweep{
  from{ left:-40%; }
  to{ left:120%; }
}

/* brief current-flash burst on tap, positioned via CSS vars set by JS */
.btn-solar .btn-solar-flash{
  position:absolute;
  left:var(--flash-x, 50%);
  top:var(--flash-y, 50%);
  width:14px; height:14px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,0.9) 0%, rgba(255,200,80,0.6) 40%, transparent 70%);
  transform:translate(-50%,-50%) scale(0);
  pointer-events:none;
  animation:btnSolarFlash 0.5s ease-out forwards;
}
@keyframes btnSolarFlash{
  from{ transform:translate(-50%,-50%) scale(0); opacity:1; }
  to{ transform:translate(-50%,-50%) scale(10); opacity:0; }
}

.btn-solar .btn-solar-label{ position:relative; z-index:2; }

@media (prefers-reduced-motion: reduce){
  .btn-solar.is-charging::after,
  .btn-solar .btn-solar-flash{ animation:none !important; }
}
