/* ============================================
   Enigmania 2026 OneBrand - Main Stylesheet
   ============================================ */

/* ============================================
   Font Face Declarations
   ============================================ */

@font-face {
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/room-roboto-condensed-v24-latin-300.woff2') format('woff2'),
         url('../fonts/room-roboto-condensed-v24-latin-300.woff') format('woff'),
         url('../fonts/room-roboto-condensed-v24-latin-300.ttf') format('truetype');
}

@font-face {
    font-family: 'Roboto Condensed';
    font-style: italic;
    font-weight: 300;
    src: url('../fonts/room-roboto-condensed-v24-latin-300italic.woff2') format('woff2'),
         url('../fonts/room-roboto-condensed-v24-latin-300italic.woff') format('woff'),
         url('../fonts/room-roboto-condensed-v24-latin-300italic.ttf') format('truetype');
}

@font-face {
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/room-roboto-condensed-v24-latin-700.woff2') format('woff2'),
         url('../fonts/room-roboto-condensed-v24-latin-700.woff') format('woff'),
         url('../fonts/room-roboto-condensed-v24-latin-700.ttf') format('truetype');
}

@font-face {
    font-family: 'Roboto Condensed';
    font-style: italic;
    font-weight: 700;
    src: url('../fonts/room-roboto-condensed-v24-latin-700italic.woff2') format('woff2'),
         url('../fonts/room-roboto-condensed-v24-latin-700italic.woff') format('woff'),
         url('../fonts/room-roboto-condensed-v24-latin-700italic.ttf') format('truetype');
}

@font-face {
    font-family: 'Caveat';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/room-caveat-v14-latin-500.woff2') format('woff2'),
         url('../fonts/room-caveat-v14-latin-500.woff') format('woff'),
         url('../fonts/room-caveat-v14-latin-500.ttf') format('truetype');
}

/* Icon Font - Escape Icons */
@font-face {
    font-family: "escape";
    src: url('../fonts/room-escape.eot');
    src: url('../fonts/room-escape.eot?#iefix') format('embedded-opentype'),
         url('../fonts/room-escape.ttf') format('truetype'),
         url('../fonts/room-escape.woff') format('woff'),
         url('../fonts/room-escape.svg#escape') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
    font-family: "escape" !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-sm-instagram::before { content: "\e91e"; }
.icon-sm-facebook::before { content: "\e91d"; }
.icon-sm-youtube::before { content: "\e921"; }
.icon-sm-tiktok::before { content: "\e91f"; }
.icon-phone::before { content: "\e919"; }
.icon-mail::before { content: "\e917"; }
.icon-location::before { content: "\e916"; }
.icon-comment::before { content: "\e90d"; }
.icon-menu::before { content: "\e918"; }

/* CSS Variables für einfache Anpassung */
:root {
    --enigmania-color-primary: #1a1a1a;
    --enigmania-color-secondary: #d4af37;
    --enigmania-color-accent: #8b4513;
    --enigmania-color-text: #333333;
    --enigmania-color-text-light: #666666;
    --enigmania-color-bg: #ffffff;
    --enigmania-color-bg-dark: #f5f5f5;
    --enigmania-color-border: #e0e0e0;
    --enigmania-font-primary: 'Roboto Condensed', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --enigmania-font-heading: 'Roboto Condensed', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --enigmania-font-decorative: 'Caveat', cursive;
    --enigmania-spacing-xs: 0.5rem;
    --enigmania-spacing-sm: 1rem;
    --enigmania-spacing-md: 2rem;
    --enigmania-spacing-lg: 3rem;
    --enigmania-spacing-xl: 4rem;
    --enigmania-container-width: 1200px;
    --enigmania-header-height: 120px;
    --enigmania-transition: all 0.3s ease;
    
    /* Background Images - Header */
    --enigmania-bg-topbar: url('../images/header/room-bg-topbar.png');
    --enigmania-bg-topbar-bottom: url('../images/header/room-bg-topbar-bottom.png');
    --enigmania-nav-bg: url('../images/header/room-nav-bg.svg');
    --enigmania-nav-bg-hover: url('../images/header/room-nav-bg-hover.svg');
    
    /* Background Images - Patterns */
    --enigmania-bg-blue-repeatable: url('../images/patterns/room-bg-blue-repeatable.jpg');
    --enigmania-bg-gutter: url('../images/patterns/room-bg-gutter.webp');
    --enigmania-bg-gutter-png: url('../images/patterns/room-bg-gutter.webp');
    --enigmania-bg-overlay-top: url('../images/patterns/room-bg-overlay-top.png');
    --enigmania-bg-overlay-bottom: url('../images/patterns/room-bg-overlay-bottom.png');
    --enigmania-bg-bottom-blue: url('../images/patterns/room-bg-bottom-blue.png');
    --enigmania-bg-bottom-orange: url('../images/patterns/room-bg-bottom-orange.png');
    --enigmania-bg-bottom-grey: url('../images/patterns/room-bg-bottom-grey.png');
    --enigmania-bg-bottom-yellow: url('../images/patterns/room-bg-bottom-yellow.png');
    --enigmania-bg-bottom-white: url('../images/patterns/room-bg-bottom-white.png');
    --enigmania-bg-bottom: url('../images/patterns/room-bottom-bg.png');
    
    /* Decorative Elements */
    --enigmania-divider: url('../images/patterns/room-divider.png');
    --enigmania-divider-yellow: url('../images/patterns/room-divider_yellow.png');
    --enigmania-divider-white: url('../images/patterns/room-divider-white.png');
    --enigmania-bg-customerquotes: url('../images/patterns/room-bg-customerquotes.png');
    
    /* Hero/Slider Images */
    --enigmania-hero-slider-bg: url('../images/hero/hero-slider-bg.jpg');
}

/* Reset & Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
}

body {
    font-family: var(--enigmania-font-primary);
    color: var(--enigmania-color-text);
    background-color: var(--enigmania-color-bg);
    line-height: 1.6;
    padding-top: 120px; /* Platz für fixed Header */
    overflow-x: hidden;
}

