:root {
	--cf-accent: #9d58d5;
	--cf-ink: #211729;
	--cf-plum: #241032;
	--cf-lilac: #f5effa;
	--cf-paper: #fffdfd;
	--cf-muted: #756c79;
	--cf-line: rgba(33, 23, 41, 0.12);
	--cf-shell: 1200px;
	--cf-radius: 16px;
}

/* Global Astra header safety: the uploaded round logo is 500px, so every
 * template needs explicit rendered dimensions before the image loads. */
body .site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(250, 246, 252, 0.98);
	border-bottom: 1px solid rgba(86, 45, 100, 0.08);
	backdrop-filter: saturate(1.05) blur(8px);
}

body .site-header .ast-primary-header-bar,
body .site-header .ast-primary-header-bar .site-primary-header-wrap,
body .site-header .ast-builder-grid-row {
	min-height: 72px !important;
}

body .site-header .site-branding,
body .site-header .ast-site-identity {
	display: flex;
	align-items: center;
	width: auto;
	min-width: 0;
	padding: 0;
	gap: 10px;
}

body .site-header .site-logo-img,
body .site-header .custom-logo-link {
	display: inline-flex !important;
	flex: 0 0 58px;
	align-items: center;
	justify-content: center;
	width: 58px !important;
	height: 58px !important;
	max-width: 58px !important;
	max-height: 58px !important;
	padding: 0 !important;
	overflow: hidden;
}

body .site-header .custom-logo,
body .site-header .site-logo-img img,
body .site-header img.custom-logo,
body .site-header .ast-header-retina {
	display: block;
	width: 58px !important;
	height: 58px !important;
	max-width: 58px !important;
	max-height: 58px !important;
	margin: 0 !important;
	object-fit: contain;
}

body .site-header .ast-site-title-wrap {
	flex: 0 0 auto;
	min-width: max-content;
}

body .site-header .site-title {
	margin: 0;
	font-size: 14px !important;
	font-weight: 750;
	line-height: 1.1;
	white-space: nowrap;
}

body .site-header .ast-builder-menu-1,
body .site-header .main-navigation,
body .site-header .main-header-menu {
	min-width: 0;
}

body .site-header .main-header-menu {
	align-items: center;
	flex-wrap: nowrap;
}

body .site-header .cf-header-tools {
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	flex: 0 0 auto;
	align-items: center;
	align-self: center;
	width: max-content !important;
	min-width: 88px;
	height: 44px;
	padding: 0 0 0 8px;
	margin: 0;
	gap: 8px;
}

body .site-header .cf-header-tools > a {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	min-height: 42px;
	padding: 8px !important;
	margin: 0;
	color: var(--cf-ink);
	border: 1px solid var(--cf-line);
	border-radius: 999px;
	line-height: 1;
}

body .site-header .cf-header-tools svg {
	display: block;
	width: 20px !important;
	height: 20px !important;
	max-width: 20px !important;
	max-height: 20px !important;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

body .site-header .cf-header-tools > a > span {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

body .site-header .cf-header-tools .cf-cart-link {
	background: var(--cf-ink);
	color: #fff;
	border-color: var(--cf-ink);
}

body .site-header .cf-header-tools .cf-cart-link small {
	position: absolute;
	top: -4px;
	right: -4px;
	display: grid;
	width: 18px;
	height: 18px;
	margin: 0;
	background: var(--cf-accent);
	color: #fff;
	border-radius: 50%;
	font-size: 9px;
	line-height: 1;
	place-items: center;
}

html {
	overflow-x: clip;
	scroll-behavior: smooth;
}

.corefuel-landing {
	background: var(--cf-paper);
	color: var(--cf-ink);
}

.corefuel-landing .site-content,
.corefuel-landing .site-content > .ast-container,
.corefuel-landing #primary {
	width: 100%;
	max-width: none;
	padding: 0 !important;
	margin: 0 !important;
}

.corefuel-landing .site-content > .ast-container {
	display: block;
}

/* Keep Astra as the only site header; sticky so the bar stays while scrolling. */
.corefuel-landing .site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(250, 246, 252, 0.98);
	border-bottom: 1px solid rgba(86, 45, 100, 0.06);
}

.corefuel-landing .ast-primary-header-bar,
.corefuel-landing .ast-mobile-header-wrap .ast-primary-header-bar {
	background: transparent;
	border: 0;
}

.corefuel-landing .site-header .ast-builder-grid-row {
	min-height: 66px;
}

.corefuel-landing .site-header .custom-logo-link {
	display: inline-flex;
	align-items: center;
	width: auto;
	max-width: 128px;
	max-height: 44px;
	overflow: hidden;
}

.corefuel-landing .site-header .custom-logo,
.corefuel-landing .site-header .site-logo-img img,
.corefuel-landing .site-header .ast-header-retina {
	width: auto !important;
	height: auto !important;
	max-width: 124px !important;
	max-height: 42px !important;
	object-fit: contain;
}

.corefuel-landing .site-title {
	font-size: 18px;
	font-weight: 750;
	letter-spacing: -0.02em;
}

.corefuel-landing .site-title a {
	color: var(--cf-ink);
}

.corefuel-landing .main-header-menu > .menu-item > .menu-link {
	min-height: 66px;
	padding-inline: 12px;
	color: #43384a;
	font-size: 12px;
	font-weight: 600;
}

.corefuel-landing .main-header-menu > .menu-item > .menu-link:hover,
.corefuel-landing .main-header-menu > .current-menu-item > .menu-link {
	color: var(--cf-accent);
}

.corefuel-landing .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
	fill: var(--cf-ink);
}

.corefuel-landing .cf-header-tools {
	display: flex;
	align-items: center;
	gap: 9px;
	padding-left: 9px;
}

.corefuel-landing .cf-header-tools > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 6px;
	color: var(--cf-ink);
}

.corefuel-landing .cf-header-tools svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.cf-main,
.cf-main * {
	box-sizing: border-box;
}

.cf-main {
	overflow: clip;
	background: var(--cf-paper);
	color: var(--cf-ink);
	font-family: Inter, "Segoe UI Variable", "Segoe UI", Helvetica, Arial, sans-serif;
	font-size: 15px;
	line-height: 1.55;
}

/* Match Astra .ast-container content: ~20px side inset, max 1200px (logo↔cart). */
.cf-shell {
	width: min(calc(100% - 40px), var(--cf-shell));
	margin-inline: auto;
}

.cf-main img {
	display: block;
	max-width: 100%;
}

.cf-main h1,
.cf-main h2,
.cf-main h3,
.cf-main p {
	margin-top: 0;
}

.cf-main h1,
.cf-main h2,
.cf-main h3 {
	color: inherit;
	font-family: inherit;
	font-weight: 750;
	letter-spacing: -0.035em;
}

.cf-eyebrow {
	margin: 0 0 8px;
	color: inherit;
	font-size: 10px;
	font-weight: 750;
	letter-spacing: 0.15em;
	line-height: 1.3;
	text-transform: uppercase;
}

.cf-button,
.corefuel-landing .cf-main .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 11px 19px;
	border: 1px solid transparent;
	border-radius: 999px;
	box-shadow: none;
	font-family: inherit;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.15;
	text-align: center;
	text-decoration: none;
	transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.cf-button:hover,
.corefuel-landing .cf-main .button:hover {
	transform: translateY(-2px);
}

.cf-button--accent {
	background: var(--cf-accent);
	color: #fff;
}

.cf-button--accent:hover {
	background: #8241b7;
	color: #fff;
}

.cf-button--outline {
	background: transparent;
	color: var(--cf-ink);
	border-color: var(--cf-ink);
}

.cf-button--outline:hover {
	background: var(--cf-ink);
	color: #fff;
}

/* Contained hero: .cf-shell matches header logo-to-cart width (max 1200px, inset 20px/side). */
.cf-hero {
	padding: 18px 0 28px;
	background: var(--cf-paper);
}

.cf-shell.cf-hero__frame,
.cf-hero__frame.cf-shell {
	position: relative;
	display: flex;
	align-items: center;
	min-height: clamp(520px, 54vw, 640px);
	overflow: hidden;
	background: #1a121c;
	border-radius: 18px;
	isolation: isolate;
}

.cf-hero__image {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 70% 48%;
	transform: scale(1.02);
	animation: cf-hero-ken 18s ease-out both;
}

.cf-hero__image.is-fallback {
	object-fit: contain;
	object-position: 78% 55%;
	padding: 4% 3% 4% 38%;
	filter: drop-shadow(0 24px 28px rgba(20, 10, 24, 0.28));
	animation: none;
	transform: none;
}

.cf-hero__veil {
	position: absolute;
	z-index: 1;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(20, 14, 22, 0.86) 0%, rgba(20, 14, 22, 0.68) 36%, rgba(20, 14, 22, 0.18) 60%, rgba(20, 14, 22, 0.04) 100%),
		linear-gradient(180deg, rgba(20, 14, 22, 0.12) 0%, transparent 30%, transparent 74%, rgba(20, 14, 22, 0.22) 100%);
}

.cf-hero__panel {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	width: min(46%, 480px);
	max-width: 480px;
	padding: clamp(36px, 6vh, 64px) 0;
	margin: 0 0 0 clamp(28px, 4.5vw, 56px);
	color: #f7f2fa;
	text-align: left;
}

.cf-hero__panel .cf-eyebrow {
	color: rgba(247, 242, 250, 0.72);
}

