/*
Theme Name: Shri Bapuji Buva Shr Kalikai Devsthan
Theme URI: https://shribapujibuvashrikalikai.org
Author: Amit Chivilkar
Author URI: https://www.iease.in
Description: Custom WordPress theme for Shri Bapuji Buva Shri Kalikai Devsthan
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: bapujibuva
*/


body {
    font-family: 'Anek Devanagari', sans-serif;
    font-feature-settings: "locl" 1, "ss01" 1 !important;
    -webkit-font-feature-settings: "locl" 1, "ss01" 1 !important;
    -moz-font-feature-settings: "locl" 1, "ss01" 1 !important;
    font-variant-ligatures: common-ligatures;
    scroll-behavior: smooth;
}

.custom-shadow {
    box-shadow: 0 10px 30px -5px rgba(234, 88, 12, 0.1);
}

.hero-title {
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

.container {
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}

 /* --- CORE MENU STYLING --- */
        .menu-item-has-children { position: relative; }
        
        /* नवीन प्रोफेशनल CSS Chevron (बाण) */
        .menu-item-has-children > a:after {
            content: '';
            display: inline-block;
            width: 7px;
            height: 7px;
            border-right: 2px solid currentColor;
            border-bottom: 2px solid currentColor;
            margin-left: 10px;
            transform: translateY(-3px) rotate(45deg); /* सुरुवातीचा बाण खाली पाहत असलेला */
            transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.3s ease;
            opacity: 0.5;
            flex-shrink: 0;
        }

        /* --- DESKTOP NAVIGATION (1024px+) --- */
        @media (min-width: 1024px) {
            /* होव्हर केल्यावर बाण वर फिरवणे */
            .primary-menu-container ul li.menu-item-has-children:hover > a:after {
                transform: translateY(1px) rotate(225deg);
                color: #ea580c;
                opacity: 1;
            }

            .primary-menu-container .menu-item-has-children > ul { 
                display: none; 
                position: absolute; 
                background: white; 
                min-width: 230px; 
                box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
                border-radius: 1.25rem;
                padding: 0.75rem 0;
                border: 1px solid #ffedd5;
                z-index: 100;
                top: calc(100% + 10px); 
                left: 0;
                opacity: 0;
                animation: slideIn 0.3s forwards;
            }

            /* Hover Bridge */
            .primary-menu-container .menu-item-has-children > ul::before {
                content: '';
                position: absolute;
                top: -12px;
                left: 0;
                width: 100%;
                height: 12px;
                background: transparent;
            }
            
            .primary-menu-container .menu-item-has-children:hover > ul { 
                display: block; 
            }

            .primary-menu-container ul li a {
                display: flex;
                align-items: center;
                padding: 0.5rem 1.25rem;
                font-weight: 700;
                color: #334155;
                transition: all 0.2s ease;
                border-radius: 9999px;
                line-height: 1;
            }
            
            .primary-menu-container ul li a:hover { 
                color: #ea580c; 
                background-color: #fff7ed;
            }
        }

        /* --- MOBILE NAVIGATION (Up to 1023px) --- */
        @media (max-width: 1023px) {
            #mobile-menu .menu-item-has-children > ul {
                display: block !important; 
                max-height: 0;
                overflow: hidden;
                padding: 0;
                margin: 0;
                background: #fffaf5;
                border-radius: 1rem;
                transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
                opacity: 0;
                pointer-events: none;
            }

            #mobile-menu .menu-item-has-children.is-open > ul {
                max-height: 1200px; 
                opacity: 1;
                padding: 0.5rem 0;
                margin-top: 0.5rem;
                pointer-events: auto;
            }

            /* मोबाईलवर क्लिक केल्यावर बाण फिरवणे */
            #mobile-menu .menu-item-has-children.is-open > a:after {
                transform: translateY(1px) rotate(225deg) !important;
                color: #ea580c !important;
                opacity: 1 !important;
            }

            #mobile-menu .sub-menu li a {
                padding: 0.9rem 1.5rem !important;
                font-size: 0.95rem;
                border-bottom: 1px solid #fef2e0;
                display: block;
                color: #64748b;
                font-weight: 600;
                padding: 0.75rem 0;
            }
            
            #mobile-menu .sub-menu li:last-child a {
                border-bottom: none;
            }

            #mobile-menu .menu-item-has-children > a {
                display: flex;
                justify-content: space-between;
                align-items: center;
                width: 100%;
                padding: 0.75rem 1rem 0.75rem 0;
            }
        }

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



@keyframes softFade {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  30% {
    opacity: 1;
  }
  40% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

.logo-part {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0;
  animation: softFade 9s linear infinite;
}


/* Base styles for social media icons */
.social-icon-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem; /* w-12 */
    height: 3rem; /* h-12 */
    background-color: rgba(255, 255, 255, 0.1); /* bg-white/10 */
    border-radius: 9999px; /* rounded-full */
    color: #fff; /* text-white */
    font-size: 1.25rem; /* text-xl */
    transition: all 0.3s ease; /* transition-all */
    cursor: pointer;
}

/* Hover effects */
.social-icon-link.facebook:hover {
    background-color: #3b5998; /* Facebook blue */
    color: #fff;
}

.social-icon-link.youtube:hover {
    background-color: #ff0000; /* YouTube red */
    color: #fff;
}

.social-icon-link.instagram:hover {
    background-color: #e4405f; /* Instagram pink/red */
    color: #fff;
}
