/*
 Theme Name:   GP Digital Pro
 Theme URI:    https://filekart.in/
 Description:  GeneratePress Child theme for mobile responsive digital product selling website. Using this child theme you can easily create a digital product selling website using WooCommerce plugin. This GeneratePress Child theme designed by WPLiteTheme.com

 Author:       Tarun Chauhan
 Author URI:   https://tarunchauhan.com/
 Template:     generatepress
 Version:      1.0.0
/*

/* ==========================================
   1. NAVIGATION & HEADER STYLES
   ========================================== */
.main-navigation {
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}


/* Custom Menu Icon Size & Position */
#site-navigation .gp-icon.icon-menu-bars > svg,
#sticky-navigation .gp-icon.icon-menu-bars > svg {
    height: 1.5em !important;
    width: 1.5em !important;
    position: relative !important;
    top: 0.5em !important; /* Alignment adjust karne ke liye */
}

/* Off-Canvas Menu Overlay Blur */
.offside-js--is-open .slideout-overlay {
    background: rgba(0, 0, 0, .2);
    backdrop-filter: saturate(180%) blur(10px);
}

/* ==========================================
   2. SEARCH BLOCK STYLES
   ========================================== */
#wp-block-search__input-1 {
    border-radius: 120px;
    border: 0px;
}

.wp-block-search__inside-wrapper {
    border-radius: 120px;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

/* ==========================================
   3. IMAGE HOVER EFFECTS
   ========================================== */
/* Scrolly Image Effect on Hover */
.images-scroll {
    background-position: 0 0 !important;
    transition: 2s ease-in-out !important;
}

.images-scroll:hover {
    background-position: 0 100% !important;
}

/* ==========================================
   4. MENU CART BUTTON
   ========================================== */
.cart-contents > span.number-of-items {
    background-color: #ffffff !important;
}

.cart-contents > span.number-of-items {
    color: #000000 !important;
}

/* ==========================================
   5. WOOCOMMERCE SHOP & ARCHIVE PAGES
   ========================================== */
/* Shop Page Price Font Size */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
    font-size: 13px !important;
}

/* Regular Price (Del) Color - Grey */
.gb-price .price del,
.woocommerce .price del {
    color: #999999 !important;
    opacity: 1 !important;
}

/* Product Card Layout & Shadow */
#wc-column-container .product {
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 4px;
    box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
}

/* Breadcrumbs */
.woocommerce .woocommerce-breadcrumb {
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 20px;
}

/* Notices & Alerts */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    padding: 10px 20px;
    font-size: 15px;
}

/* Shop Page Buttons */
.woocommerce ul.products li.product .button {
    transition: 0.5s;
    background-size: 200% auto;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
    border-radius: 4px;
    margin: 5px;
    width: 100%;
    font-size: 13px;
}

/* Product Images Rounded Corners */
.woocommerce ul.products li.product a img {
    border-radius: 4px;
}

/* Grid Layout Support */
@supports (display:grid) {
    .woocommerce ul.products li.product {
        padding: 10px;
        box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
    }
}

/* ==========================================
   6. WOOCOMMERCE CHECKOUT STYLES
   ========================================== */
/* Hide labels for removed fields */
.woocommerce-billing-fields label {
    display: none;
}

/* Payment Methods Images */
.woocommerce-checkout #payment ul.payment_methods li img {
    width: 120px;
}

/* Place Order Button */
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
    float: none;
    width: 100%;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    font-weight: 700;
    font-size: 18px !important;
}

/* ==========================================
   7. SINGLE PRODUCT PAGE STYLES
   ========================================== */
/* Add to Cart Button */
.woocommerce div.product form.cart .button {
    transition: 0.5s;
    margin-top: 10px;
    margin-bottom: 10px;
    border-radius: 4px;
    width: 100%;
}

/* Custom Discount Badge */
.filekart-discount-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
	margin-top: 5px;
    padding: 4px 10px;
    border-radius: 5px;
    background: #E5F7E9;
    color: #1E7A38;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    line-height: 1;
    margin-bottom: 10px;
}

.filekart-discount-badge .filekart-discount-icon {
    width: 16px;
    height: 16px;
}

/* ==========================================
   8. RELATED PRODUCTS SECTION
   ========================================== */
