/*
Theme Name: Ollie Child Theme
Theme URI: https://olliewp.com
Description: A child theme based on Ollie
Author: Mike McAlister
Author URI: https://olliewp.com
Template:     ollie
Version: 1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Tags:         blog, portfolio, entertainment, grid-layout, one-column, two-columns, three-columns, four-columns, block-patterns, block-styles, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, full-width-template, rtl-language-support, style-variations, template-editing, theme-options, translation-ready, wide-blocks
Text Domain: ollie-child
*/


input:not([type="submit"]),
input:not([type="radio"]),
input:not([type="checkbox"]),
select,
textarea,
.wp-block-post-comments-form input:not([type="submit"]),
.wp-block-post-comments-form input:not([type="radio"]),
.wp-block-post-comments-form input:not([type="checkbox"]),
.wp-block-post-comments-form textarea {
	color: var(--wp--preset--color--main);
	border-radius: 5px;
	border: solid 1px var(--wp--preset--color--border-light);
	padding: .5em 1em;
	font-size: var(--wp--preset--font-size--small);
	background-color: #fff;
}
input[type="radio"],
input[type="checkbox"] {
    padding: 0!important;
}

.woocommerce div.product form.cart .variations td {
    padding-bottom: 0;
    line-height: 1.5;
}

.woocommerce-variation-price {
    font-size: 1.2em;
    font-weight: 600;
    background: #9d7f65;
    color: #fff;
    padding: 5px 20px;
    display: inline-flex;
}

/* Grid layout for categories */
.wc-block-product-categories{
    &.top-level-cats {
        ul {
            display: grid !important;
            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
            gap: 2rem !important;
            padding: 0;
            li {
                margin: 0 !important;
                height: 250px !important;
                a{
                    display: block;
                    position: relative;
                    border-radius: 8px;
                    overflow: hidden;
                    /* box-shadow: 0 4px 6px rgba(0,0,0,0.1); */
                    transition: transform 0.3s ease;
                    height: 100%;
                    width: 100%;
                    &:hover {
                        transform: translateY(-5px);
                        text-decoration: none;
                    }
                }
                .wc-block-product-categories-list-item__image {
                    display: block;
                    position: absolute;
                    max-width: 100%;
                    margin: 0;
                    top: 0;
                    left: 0;
                    right: 0;
                    bottom: 0;
                    overflow: hidden;
                    img {
                        width: 100%;
                        height: 100%;
                        object-fit: cover;
                        transition: transform 0.3s ease;
                    }
                    &:hover img {
                        transform: scale(1.1);
                    }
                }
                .wc-block-product-categories-list-item__name {
                    position: absolute;
                    bottom: 0;
                    left: 0;
                    right: 0;
                    padding: 16px;
                    text-align: center;
                    background-color: rgba(255, 255, 255, 0.8);
                    font-weight: bold;
                    font-size: 1.125rem;
                }
            }
        }
        .wc-block-product-categories-list--depth-1 {
            display: none !important;
        }
    }
}

/* Category item styling */
.wc-block-product-categories-list-item {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    /* box-shadow: 0 4px 6px rgba(0,0,0,0.1); */
    transition: transform 0.3s ease;
}

.wc-block-product-categories-list-item:hover {
    transform: translateY(-5px);
}

/* Link styling */
.wc-block-product-categories-list-item a {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
}

/* Image styling */
.wc-block-product-categories-list-item img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

/* Category name styling */
.wc-block-product-categories-list-item__name {
    padding: 16px;
    text-align: center;
    background-color: #f8f8f8;
    font-weight: bold;
    font-size: 1.125rem;
}

/* Product count styling */
.wc-block-product-categories-list-item__count {
    text-align: center;
    padding-bottom: 16px;
    background-color: #f8f8f8;
    color: #666;
    font-size: 0.875rem;
    margin-top: -10px;
}

/* Hide child categories */
.wc-block-product-categories-list--child-categories {
    display: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    background: #f8f8f8;
    padding: 20px;
    border-radius: 8px;
}

.woocommerce-Address-title.title h2 {
    font-size: 1.5em;
    font-weight: 600;
    margin-bottom: 20px;
}

