/**
 * OQRC Partner Videos - Frontend Styles
 * Scoped to .oqrc-partner-dashboard to avoid Divi conflicts
 * All selectors include parent wrapper for maximum specificity
 */

/* Reset pour le container */
.oqrc-partner-dashboard {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    color: #333 !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
}

.oqrc-partner-dashboard *,
.oqrc-partner-dashboard *::before,
.oqrc-partner-dashboard *::after {
    box-sizing: border-box !important;
}

/* CONTAINER PRINCIPAL */
.oqrc-partner-dashboard .oqrc-partner-container {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
   
    gap: 0 !important;
    flex-direction: row !important;
}

/** Navigation sidebar for video browsing */
.oqrc-partner-dashboard .oqrc-sidebar {
    width: 280px !important;
    padding: 24px 12px !important;
    flex-shrink: 0 !important;
    border-right: 1px solid #e0e0e0 !important;
    min-height: 600px !important;
    background: #fafafa !important;
}

.oqrc-partner-dashboard .oqrc-sidebar-section {
    margin-bottom: 24px !important;
}

.oqrc-partner-dashboard .oqrc-sidebar-title {
    font-size: 12px !important;
    color: #666 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 0 12px !important;
    margin-bottom: 8px !important;
    font-weight: 500 !important;
}

