:root {
    --color-plum: #693D59;
    --color-pale-pink: #F0DFDF;
    --color-leaf-green: #54694B;
    --font-sans: Helvetica, Arial, sans-serif;
    --font-serif: Georgia, serif;
}

body {
    font-family: var(--font-sans);
    color: var(--color-leaf-green);
    background-color: #ffffff;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6, .font-serif {
    font-family: var(--font-serif);
    color: var(--color-plum);
}

/* Farbpalette (Echte CSS-Klassen für definierte Farbschemata) */
.text-plum { color: var(--color-plum); }
.bg-plum { background-color: var(--color-plum); }
.border-plum { border-color: var(--color-plum); }

.text-pale-pink { color: var(--color-pale-pink); }
.bg-pale-pink { background-color: var(--color-pale-pink); }
.border-pale-pink { border-color: var(--color-pale-pink); }

.text-leaf-green { color: var(--color-leaf-green); }
.bg-leaf-green { background-color: var(--color-leaf-green); }
.border-leaf-green { border-color: var(--color-leaf-green); }

/* Spezifische Transparenzen aus den Layout-Entwürfen */
.bg-plum\/5 { background-color: rgba(105, 61, 89, 0.05); }
.bg-plum\/10 { background-color: rgba(105, 61, 89, 0.1); }
.border-plum\/10 { border-color: rgba(105, 61, 89, 0.1); }
.border-plum\/20 { border-color: rgba(105, 61, 89, 0.2); }

.bg-leaf-green\/10 { background-color: rgba(84, 105, 75, 0.1); }
.border-leaf-green\/20 { border-color: rgba(84, 105, 75, 0.2); }
.border-leaf-green\/30 { border-color: rgba(84, 105, 75, 0.3); }

.bg-pale-pink\/30 { background-color: rgba(240, 223, 223, 0.3); }
.border-pale-pink\/20 { border-color: rgba(240, 223, 223, 0.2); }

.bg-white\/60 { background-color: rgba(255, 255, 255, 0.6); }

/* Hover States für interaktive Flächen */
.hover\:bg-plum\/5:hover { background-color: rgba(105, 61, 89, 0.05); }
.hover\:bg-leaf-green\/90:hover { background-color: rgba(84, 105, 75, 0.9); }
.hover\:bg-white:hover { background-color: #ffffff; }

/* Globaler sichtbarer Tastaturfokus für Barrierefreiheit */
*:focus-visible {
    outline: 2px solid var(--color-plum);
    outline-offset: 2px;
}
