@font-face {
	font-family: "Neue Haas Unica W1G";
	src: url("../assets/font/Neue-Haas-Unica-W1G.ttf") format("truetype");
	font-weight: normal;
	font-style: normal;
}

:root {
	--gray: #757575;
	--dark-red: #7f302c;
	--red: #95282c;
	--light-beige: #f6f1eb;
	--reddish-brown: #7d321b;
	--cream: #fffcf7;
	--dark-gray: #5f5f5f;
	--warm-beige: #f2e8de;
	--pale-beige: #f6eadc;
	--deep-red: #972027;
	--white: #ffffff;
	--warm-gray: #d8d4cf;
	--deep-blue: #3273dc;
}

body {
	word-wrap: break-word;
	font-family: "Neue Haas Unica W1G";
	font-style: normal;
	line-height: 1.5;
}

/* Text colors */
.text_gray {
	color: var(--gray);
}
.text_dark-red {
	color: var(--dark-red);
}
.text_red {
	color: var(--red);
}
.text_light-beige {
	color: var(--light-beige);
}
.text_reddish-brown {
	color: var(--reddish-brown);
}

.text_dark-gray,
.text_dark-gray span {
	color: var(--dark-gray);
}

.text_black,
.text_black span {
	color: #000;
}

.text_deep-blue {
	color: var(--deep-blue);
}

/* Background colors */
.bg_gray {
	background: var(--gray);
}
.bg_dark-red {
	background: var(--dark-red);
}
.bg_red {
	background: var(--red);
}
.bg_light-beige {
	background: var(--light-beige);
}
.bg_reddish-brown {
	background: var(--reddish-brown);
}

.bg_cream {
	background: var(--cream);
}

.bg_warm-beige {
	background: var(--warm-beige);
}

.bg_pale-beige {
	background: var(--pale-beige);
}

.bg_white {
	background: var(--white) !important;
}

p.text-white.text-center {
	font-size: clamp(0.75rem, 0.6966rem + 0.1487vw, 0.875rem); /* 14 12 */
	font-weight: 400;
	/* line-height: 21px; */
}

section p,
.single-product-encyclopedia section td {
	font-size: clamp(0.875rem, 0.6783rem + 0.5951vw, 1.25rem); /* 20 14 */
	font-weight: 400;
	/* line-height: 30px; */
	margin-bottom: 30px;
}

section p a:not(.post-recipe-item a) {
	color: var(--red);
	text-decoration: underline;
	text-underline-offset: 5px;
	text-decoration-thickness: 1px;
}

p:last-of-type {
	margin-bottom: 0;
}

section li {
	font-size: clamp(0.875rem, 0.6783rem + 0.5951vw, 1.25rem); /* 20 14 */
	font-weight: 400;
	margin-bottom: 30px;
}

section.legal li {
	list-style: disc;
}

section li:last-of-type {
	margin-bottom: 0;
}

section ol:not(section.legal ol) {
	list-style: auto;
	list-style-position: inside;
}

.text_32,
.text_32 p,
.text_32 li {
	font-size: clamp(1.125rem, 0.7509rem + 1.0409vw, 2rem) !important; /* 32 18 */
}

.text_18,
.text_18 p,
.text_18 li {
	font-size: clamp(
		0.875rem,
		0.7681rem + 0.2974vw,
		1.125rem
	) !important; /* 18 14 */
}

.text_16,
.text_16 p,
.text_16 li {
	font-size: clamp(0.875rem, 0.8216rem + 0.1487vw, 1rem); /* 16 14 */
}

.text_24,
.text_24 p,
.text_24 li {
	font-size: clamp(0.875rem, 0.6078rem + 0.7435vw, 1.5rem); /* 24 14 */
}

.text_20,
.text_20 p,
.text_20 li {
	font-size: clamp(0.875rem, 0.6783rem + 0.5951vw, 1.25rem); /* 20 14 */
}

h2,
.h2,
h1,
.h1 {
	font-size: clamp(1.25rem, 0.7156rem + 1.487vw, 2.5rem); /* 40 20 */
	font-weight: 400;
	/* line-height: 60px; */
}

h4,
.h4,
h3,
.h3 {
	font-size: clamp(0.875rem, 0.6783rem + 0.5951vw, 1.25rem); /* 20 14 */
	font-weight: 400;
	/* line-height: 28.74px; */
}

img {
	max-width: 100%;
	height: auto;
}

.wrapper {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
}

::-webkit-scrollbar-thumb {
	background: var(--red);
}

