/**
 * @license
 * Copyright (c) 2026 elumcraft. All rights reserved.
 * * Design & Code by elumcraft (https://elumcraft.com)
 * Unauthorized copying of this file, via any medium, is strictly prohibited.
 * Proprietary and confidential.
 */

/* inter-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/inter-v20-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/inter-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/inter-v20-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* playfair-display-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/playfair-display-v40-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/playfair-display-v40-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
        
 
   /* --- 1. Variablen & Root --- */
:root {
    --elite-gray: #f5f5f7;
    --elite-dark: #1d1d1f;
    --accent-color: #0071e3;
    --accent-elite: darkgreen;
    --font-sans: 'Inter', sans-serif;
    --font-serif: 'Playfair Display', serif;
}

[data-bs-theme="dark"] {
    --elite-bg: var(--elite-dark);
    --elite-text: var(--elite-gray);
}

/* --- 2. Globale Styles & Resets --- */
html, body {
    max-width: 100%;
    overflow-x: hidden;
    font-family: var(--font-sans);
}

.row {
    margin-right: 0;
    margin-left: 0;
}

h1.display-1 {
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
}

/* --- 3. Hilfsklassen (Utility) --- */
.font-serif { font-family: var(--font-serif); }
.text-accent { color: var(--accent-color); }
.bg-elite-gray { background-color: var(--elite-gray); }

[data-bs-theme="dark"] .bg-elite-gray { background-color: #000; }

/* --- 4. Komponenten (Buttons, Cards, Glass) --- */
.btn-elite {
    background-color: var(--elite-dark);
    color: white;
    border-radius: 50px;
    padding: 12px 30px;
    font-weight: 600;
    transition: transform 0.3s;
    border: none;
}

[data-bs-theme="dark"] .btn-elite { 
    background-color: white; 
    color: var(--elite-dark); 
}

.btn-elite:hover { 
    transform: scale(1.05); 
    color: inherit; 
}

.feature-card {
    border: none;
    border-radius: 2rem;
    padding: 2rem;
    transition: all 0.3s;
    background: white;
}

[data-bs-theme="dark"] .feature-card { 
    background: var(--elite-dark); 
}

.feature-card:hover { 
    transform: translateY(-10px); 
    box-shadow: 0 20px 40px rgba(0,0,0,0.1); 
}

/* Navbar im hellen Modus: Weiß und undurchsichtig */
.glass {
    background-color: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

[data-bs-theme="dark"] .glass { 
    background: #000 !important;
    color: #ffffff !important;
    backdrop-filter: blur(20px); 
    -webkit-backdrop-filter: blur(20px);
}

/* --- 5. Sektionen (Parallax, Kontakt, Footer) --- */
.parallax { 
    height: 60vh;
    background-attachment: fixed; 
    background-position: center; 
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Kontakt Formular */
.form-label {
    font-weight: 600;
    font-size: 0.9rem;
    margin-bottom: 8px;
    margin-left: 4px;
}

.form-control {
    border-radius: 12px;
    padding: 14px 20px;
    border: 1px solid rgba(0,0,0,0.1);
    background-color: #fff;
    transition: all 0.3s ease;
}

.form-control:focus {
    box-shadow: 0 0 0 4px rgba(0, 113, 227, 0.1);
    border-color: var(--accent-color);
}

.contact-info-icon {
    width: 50px;
    height: 50px;
    background: var(--elite-gray);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    margin-bottom: 1rem;
}

/* Footer Links */
.footer-credit-link {
    color: #6c757d !important;
    transition: color 0.3s ease;
}

.footer-credit-link:hover {
    color: var(--accent-color) !important;
}

/* --- 6. Dark Mode Overrides --- */
[data-bs-theme="dark"] .text-dark,
[data-bs-theme="dark"] .text-secondary,
[data-bs-theme="dark"] .footer-credit-link {
    color: #ffffff !important;
}

[data-bs-theme="dark"] .form-control {
    background-color: #1d1d1f;
    border-color: rgba(255,255,255,0.1);
    color: white;
}

[data-bs-theme="dark"] .contact-info-icon {
    background: #2d2d2f;
}

/* --- 7. Animationen --- */
.reveal { 
    opacity: 0; 
    transform: translateY(30px); 
    transition: all 0.8s ease-out; 
}

.reveal.active { 
    opacity: 1; 
    transform: translateY(0); 
}

/* --- 8. Mobile Navigation Overlay --- */
@media (max-width: 767.98px) {
    .navbar-collapse {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(255, 255, 255, 0.98);
        backdrop-filter: blur(25px);
        -webkit-backdrop-filter: blur(25px);
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        z-index: 1040;
        opacity: 0;
        visibility: hidden;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }

    [data-bs-theme="dark"] .navbar-collapse {
        background: rgba(29, 29, 31, 0.98);
    }

    .navbar-collapse.show {
        opacity: 1;
        visibility: visible;
    }

    .navbar-collapse .navbar-nav {
        width: 100%;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 2.5rem !important;
    }

    .navbar-collapse .nav-item {
        width: 100%;
        text-align: center;
        margin: 0 !important;
    }

    .navbar-collapse .nav-link {
        font-size: 2.2rem !important;
        font-weight: 300 !important;
        display: inline-block;
        padding: 10px 0 !important;
    }

    .mobile-close {
        position: absolute;
        top: 25px;
        right: 25px;
        background: none;
        border: none;
        color: inherit;
        font-size: 2.5rem;
        line-height: 1;
        padding: 0;
        z-index: 1050;
    }
}