 :root {
      --primary: #e74c3c;
      --secondary: #2c3e50;
      --accent: #f39c12;
      --light: #f8f9fa;
      --dark: #2c3e50;
      --transition: all 0.3s ease;
    }
    
    /* Custom Scrollbar */
    ::-webkit-scrollbar {
      width: 12px;
    }
    
    ::-webkit-scrollbar-track {
      background: #f1f1f1;
      border-radius: 10px;
    }
    
    ::-webkit-scrollbar-thumb {
      background: var(--primary);
      border-radius: 10px;
      border: 2px solid #f1f1f1;
    }
    
    ::-webkit-scrollbar-thumb:hover {
      background: var(--primary-dark);
    }
    
    /* Firefox Scrollbar */
    html {
      scrollbar-width: thin;
      scrollbar-color: var(--primary) #f1f1f1;
    }
    
    /* Smooth Scrolling */
    html {
      scroll-behavior: smooth;
    }
    
    body {
      font-family: 'Poppins', sans-serif;
      color: #333;
      overflow-x: hidden;
      background-color: #f8f9fa;
    }
    
    h1, h2, h3, h4, h5 {
      font-family: 'Playfair Display', serif;
      font-weight: 600;
    }
    
    /* Navbar */
    .navbar {
      padding: 15px 0;
      transition: var(--transition);
    }
    
    .navbar-brand {
      font-weight: 700;
      font-size: 1.5rem;
    }
    
    .navbar-brand img {
      border: 2px solid var(--accent);
    }
    
    .nav-link {
      font-weight: 500;
      margin: 0 10px;
      position: relative;
    }
    
    .nav-link::after {
      content: '';
      position: absolute;
      width: 0;
      height: 2px;
      bottom: 0;
      left: 0;
      background-color: var(--accent);
      transition: var(--transition);
    }
    
    .nav-link:hover::after,
    .nav-link.active::after {
      width: 100%;
    }
    
    /* Contact Hero */
    .contact-hero {
      min-height: 60vh;
      display: flex;
      align-items: center;
      position: relative;
      padding-top: 100px;
      background: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7)), url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1600&h=900&q=80');
      background-size: cover;
      background-position: center;
      color: white;
    }
    
    /* Contact Form */
    .contact-form {
      background: white;
      border-radius: 15px;
      padding: 30px;
      box-shadow: 0 5px 25px rgba(0,0,0,0.1);
    }
    
    .form-control:focus {
      border-color: var(--accent);
      box-shadow: 0 0 0 0.25rem rgba(243, 156, 18, 0.25);
    }
    
    /* Contact Info Cards */
    .contact-info-card {
      background: white;
      border-radius: 15px;
      padding: 25px;
      box-shadow: 0 5px 15px rgba(0,0,0,0.08);
      transition: var(--transition);
      height: 50%;
      border: none;
    }
    
    .contact-info-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 15px 30px rgba(0,0,0,0.1);
    }
    
    .contact-icon {
      width: 60px;
      height: 60px;
      border-radius: 50%;
      background: rgba(243, 156, 18, 0.1);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 20px;
      color: var(--accent);
      font-size: 1.5rem;
    }
    
    /* Map */
    .map-container {
      border-radius: 15px;
      overflow: hidden;
      box-shadow: 0 5px 25px rgba(0,0,0,0.1);
    }
    
    /* Footer */
    footer {
      background-color: var(--dark);
      color: white;
      padding: 40px 0 20px;
    }
    
    /* Social Icons */
    .social-icons a {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: rgba(255,255,255,0.1);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: white;
      margin-right: 10px;
      transition: var(--transition);
    }
    
    .social-icons a:hover {
      background: var(--accent);
      transform: translateY(-3px);
    }
    
    /* Business Hours */
    .business-hours {
      list-style: none;
      padding: 0;
    }
    
    .business-hours li {
      display: flex;
      justify-content: space-between;
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px dashed rgba(255,255,255,0.1);
    }
    
    /* Form Validation Styles */
    .is-valid {
      border-color: #198754 !important;
      background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
      background-repeat: no-repeat;
      background-position: right calc(0.375em + 0.1875rem) center;
      background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
    }
    
    .is-invalid {
      border-color: #dc3545 !important;
      background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath d='m5.8 3.6.4.4.4-.4'/%3e%3cpath d='M6 7v2.5'/%3e%3c/svg%3e");
      background-repeat: no-repeat;
      background-position: right calc(0.375em + 0.1875rem) center;
      background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
    }
    
    /* Toast Notification */
    .toast-container {
      position: fixed;
      top: 100px;
      right: 20px;
      z-index: 9999;
    }
    
    /* Responsive adjustments */
    @media (max-width: 768px) {
      .contact-hero {
        min-height: 30vh;
      }
      
      .toast-container {
        top: 80px;
        right: 10px;
        left: 10px;
      }
    }