:root {
	--viridian-teal: #068994;
	--viridian-green: #108474;
	--viridian-dark: #1e2e1c;
	--viridian-light: #f6f5f2;
	--viridian-sand: #cabeac;
	--viridian-peach: #f6e8d8;
	--viridian-text: #231f20;
	--viridian-line: #e8e4dc;
	--viridian-font-body: 'Assistant', 'Segoe UI', Arial, sans-serif;
	--viridian-font-display: 'Assistant', sans-serif;
}

/* ---------- Base WooCommerce overrides: one visual language across every page ---------- */

body.woocommerce-page,
body.single-product,
.woocommerce {
	font-family: var(--viridian-font-body);
	color: var(--viridian-text);
}

.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.wc-block-components-button,
.wp-block-button__link.wc-block-components-button {
	background: var(--viridian-teal) !important;
	color: #fff !important;
	border-radius: 999px !important;
	padding: 13px 30px !important;
	font-family: var(--viridian-font-body);
	font-weight: 600;
	font-size: 16px;
	line-height: 1.2;
	border: 0;
	transition: background 0.2s ease;
}

.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.wc-block-components-button:hover {
	background: var(--viridian-green) !important;
	color: #fff !important;
}

.woocommerce .button.disabled,
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] {
	background: var(--viridian-sand) !important;
	color: #fff !important;
	opacity: 1;
}

.woocommerce .quantity .qty {
	border: 1px solid var(--viridian-line);
	border-radius: 999px;
	padding: 11px 8px;
	font-family: var(--viridian-font-body);
	font-size: 16px;
	width: 4.5em;
}

.woocommerce div.product form.cart .variations td.label,
.woocommerce div.product form.cart .variations th.label {
	font-family: var(--viridian-font-body);
	font-weight: 600;
	color: var(--viridian-dark);
	padding-inline-end: 12px;
}

.woocommerce div.product form.cart .variations select,
.woocommerce div.product form.cart .variations td.value select {
	border: 1px solid var(--viridian-line);
	border-radius: 999px;
	padding: 10px 40px 10px 16px;
	font-family: var(--viridian-font-body);
	font-size: 16px;
	min-width: 220px;
	background-color: #fff;
}

.woocommerce div.product form.cart .reset_variations {
	font-size: 13px;
	color: var(--viridian-teal);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.elementor-widget-woocommerce-product-price .price {
	color: var(--viridian-dark);
	font-family: var(--viridian-font-body);
	font-size: 26px;
	font-weight: 600;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del,
.woocommerce ul.products li.product .price del {
	color: #8f8b84;
	font-weight: 400;
	font-size: 0.75em;
	opacity: 1;
}

.woocommerce div.product p.price ins,
.woocommerce ul.products li.product .price ins {
	color: var(--viridian-teal);
	text-decoration: none;
}

.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
	background: var(--viridian-teal);
	color: #fff;
	border-radius: 999px;
	font-family: var(--viridian-font-body);
	font-weight: 600;
	font-size: 13px;
	min-height: 0;
	min-width: 0;
	line-height: 1;
	padding: 8px 14px;
	inset-inline-end: 12px;
	inset-inline-start: auto;
	top: 12px;
	margin: 0;
}

.woocommerce .star-rating,
.woocommerce .star-rating span::before {
	color: var(--viridian-teal);
}

.woocommerce .woocommerce-breadcrumb {
	font-family: var(--viridian-font-body);
	font-size: 14px;
	color: #8f8b84;
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--viridian-teal);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	border-top-color: var(--viridian-teal);
	background: var(--viridian-light);
	font-family: var(--viridian-font-body);
	border-radius: 8px;
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--viridian-teal);
}

/* Cart / checkout blocks and classic tables */

.wc-block-components-product-name,
.wc-block-cart-item__wrap,
.wc-block-components-totals-item,
.wc-block-components-checkout-step__title,
.wc-block-components-title,
.woocommerce table.shop_table,
.woocommerce-checkout h3,
.woocommerce-cart h2,
.woocommerce-checkout h2 {
	font-family: var(--viridian-font-body) !important;
	color: var(--viridian-text);
}

.wc-block-components-checkout-step__title,
.wc-block-components-title,
.woocommerce-checkout h3,
.woocommerce-cart h2,
.woocommerce-checkout h2 {
	font-family: var(--viridian-font-display) !important;
	color: var(--viridian-dark);
}

