/*
Theme Name: Divi Child
Theme URI: http://www.elegantthemes.com/gallery/divi/
Template: Divi
Author: Elegant Themes
Author URI: http://www.elegantthemes.com
Description: Smart. Flexible. Beautiful. Divi is the most powerful theme in our collection.
Version: 4.27.4.1761823803
Updated: 2025-10-30 11:28:07

*/

/* Hide only cart icons (not add-to-cart buttons) */
.wps-cart-icon,
.shopwp-cart-icon {
    display: none !important;
}

/* Fix floating images cropping on I'd KAP That page */
body.page-id-2736 .dipl_floating_image .dipl_floating_images_wrapper {
    height: auto !important;
    min-height: unset !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
    align-items: center !important;
    position: relative !important;
}

body.page-id-2736 .dipl_floating_image .dipl_floating_image_item {
    position: relative !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    transform: none !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    animation: none !important;
}

body.page-id-2736 .dipl_floating_image .dipl_floating_image_item img {
    display: block !important;
    width: 100% !important;
    max-width: min(100%, 420px) !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
}

body.page-id-2736 .et_pb_section {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

.kit-footer-awards {
    overflow: visible !important;
}

.kit-footer-awards__item {
    max-width: 100% !important;
}

/* Ensure Swag page product grid displays properly */
body.page-id-4619 .my-products-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
    gap: 1.5rem !important;
    visibility: visible !important;
}

body.page-id-4619 .my-product {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.page-id-4619 .my-product a {
    display: block !important;
    visibility: visible !important;
}

/* Force product links to show on Swag page - override the global hide rule */
body.page-id-4619 a[href*="/products/"],
body.page-id-4619 .wps-btn[href*="/products/"],
body.page-id-4619 .shopwp-btn[href*="/products/"],
body.page-id-4619 .wps-product-title-link,
body.page-id-4619 .shopwp-product-title-link,
body.page-id-4619 [class*="view-product"],
body.page-id-4619 [class*="product-link"],
body.page-id-4619 .kit-product-btn {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.page-id-4619 .my-product a[href*="/products/"]:first-child {
    display: block !important;
}

body.page-id-4619 .my-product img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    min-height: 200px !important;
}

@media (max-width: 768px) {
    body.page-id-4619 .my-products-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
    }
    body.page-id-4619 .my-product img {
        min-height: 150px !important;
    }
}

.kit-footer-awards__item img {
    display: block !important;
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
}

@media (max-width: 768px) {
    .kit-footer-awards {
        gap: 18px !important;
    }
    .kit-footer-awards__item {
        flex: 0 1 48% !important;
    }
}

@media (max-width: 480px) {
    .kit-footer-awards__item {
        flex: 0 1 100% !important;
    }
}

