/* Shared roles, not one size for every type of content. Both families: SIL OFL 1.1. */
:root{--ch-font-body:'Montserrat',sans-serif;--ch-font-heading:'Playfair Display',serif;--ch-ink:#263d32;--ch-action:#344f43;--ch-paper:#f5f1e9;--ch-line:#ddd8cd;--ch-hover:#8fa397;--ch-card-radius:12px;--ch-body-size:15px;--ch-title-size:24px;--ch-price-size:18px}
body{font-family:var(--ch-font-body);color:var(--ch-ink)}
body :is(p,li,dt,dd,label,input,select,textarea,button){font-family:var(--ch-font-body)!important}
body :is(h1,h2,h3),body :is(h1,h2,h3)>:is(a,span,strong,em){font-family:var(--ch-font-heading)!important;font-weight:400!important;letter-spacing:0!important;text-transform:none}
body main h1,body .cb h1,body.cheeser-home .ch-hero h1,body.cheeser-business .ch-b2b-intro h1,body.single-product .summary h1.product_title{font-size:clamp(34px,3.5vw,46px)!important;line-height:1.15!important}
body main h2{font-size:32px!important;line-height:1.25!important}body main h3{font-size:24px!important;line-height:1.35!important}
body main p,body .ch-product-section p,body .ch-product-section li,body.single-product .summary p{font-size:var(--ch-body-size)!important;line-height:1.8!important}
body :is(.cb-small,.cb .cb-small,.cb-test,.ch-form-small,.ch-form-status,.ch-test,.ch-video-note,.cs-hint,.cs-results-toolbar p,.cs-breadcrumb,.woocommerce-breadcrumb,.ch-reviews-source,.ch-review blockquote p){font-size:12px!important;line-height:1.7!important}
body :is(label,.cb-notes,.cb-notes span,.ch-business-form label){font-size:13px!important;line-height:1.6!important}
body :is(input,select,textarea){font-size:14px!important;line-height:1.6!important}
body :is(.cb legend,.cb .cb-fulfilment>h2,.cs-faq summary){font:600 16px/1.5 var(--ch-font-body)!important}
body :is(.ch-eyebrow,.cb-eyebrow,.cb-people){font:600 11px/1.5 var(--ch-font-body)!important}
body :is(.ch-cheese-facts dt,.ch-cheese-facts dd){font-family:var(--ch-font-body)!important;font-size:12px!important;line-height:1.6!important}
body :is(.ch-product-section table th,.ch-product-section table td,.ch-product-section table p){font-size:13px!important;line-height:1.7!important}
body :is(.cc-card h3,#woo-filter-form h3){font:600 14px/1.5 var(--ch-font-body)!important}
body #woo-filter-form label{font-size:12px!important}
body header nav a{font-family:var(--ch-font-body)!important;font-size:14px!important;font-weight:600!important}
body .cheeser-footer .footer-menu a{font-family:var(--ch-font-body)!important;font-size:12px!important}
/* One product-card shell and one hover state throughout the storefront. */
body .cb-card,body.cheeser-catalog #woo-products>.woo-product-item>div,body .woo-product-item>div,body .woocommerce ul.products li.product{border:1px solid var(--ch-line)!important;border-radius:var(--ch-card-radius)!important;background:#fff!important;box-shadow:none!important;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}
body.cheeser-catalog #woo-products>.woo-product-item>div,body .woo-product-item>div{padding:0!important}
body .cb-card:hover,body.cheeser-catalog #woo-products>.woo-product-item:hover>div,body .woo-product-item:hover>div,body .woocommerce ul.products li.product:hover{border:1px solid var(--ch-hover)!important;box-shadow:0 4px 16px #344f4312!important}
body .cb-card.cb-chosen,body .cb-card:has(input:checked){border:1px solid var(--ch-hover)!important;box-shadow:0 0 0 1px var(--ch-hover)!important}
body.cheeser-catalog #woo-products .woo-product-image{margin:0 0 18px!important;border-radius:0!important}
body.cheeser-catalog #woo-products h2,body .woo-product-item h2,body .cb-card h2,body .woocommerce ul.products li.product .woocommerce-loop-product__title{font:400 var(--ch-title-size)/1.3 var(--ch-font-heading)!important;text-align:left!important;letter-spacing:0!important;text-transform:none!important}
body.cheeser-catalog #woo-products h2{margin:0 18px 16px!important;min-height:2.6em}
body.cheeser-catalog #woo-products h2 a{font:inherit!important;color:var(--ch-ink)!important}
body.cheeser-catalog #woo-products .woo-product-info{padding:0 18px 18px;min-width:0}
body :is(.cb-price,.cb-summary strong),body.cheeser-catalog #woo-products .woo-product-item .woo-price,body.single-product .summary .price,body .woocommerce ul.products li.product .price{font:600 var(--ch-price-size)/1.5 var(--ch-font-body)!important;color:var(--ch-action)!important}
body.cheeser-catalog #woo-products .woo-product-item .woo-price *,body .cb-price *,body.single-product .summary .price *{font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important}
body.single-product .summary .woocommerce-variation-price .price small{font-size:13px!important}
/* Buttons share the same shape, sizing and hover color; secondary actions remain outlined. */
body :is(.ch-button,.cb button,.single_add_to_cart_button,.woocommerce a.button,.woocommerce button.button,.woo-button>a,.cs-filter-toggle,.wc-block-components-checkout-place-order-button,.wc-block-cart__submit-button){font:600 13px/1.5 var(--ch-font-body)!important;letter-spacing:0!important;text-transform:none!important;border-radius:6px!important;min-height:46px;box-shadow:none!important}
body :is(.ch-button,.cb button.cb-primary,.single_add_to_cart_button,.woo-button>a,.woocommerce a.button,.woocommerce button.button){background:var(--ch-action)!important;color:#fff!important;border:1px solid var(--ch-action)!important}
body :is(.ch-button,.cb button.cb-primary,.single_add_to_cart_button,.woo-button>a,.woocommerce a.button,.woocommerce button.button):hover{background:#263d32!important;border-color:#263d32!important;color:#fff!important}
body .cb button:not(.cb-primary){background:#fff!important;border:1px solid var(--ch-line)!important;color:var(--ch-action)!important}
body .cb button:not(.cb-primary):hover{background:var(--ch-paper)!important;border-color:var(--ch-hover)!important}
body .cb .cb-quantity button{font-size:20px!important;min-height:40px}
body :is(.ch-button-outline){background:transparent!important;color:var(--ch-action)!important;border-color:var(--ch-action)!important}
body.cheeser-home section.ch-business a.ch-button{background:#e2ceb1!important;color:#214939!important;border-color:#e2ceb1!important}
body.cheeser-home section.ch-business a.ch-button:hover{background:#f5f1e9!important;color:#214939!important}
body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--ch-hover)!important;outline-offset:3px}
@media(max-width:640px){:root{--ch-body-size:14px;--ch-title-size:20px;--ch-price-size:16px}body main h1,body .cb h1,body.cheeser-home .ch-hero h1,body.cheeser-business .ch-b2b-intro h1,body.single-product .summary h1.product_title{font-size:34px!important}body main h2{font-size:28px!important}body main h3{font-size:22px!important}body.cheeser-catalog #woo-products h2{margin:0 12px 12px!important}body.cheeser-catalog #woo-products .woo-product-info{padding:0 12px 12px}body.cheeser-catalog #woo-products .woo-product-image{margin-bottom:12px!important}body.cheeser-catalog #woo-products .woo-button>a{font-size:12px!important;padding:10px 6px!important}body .cb .cb-fulfilment>h2{font-size:16px!important}}
@media(prefers-reduced-motion:reduce){body .cb-card,body .woo-product-item>div{transition:none}}
@media(min-width:701px){body .cb-card-text:not(:has(.cb-people))::before{content:'';display:block;height:16.5px}}

body .cb-card .cb-people{display:block}

body.cheeser-home section.ch-business a.ch-button{background:#e2ceb1!important;color:#214939!important;border-color:#e2ceb1!important;opacity:1}
body.cheeser-home section.ch-business a.ch-button:is(:hover,:focus-visible,:active,:visited){background:#f5f1e9!important;color:#214939!important;border-color:#f5f1e9!important;opacity:1}

/* Prominent, centered entry to the optional board configurator. */
body .cb .cb-configurator>summary{font:600 16px/1.5 var(--ch-font-body)!important;letter-spacing:normal}

/* Article titles: a calm readable heading instead of the patterned plaque. */
body.single-post .blog-hero{background:#fff!important;background-image:none!important;padding:42px 24px 30px!important;min-height:0!important;height:auto!important;display:block!important;border:0!important}
body.single-post .blog-hero::before,body.single-post .blog-hero::after{content:none!important;display:none!important}
body.single-post .blog-hero h1{max-width:960px!important;width:100%!important;margin:0 auto!important;padding:0!important;color:#263d32!important;font:400 clamp(28px,3.2vw,42px)/1.25 var(--ch-font-heading)!important;text-align:left!important;text-transform:none!important;letter-spacing:0!important;white-space:normal!important;overflow-wrap:break-word}
@media(max-width:599px){body.single-post .blog-hero{padding:28px 20px 22px!important}body.single-post .blog-hero h1{font-size:28px!important;line-height:1.3!important}}

/* Full photograph within the article column; blog listing remains unchanged. */
body.single-post .ch-article-photo{display:flex;justify-content:center;align-items:center;margin:0 0 28px!important;padding:0;width:100%}
body.single-post .ch-article-photo img{display:block;width:auto!important;max-width:100%!important;height:auto!important;max-height:640px!important;aspect-ratio:auto!important;object-fit:contain!important;border-radius:6px;margin:0 auto}
@media(max-width:599px){body.single-post .ch-article-photo{margin-bottom:22px!important}body.single-post .ch-article-photo img{max-height:none!important}}

/* Typography audit: prices must not enlarge the currency or shrink the unit. */
body .woocommerce-Price-amount,body .woocommerce-Price-amount *,body .woocommerce-Price-currencySymbol{font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important}
body .wc-block-grid__product .wc-block-grid__product-price,body ul.products li.product .price{font:600 var(--ch-price-size)/1.5 var(--ch-font-body)!important;color:var(--ch-action)!important}
body .wc-block-grid__product .wc-block-grid__product-price *,body ul.products li.product .price *,body.single-product .summary .woocommerce-variation-price .price small{font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important}
body .wc-block-grid__product .wc-block-grid__product-title,body ul.products li.product .woocommerce-loop-product__title{font:400 var(--ch-title-size)/1.3 var(--ch-font-heading)!important;letter-spacing:0!important;text-transform:none!important}
body .wc-block-grid__product .wp-block-button__link,body .wc-block-grid__product .wp-block-button__link span{font:600 13px/1.5 var(--ch-font-body)!important;letter-spacing:0!important;text-transform:none!important}
body.blog main p.fs-5,body.archive main p.fs-5{font-family:var(--ch-font-body)!important;font-size:var(--ch-body-size)!important;line-height:1.8!important}
body.single-post .blog-latest-post h3{font-size:var(--ch-title-size)!important;line-height:1.35!important}
body .ch-product-section .comment-reply-title,body .ch-product-section .comment-reply-title>span{font:400 var(--ch-title-size)/1.35 var(--ch-font-heading)!important}
/* Equal-height recommendation cards keep prices and actions on common rows. */
body .wc-block-grid .wc-block-grid__products{align-items:stretch!important}
body .wc-block-grid .wc-block-grid__product{display:flex!important;flex-direction:column;align-self:stretch;min-width:0}
body .wc-block-grid .wc-block-grid__product-link{display:flex;flex-direction:column;flex:1 0 auto;width:100%}
body .wc-block-grid .wc-block-grid__product-title{min-height:2.6em;margin-bottom:0!important}
body .wc-block-grid .wc-block-grid__product-price{margin-top:12px!important;margin-bottom:16px!important}
body .wc-block-grid .wc-block-grid__product-add-to-cart{margin-top:0!important;margin-bottom:0!important;width:100%}
