:root{
--color-black:#000000;--color-dark-grey:#111111;--color-ivory:#F5F5F1;--color-gold:#C7A869;--font-headline:'Cinzel',serif;--font-body:'Inter',sans-serif;}
*{
margin:0;padding:0;box-sizing:border-box;}
body{
font-family:var(--font-body);color:var(--color-ivory);background-color:var(--color-black);line-height:1.6;overflow-x:hidden;}
h1,h2,h3,h4,h5,h6{
font-family:var(--font-headline);font-weight:600;line-height:1.2;margin-bottom:1.5rem;}
h1{
font-size:3.5rem;font-weight:700;}
h2{
font-size:2.5rem;}
h3{
font-size:2rem;}
p{
margin-bottom:1.5rem;font-size:1.1rem;line-height:1.8;}
.hero-section{
position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background-image:url('/img/Kord_Kamphues-Marktplatz1.jpg');background-size:cover;background-position:center;background-attachment:fixed;overflow:hidden;}
.hero-section::before{
content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.7);z-index:1;}
.hero-section::after{
content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient( 0deg,rgba(255,255,255,0.03) 0px,transparent 1px,transparent 2px,rgba(255,255,255,0.03) 3px );pointer-events:none;z-index:2;opacity:0.5;}
.hero-content{
position:relative;z-index:3;text-align:center;padding:2rem;max-width:900px;}
.hero-title{
font-family:var(--font-headline);font-size:3.5rem;font-weight:700;color:var(--color-ivory);margin-bottom:1.5rem;white-space:pre-line;text-shadow:2px 2px 4px rgba(0,0,0,0.8);filter:blur(0.5px);}
.hero-subtitle{
font-size:1.3rem;color:var(--color-ivory);margin-bottom:2.5rem;opacity:0.9;}
.btn-primary-custom{
background-color:transparent;border:2px solid var(--color-ivory);color:var(--color-ivory);padding:1rem 2.5rem;font-size:1.1rem;font-weight:500;text-transform:uppercase;letter-spacing:2px;transition:all 0.3s ease;text-decoration:none;display:inline-block;}
.btn-primary-custom:hover{
background-color:var(--color-ivory);color:var(--color-black);transform:translateY(-2px);}
.section{
padding:6rem 0;position:relative;}
.section-dark{
background-color:var(--color-dark-grey);}
.section-black{
background-color:var(--color-black);}
.section-content{
max-width:900px;margin:0 auto;padding:0 2rem;}
.section-title{
text-align:center;margin-bottom:3rem;font-size:2.5rem;}
.section-text{
font-size:1.2rem;line-height:2;white-space:pre-line;text-align:center;opacity:0.9;}
.teaser-boxes{
display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem;}
.teaser-box{
background-color:var(--color-black);border:1px solid var(--color-dark-grey);padding:3rem 2rem;text-align:center;transition:all 0.3s ease;position:relative;overflow:hidden;}
.teaser-box::before{
content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(199,168,105,0.05) 0%,transparent 100%);opacity:0;transition:opacity 0.3s ease;}
.teaser-box:hover::before{
opacity:1;}
.teaser-box:hover{
transform:translateY(-5px);border-color:var(--color-gold);}
.teaser-box-title{
font-family:var(--font-headline);font-size:1.8rem;margin-bottom:1.5rem;color:var(--color-ivory);}
.teaser-box-text{
font-size:1rem;line-height:1.8;white-space:pre-line;opacity:0.8;}
.newsletter-section{
padding:6rem 0;background-color:var(--color-black);}
.newsletter-form{
max-width:500px;margin:0 auto;}
.newsletter-input{
background-color:var(--color-dark-grey);border:1px solid var(--color-dark-grey);color:var(--color-ivory);padding:1rem 1.5rem;font-size:1.1rem;width:100%;margin-bottom:1.5rem;transition:border-color 0.3s ease;}
.newsletter-input:focus{
outline:none;border-color:var(--color-gold);background-color:var(--color-dark-grey);color:var(--color-ivory);}
.newsletter-input::placeholder{
color:rgba(245,245,241,0.5);}
.newsletter-disclaimer{
font-size:0.9rem;opacity:0.7;text-align:center;margin-top:1rem;}
.honeypot-field{
position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.footer-minimal{
padding:3rem 0;background-color:var(--color-black);border-top:1px solid var(--color-dark-grey);}
.footer-nav{
display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1rem;}
.footer-link{
color:var(--color-ivory);text-decoration:none;font-size:0.9rem;opacity:0.7;transition:opacity 0.3s ease;}
.footer-link:hover{
opacity:1;color:var(--color-ivory);}
.footer-separator{
color:var(--color-ivory);opacity:0.5;}
.admin-container{
min-height:100vh;background-color:var(--color-dark-grey);padding:2rem 0;width:100%;}
.admin-container .container-fluid{
padding-left:2rem;padding-right:2rem;}
.admin-container .card{
background-color:var(--color-black) !important;border-color:var(--color-dark-grey) !important;}
.admin-container .card-body{
color:var(--color-ivory) !important;}
.admin-container .card-title{
color:var(--color-ivory) !important;}
.admin-container .card-text{
color:var(--color-ivory) !important;}
.admin-container .card-text strong{
color:var(--color-ivory) !important;}
.admin-container .table{
color:var(--color-ivory) !important;}
.admin-container .table td,.admin-container .table th{
color:var(--color-ivory) !important;}
.admin-container .table-dark{
--bs-table-bg:var(--color-black) !important;--bs-table-color:var(--color-ivory) !important;--bs-table-border-color:var(--color-dark-grey) !important;--bs-table-hover-bg:var(--color-dark-grey) !important;--bs-table-hover-color:var(--color-ivory) !important;}
.admin-container .table-dark td,.admin-container .table-dark th{
border-color:var(--color-dark-grey) !important;color:var(--color-ivory) !important;}
.admin-container .table-dark thead th{
background-color:var(--color-dark-grey) !important;color:var(--color-ivory) !important;}
.admin-header{
background-color:var(--color-black);padding:1.5rem 0;margin-bottom:2rem;border-bottom:1px solid var(--color-dark-grey);}
.admin-table{
background-color:var(--color-black) !important;color:var(--color-ivory) !important;}
.admin-table th{
border-color:var(--color-dark-grey) !important;color:var(--color-ivory) !important;background-color:var(--color-dark-grey) !important;}
.admin-table td{
border-color:var(--color-dark-grey) !important;color:var(--color-ivory) !important;background-color:var(--color-black) !important;vertical-align:top;}
.admin-table tbody tr{
background-color:var(--color-black) !important;}
.admin-table tbody tr:hover{
background-color:var(--color-dark-grey) !important;}
.admin-table tbody tr:hover td{
background-color:var(--color-dark-grey) !important;color:var(--color-ivory) !important;}
.admin-table code{
background-color:var(--color-dark-grey);padding:0.25rem 0.5rem;border-radius:3px;font-size:0.9em;color:var(--color-gold);}
.admin-table .text-white-50{
color:rgba(245,245,241,0.5) !important;}
.login-container{
min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-black);padding:2rem 1rem;}
.login-form-custom{
max-width:450px;width:100%;padding:3rem;background-color:var(--color-dark-grey);border:1px solid var(--color-dark-grey);margin:0 auto;box-shadow:0 4px 6px rgba(0,0,0,0.3);}
.login-form-custom .form-label{
color:var(--color-ivory) !important;margin-bottom:0.5rem;display:block;font-weight:500;}
.login-form-custom .form-control{
background-color:var(--color-black) !important;border:1px solid var(--color-dark-grey) !important;color:var(--color-ivory) !important;padding:0.75rem 1rem !important;width:100% !important;}
.login-form-custom .form-control:focus{
background-color:var(--color-black) !important;border-color:var(--color-gold) !important;color:var(--color-ivory) !important;outline:none !important;box-shadow:0 0 0 0.2rem rgba(199,168,105,0.25) !important;}
.login-form-custom .form-control::placeholder{
color:rgba(245,245,241,0.5) !important;}
.login-form-custom .btn-primary-custom{
width:100%;margin-top:1rem;}
.login-form-custom .text-white-50{
color:rgba(245,245,241,0.7) !important;}
.alert{
border-radius:0;border:none;}
.alert-success{
background-color:rgba(40,167,69,0.2);color:var(--color-ivory);border-left:3px solid #28a745;}
.alert-danger{
background-color:rgba(220,53,69,0.2);color:var(--color-ivory);border-left:3px solid #dc3545;}
@media (max-width:768px){
.hero-title{
font-size:2.5rem;}
h1{
font-size:2.5rem;}
h2{
font-size:2rem;}
.section{
padding:4rem 0;}
.teaser-boxes{
grid-template-columns:1fr;}
.login-container{
padding:1rem;min-height:calc(100vh - 200px);}
.login-form-custom{
padding:2rem 1.5rem;max-width:100%;}
.admin-container{
padding:1rem 0;}
.admin-header h1{
font-size:1.5rem;}
.admin-header .btn{
font-size:0.875rem;padding:0.375rem 0.75rem;}
.hero-content{
padding:1rem;}
.hero-title{
font-size:2rem;}
.hero-subtitle{
font-size:1rem;}
.section-content{
padding:0 1rem;}
.footer-nav{
flex-direction:column;gap:0.5rem;}
.footer-separator{
display:none;}
}
.fade-in{
animation:fadeIn 1s ease-in;}
@keyframes fadeIn{
from{
opacity:0;transform:translateY(20px);}
to{
opacity:1;transform:translateY(0);}
}
.ghost-effect{
filter:blur(1px);opacity:0.8;transition:all 0.3s ease;}
.ghost-effect:hover{
filter:blur(0);opacity:1;}
.visually-hidden{
position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;}
