@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Roboto:wght@500;600;700&display=swap");

/* ==========================================================================
   TrustPack Collections — isolated from Elementor / theme CSS
   ========================================================================== */

.tpc-wrap {
	--tpc-ink: #081e24;
	--tpc-ink-2: #03141c;
	--tpc-muted: #424f56;
	--tpc-border: #d7e0e0;
	--tpc-green: #33b544;
	--tpc-green-soft: #d7f5d7;
	--tpc-green-deep: #1f8f2f;
	--tpc-bg: #ffffff;
	--tpc-radius: 20px;
	--tpc-font: "Inter", system-ui, sans-serif;
	--tpc-display: "Roboto", "Inter", system-ui, sans-serif;

	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 1540px !important;
	margin: 0 auto !important;
	padding: 48px 24px !important;
	font-family: var(--tpc-font) !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
	color: var(--tpc-ink) !important;
	background: transparent !important;
	text-align: left !important;
}

.tpc-wrap *,
.tpc-wrap *::before,
.tpc-wrap *::after {
	box-sizing: border-box !important;
}

.tpc-wrap h1,
.tpc-wrap h2,
.tpc-wrap h3,
.tpc-wrap h4,
.tpc-wrap p,
.tpc-wrap span,
.tpc-wrap a,
.tpc-wrap strong,
.tpc-wrap small,
.tpc-wrap label {
	font-family: inherit !important;
	text-shadow: none !important;
	box-shadow: none !important;
}

.tpc-wrap button,
.tpc-wrap .tpc-pill,
.tpc-wrap .tpc-reset,
.tpc-wrap .tpc-tabs__btn,
.tpc-wrap .tpc-btn {
	appearance: none !important;
	-webkit-appearance: none !important;
	font-family: var(--tpc-font) !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	text-decoration: none !important;
	box-shadow: none !important;
	outline: none !important;
	transform: none !important;
	filter: none !important;
	float: none !important;
	min-height: 0 !important;
	line-height: inherit !important;
}

.tpc-wrap img {
	border: 0 !important;
	box-shadow: none !important;
	max-width: 100% !important;
}

.tpc-wrap .tpc-listing__layout {
	display: grid !important;
	grid-template-columns: 340px minmax(0, 1fr) !important;
	gap: 53px !important;
	align-items: start !important;
}

.tpc-wrap .tpc-filters__card {
	background: var(--tpc-bg) !important;
	border: 1px solid var(--tpc-border) !important;
	border-radius: var(--tpc-radius) !important;
	padding: 21px 21px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 16px !important;
	position: sticky !important;
	top: 24px !important;
	width: 100% !important;
	max-width: 340px !important;
	height: auto !important;
	min-height: 0 !important;
}

.tpc-wrap .tpc-filter-group {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	padding: 8px 0 !important;
	margin: 0 !important;
	width: 100% !important;
}

.tpc-wrap .tpc-filter-group.is-hidden {
	display: none !important;
}

.tpc-wrap .tpc-filters__title {
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--tpc-display) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 28px !important;
	letter-spacing: -0.18px !important;
	color: var(--tpc-ink) !important;
	background: transparent !important;
	border: 0 !important;
}

.tpc-wrap .tpc-filter-group__label {
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--tpc-display) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 20px !important;
	letter-spacing: 0.7px !important;
	text-transform: uppercase !important;
	color: var(--tpc-muted) !important;
	background: transparent !important;
	border: 0 !important;
}

.tpc-wrap .tpc-pills {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
}

.tpc-wrap .tpc-pill {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border: 1px solid var(--tpc-border) !important;
	background: #fff !important;
	border-radius: 999px !important;
	padding: 7px 13px !important;
	margin: 0 !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 16px !important;
	color: var(--tpc-ink) !important;
	cursor: pointer !important;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
}

.tpc-wrap .tpc-pills--lg .tpc-pill {
	font-size: 14px !important;
	padding: 8px 16px !important;
}

.tpc-wrap .tpc-pill:hover:not(.is-disabled):not(:disabled),
.tpc-wrap .tpc-pill:focus:not(.is-disabled):not(:disabled),
.tpc-wrap .tpc-pill.is-active:not(.is-disabled):not(:disabled) {
	background: var(--tpc-green-soft) !important;
	border-color: var(--tpc-green) !important;
	color: var(--tpc-ink-2) !important;
	box-shadow: none !important;
	transform: none !important;
}

