/* Product only: no changes to category filters, checkout, quantities or prices. */
body.single-product{color:#263c31}
.single-product .woocommerce-breadcrumb{font-size:12px;line-height:1.8;margin:24px auto;max-width:1180px;padding:0 20px}
.single-product div.product{max-width:1180px;margin:24px auto 64px!important;display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);column-gap:52px;row-gap:28px;align-items:start}
.single-product div.product:before,.single-product div.product:after{display:none!important}
.single-product div.product>.woocommerce-product-gallery,.single-product div.product>.summary{float:none!important;width:100%!important;min-width:0;margin:0!important;clear:none!important}
.single-product div.product>.woocommerce-product-gallery{grid-column:1;grid-row:1}
.single-product div.product>.summary{grid-column:2;grid-row:1;background:#fff;border:1px solid #ddd8cd;border-radius:12px;padding:30px;box-sizing:border-box}
.single-product div.product>.onsale{position:absolute;z-index:3}
.single-product .summary h1.product_title{font:400 clamp(26px,3vw,34px)/1.15 'Playfair Display',serif!important;text-transform:none!important;letter-spacing:-.02em;margin:0 0 18px!important}
.single-product .summary .price{font:600 21px/1.5 Montserrat,sans-serif!important;color:#344f43!important;margin:14px 0 20px!important}
.single-product .summary p,.single-product .summary li{font-size:14px;line-height:1.8}
.single-product .summary .woocommerce-product-details__short-description{font-size:14px;line-height:1.8;margin-bottom:24px}
.single-product .summary form.cart{margin:24px 0 12px!important;max-width:100%}
.single-product .summary table.variations{width:100%;margin-bottom:15px}
.single-product .summary table.variations th,.single-product .summary table.variations td{display:block;width:100%;text-align:left;padding:4px 0}
.single-product .summary select{width:100%;min-height:46px;border:1px solid #abb5a7;border-radius:4px;padding:10px;font-size:14px;background:#fff}
.single-product .summary .single_add_to_cart_button{background:#344f43!important;color:#fff!important;border-radius:6px!important;min-height:48px;padding:13px 22px!important;font-size:14px!important;line-height:1.5!important;max-width:100%;white-space:normal}
.single-product .summary .quantity input{min-height:48px;font-size:15px}
.single-product .summary .stock{font-size:13px!important}
.single-product div.product>.ch-product-details,.single-product div.product>.related,.single-product div.product>.upsells{grid-column:1/-1;min-width:0;clear:both;width:100%}
.ch-product-nav{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 24px}
.ch-product-nav a{padding:10px 16px;border:1px solid #c9c8bf;border-radius:40px;color:#344f43;font:600 12px/1.6 Montserrat,sans-serif;text-decoration:none}
.ch-product-nav a:hover{background:#f4f0e8}
.ch-product-section{padding:28px 30px;background:#f5f1e9;border-radius:12px;margin-bottom:20px;scroll-margin-top:150px;min-width:0;overflow-wrap:anywhere}
.ch-product-section>h2{font:400 30px/1.2 'Playfair Display',serif;margin:0 0 22px;text-transform:none}
.ch-product-section>h2+h2{display:none}
.ch-product-section p,.ch-product-section li{font-size:14px!important;line-height:1.9!important;max-width:85ch}
.ch-product-section h3{font-size:20px;line-height:1.4;margin:24px 0 14px}
.ch-product-section img,.ch-product-section video{max-width:100%;height:auto}
.ch-product-section table{width:100%!important;border-collapse:collapse!important;table-layout:fixed;background:#fff;font-size:13px!important;line-height:1.7}
.ch-product-section table th,.ch-product-section table td{padding:12px 16px!important;border:1px solid #ddd8cd!important;text-align:left!important;vertical-align:top;overflow-wrap:anywhere;font-size:13px!important}
.ch-product-section table th{background:#ece6dc;font-weight:600;width:34%}
.ch-product-section table tr:nth-child(even) td{background:#fbf9f5}
.ch-product-section table p{margin:0;font-size:13px!important}
.ch-product-video-note{font-size:12px!important;color:#656d61}
.single-product .woocommerce-product-gallery .flex-control-thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px!important}
.single-product .woocommerce-product-gallery .flex-control-thumbs li{width:74px!important;max-width:22%}
.single-product .woocommerce-product-gallery .flex-control-thumbs img{border-radius:3px;object-fit:cover;aspect-ratio:1}
.single-product .related h2,.single-product .upsells h2{font:400 30px/1.3 'Playfair Display',serif;text-transform:none}
@media(max-width:900px){.single-product div.product{column-gap:24px}.single-product div.product>.summary{padding:22px}.single-product .summary h1.product_title{font-size:30px!important}}
@media(max-width:640px){.single-product div.product{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:16px!important}.single-product div.product>.woocommerce-product-gallery{grid-column:1;grid-row:1}.single-product div.product>.summary{grid-column:1;grid-row:2;padding:22px 18px}.single-product .summary h1.product_title{font-size:29px!important}.ch-product-section{padding:24px 18px}.ch-product-section>h2{font-size:27px}.ch-product-section table th,.ch-product-section table td{padding:9px!important}.single-product .summary .single_add_to_cart_button{width:100%}.ch-product-nav{gap:8px}.ch-product-nav a{font-size:11px;padding:9px 12px}}

.single-product .summary p,.ch-product-section p{text-align:left!important}.single-product .summary .woocommerce-product-details__short-description{border-top:1px solid #dedfd7;padding-top:20px;margin-top:24px}.ch-product-section h6{font:12px/1.8 Montserrat,sans-serif;text-transform:none}

/* Unified editable cheese facts and specification tables. */
.ch-cheese-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;padding:16px 0;border-top:1px solid #dedfd7;border-bottom:1px solid #dedfd7}
.ch-cheese-facts dt{font:500 10px/1.6 Montserrat,sans-serif;color:#586454}.ch-cheese-facts dd{font:600 12px/1.6 Montserrat,sans-serif;margin:4px 0 0;overflow-wrap:anywhere}
.single-product .summary .woocommerce-product-details__short-description{margin:16px 0 18px;padding:0;border:0}
.single-product .summary .ch-cheese-allergen-summary{font:12px/1.7 Montserrat,sans-serif;margin:12px 0;color:#3d493c}
.ch-cheese-table caption{caption-side:top;text-align:left;font:600 13px/1.6 Montserrat,sans-serif;color:#263c31;margin-bottom:10px}
.ch-product-section .ch-cheese-table{table-layout:auto;margin:0 0 22px}.ch-cheese-table th{width:42%}.ch-cheese-ingredients{max-width:85ch}.ch-cheese-allergens{padding:14px 16px;background:#edf0e9;border-radius:4px}
@media(max-width:640px){.ch-cheese-facts{gap:10px}.ch-cheese-facts dd{font-size:11px}.ch-product-section .ch-cheese-table th{width:45%}}

.single-product .summary .single_variation_wrap{display:block!important;min-width:0}
.single-product .summary .woocommerce-variation{margin-bottom:16px;min-width:0}
.single-product .summary .woocommerce-variation-price .price{display:block;white-space:normal;font-size:20px!important}
.single-product .summary .woocommerce-variation-price .price small{font-size:14px;white-space:normal}
.single-product .summary .woocommerce-variation-add-to-cart{display:grid!important;grid-template-columns:64px minmax(0,1fr);gap:12px;width:100%;min-width:0;align-items:stretch}
.single-product .summary .woocommerce-variation-add-to-cart .quantity{width:100%;margin:0;float:none}
.single-product .summary .woocommerce-variation-add-to-cart .quantity input{width:100%;box-sizing:border-box}
.single-product .summary .woocommerce-variation-add-to-cart .single_add_to_cart_button{width:100%;min-width:0;margin:0;white-space:normal}

/* Match the rounded white board cards and cream configurator panels. */
.single-product .summary h1.product_title{text-align:left;color:#263d32}
.single-product .woocommerce-product-gallery__wrapper{margin:0;border:1px solid #ddd8cd;border-radius:12px;overflow:hidden;background:#fff}
.single-product .woocommerce-product-gallery__image img{border:0!important;border-radius:0!important;max-width:100%;height:auto;object-fit:contain}
.single-product .summary select{border-color:#b6bcae;background:#fff;font:14px/1.6 Montserrat,sans-serif}
.ch-product-nav a:hover,.ch-product-nav a:focus-visible{background:#344f43;color:#fff;border-color:#344f43}
.ch-product-nav a:focus-visible{outline:3px solid #b0823e;outline-offset:3px}
.ch-cheese-allergens{background:#ece6dc;border-radius:8px}