/* For Firefox */
* {
	scrollbar-width: thin; /* "auto" or "thin" */
	scrollbar-color: var(--red) #f1f1f1; /* thumb color + track color */
}

input:focus-visible,
textarea:focus-visible {
	outline: none;
}

.bg_red input {
	background: var(--white);
	color: var(--gray);
}

a.cta,
button.cta {
	font-size: clamp(0.875rem, 0.8216rem + 0.1487vw, 1rem); /* 16 14 */
	padding: 20px 17px;
	background: var(--red);
	color: var(--white);
	border: 1px solid var(--red);
	text-align: center;
}

a.cta:hover,
button.cta:hover {
	background: white;
	color: var(--red);
	border: 1px solid var(--red);
}

.owl-stage {
	display: flex;
}

hr {
	color: var(--warm-gray);
	margin: 25px 0;
}

.productCarousel_next_button,
.productCarousel_prev_button {
	position: absolute;
	top: 50%;
	background: none;
	border: none;
	cursor: pointer;
	z-index: 10;
}

.productCarousel_next_button {
	right: -40px;
}

.productCarousel_prev_button {
	left: -40px;
}

.aligncenter {
	justify-self: center;
	place-self: center;
}

td span,
ul span:not(ul.wpm-language-switcher span),
ol span {
	color: var(--red);
}

section ul {
	list-style: outside;
	padding-left: 20px;
}

.single-wellness-kitchen td {
	align-content: start;
}

.single-wellness-kitchen table {
	margin-top: 30px;
}

.single-wellness-kitchen tbody {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

@media (max-width: 1299px) {
	.productCarousel_next_button {
		right: -20px;
	}

	.productCarousel_prev_button {
		left: -20px;
	}
}

@media (max-width: 768px) {
	tbody {
		gap: 20px;
	}
}

/* custom input */

/* ================================
   HIDE NATIVE CHECKBOX (SAFE)
================================ */
input[type="checkbox"]:not(#ship-to-different-address-checkbox) {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	width: 20px;
	height: 20px;
	z-index: 2; /* ← ADD THIS: Put checkbox above the pseudo-element */
}

/* ================================
   COMMON LABEL STYLING
================================ */
.woocommerce label.checkbox,
.woocommerce .woocommerce-form__label.checkbox,
.category-toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	line-height: 1.5;
}

/* Span styling */
input[type="checkbox"]:not(#ship-to-different-address-checkbox) + span {
	position: relative;
	padding-left: 28px;
}

/* Checkbox box */
input[type="checkbox"] + span::before {
	content: "";
	position: absolute;
	left: -3px;
	top: 8px;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	border: 1px solid rgba(149, 40, 44, 0.5);
	background: #fff;
	border-radius: 2px;
	transition: all 0.2s ease;
	pointer-events: none; /* ← ADD THIS: Prevent pseudo-element from blocking clicks */
	z-index: 1; /* ← ADD THIS: Keep it below the actual checkbox */
}

#ship-to-different-address-checkbox + span::before {
	display: none;
}

/* Checked background */
input[type="checkbox"]:not(#ship-to-different-address-checkbox):checked
	+ span::before {
	background: #b85c5c;
	border-color: #b85c5c;
}

/* Checkmark */
input[type="checkbox"]:not(#ship-to-different-address-checkbox):checked
	+ span::after {
	content: "✓";
	position: absolute;
	left: 2.5px;
	top: 8px;
	transform: translateY(-50%);
	font-size: 14px;
	color: #fff;
	font-weight: bold;
	pointer-events: none; /* ← ADD THIS: Prevent checkmark from blocking clicks */
	z-index: 1;
}

/* ================================
   RADIO BUTTON STYLING
================================ */
.woocommerce input[type="radio"],
input[type="radio"] {
	position: relative;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 16px;
	height: 16px;
	border: 1px solid rgba(149, 40, 44, 0.5);
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
	transition: all 0.2s ease;
	flex-shrink: 0;
}

/* Hover state */
input[type="radio"]:hover {
	border-color: rgba(149, 40, 44, 0.8);
}

/* Checked state - outer circle */
input[type="radio"]:checked {
	border-color: #b85c5c;
	background: #fff;
}

/* Checked state - inner dot */
input[type="radio"]:checked::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #b85c5c;
}

/* Focus state for accessibility */
input[type="radio"]:focus {
	outline: none;
	box-shadow: 0 0 0 2px rgba(184, 92, 92, 0.2);
}

/* Disabled state */
input[type="radio"]:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}
