/* Font Family Definitions */
/* Fira Sans Condensed for headings */
h1, h2, h3, h4, h5, h6,
.heading-font,
.font-heading {
    font-family: 'Fira Sans Condensed', sans-serif !important;
    font-weight: 700 !important;
}

/* Fira Sans for body text - Using higher specificity to override universal selector */
html body,
html body *:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6),
body,
body *,
p,
div,
span,
a,
li,
td,
th,
.body-font,
.font-body,
.text-body {
    font-family: 'Fira Sans', sans-serif !important;
}

/* Ensure avatars are perfectly round and consistent */
.header-avatar,
#user-menu-button img[class*='avatar'],
.post-author-avatar,
.avatar,
img.avatar {
    border-radius: 50% !important;
    -webkit-border-radius: 50% !important;
    -moz-border-radius: 50% !important;
    object-fit: cover !important;
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
    overflow: hidden !important;
}

/* Header avatar specific size */
.header-avatar,
#user-menu-button img[class*='avatar'] {
    width: 32px !important;
    height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
}

/* Post author avatar specific size */
.post-author-avatar,
.avatar,
img.avatar {
    width: 24px !important;
    height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
}

/* Force all avatar images to be circular */
img[class*='avatar'] {
    border-radius: 50% !important;
    -webkit-border-radius: 50% !important;
    -moz-border-radius: 50% !important;
    object-fit: cover !important;
}

/* Custom font size for 13px navigation items */
.text-13px {
    font-size: 13px !important;
}

/* Custom max-width for 1100px site width */
.site-width {
    max-width: 1100px !important;
}

/* Border radius for content containers */
.post-content,
.page-content,
.news-content,
.press-content,
.privacy-content,
.about-content,
.post-card,
.related-posts-container,
.custom-shadow,
.service-icon-shadow,
.sidebar-widget,
.widget,
.popular-posts-container,
.categories-container,
.ad-space-container {
    border-radius: 8px !important;
}

/* Form elements */
input[type="text"],
input[type="search"],
input[type="email"],
input[type="password"],
textarea,
select,
.search-input,
#main-search-input,
#google-search-input {
    border-radius: 9999px !important;
}

/* Buttons */
button,
.btn,
.button,
input[type="submit"],
input[type="button"],
.category-pill,
.follow-button,
.subscribe-button {
    border-radius: 8px !important;
}

/* Rounded buttons (when explicitly specified) */
.rounded-full,
.rounded-full button,
.rounded-full .btn,
.rounded-full .button,
.search-category-btn,
#radial-menu-trigger,
.profile-icon,
.notification-badge {
    border-radius: 9999px !important;
}

/* Content sections */
section.py-16.bg-white,
section.py-16.bg-slate-50,
.section-content,
.hero-gradient-content,
.mission-section,
.story-section {
    border-radius: 8px !important;
}

/* Sidebar elements */
.sidebar-widget,
.widget,
.popular-posts-container,
.categories-container,
.ad-space-container {
    border-radius: 8px !important;
}

/* Service icons and interactive elements */
.service-icon-container,
.interactive-icon,
.feature-icon-container,
.core-service-icon {
    border-radius: 28px !important;
}

/* Specific elements that should keep their rounded styles */
#sidebar .flex.items-center.space-x-2,
#sidebar .flex.items-center.space-x-2 a,
#sidebar .flex.items-center.space-x-2 button {
    border-radius: inherit !important;
}

/* Ensure full width on mobile */
@media (max-width: 768px) {
    #sidebar {
        width: 100% !important;
        max-width: 100% !important;
    }
}

#sidebar .flex.items-center.space-x-2 .px-3,
#sidebar .flex.items-center.space-x-2 .px-4,
#sidebar .flex.items-center.space-x-2 .py-1\.5,
#sidebar .flex.items-center.space-x-2 .py-2,
#sidebar .flex.items-center.space-x-2 .text-sm,
#sidebar .flex.items-center.space-x-2 .font-medium,
#sidebar .flex.items-center.space-x-2 .text-center,
#sidebar .flex.items-center.space-x-2 .text-white,
#sidebar .flex.items-center.space-x-2 .bg-blue-600,
#sidebar .flex.items-center.space-x-2 .hover\:bg-blue-700,
#sidebar .flex.items-center.space-x-2 .border,
#sidebar .flex.items-center.space-x-2 .border-blue-600,
#sidebar .flex.items-center.space-x-2 .text-blue-600,
#sidebar .flex.items-center.space-x-2 .hover\:bg-blue-50 {
    border-radius: inherit !important;
}