.woocommerce-account .addresses .title .edit {
    float: none;
}
:where(.wp-site-blocks) > *:not(.header-group),
.header-group {
    margin-top: 0 !important;
}

.woocommerce table.shop_attributes th {
    font-weight: 600;
    text-align: left;
    width: 180px;
}

.woocommerce table.shop_attributes td {
    text-align: left;
    padding: 0 10px;
}

.wc-block-product-template__responsive>li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    @media screen and (min-width: 992px) {
        margin-bottom: 30px;
    }
    .wc-block-components-product-image {
        width: 100%;
        height: 290px;
        overflow: hidden;
        img {
            width: 100%;
            height: 290px !important;
            object-fit: contain;
            object-position: center;
        }
    }
}

.wc-block-product-template__responsive.columns-4 {
    grid-template-columns: repeat(auto-fill, minmax(max(250px, calc(25% - .9375em)), 1fr));
}

.wc-block-product-categories.is-dropdown {
	width: 100%;
	.wc-block-product-categories__dropdown {
		width: 100%;
		select {
/* 			max-width: 100%; */
			max-width: 260px;
		}
	}
}

.woovr-variation-selector {
	flex-grow: 0 !important;
}

.woovr-variation-select {
	width: 100%;
	max-width: 400px;
}
.woosg-item-product.woosg-product .wc-block-components-quantity-selector__button {
	display: none !important;
}
.woosg-item-product.woosg-product .wc-block-components-quantity-selector__input {
	padding: 0 !important;
}
.woosg_total.woosg-total.woosg-text .amount {
	font-size: 1.2em;
    font-weight: 600;
    background: #9d7f65;
    color: #fff;
    padding: 5px 20px;
    display: inline-flex; 
}

.wp-block-column {
	.wc-block-product-categories.is-list {
		ul.wc-block-product-categories-list--depth-0 {
			padding-left: 0;
			.wc-block-product-categories-list-item {
				border-radius: 0;
			}
			.wc-block-product-categories-list-item__name {
				text-align: left;
				padding: 5px 0;
				background: transparent;
				border-radius: 2px;
			}
		}
		ul.wc-block-product-categories-list--depth-1 {
			padding-left: 0;
			.wc-block-product-categories-list-item__name {
				background: transparent;
				padding: 2px 0;
				font-weight: normal;
			}
		}
	}
}

.wp-block-post-title :where(a) {
	-webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
}
.wc-block-product-template__responsive>li {
	height: 100%;
}
.wp-block-button.wc-block-components-product-button {
	width: 100%;
	justify-content: flex-end;
	flex: 1;
}

.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button {
	height: auto;
	&.product_type_variable {
		background-color: black;
		&:hover {
			background-color: var(--wp--preset--color--primary);
		}
	}
}

.wc-block-product-filters {
	.wp-block-woocommerce-product-filter-taxonomy {
		.wp-block-woocommerce-product-filter-checkbox-list {
			.wc-block-product-filter-checkbox-list__item {
				font-weight: 900;
				&.has-depth-1 {
					font-weight: 600;
					margin-left: 20px;
				}
				&.has-depth-2 {
					font-weight: 400;
					margin-left: 40px;
				}
			}
		}
	}
}

.woocommerce div.product form.cart .reset_variations:not([style*="visibility:hidden"]) {
	display: block;
	height: 0;
}

.single_variation_wrap {
	padding-top: 20px;
}

.woocommerce div.product form.cart .variations tr {
	margin-bottom: 10px;
} 

.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td {
	padding-bottom: 20px;
}

.woocommerce.wc-block-store-notices, 
.woocommerce.wc-block-store-notices.alignwide {
	margin: 0 auto;
}


.woocommerce .wp-block-woocommerce-product-image-gallery span.onsale {
	background: #fff;
border: 1px solid #43454b;
border-radius: 4px;
box-sizing: border-box;
color: #43454b;
display: inline-block;
font-size: .875em;
	line-height: 1.3;
	min-height: 1.3em;
font-weight: 600;
padding: 0 .75em;
position: static;
text-align: center;
text-transform: uppercase;
width: fit-content;
z-index: 9;
}




.wc-block-components-contact-information {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px;
}
