/**
 * Product Page Specific Styles
 * Styling for WooCommerce product pages (non-Elementor)
 * Handles top section visibility and existing menu functionality
 */

/* ===== PRODUCT PAGE TOP SECTION ===== */

/* Top Section Container */
.product-top-section {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%) !important;
    padding: 20px 0 !important;
    margin-bottom: 30px !important;
    border-bottom: 1px solid #dee2e6 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Contact Banner */
.product-top-section .contact-banner {
    background: rgba(255, 255, 255, 0.9) !important;
    padding: 15px 20px !important;
    border-radius: 8px !important;
    text-align: center !important;
    margin-bottom: 15px !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

.product-top-section .contact-banner .call-text {
    color: #495057 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    margin-bottom: 5px !important;
}

.product-top-section .contact-banner .phone-number {
    color: #007bff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.product-top-section .contact-banner .phone-number:hover {
    color: #0056b3 !important;
    text-decoration: underline !important;
}

/* Logo Section */
.product-top-section .logo-section {
    text-align: center !important;
    margin-bottom: 15px !important;
}

.product-top-section .logo-section .logo-text {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #212529 !important;
    text-decoration: none !important;
}

.product-top-section .logo-section .logo-text:hover {
    color: #007bff !important;
}

/* Search Section */
.product-top-section .search-section {
    max-width: 400px !important;
    margin: 0 auto 15px !important;
    position: relative !important;
}

.product-top-section .search-section input[type="text"] {
    width: 100% !important;
    padding: 12px 45px 12px 15px !important;
    border: 2px solid #dee2e6 !important;
    border-radius: 25px !important;
    font-size: 16px !important;
    background: white !important;
    transition: border-color 0.3s ease !important;
}

.product-top-section .search-section input[type="text"]:focus {
    outline: none !important;
    border-color: #007bff !important;
    box-shadow: 0 0 0 3px rgba(0,123,255,0.1) !important;
}

.product-top-section .search-section button {
    position: absolute !important;
    right: 5px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: #007bff !important;
    color: white !important;
    border: none !important;
    border-radius: 50% !important;
    width: 35px !important;
    height: 35px !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease !important;
}

.product-top-section .search-section button:hover {
    background: #0056b3 !important;
}

/* Social Icons */
.product-top-section .social-icons {
    text-align: center !important;
}

.product-top-section .social-icons a {
    display: inline-block !important;
    margin: 0 10px !important;
    font-size: 20px !important;
    color: #6c757d !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.product-top-section .social-icons a:hover {
    color: #007bff !important;
}

/* ===== MOBILE MENU FIXES - ONLY ON MOBILE DEVICES ===== */

/* Mobile styles - ONLY on single product pages */
@media (max-width: 767px) {
    .single-product {
        /* Ensure existing menu is visible and functional on mobile */
        position: relative !important;
    }
    
    /* Fix any existing hamburger buttons on mobile */
    .single-product button[aria-label*="menu"],
    .single-product button[aria-label*="Menu"],
    .single-product .menu-toggle,
    .single-product .nav-toggle {
        position: fixed !important;
        bottom: 20px !important;
        left: 20px !important;
        z-index: 1000 !important;
        background: white !important;
        border: 1px solid #ddd !important;
        border-radius: 50% !important;
        padding: 12px !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
        cursor: pointer !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Ensure menu containers are visible on mobile */
    .single-product [class*="menu"],
    .single-product [class*="nav"],
    .single-product .menu,
    .single-product .nav {
        background: #f8f9fa !important;
        border-radius: 8px !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Menu items styling on mobile */
    .single-product [class*="menu"] li,
    .single-product [class*="nav"] li,
    .single-product .menu li,
    .single-product .nav li {
        border-bottom: 1px solid #e9ecef !important;
        position: relative !important;
    }
    
    .single-product [class*="menu"] a,
    .single-product [class*="nav"] a,
    .single-product .menu a,
    .single-product .nav a {
        padding: 12px 15px !important;
        color: #495057 !important;
        text-decoration: none !important;
        display: block !important;
        transition: background-color 0.3s ease !important;
    }
    
    .single-product [class*="menu"] a:hover,
    .single-product [class*="nav"] a:hover,
    .single-product .menu a:hover,
    .single-product .nav a:hover {
        background: #e9ecef !important;
        color: #007bff !important;
    }
    
    /* Sub-menu styling on mobile */
    .single-product [class*="menu"] ul,
    .single-product [class*="nav"] ul,
    .single-product .menu ul,
    .single-product .nav ul {
        background: #f1f3f4 !important;
        border-left: 3px solid #007bff !important;
        padding-left: 15px !important;
    }
}

/* ===== DESKTOP PROTECTION ===== */

/* Ensure NO mobile menu interference on desktop */
@media (min-width: 768px) {
    .single-product button[aria-label*="menu"],
    .single-product button[aria-label*="Menu"],
    .single-product .menu-toggle,
    .single-product .nav-toggle {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
    
    /* Reset any mobile menu styling on desktop */
    .single-product [class*="menu"],
    .single-product [class*="nav"],
    .single-product .menu,
    .single-product .nav {
        background: inherit !important;
        border-radius: inherit !important;
        box-shadow: inherit !important;
    }
}

/* ===== RESPONSIVE DESIGN ===== */

/* Mobile styles */
@media (max-width: 767px) {
    .product-top-section {
        padding: 15px 0 !important;
    }

    .product-top-section .contact-banner {
        padding: 12px 15px !important;
    }

    .product-top-section .contact-banner .call-text {
        font-size: 16px !important;
    }

    .product-top-section .contact-banner .phone-number {
        font-size: 18px !important;
    }

    .product-top-section .logo-section .logo-text {
        font-size: 24px !important;
    }

    .product-top-section .search-section {
        max-width: 100% !important;
        padding: 0 15px !important;
    }

    .product-top-section .social-icons a {
        margin: 0 8px !important;
        font-size: 18px !important;
    }
}

/* Desktop styles */
@media (min-width: 768px) {
    .product-top-section {
        padding: 25px 0 !important;
    }

    .product-top-section .contact-banner {
        padding: 20px 30px !important;
    }

    .product-top-section .logo-section .logo-text {
        font-size: 32px !important;
    }

    .product-top-section .search-section {
        max-width: 500px !important;
    }
}