.cf-hero__panel h1 {
	max-width: 11ch;
	margin: 0 0 16px;
	color: #fffdfd;
	font-size: clamp(38px, 4.4vw, 56px);
	letter-spacing: -0.035em;
	line-height: 1.02;
	text-wrap: balance;
}

.cf-hero__lede,
.cf-hero__panel > p:not(.cf-eyebrow) {
	max-width: 34ch;
	margin: 0 0 24px;
	color: rgba(247, 242, 250, 0.84);
	font-size: 15px;
	line-height: 1.55;
}

.cf-hero__panel .cf-text-link {
	color: #fffdfd;
}

.cf-hero__panel .cf-text-link:hover {
	color: #e3c7f5;
}

@keyframes cf-hero-ken {
	from { transform: scale(1.05); }
	to { transform: scale(1.02); }
}
.cf-mosaic {
	display: grid;
	height: 640px;
	padding-block: 30px 76px;
	grid-template-columns: 0.9fr 1.1fr;
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.cf-mosaic__tile {
	position: relative;
	display: flex;
	min-width: 0;
	overflow: hidden;
	background: #ded6e3;
	border-radius: var(--cf-radius);
	color: #fff;
	text-decoration: none;
	isolation: isolate;
}

.cf-mosaic__tile--1 {
	grid-row: 1 / 3;
}

.cf-mosaic__tile img {
	position: absolute;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 550ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.cf-mosaic__tile--1 img {
	object-position: 50% 50%;
}

.cf-mosaic__tile--2 img {
	object-position: 50% 54%;
}

.cf-mosaic__tile--3 img {
	object-position: 50% 69%;
}

.cf-mosaic__tile:has(img[src$=".svg"]) img {
	padding: 7%;
	object-fit: contain;
	filter: drop-shadow(0 20px 18px rgba(25, 11, 31, 0.24));
}

.cf-mosaic__tile--1:has(img[src$=".svg"]) {
	background: linear-gradient(145deg, #d8b4ee, #8d64a7);
}

.cf-mosaic__tile--2:has(img[src$=".svg"]) {
	background: linear-gradient(145deg, #9eb49a, #526a5e);
}

.cf-mosaic__tile--3:has(img[src$=".svg"]) {
	background: linear-gradient(145deg, #efc5ac, #b86f67);
}

.cf-mosaic__shade {
	position: absolute;
	z-index: -1;
	background:
		linear-gradient(0deg, rgba(15, 9, 18, 0.78), rgba(15, 9, 18, 0.04) 66%),
		linear-gradient(90deg, rgba(15, 9, 18, 0.13), transparent 55%);
	inset: 0;
}

.cf-mosaic__copy {
	align-self: flex-end;
	width: 100%;
	padding: 25px 27px;
}

.cf-mosaic__copy small,
.cf-mosaic__copy strong,
.cf-mosaic__copy em {
	display: block;
}

.cf-mosaic__copy small {
	margin-bottom: 3px;
	font-size: 9px;
	font-weight: 650;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.cf-mosaic__copy strong {
	font-size: clamp(20px, 2vw, 27px);
	letter-spacing: -0.025em;
}

.cf-mosaic__copy em {
	max-height: 0;
	overflow: hidden;
	margin-top: 0;
	font-size: 11px;
	font-style: normal;
	opacity: 0;
	transition: max-height 220ms ease, opacity 220ms ease, margin-top 220ms ease;
}

.cf-mosaic__tile:hover {
	color: #fff;
}

.cf-mosaic__tile:hover img {
	transform: scale(1.035);
}

.cf-mosaic__tile:hover .cf-mosaic__copy em {
	max-height: 20px;
	margin-top: 7px;
	opacity: 1;
}

.cf-flavors {
	padding: 0 0 86px;
}

.cf-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 48px;
	margin-bottom: 30px;
}

.cf-section-heading h2 {
	margin: 0;
	font-size: clamp(32px, 3.2vw, 43px);
	line-height: 1.05;
}

.cf-section-heading > p {
	max-width: 380px;
	margin: 0;
	color: var(--cf-muted);
	font-size: 13px;
	text-align: right;
}

.cf-product-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.cf-product-grid--1 {
	grid-template-columns: minmax(250px, 285px);
}

.cf-product-grid--2 {
	grid-template-columns: repeat(2, minmax(250px, 285px));
}

.cf-product-grid--3 {
	grid-template-columns: repeat(3, minmax(220px, 285px));
}

.cf-product-card {
	min-width: 0;
}

.cf-product-card__image {
	position: relative;
	display: grid;
	aspect-ratio: 0.84;
	overflow: hidden;
	background: #f3eff4;
	border-radius: 13px;
	place-items: center;
}

.cf-product-card__image img {
	width: 100%;
	height: 100%;
	padding: 0;
	object-fit: cover;
	transition: transform 350ms ease;
}

.cf-product-card__image.is-marketing-photo img {
	object-position: 50% 53%;
}

.cf-product-card:nth-child(even) .cf-product-card__image.is-marketing-photo img {
	object-position: 50% 60%;
}

.cf-product-card__image img[src$=".svg"] {
	padding: 8%;
	object-fit: contain;
}

.cf-product-card:hover .cf-product-card__image img {
	transform: scale(1.025);
}

.cf-sale {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 5px 9px;
	background: var(--cf-plum);
	color: #fff;
	border-radius: 999px;
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
}

.cf-product-card__body {
	padding: 13px 2px 0;
}

.cf-product-card__top {
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: 12px;
}

.cf-product-card h3 {
	margin: 0;
	font-size: 15px;
	line-height: 1.35;
}

.cf-product-card h3 a {
	color: inherit;
	text-decoration: none;
}

.cf-product-card__price {
	flex: 0 0 auto;
	font-size: 12px;
	font-weight: 650;
	white-space: nowrap;
}

.cf-product-card__price ins {
	background: none;
	text-decoration: none;
}

.cf-product-card__price del {
	margin-right: 3px;
	color: var(--cf-muted);
	font-size: 0.78em;
}

.cf-product-card__rating {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-top: 7px;
	color: var(--cf-muted);
	font-size: 9px;
}

.cf-product-card__rating .star-rating {
	float: none;
	margin: 0;
	color: #e5a12d;
	font-size: 0.8em;
}

.cf-product-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: 12px;
}

.cf-product-card__footer > span {
	color: var(--cf-muted);
	font-size: 9px;
}

.cf-product-card__footer .is-stock::before,
.cf-product-card__footer .is-out::before {
	display: inline-block;
	width: 5px;
	height: 5px;
	margin-right: 5px;
	background: #61a15b;
	border-radius: 50%;
	content: "";
}

.cf-product-card__footer .is-out::before {
	background: #a56969;
}

.corefuel-landing .cf-product-card__footer .button,
.corefuel-landing .cf-product-card__footer .added_to_cart {
	min-height: 31px;
	padding: 7px 12px;
	margin: 0;
	background: transparent;
	color: var(--cf-ink);
	border: 1px solid var(--cf-ink);
	border-radius: 999px;
	font-size: 9px;
	font-weight: 650;
	line-height: 1.1;
}

.corefuel-landing .cf-product-card__footer .button:hover,
.corefuel-landing .cf-product-card__footer .added_to_cart:hover {
	background: var(--cf-ink);
	color: #fff;
}

.corefuel-landing .cf-product-card__footer .added_to_cart {
	margin-left: 4px;
	text-decoration: none;
}

.cf-shop-more {
	display: flex;
	justify-content: center;
	margin-top: 39px;
}

.cf-empty {
	display: flex;
	align-items: center;
	gap: 28px;
	max-width: 650px;
	padding: 24px;
	background: var(--cf-lilac);
	border-radius: var(--cf-radius);
}

.cf-empty img {
	width: 120px;
	height: 120px;
	object-fit: contain;
}

.cf-empty h3 {
	margin-bottom: 7px;
	font-size: 22px;
}

.cf-empty p {
	margin: 0;
	color: var(--cf-muted);
}

.cf-newsletter {
	padding: 38px 0;
	background: var(--cf-lilac);
}

.cf-newsletter__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 48px;
}

.cf-newsletter h2 {
	margin: 0;
	font-size: clamp(27px, 3vw, 38px);
}

.cf-newsletter__inner > p {
	max-width: 470px;
	margin: 0;
	color: var(--cf-muted);
	font-size: 13px;
	text-align: right;
}

.cf-footer {
	padding: 58px 0 22px;
	background: var(--cf-plum);
	color: #ded4e5;
}

.cf-footer__grid {
	display: grid;
	grid-template-columns: 1.1fr 0.7fr 1.2fr;
	gap: clamp(40px, 7vw, 95px);
}

.cf-footer a {
	display: block;
	width: fit-content;
	color: #f7f0fa;
	font-size: 12px;
	text-decoration: none;
}

.cf-footer a:hover {
	color: #d6a6f2;
}

.cf-footer__logo {
	margin-bottom: 12px;
	font-size: 20px !important;
	font-weight: 750;
	letter-spacing: -0.03em;
}

.cf-footer__logo--image {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.cf-footer__logo-img {
	display: block;
	width: auto;
	max-width: min(180px, 100%);
	height: auto;
	max-height: 48px;
	object-fit: contain;
}

@media (min-width: 922px) {
	.cf-footer__logo-img {
		max-height: 56px;
	}
}

.cf-footer__brand p {
	max-width: 280px;
	margin: 0;
	color: #ae9eb7;
	font-size: 12px;
}

.cf-footer h2 {
	margin-bottom: 16px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.cf-footer__signup form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
}

.cf-footer__signup input {
	width: 100%;
	height: 40px;
	padding: 8px 13px;
	background: #fff;
	color: var(--cf-ink);
	border: 0;
	border-radius: 6px;
	font-size: 12px;
}

.cf-footer__signup button {
	height: 40px;
	padding: 8px 17px;
	background: var(--cf-accent);
	color: #fff;
	border: 0;
	border-radius: 6px;
	font-size: 10px;
	font-weight: 700;
	cursor: pointer;
}

.cf-form-note {
	margin: 8px 0 0;
	color: #9f8faa;
	font-size: 9px;
}

.cf-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-top: 30px;
	margin-top: 38px;
	border-top: 1px solid rgba(255, 255, 255, 0.11);
}

.cf-footer__bottom p {
	margin: 0;
	color: #93849d;
	font-size: 10px;
}

.cf-cart-link {
	position: relative;
	display: inline-flex !important;
	align-items: center;
}

.cf-cart-link svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.cf-cart-link small {
	display: grid;
	width: 17px;
	height: 17px;
	margin-left: -5px;
	margin-top: -14px;
	background: var(--cf-accent);
	color: #fff;
	border-radius: 50%;
	font-size: 8px;
	place-items: center;
}

/* The child provides the complete landing footer; suppress only Astra's
 * generated footer on this template so visitors never get duplicate footers. */
.site-footer {
	display: none;
}

.cf-footer__socials {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.cf-footer__social {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	transition: color 0.2s ease, transform 0.2s ease;
}

.cf-footer__social:hover,
.cf-footer__social:focus-visible {
	background: transparent;
	color: var(--cf-accent);
	transform: translateY(-2px) scale(1.06);
}

.cf-footer__social svg {
	width: 32px;
	height: 32px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.cf-footer__social svg .is-fill {
	fill: currentColor;
	stroke: none;
}

/* Contact Us: managed WhatsApp CTA + native contact form. */
.cf-contact-tools {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(24px, 4vw, 56px);
	margin: clamp(38px, 6vw, 84px) 0 24px;
	align-items: stretch;
}

.cf-contact-tools__intro,
.cf-contact-tools__form-wrap {
	border-radius: 24px;
	padding: clamp(26px, 4vw, 48px);
}

.cf-contact-tools__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	background: #24102f;
	color: #fff;
}

.cf-contact-tools__intro h2,
.cf-contact-tools__intro p {
	color: inherit;
}

.cf-contact-tools__whatsapp {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 16px;
	background: #25d366;
	color: #102216;
}

.cf-contact-tools__whatsapp:hover,
.cf-contact-tools__whatsapp:focus-visible {
	background: #1fbd59;
	color: #07170c;
}

.cf-contact-tools__whatsapp svg {
	width: 25px;
	height: 25px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.cf-contact-tools__form-wrap {
	background: #fff;
	border: 1px solid #e8e1eb;
	box-shadow: 0 18px 55px rgba(37, 15, 48, 0.08);
}

.cf-contact-form,
.cf-contact-form label {
	display: grid;
	gap: 8px;
}

.cf-contact-form {
	gap: 18px;
	margin-top: 24px;
}

.cf-contact-form__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.cf-contact-form label {
	font-weight: 700;
	color: #281932;
}

.cf-contact-form input,
.cf-contact-form textarea {
	width: 100%;
	margin: 0;
	border: 1px solid #d9cedf;
	border-radius: 12px;
	background: #fff;
	color: #281932;
	font-weight: 400;
}

.cf-contact-form input:focus,
.cf-contact-form textarea:focus {
	border-color: var(--cf-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--cf-accent) 18%, transparent);
	outline: 0;
}

.cf-contact-form textarea {
	resize: vertical;
}

.cf-contact-form .cf-button {
	justify-self: start;
	border: 0;
}

.cf-contact-form__honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.cf-contact-notice {
	margin: 20px 0;
	padding: 14px 16px;
	border-radius: 10px;
	font-weight: 700;
}

.cf-contact-notice.is-success {
	background: #e6f8ed;
	color: #176b38;
}

.cf-contact-notice.is-error {
	background: #fff0f0;
	color: #9b2525;
}

@media (max-width: 767px) {
	.cf-contact-tools,
	.cf-contact-form__row {
		grid-template-columns: 1fr;
	}

	.cf-contact-tools__intro,
	.cf-contact-tools__form-wrap {
		border-radius: 18px;
	}
}

/* Progressive enhancement: content is visible unless JavaScript explicitly
 * marks the document ready for scroll reveal. */
.cf-js.cf-reveal-ready .cf-card-reveal {
	opacity: 0;
	transform: translateY(26px);
	transition:
		opacity 620ms cubic-bezier(0.22, 0.61, 0.36, 1),
		transform 620ms cubic-bezier(0.22, 0.61, 0.36, 1);
	transition-delay: calc(var(--cf-stagger, 0) * 70ms);
	will-change: opacity, transform;
}

.cf-js.cf-reveal-ready .cf-card-reveal.is-visible {
	opacity: 1;
	transform: none;
}

.cf-js .cf-hero-enter {
	animation: cf-hero-enter 720ms 100ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

@keyframes cf-hero-enter {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@media (max-width: 900px) {
	.cf-shell {
		width: min(calc(100% - 40px), var(--cf-shell));
	}

	.cf-shell.cf-hero__frame,
	.cf-hero__frame.cf-shell {
		min-height: min(64vh, 580px);
		border-radius: 16px;
	}

	.cf-hero__image {
		object-position: 64% 48%;
	}

	.cf-hero__panel {
		max-width: 420px;
		margin-left: clamp(22px, 4vw, 40px);
	}

	.cf-mosaic {
		height: 520px;
	}

	.cf-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cf-product-grid--1 {
		grid-template-columns: minmax(240px, 300px);
	}

	.cf-footer__grid {
		grid-template-columns: 1fr 0.7fr;
	}

	.cf-footer__signup {
		grid-column: 1 / -1;
		max-width: 560px;
	}
}

@media (max-width: 600px) {
	.corefuel-landing .site-header .ast-builder-grid-row {
		min-height: 62px;
	}

	.corefuel-landing .site-header .custom-logo-link {
		max-width: 112px;
		max-height: 40px;
	}

	.corefuel-landing .site-header .custom-logo,
	.corefuel-landing .site-header .site-logo-img img,
	.corefuel-landing .site-header .ast-header-retina {
		max-width: 108px !important;
		max-height: 38px !important;
	}

	.corefuel-landing .cf-header-tools {
		justify-content: flex-start;
		padding: 5px 18px 12px;
	}

	.cf-shell {
		width: min(calc(100% - 40px), var(--cf-shell));
	}

	.cf-hero {
		padding: 12px 0 18px;
		background: var(--cf-paper);
	}

	.cf-shell.cf-hero__frame,
	.cf-hero__frame.cf-shell {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		min-height: 0;
		background: #171118;
		border-radius: 14px;
	}

	.cf-hero__image {
		position: relative;
		inset: auto;
		z-index: 0;
		width: 100%;
		height: min(46vh, 360px);
		min-height: 240px;
		object-position: 55% 42%;
		animation: none;
		transform: none;
	}

	.cf-hero__veil {
		position: absolute;
		inset: auto 0 auto 0;
		top: 0;
		z-index: 1;
		height: min(46vh, 360px);
		min-height: 240px;
		background:
			linear-gradient(180deg, rgba(23, 17, 24, 0.06) 0%, rgba(23, 17, 24, 0.1) 50%, rgba(23, 17, 24, 0.42) 100%);
	}

	.cf-hero__image.is-fallback {
		height: min(42vh, 320px);
		min-height: 220px;
		padding: 20px 16px;
		opacity: 0.95;
	}

	.cf-hero__panel {
		width: 100%;
		max-width: none;
		padding: 20px 18px 24px;
		margin: 0;
		color: #fff;
		background: #171118;
		text-align: left;
	}

	.cf-hero__panel h1 {
		max-width: 12ch;
		font-size: clamp(32px, 9vw, 42px);
	}

	.cf-hero__lede,
	.cf-hero__panel > p:not(.cf-eyebrow) {
		max-width: 34ch;
		margin-left: 0;
		color: rgba(255, 255, 255, 0.8);
		font-size: 14px;
	}

	.cf-mosaic {
		height: auto;
		padding-block: 16px 59px;
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 10px;
	}

	.cf-mosaic__tile,
	.cf-mosaic__tile--1 {
		min-height: 205px;
		grid-row: auto;
	}

	.cf-mosaic__tile--1 {
		min-height: 410px;
	}

	.cf-mosaic__copy {
		padding: 19px 20px;
	}

	.cf-mosaic__copy strong {
		font-size: 21px;
	}

	.cf-flavors {
		padding-bottom: 62px;
	}

	.cf-section-heading {
		display: block;
		margin-bottom: 23px;
	}

	.cf-section-heading > p {
		margin-top: 9px;
		font-size: 12px;
		text-align: left;
	}

	.cf-product-grid,
	.cf-product-grid--1,
	.cf-product-grid--2,
	.cf-product-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 11px;
	}

	.cf-product-grid--1 {
		grid-template-columns: minmax(0, 1fr);
	}

	.cf-product-card__body {
		padding-top: 9px;
	}

	.cf-product-card__top {
		display: block;
	}

	.cf-product-card h3 {
		font-size: 13px;
	}

	.cf-product-card__price {
		margin-top: 3px;
		font-size: 11px;
	}

	.cf-product-card__footer {
		display: block;
		margin-top: 8px;
	}

	.corefuel-landing .cf-product-card__footer .button {
		width: 100%;
		min-height: 31px;
		margin-top: 7px;
		padding-inline: 8px;
		white-space: normal;
	}

	.cf-empty {
		align-items: flex-start;
		flex-direction: column;
		gap: 15px;
	}

	.cf-empty img {
		width: 100px;
		height: 100px;
	}

	.cf-newsletter {
		padding: 31px 0;
	}

	.cf-newsletter__inner {
		display: block;
	}

	.cf-newsletter__inner > p {
		margin-top: 9px;
		font-size: 12px;
		text-align: left;
	}

	.cf-footer {
		padding-top: 45px;
	}

	.cf-footer__grid {
		grid-template-columns: 1fr;
		gap: 35px;
	}

	.cf-footer__signup {
		grid-column: auto;
	}

	.cf-footer__signup form {
		grid-template-columns: 1fr;
	}

	.cf-footer__signup button {
		width: 100%;
	}

	.cf-footer__bottom {
		align-items: flex-start;
		margin-top: 32px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.cf-js .cf-hero-enter,
	.cf-js.cf-reveal-ready .cf-card-reveal,
	.cf-hero__image {
		animation: none;
		opacity: 1;
		transform: none;
		transition: none;
	}

	.cf-mosaic__tile img,
	.cf-product-card__image img,
	.cf-button {
		transition: none;
	}
}

/* Storefront v6 shared additions.
 * scroll-margin-top for section[id] is set with --cf-header-height in v6.2.6. */

.cf-text-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--cf-ink);
	font-size: 12px;
	font-weight: 750;
	text-decoration: none;
}

.cf-text-link:hover {
	color: var(--cf-accent);
}

.cf-hero__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px 20px;
}

.cf-trust {
	border-bottom: 1px solid var(--cf-line);
}

.cf-trust__grid {
	display: grid;
	padding-block: 22px;
	grid-template-columns: repeat(3, 1fr);
}

.cf-trust__grid > div {
	display: grid;
	gap: 2px;
	padding-inline: 28px;
	border-right: 1px solid var(--cf-line);
	text-align: center;
}

.cf-trust__grid > div:first-child {
	padding-left: 0;
}

.cf-trust__grid > div:last-child {
	padding-right: 0;
	border-right: 0;
}

.cf-trust strong {
	font-size: 12px;
}

.cf-trust span {
	color: var(--cf-muted);
	font-size: 10px;
}

.cf-benefits {
	padding: 82px 0;
	background: var(--cf-lilac);
}

.cf-benefits__grid {
	display: grid;
	align-items: end;
	grid-template-columns: 1.15fr 0.85fr;
	gap: clamp(48px, 8vw, 110px);
}

.cf-benefits h2 {
	max-width: 650px;
	margin: 0;
	font-size: clamp(35px, 4vw, 52px);
	line-height: 1.03;
}

.cf-benefits__copy p {
	margin-bottom: 22px;
	color: var(--cf-muted);
}

.cf-benefits + .cf-flavors {
	padding-top: 82px;
}

.cf-product-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 34px 20px;
}

.cf-order {
	padding: 84px 0;
	background: #f8f4fa;
}

.cf-order__heading {
	max-width: 720px;
	margin-bottom: 36px;
}

.cf-order__heading h2 {
	margin: 0;
	font-size: clamp(34px, 4vw, 50px);
	line-height: 1.03;
}

.cf-order__steps {
	display: grid;
	padding: 0;
	margin: 0 0 34px;
	list-style: none;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.cf-order__steps li {
	display: flex;
	gap: 17px;
	padding: 23px;
	background: var(--cf-paper);
	border: 1px solid var(--cf-line);
	border-radius: 14px;
}

.cf-order__steps li > span {
	color: var(--cf-accent);
	font-size: 11px;
	font-weight: 800;
}

.cf-order__steps strong {
	font-size: 15px;
}

.cf-order__steps p {
	margin: 7px 0 0;
	color: var(--cf-muted);
	font-size: 12px;
}

.cf-faq {
	padding: 86px 0;
}

.cf-faq__layout {
	display: grid;
	grid-template-columns: 0.72fr 1.28fr;
	gap: clamp(48px, 8vw, 110px);
}

.cf-faq h2 {
	margin-bottom: 14px;
	font-size: clamp(32px, 3.5vw, 46px);
	line-height: 1.05;
}

.cf-faq header > p:last-child,
.cf-faq details p {
	color: var(--cf-muted);
	font-size: 13px;
}

.cf-faq details {
	padding: 19px 0;
	border-bottom: 1px solid var(--cf-line);
}

.cf-faq details:first-child {
	border-top: 1px solid var(--cf-line);
}

.cf-faq summary {
	position: relative;
	padding-right: 32px;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

.cf-faq summary::after {
	position: absolute;
	right: 3px;
	content: "+";
	color: var(--cf-accent);
	font-size: 20px;
}

.cf-faq details[open] summary::after {
	content: "–";
}

.cf-faq details p {
	max-width: 620px;
	margin: 11px 0 0;
}

.cf-footer__grid {
	grid-template-columns: 1.1fr 0.85fr 0.95fr 1.25fr;
	gap: clamp(28px, 4vw, 58px);
}

.cf-footer__brand h2 {
	margin-top: 25px;
	margin-bottom: 10px;
}

.cf-footer__shop a,
.cf-footer__nav a {
	margin-bottom: 8px;
}

.cf-footer-menu {
	padding: 0;
	margin: 0;
	list-style: none;
}

body:not(.corefuel-landing) {
	background: var(--cf-paper);
	color: var(--cf-ink);
}

body:not(.corefuel-landing) .main-header-menu > .menu-item > .menu-link {
	min-height: 72px;
	padding-inline: 12px;
	color: #43384a;
	font-size: 13px;
	font-weight: 650;
	white-space: nowrap;
}

body:not(.corefuel-landing) .main-header-menu > .menu-item > .menu-link:hover,
body:not(.corefuel-landing) .main-header-menu > .current-menu-item > .menu-link {
	color: var(--cf-accent);
}

/*
 * Inner pages: sticky #masthead stays in document flow — do NOT also pad as if
 * the header were position:fixed. Astra #primary margin-top was a second offset.
 */
body:not(.corefuel-landing) .site-content,
body:not(.corefuel-landing) #content.site-content {
	min-height: 62vh;
	padding-block: 22px 64px !important;
}

body:not(.corefuel-landing) .site-content > .ast-container {
	width: min(calc(100% - 40px), var(--cf-shell));
	padding: 0;
}

body:not(.corefuel-landing) #primary,
body:not(.corefuel-landing).ast-separate-container #primary,
body:not(.corefuel-landing).ast-plain-container #primary {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body:not(.corefuel-landing) .entry-header {
	margin-top: 0;
	margin-bottom: 18px;
}

body:not(.corefuel-landing) .entry-header .entry-title,
.woocommerce-products-header__title {
	margin-top: 0;
	margin-bottom: 22px;
	color: var(--cf-ink);
	font-size: clamp(34px, 4vw, 52px);
	letter-spacing: -0.04em;
	line-height: 1.02;
}

.woocommerce .woocommerce-breadcrumb,
body:not(.corefuel-landing) .ast-breadcrumbs-wrapper,
body:not(.corefuel-landing) .ast-breadcrumbs {
	margin-top: 0 !important;
	margin-bottom: 12px !important;
	color: var(--cf-muted);
	font-size: 11px;
}

.woocommerce-products-header {
	margin-top: 0;
	margin-bottom: 8px;
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--cf-ink);
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select {
	color: var(--cf-muted);
	font-size: 12px;
}

.woocommerce .woocommerce-ordering select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
	min-height: 46px;
	padding: 10px 13px;
	background: #fff;
	border: 1px solid var(--cf-line);
	border-radius: 8px;
}

.woocommerce ul.products {
	display: grid;
	margin-top: 28px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 38px 22px;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	width: auto !important;
	margin: 0 !important;
}

.woocommerce ul.products li.product a img {
	aspect-ratio: 1;
	margin: 0 0 14px;
	background: #f3eff4;
	border-radius: 14px;
	object-fit: cover;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0;
	color: var(--cf-ink);
	font-size: 16px;
}

.woocommerce ul.products li.product .price {
	color: var(--cf-ink);
	font-size: 13px;
	font-weight: 700;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	min-height: 42px;
	padding: 12px 18px;
	background: var(--cf-ink);
	color: #fff;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background: var(--cf-accent);
	color: #fff;
}

.woocommerce span.onsale {
	min-width: 0;
	min-height: 0;
	padding: 7px 10px;
	background: var(--cf-accent);
	border-radius: 999px;
	font-size: 10px;
	line-height: 1;
}

.woocommerce div.product div.images img {
	background: #f3eff4;
	border-radius: 16px;
}

.woocommerce div.product div.summary {
	padding: clamp(20px, 4vw, 52px);
	background: var(--cf-lilac);
	border-radius: 18px;
}

.woocommerce div.product .product_title {
	margin-bottom: 14px;
	color: var(--cf-ink);
	font-size: clamp(34px, 4vw, 52px);
	line-height: 1.02;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--cf-ink);
	font-size: 22px;
	font-weight: 750;
}

