/*
Theme Name: India Policy Hub
Theme URI: https://indiapolicyhub.in
Author: S.Das
Author URI: https://indiapolicyhub.in
Description: A custom journal-style theme for India Policy Hub with Bootstrap 5.3.
Version: 1.0
Text Domain: indiapolicyhub
*/

/* --------------------------------------------------------------
   IMPORT BOOTSTRAP (Optional if using CDN in functions.php)
   OR PASTE YOUR FULL CSS BELOW THIS LINE
-------------------------------------------------------------- */

/* Yahan aapka saara purana CSS code paste kar dein */

        /* --- THEME VARIABLES (Same as you liked) --- */
        :root {
            --primary-navy: #003366; 
            --accent-saffron: #FF9933; 
            --accent-green: #138808; 
            --paper-bg: #fdfdfd; 
            --text-dark: #2c2c2c;
            --text-light: #6c757d;
        }

        body {
            font-family: 'Merriweather', serif;
            background-color: var(--paper-bg);
            color: var(--text-dark);
            line-height: 1.7;
        }

        h1, h2, h3, h4, h5, h6, .navbar-brand {
            font-family: 'Playfair Display', serif;
            font-weight: 700;
            color: #000;
        }

        a { text-decoration: none; color: inherit; transition: 0.3s; }
        a:hover { color: var(--primary-navy); }

        /* --- TOP BAR --- */
        .top-bar {
            background-color: #f0f0f0;
            font-size: 0.85rem;
            padding: 5px 0;
            border-bottom: 1px solid #ddd;
        }

        /* --- HEADER (Cleaned - No Ads) --- */
        .site-header { padding: 30px 0; }
        .logo-text { font-size: 3rem; letter-spacing: -1px; margin-bottom: 0; color: var(--primary-navy); }
        .tagline { font-family: 'Merriweather', serif; font-size: 1rem; color: #666; font-style: italic; }
        .logo_img img {
            max-width: 250px;
            height: auto;
            border-radius: 8px;
        }
        /* --- NAVIGATION & DROPDOWNS --- */
        .navbar-custom {
            background-color: var(--primary-navy);
            padding: 0;
            border-bottom: 4px solid;
            border-image: linear-gradient(to right, var(--accent-saffron) 33%, #ffffff 33%, #ffffff 66%, var(--accent-green) 66%) 1;
        }
        .navbar-custom .nav-link {
            color: #fff !important;
            padding: 15px 20px;
            font-family: 'Merriweather', serif;
            font-size: 0.95rem;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        .navbar-custom .nav-link:hover { background-color: rgba(255,255,255,0.1); }
        /* =========================================
   SUB-MENU (DROPDOWN) FIXES
   ========================================= */

/* --- 1. COMMON STYLES (Remove Bullets) --- */
.navbar-nav .sub-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* --- 2. DESKTOP VIEW (Hover Effect) --- */
@media (min-width: 992px) {
    
    /* Parent Item Position */
    .navbar-nav .menu-item-has-children {
        position: relative;
    }

    /* Sub-Menu Styling */
    .navbar-nav .sub-menu {
        position: absolute;
        top: 100%;
        left: 0;
        background-color: #fff;
        min-width: 220px;
        box-shadow: 0 5px 15px rgba(0,0,0,0.15);
        border-top: 3px solid var(--accent-saffron); /* Theme color border */
        
        /* Animation Logic */
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);
        transition: all 0.3s ease;
        z-index: 99999;
    }

    /* Hover karne par Show karein */
    .navbar-nav .menu-item-has-children:hover > .sub-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        display: block;
    }

    /* Sub-Menu Links */
    .navbar-nav .sub-menu li a {
        display: block;
        padding: 12px 20px;
        color: #333 !important;
        font-size: 0.9rem;
        border-bottom: 1px solid #eee;
        font-weight: 500;
        text-transform: none; /* Uppercase hatayein sub-menu se */
    }

    /* Hover Color */
    .navbar-nav .sub-menu li a:hover {
        background-color: #f8f9fa;
        color: var(--primary-navy) !important;
        padding-left: 25px; /* Slide effect */
    }

    /* Arrow Indicator for Parent */
    .navbar-nav .menu-item-has-children > a::after {
        content: "\f107"; /* FontAwesome Down Arrow */
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        margin-left: 8px;
        font-size: 0.8rem;
        opacity: 0.7;
    }
}

/* --- 3. MOBILE VIEW (Indented List) --- */
@media (max-width: 991px) {
    
    /* Sub-Menu ko Relative rakhein (Overlay nahi) */
    .navbar-nav .sub-menu {
        position: static; /* Important: Content ko push karega */
        box-shadow: none;
        background-color: #f9f9f9; /* Thoda grey background */
        display: block; /* Always show in mobile (Simple UX) */
        padding-left: 20px; /* Indentation */
        margin-bottom: 10px;
        border-left: 2px solid var(--accent-saffron);
    }

    /* Mobile Sub-Menu Links */
    .navbar-nav .sub-menu li a {
        padding: 10px 15px;
        font-size: 0.9rem;
        color: #555 !important;
        border-bottom: 1px solid #ececec;
    }

    .navbar-nav .sub-menu li a:hover {
        color: var(--primary-navy) !important;
    }
}
        /* HOVER EFFECT CSS */
        @media (min-width: 992px) {
            .navbar .dropdown:hover .dropdown-menu {
                display: block;
                margin-top: 0;
                border-top: 3px solid var(--accent-saffron);
                border-radius: 0;
                box-shadow: 0 5px 15px rgba(0,0,0,0.1);
            }
        }
        .dropdown-item {
            padding: 10px 20px;
            font-size: 0.9rem;
            font-family: 'Merriweather', serif;
        }
        .dropdown-item:hover {
            background-color: #f8f9fa;
            color: var(--primary-navy);
        }
        /* --- FIXED MOBILE MENU CSS --- */
@media (max-width: 991px) { 
    
    /* 1. Parent Element ko Anchor banayein */
    .navbar {
        position: relative; /* Zaroori hai taaki menu iske neeche aaye */
    }

    /* 2. Menu Box Styling */
    .navbar-collapse {
        position: absolute;
        top: 100%; /* Magic Line: Header ki height ke turant baad shuru ho */
        left: 0;
        width: 100%; /* Full Width */
        background: #fff;
        padding: 20px;
        
        /* Thoda sa gap aur style */
        margin-top: 10px; 
        border-top: 4px solid var(--accent-saffron);
        box-shadow: 0 15px 40px rgba(0,0,0,0.15);
        border-radius: 0 0 8px 8px;
        
        /* Sabse upar dikhe */
        z-index: 9999;
    }

    /* 3. Menu Links Styling */
    .navbar-nav .nav-link {
        color: #333 !important;
        padding: 12px 15px; /* Thoda padding side mein bhi */
        border-bottom: 1px solid #f1f1f1;
        font-weight: 600;
        display: block; /* Poora area clickable ho */
    }
    
    .navbar-nav .nav-link:hover {
        background-color: #f8f9fa;
        color: var(--primary-navy) !important;
        padding-left: 20px; /* Hover animation */
        transition: all 0.3s ease;
    }

    /* Hamburger Icon Styling */
    .navbar-toggler {
        border: 2px solid #fff;
        padding: 5px;
        outline: none;
    }
    .navbar-toggler:focus {
        box-shadow: none;
    }
    /* Icon ka color white karne ke liye (agar header blue hai) */
    .navbar-toggler-icon {
         
    }
}
        /* --- HERO SLIDER --- */
        .hero-slider .carousel-item { height: 500px; position: relative; }
        .hero-slider img { object-fit: cover; height: 100%; width: 100%; filter: brightness(0.7); }
        .carousel-caption {
            background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
            bottom: 0; left: 0; right: 0;
            padding: 40px;
            text-align: left;
        }
        .carousel-indicators{
            bottom: -11px;
        }
        .slider-title { font-size: 2.5rem; color: #fff; margin-bottom: 10px; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); }
        .badge-category { background-color: var(--accent-saffron); color: #fff; padding: 5px 10px; font-size: 0.75rem; text-transform: uppercase; font-family: sans-serif; letter-spacing: 1px; }
        
        /* --- CARDS --- */
        .article-card {
            border: none;
           
            background: transparent;
            margin-bottom: 30px;
            padding-bottom: 20px;
        }
        .article-card img { width: 100%; height: auto; border-radius: 4px; margin-bottom: 15px; }
        .author_img{
            width: 8% !important;
            margin-right: 15px;
        }
        .article-card h3 { font-size: 1.5rem; margin-bottom: 10px; line-height: 1.3; }
        .article-meta { font-size: 0.8rem; color: #888; margin-bottom: 10px; font-family: sans-serif; }
        .article-excerpt { font-size: 1rem; color: #444; }

        /* Section Titles */
        .section-title {
            border-bottom: 2px solid var(--primary-navy);
            margin-bottom: 25px;
            display: flex;
            justify-content: space-between;
            align-items: baseline;
        }
        .section-title span {
            background-color: var(--primary-navy);
            color: #fff;
            padding: 5px 15px;
            font-family: sans-serif;
            text-transform: uppercase;
            font-size: 0.9rem;
            letter-spacing: 1px;
        }

        /* --- SIDEBAR --- */
        .sidebar-widget { margin-bottom: 40px; }
        .list-group-item { border: none; border-bottom: 1px dotted #ddd; padding: 12px 0; background: transparent; }
        .list-group-item h6 { font-size: 1rem; line-height: 1.4; margin-bottom: 0; }
        
        /* Newsletter */
        .newsletter-box {
            background-color: #f0f4f8;
            padding: 20px;
            border-top: 3px solid var(--primary-navy);
        }

        /* --- FOOTER --- */
        footer { background-color: #1a1a1a; color: #bbb; padding: 60px 0 20px; font-family: sans-serif; }
        footer h5 { color: #fff; margin-bottom: 20px; font-size: 1.1rem; text-transform: uppercase; letter-spacing: 1px; }
        footer ul { list-style: none; padding: 0; }
        footer ul li { margin-bottom: 10px; }
        footer a:hover { color: var(--accent-saffron); }
        .footer-bottom { border-top: 1px solid #333; margin-top: 40px; padding-top: 20px; font-size: 0.85rem; }

        /* Responsive Tweaks */
        @media (max-width: 768px) {
            .logo-text { font-size: 1.8rem; }
            .logo_img img {
    max-width: 146px;
            }
            .hero-slider .carousel-item { height: 350px; }
            .slider-title { font-size: 1.5rem; }
        }
/* --- ARTICLE SPECIFIC STYLES --- */
        .breadcrumbs { font-size: 0.85rem; color: #666; margin-bottom: 20px; font-family: sans-serif; }
        .breadcrumbs a { color: var(--primary-navy); font-weight: 600; }
        
        .article-header h1 { font-size: 2.8rem; line-height: 1.2; margin-bottom: 15px; }
        .article-subtitle { font-size: 1.3rem; color: #555; font-style: italic; margin-bottom: 20px; line-height: 1.5; }
        
        .article-meta-bar {
            border-top: 1px solid #eee;
            border-bottom: 1px solid #eee;
            padding: 15px 0;
            margin-bottom: 30px;
            font-family: sans-serif;
            font-size: 0.9rem;
            color: #555;
            display: flex;
            align-items: center;
            flex-wrap: wrap;
        }
        
        .featured-image-container { margin-bottom: 40px; }
        .featured-image { width: 100%; height: auto; border-radius: 4px; }
        .image-caption { font-size: 0.85rem; color: #777; margin-top: 10px; text-align: center; font-style: italic; }

        .article-content { font-size: 1.15rem; color: #222; }
        .article-content p { margin-bottom: 25px; }
        .article-content h2 { margin-top: 40px; margin-bottom: 20px; font-size: 1.8rem; }
        
        /* Drop Cap for first letter */
        .drop-cap::first-letter {
            float: left;
            font-size: 3.5rem;
            line-height: 0.8;
            font-weight: bold;
            padding-right: 10px;
            color: var(--primary-navy);
            font-family: 'Playfair Display', serif;
        }

        .blockquote-custom {
            border-left: 5px solid var(--accent-saffron);
            padding-left: 20px;
            font-style: italic;
            font-size: 1.3rem;
            color: #444;
            margin: 40px 0;
            background: #f9f9f9;
            padding: 20px;
        }

        /* --- AUTHOR BOX STYLES --- */
        .author-box {
            background-color: #f0f4f8; /* Light blueish grey */
            padding: 30px;
            margin-top: 60px;
            border-left: 5px solid var(--primary-navy);
            display: flex;
            align-items: start;
            flex-wrap: wrap;
        }
        .author-img-large {
            width: 100px;
            height: 100px;
            border-radius: 50%;
            object-fit: cover;
            margin-right: 25px;
            border: 3px solid #fff;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }
        .author-details { flex: 1; }
        .author-details h4 { margin-bottom: 5px; font-weight: bold; font-size: 1.2rem; }
        .author-role { font-family: sans-serif; font-size: 0.8rem; text-transform: uppercase; color: var(--primary-navy); letter-spacing: 1px; margin-bottom: 10px; display: block; }
        .author-bio { font-size: 0.95rem; color: #444; margin-bottom: 10px; }
        .author-social a { color: #666; margin-right: 15px; font-size: 1rem; }
        .author-social a:hover { color: var(--accent-saffron); }

        /* Sidebar & Footer styles reused from index */
        .sidebar-widget { margin-bottom: 40px; }
        .list-group-item { border: none; border-bottom: 1px dotted #ddd; padding: 12px 0; background: transparent; }
        .list-group-item h6 { font-size: 1rem; line-height: 1.4; margin-bottom: 0; }
        .newsletter-box { background-color: #f0f4f8; padding: 20px; border-top: 3px solid var(--primary-navy); }
        
        footer { background-color: #1a1a1a; color: #bbb; padding: 60px 0 20px; font-family: sans-serif; }
        footer h5 { color: #fff; margin-bottom: 20px; font-size: 1.1rem; text-transform: uppercase; letter-spacing: 1px; }
        footer ul { list-style: none; padding: 0; }
        footer ul li { margin-bottom: 10px; }
        footer a:hover { color: var(--accent-saffron); }
        .footer-bottom { border-top: 1px solid #333; margin-top: 40px; padding-top: 20px; font-size: 0.85rem; }

        /* Responsive */
        @media (max-width: 768px) {
            .logo-text { font-size: 1.8rem; }
            .logo_img img { max-width: 146px; }
            .article-header h1 { font-size: 2rem; }
            .author-box { flex-direction: column; text-align: center; }
            /* .author-img-large { margin: 0 auto 15px auto; } */
        }
        /* --- FLOATING CIRCULAR READING METER --- */
.floating-meter {
    position: fixed;
    bottom: 100px;
    right: 30px;
    z-index: 9999;
    width: 60px;
    height: 60px;
    cursor: pointer; /* Click karne par top par le jayega */
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15); /* Thoda shadow utha hua dikhne ke liye */
    transition: transform 0.2s;
    opacity: 0; /* Shuru mein gayab */
    visibility: hidden;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.floating-meter:hover {
    transform: scale(1.1); /* Mouse le jane par thoda bada hoga */
}

.floating-meter svg {
    display: block;
    transform: rotate(-90deg); /* Start from Top */
}
.floating-meter.active {
    opacity: 1;
    visibility: visible;
}
/* --- METER CIRCLE STYLES (Ye missing tha) --- */

/* Grey Background Ring */
.meter-bg {
    fill: none;
    stroke: #eee;
    stroke-width: 8;
}

/* Saffron Progress Ring (Animation Magic Yahan Hai) */
.meter-fill {
    fill: none;
    stroke: var(--accent-saffron); /* Theme Color */
    stroke-width: 8;
    
    /* VERY IMPORTANT: Ye line animation control karti hai */
    stroke-dasharray: 100; 
    stroke-dashoffset: 100; /* Initially empty */
    
    stroke-linecap: round;
    transition: stroke-dashoffset 0.1s linear;
}

/* Text Styling */
.meter-text {
    font-family: sans-serif;
    font-size: 22px; /* Thoda chhota kiya taaki fit ho */
    font-weight: bold;
    fill: var(--primary-navy);
    
    /* iPhone Fix Starts Here */
    transform-box: fill-box; /* Browser ko bolo box ke hisab se calculate kare */
    transform-origin: center; /* Default center */
    transform: rotate(90deg); /* Text ko seedha karne ke liye */
    
    /* Safari Specific Fix: Agar upar wala fail ho jaye */
    @supports (-webkit-touch-callout: none) {
        transform-origin: 50% 50%; 
    }
}
/* --- SLIDER CLICK FIX --- */

/* 1. Caption box ko clicks ignore karne do */
.hero-slider .carousel-caption {
    pointer-events: none; 
}

/* 2. Lekin Caption ke andar ke links aur buttons ko clickable rakho */
.hero-slider .carousel-caption a,
.hero-slider .carousel-caption .btn,
.hero-slider .carousel-caption .badge-category {
    pointer-events: auto;
    position: relative;
    z-index: 10;
}

/* 3. Arrows ko hamesha upar rakho taaki slide change ho sake */
.hero-slider .carousel-control-prev,
.hero-slider .carousel-control-next {
    z-index: 15;
}
/* --- 1. KEY TAKEAWAYS BOX --- */
.key-takeaways {
    background-color: #fff9f2; /* Very light saffron tint */
    border-left: 5px solid var(--accent-saffron);
    padding: 25px;
    margin-bottom: 35px;
    border-radius: 0 4px 4px 0;
}
.key-takeaways h5 {
    color: var(--primary-navy);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 1px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
}
.key-takeaways ul { margin: 0; padding-left: 20px; }
.key-takeaways li { margin-bottom: 8px; color: #444; font-size: 1rem; }

/* --- 2. RELATED POSTS GRID --- */
.related-section-title {
    font-size: 1.3rem;
    border-bottom: 2px solid #eee;
    padding-bottom: 10px;
    margin-top: 60px;
    margin-bottom: 30px;
    font-family: 'Playfair Display', serif;
    font-weight: 700;
}
.related-card img {
    height: 180px;
    object-fit: cover;
    width: 100%;
    border-radius: 4px;
    margin-bottom: 10px;
}
.related-card h6 {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    line-height: 1.4;
    margin-top: 10px;
}
.related-card a:hover { color: var(--primary-navy); }

/* --- 3. COMMENTS SECTION --- */
.comments-area { margin-top: 60px; margin-bottom: 60px; }
.comment-list { list-style: none; padding: 0; }
.comment-body {
    display: flex;
    margin-bottom: 30px;
    border-bottom: 1px solid #eee;
    padding-bottom: 30px;
}
.comment-author-img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    margin-right: 20px;
    object-fit: cover;
}
.comment-meta { font-size: 0.85rem; color: #888; margin-bottom: 5px; }
.comment-content p { font-size: 0.95rem; margin-bottom: 10px; color: #333; }
.reply-btn {
    font-size: 0.8rem;
    text-transform: uppercase;
    color: var(--accent-saffron);
    font-weight: bold;
}

/* Comment Form */
.comment-form-wrap {
    background: #f9f9f9;
    padding: 30px;
    border-radius: 4px;
}
.form-control {
    border-radius: 0;
    border: 1px solid #ddd;
    padding: 12px;
    font-family: sans-serif;
}
.form-control:focus {
    box-shadow: none;
    border-color: var(--primary-navy);
}

/* --- 4. STICKY SIDEBAR --- */
/* Ye class sidebar ke andar wale <div> par lagegi */
.sticky-sidebar-content {
    position: sticky;
    top: 100px; /* Header se thoda neeche rukega */
}
/* --- CATEGORY PAGE STYLES --- */

/* 1. Category Header Box */
.category-header-box {
    background-color: #f0f4f8; /* Light Navy Tint */
    padding: 40px 0;
    margin-bottom: 40px;
    border-bottom: 4px solid var(--accent-saffron);
    text-align: center;
}
.cat-title {
    font-size: 3rem;
    font-weight: 700;
    color: var(--primary-navy);
    margin-bottom: 10px;
}
.cat-desc {
    font-family: 'Merriweather', serif;
    font-size: 1.1rem;
    color: #555;
    max-width: 700px;
    margin: 0 auto;
}

/* 2. Card Hover Effect (Specific to Archives) */
.archive-card {
    transition: transform 0.2s, box-shadow 0.2s;
    height: 100%; /* Equal height */
    border: 1px solid #eee; /* Slight border */
    background: #fff;
}
.archive-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.08);
}
.archive-card .card-body { padding: 20px; }

/* 3. Pagination (Custom Theme Colors) */
.pagination { margin-top: 40px; }
.page-link {
    color: var(--primary-navy);
    border: 1px solid #ddd;
    font-family: sans-serif;
    padding: 10px 20px;
    margin: 0 5px;
}
.page-link:hover {
    background-color: #f0f4f8;
    color: var(--accent-saffron);
}
.page-item.active .page-link {
    background-color: var(--primary-navy);
    border-color: var(--primary-navy);
    color: #fff;
}
/* --- SEARCH PAGE STYLES --- */

/* 1. Large Search Hero Section */
.search-hero {
    background-color: #f0f4f8;
    padding: 50px 0;
    margin-bottom: 40px;
    border-bottom: 1px solid #ddd;
    text-align: center;
}
.search-label {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    color: #444;
    margin-bottom: 15px;
    display: block;
}
.search-form-large {
    max-width: 700px;
    margin: 0 auto;
    position: relative;
}
.search-input-lg {
    height: 60px;
    font-size: 1.2rem;
    border-radius: 4px;
    border: 2px solid #ddd;
    padding-left: 20px;
    font-family: 'Merriweather', serif;
}
.search-input-lg:focus {
    border-color: var(--primary-navy);
    box-shadow: 0 0 0 4px rgba(0, 51, 102, 0.1);
}
.search-btn-lg {
    position: absolute;
    right: 5px;
    top: 5px;
    height: 50px;
    width: 60px;
    background-color: var(--primary-navy);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 1.2rem;
}
.search-btn-lg:hover { background-color: var(--accent-saffron); color: #fff; }

/* 2. Horizontal Search Result Card */
.search-card-horizontal {
    border: none;
    border-bottom: 1px solid #eee;
    padding-bottom: 30px;
    margin-bottom: 30px;
    background: transparent;
}
.search-card-horizontal img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 4px;
}
.search-card-horizontal h3 {
    font-size: 1.5rem;
    margin-bottom: 10px;
}
.search-card-horizontal h3 a:hover {
    color: var(--primary-navy);
    text-decoration: underline;
}
.highlight-text {
    background-color: #fff3cd; /* Light yellow highlight for search term */
    padding: 0 2px;
}
/* --- 404 ERROR PAGE STYLES --- */

.error-section {
    padding: 80px 0;
    text-align: center;
}

/* Big 404 Text */
.error-code {
    font-size: 8rem;
    font-weight: 900;
    font-family: 'Playfair Display', serif;
    color: #eee; /* Subtle background text */
    line-height: 1;
    position: relative;
    z-index: 1;
}

/* Overlay Text (Page Not Found) */
.error-message {
    font-size: 2.5rem;
    color: var(--primary-navy);
    font-weight: 700;
    margin-top: -40px; /* Overlap effect */
    position: relative;
    z-index: 2;
}

.error-desc {
    font-size: 1.1rem;
    color: #666;
    max-width: 600px;
    margin: 20px auto 40px auto;
}

/* 404 Search Form */
.error-search-form {
    max-width: 500px;
    margin: 0 auto 50px auto;
    position: relative;
}
.error-search-input {
    height: 55px;
    border-radius: 30px;
    padding-left: 25px;
    border: 2px solid #ddd;
}
.error-search-btn {
    position: absolute;
    right: 5px;
    top: 5px;
    height: 45px;
    width: 45px;
    border-radius: 50%;
    background-color: var(--primary-navy);
    color: #fff;
    border: none;
}
.error-search-btn:hover { background-color: var(--accent-saffron); }

/* Helpful Links Grid */
.helpful-links-box {
    background: #f9f9f9;
    padding: 40px;
    border-top: 3px solid var(--accent-saffron);
    text-align: left;
}
.helpful-title {
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 20px;
    font-family: 'Playfair Display', serif;
}
.helpful-list {
    list-style: none;
    padding: 0;
}
.helpful-list li {
    margin-bottom: 10px;
    border-bottom: 1px dotted #ddd;
    padding-bottom: 10px;
}
.helpful-list a {
    font-weight: 600;
    color: #333;
}
.helpful-list a:hover { color: var(--primary-navy); text-decoration: underline; }
/* --- DEFAULT PAGE TEMPLATE STYLES --- */

/* 1. Page Header (Simple & Clean) */
.page-header-simple {
    background-color: #f8f9fa;
    padding: 60px 0;
    text-align: center;
    border-bottom: 1px solid #eee;
    margin-bottom: 50px;
}
.page-title {
    font-family: 'Playfair Display', serif;
    font-size: 3rem;
    font-weight: 700;
    color: var(--primary-navy);
    margin-bottom: 10px;
}
.page-subtitle {
    font-family: sans-serif;
    color: #666;
    font-size: 1.1rem;
    max-width: 600px;
    margin: 0 auto;
}

/* 2. Page Content Area */
.page-content-wrapper {
    font-size: 1.1rem;
    color: #333;
    line-height: 1.8;
}
.page-content-wrapper h2 {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    margin-top: 40px;
    margin-bottom: 20px;
    font-size: 1.8rem;
    color: #000;
}
.page-content-wrapper h3 {
    font-size: 1.4rem;
    font-weight: 600;
    margin-top: 30px;
    margin-bottom: 15px;
}
.page-content-wrapper ul {
    margin-bottom: 25px;
    padding-left: 20px;
}
.page-content-wrapper li { margin-bottom: 10px; }

/* 3. About Us: Mission Box */
.mission-box {
    border-left: 5px solid var(--accent-saffron);
    background: #fff9f2;
    padding: 30px;
    margin: 30px 0;
    font-style: italic;
    font-size: 1.2rem;
    color: #444;
}

/* 4. About Us: Team Grid */
.team-member-card {
    text-align: center;
    margin-bottom: 30px;
    padding: 20px;
    border: 1px solid #f0f0f0;
    transition: 0.3s;
}
.team-member-card:hover { box-shadow: 0 10px 20px rgba(0,0,0,0.05); }

.team-img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 15px;
    border: 3px solid var(--primary-navy);
}
.team-name { font-weight: 700; font-size: 1.2rem; margin-bottom: 5px; font-family: 'Playfair Display', serif; }
.team-role { font-size: 0.85rem; text-transform: uppercase; color: #888; letter-spacing: 1px; }

/* 5. Legal Text (Privacy/Terms) Specific */
.legal-last-updated {
    font-size: 0.9rem;
    color: #777;
    margin-bottom: 30px;
    font-style: italic;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
}
/* --- CUSTOM SEARCH WIDGET STYLES --- */

/* Form Wrapper */
.search-form-custom {
    margin-top: 15px; /* Title se thoda gap */
}

/* Input Field Styling */
.search-form-custom .search-field {
    border: 2px solid #ddd;
    border-right: none; /* Button se judne ke liye border hataya */
    border-radius: 4px 0 0 4px; /* Sirf left side rounded */
    height: 45px;
    font-family: 'Merriweather', serif;
    font-size: 0.95rem;
    padding-left: 15px;
    background-color: #f9f9f9;
    color: #333;
}

/* Input Focus Effect */
.search-form-custom .search-field:focus {
    box-shadow: none;
    border-color: var(--primary-navy);
    background-color: #fff;
}

/* Search Button Styling */
.search-form-custom .btn-search {
    background-color: var(--primary-navy);
    color: #fff;
    border: 2px solid var(--primary-navy); /* Border match karein */
    border-radius: 0 4px 4px 0; /* Sirf right side rounded */
    padding: 0 20px;
    font-size: 1rem;
    transition: all 0.3s ease;
}

/* Button Hover Effect */
.search-form-custom .btn-search:hover {
    background-color: var(--accent-saffron);
    border-color: var(--accent-saffron);
    color: #fff;
}
/* --- WORDPRESS PAGINATION FIX FOR BOOTSTRAP --- */
.page-numbers {
    display: flex;
    justify-content: center;
    padding-left: 0;
    list-style: none;
}

.page-numbers li {
    margin: 0 5px;
}

.page-numbers li a, 
.page-numbers li span {
    position: relative;
    display: block;
    padding: 0.5rem 0.75rem;
    color: var(--primary-navy);
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0; /* Boxy look */
}

.page-numbers li a:hover {
    z-index: 2;
    color: var(--primary-navy);
    background-color: #e9ecef;
    border-color: #dee2e6;
}

.page-numbers li span.current {
    z-index: 3;
    color: #fff;
    background-color: var(--primary-navy);
    border-color: var(--primary-navy);
}
/* --- Single Post Typography Fixes --- */

/* 1. First Letter Drop Cap (Automatic) */
.post-body > p:first-of-type::first-letter {
    float: left;
    font-family: 'Playfair Display', serif;
    font-size: 3.5rem;
    line-height: 0.8;
    margin-right: 10px;
    color: var(--primary-navy);
    font-weight: 700;
}

/* 2. Blockquote Custom Design */
.post-body blockquote {
    background: #f9f9f9;
    border-left: 4px solid var(--accent-saffron);
    margin: 30px 0;
    padding: 20px;
    font-style: italic;
    font-family: 'Merriweather', serif;
    font-size: 1.1rem;
    color: #444;
}

/* 3. Key Takeaways List Fix */
.key-takeaways ul {
    list-style: none;
    padding-left: 0;
}
.key-takeaways li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 8px;
}
.key-takeaways li::before {
    content: "•";
    color: var(--accent-saffron);
    font-weight: bold;
    position: absolute;
    left: 0;
}
/* --- COMMENTS SECTION STYLING --- */

/* Comment List Item */
.comment-body {
    display: flex;
    margin-bottom: 20px;
}

/* Author Image */
.comment-author-img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border: 2px solid #eee;
}

/* Reply Link */
.reply-btn a {
    color: var(--accent-saffron);
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
}
.reply-btn a:hover {
    color: var(--primary-navy);
    text-decoration: underline;
}

/* Form Inputs Styling */
.comment-form-wrap input,
.comment-form-wrap textarea {
    border-radius: 0;
    border: 1px solid #ddd;
    padding: 12px;
    font-family: sans-serif;
    background: #fff;
}

.comment-form-wrap input:focus,
.comment-form-wrap textarea:focus {
    border-color: var(--primary-navy);
    box-shadow: none;
    outline: none;
}

/* Hide default "logged in as" text formatting if needed */
.logged-in-as {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 15px;
}
/* --- AUTHOR PAGE STYLES --- */
.author-header-section {
    background-color: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
}
.author-bio-text {
    line-height: 1.8;
    font-size: 1.05rem;
}
.tracking-wide {
    letter-spacing: 1.5px;
}
/* --------------------------------------------------------------
   PAGINATION STYLING (Bootstrap Look)
-------------------------------------------------------------- */
.page-numbers {
    display: flex;
    justify-content: center; /* Center align */
    padding-left: 0;
    list-style: none;
    margin-bottom: 3rem;
}

.page-numbers li {
    margin: 0 4px; /* Boxes ke beech gap */
}

/* Links aur Numbers ka design */
.page-numbers li a, 
.page-numbers li span {
    position: relative;
    display: block;
    padding: 10px 18px;
    font-size: 1rem;
    color: var(--primary-navy);
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: 4px; /* Thoda rounded corners */
    transition: all 0.3s ease;
    font-weight: 600;
}

/* Hover Effect */
.page-numbers li a:hover {
    z-index: 2;
    color: #fff;
    background-color: var(--primary-navy);
    border-color: var(--primary-navy);
    transform: translateY(-2px); /* Thoda upar uthega */
}

/* Active Page (Jo abhi khula hai) */
.page-numbers li span.current {
    z-index: 3;
    color: #fff;
    background-color: var(--accent-saffron); /* Active color Saffron */
    border-color: var(--accent-saffron);
    cursor: default;
}

/* Dots (...) ka style */
.page-numbers li span.dots {
    border: none;
    padding: 10px;
    background: transparent;
    color: #999;
}
/* --- GENERIC PAGE STYLES --- */
.page-header-section {
    background-color: #f8f9fa;
}

.text-navy {
    color: var(--primary-navy);
}

/* Page content ke andar headings ko spacing dena */
.post-body h2, 
.post-body h3 {
    margin-top: 30px;
    margin-bottom: 15px;
    color: var(--primary-navy);
    font-weight: 700;
}

.post-body ul, 
.post-body ol {
    margin-bottom: 20px;
    padding-left: 20px;
}
/* --- SCROLL TO TOP BUTTON --- */
/* --- SCROLL TO TOP BUTTON (Updated) --- */
.scroll-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background-color: var(--primary-navy); /* Dark Blue */
    color: #fff;
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 50px; /* Center Icon Vertically */
    border-radius: 50%; /* Circle shape */
    font-size: 1.2rem;
    cursor: pointer;
    
    /* Default Hidden State */
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease;
    
    /* Sabse upar dikhane ke liye */
    z-index: 99999 !important; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}

.scroll-to-top:hover {
    background-color: var(--accent-saffron); /* Hover pe Orange */
    transform: translateY(-5px);
}

/* JavaScript ye class add karega tab button dikhega */
.scroll-to-top.show {
    opacity: 1 !important;
    visibility: visible !important;
}
/* --------------------------------------------------------------
   PRINT STYLES (Jab user Ctrl+P dabayega tab ye chalega)
-------------------------------------------------------------- */
@media print {
    /* Hide Navigation, Sidebar, Footer, Buttons */
    .top-bar, 
    .navbar, 
    .sidebar-widget, 
    .sticky-sidebar-content, 
    .related-section-title,
    .comments-area,
    .footer-bottom, 
    .scroll-to-top,
    .breadcrumbs,
    .reply-btn,
    .btn {
        display: none !important;
    }

    /* Layout Adjustments */
    .col-lg-8 {
        width: 100% !important; /* Content full width ho jaye */
        flex: 0 0 100%;
        max-width: 100%;
    }

    /* Font Adjustments for Paper */
    body, p {
        font-size: 12pt;
        color: #000;
        background: #fff;
    }

    a {
        text-decoration: none;
        color: #000;
    }

    /* Logo & Credit */
    .site-header {
        text-align: left;
        border-bottom: 2px solid #000;
        margin-bottom: 20px;
    }
    
    .site-header:after {
        content: "Printed from IndiaPolicyHub.in";
        display: block;
        font-size: 10pt;
        color: #555;
        margin-top: 5px;
    }
}
/* =======================================================
   MOBILE RESPONSIVE & LAYOUT FIXES
   (Paste this at the very bottom of style.css)
   ======================================================= */

/* --- 1. GLOBAL MEDIA FIX (Images/Videos screen se bahar na jayein) --- */
img, iframe, video, object {
    max-width: 100%;
    height: auto;
}

/* --- 2. LOGO & HEADER ADJUSTMENTS --- */
@media (max-width: 768px) {
    /* Header Padding kam karein */
    .site-header {
        padding: 15px 0;
        text-align: center; /* Logo center mein achha lagta hai mobile pe */
    }

    /* Logo Size Chhota karein */
    .logo_img img, 
    .custom-logo-link img {
        max-height: 50px !important; /* Force small size */
        width: auto;
    }

    /* Tagline mobile par chhupa dein (Clean look ke liye) */
    .site-header .tagline {
        display: none;
    }

    /* Top Bar (Date/Socials) ko mobile par hide karein */
    .top-bar {
        display: none;
    }
}

/* --- 3. TYPOGRAPHY SCALING (Fonts chhote karein) --- */
@media (max-width: 768px) {
    
    /* Bade Headings ko control karein */
    h1, .page-title, .cat-title { font-size: 1.8rem !important; }
    h2 { font-size: 1.5rem !important; }
    h3 { font-size: 1.3rem !important; }
    .display-4 { font-size: 2rem !important; } 

    /* Article Title on Single Page */
    .article-header h1 {
        font-size: 1.8rem !important;
        line-height: 1.3;
    }
    
    /* Breadcrumbs font */
    .breadcrumbs {
        font-size: 0.75rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* General Container Padding */
    .container {
        padding-left: 20px;
        padding-right: 20px;
    }
    
    /* Section Spacing Reduce */
    .mb-5 { margin-bottom: 2rem !important; }
    .py-5 { padding-top: 2rem !important; padding-bottom: 2rem !important; }
}

/* --- 4. NAVBAR & MOBILE MENU FIXES --- */
@media (max-width: 991px) { /* Tablet & Mobile Breakpoint */
    
    /* Hamburger Icon Styling */
    .navbar-toggler {
        border: 2px solid rgba(255,255,255,0.5);
        padding: 5px;
        color: #fff;
    }
    
    /* Mobile Menu Dropdown Box */
    .navbar-collapse {
        background: #fff;
        padding: 15px;
        margin-top: 15px;
        border-top: 4px solid var(--accent-saffron);
        box-shadow: 0 10px 30px rgba(0,0,0,0.15);
        border-radius: 4px;
        position: absolute; /* Content ke upar float karega */
        width: 94%; /* Thoda side gap */
        left: 3%;
        z-index: 9999;
    }

    /* Menu Links styling inside mobile box */
    .navbar-nav .nav-link {
        color: var(--text-dark) !important;
        padding: 12px 0;
        border-bottom: 1px solid #f1f1f1;
        font-weight: 600;
        text-align: left;
    }
    
    .navbar-nav .nav-link:hover {
        color: var(--primary-navy) !important;
        background: transparent;
        padding-left: 5px; /* Hover effect */
    }

    /* Hide Search Form in Menu if needed or style it */
    .navbar-custom form {
        margin-top: 15px;
        width: 100%;
    }
    .navbar-custom input {
        border: 1px solid #ddd;
    }
}

/* --- 5. COMPONENT SPECIFIC MOBILE FIXES --- */
@media (max-width: 768px) {
    
    /* Hero Slider Height */
    .hero-slider .carousel-item {
        height: 250px !important; /* Mobile par height kam */
    }
    .carousel-caption {
        padding: 15px;
    }
    .slider-title {
        font-size: 1.2rem !important;
    }
    .carousel-caption p {
        display: none; /* Subtitle hide karein */
    }

    /* Featured Image Height */
    .featured-image-container img {
        height: 200px;
        object-fit: cover;
    }

    /* Author Box Stack */
    .author-box {
        flex-direction: column;
        text-align: center;
        padding: 20px;
    }
    /* .author-img-large {
        margin: 0 auto 15px auto;
    } */
    .author-box .author-details {
        width: 100%;
    }

    /* Footer Center Align */
    footer .col-md-3, 
    footer .col-md-4 {
        text-align: center;
        margin-bottom: 30px;
    }
    
    /* Hide Sticky Sidebar Effect on Mobile */
    .sticky-sidebar-content {
        position: static;
    }
    
    /* 404 Text Size */
    .error-code { font-size: 5rem; }
    .error-message { font-size: 1.8rem; }
}