:root{ --tot-green:#619702; --tot-green-dark:#476e01; --tot-ink:#22301a; }

/* ---------- product & category loops: modern card grid ---------- */
ul.products{display:grid !important;grid-template-columns:repeat(4,1fr);gap:26px;width:100%;margin:0 0 2em;}
ul.products.columns-2{grid-template-columns:repeat(2,1fr);}
ul.products.columns-3{grid-template-columns:repeat(3,1fr);}
ul.products li.product{width:100% !important;float:none !important;margin:0 !important;background:#fff;border:1px solid #ececec;border-radius:14px;padding:12px 12px 18px;text-align:center;display:flex;flex-direction:column;transition:box-shadow .2s ease,transform .2s ease;}
ul.products li.product:hover{box-shadow:0 10px 28px rgba(34,48,26,.12);transform:translateY(-3px);border-color:#dfe7d3;}
ul.products li.product a img{aspect-ratio:1/1;object-fit:cover;width:100%;border-radius:10px;margin:0 0 4px;}
ul.products li.product .woocommerce-loop-product__title{font-size:1rem;font-weight:600;line-height:1.35;color:var(--tot-ink);margin:.55em 0 .2em;padding:0;}
ul.products li.product .woocommerce-loop-category__title{font-size:1.05rem;font-weight:600;line-height:1.3;color:var(--tot-ink);margin:.6em 0 0;padding:0;}
ul.products li.product .woocommerce-loop-category__title mark.count{display:block;background:none;color:#8a8a8a;font-size:.78rem;font-weight:400;margin-top:2px;}
ul.products li.product .price{color:var(--tot-green-dark);font-weight:600;font-size:.98rem;margin:.15em 0 .4em;}
ul.products li.product .price del{color:#9aa;font-weight:400;}
.tot-from{font-size:.82em;color:#777;font-weight:400;margin-right:2px;}
ul.products li.product .button{margin-top:auto;align-self:center;display:inline-block;white-space:nowrap;width:auto;line-height:1;padding:.7em 1.5em;border-radius:999px;font-size:.82rem;letter-spacing:.04em;}
ul.products li.product .added_to_cart{margin-top:6px;font-size:.85rem;}
@media(max-width:921px){ul.products,ul.products.columns-3,ul.products.columns-4{grid-template-columns:repeat(2,1fr);gap:14px;}}
@media(max-width:544px){ul.products li.product .button{padding:.65em 1.1em;font-size:.78rem;}}

/* ---------- shop header / toolbar ---------- */
.woocommerce-products-header__title.page-title{font-size:2rem;color:var(--tot-ink);}
.woocommerce-result-count{color:#888;font-size:.88rem;}
.woocommerce-ordering select{border-radius:8px;padding:.45em 2em .45em .8em;border:1px solid #ddd;}
nav.woocommerce-pagination{margin-top:1.5em;text-align:center;}
nav.woocommerce-pagination ul{border:none;display:inline-flex;gap:6px;}
nav.woocommerce-pagination ul li{border:none;}
nav.woocommerce-pagination ul li a,nav.woocommerce-pagination ul li span{border:1px solid #e2e2e2;border-radius:8px;padding:.55em .95em;line-height:1;}
nav.woocommerce-pagination ul li span.current{background:var(--tot-green);color:#fff;border-color:var(--tot-green);}

/* ---------- single product ---------- */
.woocommerce div.product p.price{font-size:1.45rem;color:var(--tot-green-dark);font-weight:700;}
.woocommerce div.product table.variations{margin-bottom:.75em;}
.woocommerce div.product table.variations th.label{padding-right:12px;font-weight:600;}
.woocommerce div.product table.variations select{border-radius:10px;padding:.55em 2.2em .55em .9em;border:1.5px solid #cfd8c2;background-color:#fff;font-size:.95rem;max-width:100%;}
.woocommerce div.product form.cart .woocommerce-variation-price .price{font-size:1.5rem;}
.woocommerce div.product form.cart div.quantity .qty{border-radius:10px;border:1.5px solid #cfd8c2;height:46px;width:70px;}
.woocommerce div.product form.cart .single_add_to_cart_button{border-radius:999px;padding:.95em 2.4em;font-size:.95rem;letter-spacing:.05em;white-space:nowrap;}
.woocommerce div.product .reset_variations{font-size:.8rem;color:#999;}
.tot-trust{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;padding-top:12px;border-top:1px solid #eee;width:100%;}
.tot-trust span{font-size:.85rem;color:#4a5a3a;white-space:nowrap;}
.related.products>h2,.up-sells.products>h2{font-size:1.5rem;font-weight:600;color:var(--tot-ink);margin-bottom:1em;text-align:left;}
.woocommerce-product-details__short-description{color:#444;line-height:1.7;}
.woocommerce div.product .product_meta{font-size:.85rem;color:#888;}

/* ---------- homepage (UAGB sections) ---------- */
.uagb-heading-text{text-align:center;}
.wp-block-uagb-info-box .uagb-ifb-desc{font-size:.95rem;line-height:1.7;}
/* hero infobox title lost its white color when stale CCSS was rebuilt */
.uagb-block-86615fd6 .uagb-ifb-title{color:#fff;}
/* parallax band: fixed attachment fails on many mobile browsers - use scroll */
.wp-block-uagb-container{background-attachment:scroll !important;}

/* ---------- footer ---------- */
.tot-footer{background:#1f2a16;color:#cfd8c2;padding:48px 20px 40px;}
.tot-footer-inner{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;}
.tot-footer p{margin:0 0 .5em;font-size:.9rem;line-height:1.65;}
.tot-footer-logo{font-size:1.15rem;font-weight:700;color:#fff;letter-spacing:.02em;}
.tot-footer-head{font-weight:600;color:#fff;font-size:.92rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.9em;}
.tot-footer a{display:block;color:#cfd8c2;font-size:.9rem;line-height:2;text-decoration:none;}
.tot-footer a:hover{color:#fff;text-decoration:underline;}
@media(max-width:768px){.tot-footer-inner{grid-template-columns:1fr 1fr;gap:24px;}.tot-footer-brand{grid-column:1/-1;}}
.site-footer .ast-builder-grid-row,.site-below-footer-wrap{background:#182110 !important;}
.site-footer .ast-builder-grid-row .ast-builder-html-element,.site-footer p{color:#9fac8d;font-size:.8rem;}

/* ---------- misc ---------- */
.woocommerce-breadcrumb{font-size:.82rem;color:#999;}
.woocommerce-store-notice{background:var(--tot-green);}
/* mobile: benefits info-box titles were breaking mid-word in a narrow column */
@media(max-width:768px){
  .wp-block-uagb-info-box .uagb-ifb-title-wrap,
  .wp-block-uagb-info-box .uagb-ifb-title{width:100% !important;max-width:100% !important;word-break:normal !important;overflow-wrap:normal !important;}
  .wp-block-uagb-info-box .uagb-ifb-title{font-size:1.2rem;}
}

/* ---------- announcement bar ---------- */
.tot-topbar{background:var(--tot-green-dark);color:#fff;text-align:center;font-size:.82rem;letter-spacing:.04em;padding:.55em 12px;font-weight:500;}

/* ---------- brewing guide tab ---------- */
.tot-brew-steps{margin:0 0 1em;padding-left:1.2em;}
.tot-brew-steps li{margin-bottom:.55em;line-height:1.65;}
.tot-brew-note{color:#777;font-size:.9rem;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-weight:600;}

/* ---------- cart / checkout polish ---------- */
.woocommerce table.shop_table{border:1px solid #ececec;border-radius:12px;}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-color:#f0f0f0;}
.woocommerce .cart .button,.woocommerce .cart input.button,.woocommerce a.checkout-button{border-radius:999px !important;}
.woocommerce a.checkout-button{background:var(--tot-green) !important;font-size:1.05rem !important;}
.woocommerce .cart_totals h2{font-size:1.2rem;}
.woocommerce-cart .cross-sells>h2{font-size:1.35rem;font-weight:600;}

/* ---------- category archive description ---------- */
.woocommerce-products-header .term-description{max-width:760px;color:#666;font-size:.95rem;line-height:1.7;margin-top:.4em;}