.woocommerce table.shop_table {
	border: 1px solid var(--viridian-line);
	border-radius: 12px;
}

.woocommerce table.shop_table th {
	background: var(--viridian-light);
}

.wc-block-components-order-summary__button-text,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--viridian-dark);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.wc-block-components-text-input input,
.wc-block-components-country-input input,
.wc-block-components-state-input input {
	border: 1px solid var(--viridian-line);
	border-radius: 10px;
	padding: 12px 14px;
	font-family: var(--viridian-font-body);
}

.woocommerce form .form-row input.input-text:focus,
.wc-block-components-text-input input:focus {
	border-color: var(--viridian-teal);
	box-shadow: 0 0 0 2px rgba(6, 137, 148, 0.15);
	outline: none;
}

/* My account */

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
	border: 1px solid var(--viridian-line);
	border-radius: 12px;
	overflow: hidden;
}

.woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 12px 18px;
	color: var(--viridian-text);
	text-decoration: none;
	border-bottom: 1px solid var(--viridian-line);
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
	background: var(--viridian-light);
	color: var(--viridian-teal);
}

/* ---------- Product loop cards ---------- */

.viridian-card {
	background: #fff;
	border: 1px solid var(--viridian-line);
	border-radius: 16px;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
	height: 100%;
}

.viridian-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgba(30, 46, 28, 0.08);
	border-color: var(--viridian-sand);
}

.viridian-card .elementor-widget-theme-post-featured-image img {
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: var(--viridian-light);
	width: 100%;
}

.viridian-card .elementor-widget-woocommerce-product-price .price {
	font-size: 19px;
}

.viridian-card .elementor-widget-woocommerce-product-add-to-cart .cart,
.viridian-card .elementor-widget-woocommerce-product-add-to-cart form.cart {
	margin: 0;
}

.viridian-card .elementor-widget-woocommerce-product-add-to-cart .quantity {
	display: none;
}

.viridian-card .elementor-widget-woocommerce-product-add-to-cart .button {
	width: 100%;
	text-align: center;
	padding: 11px 20px !important;
	font-size: 15px;
}

.viridian-card .elementor-widget-woocommerce-product-add-to-cart .variations,
.viridian-card .elementor-widget-woocommerce-product-add-to-cart .woocommerce-variation {
	display: none;
}

/* ---------- Product page pieces ---------- */

.viridian-ingredients-wrap {
	overflow-x: auto;
}

.viridian-ingredients-wrap table {
	width: 100%;
	border-collapse: collapse;
	text-align: right;
	font-family: var(--viridian-font-body);
	font-size: 15px;
}

.viridian-ingredients-wrap th,
.viridian-ingredients-wrap td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--viridian-line);
	text-align: right;
	vertical-align: top;
}

.viridian-ingredients-wrap th {
	background: var(--viridian-light);
	font-weight: 700;
	color: var(--viridian-dark);
}

.viridian-ingredients-wrap td:nth-child(2),
.viridian-ingredients-wrap td:nth-child(3),
.viridian-ingredients-wrap th:nth-child(2),
.viridian-ingredients-wrap th:nth-child(3) {
	white-space: nowrap;
	width: 1%;
}

.viridian-field p:last-child {
	margin-bottom: 0;
}

.viridian-icon-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	text-align: center;
}

@media (max-width: 767px) {
	.viridian-icon-cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

.viridian-icon-card {
	background: #fff;
	border-radius: 16px;
	padding: 28px 18px;
	border: 1px solid var(--viridian-line);
}

.viridian-icon-card__icon,
.viridian-trust__icon,
.viridian-whatsapp__icon {
	display: inline-block;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--viridian-light) no-repeat center / 24px 24px;
	margin-bottom: 14px;
}