.tpc-wrap .tpc-pill.is-disabled,
.tpc-wrap .tpc-pill:disabled {
	opacity: 0.38 !important;
	cursor: not-allowed !important;
	background: #f4f6f6 !important;
	border-color: var(--tpc-border) !important;
	color: #7a868c !important;
	pointer-events: none !important;
}

.tpc-wrap .tpc-reset {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	width: 100% !important;
	padding: 12px 23px !important;
	border: 1px solid var(--tpc-border) !important;
	border-radius: 9999px !important;
	background: #fff !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 20px !important;
	color: var(--tpc-ink-2) !important;
	cursor: pointer !important;
	text-align: center !important;
}

.tpc-wrap .tpc-reset:hover,
.tpc-wrap .tpc-reset:focus {
	background: #f7f9f9 !important;
	border-color: var(--tpc-border) !important;
	color: var(--tpc-ink) !important;
	box-shadow: none !important;
}

.tpc-wrap .tpc-top-cats {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	margin: 0 0 28px !important;
	padding: 0 !important;
}

.tpc-wrap .tpc-top-cats__label {
	font-size: 22px !important;
	font-weight: 600 !important;
	letter-spacing: 0.8px !important;
	text-transform: uppercase !important;
	color: var(--tpc-muted) !important;
}

.tpc-wrap .tpc-collection-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 24px !important;
}

.tpc-wrap .tpc-card {
	background: #fff !important;
	border-radius: 18px !important;
	box-shadow: 0 12px 40px -24px rgba(8, 30, 36, 0.35) !important;
	overflow: hidden !important;
	border: 1px solid rgba(215, 224, 224, 0.7) !important;
	display: flex !important;
	flex-direction: column !important;
	margin: 0 !important;
	padding: 0 !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease !important;
}

.tpc-wrap .tpc-card:hover {
	border-color: var(--tpc-green) !important;
	box-shadow: 0 12px 30px rgba(8, 30, 36, 0.1) !important;
	transform: translateY(-2px) !important;
}

.tpc-wrap .tpc-card__media {
	display: block !important;
	aspect-ratio: 16 / 11 !important;
	background: linear-gradient(180deg, #f4f7f7 0%, #eef3f3 100%) !important;
	overflow: hidden !important;
}

.tpc-wrap .tpc-card__media img,
.tpc-wrap .tpc-product-card__media img,
.tpc-wrap .tpc-hero__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

.tpc-wrap .tpc-card__placeholder {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 180px !important;
	background: #eef3f3 !important;
}

.tpc-wrap .tpc-card__body {
	padding: 16px 18px 18px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	flex: 1 !important;
}

.tpc-wrap .tpc-card__title {
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--tpc-display) !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	background: transparent !important;
	border: 0 !important;
}

.tpc-wrap .tpc-card__title a,
.tpc-wrap .tpc-product-card__title a {
	color: inherit !important;
	text-decoration: none !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.tpc-wrap .tpc-card__subtitle {
	margin: 0 !important;
	font-size: 14px !important;
	line-height: 20px !important;
	color: var(--tpc-muted) !important;
}

.tpc-wrap .tpc-card__badges {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin-top: 4px !important;
}

.tpc-wrap .tpc-badge {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 6px 10px !important;
	border-radius: 999px !important;
	background: var(--tpc-green-soft) !important;
	color: #00601c !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	border: 0 !important;
}

.tpc-wrap .tpc-badge--products {
	color: #00601c !important;
	font-weight: 600 !important;
}

.tpc-wrap .tpc-badge--volumes {
	gap: 4px !important;
	padding: 5px 13px !important;
	background: transparent !important;
	border: 1px solid #d7e0e0 !important;
	color: #424f56 !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 16.5px !important;
}

.tpc-wrap .tpc-badge img,
.tpc-wrap .tpc-card__cta img {
	width: 12px !important;
	height: 12px !important;
	object-fit: contain !important;
}

.tpc-wrap .tpc-btn img {
	width: 16px !important;
	height: 16px !important;
	object-fit: contain !important;
}

.tpc-wrap .tpc-card__cta {
	margin-top: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	color: #00601c !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	padding-top: 8px !important;
	background: transparent !important;
	border: 0 !important;
}

.tpc-wrap .tpc-card__cta:hover,
.tpc-wrap .tpc-card__cta:focus {
	color: #00601c !important;
	opacity: 0.85 !important;
}

/* Collection products */
.tpc-wrap .tpc-collection-products__header {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
	margin-bottom: 32px !important;
}

.tpc-wrap .tpc-eyebrow {
	display: inline-flex !important;
	align-self: flex-start !important;
	padding: 6px 12px !important;
	border-radius: 999px !important;
	background: var(--tpc-green-soft) !important;
	color: var(--tpc-green-deep) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.8px !important;
	text-transform: uppercase !important;
}

.tpc-wrap .tpc-collection-products__title {
	margin: 0 !important;
	font-family: var(--tpc-display) !important;
	font-size: 40px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	color: var(--tpc-ink) !important;
}

/* "Can be filled with" block under the section title (Figma 1214:2) */
.tpc-wrap .tpc-filled-with {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
}

.tpc-wrap .tpc-filled-with__title {
	margin: 0 !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 28px !important;
	letter-spacing: -0.2px !important;
	color: #081e24 !important;
}

.tpc-wrap .tpc-filled-with__list {
	margin: 0 !important;
	padding: 6px 0 !important;
	font-family: "Inter", system-ui, sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 16px !important;
	color: #03141c !important;
}

.tpc-wrap .tpc-product-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 24px !important;
}

