/* =============================================
   SPARK Power Store — Premium UI + Light/Dark Theme
   ============================================= */

/* ========== BRAND CONSTANTS (never change with theme) ========== */
:root {
  --green:        #22c55e;
  --green-light:  #4ade80;
  --green-dim:    rgba(34,197,94,0.12);
  --green-glow:   rgba(34,197,94,0.25);
  --amber:        #f59e0b;
  --amber-dim:    rgba(245,158,11,0.12);

  --font-head:  'Space Grotesk','Inter',sans-serif;
  --font-body:  'Inter',sans-serif;
  --radius-sm:  8px;
  --radius:     12px;
  --radius-lg:  18px;
  --radius-xl:  24px;
  --trans:      all 0.25s cubic-bezier(0.4,0,0.2,1);
  --trans-slow: all 0.45s cubic-bezier(0.4,0,0.2,1);
  --shadow-btn: 0 2px 8px rgba(0,0,0,0.3),0 4px 20px rgba(34,197,94,0.2);
}

/* ========== DARK THEME (default) ========== */
:root,
[data-theme="dark"] {
  --bg-page:       #050810;
  --bg-page2:      #060a14;
  --bg-nav:        rgba(5,8,16,0.92);
  --card-bg:       #0f1623;
  --card-hover:    #131d2e;
  --card-border:   rgba(255,255,255,0.06);
  --card-border-h: rgba(34,197,94,0.2);
  --topbar-bg:     #030608;
  --topbar-bdr:    rgba(34,197,94,0.12);
  --footer-bg:     #030608;
  --footer-bdr:    rgba(255,255,255,0.04);
  --text-head:     #f8fafc;
  --text-body:     #cbd5e1;
  --text-muted:    #64748b;
  --text-dim:      #334155;
  --section-alt-s: #060a14;
  --section-alt-e: #050810;
  --shadow-card:   0 1px 3px rgba(0,0,0,0.4),0 4px 16px rgba(0,0,0,0.35),0 12px 40px rgba(0,0,0,0.25);
  --shadow-hover:  0 2px 8px rgba(0,0,0,0.5),0 8px 32px rgba(0,0,0,0.4),0 24px 64px rgba(0,0,0,0.3),0 0 0 1px rgba(34,197,94,0.15);
  --input-bg:      rgba(255,255,255,0.03);
  --input-border:  rgba(255,255,255,0.07);
  --glass:         rgba(255,255,255,0.03);
  --scrollbar-track:#080c14;
  --scrollbar-thumb:#334155;
  --slide-overlay: linear-gradient(90deg,rgba(5,8,16,0.82) 0%,rgba(5,8,16,0.45) 60%,transparent 100%);
  --slide-stat-bg: rgba(255,255,255,0.03);
  --slide-stat-bdr:rgba(255,255,255,0.06);
  --filter-btn-bg: rgba(255,255,255,0.03);
  --filter-btn-bdr:rgba(255,255,255,0.07);
  --search-input-bg:var(--card-bg);
  --map-filter:    grayscale(0.5) brightness(0.8);
  --stats-banner-bg:rgba(34,197,94,0.04);
  --stat-divider:  rgba(255,255,255,0.05);
  --why-after-bg:  rgba(34,197,94,0.1);
  --hero-grid-color:rgba(255,255,255,0.018);
  --nav-link-hover:rgba(255,255,255,0.05);
  --badge-new-text:#fff;
  --section-label-line:rgba(34,197,94,0.2);
  --table-even:    rgba(255,255,255,0.015);
  --table-bdr:     rgba(255,255,255,0.04);
  --breadcrumb-sep:#334155;
  --pagination-bg: #0f1623;
  --spec-td-first: #64748b;
  --gallery-item-bg:#0f1623;
  --cta-block-bg:  rgba(34,197,94,0.06);
  --cta-block-bdr: rgba(34,197,94,0.12);
  --about-box-bg:  linear-gradient(135deg,#0f1e32,#091525);
  --trust-bg:      #0f1623;
  --footer-col-link:#64748b;
}

/* ========== LIGHT THEME ========== */
[data-theme="light"] {
  --bg-page:       #f1f5f9;
  --bg-page2:      #e8edf4;
  --bg-nav:        rgba(255,255,255,0.96);
  --card-bg:       #ffffff;
  --card-hover:    #f8fafc;
  --card-border:   rgba(0,0,0,0.08);
  --card-border-h: rgba(34,197,94,0.4);
  --topbar-bg:     #1a2332;
  --topbar-bdr:    rgba(34,197,94,0.3);
  --footer-bg:     #0f1825;
  --footer-bdr:    rgba(255,255,255,0.06);
  --text-head:     #0f172a;
  --text-body:     #334155;
  --text-muted:    #64748b;
  --text-dim:      #94a3b8;
  --section-alt-s: #e8edf4;
  --section-alt-e: #f1f5f9;
  --shadow-card:   0 1px 2px rgba(0,0,0,0.04),0 4px 12px rgba(0,0,0,0.08),0 8px 24px rgba(0,0,0,0.05);
  --shadow-hover:  0 4px 16px rgba(0,0,0,0.1),0 12px 40px rgba(0,0,0,0.12),0 0 0 2px rgba(34,197,94,0.3);
  --input-bg:      #f8fafc;
  --input-border:  rgba(0,0,0,0.12);
  --glass:         rgba(0,0,0,0.02);
  --scrollbar-track:#e2e8f0;
  --scrollbar-thumb:#94a3b8;
  --slide-overlay: linear-gradient(90deg,rgba(5,8,16,0.78) 0%,rgba(5,8,16,0.4) 60%,transparent 100%);
  --slide-stat-bg: rgba(255,255,255,0.15);
  --slide-stat-bdr:rgba(255,255,255,0.25);
  --filter-btn-bg: #ffffff;
  --filter-btn-bdr:rgba(0,0,0,0.1);
  --search-input-bg:#ffffff;
  --map-filter:    grayscale(0) brightness(1);
  --stats-banner-bg:rgba(34,197,94,0.06);
  --stat-divider:  rgba(0,0,0,0.07);
  --why-after-bg:  rgba(34,197,94,0.08);
  --hero-grid-color:rgba(0,0,0,0.04);
  --nav-link-hover:rgba(0,0,0,0.04);
  --badge-new-text:#fff;
  --section-label-line:rgba(34,197,94,0.3);
  --table-even:    rgba(0,0,0,0.02);
  --table-bdr:     rgba(0,0,0,0.06);
  --breadcrumb-sep:#cbd5e1;
  --pagination-bg: #ffffff;
  --spec-td-first: #64748b;
  --gallery-item-bg:#ffffff;
  --cta-block-bg:  rgba(34,197,94,0.05);
  --cta-block-bdr: rgba(34,197,94,0.18);
  --about-box-bg:  linear-gradient(135deg,#e8edf4,#dde4ef);
  --trust-bg:      #ffffff;
  --footer-col-link:#94a3b8;
}

/* ========== GLOBAL TRANSITION FOR THEME SWITCH ========== */
*,*::before,*::after {
  box-sizing: border-box; margin: 0; padding: 0;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}
/* But don't slow down interactive transitions */
.btn,.filter-btn,.cat-card,.product-card,.why-card,.service-card,.float-chip,.gallery-item,.trust-badge,.pagination a,.social-links a {
  transition: var(--trans) !important;
}

html { scroll-behavior: smooth; }
body {
  background: var(--bg-page);
  color: var(--text-body);
  font-family: var(--font-body);
  font-size: 16px; line-height: 1.65;
  overflow-x: hidden; min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--scrollbar-track); }
::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: var(--green); }
.container { max-width: 1280px; margin: 0 auto; padding: 0 28px; }
section { position: relative; z-index: 1; }
.section-pad { padding: 100px 0; }
.section-pad-sm { padding: 64px 0; }