.woocommerce div.product .stock {
	color: #357241;
	font-size: 12px;
	font-weight: 700;
}

.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 25px;
}

/* Quantity stepper: [ − ] [ qty ] [ + ] — beat Astra .woocommerce-js rules */
.woocommerce-js .quantity.cf-qty,
.woocommerce-js .quantity:has(.cf-qty-btn),
.woocommerce .quantity.cf-qty,
.woocommerce-cart .quantity.cf-qty,
.woocommerce-page .quantity.cf-qty,
.woocommerce .quantity:has(.cf-qty-btn),
.woocommerce-js div.product form.cart div.quantity.cf-qty,
.woocommerce-js div.product form.cart div.quantity:has(.cf-qty-btn) {
	display: inline-flex !important;
	align-items: stretch !important;
	float: none !important;
	gap: 0 !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	border: 1.5px solid rgba(33, 23, 41, 0.16) !important;
	border-radius: 12px !important;
	background: #fff !important;
}

.woocommerce-js .quantity.cf-qty .cf-qty-btn,
.woocommerce-js .quantity:has(.cf-qty-btn) .cf-qty-btn,
.woocommerce .quantity.cf-qty .cf-qty-btn,
.woocommerce-cart .quantity.cf-qty .cf-qty-btn,
.woocommerce .quantity:has(.cf-qty-btn) .cf-qty-btn {
	display: inline-grid !important;
	place-items: center;
	flex: 0 0 44px;
	width: 44px !important;
	min-width: 44px !important;
	height: 48px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #f7f2fa !important;
	box-shadow: none !important;
	color: var(--cf-ink) !important;
	font-size: 22px !important;
	font-weight: 600;
	line-height: 1 !important;
	cursor: pointer;
	transition: background-color 140ms ease, color 140ms ease, opacity 140ms ease;
}