.woocommerce .related ul.products li.product,
.woocommerce .up-sells ul.products li.product {
    box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
	border-radius: 4px;
}

/* Related Products Heading */
.related.products > h2.woocommerce-loop-product__title,
.related.products > h2 {
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Product Titles Normal Case */
.related.products ul.products li.product .woocommerce-loop-product__title {
    text-transform: none;
}

/* ==========================================
   9. CUSTOM BUTTONS (LIVE PREVIEW & GUIDE)
   ========================================== */
.setup-guide-button,
.live-preview-button {
    flex: 1;
    display: block;
    text-align: center;
}

.add-to-cart-container a.button,
.wc-live-preview-btn,
.wc-setup-guide-btn {
    background: #09b0a3 !important;
    width: 100%;
    border-radius: 5px;
    color: #ffffff !important;
}

/* ==========================================
   10. LIVE VISITOR COUNTER ANIMATION
   ========================================== */
.live_visitors {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 12px 15px 12px 28px;
    margin: 20px 0;
    font-size: 14px;
    font-weight: 500;
    background-color: #f8fafc;
    border-radius: 8px;
    border-left: 4px solid rgba(33, 182, 70, 0.3);
}

/* Center dot + outer fading pulse */
.live_visitors::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #21b646; /* solid center dot */
    box-shadow: 0 0 0 0 rgba(33, 182, 70, 0.6); /* outer ring */
    animation: live-dot-pulse 1.6s ease-out infinite;
}

/* Animation Keyframes */
@keyframes live-dot-pulse {
    0% {
        transform: translateY(-50%) scale(1);
        box-shadow: 0 0 0 0 rgba(33, 182, 70, 0.6);
        opacity: 1;
    }
    70% {
        transform: translateY(-50%) scale(1.2);
        box-shadow: 0 0 0 8px rgba(33, 182, 70, 0);
        opacity: 0.9;
    }
    100% {
        transform: translateY(-50%) scale(1);
        box-shadow: 0 0 0 0 rgba(33, 182, 70, 0);
        opacity: 1;
    }
}

/* ==========================================
   11. SOCIAL SHARE BUTTONS
   ========================================== */
.wpjankari-social-wrapper {
    margin: 20px 5px 20px 5px;
    font-size: 0;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
}

.wpjankari-social-sharing {
    padding: 8px;
    margin: 4px;
    border-radius: 3px;
    flex: 1;
    transition: background-color 0.3s, transform 0.3s, color 0.3s;
}

.wpjankari-social-sharing:hover {
    transform: translateY(-3px);
    border: none;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.04) 0px 10px 10px -5px;
}

@media only screen and (max-width: 600px) {
    .wpjankari-social-sharing {
        display: inline-block;
    }
}

.wpjankari-social-sharing svg {
    position: relative;
    top: 0.15em;
    display: inline-block;
}

/* ==========================================
   11. MY ACCOUNT PAGE STYLES
   ========================================== */

/* --- 11.1 General Buttons & Layout --- */
.woocommerce table.my_account_orders .button {
    margin: 5px;
}

.woocommerce-account .woocommerce-MyAccount-content a.button {
    border-radius: 5px !important;
}

/* --- 11.2 Navigation Icons (SVG) --- */
/* Dashboard Icon */
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 3v7h7V3h-7zm-2 0H4v7h7V3zm-7 9h7v7H4v-7zm9 7v-7h7v7h-7z' fill='currentColor'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 12px;
    vertical-align: middle;
}

/* Orders Icon */
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z' fill='currentColor'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 12px;
    vertical-align: middle;
}

/* Downloads Icon */
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads a::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z' fill='currentColor'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 12px;
    vertical-align: middle;
}

/* Edit Address Icon */
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5z' fill='currentColor'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 12px;
    vertical-align: middle;
}

/* Edit Account Details Icon */
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM7.07 18.28c.43-.9 3.05-1.78 4.93-1.78s4.51.88 4.93 1.78A7.893 7.893 0 0 1 12 20c-1.86 0-3.57-.64-4.93-1.72zm11.29-1.45c-1.43-1.74-4.9-2.33-6.36-2.33s-4.93.59-6.36 2.33A7.928 7.928 0 0 1 4 12c0-4.41 3.59-8 8-8s8 3.59 8 8c0 1.82-.62 3.5-1.64 4.83zM12 6c-1.94 0-3.5 1.56-3.5 3.5S10.06 13 12 13s3.5-1.56 3.5-3.5S13.94 6 12 6zm0 5c-.83 0-1.5-.67-1.5-1.5S11.17 8 12 8s1.5.67 1.5 1.5S12.83 11 12 11z' fill='currentColor'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 12px;
    vertical-align: middle;
}