/* SECTION HEADERS */
.section-header { text-align: center; margin-bottom: 64px; }
.section-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--green-dim); border: 1px solid var(--section-label-line);
  border-radius: 100px; padding: 6px 18px;
  font-size: 0.72rem; font-weight: 700; color: var(--green);
  letter-spacing: 2px; text-transform: uppercase; margin-bottom: 20px;
}
.section-eyebrow .dot { width: 5px; height: 5px; border-radius: 50%; background: var(--green); animation: blink 2s infinite; }
@keyframes blink { 0%,100%{opacity:1;}50%{opacity:0.2;} }
.section-title {
  font-family: var(--font-head); font-size: clamp(1.9rem,4vw,2.9rem);
  font-weight: 800; line-height: 1.15; letter-spacing: -0.02em;
  color: var(--text-head); margin-bottom: 16px;
}
.section-title .accent { color: var(--green); }
.section-title .accent-y { color: var(--amber); }
.section-subtitle { color: var(--text-muted); max-width: 560px; margin: 0 auto; font-size: 1.05rem; line-height: 1.7; }

/* ========== TOPBAR STRIP ========== */
.topbar-strip {
  background: var(--topbar-bg);
  border-bottom: 1px solid var(--topbar-bdr);
  padding: 7px 0; font-size: 0.78rem;
}
.topbar-strip-inner { display: flex; align-items: center; gap: 24px; }
.topbar-strip-item { display: flex; align-items: center; gap: 7px; color: #94a3b8; }
.topbar-strip-item i { color: var(--green); font-size: 0.75rem; }
.topbar-strip-item a { color: #94a3b8; text-decoration: none; font-weight: 500; transition: color 0.2s; }
.topbar-strip-item a:hover { color: var(--green); }
.topbar-strip-right { margin-left: auto; }

/* ========== NAVBAR ========== */
.navbar {
  position: fixed; top: 34px; left: 0; right: 0; z-index: 1000;
  padding: 10px 0; background: transparent; transition: var(--trans-slow);
}
.navbar.scrolled {
  background: var(--bg-nav);
  backdrop-filter: blur(24px) saturate(150%);
  -webkit-backdrop-filter: blur(24px) saturate(150%);
  border-bottom: 1px solid var(--card-border);
  box-shadow: 0 4px 32px rgba(0,0,0,0.12);
  top: 0;
}
.nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.logo { text-decoration: none; display: flex; align-items: center; }
.logo-img {
  height: 46px; width: auto; object-fit: contain;
  filter: drop-shadow(0 2px 8px rgba(34,197,94,0.2));
  transition: filter 0.2s;
}
.logo-img:hover { filter: drop-shadow(0 2px 16px rgba(34,197,94,0.4)); }
[data-theme="light"] .logo-img { filter: none; }

.nav-links { display: flex; align-items: center; gap: 2px; list-style: none; }
.nav-links li a {
  text-decoration: none; color: var(--text-body);
  padding: 7px 12px; border-radius: var(--radius-sm);
  font-size: 0.875rem; font-weight: 500; transition: var(--trans);
}
.nav-links li a:hover { color: var(--text-head); background: var(--nav-link-hover); }

.nav-phone-btn {
  display: flex !important; align-items: center; gap: 6px;
  color: var(--text-body) !important;
  font-size: 0.82rem !important; font-weight: 600 !important;
  border: 1px solid var(--card-border) !important;
  border-radius: 8px !important; padding: 6px 12px !important;
  white-space: nowrap;
}
.nav-phone-btn i { color: var(--green); }
.nav-phone-btn:hover { border-color: var(--card-border-h) !important; color: var(--green) !important; background: var(--green-dim) !important; }

.btn-wa-nav {
  background: linear-gradient(135deg,#22c55e,#16a34a) !important;
  color: #fff !important; padding: 8px 16px !important;
  border-radius: var(--radius-sm) !important;
  display: flex; align-items: center; gap: 7px;
  font-weight: 600 !important; font-size: 0.85rem !important;
  box-shadow: 0 2px 10px rgba(34,197,94,0.25) !important;
  white-space: nowrap;
}
.btn-wa-nav:hover { background: linear-gradient(135deg,#4ade80,#22c55e) !important; transform: translateY(-1px); }

/* THEME TOGGLE BUTTON */
.theme-toggle {
  width: 38px; height: 38px; border-radius: 10px;
  background: var(--card-bg); border: 1px solid var(--card-border);
  color: var(--text-muted); font-size: 0.9rem;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: var(--trans); flex-shrink: 0;
}
.theme-toggle:hover { border-color: var(--green); color: var(--green); background: var(--green-dim); }
[data-theme="light"] .theme-toggle { background: var(--card-bg); border-color: var(--card-border); color: var(--text-muted); }
.icon-sun,.icon-moon { transition: opacity 0.2s, transform 0.3s; }
[data-theme="dark"]  .icon-sun  { display:none; }
[data-theme="dark"]  .icon-moon { display:block; }
[data-theme="light"] .icon-sun  { display:block; }
[data-theme="light"] .icon-moon { display:none; }

/* HAMBURGER */
.hamburger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 6px; }
.hamburger span { display: block; width: 22px; height: 2px; background: var(--text-head); border-radius: 2px; transition: var(--trans); }
.hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

/* ========== BUTTONS ========== */
.btn {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 12px 26px; border-radius: var(--radius);
  font-family: var(--font-body); font-size: 0.875rem; font-weight: 600;
  letter-spacing: 0.01em; text-decoration: none;
  border: 1px solid transparent; cursor: pointer;
  transition: var(--trans); white-space: nowrap;
  position: relative; overflow: hidden;
}
.btn::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg,rgba(255,255,255,0.08),transparent); opacity: 0; transition: var(--trans); }
.btn:hover::before { opacity: 1; }
.btn-green { background: linear-gradient(135deg,#22c55e,#16a34a); color: #fff; box-shadow: var(--shadow-btn); }
.btn-green:hover { background: linear-gradient(135deg,#4ade80,#22c55e); transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,0.2),0 8px 32px rgba(34,197,94,0.3); }
.btn-outline { background: transparent; color: var(--green); border-color: rgba(34,197,94,0.35); }
.btn-outline:hover { background: var(--green-dim); border-color: rgba(34,197,94,0.6); color: var(--green-light); transform: translateY(-2px); }
.btn-yellow { background: linear-gradient(135deg,#f59e0b,#d97706); color: #0c0f16; font-weight: 700; box-shadow: 0 2px 8px rgba(0,0,0,0.2),0 4px 20px rgba(245,158,11,0.2); }
.btn-yellow:hover { background: linear-gradient(135deg,#fbbf24,#f59e0b); transform: translateY(-2px); }
.btn-wa { background: linear-gradient(135deg,#25d366,#128C7E); color: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.2),0 4px 20px rgba(37,211,102,0.2); }
.btn-wa:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,0.2),0 8px 32px rgba(37,211,102,0.3); }
.btn-ghost { background: var(--glass); color: var(--text-body); border-color: var(--card-border); }
.btn-ghost:hover { background: var(--card-hover); color: var(--text-head); transform: translateY(-1px); }
.btn-sm { padding: 8px 18px; font-size: 0.8rem; border-radius: var(--radius-sm); }
.btn-lg { padding: 14px 32px; font-size: 0.95rem; }

/* ========== HERO SLIDER ========== */
.hero-slider-section { position: relative; margin-top: 103px; }
.hero-swiper { width: 100%; }
.hero-slide { position: relative; min-height: 88vh; display: flex; align-items: center; overflow: hidden; }
.slide-bg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 6s ease; }
.swiper-slide-active .slide-bg { transform: scale(1.04); }

.slide-1 .slide-bg { background: radial-gradient(ellipse 70% 90% at 75% 50%,rgba(245,158,11,0.12),transparent 60%),radial-gradient(ellipse 50% 60% at 20% 80%,rgba(34,197,94,0.08),transparent 50%),linear-gradient(135deg,#06090f,#0c1520 50%,#080d14); }
.slide-2 .slide-bg { background: radial-gradient(ellipse 70% 80% at 70% 40%,rgba(34,197,94,0.1),transparent 60%),radial-gradient(ellipse 40% 60% at 15% 70%,rgba(14,165,233,0.07),transparent 50%),linear-gradient(135deg,#060a0f,#0a1520 50%,#060c14); }
.slide-3 .slide-bg { background: radial-gradient(ellipse 60% 80% at 65% 50%,rgba(99,102,241,0.1),transparent 60%),radial-gradient(ellipse 50% 60% at 20% 60%,rgba(34,197,94,0.06),transparent 50%),linear-gradient(135deg,#060810,#0c1020 50%,#07080f); }

.slide-overlay { position: absolute; inset: 0; background: var(--slide-overlay); }
.slide-content { position: relative; z-index: 2; padding: 80px 0; }
.slide-inner { max-width: 620px; }
.slide-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(34,197,94,0.1); border: 1px solid rgba(34,197,94,0.2);
  border-radius: 100px; padding: 7px 18px; margin-bottom: 28px;
  font-size: 0.78rem; font-weight: 600; color: var(--green); letter-spacing: 0.5px;
}
.slide-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 6px var(--green); animation: blink 2s infinite; }
.slide-title { font-family: var(--font-head); font-size: clamp(2.2rem,5vw,3.8rem); font-weight: 800; line-height: 1.12; letter-spacing: -0.03em; color: #f8fafc; margin-bottom: 20px; }
.slide-accent { background: linear-gradient(135deg,#22c55e,#4ade80); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.slide-2 .slide-accent { background: linear-gradient(135deg,#22c55e,#38bdf8); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.slide-3 .slide-accent { background: linear-gradient(135deg,#818cf8,#4ade80); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.slide-sub { color: rgba(203,213,225,0.85); font-size: 1.05rem; line-height: 1.7; margin-bottom: 36px; max-width: 500px; }
.slide-ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 48px; }
.slide-stats { display: flex; align-items: center; background: var(--slide-stat-bg); border: 1px solid var(--slide-stat-bdr); border-radius: var(--radius); padding: 18px 24px; width: fit-content; backdrop-filter: blur(10px); }
.slide-stat { text-align: center; padding: 0 20px; }
.slide-stat:first-child { padding-left: 0; }
.slide-stat:last-child { padding-right: 0; }
.ss-num { display: block; font-family: var(--font-head); font-size: 1.4rem; font-weight: 800; color: #f8fafc; letter-spacing: -0.03em; line-height: 1; }
.ss-label { display: block; font-size: 0.72rem; color: rgba(148,163,184,0.8); font-weight: 500; margin-top: 4px; }
.slide-stat-div { width: 1px; height: 36px; background: rgba(255,255,255,0.1); flex-shrink: 0; }

.hero-prev,.hero-next { width:48px!important;height:48px!important;background:rgba(255,255,255,0.08)!important;border:1px solid rgba(255,255,255,0.15)!important;border-radius:50%!important;backdrop-filter:blur(10px);color:#fff!important;transition:var(--trans)!important;top:50%!important; }
.hero-prev:hover,.hero-next:hover { background:rgba(34,197,94,0.2)!important;border-color:rgba(34,197,94,0.4)!important; }
.hero-prev { left:24px!important; } .hero-next { right:24px!important; }
.hero-prev::after,.hero-next::after { display:none!important; }
.hero-pagination { bottom:28px!important; }
.hero-pagination .swiper-pagination-bullet { width:8px!important;height:8px!important;background:rgba(255,255,255,0.3)!important;opacity:1!important;transition:var(--trans)!important; }
.hero-pagination .swiper-pagination-bullet-active { background:var(--green)!important;width:28px!important;border-radius:4px!important;box-shadow:0 0 8px rgba(34,197,94,0.5)!important; }

/* ========== CATEGORIES ========== */
.categories-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(190px,1fr)); gap: 16px; }
.cat-card {
  background: var(--card-bg); border: 1px solid var(--card-border);
  border-radius: var(--radius-lg); padding: 30px 22px;
  text-align: center; text-decoration: none; color: var(--text-head);
  transition: var(--trans); position: relative; overflow: hidden;
  box-shadow: var(--shadow-card); display: flex; flex-direction: column; align-items: center; gap: 4px;
}
.cat-card::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,255,255,0.03),transparent 60%); pointer-events:none; }
[data-theme="light"] .cat-card::before { background: linear-gradient(135deg,rgba(255,255,255,0.8),transparent 60%); }
.cat-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--green),var(--amber)); transform:scaleX(0); transform-origin:left; transition:var(--trans); }
.cat-card:hover { border-color: var(--card-border-h); transform:translateY(-5px); box-shadow:var(--shadow-hover); background:var(--card-hover); }
.cat-card:hover::after { transform:scaleX(1); }
.cat-icon-wrap { width:60px;height:60px;border-radius:14px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;transition:var(--trans);border:1px solid rgba(255,255,255,0.07); }
[data-theme="light"] .cat-icon-wrap { border-color: rgba(0,0,0,0.08); }
.cat-card:hover .cat-icon-wrap { transform:scale(1.08); }
.ci-solar { background:linear-gradient(135deg,rgba(245,158,11,0.18),rgba(245,158,11,0.06)); color:var(--amber); }
.ci-ev    { background:linear-gradient(135deg,rgba(34,197,94,0.18),rgba(34,197,94,0.06)); color:var(--green); }
.ci-bat   { background:linear-gradient(135deg,rgba(99,102,241,0.18),rgba(99,102,241,0.06)); color:#818cf8; }
.ci-inv   { background:linear-gradient(135deg,rgba(236,72,153,0.15),rgba(236,72,153,0.05)); color:#f472b6; }
.ci-ups   { background:linear-gradient(135deg,rgba(14,165,233,0.18),rgba(14,165,233,0.06)); color:#38bdf8; }
.ci-sol   { background:linear-gradient(135deg,rgba(34,197,94,0.15),rgba(245,158,11,0.08)); color:var(--green); }
.cat-name { font-family:var(--font-head); font-size:0.83rem; font-weight:700; letter-spacing:-0.01em; line-height:1.3; color:var(--text-head); }
.cat-count { font-size:0.75rem; color:var(--text-muted); margin-top:4px; }

/* ========== PRODUCT CARDS ========== */
.products-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:24px; }
.product-card {
  background:var(--card-bg); border:1px solid var(--card-border);
  border-radius:var(--radius-lg); overflow:hidden;
  transition:var(--trans); position:relative;
  box-shadow:var(--shadow-card); display:flex; flex-direction:column;
}
.product-card:hover { border-color:var(--card-border-h); transform:translateY(-5px); box-shadow:var(--shadow-hover); background:var(--card-hover); }
.product-card-img {
  height:210px; position:relative; overflow:hidden;
  background: linear-gradient(145deg,#0c1522,#0a1018);
  display:flex; align-items:center; justify-content:center;
}
[data-theme="light"] .product-card-img { background: linear-gradient(145deg,#f0f4f8,#e8edf4); }
.product-card-img img { width:100%;height:100%;object-fit:contain;padding:18px;transition:transform 0.4s cubic-bezier(0.4,0,0.2,1); }
.product-card:hover .product-card-img img { transform:scale(1.05); }
.product-card-img .no-img { font-size:3rem; color:var(--text-dim); opacity:0.4; }
.product-badge { position:absolute;top:12px;left:12px;z-index:3;font-size:0.65rem;font-weight:700;letter-spacing:0.5px;padding:4px 11px;border-radius:100px; }
.badge-new { background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 2px 8px rgba(34,197,94,0.35); }
.badge-sale { background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 8px rgba(245,158,11,0.35); }
.badge-request { background:var(--glass);color:var(--text-muted);border:1px solid var(--card-border);backdrop-filter:blur(8px); }
.product-card-body { padding:22px;flex:1;display:flex;flex-direction:column; }
.product-category-tag { font-size:0.68rem;color:var(--green);font-weight:600;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:7px; }
.product-name { font-family:var(--font-head);font-size:1rem;font-weight:700;line-height:1.35;margin-bottom:8px;color:var(--text-head);letter-spacing:-0.01em; }
.product-desc { font-size:0.85rem;color:var(--text-muted);margin-bottom:16px;flex:1;line-height:1.6; }
.product-price-row { margin-bottom:14px; }
.product-price { font-family:var(--font-head);font-size:1.45rem;font-weight:800;color:var(--text-head);display:block;letter-spacing:-0.03em; }
.product-price.has-sale { color:var(--amber); }
.product-price-old { font-size:0.8rem;color:var(--text-dim);text-decoration:line-through;margin-top:2px;display:block; }
.product-stock { font-size:0.75rem;margin-bottom:14px;font-weight:600; }
.stock-in { color:var(--green); } .stock-out { color:#ef4444; } .stock-req { color:var(--amber); }
.product-actions { display:flex;gap:8px;flex-wrap:wrap; }
.product-actions .btn { flex:1;justify-content:center;min-width:120px; }

/* ========== WHY CARDS ========== */
.why-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px; }
.why-card {
  background:var(--card-bg);border:1px solid var(--card-border);
  border-radius:var(--radius-lg);padding:34px 26px;
  transition:var(--trans);position:relative;overflow:hidden;box-shadow:var(--shadow-card);
}
.why-card::after { content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--green),var(--amber));transform:scaleX(0);transform-origin:left;transition:var(--trans); }
.why-card:hover { border-color:var(--card-border-h);transform:translateY(-4px);box-shadow:var(--shadow-hover);background:var(--card-hover); }
.why-card:hover::after { transform:scaleX(1); }
.why-icon-wrap { width:52px;height:52px;border-radius:12px;margin-bottom:20px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;border:1px solid rgba(34,197,94,0.2);background:var(--why-after-bg);color:var(--green); }
.why-title { font-family:var(--font-head);font-size:1rem;font-weight:700;margin-bottom:10px;letter-spacing:-0.01em;color:var(--text-head); }
.why-desc { color:var(--text-muted);font-size:0.875rem;line-height:1.65; }

/* ========== STATS BANNER ========== */
.stats-banner { background:var(--stats-banner-bg);border-top:1px solid var(--card-border);border-bottom:1px solid var(--card-border); }
.stats-row { display:grid;grid-template-columns:repeat(4,1fr); }
.stat-item { text-align:center;padding:48px 20px;border-right:1px solid var(--stat-divider);position:relative; }
.stat-item:last-child { border-right:none; }
.stat-item .num { font-family:var(--font-head);font-size:2.6rem;font-weight:800;display:block;letter-spacing:-0.04em;color:var(--text-head); }
.stat-item .label { color:var(--text-muted);font-size:0.85rem;margin-top:8px;font-weight:500; }

/* ========== GALLERY ========== */
.gallery-grid { columns:3;gap:14px;column-gap:14px; }
.gallery-item { break-inside:avoid;margin-bottom:14px;border-radius:var(--radius);overflow:hidden;position:relative;cursor:pointer;border:1px solid var(--card-border);box-shadow:var(--shadow-card);background:var(--gallery-item-bg); }
.gallery-item img { width:100%;display:block;transition:transform 0.5s cubic-bezier(0.4,0,0.2,1); }
.gallery-item:hover img { transform:scale(1.06); }
.gallery-overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(5,8,16,0.85) 0%,rgba(5,8,16,0.2) 50%,transparent 100%);opacity:0;transition:var(--trans);display:flex;align-items:flex-end;padding:18px; }
.gallery-item:hover .gallery-overlay { opacity:1; }
.gallery-overlay-icon { position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0.8);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.1);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:0.9rem;transition:var(--trans); }
.gallery-item:hover .gallery-overlay-icon { transform:translate(-50%,-50%) scale(1); }
.gallery-overlay p { font-size:0.82rem;color:#fff;font-weight:500; }

/* ========== SERVICES ========== */
.services-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px; }
.service-card { background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:36px 30px;transition:var(--trans);position:relative;overflow:hidden;box-shadow:var(--shadow-card); }
.service-card::after { content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--green),var(--amber));transform:scaleX(0);transform-origin:left;transition:var(--trans); }
.service-card:hover { border-color:var(--card-border-h);transform:translateY(-5px);box-shadow:var(--shadow-hover);background:var(--card-hover); }
.service-card:hover::after { transform:scaleX(1); }
.service-icon-wrap { width:56px;height:56px;border-radius:14px;margin-bottom:22px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;border:1px solid rgba(34,197,94,0.2);background:rgba(34,197,94,0.08);color:var(--green);transition:var(--trans); }
.service-card:hover .service-icon-wrap { background:rgba(34,197,94,0.14);box-shadow:0 0 20px rgba(34,197,94,0.12); }
.service-name { font-family:var(--font-head);font-size:1.05rem;font-weight:700;margin-bottom:12px;letter-spacing:-0.01em;color:var(--text-head); }
.service-desc { color:var(--text-muted);font-size:0.875rem;line-height:1.7;margin-bottom:22px; }

/* ========== CONTACT ========== */
.contact-grid { display:grid;grid-template-columns:1fr 1fr;gap:48px; }
.contact-form .form-group { margin-bottom:18px; }
.contact-form label { display:block;margin-bottom:7px;font-size:0.8rem;font-weight:600;color:var(--text-muted);letter-spacing:0.3px; }
.contact-form input,.contact-form textarea,.contact-form select {
  width:100%;padding:13px 16px;background:var(--input-bg);border:1px solid var(--input-border);
  border-radius:var(--radius);color:var(--text-head);font-family:var(--font-body);font-size:0.9rem;transition:var(--trans);outline:none;
  box-shadow:inset 0 1px 3px rgba(0,0,0,0.08);
}
.contact-form input:focus,.contact-form textarea:focus { border-color:rgba(34,197,94,0.4);background:rgba(34,197,94,0.02);box-shadow:0 0 0 3px rgba(34,197,94,0.08); }
.contact-form textarea { height:150px;resize:vertical; }
.contact-info-list { list-style:none;display:flex;flex-direction:column;gap:18px; }
.contact-info-list li { display:flex;align-items:flex-start;gap:14px; }
.contact-info-list .ci-icon { width:42px;height:42px;border-radius:10px;flex-shrink:0;background:rgba(34,197,94,0.1);border:1px solid rgba(34,197,94,0.18);display:flex;align-items:center;justify-content:center;color:var(--green);font-size:0.95rem; }
.contact-info-list .ci-text { font-size:0.88rem; }
.contact-info-list .ci-text strong { display:block;color:var(--text-head);font-weight:600;margin-bottom:2px; }
.contact-info-list .ci-text a,.contact-info-list .ci-text span { color:var(--text-muted);text-decoration:none; }
.contact-info-list .ci-text a:hover { color:var(--green); }
.map-container { margin-top:24px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--card-border); }
.map-container iframe { width:100%;height:270px;display:block;filter:var(--map-filter); }

/* ========== PRODUCT DETAIL ========== */
.product-detail-grid { display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start; }
.product-gallery-main { background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);overflow:hidden;height:400px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-card); }
.product-gallery-main img { max-width:100%;max-height:100%;object-fit:contain;padding:24px; }
.product-gallery-thumbs { display:flex;gap:8px;margin-top:12px;flex-wrap:wrap; }
.product-gallery-thumbs img { width:68px;height:68px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--card-border);cursor:pointer;transition:var(--trans);background:var(--card-bg); }
.product-gallery-thumbs img:hover,.product-gallery-thumbs img.active { border-color:var(--green); }
.product-detail-title { font-family:var(--font-head);font-size:1.9rem;font-weight:800;line-height:1.15;margin-bottom:10px;letter-spacing:-0.03em;color:var(--text-head); }
.product-detail-price { font-family:var(--font-head);font-size:2.5rem;font-weight:800;color:var(--text-head);margin:18px 0 5px;letter-spacing:-0.04em; }
.product-detail-price.has-sale { color:var(--amber); }
.specs-table { width:100%;border-collapse:collapse;margin:22px 0; }
.specs-table tr:nth-child(even) td { background:var(--table-even); }
.specs-table td { padding:10px 14px;border-bottom:1px solid var(--table-bdr);font-size:0.875rem; }
.specs-table td:first-child { color:var(--spec-td-first);font-weight:600;width:42%; }
.specs-table td:last-child { color:var(--text-body); }

/* ========== PAGE HERO ========== */
.page-hero { padding:140px 0 72px;position:relative;overflow:hidden;border-bottom:1px solid var(--card-border); }
.page-hero-bg { position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 50% 50%,rgba(34,197,94,0.04),transparent),linear-gradient(180deg,var(--bg-page),var(--bg-page2)); }
.page-hero-grid { position:absolute;inset:0;background-image:linear-gradient(var(--hero-grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--hero-grid-color) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(ellipse 60% 100% at center,black,transparent 100%);mask-image:radial-gradient(ellipse 60% 100% at center,black,transparent 100%); }

/* ========== BREADCRUMB ========== */
.breadcrumb { padding:20px 0;display:flex;align-items:center;gap:8px;font-size:0.82rem;color:var(--text-muted); }
.breadcrumb a { color:var(--text-muted);text-decoration:none;transition:var(--trans); }
.breadcrumb a:hover { color:var(--green); }
.breadcrumb .sep { color:var(--breadcrumb-sep); }
.breadcrumb .current { color:var(--text-head);font-weight:500; }

/* ========== FILTER BAR ========== */
.filter-bar { display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px;align-items:center; }
.filter-btn { padding:8px 18px;border-radius:100px;border:1px solid var(--filter-btn-bdr);background:var(--filter-btn-bg);color:var(--text-muted);font-family:var(--font-body);font-size:0.8rem;font-weight:600;cursor:pointer;transition:var(--trans); }
.filter-btn:hover { border-color:rgba(34,197,94,0.3);color:var(--text-body); }
.filter-btn.active { border-color:rgba(34,197,94,0.5);color:var(--green);background:var(--green-dim); }
.search-bar { margin-left:auto;display:flex; }
.search-bar input { padding:9px 18px;background:var(--search-input-bg);border:1px solid var(--card-border);border-right:none;border-radius:var(--radius-sm) 0 0 var(--radius-sm);color:var(--text-head);font-size:0.875rem;outline:none;width:220px;transition:var(--trans); }
.search-bar input:focus { border-color:rgba(34,197,94,0.3); }
.search-bar button { padding:9px 16px;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:#fff;cursor:pointer;transition:var(--trans); }
.search-bar button:hover { background:linear-gradient(135deg,#4ade80,#22c55e); }

/* ========== GLASS CARD ========== */
.glass-card { background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-card); }

/* ========== CTA BLOCK ========== */
.cta-block { text-align:center;background:var(--cta-block-bg);border:1px solid var(--cta-block-bdr);border-radius:var(--radius-xl);padding:60px 40px;max-width:820px;margin:0 auto;box-shadow:var(--shadow-card);position:relative;overflow:hidden; }
.cta-block::before { content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(34,197,94,0.4),transparent); }
.cta-icon { font-size:2.5rem;color:var(--green);margin-bottom:16px; }
.cta-title { font-family:var(--font-head);font-size:clamp(1.6rem,3.5vw,2.2rem);font-weight:800;letter-spacing:-0.02em;margin-bottom:14px;color:var(--text-head); }
.cta-sub { color:var(--text-muted);font-size:1rem;max-width:500px;margin:0 auto 36px;line-height:1.7; }
.cta-actions { display:flex;gap:14px;justify-content:center;flex-wrap:wrap; }

/* ========== ABOUT ========== */
.about-grid { display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center; }
.about-placeholder { width:400px;height:400px;border-radius:var(--radius-xl);background:var(--about-box-bg);border:1px solid var(--card-border);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-card);position:relative;overflow:hidden; }
.trust-badges { display:flex;gap:12px;flex-wrap:wrap;margin-top:28px; }
.trust-badge { display:flex;align-items:center;gap:8px;background:var(--trust-bg);border:1px solid var(--card-border);border-radius:100px;padding:9px 16px;font-size:0.8rem;font-weight:600;box-shadow:var(--shadow-card);color:var(--text-body); }
.trust-badge:hover { border-color:var(--card-border-h); }
.trust-badge i { color:var(--green); }

/* ========== FOOTER ========== */
.footer { background:var(--footer-bg);border-top:1px solid var(--footer-bdr);position:relative;overflow:hidden;padding-top:80px; }
.footer-glow { position:absolute;top:0;left:50%;transform:translateX(-50%);width:500px;height:1px;background:linear-gradient(90deg,transparent,rgba(34,197,94,0.4),rgba(245,158,11,0.3),rgba(34,197,94,0.4),transparent); }
.footer-grid { display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:48px;padding-bottom:60px; }
.footer-tagline { color:#94a3b8;font-size:0.875rem;margin-bottom:22px;line-height:1.65; }
.footer-badges { display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px; }
.footer-badges span { background:rgba(34,197,94,0.1);border:1px solid rgba(34,197,94,0.2);border-radius:100px;padding:4px 12px;font-size:0.7rem;color:var(--green);font-weight:600; }
.social-links { display:flex;gap:8px; }
.social-links a { width:36px;height:36px;border-radius:var(--radius-sm);background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;color:#94a3b8;text-decoration:none;transition:var(--trans);font-size:0.9rem; }
.social-links a:hover { border-color:rgba(34,197,94,0.4);color:var(--green);background:rgba(34,197,94,0.1); }
.footer-col h4 { font-family:var(--font-head);font-size:0.75rem;font-weight:700;letter-spacing:2px;color:#f8fafc;margin-bottom:18px;text-transform:uppercase; }
.footer-col ul { list-style:none;display:flex;flex-direction:column;gap:8px; }
.footer-col ul li a { color:#94a3b8;text-decoration:none;font-size:0.875rem;transition:var(--trans); }
.footer-col ul li a:hover { color:var(--green); }
.contact-list li { display:flex;align-items:flex-start;gap:10px; }
.contact-list li i { color:var(--green);margin-top:3px;flex-shrink:0;font-size:0.85rem; }
.contact-list li a { color:#94a3b8;text-decoration:none;font-size:0.875rem; }
.contact-list li a:hover { color:var(--green); }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.05);padding:22px 0;color:#475569;font-size:0.82rem; }

/* ========== WHATSAPP FLOAT ========== */
.wa-float { position:fixed;bottom:26px;right:26px;z-index:9999;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#25d366,#128C7E);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;text-decoration:none;box-shadow:0 4px 20px rgba(37,211,102,0.35),0 8px 40px rgba(0,0,0,0.3);transition:var(--trans); }
.wa-float:hover { transform:scale(1.1) translateY(-2px); }
.wa-pulse { position:absolute;inset:-7px;border-radius:50%;border:1.5px solid rgba(37,211,102,0.35);animation:waPulse 2.5s ease infinite; }
@keyframes waPulse { 0%,100%{transform:scale(1);opacity:0.5;}50%{transform:scale(1.25);opacity:0;} }

/* ========== ALERTS ========== */
.alert { padding:13px 18px;border-radius:var(--radius);margin-bottom:18px;font-size:0.875rem;font-weight:500; }
.alert-success { background:rgba(34,197,94,0.08);border:1px solid rgba(34,197,94,0.25);color:var(--green); }
.alert-error { background:rgba(239,68,68,0.08);border:1px solid rgba(239,68,68,0.25);color:#f87171; }
.alert-info { background:rgba(245,158,11,0.08);border:1px solid rgba(245,158,11,0.25);color:var(--amber); }

/* ========== PAGINATION ========== */
.pagination { display:flex;gap:6px;justify-content:center;margin-top:48px; }
.pagination a,.pagination span { width:38px;height:38px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;border:1px solid var(--card-border);color:var(--text-muted);text-decoration:none;font-size:0.85rem;transition:var(--trans);background:var(--pagination-bg); }
.pagination a:hover { border-color:rgba(34,197,94,0.3);color:var(--green); }
.pagination .current { border-color:rgba(34,197,94,0.5);color:var(--green);background:var(--green-dim); }

/* ========== SWIPER ========== */
.swiper-button-next,.swiper-button-prev { color:var(--green)!important; }
.related-swiper .swiper-slide { height:auto; }

/* ========== PARTICLES ========== */
.particles { position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden; }
.particle { position:absolute;border-radius:50%;background:var(--green);opacity:0.05;animation:floatParticle linear infinite; }
@keyframes floatParticle { 0%{transform:translateY(100vh) scale(0);opacity:0;}10%{opacity:0.05;}90%{opacity:0.02;}100%{transform:translateY(-100px) scale(1);opacity:0;} }

/* ========== FADE IN ========== */
.fade-in { opacity:0;transform:translateY(20px);transition:opacity 0.5s ease,transform 0.5s ease; }
.fade-in.visible { opacity:1;transform:none; }

/* ========== MISC ========== */
.mt-2 { margin-top:16px; }

/* ========== RESPONSIVE ========== */
@media(max-width:1024px) {
  .hero-content{grid-template-columns:1fr;gap:48px;}
  .hero-visual{display:none;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .gallery-grid{columns:2;}
  .about-grid{grid-template-columns:1fr;}
  .about-visual{display:none;}
  .product-detail-grid{grid-template-columns:1fr;gap:32px;}
  .contact-grid{grid-template-columns:1fr;}
  .stats-row{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px) {
  .nav-links{position:fixed;top:68px;left:0;right:0;background:var(--bg-nav);backdrop-filter:blur(20px);flex-direction:column;padding:16px;border-bottom:1px solid var(--card-border);display:none;gap:4px;}
  .nav-links.open{display:flex;}
  .hamburger{display:flex;}
  .products-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}
  .categories-grid{grid-template-columns:repeat(3,1fr);}
  .footer-grid{grid-template-columns:1fr;}
  .gallery-grid{columns:1;}
  .stats-row{grid-template-columns:repeat(2,1fr);}
  .section-pad{padding:64px 0;}
  .hero-title{font-size:2rem;}
  .filter-bar{flex-direction:column;align-items:flex-start;}
  .search-bar{width:100%;margin-left:0;}
  .search-bar input{flex:1;}
  .hero-slider-section{margin-top:96px;}
  .hero-slide{min-height:70vh;}
  .slide-content{padding:60px 0;}
  .slide-title{font-size:2rem;}
  .hero-prev,.hero-next{display:none!important;}
  .cta-block{padding:40px 24px;}
  .topbar-strip-right{display:none;}
}
@media(max-width:480px) {
  .container{padding:0 16px;}
  .categories-grid{grid-template-columns:repeat(2,1fr);}
  .stats-row{grid-template-columns:1fr;}
  .stat-item{border-right:none;border-bottom:1px solid var(--stat-divider);}
  .slide-ctas{flex-direction:column;}
  .slide-ctas .btn{width:100%;justify-content:center;}
  .slide-stats{width:100%;}
  .products-grid{grid-template-columns:1fr;}
  .wa-float{bottom:18px;right:14px;width:50px;height:50px;}
  .topbar-strip{display:none;}
  .hero-slider-section{margin-top:65px;}
  .cta-actions{flex-direction:column;}
  .cta-actions .btn{width:100%;justify-content:center;}
  .nav-phone-btn{display:none!important;}
}

/* Section alt background (theme-aware) */
.section-alt { background: linear-gradient(180deg, var(--section-alt-s), var(--section-alt-e)); }
