/* AIR WE GO - DESIGN SYSTEM v6 */
:root {
    --primary: #00A3E0;
    --primary-dark: #0088c2;
    --secondary: #1a1a2e;
    --success: #25D366;
    --warning: #ffc107;
    --light: #f8f9fa;
    --dark: #1a1a2e;
    --gray-100: #f8f9fa;
    --gray-200: #e9ecef;
    --gray-300: #dee2e6;
    --gray-500: #6c757d;
    --gray-600: #495057;
    --white: #ffffff;
    --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-heading: 'Plus Jakarta Sans', 'Inter', sans-serif;
    --shadow: 0 4px 15px rgba(0,0,0,0.1);
    --shadow-lg: 0 10px 40px rgba(0,0,0,0.15);
    --radius: 1rem;
    --radius-sm: 0.5rem;
    --transition: all 0.3s ease;
}

* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { font-family: var(--font-primary); color: var(--gray-600); line-height: 1.6; font-size: 1rem; }
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.display-1,.display-2,.display-3,.display-4,.display-5,.display-6 { font-family: var(--font-heading); color: var(--dark); font-weight: 700; }
p,li,span,a,label { font-family: var(--font-primary); }
.lead { font-size: 1.125rem; font-weight: 400; }
.small, small { font-size: 0.875rem; }

/* Top Bar */
.top-bar { background: linear-gradient(135deg, var(--secondary) 0%, #16213e 100%); }

/* Header */
#header { box-shadow: 0 2px 10px rgba(0,0,0,0.08); }
.navbar-brand { font-family: var(--font-heading); }
.nav-link { font-family: var(--font-primary); font-weight: 500; font-size: 0.9375rem; }

/* Hero */
.hero { background: linear-gradient(135deg, var(--light) 0%, #e8f4f8 100%); padding: 2rem 0; position: relative; }
.hero-img { border-radius: var(--radius); object-fit: cover; width: 100%; max-height: 480px; }
.hero-card { animation: float 3s ease-in-out infinite; }
@keyframes float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/* Mobile Hero */
@media (max-width: 991.98px) {
    .hero#hero-section { background: linear-gradient(rgba(26, 26, 46, 0.85), rgba(26, 26, 46, 0.9)), url('https://images.unsplash.com/photo-1672748341520-6a839e6c05bb?w=1200&h=800&fit=crop') center/cover no-repeat; min-height: 100vh; display: flex; align-items: center; padding: 4rem 0; }
    .hero#hero-section .hero-content h1, .hero#hero-section .hero-content .display-4 { color: var(--white); font-size: 2rem; }
    .hero#hero-section .hero-content h1 .text-primary { color: var(--primary) !important; }
    .hero#hero-section .hero-content p, .hero#hero-section .hero-content .lead, .hero#hero-section .hero-content .text-secondary { color: rgba(255,255,255,0.8) !important; }
    .hero#hero-section .hero-list li { color: rgba(255,255,255,0.9); }
    .hero#hero-section .hero-list svg { color: var(--primary) !important; }
    .hero#hero-section .btn-outline-dark { color: var(--white); border-color: var(--white); }
    .hero#hero-section .btn-outline-dark:hover { background: var(--white); color: var(--dark); }
    .hero#hero-section .badge { background: var(--primary) !important; color: var(--white) !important; }
}

/* Sections */
.section-padding { padding: 5rem 0; }
.section-label { display: inline-block; font-size: 0.875rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--primary); margin-bottom: 0.75rem; font-family: var(--font-primary); }

/* Buttons */
.btn { font-family: var(--font-primary); font-weight: 600; border-radius: var(--radius-sm); transition: var(--transition); padding: 0.625rem 1.25rem; }
.btn-lg { padding: 0.875rem 1.5rem; font-size: 1rem; }
.btn-primary { background-color: var(--primary); border-color: var(--primary); }
.btn-primary:hover { background-color: var(--primary-dark); border-color: var(--primary-dark); transform: translateY(-2px); box-shadow: var(--shadow); }
.btn-success { background-color: var(--success); border-color: var(--success); }
.btn-success:hover { background-color: #1da851; border-color: #1da851; }
.btn-outline-primary { color: var(--primary); border-color: var(--primary); }
.btn-outline-primary:hover { background-color: var(--primary); border-color: var(--primary); }
.btn-outline-light:hover { color: var(--primary); }

/* Service Cards */
.service-card { background: var(--white); border-radius: var(--radius); overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.08); transition: var(--transition); height: 100%; }
.service-card:hover { box-shadow: var(--shadow); transform: translateY(-5px); }
.service-card .service-img { width: 100%; height: 200px; object-fit: cover; }
.service-card .service-content { padding: 1.5rem; }
.service-list { list-style: none; padding: 0; margin: 0 0 1rem 0; }
.service-list li { position: relative; padding-left: 1.25rem; margin-bottom: 0.375rem; font-size: 0.875rem; color: var(--gray-500); }
.service-list li::before { content: "✓"; position: absolute; left: 0; color: var(--primary); font-weight: bold; }

/* Testimonials */
.testimonial-card { background: var(--white); border-radius: var(--radius); padding: 2rem; height: 100%; display: flex; flex-direction: column; }
.testimonial-card .stars { color: var(--warning); font-size: 1.125rem; letter-spacing: 2px; margin-bottom: 1rem; }
.testimonial-card p { flex: 1; color: var(--gray-600); font-size: 0.9375rem; line-height: 1.7; margin-bottom: 0; font-family: var(--font-primary); }
.testimonial-author { display: flex; align-items: center; margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--gray-200); }
.testimonial-avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; margin-right: 1rem; }

/* Carousel Dots */
.carousel-dot { width: 12px; height: 12px; border-radius: 50%; background: rgba(255,255,255,0.3); border: none; padding: 0; margin: 0 4px; transition: var(--transition); cursor: pointer; }
.carousel-dot.active, .carousel-dot:hover { background: var(--primary); transform: scale(1.2); }

/* Area List */
.area-list { list-style: none; padding: 0; margin: 0; }
.area-list li { padding: 0.375rem 0; }
.area-list li::before { content: "→"; color: var(--primary); margin-right: 0.5rem; }

/* Forms */
.form-control, .form-select { border: 1px solid var(--gray-300); border-radius: var(--radius-sm); padding: 0.75rem 1rem; transition: var(--transition); font-family: var(--font-primary); }
.form-control:focus, .form-select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(0,163,224,0.15); }
.form-control-lg, .form-select-lg { padding: 0.875rem 1rem; }
.form-label { font-family: var(--font-primary); }

