/* Custom Properties */
:root {
  --handwerk-blau: #1e3a8a;
  --handwerk-orange: #f97316;
  --handwerk-hellgrau: #e5e7eb;
  --logo-main-color: theme('colors.handwerk-blau');
  --logo-accent-color: theme('colors.handwerk-orange');
  --logo-text-color: theme('colors.handwerk-grau');
  --header-bg-start: theme('colors.white');
  --header-bg-end: theme('colors.slate.100');
  --box-shadow-subtle: 0 10px 25px rgba(0,0,0,0.05);
  --box-shadow-strong: 0 15px 30px rgba(0,0,0,0.1);
  --logo-shadow-color: rgba(249, 115, 22, 0.3);
  --hero-icon-pulse-duration: 3s;
}

/* Logo styles */
.logo-text-header {
  font-size: clamp(2.5rem, 5vw, 4rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--logo-main-color);
  transition: all 0.3s ease-in-out;
}

.logo-glow {
  text-shadow: 0 0 20px var(--logo-shadow-color),
              0 0 40px var(--logo-shadow-color);
}

/* Hero section styles */
.hero-section {
  position: relative;
  isolation: isolate;
}

.hero-watermark-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(10rem, 30vw, 25rem);
  white-space: nowrap;
  opacity: 0.03;
  user-select: none;
  pointer-events: none;
  z-index: 0;
  letter-spacing: -0.05em;
  font-weight: 900;
  line-height: 1;
  color: var(--handwerk-orange);
}

.hero-main-logo-container {
  position: relative;
  z-index: 2;
}

/* Hero icons animation */
.hero-icon {
  animation: pulse var(--hero-icon-pulse-duration) infinite;
  transform-origin: center;
  will-change: transform, opacity;
}

@keyframes pulse {
  0%, 100% {
    transform: scale(1) rotate(0deg);
    opacity: 0.5;
  }
  50% {
    transform: scale(1.1) rotate(5deg);
    opacity: 0.7;
  }
}

/* Mobile optimizations */
@media (max-width: 640px) {
  .hero-watermark-logo {
    font-size: clamp(8rem, 25vw, 15rem);
    opacity: 0.04;
  }

  .hero-icon {
    transform: scale(0.8);
  }
}

/* Improved text shadow for better readability */
.text-shadow-md {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}

/* CTA button enhancements */
.cta-button-hero {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.cta-button-hero:hover {
  transform: translateY(-2px);
}

.cta-button-hero:active {
  transform: translateY(0);
}

/* General Body Style (falls nicht schon in Tailwind Config oder header) */
body {
  font-family: 'Inter', sans-serif;
  color: var(--logo-text-color);
  background-color: theme('colors.handwerk-hellgrau');
}

/* Header Specific Styles */
#main-header {
  /* Der Gradient wird direkt in Tailwind Klassen angewendet, hier nur Fallback oder Basis */
  /* background-image: linear-gradient(to bottom, var(--header-bg-start), var(--header-bg-end)); */
  box-shadow: var(--box-shadow-subtle);
  transition: all 0.3s ease-in-out;
}

#main-header.header-scrolled {
  box-shadow: var(--box-shadow-strong);
}

.logo-container-header {
  /* Wird für die Größenanpassung und Effekte verwendet */
  transition: transform 0.3s ease-in-out;
}

.logo-container-header:hover {
  transform: scale(1.05);
}

.logo-text-header {
  font-family: 'Arial Black', Gadget, sans-serif; /* Beispiel für professionelle Typo, anpassen! */
  /* Größe wird über Tailwind Klassen gesteuert, z.B. text-6xl */
  /* Farbverlauf wird über Tailwind Klassen gesteuert */
  transition: all 0.3s ease-in-out;
}

.logo-subtext-header {
  /* Größe und Farbe über Tailwind */
  transition: all 0.3s ease-in-out;
}

/* Hero Section Specific Styles */
.hero-section {
  position: relative;
  overflow: hidden; /* Verhindert, dass das Wasserzeichen überläuft */
}

.hero-watermark-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(10rem, 30vw, 25rem); /* Responsive Schriftgröße */
  font-weight: 900; /* Extra bold */
  color: rgba(0, 51, 102, 0.05); /* Sehr transparentes Blau */
  z-index: 0;
  pointer-events: none; /* Klick-Events durchlassen */
  font-family: 'Arial Black', Gadget, sans-serif; /* Gleiche Typo wie Hauptlogo */
  line-height: 1;
  text-transform: uppercase;
}

.hero-main-logo-container {
  position: relative; /* Für z-index über Wasserzeichen */
  z-index: 1;
  /* Weitere Stile über Tailwind */
}

.hero-icon {
  /* Stile für die Handwerker-Icons um das Logo */
  width: clamp(30px, 5vw, 50px);
  height: clamp(30px, 5vw, 50px);
  opacity: 0.8;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.hero-icon:hover {
  transform: scale(1.1) rotate(5deg);
  opacity: 1;
}

.cta-button-hero {
  /* Akzent wird durch Tailwind Klassen oder spezifische SVG-Icon-Integration erreicht */
  /* Beispiel: padding-left mit Platz für ein kleines Icon */
  transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
}

.cta-button-hero:hover {
  transform: translateY(-2px);
  box-shadow: var(--box-shadow-strong);
}

/* Mobile Optimizations */
@media (max-width: 768px) {
  .logo-text-header {
    font-size: clamp(1.875rem, 4vw, 2.25rem);
    line-height: 1.2;
    letter-spacing: -0.02em;
    padding: 0.5rem;
  }
  .hero-watermark-logo {
    font-size: clamp(8rem, 40vw, 20rem);
  }
}

/* Print-spezifische Anpassungen, falls nicht schon in print.css */
@media print {
  #main-header {
    box-shadow: none;
    background: white !important; /* Einfacher Hintergrund für Druck */
  }
  .logo-text-header {
    color: black !important; /* Sicherstellen, dass der Text schwarz ist */
    background-image: none !important; /* Farbverlauf entfernen */
    -webkit-text-fill-color: initial !important; /* Für Webkit-Browser */
  }
  .logo-subtext-header {
    color: #333 !important;
  }
  .hero-section {
    padding-top: 2rem; 
    padding-bottom: 2rem;
  }
  .hero-watermark-logo {
    display: none; /* Wasserzeichen im Druck ausblenden */
  }
  .cta-button-hero {
    border: 1px solid #ccc;
    background-color: #eee !important;
    color: black !important;
  }
}