.viridian-icon-card__icon--user { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23068994' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E"); }
.viridian-icon-card__icon--calendar { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23068994' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.viridian-icon-card__icon--pill { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23068994' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='9' width='18' height='8' rx='4' transform='rotate(-35 12 13)'/%3E%3Cpath d='M9 8l6 9'/%3E%3C/svg%3E"); }
.viridian-icon-card__icon--clock { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23068994' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.viridian-trust__icon--shield { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23068994' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4.5-3 8-7 9-4-1-7-4.5-7-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.viridian-trust__icon--truck { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23068994' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h11v9H3zM14 10h4l3 3v3h-7z'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3C/svg%3E"); }
.viridian-trust__icon--chat,
.viridian-whatsapp__icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23068994' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H8l-4 4z'/%3E%3C/svg%3E"); }

.viridian-icon-card__title {
	font-family: var(--viridian-font-display);
	font-size: 1.15rem;
	font-weight: 700;
	margin: 0 0 8px;
	color: var(--viridian-dark);
}

.viridian-icon-card__text {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
}

.viridian-reasons {
	background: var(--viridian-peach);
	border-radius: 20px;
	padding: 40px;
}

.viridian-reasons__title {
	font-family: var(--viridian-font-display);
	font-size: 2rem;
	color: var(--viridian-dark);
	margin: 0 0 20px;
}

.viridian-reasons__title em {
	color: var(--viridian-teal);
	font-style: italic;
}

.viridian-reasons ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px 32px;
}

@media (max-width: 767px) {
	.viridian-reasons ul {
		grid-template-columns: 1fr;
	}
}

.viridian-reasons li {
	position: relative;
	padding-inline-start: 28px;
	font-size: 17px;
}

.viridian-reasons li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: 0.45em;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--viridian-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") no-repeat center / 10px 10px;
}

.viridian-badges {
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 0.8rem;
	color: var(--viridian-teal);
	font-weight: 700;
	margin: 0 0 6px;
}

.viridian-trust {
	list-style: none;
	margin: 0;
	padding: 20px 0 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	border-top: 1px solid var(--viridian-line);
	text-align: center;
	font-size: 14px;
}

.viridian-trust__icon {
	display: block;
	margin: 0 auto 8px;
	width: 44px;
	height: 44px;
}

.viridian-whatsapp {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #25d366;
	color: #fff !important;
	padding: 8px 22px 8px 8px;
	border-radius: 999px;
	font-weight: 600;
	text-decoration: none;
	font-family: var(--viridian-font-body);
}

.viridian-whatsapp .viridian-whatsapp__icon {
	width: 36px;
	height: 36px;
	margin: 0;
	background-color: rgba(255, 255, 255, 0.18);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H8l-4 4z'/%3E%3C/svg%3E");
	background-size: 20px 20px;
}

.viridian-whatsapp-float {
	position: fixed;
	inset-inline-start: 22px;
	bottom: 22px;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: #25d366;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.2s ease;
}

.viridian-whatsapp-float:hover {
	transform: scale(1.06);
}

.viridian-whatsapp-float .viridian-whatsapp__icon {
	width: 30px;
	height: 30px;
	margin: 0;
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5.1-1.3A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.2-1.1l-.3-.2-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2zm4.5-6.1c-.2-.1-1.5-.7-1.7-.8-.2-.1-.4-.1-.6.1l-.8 1c-.1.2-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.3-.4.2-.4.7-1.3.1-.2 0-.3 0-.5l-.8-1.8c-.2-.5-.4-.4-.6-.4h-.5c-.2 0-.5.1-.7.3-.2.3-.9.9-.9 2.2s.9 2.5 1.1 2.7c.1.2 1.8 2.8 4.5 3.9 1.7.7 2.3.8 3.1.6.5-.1 1.5-.6 1.7-1.2.2-.6.2-1.1.1-1.2l-.5-.3z'/%3E%3C/svg%3E");
	background-size: 30px 30px;
}

.viridian-shipping-bar {
	background: var(--viridian-peach);
	padding: 12px 18px;
	border-radius: 999px;
	margin: 0 0 16px;
	text-align: center;
	font-family: var(--viridian-font-body);
}

.viridian-shipping-bar--free {
	background: var(--viridian-light);
	color: var(--viridian-green);
	font-weight: 600;
}

/* Reviews tab stripped down to reviews only */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: none;
}

.woocommerce div.product .woocommerce-tabs .panel {
	margin: 0;
}

.woocommerce #reviews #comments h2,
.woocommerce #review_form #respond .comment-reply-title {
	font-family: var(--viridian-font-display);
	color: var(--viridian-dark);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
	border-color: var(--viridian-line);
	border-radius: 12px;
}

/* Elementor mega menu panel polish */
.e-n-menu-content .elementor-nav-menu--layout-vertical a {
	padding-inline-start: 0;
}

/* Hello theme: remove default header/footer spacing conflicts */
.site-header, .site-footer {
	display: none;
}
