/*
Theme Name: Niriv
Description: Nepal's first search engine and internet portal. A comprehensive web portal offering local search, news, images, videos, forex rates, stock market data, weather updates, horoscopes, event calendars, and integrated web services for Nepal. Founded by Yukesh Chaudhary in 2021.
Version: 1.1.0
Author: Niriv Corporation
Author URI: https://www.niriv.com
Theme URI: https://www.niriv.com
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: niriv
Tags: search-engine, responsive, modern, nepal, custom-header, custom-menu, featured-images, threaded-comments, translation-ready, news, portal, local-search
Requires at least: 5.0
Tested up to: 6.4
Requires PHP: 7.4
*/

/* Import Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Urbanist:wght@400;500;600;700;800&family=Work+Sans:wght@300;400;500;600;700&display=swap');

/* ===========================================
   GLOBAL STICKY SIDEBAR UTILITY
   =========================================== */
.sticky-sidebar {
    position: sticky !important;
    top: 20px !important;
    align-self: flex-start !important;
    z-index: 10 !important; /* Ensure it's above other content */
    width: auto !important;
    flex-shrink: 0 !important;
    overflow: visible !important; /* Allow content to flow naturally */
}

/* Hide scrollbar for Chrome, Safari and Opera */
.sticky-sidebar::-webkit-scrollbar {
    display: none;
}

/* Responsive sticky behavior */
@media (max-width: 1024px) {
    .sticky-sidebar {
        position: static !important;
        max-height: none !important;
        overflow-y: visible !important;
        top: auto !important;
    }
}

/* Ensure parent containers don't interfere with sticky positioning */
.flex.lg\:flex-row {
    align-items: flex-start !important;
    overflow: visible !important;
}

.flex.lg\:flex-row .sticky-sidebar {
    position: sticky !important;
    top: 20px !important;
    align-self: flex-start !important;
}

/* Ensure sidebar wrappers don't block sticky */
#actual-sidebar {
    overflow: visible !important;
    height: fit-content !important;
}

/* Override any conflicting styles for sticky sidebar */
div[style*="flex: 0 0 320px"] {
    position: sticky !important;
    top: 20px !important;
    align-self: flex-start !important;
    z-index: 10 !important;
    overflow: visible !important;
}

/* Ensure sticky sidebar works in all contexts */
.sticky-sidebar,
div.sticky-sidebar,
.w-full.sticky-sidebar {
    position: sticky !important;
    top: 20px !important;
    align-self: flex-start !important;
    z-index: 10 !important;
    width: auto !important;
    flex-shrink: 0 !important;
    overflow: visible !important;
}

/* ===========================================
   Global Scrollbar Hiding - Start
   =========================================== */
/* Hide scrollbar for all elements */
* {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE and Edge */
}

/* Hide scrollbar for Webkit browsers (Chrome, Safari, etc.) */
*::-webkit-scrollbar {
    display: none;
    width: 0 !important;
    height: 0 !important;
    background: transparent;
}

/* Base HTML and Body Styles */
html {
    height: 100%;
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden;
    background-color: #edf0f4 !important;
}

/* Reset all background colors for body and main containers */
body,
body.page-template-default,
body.page-template-template-fullwidth,
body.page-template-page-newhome,
body.home,
body.blog,
body.single,
body.archive,
body.search,
body.error404,
body.page-template-*,
#page,
#main-content,
.site-content,
.entry-content,
.wp-site-blocks,
.wp-block-template-part,
main,
.home,
.front-page,
.wp-singular {
    background-color: #edf0f4 !important;
    min-height: 100vh;
    margin: 0;
    padding: 0;
}

/* Main content wrapper */
#main-content {
    background-color: transparent !important;
}

/* Reset background for full-width sections and containers */
.wp-block-cover,
.wp-block-group,
.wp-block-template-part,
.site-content .container,
.entry-content > *:not(.alignfull) {
    background-color: transparent !important;
}

/* Ensure content areas with white background maintain their style */
.masonry-card,
.bg-white,
.custom-shadow,
.widget,
footer,
footer *:not([style*="background-color:"]):not([class*="bg-"]):not(a) {
    background-color: #ffffff !important;
}

/* Ensure footer maintains white background */
footer,
#colophon,
.site-footer,
.footer-widgets,
.footer-widgets *:not(a) {
    background-color: #ffffff !important;
}

/* Override any inline styles that might be setting background colors */
[style*="background-color:"] {
    background-color: transparent !important;
}

/* Specific overrides for common elements */
.entry,
.entry-header,
.entry-content,
.entry-footer,
.comments-area,
.widget-area {
    background-color: transparent !important;
}

