/**
 * Kelles Theme - Critical CSS
 * Essential styles loaded early for optimal rendering
 */

:root {
  --kelles-primary: #4285f4;
  --kelles-secondary: #34a853;
  --kelles-accent: #ea4335;
  --kelles-light: #f8f9fa;
  --kelles-dark: #202124;
  --kelles-border-radius: 0.5rem;
  --kelles-shadow: 0 4px 6px rgba(32, 33, 36, 0.1);
  --kelles-transition: all 0.3s ease;
}

/* Preloader Styles */
.page-loading {
  overflow: hidden;
}

.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s ease-out, visibility 0s linear 0.5s;
}

.page-loaded .preloader {
  opacity: 0;
  visibility: hidden;
}

/* Base Styles */
body {
  margin: 0;
  font-family: 'Poppins', sans-serif;
  line-height: 1.5;
  color: var(--kelles-dark);
  background-color: var(--kelles-light);
}

.container { 
  width: 100%; 
  max-width: 1320px; 
  margin: 0 auto; 
  padding: 0 15px; 
}

/* Utility Classes */
.d-none { display: none !important; }
.d-flex { display: flex !important; }
.align-items-center { align-items: center !important; }
.justify-content-center { justify-content: center !important; }
.text-center { text-align: center !important; }