/* Plugin Integration CSS - Mstimaj Theme */

/* ==========================================================================
   BookitOnce Integration
   ========================================================================== */

/* Ensure BookitOnce styles don't conflict with theme */
.bookitonce-booking-widget * {
    box-sizing: border-box;
}

/* Override any conflicting margins/padding */
.bo-widget-container,
.bookitonce-services-list,
.bo-services-grid {
    margin: 0 !important;
    padding: 0 !important;
}

/* Fix any font inheritance issues */
.bo-service-name,
.bo-service-description,
.bo-service-price,
.bo-service-duration {
    font-family: var(--font-main) !important;
}

/* ==========================================================================
   AnnounceitOnce Integration
   ========================================================================== */

/* Reset any conflicting styles */
.announceitonce-newsletter-wrapper * {
    box-sizing: border-box;
}

/* Ensure form elements match theme */
.announceitonce-newsletter-wrapper form {
    background: none !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Override any plugin defaults that conflict */
.announceitonce-newsletter-wrapper input,
.announceitonce-newsletter-wrapper button {
    font-size: inherit !important;
    line-height: inherit !important;
}

/* ==========================================================================
   VoiceitOnce Integration
   ========================================================================== */

/* Theme-specific overrides for article layouts */
.human-algorithm .voiceitonce-articles-grid {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
}

/* Ensure articles match the existing theme article cards */
.human-algorithm .voiceitonce-article-card {
    background: rgba(0, 0, 0, 0.3) !important;
    border: 1px solid rgba(0, 255, 157, 0.1) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
}

.human-algorithm .voiceitonce-article-card:hover {
    border-color: var(--accent) !important;
    background: rgba(0, 255, 157, 0.1) !important;
    transform: scale(1.02) !important;
}

/* Featured articles section styling */
.featured-articles-section {
    margin-bottom: 3rem;
}

.featured-articles-section .voiceitonce-article-card {
    background: linear-gradient(135deg, rgba(26, 26, 46, 0.8), rgba(0, 255, 157, 0.1)) !important;
    border: 2px solid rgba(0, 255, 157, 0.3) !important;
}

/* Regular articles section */
.regular-articles-section {
    margin-top: 2rem;
}

/* Sidebar widget adjustments */
.sidebar .voiceitonce-articles-grid {
    display: block !important;
}

.sidebar .voiceitonce-article-card {
    margin-bottom: 1rem !important;
    padding: 1rem !important;
    background: rgba(0, 0, 0, 0.2) !important;
}

.sidebar .voiceitonce-article-title a {
    font-size: 0.9rem !important;
    line-height: 1.4 !important;
}

.sidebar .voiceitonce-article-meta {
    font-size: 0.75rem !important;
    margin-top: 0.5rem !important;
}

/* Categories widget in sidebar */
.sidebar .voiceitonce-categories-list {
    display: block !important;
}

.sidebar .voiceitonce-category-item {
    margin-bottom: 0.5rem !important;
}

.sidebar .voiceitonce-category-link {
    padding: 0.5rem 0 !important;
    display: block !important;
    border-bottom: 1px solid rgba(0, 255, 157, 0.1) !important;
}

/* ==========================================================================
   Responsive Adjustments
   ========================================================================== */

@media (max-width: 768px) {
    /* BookitOnce mobile adjustments */
    .bo-services-grid,
    .bookitonce-services-list {
        grid-template-columns: 1fr !important;
    }
    
    /* VoiceitOnce mobile adjustments */
    .voiceitonce-articles-grid {
        grid-template-columns: 1fr !important;
    }
    
    .featured-articles-section,
    .regular-articles-section {
        margin-bottom: 2rem;
    }
}

@media (max-width: 480px) {
    /* Tighter spacing on very small screens */
    .voiceitonce-article-content {
        padding: 1rem !important;
    }
    
    .announceitonce-newsletter-wrapper {
        margin-top: 0.5rem;
    }
}

/* ==========================================================================
   Accessibility Improvements
   ========================================================================== */

/* Ensure good focus states for all plugin elements */
.bo-input:focus,
.bo-btn:focus,
.announceitonce-newsletter-wrapper input:focus,
.announceitonce-newsletter-wrapper button:focus,
.voiceitonce-article-card:focus,
.voiceitonce-category-link:focus {
    outline: 2px solid var(--accent) !important;
    outline-offset: 2px !important;
}

/* Ensure links have proper contrast */
.voiceitonce-article-title a:focus,
.voiceitonce-category-link:focus {
    color: var(--accent) !important;
    text-decoration: underline !important;
}

/* ==========================================================================
   Performance Optimizations
   ========================================================================== */

/* Use hardware acceleration for animations */
.voiceitonce-article-card,
.bo-service-card-standalone,
.announceitonce-newsletter-wrapper button {
    will-change: transform !important;
}

/* Optimize images */
.voiceitonce-article-image img {
    image-rendering: optimizeQuality;
    image-rendering: -webkit-optimize-contrast;
}

/* ==========================================================================
   Dark Mode Compatibility
   ========================================================================== */

/* Ensure all plugin elements work with the dark theme */
@media (prefers-color-scheme: dark) {
    /* These styles are already dark, but ensure consistency */
    .voiceitonce-article-card,
    .bo-service-card-standalone,
    .announceitonce-newsletter-wrapper {
        color-scheme: dark;
    }
}

/* ==========================================================================
   Print Styles
   ========================================================================== */

@media print {
    /* Hide interactive elements when printing */
    .bookitonce-booking-widget,
    .announceitonce-newsletter-wrapper,
    .voiceitonce-article-meta {
        display: none !important;
    }
    
    /* Ensure article content is readable */
    .voiceitonce-article-card {
        background: white !important;
        color: black !important;
        border: 1px solid #ccc !important;
        break-inside: avoid;
        margin-bottom: 1rem !important;
    }
    
    .voiceitonce-article-title a {
        color: black !important;
        text-decoration: none !important;
    }
}