/*
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;
}

/* Ensure sticky sidebars have visible overflow */
.profile-sidebar.sticky-sidebar-niriv-flex-start,
.search-sidebar.sticky-sidebar-niriv-flex-start,
#actual-sidebar.sticky-sidebar-niriv-flex-start {
    overflow: visible !important;
    height: fit-content !important;
}

/* Ensure parent containers don't block sticky positioning */
.profile-layout,
.search-layout,
.flex.flex-col.lg\\:flex-row {
    overflow: visible !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 STICKY SIDEBAR NIRIV UTILITY CLASSES
   =========================================== */
/* Base sticky sidebar niriv class - top: 20px */
.sticky-sidebar-niriv {
    position: sticky !important;
    top: 20px !important;
    z-index: 10 !important;
}

/* Sticky sidebar niriv with custom top values */
.sticky-sidebar-niriv-top-0 {
    position: sticky !important;
    top: 0 !important;
    z-index: 10 !important;
}

.sticky-sidebar-niriv-top-4 {
    position: sticky !important;
    top: 1rem !important; /* 16px */
    z-index: 10 !important;
}

.sticky-sidebar-niriv-top-8 {
    position: sticky !important;
    top: 2rem !important; /* 32px */
    z-index: 10 !important;
}

/* Sticky sidebar niriv with flex alignment */
.sticky-sidebar-niriv-flex-start {
    position: sticky !important;
    top: 20px !important;
    align-self: flex-start !important;
    z-index: 10 !important;
}

/* Responsive sticky sidebar niriv - disable on mobile */
@media (max-width: 1024px) {
    .sticky-sidebar-niriv,
    .sticky-sidebar-niriv-top-0,
    .sticky-sidebar-niriv-top-4,
    .sticky-sidebar-niriv-top-8,
    .sticky-sidebar-niriv-flex-start {
        position: static !important;
        top: auto !important;
    }
}

/* Sticky sidebar niriv that works on mobile too */
.sticky-sidebar-niriv-mobile {
    position: sticky !important;
    top: 20px !important;
    z-index: 10 !important;
}

.sticky-sidebar-niriv-mobile-top-0 {
    position: sticky !important;
    top: 0 !important;
    z-index: 10 !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 2px 4px 0 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 2px 4px 0 rgba(0,0,0,0.04); 
}

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

.search-input:focus { 
    outline: none;
    box-shadow: 0 2px 4px 0 rgba(0,0,0,0.04);
    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 4px 0 rgba(0,0,0,0.04); 
}

.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 2px 4px 0 rgba(0,0,0,0.04);
    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 2px 4px 0 rgba(0,0,0,0.04);
}

/* 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 2px 4px 0 rgba(0,0,0,0.04);
    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 2px 4px 0 rgba(0,0,0,0.04);
}

/* 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 2px 4px 0 rgba(0,0,0,0.04);
}

.search-shadow {
    box-shadow: 0 2px 4px 0 rgba(0,0,0,0.04);
}

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

.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 2px 4px 0 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 2px 4px 0 rgba(0,0,0,0.04);
}

.card-hover-effect:hover {
    transform: translateY(-3px);
    box-shadow: 0 2px 4px 0 rgba(0,0,0,0.04);
}

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

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

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

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

.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 0 rgba(0,0,0,0.04) !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 0 rgba(0,0,0,0.04) !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 2px 4px 0 rgba(0,0,0,0.04) !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 inline max-width values to use 1100px */
[style*="max-width: 1150px"] {
    max-width: 1100px !important;
}
[style*="max-width: 1100px"] {
    max-width: 1100px !important;
}
[style*="max-width: 1080px"] {
    max-width: 1100px !important;
}
[style*="max-width: 1050px"] {
    max-width: 1100px !important;
}
[style*="max-width: 1000px"] {
    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;
}

/* Profile edit page specific max-width override */
.profile-edit-container {
   max-width: 900px !important;
}

/* Saved, History, and User Settings pages max-width override */
.saved-page-container,
.history-page-container,
.user-settings-container {
   max-width: 900px !important;
}

/* Horoscope Archive and Zodiac Archive max-width override */
.archive-horoscope-container,
.taxonomy-zodiac-container {
   max-width: 900px !important;
   margin-left: auto !important;
   margin-right: auto !important;
   width: 100% !important;
}

/* Responsive Font Sizes for Horoscope Pages */
.archive-horoscope-container h1,
.taxonomy-zodiac-container h1 {
    font-size: 1.75rem; /* 28px */
    line-height: 1.2;
}

.archive-horoscope-container h2,
.taxonomy-zodiac-container h2 {
    font-size: 1.5rem; /* 24px */
    line-height: 1.3;
}

.archive-horoscope-container h3,
.taxonomy-zodiac-container h3 {
    font-size: 1.125rem; /* 18px */
    line-height: 1.4;
}

.archive-horoscope-container p,
.taxonomy-zodiac-container p {
    font-size: 0.875rem; /* 14px */
    line-height: 1.6;
}

@media (min-width: 640px) {
    .archive-horoscope-container h1,
    .taxonomy-zodiac-container h1 {
        font-size: 2rem; /* 32px */
    }
    .archive-horoscope-container h2,
    .taxonomy-zodiac-container h2 {
        font-size: 1.75rem; /* 28px */
    }
    .archive-horoscope-container h3,
    .taxonomy-zodiac-container h3 {
        font-size: 1.25rem; /* 20px */
    }
    .archive-horoscope-container p,
    .taxonomy-zodiac-container p {
        font-size: 1rem; /* 16px */
    }
}

@media (min-width: 768px) {
    .archive-horoscope-container h1,
    .taxonomy-zodiac-container h1 {
        font-size: 2.25rem; /* 36px */
    }
    .archive-horoscope-container h2,
    .taxonomy-zodiac-container h2 {
        font-size: 2rem; /* 32px */
    }
}

@media (max-width: 640px) {
    .archive-horoscope-container h1,
    .taxonomy-zodiac-container h1 {
        font-size: 1.5rem; /* 24px */
    }
    .archive-horoscope-container h2,
    .taxonomy-zodiac-container h2 {
        font-size: 1.25rem; /* 20px */
    }
    .archive-horoscope-container h3,
    .taxonomy-zodiac-container h3 {
        font-size: 1rem; /* 16px */
    }
    .archive-horoscope-container p,
    .taxonomy-zodiac-container p {
        font-size: 0.8125rem; /* 13px */
    }
}

/* Article titles in horoscope grid - 16px on all screen sizes */
.horoscope-article-title,
.horoscope-article-title a {
    font-size: 1rem !important; /* 16px on all devices */
}
/* ===========================================
   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 2px 4px 0 rgba(0,0,0,0.04);
    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 2px 4px 0 rgba(0,0,0,0.04);
}

/* 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 2px 4px 0 rgba(0,0,0,0.04);
    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 2px 4px 0 rgba(0,0,0,0.04);
}

/* 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 2px 4px 0 rgba(0,0,0,0.04);
}

.search-shadow {
    box-shadow: 0 2px 4px 0 rgba(0,0,0,0.04);
}

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

.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 2px 4px 0 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 2px 4px 0 rgba(0,0,0,0.04);
}

.card-hover-effect:hover {
    transform: translateY(-3px);
    box-shadow: 0 2px 4px 0 rgba(0,0,0,0.04);
}

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

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

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

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

.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%


