/* Rawls Precision Construction - Logo and Branding Styles */

/* Logo Container */
.logo-container {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  text-decoration: none;
  color: inherit;
  transition: var(--transition-base);
}

.logo-container:hover {
  transform: translateY(-1px);
}

/* Logo Image */
.logo {
    height: 40px;
    width: auto;
    object-fit: contain;
    filter: none; /* Remove default filter to prevent black square */
    transition: var(--transition-base);
}

.logo-container:hover .logo {
    filter: none; /* Remove hover filter to prevent black square */
}

/* Logo for light backgrounds */
.logo-light {
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
}

.logo-container:hover .logo-light {
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
}

/* Logo for colored backgrounds */
.logo-colored {
  filter: none;
}

/* Logo Text */
.logo-text {
  font-weight: 700;
  font-size: var(--font-size-lg);
  line-height: 1.2;
  color: var(--text-primary);
  transition: var(--transition-base);
}

.logo-container:hover .logo-text {
  color: var(--accent-color);
}

.logo-text-light {
  color: var(--background-color);
}

.logo-container:hover .logo-text-light {
  color: var(--background-color);
}

/* Logo with Tagline */
.logo-with-tagline {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

.logo-tagline {
  font-size: var(--font-size-xs);
  color: var(--text-secondary);
  font-weight: 400;
  line-height: 1.2;
  margin-top: -2px;
}

.logo-tagline-light {
  color: rgba(255, 255, 255, 0.8);
}

/* Responsive Logo Sizes */
.logo-sm {
  height: 30px;
}

.logo-md {
  height: 40px;
}

.logo-lg {
  height: 50px;
}

.logo-xl {
  height: 60px;
}

/* Logo in Navigation */
.navbar .logo-container {
  flex-shrink: 0;
}

.navbar .logo {
  height: 35px;
}

/* Logo in Footer */
.footer .logo-container {
  margin-bottom: var(--spacing-md);
}

.footer .logo {
  height: 45px;
}

/* Logo in Hero Section */
.hero .logo-container {
  margin-bottom: var(--spacing-lg);
}

.hero .logo {
  height: 60px;
}

/* Logo in Cards */
.card .logo-container {
  margin-bottom: var(--spacing-sm);
}

.card .logo {
  height: 30px;
}

/* Logo Animation */
@keyframes logoGlow {
  0%, 100% {
    filter: brightness(0) saturate(100%) invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(0%) contrast(100%);
  }
  50% {
    filter: brightness(0) saturate(100%) invert(27%) sepia(51%) saturate(2878%) hue-rotate(346deg) brightness(104%) contrast(97%);
  }
}

.logo-animated {
  animation: logoGlow 3s ease-in-out infinite;
}

/* Logo Loading State */
.logo-loading {
  opacity: 0.7;
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse {
  0%, 100% {
    opacity: 0.7;
  }
  50% {
    opacity: 1;
  }
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .logo {
    height: 32px;
  }
  
  .logo-text {
    font-size: var(--font-size-base);
  }
  
  .logo-tagline {
    font-size: 0.625rem;
  }
  
  .hero .logo {
    height: 45px;
  }
  
  .footer .logo {
    height: 35px;
  }
}

@media (max-width: 480px) {
  .logo {
    height: 28px;
  }
  
  .logo-text {
    font-size: var(--font-size-sm);
  }
  
  .hero .logo {
    height: 40px;
  }
}

/* Print Styles */
@media print {
  .logo {
    filter: none !important;
  }
  
  .logo-container:hover {
    transform: none;
  }
} 