:root {
    --accent: #02e902;
    --premium-red: #ff3b3b;
    --bg-light: #ffffff;
    --card-bg: #f8f8f8;
    --text-main: #0a0a0a;
    --text-secondary: #4a4a4a;
}
body {
    font-family: 'Jost', sans-serif;
    background-color: var(--bg-light);
    color: var(--text-main);
    scroll-behavior: smooth;
}
.text-accent { color: var(--accent); }
.bg-accent { background-color: var(--accent); }
.border-accent { border-color: var(--accent); }

.sticky-header {
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.85);
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.hero-gradient {
    background: radial-gradient(circle at center, rgba(2, 233, 2, 0.05) 0%, rgba(255, 255, 255, 0) 70%);
}

.card-hover {
    background-color: var(--card-bg);
    transition: all 0.3s ease;
}
.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    border-color: var(--accent);
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

.active .accordion-content {
    max-height: 200px;
}

.map-placeholder {
    background: #f0f0f0;
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCI+PGNpcmNsZSBjeD0iMjAiIGN5PSIyMCIgcj0iMSIgZmlsbD0icmdiYSgwLDAsMCwwLjA1KSIvPjwvc3ZnPg==');
}

.weather-card {
    background: linear-gradient(135deg, #ffffff 0%, #f4f4f4 100%);
    border: 1px solid rgba(0,0,0,0.05);
    box-shadow: 0 4px 20px rgba(0,0,0,0.03);
}

.booking-module {
    background: #ffffff;
    box-shadow: 0 20px 50px rgba(0,0,0,0.1);
    border: 1px solid rgba(0,0,0,0.05);
}

input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(0);
    cursor: pointer;
}