/* Ensure content areas are properly spaced */
.site-main {
    background-color: transparent !important;
    padding: 1rem 0;
}

/* Hide scrollbar for specific elements */
.overflow-auto,
.overflow-x-auto,
.overflow-y-auto,
.overflow-scroll,
.overflow-x-scroll,
.overflow-y-scroll,
.scrollbar-hide,
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.overflow-auto::-webkit-scrollbar,
.overflow-x-auto::-webkit-scrollbar,
.overflow-y-auto::-webkit-scrollbar,
.overflow-scroll::-webkit-scrollbar,
.overflow-x-scroll::-webkit-scrollbar,
.overflow-y-scroll::-webkit-scrollbar,
.scrollbar-hide::-webkit-scrollbar,
.no-scrollbar::-webkit-scrollbar {
    display: none;
    width: 0 !important;
    height: 0 !important;
}

/* ===========================================
   Global Scrollbar Hiding - End
   =========================================== */


/* Featured images should have no border radius */
.wp-post-image {
    border-radius: 0 !important;
}

/* Keyframe Animations */
@keyframes bounce-slow {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

.animate-bounce-slow {
    animation: bounce-slow 2s infinite;
}

/* Universal Font Family */
* {
    font-family: 'Work Sans', sans-serif;
}

/* Headings Font Family */
h1, h2, h3, h4, h5, h6,
.section-heading,
.horoscope-title,
.press-content h1,
.press-content h2,
.press-content h3 {
    font-family: 'Urbanist', sans-serif;
}

/* Header Shadow - Subtle shadow for header bottom, excluding new home page */
header:not(.new-home-header) {
    position: relative;
}

header:not(.new-home-header)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.08) 50%, transparent 100%);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

/* New home page header - no shadow */
.new-home-header {
    box-shadow: none;
}

.new-home-header::after {
    display: none;
}

/* Base Styles */
body {
    font-family: 'Work Sans', sans-serif;
    background-color: #edf0f4;
    overflow-y: scroll; /* Ensure vertical scrolling is enabled */
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Urbanist', sans-serif;
}

/* Search page styles */
.search-shadow { 
    box-shadow: 0 8px 30px rgba(0,0,0,.07); 
}

.search-input { 
    border: none; 
    transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1); 
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.search-input:focus { 
    outline: none;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.08),
                0 10px 25px -5px rgba(0, 0, 0, 0.15), 
                0 4px 6px -2px rgba(0, 0, 0, 0.08);
    transform: scale(1.01);
}

.search-category-btn {
    transition: all 0.2s ease-in-out;
}

.search-category-btn:hover {
    background-color: #e5e7eb;
    transform: translateY(-1px);
}

.search-category-btn.active { 
    background-color: #1847ea; 
    color: white; 
    box-shadow: 0 2px 6px rgba(24,71,234,.25); 
}

.search-category-btn.active:hover {
    background-color: #2563eb;
}

.fade-in {
    animation: fadeIn 0.5s ease-in;
}

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

.grid-masonry {
    columns: 2;
    column-gap: 8px;
}

@media (min-width: 768px) { 
    .grid-masonry { columns: 3; } 
}

@media (min-width: 1024px) { 
    .grid-masonry { columns: 4; } 
}

.masonry-item {
    break-inside: avoid; margin-bottom: 8px;
}

.search-tab.active { 
    background-color: #eaf0ff; 
    color: #1847ea; 
    border: 1px solid #d6e0ff; 
}

.no-scrollbar::-webkit-scrollbar { 
    display: none; 
}

.no-scrollbar { 
    -ms-overflow-style: none; 
    scrollbar-width: none; 
}

/* Styles for Carousels */
.carousel-container {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 1rem;
    padding-bottom: 1rem;
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}

.carousel-container::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera*/
}

.carousel-item {
    flex: 0 0 auto;
    scroll-snap-align: start;
}

/* Image Modal styles */
#modal-thumbnails-container::-webkit-scrollbar {
    display: none;
}

.modal-thumbnail.active {
    border-color: #3b82f6;
    opacity: 1;
}

.border-white {
    --tw-border-opacity: 1;
    border-color: #ffffff !important;
}

.hover\:border-purple-200:hover {
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / 0.5) !important;
}
.border-2 {
    border-width: 1.5px !important;
}

.max-w-3xl {
    max-width: 35rem !important;
}

.text-purple-700 {
    --tw-text-opacity: 1;
    color: #1847ea !important;
}

.group:hover .group-hover\:text-purple-700 {
    --tw-text-opacity: 1;
    color: #1847ea !important;
}

.bg-purple-50 {
    --tw-bg-opacity: 1;
    background-color: rgba(24, 71, 234, 0.12) !important;
}