/* Skip Link für Accessibility */
.enigmania-skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: var(--enigmania-color-primary);
    color: var(--enigmania-color-bg);
    padding: 8px 16px;
    text-decoration: none;
    z-index: 1000;
}

.enigmania-skip-link:focus {
    top: 0;
}

/* Container */
.enigmania-container {
    max-width: var(--enigmania-container-width);
    margin: 0 auto;
    padding: 0 var(--enigmania-spacing-sm);
}

@media (min-width: 768px) {
    .enigmania-container {
        padding: 0 var(--enigmania-spacing-md);
    }
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--enigmania-font-heading);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: var(--enigmania-spacing-sm);
    color: var(--enigmania-color-primary);
}

h1 {
    font-size: 2.5rem;
}

h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.75rem;
}

.enigmania-section h3.enigmania-section__subtitle {
    text-align: center !important;
}

h4 {
    font-size: 1.5rem;
}

p {
    margin-bottom: var(--enigmania-spacing-sm);
}

a {
    color: var(--enigmania-color-primary);
    text-decoration: none;
    transition: var(--enigmania-transition);
}

a:hover {
    color: var(--enigmania-color-secondary);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Header */
.enigmania-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 20;
    width: 100%;
    background: var(--enigmania-bg-topbar);
    background-repeat: repeat-x;
    background-position: center bottom;
    transition: all 0.5s ease;
    filter: drop-shadow(0px 30px 30px rgba(0, 0, 0, 0.5));
}

.enigmania-header--drawer-open {
    z-index: 1200;
}

.enigmania-header__top-block {
    color: var(--enigmania-color-bg);
    padding: var(--enigmania-spacing-xs) 0;
    font-size: 0.875rem;
    position: relative;
}

.enigmania-header::after {
    content: '';
    display: block;
    position: absolute;
    bottom: -45px;
    width: 100%;
    height: 45px;
    background: var(--enigmania-bg-topbar-bottom);
    background-repeat: repeat-x;
    background-position: center bottom;
    z-index: -1;
}

.enigmania-header__top-block-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.enigmania-header__logo-block {
    position: relative;
    margin-top: 25px;
}

.enigmania-header__logo-link {
    display: inline-block;
    width: 360px;
}

.enigmania-header__logo-link img {
    display: block;
    width: 100%;
    height: auto;
}

.enigmania-header__social-block ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0;
}

.enigmania-header__social-block ul li {
    display: inline-block;
    margin: 0 5px;
}

.enigmania-header__social-block ul li a {
    display: block;
    opacity: 0.5;
    transition: all 0.5s ease;
    font-size: 12px;
    position: relative;
    top: -3px;
    color: #ffffff;
}

.enigmania-header__social-block ul li a i {
    font-size: 18px;
    position: relative;
    top: 4px;
}

.enigmania-header__social-block ul li a:hover {
    opacity: 1;
    color: #ffffff;
    transition: all 0.5s ease;
}

.enigmania-header__misc-block {
    position: relative;
    top: -3px;
}

.enigmania-header__misc-block ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0;
}

.enigmania-header__misc-block ul li {
    display: inline-block;
    margin: 0 10px;
}

.enigmania-header__misc-block ul li a {
    display: block;
    transition: all 0.5s ease;
    font-size: 13px;
    position: relative;
    color: rgba(255, 255, 255, 0.5);
}

.enigmania-header__misc-block ul li a span {
    display: none;
}

.enigmania-header__misc-block ul li a i {
    font-size: 18px;
    margin-right: 5px;
    position: relative;
    top: 4px;
    transition: all 0.5s ease;
}

.enigmania-header__misc-block ul li a .tooltip-state {
    pointer-events: none;
    opacity: 0;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -30px;
    padding: 10px 15px;
    background: #394e6b;
    color: #ffffff;
    white-space: nowrap;
    transition: all 0.5s ease;
}

.enigmania-header__misc-block ul li a:hover {
    color: #ffffff;
    opacity: 1;
    transition: all 0.5s ease;
}

