/* Native WooCommerce components, with the foundation's existing visual language. */
.fchj-commerce { padding: 46px 0 80px; min-height: 50vh; }
.fchj-commerce h1 { font: 400 clamp(2.6rem,5vw,4.6rem)/1.08 var(--fchj-serif); color: var(--fchj-green-deep); margin-bottom: 2rem; letter-spacing: -.03em; }
.fchj-commerce h2, .fchj-commerce h3 { color: var(--fchj-green-deep); font-family: var(--fchj-serif); }
.fchj-store-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; border-bottom: 1px solid var(--fchj-line); margin-bottom: 2rem; padding-bottom: 1.2rem; }
.fchj-store-heading .fchj-kicker { margin: 0; }
.fchj-store-heading nav { display: flex; gap: 1.4rem; flex-wrap: wrap; font-size: .85rem; }
.fchj-store-heading nav a { color: var(--fchj-green); text-decoration: underline; text-underline-offset: 4px; }
.fchj-commerce .woocommerce-breadcrumb { font-size: .8rem; color: var(--fchj-muted); margin-bottom: 1.7rem; }
:is(.fchj-commerce, .fchj-products) ul.products { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; padding: 0; margin: 1.5rem 0 2.5rem; clear: both; }
:is(.fchj-commerce, .fchj-products) ul.products::before, :is(.fchj-commerce, .fchj-products) ul.products::after { content: none; }
:is(.fchj-commerce, .fchj-products) ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; background: var(--fchj-paper); border: 1px solid #dfded2; border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; padding-bottom: 1.5rem; }
:is(.fchj-commerce, .fchj-products) ul.products li.product a img { width: 100%; aspect-ratio: 1.18; object-fit: contain; background: #e4eadd; margin: 0 0 1.3rem; }
:is(.fchj-commerce, .fchj-products) ul.products li.product:nth-child(4n+2) a img { background: #ebe0d8; }
:is(.fchj-commerce, .fchj-products) ul.products li.product:nth-child(4n+3) a img { background: #e3e9e9; }
:is(.fchj-commerce, .fchj-products) ul.products li.product:nth-child(4n+4) a img { background: #eee4c9; }
:is(.fchj-commerce, .fchj-products) ul.products li.product .woocommerce-loop-product__title, :is(.fchj-commerce, .fchj-products) ul.products li.product .woocommerce-loop-category__title { font: 400 1.65rem/1.25 var(--fchj-serif); padding: 0 1.35rem .6rem; }
:is(.fchj-commerce, .fchj-products) ul.products li.product .price { font-size: 1rem; color: var(--fchj-green); padding: 0 1.35rem; }
:is(.fchj-commerce, .fchj-products) ul.products li.product .star-rating { margin-left: 1.35rem; }
:is(.fchj-commerce, .fchj-products) ul.products li.product .button, :is(.fchj-commerce, .fchj-products) ul.products li.product .added_to_cart { margin: .85rem 1.35rem 0; width: auto; align-self: stretch; text-align: center; }
.fchj-commerce .woocommerce-result-count, .fchj-commerce .woocommerce-ordering { font-size: .85rem; }
.fchj-commerce .woocommerce-ordering select { max-width: 100%; border: 1px solid #9aad9f; border-radius: 5px; padding: .7rem; background: white; }
.fchj-commerce .woocommerce-ordering { max-width: 100%; }
.fchj-commerce .button, .woocommerce .fchj-commerce a.button, .woocommerce .fchj-commerce button.button, .fchj-commerce .woocommerce a.button, .fchj-commerce .woocommerce button.button, .fchj-commerce #respond input#submit, .fchj-commerce .wc-block-components-button:not(.is-link) { background: var(--fchj-green); color: #fff; border: 0; border-radius: 7px; font: 600 .9rem/1.5 var(--fchj-sans); padding: .85rem 1.3rem; white-space: normal; }
.fchj-commerce .button:hover, .fchj-commerce .wc-block-components-button:not(.is-link):hover { background: #0b2d22; color: white; }
.fchj-commerce .woocommerce-message, .fchj-commerce .woocommerce-info, .fchj-commerce .woocommerce-error { background: var(--fchj-cream); border-color: var(--fchj-green); color: var(--fchj-ink); }
.fchj-commerce .woocommerce-error { border-color: var(--fchj-red); }
.fchj-commerce div.product .product_title { font-size: clamp(2.3rem,4vw,3.8rem); }
.fchj-commerce div.product p.price, .fchj-commerce div.product span.price { color: var(--fchj-green); font-size: 1.5rem; }
.fchj-commerce div.product div.images img { border-radius: 15px; }
.fchj-commerce .woocommerce-product-details__short-description { line-height: 1.85; }
.fchj-commerce div.product form.cart .variations td, .fchj-commerce div.product form.cart .variations th { border: 0; padding: .65rem; }
.fchj-commerce .quantity input.qty { min-height: 46px; width: 5rem; border: 1px solid #9aad9f; border-radius: 6px; }
.fchj-commerce .input-text, .fchj-commerce .variations select { font: inherit; max-width: 100%; padding: .8rem; border: 1px solid #9aad9f; border-radius: 5px; }
.fchj-commerce .woocommerce table.shop_table { border: 1px solid var(--fchj-line); border-radius: 10px; }
.fchj-commerce .woocommerce table.shop_table td, .fchj-commerce .woocommerce table.shop_table th { border: 0; border-bottom: 1px solid var(--fchj-line); }
.fchj-commerce #add_payment_method #payment, .fchj-commerce .woocommerce-checkout #payment { background: var(--fchj-cream); }
.fchj-commerce .wc-block-components-product-name, .fchj-commerce .wc-block-components-totals-item { color: var(--fchj-green-deep); }
.fchj-commerce .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.fchj-commerce .woocommerce-MyAccount-navigation li { padding: .65rem 0; border-bottom: 1px solid var(--fchj-line); }
.fchj-commerce .woocommerce-MyAccount-navigation .is-active a { color: var(--fchj-red); }
.fchj-commerce .woocommerce-notices-wrapper { clear: both; }
.fchj-commerce .woocommerce-pagination { margin: 2rem 0; }
@media (max-width: 1080px) { :is(.fchj-commerce, .fchj-products) ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) {
 .fchj-commerce { padding-top: 30px; }
 :is(.fchj-commerce, .fchj-products) ul.products { grid-template-columns: minmax(0,1fr); }
 .fchj-store-heading nav { gap: 1rem; }
 .fchj-commerce .woocommerce-result-count, .fchj-commerce .woocommerce-ordering { float: none; }
 .fchj-commerce .woocommerce-ordering select { width: 100%; }
 .fchj-commerce .woocommerce-cart-form { max-width: 100%; overflow-x: auto; }
}

.fchj-products .woocommerce ul.products { list-style: none; }
.fchj-products .woocommerce ul.products li.product { position: relative; }
.fchj-products .woocommerce ul.products li.product .button { background: var(--fchj-green); color: white; border: 0; border-radius: 7px; padding: .85rem 1rem; font: 600 .87rem/1.5 var(--fchj-sans); white-space: normal; margin-top: auto; }
.fchj-products .woocommerce ul.products li.product .button:hover { background: #0b2d22; }
.fchj-products .woocommerce ul.products li.product .price { display: block; margin-bottom: 1.2rem; }
.fchj-products .woocommerce ul.products li.product .onsale { position: absolute; top: 12px; left: 12px; right: auto; margin: 0; min-height: 0; min-width: 0; border-radius: 30px; padding: 7px 12px; line-height: 1.4; background: var(--fchj-red); color: white; font-size: .8rem; }
.fchj-products .woocommerce ul.products li.product a img { display: block; }
.fchj-products .woocommerce ul.products li.product .woocommerce-loop-product__title { overflow-wrap: anywhere; }
.fchj-products .woocommerce ul.products li.product .added_to_cart { color: var(--fchj-green); text-decoration: underline; font-size: .85rem; }