/* Custom Scrollbar */
.scrollbar-hide {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

.scrollbar-hide::-webkit-scrollbar {
    display: none;  /* Chrome, Safari and Opera */
}

.scroll-smooth {
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}


/* Sidebar container for profile pages */
.profile-sidebar {
    background: #ffffff;
    border-radius: 0.5rem; /* 8px to match theme standard */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    border: 1px solid #e2e8f0;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    transition: all 0.2s ease;
    overflow: hidden; /* Ensure consistent overflow handling */
}

.profile-sidebar:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* Author sidebar specific styles */
.author-sidebar .author-stats-card {
    background: #ffffff;
    border-radius: 0.5rem; /* 8px to match theme standard */
    padding: 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    border: 1px solid #e2e8f0;
    margin-bottom: 1.5rem;
    overflow: hidden; /* Ensure consistent overflow handling */
}

.author-sidebar .stat-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 0;
    border-bottom: 1px solid #f1f5f9;
}

.author-sidebar .stat-item:last-child {
    border-bottom: none;
}

.author-sidebar .stat-label {
    font-size: 0.875rem;
    color: #64748b;
    font-weight: 500;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.author-sidebar .stat-value {
    font-size: 0.9375rem;
    color: #0f172a;
    font-weight: 600;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* User profile sidebar specific styles */
.user-profile-sidebar .profile-quick-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.user-profile-sidebar .quick-action-btn {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    background: #f8fafc;
    border-radius: 0.75rem;
    color: #334155;
    font-size: 0.9375rem;
    font-weight: 500;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid #e2e8f0;
}

.user-profile-sidebar .quick-action-btn:hover {
    background: #f1f5f9;
    transform: translateX(4px);
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}

/* Edit profile sidebar specific styles */
.edit-profile-sidebar .form-sections-nav {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.5rem;
}

.edit-profile-sidebar .form-section-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    color: #475569;
    font-size: 0.9375rem;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    border-radius: 0.75rem;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    font-weight: 500;
}

.edit-profile-sidebar .form-section-link:hover {
    background: #f8fafc;
    color: #1e40af;
    padding-left: 1.25rem;
}

.edit-profile-sidebar .form-section-link.active {
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 600;
    border-left: 3px solid #1d4ed8;
}

/* Sidebar widget styles */
.sidebar-widget {
    margin-bottom: 1.75rem;
    background: #ffffff;
    border-radius: 0.5rem; /* 8px to match theme standard */
    padding: 1.5rem;
    border: 1px solid #e2e8f0;
}

.sidebar-widget:last-child {
    margin-bottom: 0;
}

.sidebar-widget-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #0f172a;
    padding-bottom: 0.75rem;
    margin-bottom: 1.25rem;
    border-bottom: 2px solid #f1f5f9;
    font-family: 'Urbanist', sans-serif;
}

/* Global scrollbar styles */
html {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE and Edge */
}

/* Hide scrollbar for Chrome, Safari and Opera */
html::-webkit-scrollbar {
    display: none;
}


/* Responsive adjustments for sticky sidebars */
@media (max-width: 1024px) {
    .profile-sidebar {
        margin-bottom: 2rem;
    }
    
    .author-sidebar,
    .user-profile-sidebar,
    .edit-profile-sidebar {
        margin-bottom: 2rem;
    }
}

.ring-purple-100 {
    --tw-ring-opacity: 1;
    --tw-ring-color: #d6e0ff !important;
}

.custom-shadow {
    box-shadow: 0 3px 4px 0 rgba(0, 0, 0, .03);
}