/* Remove border radius from notification, about page, press page, privacy page top sections */
.preview-notice,
.hero-gradient {
    border-radius: 0 !important;
}

/* Add border radius to other elements that benefit from it */
.comment-toggle-btn,
.pagination-container,
.tag-container,
.breadcrumb-container,
.news-card,
.video-card,
.image-card,
.user-profile-card,
.pricing-card,
.testimonial-card {
    border-radius: 8px !important;
}

.modal-content,
.dropdown-menu,
.notification-panel {
    border-radius: 8px !important;
}

/* Force specific border radius for sticky menu */
.sticky-header-menu,
.w-full.bg-white.shadow-sm[style*="height: 36px"] {
    border-radius: 0 !important;
}

/* Add border-radius to additional elements that benefit from rounded corners */

/* Sticky Sidebar Styles */
{{ ... }}
.sticky-sidebar {
    position: sticky;
    top: 2rem;
    height: fit-content;
    max-height: calc(100vh - 4rem);
    overflow-y: auto;
}

/* Custom sidebar styling for profile pages */
.profile-sidebar {
    background: white;
    border-radius: 0.5rem; /* 8px to match theme standard */
    border: 1px solid #f3f4f6;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    overflow: hidden; /* Ensure consistent overflow handling */
}

/* Author stats card specific styling */
.author-stats-card {
    background: white;
    color: #1f2937;
    border-radius: 0.5rem; /* 8px to match theme standard */
    border: 1px solid #f3f4f6;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    overflow: hidden; /* Ensure consistent overflow handling */
}

.author-stats-card .sidebar-widget-title {
    color: #1f2937;
    font-weight: 600;
    font-size: 1.125rem;
    margin-bottom: 1rem;
    text-align: center;
}

.author-stats-card .stat-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid #f3f4f6;
}

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

.author-stats-card .stat-label {
    color: #6b7280;
    font-size: 0.875rem;
}

.author-stats-card .stat-value {
    color: #1f2937;
    font-weight: 600;
    font-size: 1rem;
}

/* Regular sidebar widget title */
.sidebar-widget-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 1rem;
    text-align: center;
}

/* Stat items for regular sidebar */
.profile-sidebar .stat-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid #f3f4f6;
}

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

.profile-sidebar .stat-label {
    color: #6b7280;
    font-size: 0.875rem;
}

.profile-sidebar .stat-value {
    color: #1f2937;
    font-weight: 600;
    font-size: 0.875rem;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .sticky-sidebar {
        position: relative;
        top: auto;
        height: auto;
        max-height: none;
    }
}

@media (max-width: 768px) {
    .profile-sidebar,
    .author-stats-card {
        margin-bottom: 1rem;
        padding: 1rem;
    }
    
    .sidebar-widget-title {
        font-size: 1rem;
        margin-bottom: 0.75rem;
    }
}

/* Smart go-to-top button behavior */
#go-to-top {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    will-change: transform, opacity !important;
    pointer-events: auto !important;
}

#go-to-top.visible {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

#go-to-top.invisible {
    pointer-events: none !important;
}

/* Smooth fade transition */
#go-to-top.opacity-0 {
    opacity: 0 !important;
}

#go-to-top.opacity-100 {
    opacity: 1 !important;
}

/* Ensure go-to-top button doesn't conflict with mobile menu */
#go-to-top {
    user-select: none !important;
}

/* Hide go-to-top button when mobile menu is open */
.mobile-menu-open #go-to-top {
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Prose content styling for single posts */
.prose {
    font-size: 17px;
    line-height: 1.75;
}

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

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

