/**
 *
 *
 * General WooCommerce Styles
 *
 * */

.woocommerce-page h1 {
	color: var(--primary);
}

body.full-width-content .entry-content > .alignwide {
    margin-right: 0;
    margin-left: 0;
    max-width: 100%;
}

.woocommerce-page #main {
    max-width: 1400px;
    margin: 0 auto;
	padding: 90px 5%;
}

/* single product page */

button.single_add_to_cart_button {
    height: 100%;
    padding: 15px!important;
    background-color: var(--cta)!important;
    line-height: 1.15!important;
}

.woocommerce div.product {
    display: flex;
    flex-wrap: wrap;
}

.woocommerce div.product div.woocommerce-product-gallery {
    width: calc(40% - 50px);
    margin-right: 100px;
}

.woocommerce div.product div.summary.entry-summary {
    width: calc(60% - 50px);
}

.woocommerce .product_meta {
    display: flex;
    flex-direction: column;
    font-weight: 700;
}

.woocommerce .product_meta > span > span, .woocommerce .product_meta > span > a {
    font-weight: 400;
}

.woocommerce .product_meta > span > a {
    color: var(--cta);
    text-decoration: underline;
}

.woocommerce.woocommerce-list-view .related.products ul.products {
    flex-direction: row;
}

.woocommerce.woocommerce-list-view .related.products ul.products li.product.entry a.woocommerce-loop-product__link {
    flex-direction: column;
}

.woocommerce.woocommerce-list-view .related.products ul.products li.product.entry a.woocommerce-loop-product__link img {
    width: 25%;
}

/* cart page */
.wc-block-cart__submit {
    background-color: var(--cta);
}

.wc-block-cart__submit a:hover {
    background-color: var(--primary);
}

a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button {
    color: #fff;
    font-weight: 700;
    font-size: 18px;
}

/* shop/archive page */
.post-type-archive .facetwp-type-pager {
    max-width: 1520px;
    margin: 0 auto;
    padding: 20px;
}

.woocommerce.woocommerce-shop ul.products li.product span.price {
    color: var(--cta);
}

.facetwp-pager {
    width: fit-content;
    margin: 20px auto;
}

.facetwp-facet.facetwp-type-pager {
    max-width: 1400px;
    margin: 0 auto;
}

/* "list view" styles */
.woocommerce.woocommerce-list-view ul.products li.product.entry a.woocommerce-loop-product__link {
    display: flex!important;
    width: 100%;
    column-gap: 50px;
    border: 1px solid var(--primary);
    align-items: center;
}

.woocommerce.woocommerce-list-view ul.products {
    display: flex;
    flex-direction: column;
}

.woocommerce.woocommerce-list-view ul.products li.product {
    width: 100%;
    margin-bottom: 0;
}

.woocommerce.woocommerce-list-view ul.products li.product a img {
    width: 10%;
    margin: 10px;
/* 	object-fit: contain; */
}

.woocommerce.woocommerce-list-view ul.products li.product a.button {
    display: none;
}

.woocommerce.woocommerce-list-view ul.products li.product.entry a.woocommerce-loop-product__link:hover {
    background-color: #efefef;
}

/* Woocommerce - from SnappyCo */
.woocommerce-products-header {
  margin-left: 100px;
  margin-top: 100px;
}

.woocommerce ul.products {
  padding: 0;
}

.woocommerce-products-header {
  margin-left: 100px;
  margin-top: 100px;
}

.woocommerce div.product {
  padding: 0;
  max-width: 1200px;
  margin: 0 20px;
}

.woocommerce div.product .summary {
  display: flex;
  flex-direction: column;
  padding: 0 20px;
}

.woocommerce div.product .product_title {
  order: -2;
  font-size: 48px;
}

.woocommerce div.product .yith-ywraq-add-to-quote {
  order: -1;
}

.woocommerce div.product div.images img {
  border: 1px solid #ababab;
}

.woocommerce .product-docs,
.woocommerce .product-docs,
.woocommerce .add-request-quote-button.button {
  margin-bottom: 24px;
}

.woocommerce .add-request-quote-button.button {
  margin-bottom: 0;
  margin-top: 24px;
/*   background: none !important; */
  /*margin-left: 40px;*/
}

/*.woocommerce .add-request-quote-button.button {
	padding: 1em 1em !important;
}*/