.woocommerce-js .quantity.cf-qty .cf-qty-btn:hover,
.woocommerce-js .quantity.cf-qty .cf-qty-btn:focus-visible,
.woocommerce-js .quantity:has(.cf-qty-btn) .cf-qty-btn:hover,
.woocommerce-js .quantity:has(.cf-qty-btn) .cf-qty-btn:focus-visible,
.woocommerce .quantity.cf-qty .cf-qty-btn:hover,
.woocommerce .quantity.cf-qty .cf-qty-btn:focus-visible,
.woocommerce .quantity:has(.cf-qty-btn) .cf-qty-btn:hover,
.woocommerce .quantity:has(.cf-qty-btn) .cf-qty-btn:focus-visible {
	background: rgba(157, 88, 213, 0.14) !important;
	color: var(--cf-accent) !important;
	outline: none;
}

.woocommerce-js .quantity.cf-qty .cf-qty-btn:focus-visible,
.woocommerce-js .quantity:has(.cf-qty-btn) .cf-qty-btn:focus-visible,
.woocommerce .quantity.cf-qty .cf-qty-btn:focus-visible,
.woocommerce .quantity:has(.cf-qty-btn) .cf-qty-btn:focus-visible {
	box-shadow: inset 0 0 0 2px rgba(157, 88, 213, 0.45) !important;
}