.tpc-wrap .tpc-product-card {
	background: #fff !important;
	border: 1px solid var(--tpc-border) !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	margin: 0 !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease !important;
}

.tpc-wrap .tpc-product-card:hover {
	border-color: var(--tpc-green) !important;
	box-shadow: 0 12px 30px rgba(8, 30, 36, 0.1) !important;
	transform: translateY(-2px) !important;
}

.tpc-wrap .tpc-product-card__media {
	display: block !important;
	aspect-ratio: 1 !important;
	background: #f7f9f9 !important;
	padding: 0 !important;
}

.tpc-wrap .tpc-product-card__media img {
	object-fit: contain !important;
}

.tpc-wrap .tpc-product-card__body {
	padding: 16px 18px 20px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

.tpc-wrap .tpc-product-card__meta {
	margin: 0 !important;
	font-size: 13px !important;
	color: #7a878d !important;
}

.tpc-wrap .tpc-product-card__title {
	margin: 0 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.tpc-wrap .tpc-product-card__desc {
	margin: 0 !important;
	font-size: 14px !important;
	line-height: 20px !important;
	color: var(--tpc-muted) !important;
}

/* Product page sections live outside .tpc-wrap sometimes — scope with .tpc-product-page */
.tpc-product-page {
	--tpc-ink: #081e24;
	--tpc-ink-2: #03141c;
	--tpc-muted: #424f56;
	--tpc-border: #d7e0e0;
	--tpc-green: #33b544;
	--tpc-green-soft: #d7f5d7;
	--tpc-green-deep: #1f8f2f;
	--tpc-font: "Inter", system-ui, sans-serif;
	--tpc-display: "Roboto", "Inter", system-ui, sans-serif;

	width: 100% !important;
	font-family: var(--tpc-font) !important;
	color: var(--tpc-ink) !important;
}

.tpc-product-page *,
.tpc-product-page *::before,
.tpc-product-page *::after {
	box-sizing: border-box !important;
}

.tpc-product-page button,
.tpc-product-page .tpc-btn,
.tpc-product-page .tpc-tabs__btn {
	appearance: none !important;
	-webkit-appearance: none !important;
	font-family: var(--tpc-font) !important;
	box-shadow: none !important;
	transform: none !important;
	filter: none !important;
	outline: none !important;
	text-transform: none !important;
}

.tpc-product-page .tpc-hero {
	background: linear-gradient(180deg, #fff8e8 0%, #ffffff 70%) !important;
	padding: 48px 24px !important;
}

.tpc-product-page .tpc-hero__inner {
	max-width: 1200px !important;
	margin: 0 auto !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 48px !important;
	align-items: center !important;
}

.tpc-product-page .tpc-hero__media {
	background: #fff !important;
	border-radius: 24px !important;
	box-shadow: 0 20px 50px -30px rgba(8, 30, 36, 0.4) !important;
	padding: 32px !important;
}

.tpc-product-page .tpc-hero__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

.tpc-product-page .tpc-tags {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin-bottom: 16px !important;
}

.tpc-wrap .tpc-breadcrumb,
.tpc-product-page .tpc-breadcrumb {
	margin: 0 0 18px !important;
	padding: 0 !important;
}

.tpc-wrap .tpc-breadcrumb__list,
.tpc-product-page .tpc-breadcrumb__list {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 8px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tpc-wrap .tpc-breadcrumb__item,
.tpc-product-page .tpc-breadcrumb__item {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--tpc-muted) !important;
}

.tpc-wrap .tpc-breadcrumb__item + .tpc-breadcrumb__item::before,
.tpc-product-page .tpc-breadcrumb__item + .tpc-breadcrumb__item::before {
	content: "/" !important;
	color: #9aa6ab !important;
}

.tpc-wrap .tpc-breadcrumb a,
.tpc-product-page .tpc-breadcrumb a {
	color: var(--tpc-ink) !important;
	text-decoration: none !important;
}

.tpc-wrap .tpc-breadcrumb a:hover,
.tpc-product-page .tpc-breadcrumb a:hover {
	color: var(--tpc-green-deep) !important;
}

.tpc-product-page .tpc-tag {
	padding: 6px 12px !important;
	border-radius: 8px !important;
	background: #f1f4f4 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.4px !important;
	color: var(--tpc-muted) !important;
	text-decoration: none !important;
}

.tpc-product-page a.tpc-tag--link {
	background: var(--tpc-green-soft) !important;
	color: var(--tpc-ink-2) !important;
	border: 1px solid var(--tpc-green) !important;
}

.tpc-product-page a.tpc-tag--link:hover {
	background: #c8efc8 !important;
}

.tpc-product-page .tpc-hero__title {
	margin: 0 0 10px !important;
	font-family: var(--tpc-display) !important;
	font-size: 42px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	color: var(--tpc-ink) !important;
}

.tpc-product-page .tpc-hero__desc {
	margin: 0 0 24px !important;
	font-size: 16px !important;
	line-height: 26px !important;
	color: var(--tpc-muted) !important;
}

.tpc-product-page .tpc-hero__desc p {
	margin: 0 0 12px !important;
	font-size: inherit !important;
	line-height: inherit !important;
	color: inherit !important;
}

.tpc-product-page .tpc-hero__desc p:last-child {
	margin-bottom: 0 !important;
}

.tpc-product-page .tpc-hero__desc ul,
.tpc-product-page .tpc-hero__desc ol {
	margin: 0 0 12px !important;
	padding: 0 0 0 20px !important;
}

.tpc-product-page .tpc-quick-info {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 12px !important;
	margin-bottom: 24px !important;
}

.tpc-product-page .tpc-quick-info__item {
	background: #fff8e8 !important;
	border-radius: 12px !important;
	padding: 14px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

.tpc-product-page .tpc-quick-info__label {
	font-size: 12px !important;
	color: var(--tpc-muted) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.4px !important;
}

.tpc-product-page .tpc-quick-info__item strong {
	font-size: 18px !important;
	color: var(--tpc-ink) !important;
}

.tpc-product-page .tpc-quick-info__item small {
	font-size: 12px !important;
	font-weight: 500 !important;
	color: var(--tpc-muted) !important;
}

.tpc-product-page .tpc-hero__actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
}

.tpc-product-page .tpc-btn,
.tpc-wrap .tpc-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	padding: 12px 20px !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	border: 1px solid transparent !important;
	cursor: pointer !important;
}

.tpc-product-page .tpc-btn--primary,
.tpc-wrap .tpc-btn--primary {
	background: var(--tpc-green) !important;
	color: #fff !important;
	border-color: var(--tpc-green) !important;
}

.tpc-product-page .tpc-btn--primary:hover,
.tpc-wrap .tpc-btn--primary:hover {
	background: var(--tpc-green-deep) !important;
	color: #fff !important;
}

.tpc-product-page .tpc-btn--ghost,
.tpc-wrap .tpc-btn--ghost {
	background: #fff !important;
	border-color: var(--tpc-border) !important;
	color: var(--tpc-ink) !important;
}

.tpc-product-page .tpc-btn--lg {
	padding: 14px 28px !important;
	font-size: 15px !important;
}

.tpc-product-page .tpc-details {
	padding: 56px 24px !important;
	background: #fff !important;
}

.tpc-product-page .tpc-details__inner {
	max-width: 1200px !important;
	margin: 0 auto !important;
}

.tpc-product-page .tpc-tabs__nav {
	display: flex !important;
	gap: 8px !important;
	border-bottom: 1px solid var(--tpc-border) !important;
	margin-bottom: 28px !important;
}

.tpc-product-page .tpc-tabs__btn {
	border: 0 !important;
	background: transparent !important;
	padding: 12px 18px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var(--tpc-muted) !important;
	cursor: pointer !important;
	border-bottom: 2px solid transparent !important;
	margin-bottom: -1px !important;
	border-radius: 0 !important;
}

.tpc-product-page .tpc-tabs__btn.is-active {
	color: var(--tpc-ink) !important;
	border-bottom-color: var(--tpc-green) !important;
	background: transparent !important;
}

.tpc-product-page .tpc-details__grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.8fr) !important;
	gap: 32px !important;
	align-items: start !important;
}