.oqrc-partner-dashboard .oqrc-sidebar-menu {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.oqrc-partner-dashboard .oqrc-sidebar-menu li {
    padding: 10px 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    cursor: pointer !important;
    transition: background 0.2s ease, color 0.2s ease !important;
    border-radius: 10px !important;
    margin-bottom: 2px !important;
    font-size: 14px !important;
    color: #333 !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}

.oqrc-partner-dashboard .oqrc-sidebar-menu li:hover {
    background: #f0f0f0 !important;
}

.oqrc-partner-dashboard .oqrc-sidebar-menu li.active {
    background: #e8f4f8 !important;
}

.oqrc-partner-dashboard .oqrc-sidebar-menu li.active,
.oqrc-partner-dashboard .oqrc-sidebar-menu li.active span {
    color: #2b5f7f !important;
    font-weight: 500 !important;
}

.oqrc-partner-dashboard .oqrc-sidebar-menu li i {
    width: 20px !important;
    text-align: center !important;
    font-size: 16px !important;
    color: #666 !important;
}

.oqrc-partner-dashboard .oqrc-sidebar-menu li.active i {
    color: #2b5f7f !important;
}

/* Playlist Promo */
.oqrc-partner-dashboard .oqrc-sidebar-menu li[data-promo="true"] i {
    color: #F1C40F !important;
}

.oqrc-partner-dashboard .oqrc-playlist-count {
    margin-left: auto !important;
    background: #e0e0e0 !important;
    padding: 2px 8px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
    color: #666 !important;
}

/* CONTENU PRINCIPAL */
.oqrc-partner-dashboard .oqrc-main-content {
    flex: 1 !important;
    padding: 24px !important;
    min-width: 0 !important;
    background: #ffffff !important;
}

/* BANNIÈRE */
.oqrc-partner-dashboard .oqrc-banner {
    background: linear-gradient(135deg, #1B75BC 0%, #0d4a7a 100%) !important;
    border-radius: 12px !important;
    padding: 32px !important;
    margin-bottom: 24px !important;
}

.oqrc-partner-dashboard .oqrc-banner h1 {
    font-size: 28px !important;
    font-weight: 700 !important;
    margin: 0 0 8px 0 !important;
    color: #fff !important;
}

.oqrc-partner-dashboard .oqrc-banner p {
    color: rgba(255, 255, 255, 0.95) !important;
    font-size: 15px !important;
    max-width: 600px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* HEADER SECTION */
.oqrc-partner-dashboard .oqrc-section-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 20px !important;
    margin-bottom: 24px !important;
}

.oqrc-partner-dashboard .oqrc-section-header-left h2 {
    font-size: 24px !important;
    font-weight: 700 !important;
    margin: 0 0 4px 0 !important;
    color: #2b5f7f !important;
}

.oqrc-partner-dashboard .oqrc-section-header-left p {
    color: #666 !important;
    font-size: 14px !important;
    margin: 0 !important;
}

/* BARRE DE RECHERCHE */
.oqrc-partner-dashboard .oqrc-search-bar {
    position: relative !important;
}

.oqrc-partner-dashboard .oqrc-search-bar input {
    width: 280px !important;
    padding: 10px 14px 10px 40px !important;
    background: #f5f5f5 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    color: #333 !important;
    font-size: 14px !important;
    transition: border-color 0.2s !important;
}

.oqrc-partner-dashboard .oqrc-search-bar input:focus {
    outline: none !important;
    border-color: #2b5f7f !important;
    background: #ffffff !important;
}

.oqrc-partner-dashboard .oqrc-search-bar input::placeholder {
    color: #999 !important;
}

.oqrc-partner-dashboard .oqrc-search-bar i {
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #999 !important;
    font-size: 14px !important;
}

/** Category filter button styles */
.oqrc-partner-dashboard .oqrc-category-filters {
    display: flex !important;
    gap: 8px !important;
    margin-bottom: 24px !important;
    flex-wrap: wrap !important;
}

.oqrc-partner-dashboard .oqrc-filter-btn {
    background: #f5f5f5 !important;
    color: #333 !important;
    border: none !important;
    padding: 8px 16px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    font-family: inherit !important;
}

.oqrc-partner-dashboard .oqrc-filter-btn:hover {
    background: #e8f4f8 !important;
}

.oqrc-partner-dashboard .oqrc-filter-btn.active {
    background: #2b5f7f !important;
    color: white !important;
    font-weight: 500 !important;
    box-shadow: 0 4px 15px rgba(43, 95, 127, 0.3) !important;
}

/* GRID VIDÉOS */
.oqrc-partner-dashboard .oqrc-videos-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px 16px !important;
}

/* CARD VIDÉO */
.oqrc-partner-dashboard .oqrc-video-card {
    background: transparent !important;
    cursor: pointer !important;
    display: flex !important;
    flex-direction: column !important;
    animation: oqrcFadeIn 0.3s ease forwards !important;
}

.oqrc-partner-dashboard .oqrc-video-card:nth-child(1) { animation-delay: 0.05s !important; }
.oqrc-partner-dashboard .oqrc-video-card:nth-child(2) { animation-delay: 0.1s !important; }
.oqrc-partner-dashboard .oqrc-video-card:nth-child(3) { animation-delay: 0.15s !important; }
.oqrc-partner-dashboard .oqrc-video-card:nth-child(4) { animation-delay: 0.2s !important; }
.oqrc-partner-dashboard .oqrc-video-card:nth-child(5) { animation-delay: 0.25s !important; }
.oqrc-partner-dashboard .oqrc-video-card:nth-child(6) { animation-delay: 0.3s !important; }

@keyframes oqrcFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.oqrc-partner-dashboard .oqrc-video-card:hover .oqrc-video-title {
    color: #2b5f7f !important;
}

.oqrc-partner-dashboard .oqrc-video-thumbnail {
    width: 100% !important;
    aspect-ratio: 16/9 !important;
    background: #e9ecef !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    position: relative !important;
    margin-bottom: 12px !important;
}

.oqrc-partner-dashboard .oqrc-video-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.3s ease !important;
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
}

.oqrc-partner-dashboard .oqrc-video-card:hover .oqrc-video-thumbnail img {
    transform: scale(1.05) !important;
    will-change: transform !important;
}

/* IFRAME PREVIEW POUR VIDÉOS EMBEDDED (privées) */
.oqrc-partner-dashboard .oqrc-video-thumbnail iframe {
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    border: none !important;
    pointer-events: none !important;
}

/* OVERLAY TRANSPARENT POUR CAPTER LE CLIC SUR LES IFRAMES PREVIEW */
.oqrc-partner-dashboard .oqrc-video-preview-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 10 !important;
    cursor: pointer !important;
    background: transparent !important;
}

.oqrc-partner-dashboard .oqrc-video-duration {
    position: absolute !important;
    bottom: 8px !important;
    right: 8px !important;
    background: rgba(0, 0, 0, 0.85) !important;
    color: white !important;
    padding: 3px 6px !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

/* ICÔNE PLAY */
.oqrc-partner-dashboard .oqrc-video-play {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 60px !important;
    height: 60px !important;
    background: rgba(43, 95, 127, 0.9) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s !important;
}

.oqrc-partner-dashboard .oqrc-video-play::after {
    content: '' !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 20px solid white !important;
    border-top: 12px solid transparent !important;
    border-bottom: 12px solid transparent !important;
    margin-left: 4px !important;
}

.oqrc-partner-dashboard .oqrc-video-card:hover .oqrc-video-play {
    background: rgba(241, 196, 15, 0.95) !important;
    transform: translate(-50%, -50%) scale(1.1) !important;
}

/* VIDÉO VERROUILLÉE */
.oqrc-partner-dashboard .oqrc-video-card.locked .oqrc-video-play {
    display: none !important;
}

.oqrc-partner-dashboard .oqrc-video-locked-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(0, 0, 0, 0.6) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    pointer-events: none !important;
    border-radius: 12px !important;
    z-index: 30 !important;
}

