﻿        /* Shared Base Styles */
        body { font-family: 'Poppins', 'Anek Telugu', sans-serif; background-color: #f4f4f9; margin: 0; padding: 0; color: #333; overflow-x: hidden; }
        .container { max-width: 1100px; margin: 0 auto; padding: 0 20px; width: 100%; box-sizing: border-box; }

        /* HEADER & NAV BAR */
        header { background-color: #ffffff; box-shadow: 0 2px 10px rgba(0,0,0,0.1); width: 100%; position: relative; z-index: 1000; }
        
        .nav-wrapper {
            display: flex;
            justify-content: space-between;
            align-items: center;
            height: 80px;
        }

        .nav-logo {
            font-size: 1.45rem;
            font-weight: 700;
            color: #d32f2f;
            text-decoration: none;
            letter-spacing: -0.5px;
            white-space: nowrap;
        }

        /* NAVIGATION MENU */
        .nav-links {
            display: flex;
            list-style: none;
            margin: 0;
            padding: 0;
            height: 100%;
        }

        .nav-item {
            position: static;
            height: 100%;
            display: flex;
            align-items: center;
            flex-direction: column; /* Mobile compatibility */
            justify-content: center;
        }

        .nav-item > a {
            text-decoration: none;
            color: #444;
            font-weight: 600;
            font-size: 1rem;
            padding: 0 20px;
            height: 100%;
            display: flex;
            align-items: center;
            transition: all 0.3s ease;
            cursor: pointer;
            user-select: none;
        }

        .nav-item.active-menu > a {
            color: #d32f2f;
            background: #fff5f5;
            box-shadow: inset 0 -3px 0 #d32f2f;
        }

        /* PUSH DOWN MEGA MENU (Desktop) */
        .mega-menu-container {
            display: none;
            width: 100%;
            background: #ffffff;
            border-top: 1px solid #eee;
            border-bottom: 5px solid #d32f2f;
            box-shadow: inset 0 5px 10px rgba(0,0,0,0.05);
            overflow: hidden;
        }

        .mega-menu-container.active {
            display: block;
            animation: pushDown 0.4s ease-out;
        }

        @keyframes pushDown {
            from { max-height: 0; opacity: 0; }
            to { max-height: 800px; opacity: 1; }
        }

        .mega-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
            gap: 15px;
            max-width: 1100px;
            margin: 0 auto;
            padding: 30px 20px;
        }

        .mega-link {
            display: block;
            text-decoration: none;
            color: #555;
            background: #f8f9fa;
            padding: 12px;
            text-align: center;
            border-radius: 6px;
            font-size: 0.9rem;
            font-weight: 500;
            border: 1px solid #eee;
            transition: all 0.2s ease;
        }

        .mega-link:hover {
            background: #d32f2f;
            color: #fff;
            border-color: #d32f2f;
            transform: translateY(-2px);
        }

        /* MOBILE TOGGLE */
        .menu-toggle {
            display: none;
            flex-direction: column;
            gap: 5px;
            cursor: pointer;
            background: none;
            border: none;
            padding: 10px;
            z-index: 1100;
        }

        .menu-toggle span {
            display: block;
            width: 28px;
            height: 3px;
            background-color: #d32f2f;
            border-radius: 3px;
        }

        /* CONTENT CARDS */
        .policy-card {
            background: white; border-radius: 12px; padding: 30px;
            box-shadow: 0 4px 6px rgba(0,0,0,0.05); margin-bottom: 25px;
            border-top: 5px solid #d32f2f;
        }
        .section-title { 
            font-size: 1.8em; font-weight: bold; color: #d32f2f; 
            border-bottom: 2px solid #eee; padding-bottom: 10px; margin-bottom: 20px;
        }
        .policy-text { line-height: 1.8; color: #444; font-size: 1.05em; }
        
        /* FOOTER */
        .main-footer { text-align: center; color: #777; font-size: 0.9em; padding: 40px 20px; border-top: 1px solid #ddd; margin-top: 30px; }
        .footer-links { margin-bottom: 15px; }
        .footer-links a { color: #d32f2f; text-decoration: none; margin: 0 10px; }

        /* RESPONSIVE STYLES */
        @media (max-width: 900px) {
            .menu-toggle { display: flex; }
            
            .nav-links {
                display: none;
                flex-direction: column;
                background: #fff;
                width: 100%;
                position: absolute;
                top: 80px;
                left: 0;
                height: auto;
                box-shadow: 0 10px 15px rgba(0,0,0,0.1);
                border-top: 1px solid #eee;
            }
            
            .nav-links.active { 
                display: flex; 
            }
            
            .nav-item { 
                width: 100%; 
                height: auto; 
                border-bottom: 1px solid #f0f0f0; 
                display: block; 
            }
            
            .nav-item > a { 
                width: 100%; 
                padding: 15px 20px; 
                box-sizing: border-box; 
                height: 60px;
                justify-content: space-between;
                align-items: center;
            }

            /* Add indicator for mobile sub-menu */
            .nav-item > a::after {
                content: '▼';
                font-size: 0.7rem;
                transition: transform 0.3s;
            }
            .nav-item.active-menu > a::after {
                transform: rotate(180deg);
            }

            .nav-item.active-menu > a {
                box-shadow: none;
                background: #fff5f5;
            }
            
            .mega-menu-container {
                border-bottom: none;
                background: #fdfdfd;
                position: relative; 
                top: 0;
                border-top: 1px solid #f0f0f0;
            }
            
            .mega-grid { 
                grid-template-columns: 1fr 1fr; 
                padding: 15px; 
                gap: 8px; 
            }
            
            .mega-link {
                padding: 10px;
                font-size: 0.85rem;
            }
            
            .hero-title { font-size: 1.65em; }
        }
        
        /* HERO */

        .hero-section {

            background: linear-gradient(135deg, #d32f2f, #b71c1c); color: white;

            padding: 10px 10px; text-align: center; border-radius: 0 0 20px 20px;

            margin-bottom: 30px; box-shadow: 0 4px 10px rgba(0,0,0,0.2);

        }

        .hero-title { font-size: 1.65em; margin: 0 0 0px 0; font-weight: 600; color:#FDDA0D; }

        .hero-subtitle { font-size: 1.2em; opacity: 0.9; margin-bottom: 15px; }

        

        .cta-button {

            display: inline-block; background-color: #fff; color: #d32f2f;

            padding: 12px 25px; border-radius: 30px; text-decoration: none;

            font-weight: bold; font-size: 1.1em; transition: transform 0.2s, box-shadow 0.2s;

        }

        .cta-button:hover { transform: translateY(-3px); box-shadow: 0 5px 15px rgba(0,0,0,0.2); }



        /* QUICK LINKS */

        .grid-menu {

            display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));

            gap: 20px; margin-bottom: 30px;

        }

        .menu-card {

            background: white; padding: 25px; border-radius: 12px;

            text-align: center; box-shadow: 0 4px 6px rgba(0,0,0,0.05);

            transition: transform 0.2s; border-top: 4px solid transparent;

        }

        .menu-card:hover { transform: translateY(-5px); }

        .card-icon { font-size: 3em; margin-bottom: 15px; display: block; }

        .card-title { font-size: 1.4em; font-weight: bold; margin-bottom: 10px; color: #333; }

        .card-desc { color: #666; font-size: 0.95em; margin-bottom: 20px; line-height: 1.5; }

        .btn-link {

            display: inline-block; padding: 8px 20px; border-radius: 5px;

            text-decoration: none; font-weight: bold; font-size: 0.9em;

        }

        

        .card-panchangam { border-color: #ff9800; }

        .btn-panchangam { background-color: #ff9800; color: white; }

        .card-calendar { border-color: #2196f3; }

        .btn-calendar { background-color: #2196f3; color: white; }

        .card-festivals { border-color: #4caf50; }

        .btn-festivals { background-color: #4caf50; color: white; }



        /* INFO CARDS */

        .info-card {

            background: white; border-radius: 12px; padding: 20px;

            box-shadow: 0 4px 6px rgba(0,0,0,0.05); margin-bottom: 25px;

            border-top: 4px solid #d32f2f;

        }

        .card-header-row {

            display: flex; justify-content: space-between; align-items: center;

            border-bottom: 1px solid #eee; padding-bottom: 10px; margin-bottom: 15px;

            flex-wrap: wrap; gap: 10px;

        }

        /* 1. TITLE COLORS */

        .title-blue { color: #1565c0 !important; }

        .title-green { color: #2e7d32 !important; }

        

        .card-header-title { font-size: 1.3em; font-weight: bold; color: #d32f2f; }

        .card-header-date { font-size: 1.1em; font-weight: 600; color: #555; }



        .today-row { display: flex; margin-bottom: 10px; font-size: 1.05em; line-height: 1.6; }

        .t-label { width: 130px; font-weight: 600; color: #444; flex-shrink: 0; }

        .t-value { color: #222; }



        /* TIMINGS */

        .timings-grid {

            display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));

            gap: 20px; margin-bottom: 25px;

        }

        .timing-box {

            background: #fff; padding: 15px; border-radius: 10px;

            text-align: center; border: 1px solid #eee; border-top-width: 4px;

            box-shadow: 0 2px 5px rgba(0,0,0,0.05);

        }

        .tb-red { border-top-color: #d32f2f; }

        .tb-orange { border-top-color: #ff9800; }

        .tb-green { border-top-color: #2e7d32; }

        

        /* 2. TIMING TITLES COLORS */

        .tb-red .tb-label, .tb-orange .tb-label { 

            font-weight: bold; display: block; margin-bottom: 5px; color: #d32f2f; /* Red */

        }

        .tb-green .tb-label { 

            font-weight: bold; display: block; margin-bottom: 5px; color: #2e7d32; /* Green */

        }

        .tb-time { font-size: 1.1em; font-weight: 600; color: #222; }



        /* FESTIVALS LIST ROW */

        .fest-list-home { padding: 0; list-style: none; margin: 0; }

        .fest-item-home {

            display: flex; flex-direction: column;

            border-bottom: 1px solid #eee; padding: 12px 10px;

            transition: background 0.2s;

        }

        .fest-item-home:last-child { border-bottom: none; }

        

        .fest-item-home:nth-child(even):not(.bg-holiday):not(.bg-optional):not(.bg-special) {

            background-color: #fafafa;

        }

        .fest-item-home:hover { background-color: #e8f5e9 !important; }

        

        .bg-holiday { background-color: #ffebee; } 

        .bg-optional { background-color: #fff3e0; } 

        .bg-special { background-color: #e3f2fd; } 



        .f-date-row { 

            color: #1565c0; font-size: 1.1em; font-weight: normal; 

            margin-bottom: 4px; display: block; font-family: 'Anek Telugu', sans-serif;

        }

        .f-content-row { 

            font-size: 1.15em; line-height: 1.5; color: #222; 

            font-family: 'Anek Telugu', sans-serif; padding-left: 5px;

        }

        .f-arrow { color: #000; margin-right: 5px; font-weight: bold; }

        .f-timer { font-size: 0.85em; color: #2e7d32; margin-left: 8px; font-weight: normal; }

        

        .fest-link { text-decoration: none; color: #1565c0; border-bottom: 1px dotted; }

        .fest-link:hover { text-decoration: none; border-bottom: 1px solid; }



        .seo-content {

            background: white; padding: 30px; border-radius: 12px;

            margin-bottom: 40px; box-shadow: 0 2px 5px rgba(0,0,0,0.05);

            line-height: 1.8;

        }

        .seo-content h2 { color: #d32f2f; font-size: 1.5em; border-bottom: 2px solid #eee; padding-bottom: 10px; margin-bottom: 20px; }

        .main-footer { text-align: center; color: #777; font-size: 0.9em; padding: 20px; border-top: 1px solid #ddd; }



        @media (max-width: 600px) {

            .hero-title { font-size: 1.65em; }

            .grid-menu, .timings-grid { grid-template-columns: 1fr; }

            .card-header-row { flex-direction: column; align-items: flex-start; }

            .today-row { flex-direction: column; }

            .t-label { width: 100%; margin-bottom: 2px; }

        }