.enigmania-header__misc-block ul li a:hover i {
    opacity: 1;
    transition: all 0.5s ease;
}

.enigmania-header__misc-block ul li a:hover .tooltip-state {
    display: none;
    opacity: 1;
    transition: all 0.5s ease;
    bottom: -50px;
}

.enigmania-header__menu-block {
    display: inline-block;
}

.enigmania-header__main-menu {
    display: inline-block;
}

.enigmania-header__lang-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.enigmania-header__lang-menu ul li {
    display: inline-block;
}

.enigmania-header__lang-menu ul li a {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
    transition: all 0.5s ease;
    display: flex;
    align-items: center;
    gap: 5px;
}

.enigmania-header__lang-menu ul li a img {
    width: 15px;
    margin-right: 5px;
}

.enigmania-header__lang-menu ul li a:hover {
    color: #ffffff;
    transition: all 0.5s ease;
}

.enigmania-header__site-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0;
}

.enigmania-header__site-links ul li {
    display: inline-block;
}

.enigmania-header__site-links ul li a {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5);
    transition: all 0.5s ease;
    position: relative;
}

.enigmania-header__site-links ul li a .tooltip-state {
    pointer-events: none;
    opacity: 0;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -30px;
    padding: 10px 15px;
    background: #394e6b;
    color: #ffffff;
    white-space: nowrap;
    transition: all 0.5s ease;
}

.enigmania-header__site-links ul li a i {
    margin-right: 5px;
}

.enigmania-header__site-links ul li a:hover {
    color: #ffffff;
    opacity: 1;
    transition: all 0.5s ease;
}

.enigmania-header__site-links ul li a:hover i {
    opacity: 1;
    transition: all 0.5s ease;
}

.enigmania-header__site-links ul li a:hover .tooltip-state {
    display: none;
    opacity: 1;
    transition: all 0.5s ease;
    bottom: -50px;
}

.enigmania-header__mobile-block {
    display: none;
}

.enigmania-header__mobile-menu,
.enigmania-header__mobile-toggle {
    margin-left: 30px;
    display: none !important;
    padding: 8px;
    font-size: 14px;
    position: relative;
    top: 3px;
    color: #ffffff;
    text-decoration: none;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 1001;
    pointer-events: auto;
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0.1);
    touch-action: manipulation;
}

.enigmania-header__mobile-menu i {
    font-size: 28px;
    position: relative;
    top: -1px;
    margin-left: 5px;
    color: #ffffff;
    display: block;
    transition: color 0.3s ease, transform 0.3s ease;
}

.enigmania-header__mobile-menu:hover i,
.enigmania-header__mobile-toggle:hover i {
    color: #d4af37;
}

.enigmania-header__mobile-menu span {
    position: relative;
    top: -6px;
    color: #ffffff;
}

/* Responsive Header Styles */
@media screen and (max-width: 2050px) {
    .enigmania-header__logo-link {
        width: 300px;
    }
    
    .enigmania-header__misc-block ul li {
        margin: 0 5px;
    }
    
    .enigmania-header__misc-block ul li a span {
        display: none;
    }
    
    .enigmania-header__misc-block ul li a:hover .tooltip-state {
        display: block;
    }
    
    .enigmania-header__nav-link {
        padding: 15px 15px 10px;
    }
    
    .enigmania-header__site-links ul li a span {
        display: none;
    }
    
    .enigmania-header__site-links ul li a:hover .tooltip-state {
        display: block;
    }
}

@media screen and (max-width: 1680px) {
    .enigmania-header__menu-block {
        display: none;
    }
    
    .enigmania-header__mobile-block {
        display: block;
    }
    
    .enigmania-header__mobile-menu,
    .enigmania-header__mobile-toggle {
        display: flex !important;
        align-items: center;
        justify-content: center;
    }
    
    .enigmania-header__site-links {
        display: none;
    }
    
    .enigmania-header__lang-menu {
        display: none;
    }
    
    .enigmania-header__social-block {
        display: none;
    }
    
    .enigmania-header__misc-block {
        display: none;
    }
}

@media screen and (max-width: 1024px) {
    .enigmania-header__logo-link {
        width: 220px;
    }
}

.enigmania-header__nav-menu {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 0;
    align-items: center;
    position: relative;
    /* transform wird in responsive.css für Mobile gesetzt */
    transition: none;
    /* Kein transform hier, wird per CSS/JS gesetzt */
}

/* Desktop: Normale Navigation - NUR wenn nicht Mobile */
@media (min-width: 768px) {
    .enigmania-header__nav-menu {
        display: flex !important;
        position: static !important;
        /* KEIN transform hier - wird per CSS/JS für Mobile gesetzt */
        width: auto !important;
        height: auto !important;
        background: transparent !important;
        padding: 0 !important;
        overflow: visible !important;
    }
    
    .enigmania-header__nav-menu.enigmania-mobile-menu-open {
        /* KEIN transform hier - wird per CSS/JS für Mobile gesetzt */
    }
}