.search-shadow {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.service-icon-shadow {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.rounded-lg {
    border-radius: 12px;
}

.rounded-2xl {
    border-radius: 12px;
}

.rounded-3xl {
    border-radius: 12px;
}

/* Scrollbar Styles */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Global scrollbar hiding - Hide scrollbars but keep scrolling functionality */
::-webkit-scrollbar {
    display: none;
}

* {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Hide both vertical and horizontal scrollbars */
::-webkit-scrollbar,
::-webkit-scrollbar:horizontal,
::-webkit-scrollbar:vertical {
    display: none;
}

/* Ensure all scrollable elements hide their scrollbars */
*[style*="overflow"]:not(.show-scrollbar)::-webkit-scrollbar {
    display: none;
}

/* Hide scrollbars for elements with overflow properties */
*[style*="overflow-x"]::-webkit-scrollbar,
*[style*="overflow-y"]::-webkit-scrollbar {
    display: none;
}

*[style*="overflow-x"],
*[style*="overflow-y"] {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Hide scrollbars for elements with overflow classes */
[class*="overflow-x"]::-webkit-scrollbar,
[class*="overflow-y"]::-webkit-scrollbar {
    display: none;
}

[class*="overflow-x"],
[class*="overflow-y"] {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Ensure all potentially scrollable elements hide scrollbars */
[class*="scroll"]::-webkit-scrollbar,
[style*="scroll"]::-webkit-scrollbar {
    display: none;
}

[class*="scroll"],
[style*="scroll"] {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Hide scrollbars for cast container and its children */
#movie-cast-container::-webkit-scrollbar,
#movie-cast-container *::-webkit-scrollbar {
    display: none;
}

#movie-cast-container,
#movie-cast-container * {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Hide scrollbars for all elements within movie details container */
#movie-details-container *::-webkit-scrollbar {
    display: none;
}

#movie-details-container * {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Hide scrollbar for notification dropdown */
.max-h-96.overflow-y-auto::-webkit-scrollbar {
    display: none;
}

.max-h-96.overflow-y-auto {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Hide scrollbar for movie details content */
#movie-details-content.overflow-y-auto::-webkit-scrollbar {
    display: none;
}

#movie-details-content.overflow-y-auto {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Search Input Styles - Updated */

/* Logo Styles */
.n-logo {
    background: linear-gradient(135deg, var(--brand-color) 0%, #1239b8 100%);
}

.brand-gradient {
    background-image: linear-gradient(135deg, var(--brand-color) 0%, #1239b8 100%);
}

/* Hero Gradient */
.hero-gradient {
    background: linear-gradient(135deg, var(--brand-color) 0%, #1239b8 100%);
}

/* Homepage Header - Fixed to ensure full gradient without white mix */
.homepage-header {
    background: linear-gradient(135deg, var(--brand-color) 0%, #1239b8 100%);
}

/* Consistent Button Styles for Tools */
.tool-button {
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    font-weight: 500;
    transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.tool-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06),
                0 8px 24px rgba(0, 0, 0, 0.04);
}

.tool-button-blue {
    background-color: #3b82f6;
    color: white;
}

.tool-button-blue:hover {
    background-color: #2563eb;
}

.tool-button-green {
    background-color: #10b981;
    color: white;
}

.tool-button-green:hover {
    background-color: #059669;
}

.tool-button-amber {
    background-color: #f59e0b;
    color: white;
}

.tool-button-amber:hover {
    background-color: #d97706;
}

.tool-button-orange {
    background-color: #f97316;
    color: white;
}

.tool-button-orange:hover {
    background-color: #ea580c;
}

.tool-button-purple {
    background-color: #8b5cf6;
    color: white;
}

.tool-button-purple:hover {
    background-color: #7c3aed;
}

.tool-button-pink {
    background-color: #ec4899;
    color: white;
}

.tool-button-pink:hover {
    background-color: #db2777;
}

.tool-button-indigo {
    background-color: #6366f1;
    color: white;
}

.tool-button-indigo:hover {
    background-color: #4f46e5;
}

.tool-button-cyan {
    background-color: #06b6d4;
    color: white;
}

.tool-button-cyan:hover {
    background-color: #0891b2;
}

.tool-button-fuchsia {
    background-color: #d946ef;
    color: white;
}

.tool-button-fuchsia:hover {
    background-color: #c026d3;
}

.tool-button-red {
    background-color: #ef4444;
    color: white;
}

.tool-button-red:hover {
    background-color: #dc2626;
}

.tool-button-gray {
    background-color: #6b7280;
    color: white;
}

.tool-button-gray:hover {
    background-color: #4b5563;
}

/* Card Styles */
.card-bg-image {
    background-size: cover;
    background-position: center;
}

.card-hover-effect {
    transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 
                0 4px 8px rgba(0, 0, 0, 0.03);
}

.card-hover-effect:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08),
                0 12px 32px rgba(0, 0, 0, 0.05),
                0 24px 64px rgba(0, 0, 0, 0.03);
}

/* Search Category Buttons */
.search-category-btn {
    transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.search-category-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06),
                0 8px 24px rgba(0, 0, 0, 0.04);
}

/* Custom Shadow Utilities */
.custom-shadow {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 
                0 4px 8px rgba(0, 0, 0, 0.03);
}

.service-icon-shadow {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.n-logo {
    background: linear-gradient(135deg, var(--brand-color) 0%, #1239b8 100%);
}

.card-bg-image {
    background-size: cover;
    background-position: center;
}

.search-category-btn.active {
    background-color: var(--brand-color);
    color: white;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* News Section */
.news-category-tab {
    transition: all 0.2s ease-in-out;
}

.news-category-tab.active {
    background-color: var(--brand-color);
    color: white;
}

.bg-purple-500 {
    --tw-bg-opacity: 1;
    background-color: #4f46e5 !important;
}

.search-overlay {
    transition: transform 0.3s ease-in-out;
}

.preview-notice {
    font-family: 'Work Sans', sans-serif;
    background: linear-gradient(90deg, #4f46e5, #818cf8, #a78bfa, #4f46e5);
    background-size: 200% 100%;
    animation: gradient-animation 5s linear infinite;
    color: white;
    text-align: center;
    padding: 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
}

.brand-gradient { 
    background-image: linear-gradient(135deg, var(--brand-color) 0%, #1239b8 100%); 
}

@keyframes gradient-animation {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* Gemini AI Feature Styles */
.gemini-modal {
    transition: opacity 0.3s ease-in-out;
}

.gemini-modal-content {
    transform: scale(0.95);
    opacity: 0;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s;
}

.gemini-modal.active .gemini-modal-content {
    transform: scale(1);
    opacity: 1;
}

.chat-bubble-user {
    font-family: 'Work Sans', sans-serif;
    background-color: #1847ea;
    color: white;
}

.chat-bubble-ai {
    font-family: 'Work Sans', sans-serif;
    background-color: #e5e7eb;
    color: #1f2937;
}

.gemini-loader div {
    animation: gemini-bouncedelay 1.4s infinite ease-in-out both;
}

.gemini-loader .bounce1 { 
    animation-delay: -0.32s; 
}

.gemini-loader .bounce2 { 
    animation-delay: -0.16s; 
}

@keyframes gemini-bouncedelay {
    0%, 80%, 100% { 
        transform: scale(0); 
    }
    40% { 
        transform: scale(1.0); 
    }
}

/* Autocomplete */
.autocomplete-selected {
    background-color: #eef2ff;
}



/* Background Colors */
.bg-\[\#eef2f9\] {
    --tw-bg-opacity: 1;
    background-color: rgb(238 242 249 / var(--tw-bg-opacity, 1));
}

.search-category-btn.active {
    background-color: #1847ea;
    color: white;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* News Category Tabs */
.news-category-tab {
    transition: all 0.2s ease-in-out;
}

.news-category-tab.active {
    background-color: #1847ea;
    color: white;
}

/* Purple Background Override */
.bg-purple-500 {
    --tw-bg-opacity: 1;
    background-color: #4f46e5 !important;
}

/* Search Overlay */
.search-overlay {
    transition: transform 0.3s ease-in-out;
}

/* Preview Notice */
.preview-notice {
    font-family: 'Fira Sans', sans-serif;
    background: linear-gradient(90deg, #4f46e5, #818cf8, #a78bfa, #4f46e5);
    background-size: 200% 100%;
    animation: gradient-animation 5s linear infinite;
    color: white;
    text-align: center;
    padding: 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
}

@keyframes gradient-animation {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* Gemini AI Feature Styles */
.gemini-modal {
    transition: opacity 0.3s ease-in-out;
}

.gemini-modal-content {
    transform: scale(0.95);
    opacity: 0;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s;
}

.gemini-modal.active .gemini-modal-content {
    transform: scale(1);
    opacity: 1;
}

.chat-bubble-user {
    font-family: 'Fira Sans', sans-serif;
    background-color: #1847ea;
    color: white;
}

.chat-bubble-ai {
    font-family: 'Fira Sans', sans-serif;
    background-color: #e5e7eb;
    color: #1f2937;
}

.gemini-loader div {
    animation: gemini-bouncedelay 1.4s infinite ease-in-out both;
}

.gemini-loader .bounce1 { 
    animation-delay: -0.32s; 
}

.gemini-loader .bounce2 { 
    animation-delay: -0.16s; 
}

@keyframes gemini-bouncedelay {
    0%, 80%, 100% { 
        transform: scale(0); 
    }
    40% { 
        transform: scale(1.0); 
    }
}

/* Autocomplete */
.autocomplete-selected {
    background-color: #eef2ff;
}

/* Privacy Content Styles */
.privacy-content h2, .privacy-content h3 {
    font-family: 'Fira Sans', sans-serif;
}

.privacy-content h2 {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    color: #1f2937;
}

.privacy-content h3 {
    font-size: 1.25rem;
    font-weight: 600;
    margin-top: 2rem;
    margin-bottom: 1rem;
    color: #111827;
}

.privacy-content p, .privacy-content li {
    font-family: 'Fira Sans', sans-serif;
    color: #4b5563;
    line-height: 1.75;
}

.privacy-content ul {
    list-style-type: disc;
    padding-left: 1.5rem;
    margin-bottom: 1.5rem;
}

.privacy-content li {
    margin-bottom: 0.5rem;
}

.privacy-content a {
    color: #1847ea;
    text-decoration: underline;
}

/* Press Content Styles */
.press-content h2, .press-content h3 {
    font-family: 'Fira Sans', sans-serif;
}

.press-content h2 {
    font-size: 1.875rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    color: #1f2937;
}

.press-content h3 {
    font-size: 1.5rem;
    font-weight: 600;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    color: #111827;
}

.press-content p, .press-content li {
    font-family: 'Work Sans', sans-serif;
    color: #4b5563;
    line-height: 1.75;
}

.press-content ul {
    list-style-type: none;
    padding-left: 0;
}

.press-content li {
    margin-bottom: 0.75rem;
    display: flex;
    align-items: flex-start;
}

.press-content li svg {
    flex-shrink: 0;
    margin-right: 0.75rem;
    margin-top: 5px;
    color: #16a34a;
}

.card-hover {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px -5px rgba(0,0,0,0.1);
}

/* Section Heading Styles */
.section-heading {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.section-heading i {
    color: #1847ea;
}

/* Consistent Container Styles */
.consistent-container {
    background-color: white;
    border-radius: 16px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
    padding: 1.5rem;
}

/* WordPress Specific Styles */
.wp-block-group {
    margin-bottom: 2rem;
}

.wp-block-image {
    margin-bottom: 1rem;
}

.wp-block-quote {
    border-left: 4px solid #1847ea;
    padding-left: 1rem;
    margin: 1.5rem 0;
    font-style: italic;
}

/* Post Content Styles */
.post-content {
    font-family: 'Fira Sans', sans-serif;
    line-height: 1.75;
    color: #4b5563;
}

.post-content h1, .post-content h2, .post-content h3, .post-content h4, .post-content h5, .post-content h6 {
    color: #1f2937;
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.post-content p {
    font-family: 'Fira Sans', sans-serif;
    margin-bottom: 1.5rem;
}

.post-content ul, .post-content ol {
    margin-bottom: 1.5rem;
    padding-left: 2rem;
}

.post-content li {
    font-family: 'Fira Sans', sans-serif;
    margin-bottom: 0.5rem;
}

.post-content a {
    color: #1847ea;
    text-decoration: underline;
}

.post-content a:hover {
    color: #1d4ed8;
}

/* Category and Tag Styles */
.category-header, .tag-header {
    background: linear-gradient(135deg, #1847ea 0%, #1239b8 100%);
    color: white;
    padding: 3rem 0;
    text-align: center;
}

.post-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.post-card {
    background: white;
    border-radius: 0.75rem;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.post-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.post-card-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.post-card-content {
    padding: 1.5rem;
}

.post-card-title {
    font-family: 'Fira Sans', sans-serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 0.75rem;
    line-height: 1.4;
}

.post-card-excerpt {
    font-family: 'Fira Sans', sans-serif;
    color: #6b7280;
    line-height: 1.6;
    margin-bottom: 1rem;
}

.post-card-meta {
    font-family: 'Fira Sans', sans-serif;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.875rem;
    color: #9ca3af;
}

.post-card-date {
    margin-right: auto;
}

.post-card-categories {
    display: flex;
    gap: 0.5rem;
}

.post-card-category {
    font-family: 'Fira Sans', sans-serif;
    background: #eef2ff;
    color: #1847ea;
    padding: 0.125rem 0.375rem;
    border-radius: 0.375rem;
    font-size: 0.625rem;
    font-weight: 400;
}

/* Responsive Design */
@media (max-width: 768px) {
    .post-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .hero-gradient {
        padding: 2rem 0;
    }
    
    .hero-gradient h1 {
        font-size: 2rem;
    }
    
    .rounded-2xl {
        border-radius: 12px;
    }
    
    .rounded-3xl {
        border-radius: 16px;
    }
}

.chip {
    background: white !important;
    color: #1847ea !important;
}

@media (max-width: 768px) {
    #sidebar {
        width: 100%;
    }
}
/* ===========================================
   Global Site Max-Width - Start
   =========================================== */
/* Site-wide max-width constraint */
.site-max-width {
   max-width: 1100px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
}

/* Override existing max-width values to use 1100px */
[style*="max-width: 1100px"] {
    max-width: 1100px !important;
}

/* Ensure all main content containers use the new max-width */
.container,
.w-full.mx-auto,
div[style*="max-width"] {
   max-width: 1100px !important;
}
/* ===========================================
   Global Site Max-Width - End
   =========================================== */
.text-purple-700 {
    --tw-text-opacity: 1;
    color: #1847ea !important;
}

.group:hover .group-hover\:text-purple-700 {
    --tw-text-opacity: 1;
    color: #1847ea !important;
}

.bg-purple-50 {
    --tw-bg-opacity: 1;
    background-color: rgba(24, 71, 234, 0.12) !important;
}

/* Custom Scrollbar */
.scrollbar-hide {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

.scrollbar-hide::-webkit-scrollbar {
    display: none;  /* Chrome, Safari and Opera */
}

.scroll-smooth {
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}


/* Sidebar container for profile pages */
.profile-sidebar {
    background: #ffffff;
    border-radius: 0.5rem; /* 8px to match theme standard */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    border: 1px solid #e2e8f0;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    transition: all 0.2s ease;
    overflow: hidden; /* Ensure consistent overflow handling */
}

.profile-sidebar:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* Author sidebar specific styles */
.author-sidebar .author-stats-card {
    background: #ffffff;
    border-radius: 0.5rem; /* 8px to match theme standard */
    padding: 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    border: 1px solid #e2e8f0;
    margin-bottom: 1.5rem;
    overflow: hidden; /* Ensure consistent overflow handling */
}

.author-sidebar .stat-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 0;
    border-bottom: 1px solid #f1f5f9;
}

.author-sidebar .stat-item:last-child {
    border-bottom: none;
}

.author-sidebar .stat-label {
    font-size: 0.875rem;
    color: #64748b;
    font-weight: 500;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.author-sidebar .stat-value {
    font-size: 0.9375rem;
    color: #0f172a;
    font-weight: 600;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* User profile sidebar specific styles */
.user-profile-sidebar .profile-quick-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.user-profile-sidebar .quick-action-btn {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    background: #f8fafc;
    border-radius: 0.75rem;
    color: #334155;
    font-size: 0.9375rem;
    font-weight: 500;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid #e2e8f0;
}

.user-profile-sidebar .quick-action-btn:hover {
    background: #f1f5f9;
    transform: translateX(4px);
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}

/* Edit profile sidebar specific styles */
.edit-profile-sidebar .form-sections-nav {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.5rem;
}

.edit-profile-sidebar .form-section-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    color: #475569;
    font-size: 0.9375rem;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    border-radius: 0.75rem;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    font-weight: 500;
}

.edit-profile-sidebar .form-section-link:hover {
    background: #f8fafc;
    color: #1e40af;
    padding-left: 1.25rem;
}

.edit-profile-sidebar .form-section-link.active {
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 600;
    border-left: 3px solid #1d4ed8;
}

/* Sidebar widget styles */
.sidebar-widget {
    margin-bottom: 1.75rem;
    background: #ffffff;
    border-radius: 0.5rem; /* 8px to match theme standard */
    padding: 1.5rem;
    border: 1px solid #e2e8f0;
}

.sidebar-widget:last-child {
    margin-bottom: 0;
}

.sidebar-widget-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #0f172a;
    padding-bottom: 0.75rem;
    margin-bottom: 1.25rem;
    border-bottom: 2px solid #f1f5f9;
    font-family: Fira sans, sans-serif;
}

/* Global scrollbar styles */
html {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE and Edge */
}

/* Hide scrollbar for Chrome, Safari and Opera */
html::-webkit-scrollbar {
    display: none;
}


/* Responsive adjustments for sticky sidebars */
@media (max-width: 1024px) {
    .profile-sidebar {
        margin-bottom: 2rem;
    }
    
    .author-sidebar,
    .user-profile-sidebar,
    .edit-profile-sidebar {
        margin-bottom: 2rem;
    }
}

.ring-purple-100 {
    --tw-ring-opacity: 1;
    --tw-ring-color: #d6e0ff !important;
}

.custom-shadow {
    box-shadow: 0 3px 4px 0 rgba(0, 0, 0, .03);
}

.search-shadow {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.service-icon-shadow {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.rounded-lg {
    border-radius: 12px;
}

.rounded-2xl {
    border-radius: 12px;
}

.rounded-3xl {
    border-radius: 12px;
}

/* Scrollbar Styles */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Global scrollbar hiding - Hide scrollbars but keep scrolling functionality */
::-webkit-scrollbar {
    display: none;
}

* {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Hide both vertical and horizontal scrollbars */
::-webkit-scrollbar,
::-webkit-scrollbar:horizontal,
::-webkit-scrollbar:vertical {
    display: none;
}

/* Ensure all scrollable elements hide their scrollbars */
*[style*="overflow"]:not(.show-scrollbar)::-webkit-scrollbar {
    display: none;
}

/* Hide scrollbars for elements with overflow properties */
*[style*="overflow-x"]::-webkit-scrollbar,
*[style*="overflow-y"]::-webkit-scrollbar {
    display: none;
}

*[style*="overflow-x"],
*[style*="overflow-y"] {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Hide scrollbars for elements with overflow classes */
[class*="overflow-x"]::-webkit-scrollbar,
[class*="overflow-y"]::-webkit-scrollbar {
    display: none;
}

[class*="overflow-x"],
[class*="overflow-y"] {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Ensure all potentially scrollable elements hide scrollbars */
[class*="scroll"]::-webkit-scrollbar,
[style*="scroll"]::-webkit-scrollbar {
    display: none;
}

[class*="scroll"],
[style*="scroll"] {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Hide scrollbars for cast container and its children */
#movie-cast-container::-webkit-scrollbar,
#movie-cast-container *::-webkit-scrollbar {
    display: none;
}

#movie-cast-container,
#movie-cast-container * {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Hide scrollbars for all elements within movie details container */
#movie-details-container *::-webkit-scrollbar {
    display: none;
}

#movie-details-container * {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Hide scrollbar for notification dropdown */
.max-h-96.overflow-y-auto::-webkit-scrollbar {
    display: none;
}

.max-h-96.overflow-y-auto {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Hide scrollbar for movie details content */
#movie-details-content.overflow-y-auto::-webkit-scrollbar {
    display: none;
}

#movie-details-content.overflow-y-auto {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Search Input Styles - Updated */

/* Logo Styles */
.n-logo {
    background: linear-gradient(135deg, var(--brand-color) 0%, #1239b8 100%);
}

.brand-gradient {
    background-image: linear-gradient(135deg, var(--brand-color) 0%, #1239b8 100%);
}

/* Hero Gradient */
.hero-gradient {
    background: linear-gradient(135deg, var(--brand-color) 0%, #1239b8 100%);
}

/* Homepage Header - Fixed to ensure full gradient without white mix */
.homepage-header {
    background: linear-gradient(135deg, var(--brand-color) 0%, #1239b8 100%);
}

/* Consistent Button Styles for Tools */
.tool-button {
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    font-weight: 500;
    transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.tool-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06),
                0 8px 24px rgba(0, 0, 0, 0.04);
}

.tool-button-blue {
    background-color: #3b82f6;
    color: white;
}

.tool-button-blue:hover {
    background-color: #2563eb;
}

.tool-button-green {
    background-color: #10b981;
    color: white;
}

.tool-button-green:hover {
    background-color: #059669;
}

.tool-button-amber {
    background-color: #f59e0b;
    color: white;
}

.tool-button-amber:hover {
    background-color: #d97706;
}

.tool-button-orange {
    background-color: #f97316;
    color: white;
}

.tool-button-orange:hover {
    background-color: #ea580c;
}

.tool-button-purple {
    background-color: #8b5cf6;
    color: white;
}

.tool-button-purple:hover {
    background-color: #7c3aed;
}

.tool-button-pink {
    background-color: #ec4899;
    color: white;
}

.tool-button-pink:hover {
    background-color: #db2777;
}

.tool-button-indigo {
    background-color: #6366f1;
    color: white;
}

.tool-button-indigo:hover {
    background-color: #4f46e5;
}

.tool-button-cyan {
    background-color: #06b6d4;
    color: white;
}

.tool-button-cyan:hover {
    background-color: #0891b2;
}

.tool-button-fuchsia {
    background-color: #d946ef;
    color: white;
}

.tool-button-fuchsia:hover {
    background-color: #c026d3;
}

.tool-button-red {
    background-color: #ef4444;
    color: white;
}

.tool-button-red:hover {
    background-color: #dc2626;
}

.tool-button-gray {
    background-color: #6b7280;
    color: white;
}

.tool-button-gray:hover {
    background-color: #4b5563;
}

/* Card Styles */
.card-bg-image {
    background-size: cover;
    background-position: center;
}

.card-hover-effect {
    transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 
                0 4px 8px rgba(0, 0, 0, 0.03);
}

.card-hover-effect:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08),
                0 12px 32px rgba(0, 0, 0, 0.05),
                0 24px 64px rgba(0, 0, 0, 0.03);
}

/* Search Category Buttons */
.search-category-btn {
    transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.search-category-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06),
                0 8px 24px rgba(0, 0, 0, 0.04);
}

/* Custom Shadow Utilities */
.custom-shadow {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 
                0 4px 8px rgba(0, 0, 0, 0.03);
}

.service-icon-shadow {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.n-logo {
    background: linear-gradient(135deg, var(--brand-color) 0%, #1239b8 100%