.woocommerce-js .quantity.cf-qty .cf-qty-btn:disabled,
.woocommerce-js .quantity:has(.cf-qty-btn) .cf-qty-btn:disabled,
.woocommerce .quantity.cf-qty .cf-qty-btn:disabled,
.woocommerce .quantity:has(.cf-qty-btn) .cf-qty-btn:disabled {
	opacity: 0.35;
	cursor: not-allowed;
	background: #f3f0f5 !important;
	color: #8a8190 !important;
}

.woocommerce-js .quantity.cf-qty .qty,
.woocommerce-js .quantity:has(.cf-qty-btn) .qty,
.woocommerce-js .quantity.cf-qty input.qty,
.woocommerce-js .quantity:has(.cf-qty-btn) input.qty,
.woocommerce .quantity.cf-qty .qty,
.woocommerce-cart .quantity.cf-qty .qty,
.woocommerce .quantity:has(.cf-qty-btn) .qty {
	width: 56px !important;
	min-width: 56px !important;
	height: 48px !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 0 4px !important;
	border: 0 !important;
	border-left: 1px solid rgba(33, 23, 41, 0.12) !important;
	border-right: 1px solid rgba(33, 23, 41, 0.12) !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--cf-ink) !important;
	font-size: 16px !important;
	font-weight: 700;
	line-height: 1 !important;
	text-align: center !important;
	-moz-appearance: textfield;
	appearance: textfield;
}

.woocommerce-js .quantity.cf-qty .qty::-webkit-outer-spin-button,
.woocommerce-js .quantity.cf-qty .qty::-webkit-inner-spin-button,
.woocommerce-js .quantity:has(.cf-qty-btn) .qty::-webkit-outer-spin-button,
.woocommerce-js .quantity:has(.cf-qty-btn) .qty::-webkit-inner-spin-button,
.woocommerce .quantity.cf-qty .qty::-webkit-outer-spin-button,
.woocommerce .quantity.cf-qty .qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart button.single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	border-radius: 12px;
	font-size: 14px !important;
	font-weight: 700;
}

.woocommerce div.product .woocommerce-tabs {
	padding-top: 34px;
}

.woocommerce div.product .woocommerce-tabs .panel {
	padding: 26px;
	border: 1px solid var(--cf-line);
	border-radius: 12px;
}

.woocommerce table.shop_table {
	overflow: hidden;
	border: 1px solid var(--cf-line);
	border-radius: 12px;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 15px;
	border-color: var(--cf-line);
}

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout .col2-set,
.woocommerce-checkout #order_review,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce form.login,
.woocommerce form.register {
	padding: 24px;
	background: #fff;
	border: 1px solid var(--cf-line);
	border-radius: 14px;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	background: var(--cf-lilac);
	color: var(--cf-ink);
	border-top-color: var(--cf-accent);
	border-radius: 8px;
}

.cf-page-content {
	font-size: 16px;
	line-height: 1.75;
}

.cf-page-lead {
	max-width: 760px;
	margin-bottom: 46px;
	color: var(--cf-muted);
	font-size: clamp(18px, 2vw, 23px);
	line-height: 1.5;
}

.cf-page-grid {
	display: grid;
	margin-block: 38px;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.cf-page-panel {
	padding: 25px;
	background: var(--cf-lilac);
	border-radius: 14px;
}

.cf-page-steps {
	padding: 0;
	margin: 40px 0;
	counter-reset: cf-step;
	list-style: none;
}

.cf-page-steps li {
	display: grid;
	padding: 24px 0;
	border-bottom: 1px solid var(--cf-line);
	grid-template-columns: 54px 1fr;
	gap: 18px;
	counter-increment: cf-step;
}

.cf-page-steps li::before {
	content: "0" counter(cf-step);
	color: var(--cf-accent);
	font-size: 12px;
	font-weight: 800;
}

.cf-page-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: 30px;
	margin-top: 45px;
	background: var(--cf-plum);
	color: #fff;
	border-radius: 15px;
}

.cf-page-cta h2,
.cf-page-cta p {
	color: inherit;
}

.cf-page-cta .wp-element-button {
	background: var(--cf-accent);
	border-radius: 999px;
	white-space: nowrap;
}