.prose p {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.prose ul, .prose ol {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
    padding-left: 1.5rem;
}

.prose li {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

.prose a {
    color: #2563eb;
    text-decoration: none;
    font-weight: 500;
}

.prose a:hover {
    text-decoration: underline;
}

.prose img {
    margin-top: 2rem;
    margin-bottom: 2rem;
    border-radius: 0.5rem;
}

.prose blockquote {
    border-left: 4px solid #60a5fa;
    padding: 1rem 0 1rem 1.5rem;
    margin: 2rem 0;
    font-style: italic;
    color: #4b5563;
    background-color: #edf0f4;
    border-radius: 0 0.5rem 0.5rem 0;
}
.rounded,
.rounded-lg,
.rounded-xl,
.rounded-2xl,
.rounded-3xl {
    border-radius: inherit !important;
}

/* Ensure specific border-radius values for different rounded classes */
.rounded {
    border-radius: 0.25rem !important; /* 4px */
}

.rounded-lg {
    border-radius: 8px !important;
}

.rounded-xl {
    border-radius: 8px !important;
}

.rounded-2xl {
    border-radius: 8px !important;
}

.rounded-3xl {
    border-radius: 8px !important;
}

/* Ensure form elements have appropriate border-radius */
input[type="text"],
input[type="search"],
input[type="email"],
input[type="password"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="time"],
input[type="week"],
textarea,
select {
    border-radius: 8px !important;
}

/* Ensure buttons have appropriate border-radius */
button,
.btn,
.button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
    border-radius: 8px !important;
}

/* Special border-radius for circular elements */
.rounded-full {
    border-radius: 9999px !important;
}

/* Add border-radius to card-like elements */
.card,
.card-hover-effect,
.custom-shadow,
.service-icon-shadow,
.sidebar-widget,
.widget {
    border-radius: 8px !important;
}

/* Add border-radius to interactive elements */
.search-category-btn,
.search-tab,
.category-pill {
    border-radius: 9999px !important; /* Fully rounded */
}

/* Add border-radius to content sections */
.content-section,
.hero-section,
.about-content,
.press-content,
.privacy-content,
.page-content {
    border-radius: 8px !important;
}

/* Homepage search type container */
.search-type-container {
    background-color: #edf0f4; /* light gray background */
    padding: 0.5rem; /* 8px */
    border-radius: 1rem; /* 16px */
    display: inline-flex;
    gap: 0.75rem; /* 12px space between items */
}

/* Homepage menu icons below search bar */
.homepage-service-icon {
    border-radius: 1rem !important; /* 16px */
}

/* Enhanced Modern Section Heading Design with Apple-like aesthetics */
.section-heading-modern {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #1f2937;
    font-size: 1.125rem; /* 18px */
    font-weight: 700;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    text-align: left;
    position: relative;
    letter-spacing: -0.025em;
    line-height: 1.3;
    transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
}

/* Subtle accent line with gradient */
.section-heading-modern::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 40px;
    height: 3px;
    background: linear-gradient(90deg, #3b82f6, #6366f1);
    border-radius: 2px;
    transition: width 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
}

/* Hover effect for section headings */
.section-heading-modern:hover::after {
    width: 60px;
}

/* Softer, more modern look with subtle background */
.section-heading-modern-container {
    padding: 0.75rem 1rem;
    margin: 0 -1rem 1.5rem -1rem;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(249, 250, 251, 0.8) 0%, rgba(249, 250, 251, 0.5) 100%);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(229, 231, 235, 0.8);
    transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

/* Mobile responsive adjustments */
@media (max-width: 767px) {
    .section-heading-modern {
        font-size: 1rem; /* 16px */
        margin-bottom: 0.75rem;
    }

    .section-heading-modern::after {
        width: 30px;
        height: 2px;
    }
    
    .section-heading-modern-container {
        padding: 0.5rem 0.75rem;
        margin: 0 -0.75rem 1.25rem -0.75rem;
        border-radius: 12px;
    }
}

/* Desktop enhancements */
@media (min-width: 768px) {
    .section-heading-modern {
        font-size: 1.25rem; /* 20px */
        margin-bottom: 1.25rem;
    }
    
    .section-heading-modern-container {
        padding: 1rem 1.25rem;
        margin: 0 -1.25rem 1.75rem -1.25rem;
        border-radius: 18px;
    }
}

@media (min-width: 1024px) {
    .section-heading-modern {
        font-size: 1.375rem; /* 22px */
        margin-bottom: 1.5rem;
    }
    
    .section-heading-modern-container {
        padding: 1.25rem 1.5rem;
        margin: 0 -1.5rem 2rem -1.5rem;
        border-radius: 20px;
    }
}

/* Section Heading Styles - Mobile Friendly */
.section-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1f2937;
    font-size: 1.25rem; /* 20px mobile */
    font-weight: 700;
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    border-bottom: 3px solid;
    border-image-slice: 1;
    border-image-source: linear-gradient(to right, #4f46e5, #a855f7, #ec4899);
    text-shadow: 0 1px 3px rgba(0,0,0,0.1);
    position: relative;
}

/* Desktop responsive improvements */
@media (min-width: 768px) {
    .section-heading {
        font-size: 1.875rem; /* 30px desktop */
        margin-bottom: 2rem;
        padding-bottom: 1rem;
    }
}

@media (min-width: 1024px) {
    .section-heading {
        font-size: 2.25rem; /* 36px large screens */
        margin-bottom: 2.5rem;
        padding-bottom: 1.25rem;
    }
}

/* Add a subtle background highlight for better visual separation */
.section-heading::before {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: linear-gradient(to right, #4f46e5, #a855f7, #ec4899);
    border-radius: 2px;
}

/* Mobile responsive adjustments */
@media (max-width: 767px) {
    .section-heading::before {
        width: 40px;
        height: 2px;
    }
}

/* Unique Modern Section Heading Styles */

/* 1. Upcoming Movies - Cinema Theme */
.section-heading-movies {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1f2937;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    position: relative;
    text-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.section-heading-movies::before {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: linear-gradient(to right, #f59e0b, #dc2626, #7c3aed);
    border-radius: 2px;
}

.section-heading-movies::after {
    content: '🎬';
    margin-left: 0.5rem;
    font-size: 1.1em;
}

/* 2. Latest News - Newspaper Theme */
.section-heading-news {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1f2937;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    position: relative;
    background: linear-gradient(45deg, #f3f4f6, #ffffff);
    border-radius: 12px;
    padding: 0.75rem 1.5rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.section-heading-news::before {
    content: '📰';
    margin-right: 0.5rem;
    font-size: 1.2em;
}

/* 3. Live Radio - Audio Theme */
.section-heading-radio {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1f2937;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    position: relative;
    background: linear-gradient(to right, #ec4899, #8b5cf6);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.section-heading-radio::before {
    content: '📻';
    margin-right: 0.5rem;
    font-size: 1.2em;
    filter: hue-rotate(45deg);
}

/* 4. Popular Listings - Shopping Theme */
.section-heading-listings {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1f2937;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    position: relative;
    border-bottom: 3px solid;
    border-image-slice: 1;
    border-image-source: linear-gradient(to right, #10b981, #059669, #047857);
}

.section-heading-listings::after {
    content: '🛒';
    margin-left: 0.5rem;
    font-size: 1.1em;
}

/* 5. More Services & Tools - Tools Theme */
.section-heading-services {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1f2937;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    position: relative;
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: 0 0 20px rgba(59, 130, 246, 0.3);
}

.section-heading-services::before {
    content: '🔧';
    margin-right: 0.5rem;
    font-size: 1.2em;
}

/* 6. Discover More - Exploration Theme */
.section-heading-discover {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1f2937;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    position: relative;
    border-bottom: 3px solid;
    border-image-slice: 1;
    border-image-source: linear-gradient(to right, #f97316, #ea580c, #dc2626);
    transform: perspective(1000px) rotateX(5deg);
    transform-origin: center bottom;
}

.section-heading-discover::before {
    content: '🗺️';
    margin-right: 0.5rem;
    font-size: 1.2em;
}

/* 7. Pay Your Bills - Finance Theme */
.section-heading-bills {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1f2937;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    position: relative;
    background: linear-gradient(to right, #16a34a, #15803d);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.section-heading-bills::before {
    content: '💳';
    margin-right: 0.5rem;
    font-size: 1.2em;
}

/* 8. Plan Your Trip - Travel Theme */
.section-heading-trip {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1f2937;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    position: relative;
    border-bottom: 3px solid;
    border-image-slice: 1;
    border-image-source: linear-gradient(to right, #06b6d4, #0891b2, #0e7490);
    border-radius: 8px 8px 0 0;
}

.section-heading-trip::after {
    content: '✈️';
    margin-left: 0.5rem;
    font-size: 1.1em;
}

/* 9. Local Events - Calendar Theme */
.section-heading-events {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1f2937;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    position: relative;
    background: linear-gradient(45deg, #fef3c7, #fde68a);
    border-radius: 12px;
    padding: 0.75rem 1.5rem;
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.2);
}

.section-heading-events::before {
    content: '📅';
    margin-right: 0.5rem;
    font-size: 1.2em;
}

/* 10. Learn Something New - Education Theme */
.section-heading-learn {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1f2937;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    position: relative;
    background: linear-gradient(to right, #8b5cf6, #7c3aed);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: 0 0 20px rgba(139, 92, 246, 0.3);
}

.section-heading-learn::before {
    content: '📚';
    margin-right: 0.5rem;
    font-size: 1.2em;
}

/* 11. Stay Healthy - Health Theme */
.section-heading-health {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1f2937;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    position: relative;
    border-bottom: 3px solid;
    border-image-slice: 1;
    border-image-source: linear-gradient(to right, #22c55e, #16a34a, #15803d);
    border-radius: 4px;
}

.section-heading-health::before {
    content: '💚';
    margin-right: 0.5rem;
    font-size: 1.2em;
}

/* 12. Government Services - Official Theme */
.section-heading-government {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1f2937;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    position: relative;
    background: linear-gradient(to right, #374151, #1f2937);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: 0 0 20px rgba(55, 65, 81, 0.3);
}

.section-heading-government::before {
    content: '🏛️';
    margin-right: 0.5rem;
    font-size: 1.2em;
}

/* 13. Trending Topics - Trend Theme */
.section-heading-trending {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1f2937;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    position: relative;
    background: linear-gradient(45deg, #fed7aa, #fdba74, #fb923c);
    border-radius: 20px;
    padding: 0.75rem 2rem;
    box-shadow: 0 8px 25px rgba(251, 146, 60, 0.3);
    transform: scale(1.05);
}

.section-heading-trending::before {
    content: '🔥';
    margin-right: 0.5rem;
    font-size: 1.2em;
}

/* Mobile Responsive Adjustments */
@media (max-width: 767px) {
    .section-heading-movies,
    .section-heading-news,
    .section-heading-radio,
    .section-heading-listings,
    .section-heading-services,
    .section-heading-discover,
    .section-heading-bills,
    .section-heading-trip,
    .section-heading-events,
    .section-heading-learn,
    .section-heading-health,
    .section-heading-government,
    .section-heading-trending {
        font-size: 1.125rem;
        margin-bottom: 1.25rem;
    }

    .section-heading-news,
    .section-heading-events,
    .section-heading-trending {
        padding: 0.5rem 1rem;
    }
}

/* Desktop Enhancements */
@media (min-width: 768px) {
    .section-heading-movies,
    .section-heading-news,
    .section-heading-radio,
    .section-heading-listings,
    .section-heading-services,
    .section-heading-discover,
    .section-heading-bills,
    .section-heading-trip,
    .section-heading-events,
    .section-heading-learn,
    .section-heading-health,
    .section-heading-government,
    .section-heading-trending {
        font-size: 1.5rem;
        margin-bottom: 2rem;
    }
}

@media (min-width: 1024px) {
    .section-heading-movies,
    .section-heading-news,
    .section-heading-radio,
    .section-heading-listings,
    .section-heading-services,
    .section-heading-discover,
    .section-heading-bills,
    .section-heading-trip,
    .section-heading-events,
    .section-heading-learn,
    .section-heading-health,
    .section-heading-government,
    .section-heading-trending {
        font-size: 1.75rem;
        margin-bottom: 2.5rem;
    }
}

/* --- HOROSCOPE STYLES --- */

/* Horoscope Archive Grid */
.horoscope-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
}

@media (max-width: 768px) {
    .horoscope-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

/* Horoscope Card Enhancements */
.horoscope-card {
    background: white;
    border-radius: 1rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    border: 1px solid #e5e7eb;
}

.horoscope-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    border-color: #d1d5db;
}

/* Zodiac Symbol Styling - Using Site Font */
.zodiac-symbol,
.zodiac-icon {
    font-family: 'Fira Sans', sans-serif !important;
    font-variant-emoji: unicode !important;
    font-feature-settings: "liga" off, "kern" off;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-display: swap;
    /* Prevent disappearing during font loading */
    font-synthesis: none;
    /* Prevent FOUC (Flash of Unstyled Content) */
    visibility: visible !important;
    opacity: 1 !important;
}

/* Fallback for unsupported Unicode */
.zodiac-symbol:not(:empty)::after {
    content: "";
}

/* Hide any WordPress-generated emoji images */
img.emoji {
    display: none !important;
}

/* Prevent external SVG loading */
.zodiac-symbol img,
.zodiac-icon img {
    display: none !important;
}

/* Horoscope Title Mobile-Friendly Styling */
.horoscope-title {
    font-size: 1.75rem !important; /* 28px for desktop */
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 0.5rem;
}

/* Mobile responsive font sizes */
@media (max-width: 640px) {
    .horoscope-title {
        font-size: 1.5rem !important; /* 24px for mobile */
        line-height: 1.3;
    }
}

@media (max-width: 480px) {
    .horoscope-title {
        font-size: 1.375rem !important; /* 22px for small mobile */
        line-height: 1.3;
    }
}

/* Force text-based emoji display */
.wp-emoji,
.emoji {
    display: none !important;
}

/* Ensure zodiac Unicode symbols are displayed as text */
.zodiac-symbol::before,
.zodiac-symbol::after {
    content: none !important;
}

/* Prevent FOUC (Flash of Unstyled Content) for zodiac icons */
@supports (font-display: swap) {
    .zodiac-symbol {
        font-display: swap;
    }
}

/* Fallback for browsers that don't support zodiac Unicode */
.zodiac-fallback::before {
    content: "⭐";
    font-family: 'Fira Sans', sans-serif;
}

/* Horoscope Card Gradient Backgrounds */
.horoscope-card-gradient-1 {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.horoscope-card-gradient-2 {
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}

.horoscope-card-gradient-3 {
    background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}

.horoscope-card-gradient-4 {
    background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
}

.horoscope-card-gradient-5 {
    background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
}

.horoscope-card-gradient-6 {
    background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
}

/* Lucky Number Highlight */
.lucky-number-highlight {
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 50%, #d97706 100%);
    color: white;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 0.875rem;
    box-shadow: 0 4px 8px rgba(245, 158, 11, 0.3);
}

/* Lucky Color Dot */
.lucky-color-dot {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    border: 3px solid white;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* Zodiac Navigation */
.zodiac-nav-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
    gap: 0.75rem;
}

@media (max-width: 640px) {
    .zodiac-nav-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 0.5rem;
    }
}

.zodiac-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.75rem;
    background: #f9fafb;
    border-radius: 0.75rem;
    transition: all 0.2s ease;
    text-decoration: none;
    border: 1px solid #e5e7eb;
}

.zodiac-nav-item:hover {
    background: #f3f4f6;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-color: #8b5cf6;
}

.zodiac-nav-item.active {
    background: #ede9fe;
    border-color: #8b5cf6;
    color: #7c3aed;
}

/* Timeline Styles */
.horoscope-timeline {
    position: relative;
}

.horoscope-timeline::before {
    content: '';
    position: absolute;
    left: 2rem;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(to bottom, #8b5cf6, #ec4899);
    border-radius: 1px;
}

@media (max-width: 768px) {
    .horoscope-timeline::before {
        left: 1rem;
    }
}

.timeline-item {
    position: relative;
    margin-bottom: 2rem;
}

.timeline-item::before {
    content: '';
    position: absolute;
    left: 1.75rem;
    top: 1.5rem;
    width: 0.5rem;
    height: 0.5rem;
    background: #8b5cf6;
    border-radius: 50%;
    border: 2px solid white;
    box-shadow: 0 0 0 3px #ede9fe;
}

@media (max-width: 768px) {
    .timeline-item::before {
        left: 0.75rem;
    }
}

/* Horoscope Pagination */
.pagination-horoscope {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    margin: 2rem 0;
}

.pagination-horoscope .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.75rem;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    color: #6b7280;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.2s ease;
    min-width: 2.5rem;
    height: 2.5rem;
}

.pagination-horoscope .page-numbers:hover {
    background: #f9fafb;
    border-color: #8b5cf6;
    color: #8b5cf6;
    transform: translateY(-1px);
}

.pagination-horoscope .page-numbers.current {
    background: #8b5cf6;
    border-color: #8b5cf6;
    color: white;
    font-weight: 600;
}

.pagination-horoscope .page-numbers.prev,
.pagination-horoscope .page-numbers.next {
    padding: 0.5rem;
}

.pagination-horoscope .page-numbers svg {
    width: 1.25rem;
    height: 1.25rem;
}

/* Single Horoscope Styles */
.horoscope-header-bg {
    background: linear-gradient(135deg, #8b5cf6 0%, #3b82f6 100%);
    position: relative;
    overflow: hidden;
}

.horoscope-header-bg::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
    animation: float 6s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(180deg); }
}

/* Lucky Highlights */
.lucky-highlight-number {
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 50%, #d97706 100%);
    border-radius: 1rem;
    padding: 1.5rem;
    color: white;
    box-shadow: 0 10px 25px rgba(245, 158, 11, 0.3);
}

.lucky-highlight-color {
    background: white;
    border-radius: 1rem;
    padding: 1.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    border: 1px solid #e5e7eb;
}

/* Mood Badge */
.mood-badge {
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 2rem;
    padding: 0.5rem 1rem;
    color: white;
    font-weight: 500;
    display: inline-block;
}

/* Special Notes Styling */
.special-notes {
    background: linear-gradient(135deg, #ede9fe 0%, #f3e8ff 100%);
    border-left: 4px solid #8b5cf6;
    border-radius: 0.75rem;
    padding: 1.5rem;
    margin: 1.5rem 0;
}

.special-notes h4 {
    color: #6b21a8;
    font-weight: 600;
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.special-notes p {
    color: #7c2d92;
    line-height: 1.6;
    margin: 0;
}

/* Responsive Adjustments */
@media (max-width: 640px) {
    .horoscope-grid {
        padding: 0 1rem;
    }
    
    .lucky-highlight-number,
    .lucky-highlight-color {
        padding: 1rem;
    }
    
    .zodiac-nav-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Accessibility Improvements */
.horoscope-card:focus,
.zodiac-nav-item:focus,
.pagination-horoscope .page-numbers:focus {
    outline: 2px solid #8b5cf6;
    outline-offset: 2px;
}

/* Print Styles */
@media print {
    .horoscope-card,
    .lucky-highlight-number,
    .lucky-highlight-color {
        box-shadow: none;
        border: 1px solid #e5e7eb;
    }
    
    .horoscope-header-bg {
        background: #8b5cf6 !important;
        color: white !important;
    }
}

/* --- NEW ANIMATED ELEMENTS --- */
.animated-elements-container {
    position: fixed;
    top: 160px; /* Moved down */
    left: 0;
    width: 100vw;
    height: 50px; /* Adjust as needed */
    display: flex;
    justify-content: space-between;
    align-items: center;
    pointer-events: none; /* Allow clicks to pass through */
    z-index: 1000;
}

.animated-element {
    position: absolute;
    pointer-events: auto; /* Enable clicks on the elements themselves */
}

.pop-in-left {
    left: 0;
    transform: translateX(-100%);
    animation: slide-in-out-left 5s 1s forwards cubic-bezier(0.25, 0.8, 0.25, 1);
}

.pop-in-right {
    right: 0;
    transform: translateX(100%);
    animation: peek-a-boo-right 6s 1s infinite cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

@keyframes slide-in-out-left {
    0% {
        transform: translateX(-100%);
    }
    20%, 80% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}

@keyframes peek-a-boo-right {
    0%, 100% {
        transform: translateX(100%); /* Fully hidden */
    }
    10%, 40% {
        transform: translateX(0); /* Fully shown */
    }
    50% {
        transform: translateX(85%); /* Peek */
    }
    60% {
        transform: translateX(0); /* Fully shown again */
    }
    70%, 90% {
        transform: translateX(70%); /* Partially hidden (peeking) */
    }
}

/* Nepali Calendar Custom Styles - Apple-inspired Design */
.nepali-calendar {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.nepali-calendar .calendar-header h3 {
    font-weight: 700;
    color: #1f2937;
    letter-spacing: -0.025em;
}

.nepali-calendar .calendar-header .text-base {
    font-weight: 500;
    color: #6b7280;
}

.nepali-calendar .calendar-grid {
    gap: 8px;
}

.nepali-calendar .day-header {
    background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
    border-radius: 16px;
    font-weight: 600;
    color: #1f2937;
    padding: 12px 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03);
    font-size: 0.9rem;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.5);
    text-align: center;
}

.nepali-calendar .calendar-day {
    background: linear-gradient(135deg, #ffffff 0%, #f9fafb 100%);
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    min-height: 80px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 8px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.8);
}

.nepali-calendar .calendar-day:hover {
    background: #f9fafb;
    border-color: #d1d5db;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.nepali-calendar .calendar-day .day-number {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1f2937;
    line-height: 1.2;
}

.nepali-calendar .calendar-day .english-day {
    font-size: 0.75rem;
    color: #6b7280;
    font-weight: 500;
}

.nepali-calendar .calendar-day.today {
    background: linear-gradient(135deg, #dbeafe 0%, #93c5fd 100%);
    border-color: #3b82f6;
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15);
    transform: scale(1.05);
}

.nepali-calendar .calendar-day.today .day-number {
    color: white;
    font-weight: 700;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.nepali-calendar .calendar-day.today .english-day {
    color: rgba(255, 255, 255, 0.9);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.nepali-calendar .calendar-day.festival {
    background: linear-gradient(135deg, #fef2f2 0%, #fca5a5 100%);
    border-color: #f87171;
    box-shadow: 0 4px 12px rgba(248, 113, 113, 0.15);
}

.nepali-calendar .calendar-day.festival .day-number {
    color: #b91c1c;
}

.nepali-calendar .calendar-day .festival {
    font-size: 0.7rem;
    color: #b91c1c;
    font-weight: 600;
    text-align: center;
    line-height: 1.3;
    max-width: 95%;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 4px;
}

.nepali-calendar .calendar-day .tithi {
    font-size: 0.65rem;
    color: #6b7280;
    text-align: center;
    line-height: 1.3;
    max-width: 95%;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 4px;
    font-weight: 500;
}

.nepali-calendar .empty-day {
    background: transparent;
    border: none;
    box-shadow: none;
}

.nepali-calendar .calendar-navigation a {
    background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
    color: #1f2937;
    border-radius: 16px;
    font-weight: 500;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(10px);
    padding: 10px 20px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.nepali-calendar .calendar-navigation a:hover {
    background: linear-gradient(135deg, #e5e7eb 0%, #d1d5db 100%);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transform: translateY(-1px);
}

.nepali-calendar .panchang-details {
    background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
    border-radius: 20px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(10px);
}

.nepali-calendar .panchang-details h4 {
    color: #1f2937;
    font-weight: 700;
}

/* Mobile responsive adjustments */
@media (max-width: 640px) {
    .nepali-calendar .calendar-grid {
        gap: 6px;
    }
    
    .nepali-calendar .day-header {
        padding: 10px 6px;
        font-size: 0.8rem;
        border-radius: 12px;
    }
    
    .nepali-calendar .calendar-day {
        min-height: 70px;
        border-radius: 12px;
        padding: 6px;
    }
    
    .nepali-calendar .calendar-day .day-number {
        font-size: 1.1rem;
    }
    
    .nepali-calendar .calendar-day .english-day {
        font-size: 0.7rem;
    }
    
    .nepali-calendar .calendar-day .festival {
        font-size: 0.65rem;
    }
    
    .nepali-calendar .calendar-day .tithi {
        display: none;
    }
}

/* Go to Top Button Styles */
#go-to-top {
    background: linear-gradient(135deg, #3b82f6 0%, #6366f1 100%);
    box-shadow: 0 4px 20px rgba(59, 130, 246, 0.3);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: none;
    outline: none;
    z-index: 10000 !important;
}

#go-to-top:hover {
    background: linear-gradient(135deg, #2563eb 0%, #4f46e5 100%);
    box-shadow: 0 6px 24px rgba(59, 130, 246, 0.4);
    transform: translateY(-2px) scale(1.05);
}

#go-to-top:active {
    transform: translateY(0) scale(0.98);
    box-shadow: 0 2px 12px rgba(59, 130, 246, 0.3);
}

#go-to-top svg {
    transition: transform 0.3s ease;
}

#go-to-top:hover svg {
    transform: translateY(-2px);
}

/* Mobile responsive adjustments for go-to-top button */
@media (max-width: 768px) {
    #go-to-top {
        bottom: 5rem !important;
        right: 1rem !important;
        width: 2.25rem !important;
        height: 2.25rem !important;
    }

    #go-to-top svg {
        width: 1rem !important;
        height: 1rem !important;
    }
}

/* Ensure proper spacing between go-to-top and history buttons */
@media (min-width: 769px) {
    #go-to-top {
        bottom: 5rem !important;
        right: 1rem !important;
    }

    #history-button {
        bottom: 1rem !important;
        left: 1rem !important;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    #go-to-top {
        border: 2px solid currentColor;
    }
}