/* Accordion/FAQ */
.accordion-item { border: none !important; margin-bottom: 1rem; border-radius: var(--radius-sm) !important; overflow: hidden; box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.accordion-button { font-weight: 600; padding: 1.25rem; font-family: var(--font-heading); }
.accordion-button:not(.collapsed) { background: var(--white); color: var(--primary); box-shadow: none; }
.accordion-button:focus { box-shadow: none; }

/* Before/After Labels */
.ba-label { position: absolute; bottom: 10px; left: 10px; background: var(--dark); color: var(--white); padding: 0.25rem 0.75rem; font-size: 0.75rem; font-weight: 600; border-radius: var(--radius-sm); }
.ba-label.after { background: var(--primary); }

/* Footer */
footer h5 { color: var(--white); font-size: 1rem; margin-bottom: 1.25rem; }
footer ul { list-style: none; padding: 0; margin: 0; }
footer ul li { margin-bottom: 0.625rem; }
footer a { color: rgba(255,255,255,0.5); text-decoration: none; transition: var(--transition); }
footer a:hover { color: var(--white); }

/* Cookie Banner */
.cookie-banner { position: fixed; bottom: 0; left: 0; right: 0; background: var(--white); box-shadow: 0 -4px 20px rgba(0,0,0,0.1); z-index: 9999; }

/* Mobile Optimizations */
@media (max-width: 767.98px) {
    .section-padding { padding: 3rem 0; }
    .display-4 { font-size: 1.75rem; }
    .display-5 { font-size: 1.5rem; }
    .display-6 { font-size: 1.375rem; }
    .btn-lg { padding: 0.75rem 1.25rem; font-size: 0.9375rem; }
    .testimonial-card { padding: 1.5rem; }
    .service-card .service-img { height: 180px; }
}

/* Dropdown */
.dropdown-menu { border: none; box-shadow: var(--shadow); border-radius: var(--radius-sm); padding: 0.5rem; }
.dropdown-item { border-radius: var(--radius-sm); padding: 0.5rem 1rem; font-weight: 500; font-family: var(--font-primary); }
.dropdown-item:hover, .dropdown-item.active { background-color: var(--gray-100); color: var(--primary); }

/* Smooth scrolling */
html { scroll-behavior: smooth; }

/* Touch-friendly tap targets */
@media (max-width: 991.98px) {
    .nav-link { padding: 0.75rem 1rem !important; }
    .dropdown-item { padding: 0.75rem 1rem; }
}

/* Map wrapper */
.map-wrapper { border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-lg); }

/* Utilities */
.rounded-4 { border-radius: var(--radius) !important; }
