/* CSS Generated on: 2025-11-19 09:34:19 */
/* Base CSS */
/* ===================================================================
 * Fixydo Theme - Header Static Styles
 *
 * Description: This file contains the core structural and default
 * styling for the site header. Dynamic values are applied via
 * CSS variables from the Customizer.
 * =================================================================== */

/* --- CSS Variables (Default Values) --- */
/* These values are used as a fallback if the dynamic CSS isn't loaded. */
/* They are synced with the Customizer's default settings. */
:root {
    --header-height-desktop: 52px;
    --header-padding-desktop: 0 15px;
    --logo-width-desktop: 94px;
    
    --header-height-mobile: 50px;
    --header-padding-mobile: 0 15px;
    --logo-width-mobile: 100px;

    --menu-link-color: #f8fafd;
    --menu-link-hover-color: #ffffff;
    --menu-link-hover-bg: #364264;
    
    --submenu-bg: #28334d;
    --submenu-link-color: #dbe4f9;
    --submenu-link-hover-color: #ffffff;

    --profile-text-color: #cfe1fa;
    --profile-submenu-bg: #28334d;
    --profile-submenu-link-color: #dbe4f9;
    --profile-submenu-link-hover-color: #ffffff;
    --profile-submenu-link-hover-bg: #364264;

    --logout-icon-color: #ffffff;
    --logout-icon-hover-color: #ffffff;
    --logout-icon-border-color: rgba(255, 255, 255, 0.7);
    --logout-icon-hover-bg: rgba(79, 148, 255, 0.2);
    --logout-icon-radius: 4px;

    --bell-icon-color: #dbe4f9;
    --bell-icon-hover-color: #ffffff;

    --extra-btn-bg: #dd3333;
    --extra-btn-text-color: #ffffff;
    --extra-btn-hover-bg: #dd8500;
    --extra-btn-hover-text-color: #ffffff;
}

/* --- Top Bar --- */
.fxy-top-bar { 
    background-color: #111; 
    color: #fff; 
    text-align: center; 
    padding: 8px 15px; 
    font-size: 14px; 
}

/* --- Header Structure --- */
.fxy-header {
    width: 100%;
    color: var(--menu-link-color);
    position: relative;
    z-index: 4000;
    box-shadow: 0 2px 12px rgba(18,26,52,0.09);
    font-family: 'Segoe UI', Arial, sans-serif;
    font-size: 0.98em;
    background-color: #20283a; /* Default solid background */
}
.fxy-header-inner {
    max-width: 1180px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--header-padding-desktop);
    height: var(--header-height-desktop);
}
.fxy-logo, .custom-logo-link {
    display: flex;
    align-items: center;
    font-size: 1.09em;
    font-weight: 700;
    color: var(--menu-link-color);
    text-decoration: none;
    gap: 9px;
}
.fxy-logo img, .custom-logo {
    height: auto !important;
    width: var(--logo-width-desktop) !important;
    max-height: calc(var(--header-height-desktop) - 10px);
}
.fxy-nav-left {
    display: flex;
    align-items: center;
    gap: 15px;
}