.tpc-product-page .tpc-details__title {
	margin: 10px 0 16px !important;
	font-size: 32px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
}

.tpc-product-page .tpc-prose {
	font-size: 16px !important;
	line-height: 26px !important;
	color: var(--tpc-muted) !important;
}

.tpc-product-page .tpc-benefits__intro {
	margin-bottom: 20px !important;
}

.tpc-product-page .tpc-benefits {
	display: flex !important;
	flex-direction: column !important;
	gap: 20px !important;
	margin: 8px 0 0 !important;
}

.tpc-product-page .tpc-benefits__item {
	margin: 0 !important;
}

.tpc-product-page .tpc-benefits__heading {
	margin: 0 0 6px !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--tpc-ink) !important;
}

.tpc-product-page .tpc-benefits__desc {
	margin: 0 !important;
	font-size: 16px !important;
	line-height: 26px !important;
	color: var(--tpc-muted) !important;
}

.tpc-product-page .tpc-benefits-list {
	margin: 0 !important;
	padding: 0 0 0 20px !important;
	list-style: disc !important;
}

.tpc-product-page .tpc-benefits-list li {
	margin: 0 0 10px !important;
}

.tpc-product-page .tpc-ingredients {
	margin-top: 24px !important;
	padding: 18px 20px !important;
	background: #f4f6f6 !important;
	border-radius: 14px !important;
}