/* Mobile: Überschreibe Desktop-Styles - MUSS nach Desktop-Styles kommen */
@media (max-width: 767px) {
    .enigmania-header__nav-menu.enigmania-mobile-menu-open {
        transform: translateX(0) !important;
        position: fixed !important;
        left: 0 !important;
        width: 85% !important;
        max-width: 320px !important;
        height: 100vh !important;
        background: rgb(27, 49, 73) !important;
        display: flex !important;
        z-index: 999 !important;
    }
}

.enigmania-header__nav-menu li {
    display: inline-block;
}

.enigmania-header__nav-link {
    color: #ffffff;
    position: relative;
    display: inline-block;
    text-align: center;
    padding: 20px 20px 10px;
    font-size: 12px;
    font-family: var(--enigmania-font-heading);
    font-weight: bold;
    line-height: 180%;
    text-transform: uppercase;
    transition: all 0.5s ease;
}

.enigmania-header__nav-link::before {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: var(--enigmania-nav-bg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    opacity: 0;
    transition: all 0.5s ease;
}

.enigmania-header__nav-link::after {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: var(--enigmania-nav-bg-hover);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    opacity: 0;
    transition: all 0.5s ease;
}

.enigmania-header__nav-link span {
    display: block;
    color: #b5714d;
    transition: all 0.5s ease;
}

.enigmania-header__nav-menu li:hover .enigmania-header__nav-link::before {
    opacity: 1;
    transition: all 0.5s ease;
}

.enigmania-header__nav-menu li:hover .enigmania-header__nav-link::after {
    opacity: 0;
    transition: all 0.5s ease;
}

.enigmania-header__nav-menu li:hover .enigmania-header__nav-link span {
    color: #ffffff;
}

/* Hero Section */
.enigmania-hero {
    position: relative;
    width: 100%;
    height: 100vh;
    margin-top: 0;
    z-index: 1;
    background-color: #1a1a1a; /* Fallback-Hintergrund */
    min-height: 100vh;
    scroll-margin-top: 0; /* Hero beginnt oben, kein Offset nötig */
}

.enigmania-hero__slider {
    position: relative;
    width: 100%;
    height: 100vh;
}

.enigmania-hero__slide {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    opacity: 0;
    transition: opacity 1s ease-in-out;
    z-index: 0;
}

.enigmania-hero__slide .image-block {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
}

.enigmania-hero__slide .image-overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
}

.enigmania-hero__slide .gutter-overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: var(--enigmania-bg-gutter);
    background-repeat: repeat;
    background-position: center;
    opacity: 0.1;
    z-index: 1;
}

.enigmania-hero__slide.active {
    opacity: 1;
    z-index: 1;
}

.enigmania-hero__slide .content-block {
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
    color: #ffffff;
    text-align: center;
}

.enigmania-hero__slide .content-block * {
    color: #ffffff;
}

.enigmania-hero__slide .content-block .ft-headlines .title {
    text-shadow: 0px 0px 15px rgb(0, 0, 0);
    color: #ffffff;
    font-size: 3.5rem;
    font-weight: 700;
}

.enigmania-hero__slide .content-block .ft-headlines .subtitle {
    text-shadow: 0px 0px 15px rgb(0, 0, 0);
    color: #ffffff;
    font-size: 1.5rem;
    font-weight: 700;
}

.enigmania-hero__slide .content-block .ft-buttons {
    margin-top: 3vh;
}

.enigmania-hero__slide-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
}

.enigmania-hero__scroll-indicator {
    position: absolute;
    bottom: var(--enigmania-spacing-md);
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    color: var(--enigmania-color-bg);
    z-index: 2;
    animation: bounce 2s infinite;
}

.enigmania-hero__scroll-arrow {
    font-size: 2rem;
    margin-top: var(--enigmania-spacing-xs);
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateX(-50%) translateY(0);
    }
    40% {
        transform: translateX(-50%) translateY(-10px);
    }
    60% {
        transform: translateX(-50%) translateY(-5px);
    }
}

/* Buttons */
.enigmania-button {
    display: inline-block;
    padding: var(--enigmania-spacing-sm) var(--enigmania-spacing-md);
    background: var(--enigmania-color-primary);
    color: var(--enigmania-color-bg);
    border: 2px solid var(--enigmania-color-primary);
    border-radius: 4px;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    transition: var(--enigmania-transition);
    text-decoration: none;
}

.enigmania-button:hover {
    background: var(--enigmania-color-secondary);
    border-color: var(--enigmania-color-secondary);
    color: var(--enigmania-color-bg);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.enigmania-button--primary {
    background: var(--enigmania-color-primary);
    color: var(--enigmania-color-bg);
}

.enigmania-button--secondary {
    background: transparent;
    color: var(--enigmania-color-primary);
}

.enigmania-button--large {
    padding: var(--enigmania-spacing-md) var(--enigmania-spacing-lg);
    font-size: 1.125rem;
}

/* Sections */
.enigmania-section {
    padding: var(--enigmania-spacing-xl) 0;
    scroll-margin-top: 150px; /* Offset für fixed Header + zusätzliche Pixel */
}

/* Scroll-Margin für alle Sections mit IDs */
section[id] {
    scroll-margin-top: 150px;
}

.enigmania-section__title {
    text-align: center;
    margin-bottom: var(--enigmania-spacing-md);
    position: relative;
    padding-bottom: var(--enigmania-spacing-sm);
    z-index: 2;
}

.enigmania-section__title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background: var(--enigmania-color-secondary);
}

