/* Futuristic / Modern styles - minimal and responsive */
:root{
  --bg:#0b0b0f; --card:#0f1720; --glass: rgba(255,255,255,0.03);
  --primary:#00d4ff; --accent:#7c3aed; --gold:#ffd700;
  --hex-opacity:0.08;
  --hex-blur:0.6px;
  --text:#e9eef5; --muted:#9aa6b2; --radius:14px;
  --max:1200px;
  font-synthesis: none;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial;color:var(--text);background:linear-gradient(180deg,#050507 0%, #0b0b0f 100%);-webkit-font-smoothing:antialiased}

/* Animated background shapes */
.radial-bg{position:fixed;left:0;top:0;width:40vmax;height:40vmax;background:radial-gradient(circle at 8% 6%, rgba(0,212,255,0.12), transparent 40%);pointer-events:none;z-index:0}
.hex-bg{position:fixed;inset:0;width:100%;height:100%;opacity:var(--hex-opacity);pointer-events:none;z-index:0;filter:blur(var(--hex-blur));transform:scale(1.02)}
.bg-animated{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.bg-animated{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.bg-animated .shape{position:absolute;opacity:0.22;filter:blur(6px);border-radius:12px;transform-origin:center}

/* comet-like streaks */
.bg-animated .s1{width:720px;height:32px;background:linear-gradient(90deg,var(--primary),rgba(0,212,255,0.18),transparent);left:-20%;top:8%;transform:rotate(-18deg);}
.bg-animated .s2{width:540px;height:28px;background:linear-gradient(90deg,var(--accent),rgba(124,58,237,0.18),transparent);right:-18%;top:22%;transform:rotate(12deg);}
.bg-animated .s3{width:900px;height:36px;background:linear-gradient(90deg,#00d4ff,rgba(0,212,255,0.16),transparent);left:-30%;bottom:10%;transform:rotate(-6deg)}
.bg-animated .s4{width:420px;height:26px;background:linear-gradient(90deg,#00a3d9,rgba(0,163,217,0.12),transparent);right:-12%;bottom:26%;transform:rotate(24deg)}
.bg-animated .s5{width:260px;height:20px;background:linear-gradient(90deg,#7c3aed,rgba(124,58,237,0.12),transparent);left:48%;top:18%;transform:rotate(-36deg)}
.bg-animated .s6{width:640px;height:30px;background:linear-gradient(90deg,#1ed6ff,rgba(30,214,255,0.14),transparent);right:-28%;top:-10%;transform:rotate(8deg)}

@keyframes comet-move{
  0%{transform:translateX(0) rotate(var(--rot,0))}
  50%{transform:translateX(40vw) rotate(calc(var(--rot,0) + 6deg))}
  100%{transform:translateX(0) rotate(var(--rot,0))}
}

.bg-animated .s1{animation:comet-move 28s linear infinite; --rot:-18deg}
.bg-animated .s2{animation:comet-move 22s linear infinite; --rot:12deg}
.bg-animated .s3{animation:comet-move 34s linear infinite; --rot:-6deg}
.bg-animated .s4{animation:comet-move 26s linear infinite; --rot:24deg}
.bg-animated .s5{animation:comet-move 20s linear infinite; --rot:-36deg}
.bg-animated .s6{animation:comet-move 30s linear infinite; --rot:8deg}

/* Ensure content sits above decorative background */
.site-header{z-index:120;position:fixed;left:0;right:0;top:0;backdrop-filter:blur(0px);background:transparent;transition:background .24s ease, backdrop-filter .24s ease;}
main, .site-footer{position:relative;z-index:10}
/* create space for fixed header */
main{padding-top:84px}

.site-header.scrolled{background:rgba(6,6,8,0.6);backdrop-filter:blur(8px)}

/* Buttons, menus and product cards: subtle floating */
.btn-primary{animation:btn-breath 6s ease-in-out infinite}
@keyframes btn-breath{0%{transform:translateY(0)}50%{transform:translateY(-3px)}100%{transform:translateY(0)}}

.nav a{transition:transform .22s cubic-bezier(.2,.9,.2,1), box-shadow .2s}
.nav a:hover{transform:translateY(-4px)}

.product{transition:transform .28s cubic-bezier(.2,.9,.2,1), box-shadow .28s, opacity .5 .4s ease, transform .4s ease}
.product.in-view{opacity:1;transform:none}
@keyframes card-float{0%{transform:translateY(0)}50%{transform:translateY(-6px)}100%{transform:translateY(0)}}

/* reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce){
  .bg-animated .shape,.btn-primary,.product.in-view{animation:none}
}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.25rem}
/* Loading */
.loading-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg);z-index:9999}
.loading-box{display:flex;flex-direction:column;align-items:center;gap:1rem}
.logo{font-family:Orbitron,monospace;color:var(--primary);font-weight:900;letter-spacing:2px}
.logo-icon{display:inline-block;font-size:1.6rem;margin-right:.5rem}
.loader span{display:block;width:200px;height:6px;border-radius:6px;background:linear-gradient(90deg,var(--primary),var(--accent));animation:load 1.8s infinite}
@keyframes load{0%{transform:translateX(-110%)}50%{transform:translateX(0)}100%{transform:translateX(110%)}}
/* Header */
.site-header{position:sticky;top:0;background:rgba(6,6,8,0.6);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,0.03)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}
.brand{font-family:Orbitron,monospace;color:var(--primary);font-weight:900;text-decoration:none}
.nav{display:flex;gap:1rem;align-items:center}
.nav a{color:var(--muted);text-decoration:none;padding:.5rem .75rem;border-radius:8px;transition:all .2s}
.nav a:hover{color:var(--text);background:linear-gradient(90deg,rgba(0,212,255,0.06),rgba(124,58,237,0.04))}
.nav-toggle{display:none;background:transparent;border:0;color:var(--text);font-size:1.2rem}
.btn-outline{border:1px solid rgba(255,255,255,0.06);padding:.4rem .8rem;border-radius:8px}
/* micro interactions */
.btn, .btn-sm, .btn-outline{transition:transform .14s ease, box-shadow .14s ease}
.btn:hover{transform:translateY(-3px)}
.product:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,0.6)}
/* Hero */
.hero{min-height:70vh;display:grid;align-items:center}
.hero-grid{display:grid;grid-template-columns:1fr 420px;gap:2rem;align-items:center;padding:5rem 0}
.hero-left .eyebrow{color:var(--muted);font-weight:600}
.hero-title{font-family:Orbitron,monospace;font-size:2.8rem;margin:.5rem 0;color:linear-gradient(90deg,var(--primary),var(--accent));}
.hero-sub{display:block;color:var(--gold);font-size:1.6rem}
.lead{color:var(--muted);max-width:45ch}
.hero-cta{margin-top:1.2rem;display:flex;gap:1rem}
.btn{display:inline-block;padding:.8rem 1.25rem;border-radius:10px;text-decoration:none;color:var(--bg);font-weight:700}
.btn-primary{background:linear-gradient(90deg,var(--primary),var(--accent));box-shadow:0 8px 30px rgba(0,212,255,0.08)}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--text)}
/* Floating cards */
.hero-right{position:relative;height:320px}
.card{position:absolute;right:0;left:0;margin:auto;width:220px;height:120px;background:var(--card);border-radius:16px;border:1px solid rgba(255,255,255,0.03);display:flex;align-items:center;gap:1rem;padding:1rem;box-shadow:0 12px 30px rgba(0,0,0,0.6)}
.card .card-icon{font-size:1.6rem}
.card.small{transform:translateY(90px) translateX(-60px)}
.card.alt{transform:translateY(40px) translateX(40px)}
.card.floating{animation:float 6s ease-in-out infinite}
@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}100%{transform:translateY(0)}}
/* Sections */
.section{padding:4rem 0}
.section.dark{background:linear-gradient(180deg,rgba(255,255,255,0.02),transparent)}
.section-title{font-family:Orbitron,monospace;font-size:1.8rem;margin-bottom:.5rem}
.section-sub{color:var(--muted);margin-bottom:1.5rem}
.grid{display:grid;gap:1.25rem}
.products{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.product{background:var(--card);border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,0.02);display:flex;flex-direction:column}
.product .media{height:160px;background-size:cover;background-position:center}
.product .info{padding:1rem}
.product h3{margin:.2rem 0}
.muted{color:var(--muted);font-size:.95rem}
.price{font-family:Orbitron,monospace;color:var(--gold);font-weight:800;margin-top:.6rem}
.btn-sm{display:inline-block;margin-top:.8rem;padding:.5rem .8rem;background:rgba(255,255,255,0.03);border-radius:8px;color:var(--text);text-decoration:none}
/* Services */
.services{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
.service{background:linear-gradient(180deg,rgba(255,255,255,0.01),transparent);padding:1.25rem;border-radius:12px}
.service .icon{font-size:1.6rem;margin-bottom:.6rem}
/* Contact */
.contact{display:grid;grid-template-columns:1fr 420px;gap:2rem;align-items:start}
.contact-form{display:flex;flex-direction:column;gap:.6rem}
.contact-form input,.contact-form textarea{background:transparent;border:1px solid rgba(255,255,255,0.04);padding:.75rem;border-radius:8px;color:var(--text)}
/* WhatsApp floating button */
.whatsapp-float{position:fixed;right:20px;bottom:20px;background:linear-gradient(90deg,var(--primary),var(--accent));color:#021017;padding:.6rem .9rem;border-radius:999px;display:flex;align-items:center;gap:.6rem;box-shadow:0 12px 30px rgba(0,212,255,0.12);text-decoration:none;z-index:9999;animation:wh-pulse 2.8s infinite}
.whatsapp-float .wh-icon{font-size:1.1rem}
.whatsapp-float .wh-text{font-weight:700}
@keyframes wh-pulse{0%{transform:scale(1)}50%{transform:scale(1.04)}100%{transform:scale(1)}}

/* Admin access button near footer (discreet) */
.admin-access{position:fixed;left:20px;bottom:20px;background:rgba(255,255,255,0.04);color:var(--text);padding:.5rem .9rem;border-radius:10px;text-decoration:none;border:1px solid rgba(255,255,255,0.04);z-index:9999;font-weight:700}
.admin-access:hover{background:rgba(255,255,255,0.06);transform:translateY(-3px)}

/* social icons in footer */
.social-icons a{margin-left:.6rem;color:var(--muted);text-decoration:none}
.social-icons a:hover{color:var(--primary)}

/* responsive refinements */
@media(max-width:900px){
  .nav{display:none}
  .nav[style]{display:flex}
  .whatsapp-float{right:16px;bottom:14px;padding:.5rem .8rem}
}
/* Footer */
.site-footer{border-top:1px solid rgba(255,255,255,0.03);padding:1.5rem 0;margin-top:2rem}
.site-footer .wrap{display:flex;align-items:center;justify-content:space-between}
.site-footer a{color:var(--muted);text-decoration:none}
/* Responsivo */
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .hero-right{height:220px}
  .contact{grid-template-columns:1fr}
  .nav{display:none}
  .nav-toggle{display:block}
}
@media(max-width:520px){
  .hero-title{font-size:1.8rem}
}