/* Logout Icon */
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 7l-1.41 1.41L18.17 11H8v2h10.17l-2.58 2.58L17 17l5-5zM4 5h8V3H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h8v-2H4V5z' fill='currentColor'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 12px;
    vertical-align: middle;
}

/* --- 11.3 Menu Styling (Layout & Colors) --- */
.woocommerce-MyAccount-navigation ul li a {
    display: flex !important;
    align-items: center !important;
    padding-top: 20px !important;
  	padding-bottom: 20px !important;
    color: #333 !important;
    text-decoration: none !important;
}

.woocommerce-MyAccount-navigation ul li a:hover {
    color: #0073aa !important;
    background: #f8f9fa !important;
}

/* --- 11.4 Mobile Responsiveness --- */
@media (max-width: 768px) {
.woocommerce-MyAccount-navigation ul li a {
    padding-top: 20px !important;
  	padding-bottom: 20px !important;
    }
    .woocommerce-MyAccount-navigation ul li a::before {
        width: 18px !important;
        height: 18px !important;
        margin-right: 10px !important;
    }
}

/* ==========================================
   12. STICKY FOOTER MENU
   ========================================== */
.mobile-app-menu {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #ffffff;
    border-top: 1px solid #e1e1e1;
    border-bottom: 1px solid #e1e1e1;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 8px 0;
    z-index: 999999;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.05);
}

.mobile-app-menu .app-menu-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: #666666;
    font-size: 11px;
    font-weight: 500;
}

.mobile-app-menu .app-menu-item svg {
    width: 22px;
    height: 22px;
    margin-bottom: 4px;
    stroke: #666666;
    transition: all 0.2s ease;
}

/* Active & Hover Color (#09B0A3) */
.mobile-app-menu .app-menu-item:hover,
.mobile-app-menu .app-menu-item:hover svg,
.mobile-app-menu .app-menu-item.active-page,
.mobile-app-menu .app-menu-item.active-page svg {
    color: #09B0A3;
    stroke: #09B0A3;
}

/* --- CART BADGE STYLING --- */
.mobile-app-menu .icon-wrap {
    position: relative; /* Zaroori hai */
    display: flex;
    justify-content: center;
}
/* Hide on Desktop */
@media (min-width: 769px) { .mobile-app-menu { display: none; } }
@media (max-width: 768px) { body { padding-bottom: 40px; } }
.filekart-myaccount-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 25px;
}

/* Dashboard Box Styling */
.filekart-dashboard-box {
    padding: 15px 15px;
    background: var(--background-color);
    border: 1px solid rgba(0, 0, 0, 0.08);
    text-align: center;
    text-decoration: none;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: none !important;
    transition: none !important;
}

/* Icons Styling */
.filekart-dashboard-icon svg {
    width: 38px;
    height: 38px;
    fill: var(--text-1) !important;
    color: var(--text-1) !important;
    margin-bottom: 10px;
}
.filekart-dashboard-icon svg path {
    fill: var(--text-1) !important;
}
/* Labels Styling */
.filekart-dashboard-label {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-1) !important;
}
/* ---------------------------
   Tablet View
---------------------------- */
@media (max-width: 1024px) {
    .filekart-myaccount-dashboard-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* ---------------------------
   Mobile View (2 columns)
---------------------------- */
@media (max-width: 600px) {
    .filekart-myaccount-dashboard-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    .filekart-dashboard-box {
        padding: 18px 12px;
    }
    .filekart-dashboard-icon svg {
        width: 32px;
        height: 32px;
        margin-bottom: 8px;
    }
    .filekart-dashboard-label {
        font-size: 13px;
    }
}
/*sticky footer menu*/
@media only screen and (min-width: 960px) {
.sticky-footer-menu{display:none!important;}
}
.sticky-footer-menu {
	position: fixed!important;
	height: 60px;
	width: 100%;
	bottom: 0;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}