/*
Theme Name: Storefront Child
Template: storefront
Version: 1.0
*/

/* =================================================
   GLOBAL
================================================= */

body {
    font-family: 'Manrope', sans-serif;
}

/* Remove default link styling */
.site a,
.site a:focus,
.site a:visited {
    text-decoration: none !important;
}

.site a:hover {
    color: #ffffff !important;
}

/* =================================================
   TYPOGRAPHY / SEARCH FONT
================================================= */

.aws-container,
.aws-container * {
    font-family: 'Manrope', sans-serif !important;
}

/* =================================================
   WOOCOMMERCE / UI HIDES
================================================= */

/* General WooCommerce elements */
.woocommerce-cart,
.checkout-button,
.add_to_cart_button,
.entry-title,
.woocommerce-breadcrumb,
.edit-link {
    display: none !important;
}

.single-product .product_title {
    display: block !important;
}

/* Single product page cleanup */
.single-product .single_add_to_cart_button,
.single-product .quantity,
.single-product .reset_variations,
.single-product .sku_wrapper {
    display: none !important;
}

/* =================================================
   LAYOUT SPACING CLEANUP
================================================= */

.wp-block-cover.alignfull,
.wp-block-cover,
#primary.content-area,
.site-main {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.wp-block-columns.alignwide {
    padding-top: 0 !important;
}
.entry-content .wp-block-columns {
    margin-bottom: 0 !important;
}

.storefront-breadcrumb {
    margin: 0 !important;
    padding: 0 !important;
}

/* =================================================
   IMAGES
================================================= */

.wp-block-image .aligncenter {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
}

/* =================================================
   HEADER (DESKTOP)
================================================= */

@media (min-width: 768px) {

    .site-header {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 20px;
        padding: 15px 30px !important;
        margin-bottom: 0 !important;
    }

    /* reset Storefront layout wrappers */
    .site-header > div,
    .storefront-primary-navigation,
    .storefront-primary-navigation .col-full {
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
    }

    .storefront-primary-navigation .col-full {
        display: contents !important;
    }

    /* branding */
    .site-branding {
        flex: 0 0 auto;
        margin-right: 25px !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .site-branding img.custom-logo {
        max-height: 80px !important;
        width: auto !important;
        display: block !important;
        margin-bottom: 0 !important;
    }

    /* navigation */
    .storefront-primary-navigation {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    .main-navigation {
        min-width: 0 !important;
    }

    .main-navigation ul.menu {
        display: flex !important;
        align-items: center;
        gap: 14px;
        flex-wrap: nowrap !important;
    }

    .main-navigation ul.menu > li {
        position: relative;
        white-space: nowrap;
        flex-shrink: 1;
        min-width: 0;
    }

    .main-navigation ul.menu > li a {
        display: inline-block;
        white-space: nowrap;
    }

    /* search */
    .header-aws-search {
        flex: 0 0 240px !important;
    }

    .header-aws-search input {
        width: 100% !important;
    }

    .header-aws-search,
    .header-aws-search * {
        margin-bottom: 0 !important;
    }

    /* social */
    .header-social {
        display: flex !important;
        align-items: center;
        gap: 10px;
        flex: 0 0 auto;
    }
}

/* =================================================
   RESPONSIVE BREAKPOINTS
================================================= */

@media (max-width: 1400px) {
    .header-aws-search,
    .header-social {
        display: none !important;
    }

    .site-branding img.custom-logo {
        max-height: 65px !important;
    }
}

@media (max-width: 1024px) {
    .site-branding img.custom-logo {
        max-height: 55px !important;
        width: auto !important;
    }

    .main-navigation ul.menu {
        flex-wrap: wrap !important;
    }
}

/* =================================================
   DROPDOWN MENU FIX
================================================= */

.main-navigation ul ul {
    /*min-width: 220px !important;*/
    max-width: 280px !important;
    width: auto !important;
    white-space: normal !important;
    overflow: visible !important;
    word-break: break-word;
}

.main-navigation ul ul li {
    width: 100% !important;
}

.main-navigation ul ul li a {
    white-space: normal !important;
    display: block !important;
    padding: 10px 14px;
    line-height: 1.3;
    word-break: break-word;
}

/* =================================================
   AWS SEARCH STYLING
================================================= */

.aws-container {
    border-radius: 20px !important;
    overflow: hidden;
}

.aws-container .aws-search-field,
.aws-container .aws-search-btn {
    border-radius: 0 !important;
}

/* hide prices in search results */
.aws_price,
.aws_result_price,
.aws-search-result .price {
    display: none !important;
}

/* =================================================
   FOOTER
================================================= */

.site-info {
    display: none !important;
}





/* =========================================
   FULL WIDTH WEBSITE FIX
========================================= */

/* Remove Storefront container width */
.col-full,
.site-content,
.content-area,
.site-main,
#primary {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Remove Storefront page spacing */
.site-content {
    padding-top: 0 !important;
}

/* Make Gutenberg full-width blocks ACTUALLY full width */
.alignfull {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

/* Prevent horizontal scroll */
body {
    overflow-x: hidden;
}


/* WooCommerce archive pages */
.post-type-archive-product main,
.post-type-archive-product .site-main,
.post-type-archive-product .content-area,
.tax-product_cat main,
.tax-product_cat .site-main,
.tax-product_cat .content-area,
.tax-product_tag main,
.tax-product_tag .site-main,
.tax-product_tag .content-area {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;

}

/* Single product pages */
.single-product main,
.single-product .site-main,
.single-product .content-area {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


.hentry {
    margin-bottom: 0 !important;
}

.single-product .woocommerce {
  margin-top: 40px;
}

#masthead.site-header {
  margin-bottom: 0 !important;
}

.wp-block-columns.wp-custom-css-c92b69cc {
  padding-top: 0 !important;
}


/* ================================
   FOOTER CONTAINED FIX
================================ */

.site-footer .col-full {
    max-width: 1200px !important; /* adjust if your theme uses different width */
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}


/* Remove icons before widget nav menu items */
.widget_nav_menu li::before,
.widget_nav_menu li a::before {
    display: none !important;
    content: none !important;
}

/* Extra safety for theme icon systems */
.widget_nav_menu ul li:before {
    content: none !important;
}

/* Remove leftover icon spacing in nav widget */
.widget_nav_menu ul li,
.widget_nav_menu ul li a {
    padding-left: 0 !important;
    margin-left: 0 !important;
}


