/* CSS Document - Susanne Geyer 
   Integrierte Version: Layout, Komponenten & Typografie
*/

:root {
  --sg-blue: rgb(37, 40, 56);
  --sg-color: #b88a4c; /* Konsolidierter Gold-Ton */
}

/* ========== Basis & Utility ========== */
body,
.icon-blob span,
.icon-blob h3,
.icon-blob p,
.icon-blob .step {
    font-family: 'Open Sans', sans-serif !important;
}

.bg-sg { background-color: rgba(224, 197, 90, 0.07) !important; }
.bg-button { background-color: var(--sg-color); }
.bg-white { background-color: white; }
.text-sg { color: var(--sg-color); }
.blue { color: #b88a4c; }
.line-bottom { border-bottom: 3px solid #b88a4c; }
.lh-11 { line-height: 1.2 !important; }
.nl-success { color: #28a745 !important; }
.InputfieldHeader { display: none !important; }

.svg-bg.svg-bg-lg .icon-svg {
  width: 2.0rem;
  height: 2.0rem;
}

.btn-primary {
  background-color: var(--sg-color) !important;
  border: none;
}

/* ========== Typografie ========== */
h1, h2, h3, h4, h5, h6 {  
    font-family: 'Open Sans', sans-serif;    
    font-weight: 700;
} 

.display-1, .display-2, .display-3, .display-11 {
  font-family: "Noto Serif", serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  font-weight: 600;
}

.display-1 { font-size: 3.4rem; font-weight: 700; }
.display-2 { font-size: 2.2rem; font-weight: 700; }
.display-3 { font-size: 1.8rem; font-weight: 500; }
.display-4 { font-size: 2.2rem; line-height: 2.5rem; font-weight: 700; }
.display-10 { font-size: 1rem; }
.display-11 { font-size: 2.8rem; font-weight: 700; }

.lead { font-weight: 400; }
.lead.larger { font-size: 1.1rem; line-height: 1.6rem; }
blockquote.larger p { font-weight: 300; }

/* Font-Weights für diverse Elemente */
.navbar-nav .nav-link, .dropdown-item, .mega-menu-content a, .btn, strong, 
.hero, .dropcap, .badge, .alert-link, .meta, .more, .breadcrumbs, th, 
label:not(.custom-control-label) {
    font-weight: 700;
}

/* ========== Buttons & Navigation ========== */
.btn-sg {
  background-color: var(--sg-color);
  color: white;
}

.btn-outline-sg { border-color: var(--sg-color); }
.btn-flat { padding: 3px 15px !important; }

.navbar-nav .nav-link, .dropdown-item, .mega-menu-content a { font-size: 0.8rem; }

@media (min-width: 992px) {
    .dropdown-item, .mega-menu-content a { font-size: 0.7rem; font-weight: 400; }
}

/* ========== Komponenten & Sektionen ========== */
.table> :not(caption)>*>* {
  padding: 0.4rem 0.4rem;
  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
  background-color: var(--bs-table-bg);
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}

.event-description p {
  font-size: 1.05rem;
  line-height: 1.85;
  margin-bottom: 1.5rem; 
  color: #60697b;
}

.zielgruppe-item {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  padding: 0.1rem 0;
  font-size: 0.9rem; 
  line-height: 1.6;
  color: #60697b;
}
.zielgruppe-item i.uil { color: var(--sg-color); font-size: 1.2rem; flex-shrink: 0; }

/* Final CTA Section */
.final-cta {
  padding: 6rem 2rem;
  background: #F4F4F0;
  text-align: center;
}
.final-cta-content {
  max-width: 900px;
  margin: 0 auto;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.final-cta-content.visible { opacity: 1; transform: translateY(0); }

.final-cta p {
  color: #4A5568;
  margin-bottom: 3rem;
  line-height: 1.7;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.final-cta-buttons { display: flex; gap: 1.5rem; justify-content: center; flex-wrap: wrap; }
.final-cta-buttons .btn { transition: all 0.3s ease; }
.final-cta-buttons .btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(184, 138, 76, 0.3);
}

/* Footer */
.site-footer {
  background: var(--sg-blue);
  color: white;
  padding: 4rem 0 2rem;
}

.site-footer ul li {
list-style-type: none;
}

.site-footer .footer-content {
  display: grid; 
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  margin-bottom: 3rem;
}
.site-footer .footer-section h4 {
  font-family: 'Noto Serif', serif;
  font-size: 1.15rem;
  font-weight: 600;
  margin-bottom: 1.25rem;
}
.site-footer .footer-links a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 0.9rem;
}
.site-footer .footer-links a:hover { color: var(--sg-color); }
.site-footer .footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 2rem;
  text-align: center;
  color: rgba(255, 255, 255, 0.5);
}

/* ========== Responsive & Grid ========== */
@media (max-width: 992px) {
  .display-4 { font-size: 1.8rem; line-height: 2.2rem; }
  .display-2 { font-size: 1.6rem; line-height: 2.0rem; }
}

@media (max-width: 812px) {
  .display-1 { font-size: 2.3rem !important; }
}

@media (max-width: 768px) {
  .final-cta-buttons { flex-direction: column; }
  .site-footer .footer-content { grid-template-columns: 1fr; }
}

@media (max-width: 575px) {
  /* XS Grid System */
  .col-xs { flex: 1 0 0%; }
  .col-xs-auto { flex: 0 0 auto; width: auto; }
  .col-xs-1 { width: 8.33333333%; }
  .col-xs-2 { width: 16.66666667%; }
  .col-xs-3 { width: 25%; }
  .col-xs-4 { width: 33.33333333%; }
  .col-xs-5 { width: 41.66666667%; }
  .col-xs-6 { width: 50%; }
  .col-xs-7 { width: 58.33333333%; }
  .col-xs-8 { width: 66.66666667%; }
  .col-xs-9 { width: 75%; }
  .col-xs-10 { width: 83.33333333%; }
  .col-xs-11 { width: 91.66666667%; }
  .col-xs-12 { width: 100%; }
  
  /* Row Columns XS */
  .row-cols-xs-1>* { width: 100%; }
  .row-cols-xs-2>* { width: 50%; }
  
  /* Gutter XS (Beispielhaft gekürzt für Übersicht) */
  .g-xs-2, .gx-xs-2 { --bs-gutter-x: 0.5rem; }
  .g-xs-2, .gy-xs-2 { --bs-gutter-y: 0.5rem; }
}