.enigmania-section__subtitle {
    text-align: center !important;
    margin-bottom: var(--enigmania-spacing-md);
    display: block;
    width: 100%;
}

.enigmania-section__content {
    max-width: 800px;
    margin: 0 auto var(--enigmania-spacing-md);
    text-align: center;
    position: relative;
    z-index: 2;
}

.enigmania-section__button-wrapper {
    text-align: center;
    margin-top: var(--enigmania-spacing-md);
}

/* Intro Section */
.enigmania-intro {
    padding: var(--enigmania-spacing-xl) 0;
    background: var(--enigmania-color-bg-dark);
    position: relative;
    scroll-margin-top: 150px; /* Offset für fixed Header + zusätzliche Pixel */
}

.enigmania-intro::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50px;
    background-image: var(--enigmania-bg-overlay-top);
    background-repeat: repeat-x;
    background-position: top;
}

.enigmania-intro::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50px;
    background-image: var(--enigmania-bg-overlay-bottom);
    background-repeat: repeat-x;
    background-position: bottom;
}

.enigmania-intro__title {
    text-align: center;
    font-size: 3rem;
    margin-bottom: var(--enigmania-spacing-sm);
}

.enigmania-intro__subtitle {
    text-align: center;
    font-size: 1.5rem;
    color: var(--enigmania-color-text-light);
    margin-bottom: var(--enigmania-spacing-md);
}

.enigmania-intro__content {
    max-width: 900px;
    margin: 0 auto;
    text-align: left;
}

/* Categories Section */
.enigmania-categories {
    padding: var(--enigmania-spacing-xl) 0;
    background: var(--enigmania-color-bg);
}

.enigmania-categories__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--enigmania-spacing-md);
}

@media (min-width: 768px) {
    .enigmania-categories__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .enigmania-categories__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.enigmania-categories__card {
    position: relative;
    height: 300px;
    background: var(--enigmania-color-primary);
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--enigmania-color-bg);
    transition: var(--enigmania-transition);
    background-size: cover;
    background-position: center;
}

.enigmania-categories__card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    transition: var(--enigmania-transition);
}

.enigmania-categories__card:hover::before {
    background: rgba(0, 0, 0, 0.3);
}

.enigmania-categories__card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.enigmania-categories__card-content {
    position: relative;
    z-index: 1;
    padding: var(--enigmania-spacing-md);
}

.enigmania-categories__card-title {
    font-size: 1.75rem;
    margin-bottom: var(--enigmania-spacing-sm);
    color: var(--enigmania-color-bg);
}

.enigmania-categories__card-text {
    color: var(--enigmania-color-bg);
    opacity: 0.9;
}

/* Features Section */
.enigmania-features {
    padding: var(--enigmania-spacing-xl) 0;
    background: var(--enigmania-color-bg-dark);
    background-image: var(--enigmania-bg-blue-repeatable);
    background-repeat: repeat;
    position: relative;
}

.enigmania-features__title {
    text-align: center;
    margin-bottom: var(--enigmania-spacing-sm);
    position: relative;
    z-index: 2;
    color: #ffffff;
}

.enigmania-features__subtitle {
    text-align: center;
    color: #ffffff;
    margin-bottom: var(--enigmania-spacing-lg);
    position: relative;
    z-index: 2;
}

.enigmania-features__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--enigmania-spacing-md);
    position: relative;
    z-index: 2;
}

@media (min-width: 768px) {
    .enigmania-features__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .enigmania-features__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.enigmania-features__card {
    background: var(--enigmania-color-bg);
    padding: var(--enigmania-spacing-md);
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: var(--enigmania-transition);
}

.enigmania-features__card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
}

.enigmania-features__card-icon {
    font-size: 3rem;
    margin-bottom: var(--enigmania-spacing-sm);
}

.enigmania-features__card-title {
    font-size: 1.25rem;
    margin-bottom: var(--enigmania-spacing-sm);
}

.enigmania-features__card-text {
    color: var(--enigmania-color-text-light);
    font-size: 0.9375rem;
}

/* Teamevents Section */
.enigmania-teamevents {
    background: var(--enigmania-color-bg);
}

.enigmania-teamevents__gallery {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--enigmania-spacing-md);
    margin: var(--enigmania-spacing-md) 0;
}

@media (min-width: 768px) {
    .enigmania-teamevents__gallery {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .enigmania-teamevents__gallery {
        grid-template-columns: repeat(3, 1fr);
    }
}

.enigmania-teamevents__gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    aspect-ratio: 4/3;
}

.enigmania-teamevents__gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--enigmania-transition);
}