@media (max-width: 900px) {
	.cf-benefits__grid,
	.cf-faq__layout {
		gap: 42px;
	}

	.cf-order__steps {
		grid-template-columns: 1fr;
	}

	.cf-footer__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	html {
		scroll-padding-top: calc(var(--cf-header-height) + 12px);
	}

	body .site-header .ast-primary-header-bar,
	body .site-header .ast-primary-header-bar .site-primary-header-wrap,
	body .site-header .ast-builder-grid-row {
		min-height: 64px !important;
	}

	body .site-header .site-logo-img,
	body .site-header .custom-logo-link,
	body .site-header .custom-logo,
	body .site-header .site-logo-img img,
	body .site-header img.custom-logo {
		flex-basis: 50px;
		width: 50px !important;
		height: 50px !important;
		max-width: 50px !important;
		max-height: 50px !important;
	}

	body .site-header .site-title {
		font-size: 13px !important;
	}

	body.admin-bar .site-header {
		top: 46px;
	}

	.ast-mobile-popup-drawer .ast-mobile-popup-overlay {
		background: rgba(20, 12, 24, 0.56);
		backdrop-filter: blur(3px);
	}

	.ast-mobile-popup-drawer .ast-mobile-popup-inner {
		width: min(88vw, 360px);
		max-height: 100dvh;
		overflow-y: auto;
		background: #fffdfd;
		box-shadow: -22px 0 45px rgba(20, 12, 24, 0.2);
	}

	.ast-mobile-popup-drawer .menu-toggle-close {
		display: inline-grid;
		width: 44px;
		height: 44px;
		place-items: center;
	}

	.ast-mobile-popup-drawer .main-header-menu > .menu-item > .menu-link {
		min-height: 50px;
		padding: 10px 20px;
		color: var(--cf-ink);
		border-bottom: 1px solid var(--cf-line);
		font-size: 15px;
		font-weight: 700;
	}

	/* Tools live in the mobile header bar (Pattern A), not inside the panel. */
	body .ast-mobile-popup-drawer .cf-header-tools,
	body .ast-mobile-popup-drawer .menu-item.cf-header-tools {
		display: none !important;
	}

	body.ast-main-header-nav-open {
		overflow: hidden;
	}

	body:not(.corefuel-landing) .site-content,
	body:not(.corefuel-landing) #content.site-content {
		padding-block: 16px 48px !important;
	}

	body:not(.corefuel-landing) .site-content > .ast-container {
		width: min(calc(100% - 40px), var(--cf-shell));
	}

	.cf-hero__actions {
		align-items: flex-start;
		flex-direction: column;
		gap: 15px;
	}

	.cf-hero__panel .cf-text-link {
		color: #fff;
	}

	.cf-trust__grid,
	.cf-benefits__grid,
	.cf-faq__layout {
		grid-template-columns: 1fr;
	}

	.cf-trust__grid > div,
	.cf-trust__grid > div:first-child,
	.cf-trust__grid > div:last-child {
		padding: 13px 0;
		border-right: 0;
		border-bottom: 1px solid var(--cf-line);
	}

	.cf-trust__grid > div:last-child {
		border-bottom: 0;
	}

	.cf-benefits,
	.cf-order,
	.cf-faq {
		padding: 58px 0;
	}

	.cf-benefits__grid,
	.cf-faq__layout {
		gap: 26px;
	}

	.cf-benefits + .cf-flavors {
		padding-top: 58px;
	}

	.cf-order__heading h2,
	.cf-faq h2 {
		font-size: 34px;
	}

	.cf-footer__grid {
		grid-template-columns: 1fr;
	}

	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}

	.woocommerce div.product div.images,
	.woocommerce div.product div.summary {
		float: none;
		width: 100%;
	}

	.woocommerce div.product div.summary {
		padding: 24px 20px;
	}

	.woocommerce div.product form.cart {
		align-items: stretch;
		flex-wrap: wrap;
	}

	.woocommerce table.shop_table th,
	.woocommerce table.shop_table td {
		padding: 12px 9px;
	}

	.cf-page-grid {
		grid-template-columns: 1fr;
	}

	.cf-page-cta {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 359px) {
	.cf-product-grid,
	.cf-product-grid--1,
	.cf-product-grid--2,
	.cf-product-grid--3 {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 601px) {
	body.admin-bar .site-header {
		top: 32px;
	}
}

@media (max-width: 921px) {
	body .site-header .ast-primary-header-bar,
	body .site-header .ast-primary-header-bar .site-primary-header-wrap,
	body .site-header .ast-builder-grid-row {
		min-height: 64px !important;
	}

	body .site-header .site-logo-img,
	body .site-header .custom-logo-link,
	body .site-header .custom-logo,
	body .site-header .site-logo-img img,
	body .site-header img.custom-logo {
		flex-basis: 50px;
		width: 50px !important;
		height: 50px !important;
		max-width: 50px !important;
		max-height: 50px !important;
	}

	.ast-mobile-popup-drawer .ast-mobile-popup-overlay {
		background: rgba(20, 12, 24, 0.56);
		backdrop-filter: blur(3px);
	}

	.ast-mobile-popup-drawer .ast-mobile-popup-inner {
		width: min(88vw, 360px);
		max-height: 100dvh;
		overflow-y: auto;
		background: #fffdfd;
		box-shadow: -22px 0 45px rgba(20, 12, 24, 0.2);
	}

	.ast-mobile-popup-drawer .ast-mobile-popup-header {
		min-height: 66px;
		padding: 10px 16px;
	}

	.ast-mobile-popup-drawer .menu-toggle-close {
		display: inline-grid;
		width: 44px;
		height: 44px;
		place-items: center;
	}

	.ast-mobile-popup-drawer .main-header-menu > .menu-item > .menu-link {
		min-height: 50px;
		padding: 10px 20px;
		color: var(--cf-ink);
		border-bottom: 1px solid var(--cf-line);
		font-size: 15px;
		font-weight: 700;
	}

	body .ast-mobile-popup-drawer .cf-header-tools,
	body .ast-mobile-popup-drawer .menu-item.cf-header-tools {
		display: none !important;
	}
}

@media (max-width: 600px) {
	.cf-footer a {
		display: flex;
		align-items: center;
		min-height: 44px;
	}
}

/* ==========================================================================
   v6.1.0 — Header / logo / tools / mobile / typography hard overrides
   Pattern A: Account + Cart stay in the mobile header bar (beside toggle).
   ========================================================================== */

/* Global typography scale */
body,
.ast-plain-container,
.ast-separate-container {
	font-size: 16.5px;
	line-height: 1.65;
}

.cf-main {
	font-size: 16.5px !important;
	line-height: 1.65;
}

body .site-header .main-header-menu > .menu-item > .menu-link,
body.corefuel-landing .main-header-menu > .menu-item > .menu-link,
body:not(.corefuel-landing) .main-header-menu > .menu-item > .menu-link {
	font-size: 15.5px !important;
	font-weight: 650 !important;
}

.cf-product-card h3,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 17px !important;
	line-height: 1.3 !important;
}

.cf-product-card__price,
.woocommerce ul.products li.product .price {
	font-size: 15px !important;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.cf-button,
.cf-product-card__button {
	font-size: 14px !important;
}

.cf-footer a,
.cf-footer__brand p,
.cf-footer h2 {
	font-size: 14px !important;
}

/* Logo hard constraints — beats Astra inline + 1080px upload */
html body .site-header .ast-primary-header-bar,
html body .site-header .ast-primary-header-bar .site-primary-header-wrap,
html body .site-header .ast-builder-grid-row,
html body.corefuel-landing .site-header .ast-builder-grid-row {
	min-height: 72px !important;
	max-height: none !important;
}

html body .site-header .site-branding,
html body .site-header .ast-site-identity {
	display: flex !important;
	align-items: center !important;
	max-width: min(280px, 42vw) !important;
	overflow: hidden !important;
}

html body .site-header .site-logo-img,
html body .site-header .custom-logo-link,
html body.corefuel-landing .site-header .custom-logo-link {
	display: inline-flex !important;
	flex: 0 0 56px !important;
	align-items: center !important;
	justify-content: center !important;
	width: 56px !important;
	height: 56px !important;
	max-width: 56px !important;
	max-height: 56px !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}

html body .site-header .custom-logo,
html body .site-header .site-logo-img img,
html body .site-header img.custom-logo,
html body .site-header .ast-header-retina,
html body header .custom-logo-link img,
html body.corefuel-landing .site-header .custom-logo,
html body.corefuel-landing .site-header .site-logo-img img {
	display: block !important;
	width: 56px !important;
	height: 56px !important;
	max-width: 56px !important;
	max-height: 56px !important;
	margin: 0 !important;
	object-fit: contain !important;
}

/* Logo already carries brand mark — hide wrapping site title */
html body.wp-custom-logo .site-header .ast-site-title-wrap,
html body.wp-custom-logo .site-header .site-title {
	display: none !important;
}

/* Desktop Account / Cart tools — scoped to desktop header only (never force-show mobile menus). */
html body #ast-desktop-header,
html body #ast-desktop-header .ast-builder-menu-1,
html body #ast-desktop-header .main-navigation,
html body #ast-desktop-header .main-header-menu {
	overflow: visible !important;
}

html body #ast-desktop-header .main-header-menu {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
}

html body #ast-desktop-header .main-header-menu > .menu-item.cf-header-tools {
	display: inline-flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	flex: 0 0 auto !important;
	align-items: center !important;
	align-self: center !important;
	justify-content: flex-end !important;
	gap: 10px !important;
	width: max-content !important;
	min-width: 104px !important;
	max-width: none !important;
	height: 48px !important;
	min-height: 48px !important;
	margin: 0 0 0 12px !important;
	padding: 0 !important;
	list-style: none !important;
	overflow: visible !important;
	z-index: 5 !important;
}

html body #ast-desktop-header .main-header-menu > .menu-item.cf-header-tools > a,
html body #ast-desktop-header .cf-header-tools > a {
	position: relative !important;
	display: inline-flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	flex: 0 0 44px !important;
	align-items: center !important;
	justify-content: center !important;
	float: none !important;
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	min-height: 44px !important;
	max-width: 44px !important;
	padding: 0 !important;
	margin: 0 !important;
	color: #211729 !important;
	border: 1.5px solid rgba(33, 23, 41, 0.22) !important;
	border-radius: 999px !important;
	background: #ffffff !important;
	box-shadow: 0 1px 2px rgba(33, 23, 41, 0.06) !important;
	line-height: 1 !important;
	text-decoration: none !important;
	transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

html body #ast-desktop-header .cf-header-tools > a:hover,
html body #ast-desktop-header .cf-header-tools > a:focus-visible {
	color: var(--cf-accent) !important;
	border-color: rgba(157, 88, 213, 0.55) !important;
	transform: translateY(-1px);
	outline: none;
}

html body #ast-desktop-header .cf-header-tools > a:focus-visible {
	box-shadow: 0 0 0 3px rgba(157, 88, 213, 0.28) !important;
}

html body #ast-desktop-header .cf-header-tools svg {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 24px !important;
	height: 24px !important;
	min-width: 24px !important;
	min-height: 24px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.85 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

html body #ast-desktop-header .cf-header-tools .cf-account-link {
	background: #ffffff !important;
	color: #211729 !important;
}