/* Force all buy buttons and add-to-cart elements to show */
.wps-btn-cart,
.wps-add-to-cart,
.shopwp-add-to-cart,
[class*="add-to-cart"],
[data-wpshopify-component-type="products"],
[data-wpshopify-component-type*="buy-button"],
.swp-btn,
.swp-add-to-cart,
.wps-btn {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Hide "View product" buttons and links generated by ShopWP (but NOT on Swag page) */
body:not(.page-id-4619) a[href*="/products/"]:not([class*="add-to-cart"]):not([class*="cart"]),
body:not(.page-id-4619) .wps-btn[href*="/products/"]:not([class*="add-to-cart"]),
body:not(.page-id-4619) .shopwp-btn[href*="/products/"]:not([class*="add-to-cart"]),
body:not(.page-id-4619) .wps-product-title-link,
body:not(.page-id-4619) .shopwp-product-title-link,
body:not(.page-id-4619) [class*="view-product"],
body:not(.page-id-4619) [class*="product-link"]:not([class*="add-to-cart"]) {
    display: none !important;
}

/* Hide cart counter */
.wps-cart-counter,
.shopwp-cart-counter {
    display: none !important;
}

/* Hide floating ShopWP cart */
.wps-cart-fixed,
.shopwp-cart-fixed,
.wps-cart-floating,
.shopwp-cart-floating,
#shopwp-cart-fixed,
.shopwp-cart[data-is-fixed="true"],
.wps-cart[data-is-fixed="true"] {
    display: none !important;
}

/* Make product images larger */
.shopwp-product-image img,
.wps-product-image img,
.my-product img,
.my-products-grid img {
    transform: scale(1.15) !important;
    transition: transform 0.3s ease;
}

/* Ensure images don't overflow containers */
.shopwp-product-image,
.wps-product-image,
.my-product,
.my-products-grid .my-product {
    overflow: hidden !important;
}

/* Make slider images larger on desktop */
@media (min-width: 769px) {
    #slider img,
    div[id*="slider"] img,
    .shopwp-slider img {
        transform: scale(1.2) !important;
        transition: transform 0.3s ease !important;
    }
    
    /* Ensure the container clips the zoomed image */
    #slider .flex-shrink-0,
    div[id*="slider"] .flex-shrink-0,
    .shopwp-slider .flex-shrink-0 {
        overflow: hidden !important;
    }
}

/* Hide all ShopWP prices in sliders */
.shopwp-slider .price,
.wps-slider .price,
#slider .price,
[class*="slider"] .shopwp-price,
[class*="slider"] .wps-price {
    display: none !important;
}

/* Mobile slider adjustments */
@media (max-width: 768px) {
    /* Make slider images much smaller on mobile */
    #slider img,
    div[id*="slider"] img,
    .flex-shrink-0 img {
        width: 250px !important;
        max-width: 250px !important;
        height: auto !important;
        transform: none !important;
    }
    
    /* Adjust slider container */
    #slider,
    div[id*="slider"] {
        gap: 0.75rem !important;
        padding: 0 1rem !important;
    }
    
    /* Make the container divs smaller */
    #slider .flex-shrink-0,
    div[id*="slider"] .flex-shrink-0 {
        flex-shrink: 0 !important;
        width: 250px !important;
        max-width: 250px !important;
    }
    
    /* Make the black title bar smaller */
    #slider div[class*="bg-"],
    div[id*="slider"] div[class*="bg-"] {
        width: 250px !important;
        padding: 0.5rem !important;
    }
    
    /* Smaller text in slider */
    #slider .text-xl,
    #slider p[class*="text-"],
    div[id*="slider"] .text-xl,
    div[id*="slider"] p[class*="text-"] {
        font-size: 0.875rem !important;
    }
    
    /* Ensure Tailwind width classes don't override */
    #slider .w-\[450px\],
    div[id*="slider"] .w-\[450px\] {
        width: 250px !important;
    }
}

/* Extra small devices */
@media (max-width: 480px) {
    #slider img,
    div[id*="slider"] img,
    .flex-shrink-0 img {
        width: 200px !important;
        max-width: 200px !important;
    }
    
    #slider .flex-shrink-0,
    #slider div[class*="bg-"],
    #slider .w-\[450px\],
    div[id*="slider"] .flex-shrink-0,
    div[id*="slider"] div[class*="bg-"],
    div[id*="slider"] .w-\[450px\] {
        width: 200px !important;
    }
}

/* Hide prices in all ShopWP components on product pages */
.single-wps_products .shopwp-price,
.single-wps_products .wps-price,
.single-wps_products [class*="price"],
.single-wps_products .shopwp-component-products-price {
    display: none !important;
}

/* Make all slider text smaller and single line with ellipsis */
#slider .text-xl,
#slider p[class*="uppercase"] {
    font-size: 1rem !important;
    line-height: 1.2rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    padding: 0 1rem !important;
}

/* Hide price text in sliders */
#slider .text-sm,
.shopwp-slider .text-sm {
    display: none !important;
}

