/*
Theme Name: Memmo3D
Description: Futuristic 3D demo theme for Memmo Europe LTD – Three.js hero, GSAP scroll animations, 3D tilt product cards.
Version: 1.0.0
Author: Muse Team
*/
:root{
  --bg:#070b18; --bg2:#0b1226; --card:#0e162e;
  --cyan:#00e5ff; --gold:#ffb300; --txt:#eef2ff; --mut:#9aa7c7;
  --brd:rgba(0,229,255,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);
  font-family:"Space Grotesk","Segoe UI",Roboto,Arial,sans-serif;line-height:1.6;overflow-x:hidden}
h1,h2,h3{line-height:1.15;margin:0 0 .6em}
a{color:var(--cyan);text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;
  background:rgba(7,11,24,.72);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--brd)}
.nav-in{max-width:1180px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between}
.logo{font-weight:800;font-size:1.35rem;letter-spacing:2px;color:#fff}
.logo b{color:var(--cyan)}
.nav-links{display:flex;gap:26px}
.nav-links a{color:var(--txt);font-weight:600;font-size:.95rem;opacity:.85}
.nav-links a:hover{color:var(--cyan);opacity:1}
.btn{display:inline-block;padding:14px 32px;border-radius:999px;font-weight:700;
  background:linear-gradient(135deg,var(--cyan),#0090ff);color:#02131a;border:0;cursor:pointer;
  box-shadow:0 8px 30px rgba(0,229,255,.35);transition:transform .15s}
.btn:hover{transform:translateY(-2px) scale(1.02)}
.btn.gold{background:linear-gradient(135deg,var(--gold),#ff7a00);color:#1a0e00;box-shadow:0 8px 30px rgba(255,179,0,.35)}
.btn.ghost{background:transparent;color:var(--txt);border:1px solid var(--brd);box-shadow:none}
/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
#bg3d{position:absolute;inset:0;width:100%;height:100%}
.hero-in{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:120px 22px 80px;width:100%}
.kicker{display:inline-block;padding:6px 16px;border:1px solid var(--brd);border-radius:999px;
  color:var(--cyan);font-size:.8rem;letter-spacing:3px;margin-bottom:22px;background:rgba(0,229,255,.06)}
.hero h1{font-size:clamp(2.6rem,7vw,5.2rem);font-weight:800;letter-spacing:-1px}
.hero h1 .grad{background:linear-gradient(90deg,var(--cyan),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.sub{font-size:1.15rem;color:var(--mut);max-width:560px;margin:18px 0 34px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-badges{display:flex;gap:26px;margin-top:44px;flex-wrap:wrap}
.hbadge{font-size:.85rem;color:var(--mut)}
.hbadge b{display:block;font-size:1.5rem;color:#fff}
/* ---------- marquee ---------- */
.marquee{border-top:1px solid var(--brd);border-bottom:1px solid var(--brd);
  background:var(--bg2);overflow:hidden;white-space:nowrap;padding:16px 0}
.marquee span{display:inline-block;margin:0 34px;font-weight:700;letter-spacing:3px;color:var(--gold);font-size:.95rem}
/* ---------- sections ---------- */
.sec{padding:96px 0}
.sec-head{text-align:center;max-width:640px;margin:0 auto 54px}
.sec-head h2{font-size:clamp(1.9rem,4vw,2.8rem)}
.sec-head h2 em{font-style:normal;color:var(--cyan)}
.sec-head p{color:var(--mut)}
/* ---------- product cards (3D tilt) ---------- */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;perspective:1200px}
.p-card{background:linear-gradient(160deg,var(--card),#0a1023);border:1px solid var(--brd);
  border-radius:18px;overflow:hidden;transform-style:preserve-3d;transition:box-shadow .2s;position:relative}
.p-card:hover{box-shadow:0 24px 60px rgba(0,229,255,.18)}
.p-img{height:190px;display:flex;align-items:center;justify-content:center;background:#0a0f22;overflow:hidden}
.p-img img{max-width:82%;max-height:82%;object-fit:contain;transform:translateZ(40px);filter:drop-shadow(0 14px 22px rgba(0,0,0,.5))}
.p-body{padding:20px;transform:translateZ(20px)}
.p-body h3{font-size:1.02rem;margin-bottom:6px}
.p-body .desc{font-size:.83rem;color:var(--mut);min-height:40px}
.p-price{margin:12px 0 4px}
.p-price .net{font-size:1.45rem;font-weight:800;color:var(--gold)}
.p-price .brutto{display:block;font-size:.78rem;color:var(--mut)}
.p-tag{position:absolute;top:12px;left:12px;z-index:3;font-size:.7rem;font-weight:800;letter-spacing:1px;
  padding:5px 12px;border-radius:999px;background:var(--gold);color:#1a0e00}
.p-tag.neu{background:var(--cyan);color:#02131a}
.p-btn{display:block;text-align:center;margin-top:12px;padding:11px;border-radius:10px;
  background:rgba(0,229,255,.1);border:1px solid var(--brd);color:var(--cyan);font-weight:700;font-size:.9rem}
.p-btn:hover{background:var(--cyan);color:#02131a}
/* ---------- categories ---------- */
.cgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.c-card{position:relative;border-radius:20px;overflow:hidden;min-height:260px;display:flex;align-items:flex-end;
  border:1px solid var(--brd);background-size:cover;background-position:center}
.c-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(4,8,20,.92))}
.c-in{position:relative;z-index:2;padding:28px}
.c-in h3{font-size:1.5rem;margin-bottom:6px}
.c-in p{color:var(--mut);font-size:.92rem;margin:0 0 14px}
/* ---------- stats ---------- */
.stats{background:var(--bg2);border-top:1px solid var(--brd);border-bottom:1px solid var(--brd)}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;padding:20px 0}
.stat b{font-size:2.6rem;color:var(--cyan);display:block}
.stat span{color:var(--mut);font-size:.9rem}
/* ---------- cta ---------- */
.cta{text-align:center;background:radial-gradient(600px 300px at 50% 0%,rgba(0,229,255,.14),transparent)}
/* ---------- footer ---------- */
footer{border-top:1px solid var(--brd);padding:44px 0 30px;color:var(--mut);font-size:.88rem}
.f-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:26px}
.f-grid h4{color:#fff;margin-bottom:10px}
/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(36px)}
/* ---------- responsive ---------- */
@media(max-width:1000px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){
  .pgrid{grid-template-columns:1fr}
  .cgrid{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:repeat(2,1fr)}
  .nav-links{display:none}
  .sec{padding:64px 0}
}