.oqrc-partner-dashboard .oqrc-video-card.locked .oqrc-video-locked-overlay {
    opacity: 1 !important;
    pointer-events: auto !important;
}

.oqrc-partner-dashboard .oqrc-locked-icon {
    width: 60px !important;
    height: 60px !important;
    background: rgba(241, 196, 15, 0.95) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #1d2327 !important;
    font-size: 24px !important;
    transition: transform 0.3s !important;
}

.oqrc-partner-dashboard .oqrc-video-card.locked:hover .oqrc-locked-icon {
    transform: scale(1.1) !important;
}

/* INFO VIDÉO */
.oqrc-partner-dashboard .oqrc-pv-video-info {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

/* Version sans parent (au cas où) */
.oqrc-pv-video-info {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.oqrc-partner-dashboard .oqrc-video-avatar {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
    background: #e0e0e0 !important;
}

.oqrc-partner-dashboard .oqrc-video-avatar img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
}

.oqrc-partner-dashboard .oqrc-video-details {
    flex: 1 !important;
    min-width: 0 !important;
}

.oqrc-partner-dashboard .oqrc-video-title {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #0f0f0f !important;
    margin: 0 0 4px 0 !important;
    line-height: 1.4 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    transition: color 0.2s !important;
}

.oqrc-partner-dashboard .oqrc-video-presenter {
    font-size: 12px !important;
    color: #606060 !important;
    margin: 0 0 2px 0 !important;
}

.oqrc-partner-dashboard .oqrc-video-meta {
    font-size: 12px !important;
    color: #606060 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
}

.oqrc-partner-dashboard .oqrc-video-category-badge {
    display: inline-block !important;
    background: rgba(241, 196, 15, 0.15) !important;
    color: #2b5f7f !important;
    padding: 2px 6px !important;
    border-radius: 3px !important;
    font-size: 10px !important;
    font-weight: 500 !important;
}

/**
 * VIDEO MODAL STYLES
 * These modals are placed OUTSIDE .oqrc-partner-dashboard to avoid z-index stacking context issues
 * This ensures they appear above Divi's nav/footer which have high z-index
 */

/* Video playback modal overlay */
.oqrc-video-modal {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.85) !important;
    z-index: 2147483647 !important; /* Maximum z-index to override Divi nav/footer */
    overflow-y: auto !important;
}

.oqrc-video-modal.active {
    display: block !important;
}

.oqrc-video-modal-content {
    max-width: 1000px !important;
    margin: 40px auto !important;
    background: #ffffff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3) !important;
    position: relative !important;
}

.oqrc-video-modal .oqrc-modal-header {
    padding: 16px 20px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    border-bottom: 1px solid #e0e0e0 !important;
    background: #fafafa !important;
}

.oqrc-video-modal .oqrc-modal-title {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #2b5f7f !important;
    margin: 0 !important;
}

.oqrc-video-modal .oqrc-close-modal {
    background: none !important;
    border: none !important;
    color: #666 !important;
    font-size: 20px !important;
    cursor: pointer !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s ease !important;
}

.oqrc-video-modal .oqrc-close-modal:hover {
    background: #e0e0e0 !important;
}

.oqrc-video-modal .oqrc-video-player-container {
    position: relative !important;
    padding-bottom: 56.25% !important;
    height: 0 !important;
    background: #000 !important;
}

.oqrc-video-modal .oqrc-video-player-container iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    image-rendering: -webkit-optimize-contrast !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
}

.oqrc-video-modal .oqrc-video-info-panel {
    padding: 20px !important;
    background: #ffffff !important;
}

.oqrc-video-modal .oqrc-video-info-title {
    font-size: 20px !important;
    font-weight: 600 !important;
    margin: 0 0 12px 0 !important;
    color: #2b5f7f !important;
}

.oqrc-video-modal .oqrc-video-info-meta {
    display: flex !important;
    gap: 16px !important;
    margin-bottom: 16px !important;
    color: #666 !important;
    font-size: 14px !important;
    flex-wrap: wrap !important;
}