html body #ast-desktop-header .cf-header-tools .cf-cart-link {
	background: #211729 !important;
	color: #ffffff !important;
	border-color: #211729 !important;
}

html body #ast-desktop-header .cf-header-tools .cf-cart-link:hover,
html body #ast-desktop-header .cf-header-tools .cf-cart-link:focus-visible {
	background: var(--cf-accent) !important;
	border-color: var(--cf-accent) !important;
	color: #fff !important;
}

html body #ast-desktop-header .cf-header-tools .cf-cart-link small {
	position: absolute !important;
	top: -4px !important;
	right: -4px !important;
	display: grid !important;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	background: var(--cf-accent) !important;
	color: #fff !important;
	border: 2px solid #fff !important;
	border-radius: 50% !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	place-items: center !important;
	pointer-events: none;
	z-index: 2;
}

/* Footer: never show cart label / cart icon utility */
.cf-footer .cf-cart-link,
.cf-footer a[href*="/cart"],
.site-footer a[href*="/cart"] {
	display: none !important;
}

/* Fallback: hide Astra powered-by link if markup still renders */
.ast-footer-copyright a[href*="wpastra.com"],
.site-footer a[href*="wpastra.com"],
.ast-small-footer-section a[href*="wpastra.com"] {
	display: none !important;
}

@media (max-width: 921px) {
	html body .site-header .ast-primary-header-bar,
	html body .site-header .ast-primary-header-bar .site-primary-header-wrap,
	html body .site-header .ast-builder-grid-row {
		min-height: 64px !important;
		max-height: none !important;
	}

	html body .site-header .site-logo-img,
	html body .site-header .custom-logo-link,
	html body .site-header .custom-logo,
	html body .site-header .site-logo-img img,
	html body .site-header img.custom-logo,
	html body header .custom-logo-link img {
		flex-basis: 44px !important;
		width: 44px !important;
		height: 44px !important;
		max-width: 44px !important;
		max-height: 44px !important;
	}

	html.cf-nav-locked,
	body.cf-nav-locked,
	body.ast-header-break-point.ast-main-header-nav-open {
		overflow: hidden !important;
	}

	/* Pattern A: Account + Cart in mobile header bar, beside hamburger */
	#ast-mobile-header .site-header-primary-section-right {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 6px !important;
	}

	#ast-mobile-header .cf-mobile-header-tools {
		display: inline-flex !important;
		align-items: center !important;
		gap: 6px !important;
		height: 44px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	#ast-mobile-header .cf-mobile-header-tools > a {
		position: relative !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
		min-height: 40px !important;
		padding: 0 !important;
		color: var(--cf-ink) !important;
		border: 1px solid var(--cf-line) !important;
		border-radius: 999px !important;
		background: #fff !important;
		text-decoration: none !important;
	}

	#ast-mobile-header .cf-mobile-header-tools svg {
		width: 18px !important;
		height: 18px !important;
		fill: none !important;
		stroke: currentColor !important;
		stroke-width: 1.7 !important;
	}

	#ast-mobile-header .cf-mobile-header-tools .cf-cart-link {
		background: var(--cf-ink) !important;
		color: #fff !important;
		border-color: var(--cf-ink) !important;
	}

	#ast-mobile-header .cf-mobile-header-tools .cf-cart-link small {
		position: absolute !important;
		top: -4px !important;
		right: -4px !important;
		display: grid !important;
		width: 17px !important;
		height: 17px !important;
		margin: 0 !important;
		background: var(--cf-accent) !important;
		color: #fff !important;
		border-radius: 50% !important;
		font-size: 9px !important;
		font-weight: 700 !important;
		place-items: center !important;
	}

	#ast-mobile-header .ast-button-wrap .menu-toggle {
		display: inline-grid !important;
		width: 44px !important;
		height: 44px !important;
		place-items: center !important;
	}

	/* Off-canvas panel */
	body.ast-header-break-point #ast-mobile-popup.ast-mobile-popup-drawer,
	body.ast-header-break-point #ast-mobile-popup.ast-mobile-popup-drawer.active {
		z-index: 100000;
	}

	body.ast-header-break-point #ast-mobile-popup .ast-mobile-popup-overlay {
		background: rgba(20, 12, 24, 0.58) !important;
		backdrop-filter: blur(3px);
	}

	body.ast-header-break-point #ast-mobile-popup .ast-mobile-popup-inner {
		display: flex !important;
		flex-direction: column !important;
		width: min(88vw, 360px) !important;
		height: 100% !important;
		max-height: 100dvh !important;
		overflow: hidden !important;
		background: #fffdfd !important;
		box-shadow: -22px 0 45px rgba(20, 12, 24, 0.22);
	}

	body.admin-bar.ast-header-break-point #ast-mobile-popup,
	body.admin-bar.ast-header-break-point #ast-mobile-popup .ast-mobile-popup-inner {
		top: 46px !important;
		height: calc(100% - 46px) !important;
		max-height: calc(100dvh - 46px) !important;
	}

	@media (min-width: 783px) {
		body.admin-bar.ast-header-break-point #ast-mobile-popup,
		body.admin-bar.ast-header-break-point #ast-mobile-popup .ast-mobile-popup-inner {
			top: 32px !important;
			height: calc(100% - 32px) !important;
			max-height: calc(100dvh - 32px) !important;
		}
	}

	body.ast-header-break-point #ast-mobile-popup .ast-mobile-popup-header {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 10px !important;
		flex: 0 0 auto !important;
		min-height: 56px !important;
		padding: 8px 12px 8px 16px !important;
		margin: 0 !important;
		border-bottom: 1px solid var(--cf-line) !important;
	}

	body.ast-header-break-point #ast-mobile-popup .cf-drawer-brand {
		display: inline-flex !important;
		align-items: center !important;
		gap: 8px !important;
		min-width: 0 !important;
		color: var(--cf-ink) !important;
		text-decoration: none !important;
	}

	body.ast-header-break-point #ast-mobile-popup .cf-drawer-brand img {
		width: 36px !important;
		height: 36px !important;
		max-width: 36px !important;
		max-height: 36px !important;
		object-fit: contain !important;
		border-radius: 50% !important;
	}

	body.ast-header-break-point #ast-mobile-popup .cf-drawer-brand span {
		overflow: hidden !important;
		font-size: 14px !important;
		font-weight: 750 !important;
		white-space: nowrap !important;
		text-overflow: ellipsis !important;
	}

	body.ast-header-break-point #ast-mobile-popup .menu-toggle-close {
		display: inline-grid !important;
		width: 44px !important;
		height: 44px !important;
		place-items: center !important;
	}

	body.ast-header-break-point #ast-mobile-popup .ast-mobile-popup-content {
		flex: 1 1 auto !important;
		overflow-y: auto !important;
		padding: 0 0 20px !important;
		-webkit-overflow-scrolling: touch;
	}

	body.ast-header-break-point #ast-mobile-popup .main-header-menu > .menu-item:first-child > .menu-link {
		padding-top: 10px !important;
	}

	body.ast-header-break-point #ast-mobile-popup .main-header-menu,
	body.ast-header-break-point .ast-mobile-header-content .main-header-menu {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		gap: 0 !important;
	}

	body.ast-header-break-point #ast-mobile-popup .main-header-menu > .menu-item > .menu-link,
	body.ast-header-break-point .ast-mobile-header-content .main-header-menu > .menu-item > .menu-link,
	body.ast-header-break-point.corefuel-landing #ast-mobile-popup .main-header-menu > .menu-item > .menu-link,
	body.ast-header-break-point:not(.corefuel-landing) #ast-mobile-popup .main-header-menu > .menu-item > .menu-link,
	body.ast-header-break-point.corefuel-landing .ast-mobile-header-content .main-header-menu > .menu-item > .menu-link,
	body.ast-header-break-point:not(.corefuel-landing) .main-header-menu > .menu-item > .menu-link {
		display: flex !important;
		align-items: center !important;
		width: 100% !important;
		min-height: 44px !important;
		height: auto !important;
		padding: 14px 20px !important;
		margin: 0 !important;
		color: var(--cf-ink) !important;
		border-bottom: 1px solid var(--cf-line) !important;
		font-size: 16px !important;
		font-weight: 700 !important;
		line-height: 1.25 !important;
		white-space: normal !important;
		text-align: left !important;
		background: transparent !important;
	}

	/* Pattern A final: keep Account/Cart only in the mobile header bar. */
	body.ast-header-break-point #ast-mobile-popup .menu-item.cf-header-tools,
	body.ast-header-break-point #ast-mobile-popup .cf-header-tools,
	body.ast-header-break-point .ast-mobile-header-content .menu-item.cf-header-tools {
		display: none !important;
	}

	body.ast-header-break-point .ast-mobile-header-content {
		padding: 0 !important;
		background: #fffdfd !important;
		border-top: 1px solid var(--cf-line) !important;
	}
}

/* ==========================================================================
   v6.2.0 — Mobile storefront responsive harden (320–412)
   ========================================================================== */
html, body {
	overflow-x: clip;
	max-width: 100%;
}