.tpc-product-page .tpc-ingredients strong {
	display: block !important;
	margin-bottom: 6px !important;
	color: var(--tpc-ink) !important;
}

.tpc-product-page .tpc-ingredients p {
	margin: 0 !important;
	color: var(--tpc-muted) !important;
}

.tpc-product-page .tpc-ingredients-list {
	margin: 0 !important;
	padding: 0 0 0 20px !important;
	list-style: disc !important;
	color: var(--tpc-muted) !important;
}

.tpc-product-page .tpc-ingredients-list li {
	margin: 0 0 6px !important;
}

.tpc-product-page .tpc-ingredients-list li:last-child {
	margin-bottom: 0 !important;
}

.tpc-product-page .tpc-specs {
	border: 1px solid var(--tpc-border) !important;
	border-radius: 16px !important;
	padding: 20px !important;
	background: #fff !important;
}

.tpc-product-page .tpc-specs__title {
	margin: 0 0 14px !important;
	font-size: 18px !important;
	font-weight: 700 !important;
}

.tpc-product-page .tpc-specs__table {
	width: 100% !important;
	border-collapse: collapse !important;
}

.tpc-product-page .tpc-specs__table th,
.tpc-product-page .tpc-specs__table td {
	padding: 10px 0 !important;
	border-bottom: 1px solid #eef2f2 !important;
	text-align: left !important;
	font-size: 14px !important;
	vertical-align: top !important;
	background: transparent !important;
}

.tpc-product-page .tpc-specs__table th {
	width: 40% !important;
	color: var(--tpc-muted) !important;
	font-weight: 500 !important;
}

.tpc-product-page .tpc-specs__table td {
	color: var(--tpc-ink) !important;
	font-weight: 600 !important;
}

.tpc-product-page .tpc-cta {
	position: relative !important;
	padding: 90px 24px !important;
	background: #0d1c27 center/cover no-repeat !important;
	color: #fff !important;
	text-align: center !important;
	overflow: hidden !important;
}

.tpc-product-page .tpc-cta__overlay {
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(90deg, rgba(13, 28, 39, 0.82) 0%, rgba(13, 28, 39, 0.55) 55%, rgba(51, 181, 68, 0.55) 100%) !important;
}

.tpc-product-page .tpc-cta__inner {
	position: relative !important;
	z-index: 1 !important;
	max-width: 720px !important;
	margin: 0 auto !important;
}