.woocommerce .add-request-quote-button.button::hover,
.woocommerce .add-request-quote-button.button a::hover,
div#primary .woocommerce .add-request-quote-button.button:hover {
  background: none !important;
}

.woocommerce table.sizes .add-request-quote-button.button {
  margin: 0;
}

.woocommerce .product_meta {
  order: -1;
  margin-top: 24px;
  margin-bottom: 24px;
}

.sidebar-category-toggle-button {
	background-color: var(--primary)
}

h2.woocommerce-loop-product__title {
    border-bottom: 1px solid black;
}

@media only screen and (max-width: 959px) {
  .woocommerce div.product .summary {
    padding: 0 15px;
  }
}

@media only screen and (max-width: 600px) {
  .woocommerce div.product .summary {
    padding: 0 10px;
  }
}

.locations-content {
  width: 100% !important;
  display: flex;
  border: 1px solid #ddd;
}

.row-inner.loc-design {
  display: none !important;
}

.location-headers {
  width: 25%;
  display: flex;
  flex-direction: column;
  height: 100% !important;
}

.location-headers > div {
  height: 33%;
}
.location-content {
  width: 75%;
  padding: 10px;
}

/* moved from woo.php */
body.single-product .content-area {
    padding-top: 40px !important;
}

@media (max-width: 600px) {
    body.single-product .content-area {
        padding-top: 0 !important;
    }
}

/* Single product layout with sidebar */
body.single-product #main,
body.tax-product_cat #main {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 0;
    max-width: 1520px;
    margin: 0 auto;
    padding: 0 20px;
}

.out-of-stock {
    display: none !important;
}

/* Content wrapper styles */
.woocommerce-content-wrapper {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 40px;
}

/* Position sidebar */
body.single-product .product-categories-sidebar,
body.tax-product_cat .product-categories-sidebar {
    grid-column: 1;
    align-self: start;
    position: sticky;
    top: 20px;
    width: 260px;
}

/* Group all content elements */
body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat .products-wrapper {
    grid-column: 2;
    width: 100%;
}

/* Handle WooCommerce notices */
body.single-product .woocommerce-notices-wrapper,
body.tax-product_cat .woocommerce-notices-wrapper {
    grid-column: 1 / -1;
    order: -1;
    margin-bottom: 20px;
}

/* Ensure proper spacing */
body.tax-product_cat .woocommerce-products-header {
    margin: 20px 0;
}

body.tax-product_cat .woocommerce-result-count {
    float: left;
    margin-bottom: 20px;
}

body.tax-product_cat .woocommerce-ordering {
    float: right;
    margin-bottom: 20px;
}

/* Clear the floats */
body.tax-product_cat .products {
    clear: both;
}

/* Category Sidebar Styles */
.product-categories-sidebar {
    background: #f8f8f8;
    padding: 25px;
    border-radius: 8px;
    border: 1px solid #e5e5e5;
}

.product-categories-sidebar h3 {
    font-size: 20px;
    margin: 0 0 20px;
    padding-bottom: 15px;
	border-bottom: 2px solid var(--primary);
    color: #333;
}

.product-categories-sidebar ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.product-categories-sidebar ul li {
    margin-bottom: 12px;
}

.product-categories-sidebar ul li:last-child {
    margin-bottom: 0;
}

.product-categories-sidebar ul li a {
    color: #666;
    text-decoration: none;
    font-size: 15px;
    transition: color 0.3s ease;
    display: block;
    padding: 5px 0;
}

.product-categories-sidebar ul li.current-cat>a {
	color: var(--primaryalt);
    font-weight: 500;
}

.product-categories-sidebar ul li a:hover {
	color: var(--primaryalt);
}

.product-categories-sidebar ul ul {
    margin-left: 15px;
    margin-top: 8px;
}

/* Breadcrumb specific padding */
.woocommerce-breadcrumb {
    padding-left: 100px !important;
}