@media (max-width: 921px) {
	.cf-shell,
	.cf-main .cf-shell,
	body:not(.corefuel-landing) .site-content > .ast-container {
		width: min(calc(100% - 40px), var(--cf-shell)) !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.cf-hero__frame,
	.cf-mosaic,
	.cf-product-grid,
	.cf-trust__grid,
	.cf-benefits__grid,
	.cf-faq__layout,
	.cf-order__steps,
	.cf-footer__grid,
	.woocommerce ul.products,
	.woocommerce div.product,
	.woocommerce-cart-form,
	.woocommerce-checkout {
		min-width: 0 !important;
		max-width: 100% !important;
	}

	.cf-hero__panel {
		max-width: 100% !important;
		padding: 20px 0 26px !important;
	}

	.cf-hero__panel h1 {
		font-size: clamp(32px, 9vw, 42px) !important;
		line-height: 1.05 !important;
		word-break: break-word;
	}

	.cf-hero__lede,
	.cf-hero__panel > p:not(.cf-eyebrow),
	.cf-section-heading > p,
	.cf-benefits__copy p,
	.cf-order__steps p {
		font-size: 14.5px !important;
		line-height: 1.55 !important;
	}

	.cf-hero__actions {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 12px 16px !important;
		align-items: center !important;
		flex-direction: row !important;
	}

	.cf-hero__actions .cf-button,
	.cf-button {
		white-space: normal !important;
		text-align: center !important;
		max-width: 100% !important;
	}

	.cf-trust__grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0 !important;
	}

	.cf-trust__grid > div {
		border-right: 0 !important;
		border-bottom: 1px solid var(--cf-line) !important;
		padding: 14px 0 !important;
	}

	.cf-trust__grid > div:last-child {
		border-bottom: 0 !important;
	}

	.cf-mosaic {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}

	.cf-mosaic__tile,
	.cf-mosaic__tile--1,
	.cf-mosaic__tile--2,
	.cf-mosaic__tile--3 {
		min-height: 220px !important;
		height: auto !important;
		grid-column: auto !important;
		grid-row: auto !important;
	}

	.cf-mosaic__tile img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}

	.cf-product-grid,
	.cf-product-grid--2,
	.cf-product-grid--3,
	.cf-product-grid--4,
	.cf-product-grid--5,
	.cf-product-grid--6,
	.woocommerce ul.products {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}

	.cf-product-card,
	.woocommerce ul.products li.product {
		min-width: 0 !important;
		max-width: 100% !important;
	}

	.cf-product-card__footer {
		flex-wrap: wrap !important;
		gap: 8px !important;
	}

	.cf-product-card__footer .button,
	.cf-product-card__button {
		width: 100% !important;
		justify-content: center !important;
		white-space: normal !important;
		font-size: 13px !important;
		padding: 10px 12px !important;
	}

	.cf-footer__grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 28px !important;
	}

	.cf-footer__signup form {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 8px !important;
	}

	.cf-footer__signup button {
		width: 100% !important;
	}

	.woocommerce table.shop_table,
	.woocommerce table.shop_table_responsive {
		display: block !important;
		width: 100% !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
	}

	.woocommerce table.shop_table_responsive tr,
	.woocommerce-page table.shop_table_responsive tr {
		display: block !important;
	}

	.woocommerce table.shop_table_responsive tr td,
	.woocommerce-page table.shop_table_responsive tr td {
		display: block !important;
		text-align: right !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.woocommerce div.product div.images,
	.woocommerce div.product div.summary {
		width: 100% !important;
		float: none !important;
		max-width: 100% !important;
	}

	.woocommerce div.product form.cart {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 10px !important;
		align-items: stretch !important;
	}

	.woocommerce div.product form.cart .button,
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
	.woocommerce-checkout #place_order {
		width: 100% !important;
		max-width: 100% !important;
		white-space: normal !important;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		width: 100% !important;
		float: none !important;
	}

	img, svg, video, canvas {
		max-width: 100% !important;
		height: auto;
	}
}

@media (max-width: 359px) {
	.cf-product-grid,
	.cf-product-grid--1,
	.cf-product-grid--2,
	.cf-product-grid--3,
	.cf-product-grid--4,
	.cf-product-grid--5,
	.cf-product-grid--6,
	.woocommerce ul.products {
		grid-template-columns: 1fr !important;
	}

	.cf-shell {
		width: min(calc(100% - 20px), var(--cf-shell)) !important;
	}
}

/* ==========================================================================
   v6.2.6 — Single sticky header + no double bars
   Sticky ONLY on #masthead (Astra original). Never sticky nested desktop/mobile
   wrappers (that stacked both bars). Never Astra Pro sticky + custom sticky.
   ========================================================================== */
:root {
	--cf-header-height: 72px;
	--cf-header-h: var(--cf-header-height);
	--cf-header-h-mobile: 64px;
}

html {
	scroll-padding-top: calc(var(--cf-header-height) + 12px);
}

/* One sticky surface only. */
html body #masthead.site-header,
html body.corefuel-landing #masthead.site-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 100 !important;
	width: 100% !important;
	max-width: 100% !important;
	background: rgba(250, 246, 252, 0.98) !important;
	backdrop-filter: saturate(1.05) blur(8px);
}

/* Nested header rows must NOT be sticky (prevents double bars). */
html body #ast-desktop-header,
html body #ast-mobile-header,
html body .ast-mobile-header-wrap,
html body .ast-main-header-wrap,
html body .ast-primary-header-bar {
	position: relative !important;
	top: auto !important;
}

/* Mutual exclusion: only one bar visible per viewport. */
html body:not(.ast-header-break-point) #ast-mobile-header {
	display: none !important;
}

html body.ast-header-break-point #ast-desktop-header {
	display: none !important;
}

html body.ast-header-break-point #ast-mobile-header {
	display: block !important;
}

/* Orphan tools row from astra_mobile_header_bar_top must not form a second bar. */
html body #ast-mobile-header > .cf-mobile-header-tools {
	display: none !important;
}

html body #ast-mobile-header .site-header-primary-section-right > .cf-mobile-header-tools {
	display: inline-flex !important;
}

html body .site-header .ast-primary-header-bar,
html body #ast-mobile-header .ast-primary-header-bar {
	background: transparent !important;
}

html body.admin-bar #masthead.site-header {
	top: 32px !important;
}

@media screen and (max-width: 782px) {
	html body.admin-bar #masthead.site-header {
		top: 46px !important;
	}
}

body.ast-header-break-point,
html.ast-header-break-point {
	scroll-padding-top: calc(var(--cf-header-h-mobile) + 12px);
}

@media (max-width: 921px) {
	:root {
		--cf-header-height: var(--cf-header-h-mobile);
	}

	html {
		scroll-padding-top: calc(var(--cf-header-height) + 12px);
	}
}

.cf-main section[id] {
	scroll-margin-top: calc(var(--cf-header-height) + 16px);
}

/* Off-canvas above sticky header. */
body.ast-header-break-point #ast-mobile-popup.ast-mobile-popup-drawer,
body.ast-header-break-point #ast-mobile-popup.ast-mobile-popup-drawer.active {
	position: fixed !important;
	z-index: 100000 !important;
}

body.ast-header-break-point.ast-main-header-nav-open #masthead.site-header {
	z-index: 90 !important;
}

/* Keep sticky alive (overflow:hidden kills position:sticky). */
html body #page,
html body .site,
html body #content,
html body .site-content {
	overflow: visible !important;
}

html body .cf-main {
	overflow-x: clip;
	overflow-y: visible;
}

@media (max-width: 600px) {
	.woocommerce .quantity.cf-qty .cf-qty-btn {
		flex-basis: 42px;
		width: 42px;
		min-width: 42px;
		height: 46px;
		font-size: 20px;
	}

	.woocommerce .quantity.cf-qty .qty {
		width: 50px !important;
		min-width: 50px;
		height: 46px !important;
		min-height: 46px !important;
		font-size: 15px !important;
	}

	.woocommerce div.product form.cart .single_add_to_cart_button {
		flex: 1 1 auto;
		min-width: min(100%, 160px);
	}
}

/* Final qty polish: kill Astra/Woo duplicate ± chrome + unify the control. */
html body.woocommerce-js .quantity.cf-qty,
html body .woocommerce .quantity.cf-qty,
html body.woocommerce-page .quantity.cf-qty {
	display: inline-flex !important;
	align-items: stretch !important;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 1.5px solid rgba(33, 23, 41, 0.16) !important;
	border-radius: 12px !important;
	background: #fff !important;
}

html body.woocommerce-js .quantity.cf-qty > a.minus,
html body.woocommerce-js .quantity.cf-qty > a.plus,
html body.woocommerce-js .quantity.cf-qty .ast-qty-placeholder,
html body .quantity.cf-qty > a.minus,
html body .quantity.cf-qty > a.plus,
html body .quantity.cf-qty .ast-qty-placeholder {
	display: none !important;
}

html body.woocommerce-js .quantity.cf-qty .cf-qty-btn,
html body .quantity.cf-qty .cf-qty-btn {
	display: inline-grid !important;
	place-items: center !important;
	flex: 0 0 44px !important;
	width: 44px !important;
	min-width: 44px !important;
	height: 48px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #f7f2fa !important;
	box-shadow: none !important;
	color: #211729 !important;
	font-size: 22px !important;
	line-height: 1 !important;
}

html body.woocommerce-js .quantity.cf-qty .qty,
html body .quantity.cf-qty .qty {
	width: 56px !important;
	min-width: 56px !important;
	height: 48px !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 0 4px !important;
	border: 0 !important;
	border-left: 1px solid rgba(33, 23, 41, 0.12) !important;
	border-right: 1px solid rgba(33, 23, 41, 0.12) !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	text-align: center !important;
}
