:root {
    --primary: #2d3436;
    --accent: #d35400;
    --bg: #f8f9fa;
    --white: #ffffff;
    --text: #2d3436;
    --shadow: 0 10px 30px rgba(0,0,0,0.05);
}

* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Plus Jakarta Sans', sans-serif; }

body { background: var(--bg); color: var(--text); line-height: 1.6; }

.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* Header & Nav */
.header {
    background: rgba(255,255,255,0.9);
    backdrop-filter: blur(10px);
    padding: 20px 0;
    position: fixed;
    width: 100%;
    top: 0; z-index: 1000;
    box-shadow: var(--shadow);
}

.nav-wrapper { display: flex; justify-content: space-between; align-items: center; }

.logo { font-size: 1.5rem; font-weight: 700; color: var(--primary); display: flex; align-items: center; gap: 10px; }

.nav a { margin: 0 15px; text-decoration: none; color: var(--text); font-weight: 500; transition: 0.3s; }

.nav a:hover { color: var(--accent); }

/* Hero */
.hero {
    height: 80vh;
    background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)), url('https://images.unsplash.com/photo-1524758631624-e2822e304c36?w=1200') center/cover;
    display: flex; align-items: center; color: white; text-align: center;
}

.hero-content { margin: 0 auto; max-width: 800px; }

.hero h1 { font-size: 3.5rem; margin-bottom: 20px; }

/* Card Produk */
.products { padding: 80px 0; }

.products-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 30px;
}

.product-card {
    background: white; border-radius: 20px; overflow: hidden;
    transition: 0.3s; box-shadow: var(--shadow); position: relative;
}

.product-card:hover { transform: translateY(-10px); }

.product-card img { width: 100%; height: 280px; object-fit: cover; }

.product-info { padding: 25px; }

.product-price { color: var(--accent); font-weight: 700; font-size: 1.3rem; margin: 10px 0; }

.btn-primary {
    background: var(--primary); color: white; border: none;
    padding: 12px 25px; border-radius: 10px; cursor: pointer; font-weight: 600; width: 100%;
}

.btn-primary:hover { background: #000; }

/* Modal & Login */
.modal { display: none; position: fixed; z-index: 2000; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); }

.modal-content {
    background: white; margin: 5% auto; padding: 30px; width: 90%; max-width: 500px; border-radius: 20px;
}
