/* Shop chrome, built on WooCommerce's own block and classic markup. */

.wc-block-components-product-price, .wc-block-grid__product-price, .woocommerce .price, .woocommerce-Price-amount { font-family: var(--wp--preset--font-family--open-sans); }

/* Archive */
.cco-shop__bar { align-items: center; border-block-end: 1px solid #ddd; color: #5c5c5c; gap: 1rem; margin-block: 1rem 2rem; padding-block-end: 1rem; }
.cco-shop__bar p, .cco-shop .woocommerce-result-count { margin: 0; }
.cco-shop .woocommerce-ordering { margin: 0; }
.cco-shop select, .cco-product select, .woocommerce-checkout select { background-color: #fff; border: 1px solid #ccc; border-radius: 0; color: var(--wp--preset--color--ink); font: inherit; font-family: var(--wp--preset--font-family--open-sans); height: auto; line-height: 1.4; padding: 0.625rem 2rem 0.625rem 0.875rem; }
.woocommerce-breadcrumb, .wc-block-breadcrumbs { color: #5c5c5c; font-size: 0.9375rem; }
.woocommerce-breadcrumb a, .wc-block-breadcrumbs a { color: inherit; text-decoration: none; }
.woocommerce-breadcrumb a:hover, .wc-block-breadcrumbs a:hover { color: var(--wp--preset--color--green); }

/* Product grid */
.cco-products .wc-block-product { list-style: none; text-align: left; }
.cco-products .wc-block-components-product-image { margin-block-end: 1.25rem !important; }
.cco-products .wc-block-components-product-image img { aspect-ratio: 1 / 1.07; display: block; object-fit: cover; width: 100%; }
.cco-products .wp-block-post-title { font-family: var(--wp--preset--font-family--open-sans); font-size: 1.125rem !important; font-weight: 400; line-height: 1.4; margin-block: 0 0.25rem; }
.cco-products .wp-block-post-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.cco-products .wp-block-post-title a:hover { color: var(--wp--preset--color--green); }
.cco-products .wc-block-components-product-price { color: var(--wp--preset--color--green); font-size: 1.125rem !important; font-weight: 600; text-align: left; }
.cco-products .wp-block-query-pagination { margin-block-start: 2rem; }

/* Sidebar */
.cco-shop-sidebar { font-size: 0.9375rem; }
.cco-shop-sidebar > .cco-footer__title:not(:first-child) { margin-block-start: 3rem; }
.cco-popular .wc-block-product { align-items: start; column-gap: 0.875rem; display: grid; grid-template-columns: 75px 1fr; list-style: none; margin-block-end: 0.75rem; }
.cco-popular .wc-block-components-product-image { grid-row: span 2; margin: 0 !important; }
.cco-popular .wc-block-components-product-image img { aspect-ratio: 1 / 1.07; display: block; object-fit: cover; }
.cco-popular .wp-block-post-title { font-family: inherit; font-size: 0.875rem !important; font-weight: 400; margin: 0 !important; }
.cco-popular .wp-block-post-title a { text-decoration: none; }
.cco-popular .wc-block-components-product-price { font-size: 0.8125rem !important; text-align: left; }
.wc-block-product-categories-list { list-style: none; margin: 0; padding: 0; }
.wc-block-product-categories-list--depth-1 { display: none; }
.wc-block-product-categories-list-item { align-items: baseline; display: flex; flex-wrap: wrap; justify-content: space-between; margin-block: 0.5rem; }
.wc-block-product-categories-list-item > a { color: #5c5c5c; text-decoration: none; }
.wc-block-product-categories-list-item > a:hover { color: var(--wp--preset--color--green); }
.wc-block-product-categories-list-item-count { background: #eee; border-radius: 1em; color: #5c5c5c; font-size: 0.75rem; padding: 0 0.5em; }
.wc-block-product-categories-list-item-count::before, .wc-block-product-categories-list-item-count::after { content: none; }
@media (max-width: 781px) { .cco-shop__layout { flex-direction: column-reverse; } }

/* Single product */
.cco-product .wp-block-post-title { margin-block-end: 0.5rem; }
.cco-product .wc-block-components-product-price { color: var(--wp--preset--color--ink); }
.cco-product form.cart { align-items: center; display: flex; flex-wrap: wrap; gap: 1rem; margin-block: 1.5rem; }
.cco-product form.variations_form { display: block; }
.cco-product .variations { border-collapse: collapse; margin-block-end: 1rem; }
.cco-product .variations th { padding: 0 1rem 0.25rem 0; text-align: left; }
.cco-product .woocommerce-variation-add-to-cart { align-items: center; display: flex; flex-wrap: wrap; gap: 1rem; }
.cco-product .quantity input { border: 1px solid #ccc; font: inherit; padding: 0.75rem 0.5rem; text-align: center; width: 4.5rem; }
.single_add_to_cart_button, .woocommerce a.button, .woocommerce button.button, .wc-block-components-button:not(.is-link) {
	background: var(--wp--preset--color--green); border: 0; border-radius: 0; color: #fff; cursor: pointer; font-family: var(--wp--preset--font-family--open-sans); padding: 0.875rem 2.75rem; text-decoration: none; text-transform: uppercase;
}
.single_add_to_cart_button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--wp--preset--color--red); color: #fff; }
.single_add_to_cart_button.disabled { opacity: 0.55; }
.woocommerce .cco-product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 0; list-style: none; margin: 1.5rem 0; padding: 0; }
.woocommerce .cco-product .woocommerce-tabs ul.tabs::before, .woocommerce .cco-product .woocommerce-tabs ul.tabs li::before, .woocommerce .cco-product .woocommerce-tabs ul.tabs li::after { content: none; }
.woocommerce .cco-product .woocommerce-tabs ul.tabs li { background: var(--wp--preset--color--mist); border: 0; border-radius: 0; margin: 0; padding: 0; }
.woocommerce .cco-product .woocommerce-tabs ul.tabs li a { color: var(--wp--preset--color--body); display: block; font-weight: 400; padding: 0.5rem 1rem; text-decoration: none; }
.woocommerce .cco-product .woocommerce-tabs ul.tabs li.active { background: var(--wp--preset--color--green); }
.woocommerce .cco-product .woocommerce-tabs ul.tabs li.active a { color: #fff; }
.cco-product .wp-block-woocommerce-related-products { margin-block-start: var(--wp--preset--spacing--60); }
.cco-product .woocommerce-product-gallery__trigger { align-items: center; background: #fff; border-radius: 50%; display: flex; height: 2.25rem; justify-content: center; position: absolute; right: 1rem; top: 1rem; width: 2.25rem; z-index: 2; }

/* Cart, checkout, account (classic shortcodes) */
.woocommerce table.shop_table { border-collapse: collapse; width: 100%; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-block-end: 1px solid #e5e5e5; padding: 0.75rem; text-align: left; }
.woocommerce form .input-text, .woocommerce-page form .input-text { border: 1px solid #ccc; font: inherit; padding: 0.625rem 0.75rem; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-block-start-color: var(--wp--preset--color--green); }
.woocommerce-message .button { float: right; }

/* WooCommerce's own selectors are specific, so these need to match them. */
.woocommerce div.product form.cart .variations select { height: auto; line-height: 1.5; min-height: 2.75rem; padding-block: 0.5rem; }
.woocommerce div.product form.cart div.quantity input.qty { border: 1px solid #ccc; font: inherit; height: 3.25rem; padding: 0.5rem; width: 4.5rem; }
.woocommerce div.product .wp-block-woocommerce-product-details ul.wc-tabs { border: 0; margin: 1.5rem 0; overflow: visible; padding: 0; }
.woocommerce div.product .wp-block-woocommerce-product-details ul.wc-tabs::before,
.woocommerce div.product .wp-block-woocommerce-product-details ul.wc-tabs li::before,
.woocommerce div.product .wp-block-woocommerce-product-details ul.wc-tabs li::after { content: none; display: none; }
.woocommerce div.product .wp-block-woocommerce-product-details ul.wc-tabs li { background: var(--wp--preset--color--mist); border: 0; border-radius: 0; margin: 0; padding: 0; }
.woocommerce div.product .wp-block-woocommerce-product-details ul.wc-tabs li a { color: var(--wp--preset--color--body); font-weight: 400; padding: 0.5rem 1rem; }
.woocommerce div.product .wp-block-woocommerce-product-details ul.wc-tabs li.active { background: var(--wp--preset--color--green); }
.woocommerce div.product .wp-block-woocommerce-product-details ul.wc-tabs li.active a { color: #fff; }
.woocommerce div.product form.cart div.quantity input.qty { box-sizing: border-box; }
.cco-header__nav .is-menu-open a { padding-block: 0.5rem; }