/* --- Profile & Login Section --- */
.fxy-profile-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
}
.fxy-login-pair {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    padding: 6px;
    transition: color 0.3s, background-color 0.3s, border-color 0.2s ease;
    color: var(--logout-icon-color); 
    border: 1px solid var(--logout-icon-border-color); 
    border-radius: var(--logout-icon-radius);
}
.fxy-login-pair svg {
    fill: currentColor;
}
.fxy-login-pair:hover {
    color: var(--logout-icon-hover-color); 
    background-color: var(--logout-icon-hover-bg);
    border-color: #fff;
    text-decoration: none;
}
.fxy-profile-img-container { position: relative; cursor: pointer; }
.fxy-profile-img { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; background: #e3ecfc; border: 1.6px solid #4f94ff; }
.fxy-profile-name { font-size: 1.02em; font-weight: 600; color: var(--profile-text-color); max-width: 92px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.fxy-profile-submenu { 
    position: absolute; 
    top: 44px; 
    right: 0; 
    border: 1px solid #3c4f75; 
    box-shadow: 0 4px 14px #111a2f30; 
    padding: 7px 0; 
    border-radius: 10px; 
    min-width: 180px; 
    display: none; 
    flex-direction: column; 
    z-index: 10000; 
    background-color: var(--profile-submenu-bg); 
}
.fxy-profile-submenu a { 
    padding: 9px 16px; 
    display: flex; 
    align-items: center; 
    text-decoration: none; 
    font-size: 0.95em; 
    color: var(--profile-submenu-link-color); 
}
.fxy-profile-submenu a:hover { 
    background: var(--profile-submenu-link-hover-bg); 
    color: var(--profile-submenu-link-hover-color); 
}
.fxy-profile-submenu .dashicons { margin-right: 8px; font-size: 1.1em; }

/* --- Mega Menu --- */
.fxy-desktop-nav { position: static; }
.fxy-browse-btn {
    color: var(--menu-link-color);
    text-decoration: none; font-weight: 600; cursor: pointer;
    padding: 8px 12px; border-radius: 6px; transition: background 0.2s ease, color 0.2s ease;
    display: flex; align-items: center; gap: 6px;
}
.fxy-browse-btn:hover, .fxy-browse-btn.active {
    background: var(--menu-link-hover-bg);
    color: var(--menu-link-hover-color);
}
.fxy-browse-arrow { width: 16px; height: 16px; fill: currentColor; transition: transform 0.3s ease; }
.fxy-browse-btn.active .fxy-browse-arrow { transform: rotate(180deg); }

#fxyPrimaryNav {
    display: none; position: absolute; top: var(--header-height-desktop); left: 0; width: 100%;
    background: var(--submenu-bg);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.25);
    border-top: 1px solid #3c4f75; z-index: 3999;
    opacity: 0; visibility: hidden; transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}
#fxyPrimaryNav.is-visible { display: block; opacity: 1; visibility: visible; transform: translateY(0); }
.mega-menu-content { max-width: 1180px; margin: 0 auto; padding: 20px 15px; max-height: calc(100vh - 120px); overflow-y: auto; }
#fxyPrimaryNav ul.mega-menu-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 25px; }
#fxyPrimaryNav ul.mega-menu-grid > li > a { color: #ffffff; font-size: 1.05em; font-weight: 700; margin-bottom: 12px; display: block; text-decoration: none; border-bottom: 2px solid #4f94ff; padding-bottom: 6px; }
#fxyPrimaryNav ul.mega-menu-grid > li > a:hover { color: #4f94ff; }
#fxyPrimaryNav ul.mega-menu-grid ul.sub-menu { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 5px; }
#fxyPrimaryNav ul.mega-menu-grid ul.sub-menu li a {
    color: var(--submenu-link-color);
    text-decoration: none; font-size: 0.95em; padding: 4px 0; display: block;
    transition: color 0.2s ease, padding-left 0.2s ease;
}
#fxyPrimaryNav ul.mega-menu-grid ul.sub-menu li a:hover {
    color: var(--submenu-link-hover-color);
    padding-left: 5px;
}