.enigmania-teamevents__gallery-item:hover img {
    transform: scale(1.1);
}

/* Escape Rooms Section */
.enigmania-escape-rooms {
    background: var(--enigmania-color-bg-dark);
    position: relative;
}

.enigmania-escape-rooms::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50px;
    background-image: var(--enigmania-bg-overlay-top);
    background-repeat: repeat-x;
    background-position: top;
    z-index: 1;
    pointer-events: none;
}

.enigmania-escape-rooms::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50px;
    background-image: var(--enigmania-bg-overlay-bottom);
    background-repeat: repeat-x;
    background-position: bottom;
    z-index: 1;
    pointer-events: none;
}

.enigmania-escape-rooms__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--enigmania-spacing-md);
    position: relative;
    z-index: 2;
}

@media (min-width: 768px) {
    .enigmania-escape-rooms__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .enigmania-escape-rooms__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.enigmania-escape-room-card {
    background: var(--enigmania-color-bg);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: var(--enigmania-transition);
}

.enigmania-escape-room-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
}

.enigmania-escape-room-card__image {
    width: 100%;
    height: 250px;
    object-fit: cover;
}

.enigmania-escape-room-card__content {
    padding: var(--enigmania-spacing-md);
}

.enigmania-escape-room-card__title {
    font-size: 1.5rem;
    margin-bottom: var(--enigmania-spacing-xs);
}

.enigmania-escape-room-card__location {
    display: inline-block;
    padding: 4px 12px;
    background: var(--enigmania-color-secondary);
    color: var(--enigmania-color-bg);
    border-radius: 20px;
    font-size: 0.875rem;
    margin-bottom: var(--enigmania-spacing-sm);
}

.enigmania-escape-room-card__description {
    color: var(--enigmania-color-text-light);
    font-size: 0.9375rem;
}

/* Outdoor Rallyes Section */
.enigmania-outdoor-rallyes {
    background: var(--enigmania-color-bg);
    position: relative;
}

.enigmania-outdoor-rallyes::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50px;
    background-image: var(--enigmania-bg-overlay-top);
    background-repeat: repeat-x;
    background-position: top;
    z-index: 1;
    pointer-events: none;
}

.enigmania-outdoor-rallyes::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50px;
    background-image: var(--enigmania-bg-overlay-bottom);
    background-repeat: repeat-x;
    background-position: bottom;
    z-index: 1;
    pointer-events: none;
}

.enigmania-outdoor-rallyes__features {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--enigmania-spacing-md);
    margin: var(--enigmania-spacing-md) 0;
    position: relative;
    z-index: 2;
}

@media (min-width: 768px) {
    .enigmania-outdoor-rallyes__features {
        grid-template-columns: repeat(2, 1fr);
    }
}

.enigmania-outdoor-rallyes__feature-item {
    background: var(--enigmania-color-bg-dark);
    padding: var(--enigmania-spacing-md);
    border-radius: 8px;
    border-left: 4px solid var(--enigmania-color-secondary);
}

/* Firmenfeiern Section */
.enigmania-firmenfeiern {
    background: var(--enigmania-color-bg-dark);
    position: relative;
}

.enigmania-firmenfeiern::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50px;
    background-image: var(--enigmania-bg-overlay-top);
    background-repeat: repeat-x;
    background-position: top;
    z-index: 1;
    pointer-events: none;
}

.enigmania-firmenfeiern::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50px;
    background-image: var(--enigmania-bg-overlay-bottom);
    background-repeat: repeat-x;
    background-position: bottom;
    z-index: 1;
    pointer-events: none;
}

.enigmania-firmenfeiern__packages {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--enigmania-spacing-md);
    margin: var(--enigmania-spacing-md) 0;
    position: relative;
    z-index: 2;
}

@media (min-width: 768px) {
    .enigmania-firmenfeiern__packages {
        grid-template-columns: repeat(2, 1fr);
    }
}