.oqrc-video-modal .oqrc-video-info-meta span {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.oqrc-video-modal .oqrc-video-info-meta i {
    color: #F1C40F !important;
}

.oqrc-video-modal .oqrc-video-info-description {
    line-height: 1.6 !important;
    color: #666 !important;
    padding: 16px !important;
    background: #f9f9f9 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    margin: 0 !important;
}

/** Access restriction notification modal */
.oqrc-locked-modal {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.85) !important;
    z-index: 2147483647 !important; /* Maximum z-index to override Divi nav/footer */
    align-items: center !important;
    justify-content: center !important;
}

.oqrc-locked-modal.active {
    display: flex !important;
}

.oqrc-locked-modal-content {
    background: #ffffff !important;
    border-radius: 16px !important;
    padding: 50px 40px !important;
    text-align: center !important;
    max-width: 420px !important;
    margin: 20px !important;
}

.oqrc-locked-modal-icon {
    width: 80px !important;
    height: 80px !important;
    background: linear-gradient(135deg, #F1C40F, #f39c12) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 24px !important;
    font-size: 36px !important;
    color: #1d2327 !important;
}

.oqrc-locked-modal-content h2 {
    color: #1d2327 !important;
    font-size: 22px !important;
    margin: 0 0 12px 0 !important;
}

.oqrc-locked-modal-content p {
    color: #666 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    margin: 0 0 8px 0 !important;
}

.oqrc-locked-modal-content .oqrc-contact-info {
    color: #2b5f7f !important;
    font-weight: 500 !important;
    font-size: 16px !important;
}

.oqrc-locked-modal-content .oqrc-contact-link {
    display: inline-block !important;
    background: #1B75BC !important;
    color: white !important;
    padding: 12px 24px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    margin-top: 16px !important;
    transition: background 0.2s ease !important;
}

.oqrc-locked-modal-content .oqrc-contact-link:hover {
    background: #155a8a !important;
    color: white !important;
    text-decoration: none !important;
}

.oqrc-close-locked-modal {
    position: fixed !important;
    top: 20px !important;
    right: 20px !important;
    background: rgba(255,255,255,0.1) !important;
    border: none !important;
    color: white !important;
    font-size: 24px !important;
    cursor: pointer !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s !important;
    z-index: 2147483647 !important;
}

.oqrc-close-locked-modal:hover {
    background: rgba(255,255,255,0.2) !important;
}

/* EMPTY STATE */
.oqrc-partner-dashboard .oqrc-empty-state {
    text-align: center !important;
    padding: 60px 20px !important;
    color: #999 !important;
    display: none !important;
    grid-column: 1 / -1 !important;
    min-height: 300px !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
}

.oqrc-partner-dashboard .oqrc-empty-state.visible {
    display: flex !important;
}

.oqrc-partner-dashboard .oqrc-empty-state i {
    font-size: 48px !important;
    margin-bottom: 16px !important;
    color: #e0e0e0 !important;
}

.oqrc-partner-dashboard .oqrc-empty-state h3 {
    color: #333 !important;
    margin: 0 0 8px 0 !important;
    font-size: 18px !important;
}

.oqrc-partner-dashboard .oqrc-empty-state p {
    margin: 0 !important;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
    .oqrc-partner-dashboard .oqrc-partner-container {
        flex-direction: column !important;
    }

    .oqrc-partner-dashboard .oqrc-sidebar {
        width: 100% !important;
        min-height: auto !important;
        border-right: none !important;
        border-bottom: 1px solid #e0e0e0 !important;
        padding: 16px !important;
    }

    .oqrc-partner-dashboard .oqrc-sidebar-menu {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .oqrc-partner-dashboard .oqrc-sidebar-menu li {
        padding: 8px 14px !important;
    }

    .oqrc-partner-dashboard .oqrc-sidebar-section {
        margin-bottom: 16px !important;
    }

    .oqrc-partner-dashboard .oqrc-sidebar-title {
        margin-bottom: 12px !important;
    }

    .oqrc-partner-dashboard .oqrc-videos-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .oqrc-partner-dashboard .oqrc-main-content {
        padding: 16px !important;
    }

    .oqrc-partner-dashboard .oqrc-section-header {
        flex-direction: column !important;
        gap: 16px !important;
    }

    .oqrc-partner-dashboard .oqrc-search-bar input {
        width: 100% !important;
    }

    .oqrc-partner-dashboard .oqrc-banner {
        padding: 24px !important;
    }

    .oqrc-partner-dashboard .oqrc-banner h1 {
        font-size: 22px !important;
    }

    .oqrc-partner-dashboard .oqrc-videos-grid {
        grid-template-columns: 1fr !important;
    }

    .oqrc-video-modal-content {
        margin: 0 !important;
        border-radius: 0 !important;
        min-height: 100vh !important;
    }
}

/* Anti-copy protection */
.oqrc-partner-dashboard {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.oqrc-partner-dashboard .oqrc-video-thumbnail img {
    -webkit-user-drag: none !important;
    user-drag: none !important;
    pointer-events: none !important;
    -webkit-font-smoothing: antialiased !important;
}

/* Global image optimization for all images */
html body .oqrc-partner-dashboard img {
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: auto !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
}

/**
 * OVERRIDE DIVI STYLES
 * High specificity selectors to override Divi theme styles
 */

/* Override Divi text alignment */
html body .oqrc-partner-dashboard,
html body .oqrc-partner-dashboard * {
    text-align: left !important;
}

html body .oqrc-partner-dashboard .et_pb_module.et_pb_text_align_center,
html body .oqrc-partner-dashboard .et_pb_text.et_pb_text_align_center {
    text-align: left !important;
}

html body .oqrc-partner-dashboard .et_pb_module.et_pb_text_align_center p,
html body .oqrc-partner-dashboard .et_pb_module.et_pb_text_align_center h1,
html body .oqrc-partner-dashboard .et_pb_module.et_pb_text_align_center h2,
html body .oqrc-partner-dashboard .et_pb_module.et_pb_text_align_center h3 {
    text-align: left !important;
}

/* Override Divi container width limit */
html body .oqrc-partner-dashboard .container,
html body .oqrc-partner-dashboard .et_container {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Target parent Divi containers - maximum specificity */
html body #et-main-area .oqrc-partner-dashboard,
html body #main-content .oqrc-partner-dashboard,
html body #content-area .oqrc-partner-dashboard,
html body .entry-content .oqrc-partner-dashboard,
html body .et_pb_section .oqrc-partner-dashboard,
html body .et_pb_row .oqrc-partner-dashboard,
html body .et_pb_column .oqrc-partner-dashboard {
    max-width: 100% !important;
    width: 100% !important;
}

/* Force container to full width through Divi structure */
html body #et-main-area #main-content .container,
html body #et-main-area #content-area .container,
html body #main-content .container,
html body #content-area .container {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Ensure entry-content doesn't restrict width */
html body .entry-content {
    max-width: 100% !important;
    width: 100% !important;
}

/* Override Divi button styles */
html body .oqrc-partner-dashboard button,
html body .oqrc-partner-dashboard .button,
html body .oqrc-partner-dashboard input[type="button"],
html body .oqrc-partner-dashboard input[type="submit"] {
    font-family: inherit !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* Override Divi link styles */
html body .oqrc-partner-dashboard a {
    text-decoration: none !important;
}

/* Override Divi list styles */
html body .oqrc-partner-dashboard ul,
html body .oqrc-partner-dashboard ol {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body .oqrc-partner-dashboard ul li,
html body .oqrc-partner-dashboard ol li {
    list-style: none !important;
}

/* Override Divi heading styles */
html body .oqrc-partner-dashboard h1,
html body .oqrc-partner-dashboard h2,
html body .oqrc-partner-dashboard h3,
html body .oqrc-partner-dashboard h4,
html body .oqrc-partner-dashboard h5,
html body .oqrc-partner-dashboard h6 {
    padding-bottom: 0 !important;
    line-height: 1.3 !important;
}

/* Override Divi paragraph styles */
html body .oqrc-partner-dashboard p {
    padding-bottom: 0 !important;
}

/* Override Divi image styles */
html body .oqrc-partner-dashboard img {
    max-width: 100% !important;
    height: auto !important;
}

/* Override Divi input styles */
html body .oqrc-partner-dashboard input[type="text"],
html body .oqrc-partner-dashboard input[type="search"],
html body .oqrc-partner-dashboard input[type="email"],
html body .oqrc-partner-dashboard textarea {
    font-family: inherit !important;
    font-size: inherit !important;
}

/**
 * ADDITIONAL STYLES
 * Search wrapper, buttons, access notice, watermark
 */

/* Search bar - Force override Divi input styles */
.oqrc-partner-dashboard .oqrc-search-bar {
    display: flex !important;
    align-items: center !important;
}

html body .oqrc-partner-dashboard .oqrc-search-bar input,
html body .oqrc-partner-dashboard .oqrc-search-bar input[type="text"],
html body .oqrc-partner-dashboard .oqrc-search-bar input.text,
.oqrc-partner-dashboard .oqrc-search-bar input,
.oqrc-partner-dashboard .oqrc-search-bar input[type="text"] {
    width: 280px !important;
    padding: 10px 14px 10px 40px !important;
    background: #f5f5f5 !important;
    background-color: #f5f5f5 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    color: #333 !important;
    font-size: 14px !important;
    transition: border-color 0.2s !important;
    margin: 0 !important;
    height: auto !important;
    line-height: normal !important;
    box-shadow: none !important;
}

html body .oqrc-partner-dashboard .oqrc-search-bar input:focus,
html body .oqrc-partner-dashboard .oqrc-search-bar input[type="text"]:focus,
.oqrc-partner-dashboard .oqrc-search-bar input:focus {
    outline: none !important;
    border-color: #F1C40F !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    box-shadow: none !important;
}

html body .oqrc-partner-dashboard .oqrc-search-bar input::placeholder,
.oqrc-partner-dashboard .oqrc-search-bar input::placeholder {
    color: #999 !important;
}

.oqrc-partner-dashboard .oqrc-search-wrapper {
    position: relative !important;
}

.oqrc-partner-dashboard .oqrc-search-wrapper i {
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #999 !important;
    font-size: 14px !important;
    pointer-events: none !important;
}

/* Video watermark */
.oqrc-partner-dashboard .oqrc-video-watermark {
    position: absolute !important;
    bottom: 10px !important;
    right: 10px !important;
    color: rgba(255, 255, 255, 0.3) !important;
    font-size: 12px !important;
    pointer-events: none !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8) !important;
    z-index: 1 !important;
}

/* Category badge */
.oqrc-partner-dashboard .oqrc-category-badge {
    display: inline-block !important;
    background: rgba(241, 196, 15, 0.15) !important;
    color: #2b5f7f !important;
    padding: 2px 6px !important;
    border-radius: 3px !important;
    font-size: 10px !important;
    margin-top: 4px !important;
    font-weight: 500 !important;
}

/* Access notice banner */
.oqrc-partner-dashboard .oqrc-access-notice {
    background: linear-gradient(135deg, #1B75BC 0%, #0d4a7a 100%) !important;
    padding: 16px 24px !important;
    margin-bottom: 20px !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
}

.oqrc-partner-dashboard .oqrc-notice-text {
    color: white !important;
    font-size: 14px !important;
    flex: 1 !important;
    margin: 0 !important;
}

.oqrc-partner-dashboard .oqrc-notice-text strong {
    font-weight: 600 !important;
}

.oqrc-partner-dashboard .oqrc-notice-buttons {
    display: flex !important;
    gap: 12px !important;
    flex-shrink: 0 !important;
}

/* Button styles */
.oqrc-partner-dashboard .oqrc-btn {
    padding: 8px 16px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.oqrc-partner-dashboard .oqrc-btn-logout {
    background: #1B75BC !important;
    color: white !important;
    border: 1px solid #1B75BC !important;
}

.oqrc-partner-dashboard .oqrc-btn-logout:hover {
    background: #0d4a7a !important;
    border-color: #0d4a7a !important;
}

.oqrc-partner-dashboard .oqrc-btn-login {
    background: #F1C40F !important;
    color: #1d2327 !important;
    font-weight: 600 !important;
}

.oqrc-partner-dashboard .oqrc-btn-login:hover {
    background: #f5d547 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(241, 196, 15, 0.4) !important;
}

/* Video avatar gradient background */
.oqrc-partner-dashboard .oqrc-video-avatar {
    background: linear-gradient(135deg, #2b5f7f, #6EC1E4) !important;
}

/* Responsive for access notice */
@media (max-width: 768px) {
    .oqrc-partner-dashboard .oqrc-access-notice {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .oqrc-partner-dashboard .oqrc-notice-buttons {
        width: 100% !important;
    }

    .oqrc-partner-dashboard .oqrc-btn {
        flex: 1 !important;
        justify-content: center !important;
    }

    .oqrc-partner-dashboard .oqrc-search-wrapper {
        width: 100% !important;
    }
}
