/* ProSnapGrow Premium Purple / White / Yellow 3D Theme */
:root{
  --ps-bg:#0b0820;
  --ps-bg2:#17103a;
  --ps-purple:#8b5cf6;
  --ps-purple2:#6d28d9;
  --ps-yellow:#ffd400;
  --ps-white:#fff;
  --ps-muted:rgba(255,255,255,.72);
  --ps-card:rgba(31,20,70,.62);
  --ps-border:rgba(167,139,250,.25);
  --ps-shadow:0 24px 70px rgba(0,0,0,.45),0 0 35px rgba(124,58,237,.16);
}
body{
  background:
    radial-gradient(circle at 12% 8%,rgba(139,92,246,.30),transparent 30%),
    radial-gradient(circle at 88% 20%,rgba(255,212,0,.13),transparent 25%),
    radial-gradient(circle at 50% 90%,rgba(109,40,217,.25),transparent 35%),
    linear-gradient(135deg,var(--ps-bg),var(--ps-bg2) 52%,#09061a);
}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:linear-gradient(115deg,transparent 0 42%,rgba(255,255,255,.025) 50%,transparent 58%);opacity:.8}
.navbar.scrolled{background:rgba(11,8,32,.78);border-bottom:1px solid rgba(139,92,246,.28);box-shadow:0 12px 35px rgba(0,0,0,.3)}
.logo-name{background:linear-gradient(90deg,#fff,var(--ps-yellow),#c4b5fd);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.logo-sub{color:#c4b5fd}
.nav-links a.active,.nav-links a:hover{color:var(--ps-yellow);text-shadow:0 0 18px rgba(255,212,0,.35)}
.nav-links a.nav-login,.btn-primary{background:linear-gradient(135deg,var(--ps-yellow),#fff06a);color:#17110a;box-shadow:0 10px 30px rgba(255,212,0,.25),inset 0 1px 0 rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.35)}
.btn-primary:hover{background:linear-gradient(135deg,#fff06a,var(--ps-yellow));box-shadow:0 16px 38px rgba(255,212,0,.32);transform:translateY(-4px) scale(1.015)}
.btn-secondary{background:linear-gradient(145deg,rgba(139,92,246,.24),rgba(255,255,255,.06));border:1px solid rgba(167,139,250,.35);box-shadow:inset 0 1px rgba(255,255,255,.08),0 12px 30px rgba(0,0,0,.22)}
.btn-secondary:hover{border-color:var(--ps-yellow);box-shadow:0 12px 35px rgba(139,92,246,.25)}
.hero-badge{background:linear-gradient(135deg,rgba(139,92,246,.22),rgba(255,212,0,.08));border-color:rgba(255,212,0,.4);box-shadow:0 10px 30px rgba(139,92,246,.18),inset 0 1px rgba(255,255,255,.1)}
.hero-title .gradient-text,.gradient-text{background:linear-gradient(110deg,#fff 5%,#ddd6fe 45%,var(--ps-yellow) 80%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat-box,.service-card,.step-card,.why-card,.testimonial-card,.new-service-card,.faq-question,.glass-card{
  background:linear-gradient(145deg,rgba(45,28,95,.72),rgba(18,12,43,.68));
  border:1px solid var(--ps-border);
  box-shadow:var(--ps-shadow),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
.stat-box{transform:perspective(800px) rotateX(0deg);transition:.35s ease}
.stat-box:hover{transform:perspective(800px) rotateX(5deg) translateY(-5px);border-color:rgba(255,212,0,.42);box-shadow:0 25px 50px rgba(0,0,0,.42),0 0 30px rgba(139,92,246,.18)}
.stat-number,.stat-suffix,.product-price,.ns-price{color:var(--ps-yellow);text-shadow:0 0 18px rgba(255,212,0,.22)}
.service-card,.step-card,.why-card,.new-service-card{overflow:hidden}
.service-card:before,.step-card:before,.why-card:before,.glass-card:before{content:"";position:absolute;inset:-2px;background:linear-gradient(125deg,rgba(139,92,246,.22),transparent 30%,rgba(255,212,0,.10),transparent 70%);opacity:0;transition:.35s;pointer-events:none}
.service-card:hover,.step-card:hover,.why-card:hover,.new-service-card:hover{transform:translateY(-10px) perspective(1000px) rotateX(2deg);border-color:rgba(139,92,246,.6);box-shadow:0 28px 60px rgba(0,0,0,.48),0 0 40px rgba(139,92,246,.22)}
.service-card:hover:before,.step-card:hover:before,.why-card:hover:before,.glass-card:hover:before{opacity:1}
.product-category-tag{color:#c4b5fd}
.badge-popular{background:linear-gradient(135deg,var(--ps-yellow),#fff06a);box-shadow:0 8px 20px rgba(255,212,0,.22)}
.badge-value{background:linear-gradient(135deg,var(--ps-purple),var(--ps-purple2));box-shadow:0 8px 20px rgba(109,40,217,.3)}
.step-number{background:linear-gradient(135deg,var(--ps-purple),var(--ps-purple2));box-shadow:0 12px 28px rgba(109,40,217,.35),inset 0 1px rgba(255,255,255,.25)}
.filter-btn.active{background:linear-gradient(135deg,var(--ps-purple),var(--ps-purple2));color:#fff;border-color:#a78bfa;box-shadow:0 8px 25px rgba(109,40,217,.3)}
.faq-question:hover{border-color:rgba(255,212,0,.42);transform:translateY(-2px)}
.footer{background:linear-gradient(180deg,rgba(15,9,35,.92),rgba(7,5,18,.98));border-top:1px solid rgba(139,92,246,.25)}
.footer-col a:hover{color:var(--ps-yellow)}
/* Admin panel */
.admin-page{max-width:1400px;padding-top:9rem}
.dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:2rem}
.dash-stat-card{position:relative;padding:1.6rem;border-radius:22px;overflow:hidden}
.dash-stat-card:nth-child(1){border-top:2px solid #a78bfa}.dash-stat-card:nth-child(2){border-top:2px solid var(--ps-yellow)}.dash-stat-card:nth-child(3){border-top:2px solid #c4b5fd}.dash-stat-card:nth-child(4){border-top:2px solid #8b5cf6}
.dash-stat-number{display:block;font-size:2rem;font-weight:900;color:#fff;text-shadow:0 0 20px rgba(139,92,246,.35)}
.dash-stat-label{display:block;color:#c4b5fd;font-size:.72rem;font-weight:800;letter-spacing:.08em;margin-top:.25rem}
.admin-tabs{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:1.5rem;padding:.65rem;border-radius:20px;background:rgba(20,12,50,.65);border:1px solid rgba(139,92,246,.2);box-shadow:0 15px 35px rgba(0,0,0,.25)}
.admin-tab{color:#ddd6fe;padding:.75rem 1.1rem;border-radius:13px;font-weight:800;border:1px solid transparent;transition:.25s}
.admin-tab:hover{color:#fff;background:rgba(139,92,246,.16);border-color:rgba(167,139,250,.25)}
.admin-tab.active{color:#17110a;background:linear-gradient(135deg,var(--ps-yellow),#fff06a);box-shadow:0 8px 24px rgba(255,212,0,.22)}
.admin-content .glass-card{position:relative;padding:1.6rem;border-radius:24px;overflow:hidden}
.admin-content h3{margin-bottom:.5rem}.admin-note{color:#c4b5fd;margin-bottom:1rem}
.admin-table-wrapper{overflow:auto;border-radius:16px;border:1px solid rgba(167,139,250,.18)}
.admin-table{width:100%;border-collapse:collapse;min-width:780px}.admin-table th{background:rgba(109,40,217,.22);color:#fff;font-size:.75rem;letter-spacing:.06em;text-align:left;padding:1rem}.admin-table td{padding:.9rem 1rem;border-top:1px solid rgba(255,255,255,.06);color:#ddd6fe}.admin-table tr:hover td{background:rgba(139,92,246,.07)}
.status-available{color:#fef08a;font-weight:800}.status-assigned{color:#c4b5fd;font-weight:800}.text-muted{color:rgba(255,255,255,.4)}
.admin-form,.login-form{max-width:700px}.form-group{margin-bottom:1rem}.form-group label{display:block;color:#ddd6fe;font-size:.75rem;font-weight:800;letter-spacing:.08em;margin-bottom:.45rem}
.form-group input,.form-group select,.form-group textarea,.login-form input{width:100%;border:1px solid rgba(167,139,250,.28);background:rgba(8,5,25,.55);color:#fff;border-radius:14px;padding:.9rem 1rem;outline:none;box-shadow:inset 0 1px rgba(255,255,255,.05);transition:.25s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.login-form input:focus{border-color:var(--ps-yellow);box-shadow:0 0 0 3px rgba(255,212,0,.09),0 0 25px rgba(139,92,246,.12)}
.btn-danger{display:inline-flex;padding:.55rem .9rem;border-radius:10px;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3);color:#fca5a5;font-weight:800}.btn-danger:hover{background:#ef4444;color:#fff}
.login-page{min-height:75vh;display:flex;align-items:center;justify-content:center;padding-top:9rem}.login-wrapper{width:min(460px,100%)}.login-card{padding:2.5rem;border-radius:28px;position:relative;overflow:hidden}.login-icon{font-size:3rem;filter:drop-shadow(0 0 18px rgba(255,212,0,.3));margin-bottom:.5rem}
.form-error,.form-success{border-radius:12px;padding:.75rem 1rem;margin-bottom:1rem}.form-error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3);color:#fecaca}.form-success{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);color:#bbf7d0}
@media(max-width:900px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.dashboard-stats{grid-template-columns:1fr}.admin-tabs{overflow:auto;flex-wrap:nowrap}.admin-tab{white-space:nowrap}.admin-page{padding-top:7rem}.login-card{padding:1.5rem}}
.catalog-highlight{border-color:rgba(255,212,0,.45)!important;background:linear-gradient(135deg,rgba(109,40,217,.32),rgba(255,212,0,.08))!important;box-shadow:0 20px 50px rgba(109,40,217,.18),0 0 35px rgba(255,212,0,.08),inset 0 1px rgba(255,255,255,.1)!important;margin-bottom:1rem}.catalog-highlight h3{color:#fff;text-shadow:0 0 18px rgba(139,92,246,.3)}

.service-card[data-url]{cursor:pointer}
.service-card[data-url]:focus-visible{outline:2px solid #FFFC00;outline-offset:4px}
.client-info-note{margin-top:.65rem;padding:.8rem 1rem;border:1px solid rgba(139,92,246,.28);border-radius:12px;background:rgba(139,92,246,.08);color:rgba(255,255,255,.72);font-size:.82rem;line-height:1.45}
.quantity-box{margin:1rem 0;padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.04)}
.quantity-control{display:flex;align-items:center;gap:.65rem;margin-top:.5rem}
.quantity-control .qty-btn{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#6d28d9,#8b5cf6);color:#fff;font-size:1.35rem;font-weight:800}
.quantity-control input{flex:1;min-width:0;text-align:center;padding:.7rem;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.22);color:#fff;font-weight:800}