.enigmania-firmenfeiern__package {
    background: var(--enigmania-color-bg);
    padding: var(--enigmania-spacing-md);
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Booking Section */
.enigmania-booking {
    padding: var(--enigmania-spacing-xl) 0;
    background: var(--enigmania-color-primary);
    color: var(--enigmania-color-bg);
    text-align: center;
}

.enigmania-booking__title {
    color: var(--enigmania-color-bg);
    margin-bottom: var(--enigmania-spacing-md);
}

.enigmania-booking__buttons {
    display: flex;
    flex-direction: column;
    gap: var(--enigmania-spacing-md);
    align-items: center;
}

@media (min-width: 768px) {
    .enigmania-booking__buttons {
        flex-direction: row;
        justify-content: center;
    }
}

.enigmania-booking .enigmania-button {
    background: var(--enigmania-color-bg);
    color: var(--enigmania-color-primary);
    border-color: var(--enigmania-color-bg);
}

.enigmania-booking .enigmania-button:hover {
    background: var(--enigmania-color-secondary);
    border-color: var(--enigmania-color-secondary);
    color: var(--enigmania-color-bg);
}

/* Testimonials Section */
.enigmania-testimonials {
    padding: var(--enigmania-spacing-xl) 0;
    background: var(--enigmania-color-bg);
}

.enigmania-testimonials__title {
    text-align: center;
    margin-bottom: var(--enigmania-spacing-lg);
}

.enigmania-testimonials__slider {
    position: relative;
    max-width: 800px;
    margin: 0 auto;
}

.enigmania-testimonial {
    background: var(--enigmania-color-bg-dark);
    padding: var(--enigmania-spacing-lg);
    border-radius: 8px;
    text-align: center;
    display: none;
}

.enigmania-testimonial.active {
    display: block;
}

.enigmania-testimonial__text {
    font-size: 1.125rem;
    font-style: italic;
    margin-bottom: var(--enigmania-spacing-md);
    color: var(--enigmania-color-text);
}

.enigmania-testimonial__author {
    font-weight: 600;
    color: var(--enigmania-color-primary);
}

/* Contact Section */
.enigmania-contact {
    background: var(--enigmania-color-bg);
}

.enigmania-contact__wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--enigmania-spacing-lg);
    margin-bottom: var(--enigmania-spacing-lg);
}

@media (min-width: 1024px) {
    .enigmania-contact__wrapper {
        grid-template-columns: 1fr 1fr;
    }
}

.enigmania-contact__form-group {
    margin-bottom: var(--enigmania-spacing-md);
}

.enigmania-contact__form-label {
    display: block;
    margin-bottom: var(--enigmania-spacing-xs);
    font-weight: 600;
    color: var(--enigmania-color-primary);
}

.enigmania-contact__form-input,
.enigmania-contact__form-textarea {
    width: 100%;
    padding: var(--enigmania-spacing-sm);
    border: 2px solid var(--enigmania-color-border);
    border-radius: 4px;
    font-family: inherit;
    font-size: 1rem;
    transition: var(--enigmania-transition);
}

.enigmania-contact__form-input:focus,
.enigmania-contact__form-textarea:focus {
    outline: none;
    border-color: var(--enigmania-color-secondary);
}

.enigmania-contact__form-input[type="date"],
.enigmania-contact__form-input[type="time"],
.enigmania-contact__form-input[type="number"] {
    cursor: pointer;
}

select.enigmania-contact__form-input {
    background-color: var(--enigmania-color-bg);
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right var(--enigmania-spacing-sm) center;
    padding-right: calc(var(--enigmania-spacing-md) + 12px);
}

.enigmania-contact__form-checkbox {
    display: flex;
    align-items: flex-start;
    gap: var(--enigmania-spacing-xs);
    cursor: pointer;
}

.enigmania-contact__form-checkbox input {
    margin-top: 4px;
}

.enigmania-contact__form-checkboxes {
    display: flex;
    flex-direction: column;
    gap: var(--enigmania-spacing-sm);
}

.enigmania-contact__form-checkbox-item {
    display: flex;
    align-items: center;
    gap: var(--enigmania-spacing-xs);
    cursor: pointer;
    padding: var(--enigmania-spacing-xs);
    border-radius: 4px;
    transition: var(--enigmania-transition);
}

.enigmania-contact__form-checkbox-item:hover {
    background-color: var(--enigmania-color-bg-dark);
}

.enigmania-contact__form-checkbox-item input[type="checkbox"] {
    width: auto;
    margin: 0;
    cursor: pointer;
    flex-shrink: 0;
}

.enigmania-contact__form-checkbox-item span {
    cursor: pointer;
    user-select: none;
}

.enigmania-contact__form-message {
    margin-top: var(--enigmania-spacing-md);
    padding: var(--enigmania-spacing-sm);
    border-radius: 4px;
    display: none;
}

.enigmania-contact__form-message.success {
    background: #1e7e34;
    color: #ffffff;
    border: 1px solid #155724;
    display: block;
}

.enigmania-contact__form-message.error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
    display: block;
}

.enigmania-contact__info-item {
    margin-bottom: var(--enigmania-spacing-md);
}

.enigmania-contact__info-title {
    font-size: 1.25rem;
    margin-bottom: var(--enigmania-spacing-sm);
    color: var(--enigmania-color-primary);
}

.enigmania-contact__info-text {
    margin-bottom: var(--enigmania-spacing-xs);
    color: var(--enigmania-color-text-light);
}

.enigmania-contact__locations {
    display: flex;
    flex-direction: column;
    gap: var(--enigmania-spacing-sm);
}

.enigmania-contact__location {
    padding: var(--enigmania-spacing-sm);
    background: var(--enigmania-color-bg-dark);
    border-radius: 4px;
}

.enigmania-contact__location-name {
    font-weight: 600;
    margin-bottom: var(--enigmania-spacing-xs);
}

.enigmania-contact__location-address {
    color: var(--enigmania-color-text-light);
    font-size: 0.9375rem;
}

.enigmania-contact__social {
    display: flex;
    gap: var(--enigmania-spacing-md);
}

