:root {
    --bg-primary: #f5f0eb;
    --bg-secondary: #ffffff;
    --bg-card: #ffffff;
    --text-primary: #1a1a2e;
    --text-secondary: #4a4a6a;
    --text-muted: #8a8aaa;
    --accent: #e94560;
    --accent-hover: #c73652;
    --accent-glow: rgba(233, 69, 96, 0.3);
    --border-color: #e0d6cc;
    --shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    --shadow-hover: 0 12px 40px rgba(0, 0, 0, 0.15);
    --radius: 16px;
    --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --font-display: 'Orbitron', sans-serif;
    --font-body: 'Inter', sans-serif;
}

[data-theme="dark"] {
    --bg-primary: #0d0d1a;
    --bg-secondary: #1a1a2e;
    --bg-card: #1e1e36;
    --text-primary: #f0ece6;
    --text-secondary: #b8b0d0;
    --text-muted: #6a6a8a;
    --border-color: #2a2a44;
    --shadow: 0 8px 30px rgba(0, 0, 0, 0.4);
    --shadow-hover: 0 12px 40px rgba(0, 0, 0, 0.6);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { font-family:var(--font-body); background:var(--bg-primary); color:var(--text-primary); line-height:1.6; transition:background 0.3s, color 0.3s; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }
.container { max-width:1200px; margin:0 auto; padding:0 24px; }

.header { position:fixed; top:0; left:0; right:0; z-index:1000; background:var(--bg-secondary); border-bottom:1px solid var(--border-color); padding:16px 0; transition:background 0.3s, border-color 0.3s; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.header-container { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.logo { display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:900; font-size:1.3rem; color:var(--text-primary); }
.logo i { color:var(--accent); font-size:1.6rem; }
.nav { display:flex; gap:32px; }
.nav a { font-weight:600; font-size:0.9rem; color:var(--text-secondary); transition:color 0.3s; position:relative; }
.nav a:hover, .nav a.active { color:var(--accent); }
.nav a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:2px; background:var(--accent); transition:width 0.3s; }
.nav a:hover::after, .nav a.active::after { width:100%; }
.header-actions { display:flex; align-items:center; gap:16px; }
.theme-toggle, .menu-toggle { background:none; border:none; font-size:1.3rem; color:var(--text-primary); cursor:pointer; padding:8px; border-radius:50%; transition:background 0.3s; width:40px; height:40px; display:flex; align-items:center; justify-content:center; }
.theme-toggle:hover, .menu-toggle:hover { background:var(--border-color); }
.menu-toggle { display:none; }

.hero { padding:140px 0 80px; min-height:100vh; display:flex; align-items:center; }
.hero-container { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.hero-title { font-family:var(--font-display); font-size:3.5rem; font-weight:900; line-height:1.1; margin-bottom:24px; }
.hero-title span { background:linear-gradient(135deg, var(--accent), #f5a623); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hero-subtitle { font-size:1.1rem; color:var(--text-secondary); max-width:500px; margin-bottom:32px; line-height:1.8; }
.btn-primary { display:inline-flex; align-items:center; gap:12px; background:var(--accent); color:#fff; padding:14px 36px; border-radius:50px; font-weight:700; font-size:1rem; transition:all 0.3s; border:none; cursor:pointer; }
.btn-primary:hover { background:var(--accent-hover); transform:translateY(-2px); box-shadow:0 8px 30px var(--accent-glow); }
.hero-graphic { width:100%; aspect-ratio:1; background:linear-gradient(135deg, var(--accent), #f5a623); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:8rem; color:#fff; opacity:0.9; animation:pulse 3s ease-in-out infinite; }
@keyframes pulse { 0%,100% { transform:scale(1); } 50% { transform:scale(1.05); } }

.shop { padding:80px 0; }
.section-header { text-align:center; margin-bottom:48px; }
.section-header h2 { font-family:var(--font-display); font-size:2.5rem; font-weight:900; }
.section-header h2 span { color:var(--accent); }
.section-header p { color:var(--text-secondary); margin-top:8px; }
.product-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px,1fr)); gap:30px; }
.loading-spinner { grid-column:1/-1; text-align:center; padding:60px 0; color:var(--text-secondary); font-size:1.2rem; }
.loading-spinner i { margin-right:12px; }

.product-card { background:var(--bg-card); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:all 0.3s; border:1px solid var(--border-color); }
.product-card:hover { transform:translateY(-8px); box-shadow:var(--shadow-hover); }
.product-image { width:100%; aspect-ratio:1; overflow:hidden; background:var(--bg-primary); }
.product-image img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.product-card:hover .product-image img { transform:scale(1.05); }
.product-info { padding:20px; }
.product-title { font-family:var(--font-display); font-weight:700; font-size:1.1rem; margin-bottom:6px; color:var(--text-primary); }
.product-description { font-size:0.9rem; color:var(--text-secondary); margin-bottom:16px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.product-actions { display:flex; gap:10px; }
.btn-view, .btn-buy { flex:1; padding:10px 16px; border:none; border-radius:8px; font-weight:600; font-size:0.85rem; cursor:pointer; transition:all 0.3s; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.btn-view { background:var(--border-color); color:var(--text-primary); }
.btn-view:hover { background:var(--text-secondary); color:var(--bg-primary); }
.btn-buy { background:var(--accent); color:#fff; }
.btn-buy:hover { background:var(--accent-hover); transform:scale(1.02); }

.modal { display:none; position:fixed; z-index:2000; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.7); backdrop-filter:blur(6px); align-items:center; justify-content:center; padding:24px; }
.modal.show { display:flex; }
.modal-content { background:var(--bg-secondary); border-radius:var(--radius); max-width:700px; width:100%; max-height:90vh; overflow-y:auto; padding:32px; position:relative; animation:modalSlide 0.3s ease; }
@keyframes modalSlide { from { transform:translateY(30px); opacity:0; } to { transform:translateY(0); opacity:1; } }
.modal-close { position:absolute; top:16px; right:20px; font-size:2rem; background:none; border:none; color:var(--text-secondary); cursor:pointer; transition:color 0.3s; }
.modal-close:hover { color:var(--accent); }
.modal h3 { font-family:var(--font-display); font-size:1.5rem; margin-bottom:20px; color:var(--text-primary); }
.modal-mockups { display:grid; grid-template-columns:repeat(auto-fill, minmax(180px,1fr)); gap:16px; }
.modal-mockups img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:8px; border:1px solid var(--border-color); }

.about { padding:80px 0; background:var(--bg-secondary); transition:background 0.3s; }
.about-container { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.about-content h2 { font-family:var(--font-display); font-size:2.5rem; font-weight:900; margin-bottom:20px; }
.about-content h2 span { color:var(--accent); }
.about-content p { color:var(--text-secondary); margin-bottom:16px; line-height:1.8; }
.about-tags { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.about-tags span { background:var(--border-color); padding:8px 18px; border-radius:50px; font-size:0.85rem; font-weight:600; color:var(--text-primary); display:flex; align-items:center; gap:8px; }
.about-tags span i { color:var(--accent); }
.about-image { width:100%; aspect-ratio:1; background:linear-gradient(135deg, var(--accent), #f5a623); border-radius:var(--radius); display:flex; align-items:center; justify-content:center; font-size:8rem; color:#fff; opacity:0.8; }

.footer { background:var(--bg-secondary); border-top:1px solid var(--border-color); padding:60px 0 30px; transition:background 0.3s, border-color 0.3s; }
.footer-container { display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr; gap:40px; margin-bottom:40px; }
.footer-brand .logo { margin-bottom:12px; }
.footer-brand p { color:var(--text-secondary); font-size:0.95rem; max-width:300px; margin-bottom:16px; }
.footer-social { display:flex; gap:12px; }
.footer-social a { width:40px; height:40px; border-radius:50%; background:var(--border-color); display:flex; align-items:center; justify-content:center; color:var(--text-secondary); transition:all 0.3s; font-size:1.1rem; }
.footer-social a:hover { background:var(--accent); color:#fff; transform:translateY(-3px); }
.footer-links h4, .footer-contact h4 { font-family:var(--font-display); font-weight:700; font-size:1rem; margin-bottom:16px; color:var(--text-primary); }
.footer-links a { display:block; color:var(--text-secondary); font-size:0.9rem; margin-bottom:10px; transition:color 0.3s; }
.footer-links a:hover { color:var(--accent); }
.footer-contact p { color:var(--text-secondary); font-size:0.9rem; margin-bottom:10px; display:flex; align-items:center; gap:10px; }
.footer-contact p i { color:var(--accent); width:20px; }
.footer-bottom { border-top:1px solid var(--border-color); padding-top:20px; text-align:center; color:var(--text-muted); font-size:0.85rem; }
.footer-bottom span { color:var(--accent); font-weight:600; }

@media (max-width:992px) {
    .hero-container { grid-template-columns:1fr; text-align:center; }
    .hero-subtitle { margin:0 auto 32px; }
    .hero-title { font-size:2.8rem; }
    .about-container { grid-template-columns:1fr; text-align:center; }
    .about-tags { justify-content:center; }
    .footer-container { grid-template-columns:1fr 1fr; }
}
@media (max-width:768px) {
    .nav { display:none; position:absolute; top:100%; left:0; right:0; background:var(--bg-secondary); flex-direction:column; padding:24px; gap:16px; border-bottom:1px solid var(--border-color); box-shadow:var(--shadow); }
    .nav.open { display:flex; }
    .menu-toggle { display:flex; }
    .hero { padding:120px 0 60px; min-height:auto; }
    .hero-title { font-size:2rem; }
    .product-grid { grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); }
    .footer-container { grid-template-columns:1fr; text-align:center; }
    .footer-brand p { margin:0 auto 16px; }
    .footer-social { justify-content:center; }
    .footer-contact p { justify-content:center; }
}
@media (max-width:480px) {
    .hero-title { font-size:1.6rem; }
    .product-grid { grid-template-columns:1fr; }
    .modal-content { padding:20px; }
    .modal-mockups { grid-template-columns:1fr 1fr; }
}
