/* Theme CSS Variables */
:root {
  /* Light theme (default) */
  --bg-primary: #ffffff;
  --bg-secondary: #f8f9fa;
  --text-primary: #212529;
  --text-secondary: #6c757d;
  --primary-color: #007bff;
  --border-color: #dee2e6;
  --navbar-bg: #ffffff;
  --card-bg: #ffffff;
  --footer-bg: #343a40;
  --nav-link-color: #333333;
  --btn-hover-bg: rgba(128, 128, 128, 0.2);
  --section-bg: #f8f9fa;
  --form-bg: #ffffff;
  --form-input-bg: #ffffff;
  --form-border: #ced4da;
  --asset-red: #ff0000;
  --asset-blue: #204cfe;
  --asset-yellow: #FFD700;
  --asset-purple: #DA70D6;
  --asset-green: #00CD66;
  
  /* Font families */
  --font-primary: 'Montserrat', sans-serif;
  --font-secondary: 'Playfair Display', serif;
  
  /* RGB values for rgba() functions */
  --asset-red-rgb: 255, 0, 0;
  --asset-blue-rgb: 0, 51, 255;
  --asset-yellow-rgb: 255, 215, 0;
  --asset-purple-rgb: 218, 112, 214;
  --asset-green-rgb: 0, 205, 102;
  --primary-color-rgb: 0, 123, 255;

  /* Base font sizes */
  --font-size-xs: 0.85rem;
  --font-size-sm: 0.95rem;
  --font-size-base: 1rem;
  --font-size-md: 1.2rem;
  --font-size-lg: 1.45rem;
  --font-size-xl: 1.7rem;
  --font-size-2xl: 2rem;
  --font-size-3xl: 2.5rem;
  --font-size-4xl: 3rem;
  --font-size-5xl: 3.8rem;
}

/* Dark theme */
.dark-theme {
  --bg-primary: #121212;
  --bg-secondary: #1e1e1e;
  --text-primary: #ffffff;
  --text-secondary: #e0e0e0;
  --primary-color: #4d9fff;
  --border-color: #4e4e4e;
  --navbar-bg: #1e1e1e;
  --card-bg: #2d2d2d;
  --footer-bg: #1a1a1a;
  --nav-link-color: #f8f9fa;
  --btn-hover-bg: rgba(255, 255, 255, 0.15);
  --section-bg: #1e1e1e;
  --form-bg: #2d2d2d;
  --form-input-bg: #333;
  --form-border: #555;
  --asset-red: #ff3333;
  --asset-blue: #4d9fff;
  --asset-yellow: #ffd700;
  --asset-purple: #e066ff;
  --asset-green: #33ff99;
}

/* Basic elements */
body {
  background-color: var(--bg-primary);
  color: var(--text-primary);
  transition: background-color 0.3s ease, color 0.3s ease;
  font-family: var(--font-primary);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-secondary);
}

p, span, a, li {
  font-family: var(--font-primary);
}

/* Navbar styles */
.navbar {
  background-color: var(--navbar-bg) !important;
}

.navbar-brand {
  color: var(--text-primary) !important;
}

.navbar-nav .nav-link {
  color: var(--nav-link-color) !important;
  font-size: 0.95rem;
}

.navbar-nav .nav-link.active {
  color: var(--primary-color) !important;
  font-weight: 600;
}

.navbar-light .navbar-toggler {
  border-color: var(--border-color);
  color: var(--text-primary) !important;
}

/* Card styles */
.card {
  background-color: var(--card-bg);
  border-color: var(--border-color);
  color: var(--text-primary);
}

/* Background colors */
.bg-light {
  background-color: var(--bg-secondary) !important;
}

.bg-white {
  background-color: var(--bg-primary) !important;
}

.text-dark {
  color: var(--text-primary) !important;
}

.text-secondary {
  color: var(--text-secondary) !important;
}

/* Form inputs */
.form-control {
  background-color: var(--form-input-bg);
  border-color: var(--form-border);
  color: var(--text-primary);
}

.form-control:focus {
  background-color: var(--form-input-bg);
  color: var(--text-primary);
}

.form-control::placeholder {
  color: var(--text-secondary);
  opacity: 0.8;
}

/* Increase contrast for Bootstrap text classes in dark mode */
.dark-theme .text-muted {
  color: #b0b0b0 !important;
}

.dark-theme .lead {
  color: #e6e6e6;
}

.dark-theme .section-header {
  color: #ffffff;
}

.dark-theme .section-subheading {
  color: #3d8bfd;
}

/* Quick Enquiry Form */
.contact-form.bg-white {
  background-color: var(--card-bg) !important;
}

/* Theme toggle button */
.theme-toggle-btn {
  background: transparent;
  border: none;
  color: var(--text-primary);
  font-size: 1.2rem;
  padding: 0.5rem;
  margin-left: 1rem;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.theme-toggle-btn:hover {
  background-color: var(--btn-hover-bg);
  transform: scale(1.1);
}

.theme-toggle-btn i {
  transition: transform 0.3s ease;
  color: var(--text-primary);
}

.dark-theme .theme-toggle-btn i.fa-sun {
  color: #ffc107;
}

/* Logo handling for dark/light modes */
.light-logo {
  display: block;
}

.dark-logo {
  display: none;
}

/* Modal specific logo handling */
#demoModal .modal-logo.light-logo {
  display: block !important;
}

#demoModal .modal-logo.dark-logo {
  display: none !important;
}

#demoModal.dark-theme .modal-logo.light-logo {
  display: none !important;
}

#demoModal.dark-theme .modal-logo.dark-logo {
  display: block !important;
}

