/* FAQ Advanced Theming Plugin - Frontend Styles */
/* Prefixed selectors for isolation - prevents conflicts with other plugins */

.faq-adv-theme-container {
    box-sizing: border-box;
    width: 100%;
    position: relative;
    overflow: hidden;
}

.faq-adv-theme-container *,
.faq-adv-theme-container *::before,
.faq-adv-theme-container *::after {
    box-sizing: border-box;
}

/* Background Layers */
.faq-adv-theme-gradient-bg,
.faq-adv-theme-desktop-bg,
.faq-adv-theme-mobile-bg,
.faq-adv-theme-video-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
}

/* Video Background - Hidden on Mobile */
.faq-adv-theme-video-bg {
    overflow: hidden;
}

.faq-adv-theme-video-bg video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translateX(-50%) translateY(-50%);
    object-fit: cover;
}

/* Mobile: Hide video background completely */
@media (max-width: 767px) {
    .faq-adv-theme-video-bg {
        display: none !important;
    }
}

/* Content Layer */
.faq-adv-theme-content {
    position: relative;
    z-index: 10;
}

/* Typography Reset */
.faq-adv-theme-h1,
.faq-adv-theme-h2,
.faq-adv-theme-h3,
.faq-adv-theme-p {
    margin: 0;
    padding: 0;
}

/* FAQ Wrapper inside container */
.faq-adv-theme-faq-wrapper {
    margin-top: 20px;
}

/* Error State */
.faq-adv-theme-error {
    padding: 20px;
    background: #fee;
    border: 1px solid #fcc;
    border-radius: 8px;
    color: #c00;
    text-align: center;
}

/* Ensure proper stacking */
.faq-adv-theme-gradient-bg { z-index: 1; }
.faq-adv-theme-desktop-bg { z-index: 2; }
.faq-adv-theme-mobile-bg { z-index: 2; }
.faq-adv-theme-video-bg { z-index: 3; }
.faq-adv-theme-content { z-index: 10; }

/* Smooth transitions for responsive */
.faq-adv-theme-desktop-bg,
.faq-adv-theme-mobile-bg {
    transition: opacity 0.3s ease;
}

/* Print styles - hide video */
@media print {
    .faq-adv-theme-video-bg {
        display: none !important;
    }
}