.enigmania-contact__social-link {
    display: inline-block;
    width: 40px;
    height: 40px;
    background: var(--enigmania-color-primary);
    color: var(--enigmania-color-bg);
    border-radius: 50%;
    text-align: center;
    line-height: 40px;
    transition: var(--enigmania-transition);
}

.enigmania-contact__social-link:hover {
    background: var(--enigmania-color-secondary);
    transform: translateY(-3px);
}

.enigmania-contact__maps {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--enigmania-spacing-md);
    margin-top: var(--enigmania-spacing-lg);
}

@media (min-width: 1024px) {
    .enigmania-contact__maps {
        grid-template-columns: repeat(2, 1fr);
    }
}

.enigmania-contact__map-wrapper {
    margin-bottom: var(--enigmania-spacing-md);
}

.enigmania-contact__map-title {
    font-size: 1.25rem;
    margin-bottom: var(--enigmania-spacing-sm);
    color: var(--enigmania-color-primary);
}

.enigmania-contact__map {
    width: 100%;
    height: 300px;
    border: 0;
    border-radius: 8px;
}

/* Footer */
.enigmania-footer {
    background: var(--enigmania-color-primary);
    background-image: var(--enigmania-bg-bottom);
    background-repeat: repeat;
    background-position: top;
    color: var(--enigmania-color-bg);
    padding: var(--enigmania-spacing-xl) 0 var(--enigmania-spacing-md);
    position: relative;
}

.enigmania-footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 20px;
    background-image: var(--enigmania-bg-gutter-png);
    background-repeat: repeat-x;
    background-position: top;
}

.enigmania-footer__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--enigmania-spacing-lg);
    margin-bottom: var(--enigmania-spacing-lg);
}

@media (min-width: 768px) {
    .enigmania-footer__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .enigmania-footer__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.enigmania-footer__column-title {
    font-size: 1.25rem;
    margin-bottom: var(--enigmania-spacing-sm);
    color: var(--enigmania-color-bg);
}

.enigmania-footer__column-list {
    list-style: none;
}

.enigmania-footer__column-link {
    color: var(--enigmania-color-bg);
    opacity: 0.8;
    display: block;
    padding: var(--enigmania-spacing-xs) 0;
    transition: var(--enigmania-transition);
}

.enigmania-footer__column-link:hover {
    opacity: 1;
    color: var(--enigmania-color-secondary);
    padding-left: var(--enigmania-spacing-xs);
}

.enigmania-footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding-top: var(--enigmania-spacing-md);
    display: flex;
    flex-direction: column;
    gap: var(--enigmania-spacing-sm);
    align-items: center;
    text-align: center;
}

@media (min-width: 768px) {
    .enigmania-footer__bottom {
        flex-direction: row;
        justify-content: space-between;
    }
}

.enigmania-footer__copyright {
    opacity: 0.8;
    font-size: 0.875rem;
}

.enigmania-footer__links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--enigmania-spacing-md);
    justify-content: center;
}

.enigmania-footer__link {
    color: var(--enigmania-color-bg);
    opacity: 0.8;
    font-size: 0.875rem;
    transition: var(--enigmania-transition);
}

.enigmania-footer__link:hover {
    opacity: 1;
    color: var(--enigmania-color-secondary);
}

.enigmania-footer__imprint {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding-top: var(--enigmania-spacing-lg);
    margin-top: var(--enigmania-spacing-lg);
    margin-bottom: var(--enigmania-spacing-lg);
}

.enigmania-footer__imprint-title {
    font-size: 1.25rem;
    margin-bottom: var(--enigmania-spacing-md);
    color: var(--enigmania-color-bg);
    font-weight: 600;
}

.enigmania-footer__imprint-content {
    color: var(--enigmania-color-bg);
    opacity: 0.9;
    font-size: 0.875rem;
    line-height: 1.6;
}

.enigmania-footer__imprint-content p {
    margin-bottom: var(--enigmania-spacing-sm);
}

.enigmania-footer__imprint-content p:last-child {
    margin-bottom: 0;
}

.enigmania-footer__imprint-content strong {
    font-weight: 600;
    opacity: 1;
}

.enigmania-footer__imprint-content a {
    color: var(--enigmania-color-bg);
    opacity: 0.9;
    text-decoration: underline;
    transition: var(--enigmania-transition);
}

.enigmania-footer__imprint-content a:hover {
    opacity: 1;
    color: var(--enigmania-color-secondary);
}

/* Scroll to Top Button */
.enigmania-scroll-top {
    position: fixed;
    bottom: var(--enigmania-spacing-md);
    right: var(--enigmania-spacing-md);
    width: 50px;
    height: 50px;
    background: var(--enigmania-color-primary);
    color: var(--enigmania-color-bg);
    border: none;
    border-radius: 50%;
    font-size: 1.5rem;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: var(--enigmania-transition);
    z-index: 999;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.enigmania-scroll-top.visible {
    opacity: 1;
    visibility: visible;
}

.enigmania-scroll-top:hover {
    background: var(--enigmania-color-secondary);
    transform: translateY(-5px);
}

