/* Insert custom styles here */
@import "tailwindcss";

:root {
  --color-primary: #335C88;
  --color-secondary: #E9EDF2;
  --color-accent: #D7985F;
  --font-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

body {
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* 
 * Explizite CSS-Regeln mit konkreten HEX-Werten zur Sicherstellung der Sichtbarkeit 
 * und Wiederherstellung der dunkelblauen Farbstile sowie Schaltflächen.
 */
.bg-primary { background-color: #335C88 !important; }
.text-primary { color: #335C88 !important; }
.border-primary { border-color: #335C88 !important; }

.bg-secondary { background-color: #E9EDF2 !important; }
.text-secondary { color: #E9EDF2 !important; }

.bg-accent { background-color: #D7985F !important; }
.text-accent { color: #D7985F !important; }
.border-accent { border-color: #D7985F !important; }

/* Abgeleitete Transparenzen für Schatten und sekundäre Texte */
.bg-primary\/10 { background-color: rgba(51, 92, 136, 0.1) !important; }
.text-secondary\/70 { color: rgba(233, 237, 242, 0.7) !important; }
.text-secondary\/60 { color: rgba(233, 237, 242, 0.6) !important; }

/* Interaktive Zustände */
.hover\:bg-primary:hover { background-color: #335C88 !important; }
.hover\:text-accent:hover { color: #D7985F !important; }

.group:hover .group-hover\:bg-accent { background-color: #D7985F !important; }
.group:hover .group-hover\:text-white { color: #ffffff !important; }
.group:hover .group-hover\:text-secondary { color: #E9EDF2 !important; }

/* Native Focus-Styles als Fallback */
.focus-visible\:ring-accent:focus-visible {
    outline: 2px solid #D7985F !important;
    outline-offset: 2px !important;
}
.focus-visible\:ring-primary:focus-visible {
    outline: 2px solid #335C88 !important;
    outline-offset: 2px !important;
}

/* Utilities for native mobile menu */
body.mobile-menu-open {
  overflow: hidden;
}