.dark-theme .light-logo {
  display: none;
}

.dark-theme .dark-logo {
  display: block;
}

/* Navbar overrides for dark theme */
.dark-theme .navbar-light .navbar-nav .nav-link {
  color: var(--nav-link-color) !important;
}

.dark-theme .navbar-light .navbar-brand {
  color: var(--text-primary) !important;
}

.dark-theme .navbar-light .navbar-toggler {
  color: rgba(255, 255, 255, 0.65) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}

/* Navbar toggler icon color in dark mode */
.dark-theme .navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.8)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Shadow elements in dark mode */
.dark-theme .shadow-sm {
  box-shadow: 0 .125rem .25rem rgba(0, 0, 0, 0.25) !important;
}

.dark-theme .shadow {
  box-shadow: 0 .5rem 1rem rgba(0, 0, 0, 0.3) !important;
}

.dark-theme .shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.35) !important;
}

/* Social icons in dark mode */
.dark-theme .social-icons-container .social-icon {
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}

.dark-theme .social-media-icon {
  background-color: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
}

/* Text gradient styling */
.text-gradient {
  background: linear-gradient(90deg, 
    var(--asset-red) 0%, 
    var(--asset-blue) 20%, 
    var(--asset-yellow) 40%,
    var(--asset-purple) 60%,
    var(--asset-green) 80%,
    var(--asset-red) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  display: inline-block;
}

/* Animation for the gradient shift */
@keyframes gradient-shift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

/* Font definitions */
@font-face {
  font-family: 'Agenor';
  src: url('../assets/fonts/Agenor-Regular.woff2') format('woff2'),
       url('../assets/fonts/Agenor-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Agenor';
  src: url('../assets/fonts/Agenor-Bold.woff2') format('woff2'),
       url('../assets/fonts/Agenor-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

/* Dark theme specific styles */
.dark-theme {
  color: var(--text-primary);
  background-color: var(--bg-primary);
}

.dark-theme .bg-light {
  background-color: var(--bg-secondary) !important;
}

.dark-theme .text-dark {
  color: var(--text-primary) !important;
}

.dark-theme .border {
  border-color: var(--form-border) !important;
}

/* Increase contrast for text in dark mode */
.dark-theme .text-muted {
  color: #b0b0b0 !important;
}

.dark-theme .lead {
  color: #e6e6e6;
}

.dark-theme .section-header {
  color: #ffffff;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.dark-theme .section-subheading {
  color: var(--asset-blue);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* Enhance card visibility in dark mode */
.dark-theme .card {
  background-color: var(--card-bg);
  border-color: var(--border-color);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.dark-theme .card:hover {
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

/* Improve form element visibility */
.dark-theme .form-control {
  background-color: var(--form-input-bg);
  border-color: var(--form-border);
  color: var(--text-primary);
}

.dark-theme .form-control:focus {
  background-color: var(--form-input-bg);
  color: var(--text-primary);
  box-shadow: 0 0 0 3px rgba(var(--asset-blue-rgb), 0.25);
}

.dark-theme .form-control::placeholder {
  color: #aaaaaa;
  opacity: 0.8;
}

/* Enhance button visibility */
.dark-theme .btn-primary {
  background-color: var(--asset-blue);
  border-color: var(--asset-blue);
  box-shadow: 0 4px 15px rgba(var(--asset-blue-rgb), 0.3);
  color: #ffffff !important;
}

.dark-theme .btn-primary:hover {
  background-color: #66b3ff;
  border-color: #66b3ff;
  box-shadow: 0 6px 20px rgba(var(--asset-blue-rgb), 0.4);
  color: #ffffff !important;
}

.dark-theme .btn-outline-light {
  color: #ffffff !important;
  border-color: #ffffff;
}

.dark-theme .btn-outline-light:hover {
  background-color: #ffffff;
  color: var(--bg-primary) !important;
}

.dark-theme .btn {
  color: #ffffff !important;
}

.dark-theme .btn:hover {
  color: #ffffff !important;
}

/* Improve link visibility */
.dark-theme a {
  color: var(--asset-blue);
}

.dark-theme a:hover {
  color: #ffffff;
}

/* Enhance section backgrounds */
.dark-theme .section-bg {
  background-color: var(--section-bg);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

/* Improve text gradient visibility */
.dark-theme .text-gradient {
  background: linear-gradient(90deg, 
    var(--asset-red) 0%, 
    var(--asset-blue) 20%, 
    var(--asset-yellow) 40%,
    var(--asset-purple) 60%,
    var(--asset-green) 80%,
    var(--asset-red) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  display: inline-block;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

/* Standard heading sizes matching home page */
h1 { font-size: var(--font-size-3xl); }
h2 { font-size: var(--font-size-2xl); }
h3 { font-size: var(--font-size-xl); }
h4 { font-size: var(--font-size-lg); }
h5 { font-size: var(--font-size-md); }
h6 { font-size: var(--font-size-base); }

/* Display text sizes */
.display-1 { font-size: var(--font-size-5xl); }
.display-2 { font-size: 3.2rem; }
.display-3 { font-size: 2.8rem; }
.display-4 { font-size: 2.2rem; }
.display-5 { font-size: var(--font-size-2xl); }
.display-6 { font-size: 1.6rem; }

/* Base content text */
p, .body-text { font-size: var(--font-size-sm); }
.small-text { font-size: var(--font-size-xs); }

/* Button size adjustments for content only */
/* .btn {
  font-size: 0.9rem;
}

.btn-lg {
  font-size: 1rem;
}

.btn-sm {
  font-size: 0.8rem;
} */ 