/* Mobile styles for Featured Products section */
@media (max-width: 768px) {
    /* Stack columns vertically on mobile */
    .et_pb_section[admin_label="Featured Products"] .et_pb_row.et_pb_row_0 {
        flex-direction: column !important;
    }
    
    .et_pb_section[admin_label="Featured Products"] .et_pb_column {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 20px !important;
    }
    
    /* Fix product container layout on mobile */
    .product-container {
        min-height: 400px !important;
        position: relative !important;
    }
    
    .product-content {
        position: absolute !important;
        bottom: 20px !important;
        left: 20px !important;
        right: 20px !important;
        padding: 0 !important;
        width: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        text-align: left !important;
    }
    
    .product-content h2 {
        font-size: 1.5rem !important;
        margin-bottom: 10px !important;
        text-align: left !important;
    }
    
    .product-content p {
        font-size: 16px !important;
        line-height: 1.4 !important;
        margin-bottom: 15px !important;
        text-align: left !important;
    }
    
    .product-content button {
        font-size: 14px !important;
        padding: 8px 16px !important;
        white-space: nowrap !important;
        margin-left: 0 !important;
    }
    
    .product-content img {
        max-width: 150px !important;
        margin: 0 0 15px 0 !important;
    }
    
    /* Hide background video/image on mobile for better readability */
    .product-video,
    .product-image {
        opacity: 0.3 !important;
    }
}

.wps-btn-cart, .wps-cart-icon, .shopwp-cart-icon, .wps-add-to-cart, .shopwp-add-to-cart, [class*="cart-icon"], [class*="add-to-cart"] {
    display: block !important;	
}

/* Force ONLY product grid images to be square on desktop */
@media (min-width: 769px) {
    .wps-products img,
    .shopwp-products img,
    .my-products-grid img,
    [data-wpshopify-component-type="products"] img {
        aspect-ratio: 1 / 1 !important;
        object-fit: cover !important;
        width: 100% !important;
        height: auto !important;
    }
}

/* MOBILE OVERFLOW FIX - Testimonials and floating elements */
@media (max-width: 768px) {
    /* Reset box model for consistency */
    *, *::before, *::after {
        box-sizing: border-box;
    }
    
    /* Prevent horizontal scrolling */
    html, body {
        overflow-x: hidden;
        position: relative;
    }
    
    /* Ensure Divi containers don't overflow */
    #page-container {
        overflow-x: hidden;
        position: relative;
    }
    
    /* Fix floating testimonials and quote elements */
    .et_pb_testimonial,
    .et_pb_blurb,
    .et_pb_text,
    [class*="testimonial"],
    [class*="quote"],
    [class*="floating"] {
        position: static !important;
        transform: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
        left: auto !important;
        right: auto !important;
    }
    
    /* Fix absolutely positioned elements */
    .et_pb_section [style*="position: absolute"],
    .et_pb_section [style*="position:absolute"],
    .et_pb_section [style*="position: fixed"],
    .et_pb_section [style*="position:fixed"] {
        position: relative !important;
        transform: none !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Fix negative margins that cause overflow */
    .et_pb_module,
    .et_pb_row,
    .et_pb_column {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    /* Fix images - remove the square forcing on mobile */
    img {
        aspect-ratio: unset !important;
        object-fit: contain !important;
        max-width: 100% !important;
        height: auto !important;
        width: auto !important;
    }
    
    /* Only force square for product grid images */
    .wps-products img,
    .shopwp-products img,
    .my-products-grid img {
        aspect-ratio: 1 / 1 !important;
        object-fit: cover !important;
        width: 100% !important;
    }
    
    /* Ensure text wraps properly */
    p, h1, h2, h3, h4, h5, h6 {
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    
    /* Fix Divi row padding and prevent negative margins */
    .et_pb_row {
        padding-left: 15px !important;
        padding-right: 15px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Force all sections to stay within viewport */
    .et_pb_section {
        overflow-x: hidden !important;
        max-width: 100% !important;
    }
}