.tpc-product-page .tpc-cta__eyebrow {
	display: inline-block !important;
	margin-bottom: 12px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
	color: #d7f5d7 !important;
}

.tpc-product-page .tpc-cta__title {
	margin: 0 0 14px !important;
	font-size: 40px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	color: #fff !important;
}

.tpc-product-page .tpc-cta__text {
	margin: 0 0 24px !important;
	font-size: 16px !important;
	line-height: 26px !important;
	color: rgba(255, 255, 255, 0.85) !important;
}

.tpc-wrap .tpc-collection-banner__media img {
	width: 100% !important;
	border-radius: 18px !important;
	display: block !important;
}

.tpc-wrap .tpc-collection-banner__title {
	margin: 12px 0 8px !important;
	font-size: 40px !important;
	font-weight: 700 !important;
}

.tpc-wrap .tpc-collection-banner__subtitle {
	font-size: 16px !important;
	line-height: 26px !important;
	color: var(--tpc-muted) !important;
}

.tpc-wrap .tpc-collection-banner__subtitle p {
	margin: 0 0 12px !important;
	font-size: inherit !important;
	line-height: inherit !important;
	color: inherit !important;
}

.tpc-wrap .tpc-collection-banner__subtitle p:last-child {
	margin-bottom: 0 !important;
}

.tpc-wrap .tpc-collection-banner__subtitle ul,
.tpc-wrap .tpc-collection-banner__subtitle ol {
	margin: 0 0 12px !important;
	padding: 0 0 0 20px !important;
}

.tpc-wrap .tpc-empty {
	grid-column: 1 / -1 !important;
	padding: 32px !important;
	text-align: center !important;
	color: var(--tpc-muted) !important;
	background: #f7f9f9 !important;
	border-radius: 14px !important;
}

