/* STREAMING_CHUNK:Defining color variables and theme roots... */
:root {
--primary-blue: #2563eb;
--secondary-blue: #1d4ed8;
--light-blue: #60a5fa;
--success-green: #16a34a;
--manual-green: #22c55e;
--whatsapp-green: #25d366;
--bg-dark: #0f172a;
--card-dark: #1e293b;
}

/* STREAMING_CHUNK:Applying dark mode and global background styles... */
body {
background-color: var(--bg-dark);
color: #f1f5f9;
margin: 0;
padding: 0;
min-height: 100vh;
position: relative;
}

body::before {
content: "";
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
background-image: url('Hintergrund.jpg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
opacity: 0.15;
}

/* STREAMING_CHUNK:Styling cards and glassmorphic containers... */
.card {
background-color: var(--card-dark);
border-color: #334155;
backdrop-filter: blur(10px);
}

.search-input {
background-color: #334155;
color: white;
border-color: #475569;
}

.lang-toggle {
background-color: #1e293b;
border-color: #334155;
}

.contact-input {
background-color: #334155;
color: white;
border-color: #475569;
}

.active-button {
border-color: var(--light-blue) !important;
box-shadow: 0 0 25px rgba(96, 165, 250, 0.8), inset 0 0 10px rgba(96, 165, 250, 0.4) !important;
background-color: rgba(96, 165, 250, 0.1) !important;
}

/* STREAMING_CHUNK:Configuring product navigation tiles... */
.product-btn {
padding: 0.25rem !important;
min-height: 50px;
max-width: 240px;
margin: 0 auto;
border-width: 1px !important;
border-color: rgba(96, 165, 250, 0.3);
background-color: rgba(255, 255, 255, 0.02);
backdrop-filter: blur(4px);
transition: all 0.4s ease-in-out;
position: relative;
transform-origin: top center;
z-index: 1;
overflow: hidden;
opacity: 1;
max-height: 500px;
}

/* STREAMING_CHUNK:Configuring desktop hover zooming... */
@media (min-width: 768px) {
.product-btn:hover {
transform: scale(2);
z-index: 50;
border-color: rgba(96, 165, 250, 0.8) !important;
background-color: rgba(37, 99, 235, 0.15) !important;
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.6), 0 0 20px rgba(96, 165, 250, 0.3) !important;
}
}

/* STREAMING_CHUNK:Configuring mobile animations and accordion collapses... */
@media (max-width: 767px) {
#categories-container {
display: flex !important;
flex-direction: column !important;
gap: 2rem;
overflow-anchor: none;
transition: gap 0.4s ease-in-out;
}

.product-btn {
    flex-shrink: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    max-height: 150px;
    transition: all 0.4s ease-in-out;
}

.product-btn img {
    display: block;
    width: 100%;
    height: auto;
    min-height: 50px;
    -webkit-transform: translate3d(0,0,0);
    transform: translateZ(0);
}

#categories-container[data-active="true"] {
    gap: 0 !important;
    transition: gap 0.4s ease-in-out 0.3s !important;
}

#categories-container[data-active="true"] .product-btn:not(.is-active-mobile) {
    max-height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    border-width: 0 !important;
    transform: scale(0.9);
    pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s ease, max-height 0.4s ease 0.3s, min-height 0.4s ease 0.3s, margin 0.4s ease 0.3s, padding 0.4s ease 0.3s, border-width 0.4s ease 0.3s !important;
}

#categories-container[data-active="true"] .product-btn.is-active-mobile {
    max-width: 100% !important;
    width: 100% !important;
    max-height: 500px !important;
    transform: scale(1) !important;
    margin-top: 0 !important;
    margin-bottom: 1.5rem !important;
    z-index: 50;
    border-color: rgba(96, 165, 250, 0.8) !important;
    background-color: rgba(37, 99, 235, 0.15) !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5), 0 0 20px rgba(96, 165, 250, 0.3) !important;
    transition: all 0.4s ease-in-out !important;
}

.mobile-sticky-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 90 !important;
    background-color: rgba(15, 23, 42, 0.95) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    margin-left: -1rem !important;
    margin-right: -1rem !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    margin-bottom: 1.5rem !important;
    border-bottom: 1px solid rgba(51, 65, 85, 0.5) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.6) !important;
}


}

/* STREAMING_CHUNK:Styling toolbar buttons and utility components... */
.toolbar-btn-light {
color: var(--light-blue);
border-color: var(--light-blue);
}
.toolbar-btn-light:hover {
background-color: var(--light-blue);
color: white;
}

.media-container {
position: relative;
width: 100%;
min-height: 300px;
display: flex;
align-items: center;
justify-content: center;
background: #000;
border-radius: 0.5rem;
overflow: hidden;
}

.video-wrapper {
position: relative;
padding-bottom: 56.25%;
height: 0;
width: 100%;
}

.video-wrapper video {
position: absolute;
top: 0; left: 0; width: 100%; height: 100%;
}

.lang-active {
background-color: var(--primary-blue);
color: white;
}

.manual-btn-style {
color: var(--manual-green);
border-color: var(--light-blue);
}
.manual-btn-style:hover {
background-color: var(--manual-green);
color: white;
border-color: var(--manual-green);
}

.error-border {
border-color: #ef4444 !important;
box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2);
}

.promo-text-container {
user-select: none;
}

/* STREAMING_CHUNK:Styling fullscreen media overlay and letterhead paper... */
.fs-media-container {
position: relative;
width: 100vw;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: #000;
}

.fs-media-container iframe,
.fs-media-container video,
.fs-media-container img {
width: 100%;
height: 100%;
object-fit: contain;
border: none;
}

.pdf-page {
background-color: #ffffff;
color: #1e293b;
font-family: 'Inter', sans-serif;
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3);
border: 1px solid #e2e8f0;
border-radius: 4px;
max-width: 800px;
width: 100%;
padding: 3rem;
line-height: 1.5;
font-size: 0.85rem;
}