/* Responsive Sidebar */
@media (max-width: 959px) {

    body.single-product #main,
    body.tax-product_cat #main {
        grid-template-columns: 1fr;
    }

    body.single-product .product,
    body.tax-product_cat .woocommerce-products-header,
    body.tax-product_cat .woocommerce-result-count,
    body.tax-product_cat .woocommerce-ordering,
    body.tax-product_cat .products {
        grid-column: 1;
    }

    body.single-product .product-categories-sidebar,
    body.tax-product_cat .product-categories-sidebar {
        grid-row: 2;
        grid-column: 1;
        position: static;
        width: 100%;
        margin-top: 0;
    }

    .woocommerce-content-wrapper {
        grid-template-columns: 1fr;
        gap: 0;
    }

    body.tax-product_cat .woocommerce-products-header,
    body.tax-product_cat .products-wrapper {
        grid-column: 1;
        order: 1;
    }

    body.tax-product_cat .product-categories-sidebar {
        order: 2;
    }
}

/* Container styles */
.shop-categories,
.woocommerce-products-header {
    max-width: 1520px !important;
    margin: 0 auto;
    padding: 0;
}


/* Category sections */

.shop-category-section {
    margin-bottom: 60px;
    scroll-margin-top: 190px;
    /* Match scroll-padding-top */
}

.category-header {
    margin-bottom: 30px;
    display: flex;
    justify-content: space-between;
}

.category-title,
.woocommerce-products-header__title {
    font-size: 32px;
    margin-bottom: 20px;
    color: var(--primary);
}

.category-description,
.term-description {
    margin-bottom: 20px;
    color: #666;
}

/* Product grid */
.category-products,
.woocommerce-page ul.products {
    margin-bottom: 30px;
}

.category-products ul.products {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    display: grid !important;
    grid-template-columns: repeat(8, 1fr) !important;
    gap: 30px;
}

.woocommerce ul.products {
    margin: 0 !important;
    list-style: none;
    display: grid !important;
    grid-template-columns: repeat(8, 1fr) !important;
    gap: 30px;
}


.category-products ul.products::before,
.category-products ul.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
}

/* Product cards */
.category-products ul.products>li,
.woocommerce ul.products>li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
    position: relative;
    display: flex;
    flex-direction: column;
}

.category-products ul.products>li:hover,
.woocommerce ul.products>li:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    border-color: #d1d1d1;
}

/* Product card content */
.category-products ul.products>li a,
.woocommerce ul.products>li a {
    display: flex !important;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    padding: 15px;
    justify-content: space-between;
}

/* Image container */
.category-products ul.products>li a .category-image,
.woocommerce ul.products>li a .category-image {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}

.category-products ul.products>li a img,
.woocommerce ul.products>li a img {
    border-radius: 4px;
    margin-bottom: 0 !important;
    transition: transform 0.3s ease;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.category-products ul.products>li:hover a img,
.woocommerce ul.products>li:hover a img {
    transform: scale(1.05);
}

/* Title container */
.category-products ul.products>li a .product-info,
.woocommerce ul.products>li a .product-info {
    margin-top: auto;
    text-align: center;
}

.category-products ul.products>li a h2,
.woocommerce ul.products>li a h2,
.woocommerce-loop-category__title {
    font-size: 16px !important;
    color: #333;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4;
    font-weight: 500;
}

.category-products ul.products>li a .price,
.woocommerce ul.products>li a .price {
    margin-top: auto !important;
    color: #C41230;
    font-weight: 600;
    font-size: 18px;
}

/* Buttons */
.category-products ul.products>li .button,
.woocommerce ul.products>li .button {
    display: inline-block;
    padding: 8px 15px;
    background: #C41230;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    margin-top: 15px;
    font-weight: 500;
    transition: background-color 0.3s ease;
    text-align: center;
}

.category-products ul.products>li .button:hover,
.woocommerce ul.products>li .button:hover {
    background: #9c0e26;
}

.view-all-link {
    text-align: right;
    margin-top: 20px;
}

.view-all-link .button {
    display: inline-block;
    padding: 12px 25px;
    background: #C41230;
    color: #fff;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
    border-radius: 4px;
}

.view-all-link .button:hover {
    background: #9c0e26;
    transform: translateY(-2px);
}

/* Responsive styles */
@media (max-width: 1200px) {

    .category-products ul.products,
    .woocommerce ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 959px) {

    .category-products ul.products,
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px;
    }
}

@media (max-width: 600px) {

    .category-products ul.products,
    .woocommerce ul.products {
        grid-template-columns: repeat(1, 1fr) !important;
    }

    .view-all-link {
        text-align: center;
    }

    .category-products ul.products>li a h2,
    .woocommerce ul.products>li a h2 {
        font-size: 18px !important;
    }
}