@media (max-width: 1200px) {
	.tpc-wrap .tpc-collection-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 1100px) {
	.tpc-wrap .tpc-listing__layout {
		grid-template-columns: 1fr !important;
		gap: 28px !important;
	}

	.tpc-wrap .tpc-filters__card {
		position: static !important;
	}

	.tpc-wrap .tpc-collection-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.tpc-wrap .tpc-product-grid,
	.tpc-product-page .tpc-hero__inner,
	.tpc-product-page .tpc-details__grid,
	.tpc-product-page .tpc-quick-info {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 900px) {
	.tpc-wrap .tpc-collection-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 720px) {
	.tpc-wrap {
		padding: 28px 16px !important;
	}

	.tpc-wrap .tpc-collection-grid {
		grid-template-columns: 1fr !important;
	}

	.tpc-wrap .tpc-collection-products__title,
	.tpc-product-page .tpc-hero__title,
	.tpc-product-page .tpc-cta__title {
		font-size: 28px !important;
	}
}

/* ==========================================================================
   Related products — "You may also like" (Figma 383:14206)
   ========================================================================== */

.tpc-wrap.tpc-related {
	max-width: 1240px !important;
	padding: 64px 32px !important;
}

.tpc-wrap .tpc-related__header {
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 24px !important;
	margin: 0 0 32px !important;
}

.tpc-wrap .tpc-related__intro {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 12px !important;
}

.tpc-wrap .tpc-related__eyebrow {
	display: inline-flex !important;
	align-items: center !important;
	background: #e6f5e6 !important;
	color: #00601c !important;
	border-radius: 9999px !important;
	padding: 6px 14px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
	letter-spacing: 1.75px !important;
	text-transform: uppercase !important;
}

.tpc-wrap .tpc-related__title {
	margin: 0 !important;
	font-family: var(--tpc-display) !important;
	font-size: 40px !important;
	font-weight: 800 !important;
	line-height: 44px !important;
	letter-spacing: -0.4px !important;
	color: var(--tpc-ink-2) !important;
}

.tpc-wrap .tpc-related__all {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	background: #fff !important;
	border: 1px solid var(--tpc-border) !important;
	border-radius: 9999px !important;
	padding: 12px 24px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 20px !important;
	color: var(--tpc-ink-2) !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.tpc-wrap .tpc-related__all:hover {
	border-color: var(--tpc-green) !important;
	box-shadow: 0 4px 14px rgba(8, 30, 36, 0.08) !important;
	color: var(--tpc-ink-2) !important;
}

.tpc-wrap .tpc-related__all img {
	width: 16px !important;
	height: 16px !important;
	display: block !important;
}

.tpc-wrap .tpc-related__grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 24px !important;
}

.tpc-wrap .tpc-related-card {
	display: flex !important;
	flex-direction: column !important;
	background: #fff !important;
	border: 1px solid var(--tpc-border) !important;
	border-radius: 20px !important;
	overflow: hidden !important;
	text-decoration: none !important;
	color: inherit !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease !important;
}

.tpc-wrap .tpc-related-card:hover {
	border-color: var(--tpc-green) !important;
	box-shadow: 0 12px 30px rgba(8, 30, 36, 0.1) !important;
	transform: translateY(-2px) !important;
}

.tpc-wrap .tpc-related-card__media {
	display: block !important;
	aspect-ratio: 1 !important;
	background: linear-gradient(135deg, #f2f6f6 0%, #e0f3f4 100%) !important;
	overflow: hidden !important;
}

.tpc-wrap .tpc-related-card__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	filter: drop-shadow(0 9px 7px rgba(0, 0, 0, 0.1)) !important;
}

.tpc-wrap .tpc-related-card__body {
	display: flex !important;
	flex-direction: column !important;
	padding: 20px !important;
}

.tpc-wrap .tpc-related-card__meta {
	font-size: 12px !important;
	line-height: 16px !important;
	color: var(--tpc-muted) !important;
}

.tpc-wrap .tpc-related-card__title {
	padding-top: 4px !important;
	font-family: var(--tpc-display) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 28px !important;
	letter-spacing: -0.18px !important;
	color: var(--tpc-ink) !important;
}

.tpc-wrap .tpc-related-card__desc {
	padding-top: 8px !important;
	font-size: 14px !important;
	line-height: 20px !important;
	color: var(--tpc-muted) !important;
}

@media (max-width: 1100px) {
	.tpc-wrap .tpc-related__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/* ==========================================================================
   Product image gallery — main image, thumbnails, hover zoom
   ========================================================================== */

.tpc-gallery {
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
	width: 100% !important;
	font-family: "Inter", system-ui, sans-serif;
}

/* Gradient card per Figma 383:13948 */
.tpc-gallery__main {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	aspect-ratio: 1 !important;
	background: linear-gradient(138deg, #cdedce 2.84%, #e3f6f7 95.11%) !important;
	border-radius: 34px !important;
	box-shadow: 0 25px 50px 0 rgba(0, 0, 0, 0.15) !important;
	overflow: hidden !important;
	cursor: zoom-in !important;
	touch-action: pan-y !important;
}

.tpc-gallery__track {
	display: flex !important;
	width: 100% !important;
	height: 100% !important;
	transition: transform 0.3s ease !important;
}

.tpc-gallery__slide {
	flex: 0 0 100% !important;
	width: 100% !important;
	height: 100% !important;
	overflow: hidden !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

/* Image size is adjustable per product via --tpc-gallery-img (Main Image Size %). */
.tpc-gallery__image,
.tpc-product-page .tpc-hero__media .tpc-gallery__image {
	width: var(--tpc-gallery-img, 100%) !important;
	height: var(--tpc-gallery-img, 100%) !important;
	object-fit: contain !important;
	display: block !important;
	transition: transform 0.2s ease !important;
	will-change: transform;
}

.tpc-gallery__main.is-zooming .tpc-gallery__slide.is-active .tpc-gallery__image,
.tpc-product-page .tpc-hero__media .tpc-gallery__main.is-zooming .tpc-gallery__slide.is-active .tpc-gallery__image {
	transform: scale(2) !important;
}

.tpc-gallery__nav {
	appearance: none !important;
	-webkit-appearance: none !important;
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	z-index: 7 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 40px !important;
	height: 40px !important;
	padding: 0 !important;
	border: 1px solid #d7e0e0 !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.9) !important;
	color: #03141c !important;
	cursor: pointer !important;
	transition: background 0.15s ease, border-color 0.15s ease !important;
}

.tpc-gallery__nav:hover {
	background: #ffffff !important;
	border-color: #33b544 !important;
}

.tpc-gallery__nav--prev {
	left: 12px !important;
}

.tpc-gallery__nav--next {
	right: 12px !important;
}

.tpc-gallery__thumbs {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
}

.tpc-gallery__thumb {
	appearance: none !important;
	-webkit-appearance: none !important;
	cursor: pointer !important;
	padding: 0 !important;
	width: 76px !important;
	height: 76px !important;
	background: #fff !important;
	border: 1px solid #d7e0e0 !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.tpc-gallery__thumb img,
.tpc-product-page .tpc-hero__media .tpc-gallery__thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

.tpc-gallery__thumb:hover {
	border-color: #33b544 !important;
}

.tpc-gallery__thumb.is-active {
	border-color: #33b544 !important;
	box-shadow: 0 0 0 2px rgba(51, 181, 68, 0.25) !important;
}

.tpc-gallery__main .tpc-3d {
	position: absolute !important;
	right: 16px !important;
	bottom: 16px !important;
	z-index: 6 !important;
}

/* ==========================================================================
   3D product viewer — "View in 3D" button + modal
   ========================================================================== */

.tpc-3d {
	display: inline-block;
	font-family: "Inter", system-ui, sans-serif;
}

.tpc-product-page .tpc-hero__media {
	position: relative !important;
}

.tpc-product-page .tpc-hero__media .tpc-3d {
	position: absolute !important;
	right: 20px !important;
	bottom: 20px !important;
	z-index: 5 !important;
}

.tpc-3d__open {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	cursor: pointer !important;
	background: #ffffff !important;
	color: #03141c !important;
	border: 1px solid #d7e0e0 !important;
	border-radius: 9999px !important;
	padding: 10px 20px !important;
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 20px !important;
	box-shadow: 0 4px 14px rgba(8, 30, 36, 0.12) !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease !important;
}

.tpc-3d__open:hover {
	border-color: #33b544 !important;
	box-shadow: 0 8px 20px rgba(8, 30, 36, 0.16) !important;
	transform: translateY(-1px) !important;
}

.tpc-3d__open svg {
	display: block !important;
	color: #1f8f2f !important;
}

.tpc-3d__modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483000 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 16px !important;
}

.tpc-3d__modal[hidden] {
	display: none !important;
}

.tpc-3d__backdrop {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(3, 20, 28, 0.72) !important;
	cursor: pointer !important;
}

.tpc-3d__panel {
	position: relative !important;
	z-index: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	width: min(920px, 100%) !important;
	height: min(660px, calc(100vh - 48px)) !important;
	background: #ffffff !important;
	border-radius: 20px !important;
	overflow: hidden !important;
	box-shadow: 0 30px 80px rgba(3, 20, 28, 0.4) !important;
}

.tpc-3d__head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	padding: 14px 20px !important;
	border-bottom: 1px solid #d7e0e0 !important;
}

.tpc-3d__title {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #03141c !important;
}

.tpc-3d__close {
	appearance: none !important;
	-webkit-appearance: none !important;
	cursor: pointer !important;
	background: transparent !important;
	border: 0 !important;
	padding: 0 8px !important;
	font-size: 28px !important;
	line-height: 1 !important;
	color: #424f56 !important;
}

.tpc-3d__close:hover {
	color: #03141c !important;
}

.tpc-3d__viewer {
	flex: 1 1 auto !important;
	width: 100% !important;
	min-height: 0 !important;
	background: linear-gradient(135deg, #f2f6f6 0%, #e0f3f4 100%) !important;
}

body.tpc-3d-open {
	overflow: hidden !important;
}

/* Hide all gallery controls while the 3D viewer is open. */
body.tpc-3d-open .tpc-gallery__nav,
body.tpc-3d-open .tpc-gallery__thumbs,
body.tpc-3d-open .tpc-3d__open {
	display: none !important;
}

body.tpc-3d-open .tpc-gallery__main {
	cursor: default !important;
}

body.tpc-3d-open .tpc-gallery__main.is-zooming .tpc-gallery__slide.is-active .tpc-gallery__image {
	transform: none !important;
}

@media (max-width: 720px) {
	.tpc-product-page .tpc-hero__media .tpc-3d {
		right: 12px !important;
		bottom: 12px !important;
	}

	.tpc-3d__panel {
		height: calc(100vh - 32px) !important;
	}
}

@media (max-width: 720px) {
	.tpc-wrap.tpc-related {
		padding: 40px 16px !important;
	}

	.tpc-wrap .tpc-related__header {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 16px !important;
	}

	.tpc-wrap .tpc-related__title {
		font-size: 28px !important;
		line-height: 34px !important;
	}

	.tpc-wrap .tpc-related__grid {
		grid-template-columns: 1fr !important;
	}
}