/* --- Header Notification System --- */
.notification-icon-wrapper { position: relative; }
#notification-bell { font-size: 24px; position: relative; display: flex; align-items: center; justify-content: center; cursor: pointer; }
#notification-bell i {
    color: var(--bell-icon-color);
    transition: color 0.2s ease;
}
#notification-bell:hover i {
    color: var(--bell-icon-hover-color);
}
.notification-count { position: absolute; top: -5px; right: -8px; background-color: #dc3545; color: white; border-radius: 50%; width: 18px; height: 18px; font-size: 11px; font-weight: bold; display: flex; align-items: center; justify-content: center; line-height: 1; border: 2px solid #20283a; }
.notification-dropdown { display: none; position: absolute; top: 140%; right: 0; width: 340px; background-color: white; border-radius: 8px; box-shadow: 0 5px 25px rgba(0,0,0,0.1); border: 1px solid #eee; z-index: 1000; overflow: hidden; }
.notification-header { padding: 12px 15px; font-weight: bold; border-bottom: 1px solid #eee; color: black; }
.notification-body { max-height: 350px; overflow-y: auto; }
.notification-loader, .no-notifications { padding: 20px; text-align: center; color: #888; }
ul.notification-list { list-style: none; padding: 0; margin: 0; }
ul.notification-list li a { display: block; padding: 12px 15px; text-decoration: none; color: #333; border-bottom: 1px solid #f5f5f5; transition: background-color 0.2s ease; }
ul.notification-list li a:hover { background-color: #f9f9f9; }
ul.notification-list li.unread a { background-color: #f0f5ff; }
.notif-message { font-size: 14px; line-height: 1.4; }
.notif-time { font-size: 11px; color: #999; margin-top: 4px; }
.notification-footer { padding: 10px 15px; text-align: center; border-top: 1px solid #eee; background-color: #fcfcfc; }
.notification-footer a { font-size: 13px; font-weight: bold; color: #4f94ff; text-decoration: none; }

/* --- Extra Button --- */
.fxy-header-extra-button {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9em;
    transition: background-color 0.2s ease, color 0.2s ease;
    background-color: var(--extra-btn-bg);
    color: var(--extra-btn-text-color);
}
.fxy-header-extra-button:hover {
    background-color: var(--extra-btn-hover-bg);
    color: var(--extra-btn-hover-text-color);
}

/* --- Responsive Styles --- */
@media screen and (max-width: 768px) {
    .fxy-desktop-nav { display: none !important; }
    .fxy-header-inner {
        height: var(--header-height-mobile);
        padding: var(--header-padding-mobile);
    }
    .fxy-logo img, .custom-logo {
        width: var(--logo-width-mobile) !important;
        max-height: calc(var(--header-height-mobile) - 10px);
    }
    .notification-dropdown { position: fixed; top: calc(var(--header-height-mobile) + 10px); left: 10px; right: 10px; width: auto; max-height: 75vh; }
    .fxy-profile-name { display: none; }
    .fxy-header-extra-button { display: none; }
}/* Footer General */
.site-footer { position: relative; }
/* Footer Widgets Area */
.footer-widgets-area { background-color: #080023; color: #ffffff; padding-top: 80px; padding-bottom: 60px; }
.footer-widgets-area .widget-title { color: #ffffff; }
.footer-widgets-area a, .copyright-area a { color: #ffffff; text-decoration: none; }
.footer-widgets-area a:hover, .copyright-area a:hover { color: #ffcc00; }

/* [NEW] Footer Widget List Styling */
.footer-widgets-area .widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-widgets-area .widget ul li {
    margin-bottom: 10px;
}
.footer-widgets-area .widget ul li:last-child {
    margin-bottom: 0;
}

/* Footer Grid Layout */
.footer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
@media (max-width: 991px) { .footer-grid { grid-template-columns: repeat(2, 1fr); } }

/* [MODIFIED] Advanced Mobile Grid Layout */
@media (max-width: 600px) { 
    .footer-grid { 
        grid-template-columns: 1fr 1fr; /* 2 column ka base grid */
    }
    .footer-grid .footer-column:first-child {
        grid-column: 1 / -1; /* Pehla column full-width */
    }
}

/* Copyright Area */
.copyright-area { background-color: #080023; color: #a9b3c1; padding: 20px 0; text-align: center; }

/* Back to Top Button Area */
.back-to-top-container { text-align: center; position: relative; z-index: 5; margin-bottom: -25px; }
.back-to-top-btn {
    display: inline-flex; align-items: center; gap: 8px; padding: 10px 25px; cursor: pointer; text-decoration: none;
    background-color: #0b163a;
    color: #ffffff;
    border-radius: 30px;
    font-family: inherit;
    font-size: 16px;
    font-weight: normal;
    text-transform: none;
    transition: all 0.3s ease;
}
.back-to-top-btn .btt-icon-inner svg { width: 1em; height: 1em; fill: #ffffff; transition: fill 0.3s ease; }
.back-to-top-btn:hover {
    text-decoration: none;
    background-color: #dd3333;
    color: #ffffff;
}
.back-to-top-btn:hover .btt-icon-inner svg { fill: #ffffff; }

/* Dynamic Overrides */
        .service-image-wrapper { position: relative; display: block; line-height: 0; }
        .service-pro-badge {
            position: absolute; top: 12px; left: 12px; z-index: 10;
            background-color: #27ae60;
            color: #ffffff;
            font-size: 12px;
            padding: 6px 13px;
            border-radius: 5px;
            font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px;
            line-height: 1; box-shadow: 0 2px 8px rgba(0,0,0,0.25);
        }

                .provider-card { position: relative; overflow: hidden; }
        .profile-pro-badge {
            position: absolute; top: 10px; right: 10px; z-index: 5;
            background-color: #27ae60;
            color: #ffffff;
            font-size: 11px;
            font-weight: 700;
            padding: 4px 10px;
            border-radius: 5px;
            line-height: 1;
            text-transform: uppercase;
        }
                
        /* --- Header Dynamic Styles --- */
        :root {
            --header-height-desktop: 58px;
            --header-padding-desktop: 0 15px;
            --logo-width-desktop: 104px;
            
            --header-height-mobile: 50px;
            --header-padding-mobile: 0 15px;
            --logo-width-mobile: 97px;

            --menu-link-color: #f8fafd;
            --menu-link-hover-color: #ffffff;
            --menu-link-hover-bg: #364264;
            
            --submenu-bg: #28334d;
            --submenu-link-color: #dbe4f9;
            --submenu-link-hover-color: #ffffff;

            --profile-text-color: #cfe1fa;
            --profile-submenu-bg: #28334d;
            --profile-submenu-link-color: #dbe4f9;
            --profile-submenu-link-hover-color: #ffffff;
            --profile-submenu-link-hover-bg: #364264;

            --logout-icon-color: #ffffff;
            --logout-icon-hover-color: #ffffff;
            --logout-icon-border-color: rgba(255, 255, 255, 0.7);
            --logout-icon-hover-bg: rgba(79, 148, 255, 0.2);
            --logout-icon-radius: 4px;

            --bell-icon-color: #dbe4f9;
            --bell-icon-hover-color: #ffffff;

            --extra-btn-bg: #dd3333;
            --extra-btn-text-color: #ffffff;
            --extra-btn-hover-bg: #dd8500;
            --extra-btn-hover-text-color: #ffffff;
        }

                .fxy-header {
            background-color: #20283a;        }
        .fxy-profile-submenu { background-color: var(--profile-submenu-bg); }
        .fxy-profile-submenu a { color: var(--profile-submenu-link-color); }
        .fxy-profile-submenu a:hover { color: var(--profile-submenu-link-hover-color); background-color: var(--profile-submenu-link-hover-bg); }
        .fxy-login-pair { color: var(--logout-icon-color); border: 1px solid var(--logout-icon-border-color); border-radius: var(--logout-icon-radius); transition: color 0.3s, background-color 0.3s; }
        .fxy-login-pair svg { fill: currentColor; }
        .fxy-login-pair:hover { color: var(--logout-icon-hover-color); background-color: var(--logout-icon-hover-bg); }
                        /* Footer General */
        .site-footer { position: relative; }
        /* Footer Widgets Area */
        .footer-widgets-area { 
            background-color: #080023; 
            color: #d0e3ea; 
            padding-top: 80px; 
            padding-bottom: 60px;
            font-size: 16px;
        }
        .footer-widgets-area .widget-title { 
            color: #d0e3ea;
            font-size: 20px;
            font-weight: 600;
        }
        .footer-widgets-area a, .copyright-area a { color: #d0e3ea; text-decoration: none; }
        .footer-widgets-area a:hover, .copyright-area a:hover { color: #ffcc00; }
        
        /* [NEW] Footer Widget List Styling */
        .footer-widgets-area .widget ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        .footer-widgets-area .widget ul li {
            margin-bottom: 10px; /* list items ke beech mein thodi spacing */
        }
        .footer-widgets-area .widget ul li:last-child {
            margin-bottom: 0;
        }

        /* Footer Grid Layout */
        .footer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
        @media (max-width: 991px) { .footer-grid { grid-template-columns: repeat(2, 1fr); } }
        
        /* [MODIFIED] Advanced Mobile Grid Layout */
        @media (max-width: 600px) { 
            .footer-grid { 
                grid-template-columns: 1fr 1fr; /* 2 column ka base grid banaya */
            }
            .footer-grid .footer-column:first-child {
                grid-column: 1 / -1; /* Pehle column ko full-width kar diya */
            }
        }
        
        /* Copyright Area */
        .copyright-area { background-color: #080023; color: #a9b3c1; padding: 20px 0; text-align: center; }

                /* Back to Top Button Area */
        .back-to-top-container { text-align: center; position: relative; z-index: 5; margin-bottom: -25px; }
        .back-to-top-btn {
            display: inline-flex; align-items: center; gap: 8px; padding: 10px 25px; cursor: pointer; text-decoration: none;
            background-color: #dd3333;
            color: #ffffff;
            border-radius: 30px;
            font-size: 16px;
            font-weight: normal;
            text-transform: none;
            transition: all 0.3s ease;
        }
        .back-to-top-btn .btt-icon-inner svg { width: 1em; height: 1em; fill: #ffffff; transition: fill 0.3s ease; }
        .back-to-top-btn:hover {
            text-decoration: none;
            background-color: #000000;
            color: #ffffff;
        }
        .back-to-top-btn:hover .btt-icon-inner svg { fill: #ffffff; }
                