:root { --primary-color: #009688; --secondary-color: #26a69a; }
body { background-color: #f8f9fa; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
.navbar { box-shadow: 0 2px 4px rgba(0,0,0,.1); }
.hero-section {
    background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('https://images.unsplash.com/photo-1469854523086-cc02fe5d8800?ixlib=rb-4.0.3&auto=format&fit=crop&w=1600&q=80');
    background-size: cover; background-position: center; color: white; padding: 100px 0; margin-bottom: 30px; border-radius: 0 0 20px 20px;
}
.card-wisata { transition: transform 0.3s; border: none; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
.card-wisata:hover { transform: translateY(-5px); }
.sidebar { min-height: 100vh; background: #343a40; color: white; }
.sidebar a { color: #adb5bd; text-decoration: none; display: block; padding: 10px 20px; }
.sidebar a:hover, .sidebar a.active { background: #495057; color: white; border-left: 4px solid var(--primary-color); }
.step-indicator { display: flex; justify-content: space-between; margin-bottom: 20px; position: relative; }
.step { width: 30px; height: 30px; background: #ddd; border-radius: 50%; text-align: center; line-height: 30px; font-weight: bold; color: white; z-index: 2; }
.step.active { background: var(--primary-color); }
.step-line { position: absolute; top: 15px; left: 0; width: 100%; height: 2px; background: #ddd; z-index: 1; }