/* Shop Navigation Sidebar */
.shop-nav-sidebar {
    position: sticky;
    top: 150px;
    width: 260px;
    background: #f8f8f8;
    padding: 25px;
    border-radius: 8px;
    border: 1px solid #e5e5e5;
    margin-bottom: 40px;
    align-self: start;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
}

/* Add smooth scrolling to html */
html {
    scroll-padding-top: 120px;
    /* Match the sticky header + some padding */
    scroll-behavior: smooth;
}

/* Ensure category titles have enough padding */
.shop-category-section {
    margin-bottom: 60px;
    scroll-margin-top: 120px;
    /* Match scroll-padding-top */
}

.shop-nav-sidebar h3 {
    font-size: 20px;
    margin: 0 0 20px;
    padding-bottom: 15px;
	border-bottom: 2px solid var(--primary);
    color: #333;
}

.shop-nav-sidebar ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.shop-nav-sidebar ul li {
    margin-bottom: 12px;
}

.shop-nav-sidebar ul li:last-child {
    margin-bottom: 0;
}

.shop-nav-sidebar ul li a {
    color: #666;
    text-decoration: none;
    font-size: 15px;
    transition: all 0.3s ease;
    display: block;
    padding: 8px 15px;
    border-radius: 4px;
    border: 1px solid transparent;
}

.shop-nav-sidebar ul li a:hover {
    color: var(--primary);
    background: rgba(66, 137, 163, 0.05);
    border-color: rgba(66, 137, 163, 0.1);
}

.shop-nav-sidebar ul li a.active {
    color: #C41230;
    background: rgba(196, 18, 48, 0.05);
    border-color: rgba(196, 18, 48, 0.1);
    font-weight: 500;
}

/* Shop page layout with navigation */
body.post-type-archive-product #main {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 20px;
    max-width: 1520px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Add top padding to shop page content area */
body.post-type-archive-product .content-area {
    padding-top: 50px;
}

/* Position shop navigation and content */
body.post-type-archive-product .shop-nav-sidebar {
    grid-column: 1;
    grid-row: 1;
}

body.post-type-archive-product .shop-categories {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    padding: 0;
}

/* Shop Navigation Sidebar */
.shop-nav-sidebar {
    position: sticky;
    top: 200px;
    width: 260px;
    background: #f8f8f8;
    padding: 25px;
    border-radius: 8px;
    border: 1px solid #e5e5e5;
    align-self: start;
}

/* Container styles */

.shop-categories {
    max-width: 100% !important;
    margin: 0 !important;
}

/* Category sections */
.shop-category-section {
    margin-bottom: 60px;
}

/* Product grid adjustments */
.category-products ul.products,
.woocommerce ul.products {
    grid-template-columns: repeat(6, 1fr) !important;
}

@media (max-width: 1200px) {

    .category-products ul.products,
    .woocommerce ul.products {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

@media (max-width: 959px) {
    body.post-type-archive-product #main {
        grid-template-columns: 1fr;
    }

    body.post-type-archive-product .shop-categories {
        grid-column: 1;
    }

    .shop-nav-sidebar {
        display: none;
        /* Hide navigation on mobile */
    }

    .category-products ul.products,
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 600px) {

    .category-products ul.products,
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

.product-categories-sidebar {
    width: 260px;
    background: #f8f8f8;
    padding: 25px;
    border-radius: 8px;
    border: 1px solid #e5e5e5;
    margin-bottom: 40px;
}
span.price,
p.price {
	display: none !important;
}
.wp-block-woocommerce-cart-order-summary-block {
	display: none;
}
.wp-block-woocommerce-checkout-order-summary-totals-block {
	display: none;
}
.wc-block-components-totals-item.wc-block-components-totals-footer-item {
	display: none;
}
.wc-block-components-totals-wrapper {
	border: none !important;
}
.woocommerce ul.products li.product a img {
    width: 200px !important; 
    height: 150px !important; 
    object-fit: cover; 
    display: block;
}
.reset_variations {
	background-color: var(--primary);
    padding: 5px 10px;
    border-radius: 5px;
    color: white;
}
body.woocommerce-shop ul.products.columns-6 {
	display: none !important;
}