/* WooCommerce bridge for the Terroir visual language. */
.woocommerce-bys{padding:clamp(48px,7vw,90px) 0}.woocommerce .woocommerce-breadcrumb{font-size:12px;color:var(--muted);margin-bottom:28px}.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:clamp(30px,5vw,70px)}.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto;float:none}.woocommerce div.product .product_title{font-size:clamp(34px,4.7vw,60px);color:var(--forest)}.woocommerce div.product p.price,.woocommerce div.product span.price{font-family:'Cormorant Garamond',serif;font-size:30px;color:var(--darj-brown)}.woocommerce div.product form.cart .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--forest)!important;color:var(--cream)!important;border-radius:0!important;padding:14px 22px!important;font-weight:600!important}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important}.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0!important;background:transparent!important}.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom:1px solid var(--rule)!important}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}.woocommerce ul.products li.product{width:auto!important;margin:0!important;background:var(--paper);border:1px solid var(--rule);padding:16px!important}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:'Cormorant Garamond',serif;font-size:23px!important;color:var(--forest)}.woocommerce ul.products li.product .price{color:var(--darj-brown)!important}.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--gold)!important;background:var(--paper)!important}.woocommerce-message::before,.woocommerce-info::before{color:var(--forest)!important}@media(max-width:800px){.woocommerce div.product{grid-template-columns:1fr}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.woocommerce ul.products{grid-template-columns:1fr}}
/* WordPress menu markup bridge. */
.mainnav>li{list-style:none;position:relative}.mainnav>li>a{font-size:12.5px;letter-spacing:.06em;color:var(--forest);text-decoration:none;padding:8px 0;position:relative;white-space:nowrap}.mainnav>li>a::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}.mainnav>li:hover>a::after{transform:scaleX(1);transform-origin:left}.mainnav .sub-menu{position:absolute;top:100%;left:50%;transform:translate(-50%,8px);min-width:250px;background:var(--paper);border:1px solid var(--rule);box-shadow:0 28px 54px -30px rgba(27,67,50,.45);padding:14px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s var(--ease),transform .28s var(--ease);list-style:none}.mainnav li:hover>.sub-menu,.mainnav li:focus-within>.sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.mainnav .sub-menu a{display:block;padding:8px 12px;font-size:13px;color:var(--forest);text-decoration:none}.mainnav .sub-menu a:hover{background:rgba(27,67,50,.06)}

/* Migration fixes. Keep all text readable when animation scripts fail. */
.primary-menu{display:flex;align-items:center;gap:clamp(12px,2vw,26px);list-style:none;margin:0;padding:0}
.primary-menu>li{list-style:none;position:relative}
.primary-menu>li>a{display:block;font-size:12.5px;letter-spacing:.06em;text-decoration:none;padding:8px 0}
.woocommerce div.product>.woocommerce-tabs,.woocommerce div.product>.related,.woocommerce div.product>.upsells{grid-column:1/-1}
.woocommerce div.product form.cart .variations select{max-width:100%;min-height:44px;border:1px solid var(--rule);padding:8px;background:var(--paper)}
.woocommerce .quantity .qty{min-height:46px;width:5em}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.search-field{width:100%;min-height:46px;padding:10px;border:1px solid var(--rule);background:var(--paper);font:inherit}
.search-form{display:flex;gap:12px;align-items:end;margin:24px 0}.search-form label{flex:1}.search-submit{padding:12px 18px;background:var(--forest);color:var(--cream);border:0;min-height:46px}
.rte{overflow-wrap:anywhere}.rte img{max-width:100%;height:auto}.rte table{display:block;max-width:100%;overflow-x:auto}
body.admin-bar .site-head{top:32px}#drawer[inert]{visibility:hidden}#drawer[data-open="1"]{visibility:visible}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.cf:not(.is-enhanced) .cf-track{position:relative;display:flex;gap:24px;overflow-x:auto;padding:16px;transform:none;height:auto}
.cf:not(.is-enhanced) .cf-card{position:relative;flex:0 0 min(75vw,300px);left:auto;top:auto;transform:none;opacity:1}
@media(max-width:782px){body.admin-bar .site-head{top:46px}.woocommerce-cart .wrap,.woocommerce-checkout .wrap{padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){.cf-card,.btn3d,#drawer{transition:none!important}}
