/* ProFit WooCommerce shop and product-category archives. */
.profit-shop-archive {
	overflow: hidden;
	background: var(--profit-white);
	color: var(--profit-ink);
}

.profit-shop-archive h1,
.profit-shop-archive h2,
.profit-shop-archive h3,
.profit-shop-archive p { padding-bottom: 0; }

.profit-shop-hero {
	position: relative;
	padding: clamp(64px, 8vw, 118px) 0;
	overflow: hidden;
	background: var(--profit-cream);
}

.profit-shop-hero::after {
	content: '';
	position: absolute;
	top: -42%;
	right: -7%;
	width: min(44vw, 660px);
	aspect-ratio: 1;
	background: var(--profit-orange);
	border-radius: 45% 55% 55% 45% / 48% 44% 56% 52%;
	transform: rotate(13deg);
}

.profit-shop-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr);
	align-items: center;
	gap: clamp(45px, 7vw, 110px);
}

.profit-shop-hero__copy { max-width: 780px; }

.profit-shop-breadcrumb { min-height: 24px; margin-bottom: 25px; }
.profit-shop-breadcrumb .woocommerce-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	color: #6b6b66;
	font-size: 12px;
	font-weight: 700;
}
.profit-shop-breadcrumb .woocommerce-breadcrumb a { color: var(--profit-black); }
.profit-shop-breadcrumb .woocommerce-breadcrumb a:hover { color: var(--profit-orange-dark); }

.profit-shop-eyebrow {
	margin: 0 0 18px;
	color: var(--profit-orange-dark);
	font-size: 12px;
	font-weight: 850;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.profit-shop-hero h1 {
	margin: 0;
	color: var(--profit-black);
	font-size: clamp(48px, 6.6vw, 92px);
	font-weight: 850;
	letter-spacing: -.045em;
	line-height: .97;
}

.profit-shop-description {
	max-width: 700px;
	margin-top: 25px;
	color: #4a4a46;
	font-size: clamp(17px, 1.5vw, 21px);
	line-height: 1.65;
}

.profit-shop-description > *:last-child { margin-bottom: 0; }

.profit-shop-hero__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin-top: 30px;
	padding: 10px 24px;
	background: var(--profit-orange);
	color: var(--profit-black);
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.profit-shop-hero__button:hover { background: var(--profit-black); color: var(--profit-white); }

.profit-shop-hero__visual {
	position: relative;
	z-index: 1;
	min-width: 0;
	padding: clamp(18px, 2.4vw, 30px);
	background: rgba(255, 255, 255, .94);
	border: 1px solid rgba(16, 16, 16, .09);
	border-radius: 24px;
	box-shadow: 0 28px 80px rgba(16, 16, 16, .17);
	transform: rotate(2deg);
}
.profit-shop-hero__visual span {
	display: block;
	margin-bottom: 13px;
	color: var(--profit-orange-dark);
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.profit-shop-hero__image {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	background: #f8f8f5;
	border-radius: 14px;
}

.profit-shop-categories {
	background: var(--profit-black);
	color: var(--profit-white);
}

.profit-shop-categories__inner {
	display: flex;
	align-items: center;
	gap: 7px;
	padding-top: 14px;
	padding-bottom: 14px;
	overflow-x: auto;
	scrollbar-width: none;
}

.profit-shop-categories__inner::-webkit-scrollbar { display: none; }

.profit-shop-category-link {
	flex: 0 0 auto;
	padding: 10px 18px;
	color: #d7d7d4;
	border: 1px solid #3a3a38;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.profit-shop-category-link:hover,
.profit-shop-category-link.is-current {
	background: var(--profit-orange);
	color: var(--profit-black);
	border-color: var(--profit-orange);
}

.profit-shop-catalogue { padding: clamp(62px, 8vw, 115px) 0; }

.profit-shop-catalogue__heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 35px;
	margin-bottom: 34px;
}
.profit-shop-catalogue__heading .profit-shop-eyebrow { margin-bottom: 9px; }
.profit-shop-catalogue__heading h2,
.profit-category-content h2 {
	margin: 0;
	padding: 0;
	color: var(--profit-black);
	font-size: clamp(31px, 4vw, 54px);
	font-weight: 850;
	letter-spacing: -.035em;
	line-height: 1.05;
}

.profit-product-search {
	display: flex;
	width: min(100%, 430px);
	min-height: 50px;
	padding: 5px;
	background: var(--profit-white);
	border: 1px solid var(--profit-border);
	border-radius: 999px;
}
.profit-product-search input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0 14px;
	background: transparent;
	color: var(--profit-black);
	border: 0;
	font-size: 14px;
	box-shadow: none;
}
.profit-product-search input[type="search"]:focus { outline: 0; }
.profit-product-search:focus-within { border-color: var(--profit-black); box-shadow: 0 0 0 3px rgba(241, 89, 33, .13); }
.profit-product-search button {
	flex: 0 0 auto;
	padding: 0 20px;
	background: var(--profit-black);
	color: var(--profit-white);
	border: 0;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
}
.profit-product-search button:hover { background: var(--profit-orange); color: var(--profit-black); }

/* Neutralise wrappers added by WooCommerce/Divi hooks inside our shell. */
.profit-shop-catalogue #main-content,
.profit-shop-catalogue #left-area,
.profit-shop-catalogue .container,
.profit-shop-catalogue .container::before {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background: transparent;
	box-shadow: none;
}

.profit-shop-catalogue #sidebar { display: none; }

.profit-shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 25px;
	min-height: 52px;
	margin-bottom: 32px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--profit-border);
}

.profit-shop-toolbar::after { content: ''; display: block; clear: both; }

.profit-shop-toolbar .woocommerce-notices-wrapper { flex-basis: 100%; }

.profit-shop-toolbar .woocommerce-result-count,
.profit-shop-toolbar .woocommerce-ordering {
	float: none;
	margin: 0;
}

.profit-shop-toolbar .woocommerce-result-count {
	color: var(--profit-grey);
	font-size: 14px;
}

.profit-shop-toolbar .woocommerce-ordering select {
	min-height: 46px;
	padding: 0 42px 0 16px;
	background-color: var(--profit-white);
	color: var(--profit-black);
	border: 1px solid var(--profit-border);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
}

.profit-shop-catalogue ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin: 0 !important;
}

.profit-shop-catalogue ul.products::before,
.profit-shop-catalogue ul.products::after { display: none !important; }

.profit-shop-catalogue ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	width: auto !important;
	margin: 0 !important;
	padding: 15px 15px 20px !important;
	background: var(--profit-white);
	border: 1px solid var(--profit-border);
	border-radius: 15px;
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.profit-shop-catalogue ul.products li.product .woocommerce-loop-product__link {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}

.profit-shop-catalogue ul.products li.product:hover {
	transform: translateY(-5px);
	border-color: #c8c6bd;
	box-shadow: var(--profit-shadow);
}

.profit-shop-catalogue ul.products li.product a img {
	width: 100%;
	aspect-ratio: 1 / 1;
	margin: 0 0 17px !important;
	object-fit: contain;
	background: #f8f8f5;
	border-radius: 10px;
}

.profit-shop-catalogue ul.products li.product .woocommerce-loop-product__title {
	min-height: 50px;
	padding: 0 !important;
	color: var(--profit-black);
	font-size: 15px !important;
	font-weight: 800;
	line-height: 1.45;
}

.profit-shop-catalogue ul.products li.product .price {
	display: block;
	margin-top: auto;
	padding-top: 11px;
	color: var(--profit-black) !important;
	font-size: 16px !important;
	font-weight: 850 !important;
}

.profit-shop-catalogue ul.products li.product .price del {
	margin-right: 5px;
	color: var(--profit-grey);
	opacity: .7;
}

.profit-shop-catalogue ul.products li.product .price ins { text-decoration: none; }

.profit-shop-catalogue ul.products li.product .star-rating {
	margin: 10px 0 0;
	color: var(--profit-orange-dark);
}

.profit-shop-catalogue ul.products li.product .button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	margin-top: 17px !important;
	padding: 9px 12px !important;
	background: var(--profit-orange) !important;
	color: var(--profit-black) !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 850 !important;
	letter-spacing: .045em;
	line-height: 1.2 !important;
	text-align: center;
	text-transform: uppercase;
}

.profit-shop-catalogue ul.products li.product .button:hover {
	background: var(--profit-black) !important;
	color: var(--profit-white) !important;
}

.profit-shop-catalogue ul.products li.product .button::after { display: none !important; }

.profit-shop-catalogue ul.products li.product .added_to_cart {
	display: block;
	margin-top: 10px;
	color: var(--profit-black);
	font-size: 12px;
	font-weight: 800;
	text-align: center;
	text-decoration: underline;
}

.profit-shop-catalogue ul.products li.product .onsale {
	top: 25px !important;
	right: 25px !important;
	left: auto !important;
	min-width: 0;
	min-height: 0;
	margin: 0 !important;
	padding: 7px 10px !important;
	background: var(--profit-black) !important;
	color: var(--profit-white) !important;
	border-radius: 999px !important;
	font-size: 10px !important;
	font-weight: 850 !important;
	letter-spacing: .06em;
	line-height: 1 !important;
	text-transform: uppercase;
}

.profit-shop-pagination { margin-top: 52px; }

.profit-shop-pagination .woocommerce-pagination ul.page-numbers {
	display: flex;
	justify-content: center;
	gap: 7px;
	margin: 0;
	border: 0;
}

.profit-shop-pagination .woocommerce-pagination ul.page-numbers li { border: 0; }

.profit-shop-pagination .woocommerce-pagination .page-numbers a,
.profit-shop-pagination .woocommerce-pagination .page-numbers span {
	display: grid;
	place-items: center;
	min-width: 43px;
	height: 43px;
	padding: 0 10px;
	background: var(--profit-white);
	color: var(--profit-black);
	border: 1px solid var(--profit-border);
	border-radius: 50%;
	font-weight: 800;
}

.profit-shop-pagination .woocommerce-pagination .page-numbers .current,
.profit-shop-pagination .woocommerce-pagination .page-numbers a:hover {
	background: var(--profit-black);
	color: var(--profit-white);
	border-color: var(--profit-black);
}

.profit-shop-empty {
	padding: 45px;
	background: var(--profit-cream);
	border-radius: var(--profit-radius);
}

.profit-category-content {
	padding: clamp(70px, 8vw, 115px) 0;
	background: var(--profit-cream);
}
.profit-category-content__inner { max-width: 1120px; }
.profit-category-content .profit-shop-eyebrow { margin-bottom: 12px; }
.profit-category-content__body {
	margin-top: 30px;
	columns: 2;
	column-gap: clamp(45px, 7vw, 90px);
	color: #454541;
	font-size: 16px;
	line-height: 1.75;
}
.profit-category-content__body > * { break-inside: avoid; }
.profit-category-content__body h2,
.profit-category-content__body h3,
.profit-category-content__body h4 {
	margin: 28px 0 10px;
	color: var(--profit-black);
	font-size: 21px;
	line-height: 1.25;
}
.profit-category-content__body h2:first-child,
.profit-category-content__body h3:first-child,
.profit-category-content__body h4:first-child { margin-top: 0; }
.profit-category-content__body p { margin: 0 0 18px; }
.profit-category-content__body ul { margin: 0 0 20px 20px; }
.profit-category-content__body a { color: var(--profit-orange-dark); text-decoration: underline; }

.profit-shop-reassurance { background: var(--profit-black); color: var(--profit-white); }

.profit-shop-reassurance__grid { display: grid; grid-template-columns: repeat(3, 1fr); }

.profit-shop-reassurance__grid > div {
	padding: 30px 34px;
	border-right: 1px solid #393937;
}

.profit-shop-reassurance__grid > div:first-child { padding-left: 0; }
.profit-shop-reassurance__grid > div:last-child { border-right: 0; }
.profit-shop-reassurance strong,
.profit-shop-reassurance span { display: block; }
.profit-shop-reassurance strong { margin-bottom: 6px; color: var(--profit-orange); font-size: 13px; letter-spacing: .045em; text-transform: uppercase; }
.profit-shop-reassurance span { color: #cececa; font-size: 13px; }

@media (max-width: 1100px) {
	.profit-shop-hero__inner { grid-template-columns: minmax(0, 1.05fr) minmax(290px, .75fr); gap: 45px; }
	.profit-shop-catalogue ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
	.profit-shop-hero__inner { grid-template-columns: 1fr; }
	.profit-shop-hero__visual { width: min(100%, 520px); transform: none; }
	.profit-shop-hero::after { top: auto; right: -28%; bottom: -55%; width: 75vw; opacity: .55; }
	.profit-shop-catalogue__heading { align-items: flex-start; flex-direction: column; }
	.profit-product-search { width: 100%; }
	.profit-shop-toolbar { align-items: flex-start; flex-direction: column; }
	.profit-shop-catalogue ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.profit-category-content__body { columns: 1; }
	.profit-shop-reassurance__grid { grid-template-columns: 1fr; }
	.profit-shop-reassurance__grid > div,
	.profit-shop-reassurance__grid > div:first-child { padding: 21px 0; border-right: 0; border-bottom: 1px solid #393937; }
	.profit-shop-reassurance__grid > div:last-child { border-bottom: 0; }
}

@media (max-width: 520px) {
	.profit-shop-hero h1 { font-size: 45px; }
	.profit-shop-hero__visual { padding: 12px; border-radius: 16px; }
	.profit-shop-hero__image { border-radius: 10px; }
	.profit-shop-category-link { padding: 9px 14px; font-size: 10px; }
	.profit-product-search button { padding-inline: 15px; }
	.profit-shop-catalogue ul.products li.product { padding: 9px 9px 14px !important; }
	.profit-shop-catalogue ul.products li.product .woocommerce-loop-product__title { min-height: 52px; font-size: 13px !important; }
	.profit-shop-catalogue ul.products li.product .button { min-height: 42px; padding-inline: 7px !important; font-size: 9px !important; }
	.profit-shop-catalogue ul.products li.product .onsale { top: 16px !important; right: 16px !important; }
}

/* Cart page. */
.woocommerce-cart .entry-title,
.profit-cart-view .entry-title { display: none; }

/*
 * Markup-based fallbacks for Divi installs where the assigned WooCommerce
 * Cart page is not reflected in the body classes. These activate only when
 * our custom cart template is actually present.
 */
body:has(.profit-cart-page) .entry-title,
body:has(.profit-empty-cart) .entry-title,
body:has(.profit-cart-page) #sidebar,
body:has(.profit-empty-cart) #sidebar,
body:has(.profit-cart-page) #main-content .container::before,
body:has(.profit-empty-cart) #main-content .container::before {
	display: none !important;
}

body:has(.profit-cart-page) #main-content .container,
body:has(.profit-cart-page) #left-area,
body:has(.profit-empty-cart) #main-content .container,
body:has(.profit-empty-cart) #left-area {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-cart #main-content .container,
.woocommerce-cart #left-area,
.profit-cart-view #main-content .container,
.profit-cart-view #left-area {
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
}

.woocommerce-cart #main-content .container::before,
.woocommerce-cart #sidebar,
.profit-cart-view #main-content .container::before,
.profit-cart-view #sidebar { display: none !important; }

.woocommerce-cart #left-area,
.profit-cart-view #left-area {
	float: none !important;
	padding-right: 0 !important;
}

.woocommerce-cart #main-content,
.profit-cart-view #main-content { background: var(--profit-white); }

/* Cart notices are printed before the custom cart template, so they need
 * body-level selectors rather than relying on .profit-cart-page. */
.woocommerce-cart .woocommerce-notices-wrapper,
.profit-cart-view .woocommerce-notices-wrapper {
	width: var(--profit-commerce-shell);
	margin: 28px auto 0 !important;
}

.woocommerce-cart .woocommerce-notices-wrapper:empty,
.profit-cart-view .woocommerce-notices-wrapper:empty { display: none; }

.woocommerce-cart .woocommerce-message,
.profit-cart-view .woocommerce-message {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 72px;
	margin: 0 !important;
	padding: 18px 210px 18px 58px !important;
	background: var(--profit-white) !important;
	color: var(--profit-black) !important;
	border: 1px solid var(--profit-border) !important;
	border-left: 5px solid var(--profit-orange) !important;
	border-radius: 12px !important;
	box-shadow: 0 10px 30px rgba(20, 20, 18, .06);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}

.woocommerce-cart .woocommerce-message::before,
.profit-cart-view .woocommerce-message::before {
	top: 50% !important;
	left: 22px !important;
	color: var(--profit-orange-dark) !important;
	transform: translateY(-50%);
}

.woocommerce-cart .woocommerce-message .button,
.profit-cart-view .woocommerce-message .button {
	position: absolute;
	top: 50%;
	right: 18px;
	float: none !important;
	min-height: 42px;
	margin: 0 !important;
	padding: 13px 20px !important;
	background: var(--profit-black) !important;
	color: var(--profit-white) !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 850 !important;
	letter-spacing: .05em;
	line-height: 1.2 !important;
	text-transform: uppercase;
	transform: translateY(-50%);
}

.woocommerce-cart .woocommerce-message .button:hover,
.profit-cart-view .woocommerce-message .button:hover {
	background: var(--profit-orange) !important;
	color: var(--profit-black) !important;
}

.profit-cart-page {
	display: block;
	width: var(--profit-commerce-shell);
	margin: 0 auto;
	padding: clamp(52px, 7vw, 96px) 0 clamp(72px, 8vw, 120px);
	color: var(--profit-ink);
}

.profit-cart-page .woocommerce-cart-form { margin: 0; }

.profit-cart-hero { max-width: 760px; margin-bottom: 48px; }
.profit-cart-eyebrow { margin: 0 0 12px; color: var(--profit-orange-dark); font-size: 12px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.profit-cart-hero h1,
.profit-empty-cart h1 { margin: 0; padding: 0; color: var(--profit-black); font-size: clamp(42px, 5vw, 68px); font-weight: 850; letter-spacing: -.04em; line-height: 1; }
.profit-cart-hero > p:last-child { max-width: 650px; margin: 20px 0 0; color: #555550; font-size: 17px; line-height: 1.65; }

.profit-cart-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(320px, .8fr); align-items: start; gap: 32px; }
.profit-cart-products,
.profit-cart-summary { min-width: 0; }

.profit-cart-products .shop_table { margin: 0 !important; border: 1px solid var(--profit-border) !important; border-collapse: separate !important; border-spacing: 0; border-radius: 16px !important; overflow: hidden; }
.profit-cart-products .shop_table th { padding: 16px 13px !important; background: var(--profit-cream); color: #5a5a56; border: 0 !important; border-bottom: 1px solid var(--profit-border) !important; font-size: 11px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.profit-cart-products .shop_table td { padding: 18px 13px !important; background: var(--profit-white); border: 0 !important; border-bottom: 1px solid var(--profit-border) !important; vertical-align: middle; }
.profit-cart-products .shop_table tr:last-child td { border-bottom: 0 !important; }
.profit-cart-products .product-remove { width: 42px; text-align: center; }
.profit-cart-products .product-remove a.remove { display: inline-grid; place-items: center; width: 28px; height: 28px; color: #6d6d68 !important; border: 1px solid #d8d7d0; font-size: 22px; font-weight: 400; line-height: 1; }
.profit-cart-products .product-remove a.remove:hover { background: var(--profit-black) !important; color: var(--profit-white) !important; border-color: var(--profit-black); }
.profit-cart-products .product-thumbnail { width: 104px; }
.profit-cart-products .product-thumbnail img { width: 82px !important; height: 82px; object-fit: contain; background: #f8f8f5; border-radius: 9px; }
.profit-cart-products .product-name a { color: var(--profit-black); font-size: 15px; font-weight: 800; line-height: 1.4; }
.profit-cart-products .product-name a:hover { color: var(--profit-orange-dark); }
.profit-cart-products .variation { margin-top: 7px !important; color: #6b6b66; font-size: 12px; }
.profit-cart-products .variation dt,
.profit-cart-products .variation dd { margin-bottom: 2px !important; }
.profit-cart-products .product-price,
.profit-cart-products .product-subtotal { color: var(--profit-black); font-size: 14px; font-weight: 800; white-space: nowrap; }
.profit-cart-products .quantity .qty { width: 72px; min-height: 42px; padding: 6px; border: 1px solid var(--profit-border); border-radius: 8px; color: var(--profit-black); font-weight: 750; }

.profit-cart-actions-row .actions { padding: 20px !important; }
.profit-cart-actions-row .actions::after { content: ''; display: table; clear: both; }
.profit-cart-actions-row .coupon { display: flex; float: left !important; gap: 8px; }
.profit-cart-actions-row .coupon .input-text { width: 150px !important; min-height: 44px; padding: 10px 13px !important; border: 1px solid var(--profit-border) !important; border-radius: 8px !important; }
.profit-cart-page button.button,
.profit-cart-page a.button { min-height: 44px; padding: 13px 20px !important; border: 0 !important; border-radius: 999px !important; font-size: 11px !important; font-weight: 850 !important; letter-spacing: .05em; line-height: 1.2 !important; text-transform: uppercase; }
.profit-cart-actions-row .coupon button,
.profit-update-cart { background: var(--profit-black) !important; color: var(--profit-white) !important; }
.profit-cart-actions-row .coupon button:hover,
.profit-update-cart:hover { background: #343431 !important; color: var(--profit-white) !important; }

.profit-cart-summary { position: sticky; top: 112px; padding: 27px; background: var(--profit-cream); border: 1px solid var(--profit-border); border-radius: 16px; }
.profit-cart-summary .cart_totals { float: none !important; width: 100% !important; }
.profit-cart-summary .cart_totals h2 { margin: 0 0 18px; padding: 0; color: var(--profit-black); font-size: 25px; font-weight: 850; letter-spacing: -.025em; }
.profit-cart-summary .shop_table { margin: 0 0 22px !important; border: 0 !important; border-collapse: collapse !important; }
.profit-cart-summary .shop_table th,
.profit-cart-summary .shop_table td { padding: 14px 0 !important; background: transparent !important; border: 0 !important; border-bottom: 1px solid #d8d6cc !important; color: var(--profit-black); font-size: 14px; }
.profit-cart-summary .shop_table td { text-align: right; }
.profit-cart-summary .order-total th,
.profit-cart-summary .order-total td { border-bottom: 0 !important; font-size: 17px; }
.profit-cart-summary .wc-proceed-to-checkout { padding: 0 !important; }
.profit-cart-summary .checkout-button { display: flex !important; align-items: center; justify-content: center; width: 100%; margin: 0 !important; background: var(--profit-orange) !important; color: var(--profit-black) !important; font-size: 12px !important; }
.profit-cart-summary .checkout-button:hover { background: var(--profit-black) !important; color: var(--profit-white) !important; }
.profit-cart-summary .woocommerce-shipping-destination,
.profit-cart-summary .woocommerce-shipping-calculator { font-size: 12px; line-height: 1.5; }
.profit-cart-trust { margin-top: 22px; padding-top: 20px; border-top: 1px solid #d8d6cc; }
.profit-cart-trust p { margin: 0 0 14px; padding: 0; }
.profit-cart-trust p:last-child { margin-bottom: 0; }
.profit-cart-trust strong,
.profit-cart-trust span { display: block; }
.profit-cart-trust strong { margin-bottom: 3px; color: var(--profit-black); font-size: 12px; font-weight: 850; text-transform: uppercase; }
.profit-cart-trust span { color: #666660; font-size: 12px; line-height: 1.5; }

.profit-empty-cart { width: min(760px, calc(100% - 40px)); margin: clamp(60px, 8vw, 115px) auto; padding: clamp(45px, 7vw, 80px); background: var(--profit-cream); border: 1px solid var(--profit-border); border-radius: 20px; text-align: center; }
.profit-empty-cart__icon { display: grid; place-items: center; width: 82px; height: 82px; margin: 0 auto 25px; background: var(--profit-orange); color: var(--profit-black); border-radius: 50%; }
.profit-empty-cart h1 { font-size: clamp(36px, 5vw, 56px); }
.profit-empty-cart > p:not(.profit-cart-eyebrow) { max-width: 570px; margin: 22px auto 28px; color: #5b5b56; font-size: 16px; line-height: 1.65; }
.profit-empty-cart__button { display: inline-flex !important; align-items: center; justify-content: center; background: var(--profit-orange) !important; color: var(--profit-black) !important; }
.profit-empty-cart__button:hover { background: var(--profit-black) !important; color: var(--profit-white) !important; }

@media (max-width: 980px) {
	.profit-cart-layout { grid-template-columns: 1fr; }
	.profit-cart-summary { position: static; }
}

@media (max-width: 760px) {
	.woocommerce-cart .woocommerce-notices-wrapper,
	.profit-cart-view .woocommerce-notices-wrapper { width: min(100% - 28px, 680px); margin-top: 18px !important; }
	.woocommerce-cart .woocommerce-message,
	.profit-cart-view .woocommerce-message { display: block; min-height: 0; padding: 18px 18px 18px 50px !important; font-size: 14px; }
	.woocommerce-cart .woocommerce-message::before,
	.profit-cart-view .woocommerce-message::before { top: 21px !important; left: 18px !important; transform: none; }
	.woocommerce-cart .woocommerce-message .button,
	.profit-cart-view .woocommerce-message .button { position: static; display: flex !important; width: fit-content; margin-top: 14px !important; transform: none; }
	.profit-cart-page { width: min(100% - 28px, 680px); }
	.profit-cart-hero { margin-bottom: 32px; }
	.profit-cart-products .shop_table { display: block; border: 0 !important; overflow: visible; }
	.profit-cart-products .shop_table thead { display: none; }
	.profit-cart-products .shop_table tbody,
	.profit-cart-products .shop_table tr,
	.profit-cart-products .shop_table td { display: block; width: 100% !important; }
	.profit-cart-products .shop_table tr.cart_item { position: relative; display: grid; grid-template-columns: 92px 1fr; gap: 0 15px; margin-bottom: 14px; padding: 15px; background: var(--profit-white); border: 1px solid var(--profit-border); border-radius: 14px; }
	.profit-cart-products .shop_table tr.cart_item td { padding: 5px 0 !important; border: 0 !important; }
	.profit-cart-products .shop_table tr.cart_item .product-remove { position: absolute; top: 9px; right: 9px; width: auto !important; z-index: 1; }
	.profit-cart-products .shop_table tr.cart_item .product-thumbnail { grid-row: 1 / span 4; }
	.profit-cart-products .product-thumbnail img { width: 92px !important; height: 92px; }
	.profit-cart-products .shop_table tr.cart_item .product-name { padding-right: 34px !important; }
	.profit-cart-products .shop_table tr.cart_item .product-price,
	.profit-cart-products .shop_table tr.cart_item .product-quantity,
	.profit-cart-products .shop_table tr.cart_item .product-subtotal { grid-column: 2; display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 13px; }
	.profit-cart-products .shop_table tr.cart_item td[data-title]::before { content: attr(data-title); color: #777771; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
	.profit-cart-actions-row { display: block !important; }
	.profit-cart-actions-row .actions { display: flex !important; flex-direction: column; gap: 10px; padding: 15px 0 !important; background: transparent !important; }
	.profit-cart-actions-row .coupon { display: grid; grid-template-columns: 1fr auto; float: none !important; width: 100%; }
	.profit-cart-actions-row .coupon .input-text { width: 100% !important; }
	.profit-update-cart { width: 100% !important; }
}

@media (max-width: 480px) {
	.profit-cart-products .shop_table tr.cart_item { grid-template-columns: 76px 1fr; gap: 0 12px; }
	.profit-cart-products .product-thumbnail img { width: 76px !important; height: 76px; }
	.profit-cart-actions-row .coupon { grid-template-columns: 1fr; }
	.profit-cart-summary { padding: 22px 18px; }
}

/* Checkout page. */
.woocommerce-checkout .entry-title,
.profit-checkout-view .entry-title { display: none; }

body:has(.profit-checkout-page) .entry-title,
body:has(.profit-checkout-page) #sidebar,
body:has(.profit-checkout-page) #main-content .container::before {
	display: none !important;
}

body:has(.profit-checkout-page) #main-content .container,
body:has(.profit-checkout-page) #left-area,
.woocommerce-checkout #main-content .container,
.woocommerce-checkout #left-area,
.profit-checkout-view #main-content .container,
.profit-checkout-view #left-area {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-checkout #main-content .container::before,
.woocommerce-checkout #sidebar,
.profit-checkout-view #main-content .container::before,
.profit-checkout-view #sidebar { display: none !important; }

.woocommerce-checkout #main-content,
.profit-checkout-view #main-content { background: var(--profit-white); }

/*
 * Classic-checkout fallback. This also styles WooCommerce's own
 * form-checkout.php output if the child-theme override is temporarily bypassed
 * by a page-builder or stale template cache.
 */
.profit-checkout-view #main-content .entry-content,
.woocommerce-checkout #main-content .entry-content {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.profit-checkout-view form.woocommerce-checkout:not(.profit-checkout-form),
.woocommerce-checkout form.woocommerce-checkout:not(.profit-checkout-form) {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(370px, .8fr);
	align-items: start;
	gap: 34px;
	width: var(--profit-commerce-shell);
	margin: 0 auto !important;
	padding: clamp(52px, 7vw, 96px) 0 clamp(72px, 8vw, 120px);
}

.profit-checkout-view form.woocommerce-checkout:not(.profit-checkout-form) #customer_details,
.woocommerce-checkout form.woocommerce-checkout:not(.profit-checkout-form) #customer_details {
	float: none !important;
	width: 100% !important;
	padding: clamp(25px, 3vw, 38px);
	background: var(--profit-white);
	border: 1px solid var(--profit-border);
	border-radius: 16px;
}

.profit-checkout-view form.woocommerce-checkout:not(.profit-checkout-form) #order_review_heading,
.profit-checkout-view form.woocommerce-checkout:not(.profit-checkout-form) #order_review,
.woocommerce-checkout form.woocommerce-checkout:not(.profit-checkout-form) #order_review_heading,
.woocommerce-checkout form.woocommerce-checkout:not(.profit-checkout-form) #order_review {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding-right: 28px !important;
	padding-left: 28px !important;
	background: var(--profit-cream);
	border-right: 1px solid var(--profit-border);
	border-left: 1px solid var(--profit-border);
}

.profit-checkout-view form.woocommerce-checkout:not(.profit-checkout-form) #order_review_heading,
.woocommerce-checkout form.woocommerce-checkout:not(.profit-checkout-form) #order_review_heading {
	padding-top: 28px !important;
	padding-bottom: 18px !important;
	border-top: 1px solid var(--profit-border);
	border-radius: 16px 16px 0 0;
}

.profit-checkout-view form.woocommerce-checkout:not(.profit-checkout-form) #order_review,
.woocommerce-checkout form.woocommerce-checkout:not(.profit-checkout-form) #order_review {
	padding-bottom: 28px !important;
	border-bottom: 1px solid var(--profit-border);
	border-radius: 0 0 16px 16px;
}

.profit-checkout-view form.woocommerce-checkout:not(.profit-checkout-form) #customer_details .col-1,
.profit-checkout-view form.woocommerce-checkout:not(.profit-checkout-form) #customer_details .col-2,
.woocommerce-checkout form.woocommerce-checkout:not(.profit-checkout-form) #customer_details .col-1,
.woocommerce-checkout form.woocommerce-checkout:not(.profit-checkout-form) #customer_details .col-2 {
	float: none !important;
	width: 100% !important;
}

.profit-checkout-view form.woocommerce-checkout:not(.profit-checkout-form) #customer_details .col-2,
.woocommerce-checkout form.woocommerce-checkout:not(.profit-checkout-form) #customer_details .col-2 { margin-top: 28px; }

.profit-checkout-page {
	display: block;
	width: var(--profit-commerce-shell);
	margin: 0 auto;
	padding: clamp(52px, 7vw, 96px) 0 clamp(72px, 8vw, 120px);
	color: var(--profit-ink);
}

.profit-checkout-hero { max-width: 770px; margin-bottom: 48px; }
.profit-checkout-eyebrow { margin: 0 0 12px; color: var(--profit-orange-dark); font-size: 12px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.profit-checkout-hero h1 { margin: 0; padding: 0; color: var(--profit-black); font-size: clamp(42px, 5vw, 68px); font-weight: 850; letter-spacing: -.04em; line-height: 1; }
.profit-checkout-hero > p:last-child { max-width: 680px; margin: 20px 0 0; color: #555550; font-size: 17px; line-height: 1.65; }

.profit-checkout-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(370px, .8fr); align-items: start; gap: 34px; }
.profit-checkout-details,
.profit-checkout-summary { min-width: 0; }
.profit-checkout-details { padding: clamp(25px, 3vw, 38px); border: 1px solid var(--profit-border); border-radius: 16px; }
.profit-checkout-details .col2-set,
.profit-checkout-details .col-1,
.profit-checkout-details .col-2 { float: none !important; width: 100% !important; }
.profit-checkout-details .col-2 { margin-top: 28px; }

.profit-checkout-page h3,
.profit-checkout-summary > h2 { margin: 0 0 22px; padding: 0; color: var(--profit-black); font-size: clamp(22px, 2.2vw, 29px); font-weight: 850; letter-spacing: -.025em; line-height: 1.2; }
.profit-checkout-page #ship-to-different-address { margin-bottom: 18px; font-size: 16px; }
.profit-checkout-page #ship-to-different-address label { display: flex; align-items: center; gap: 9px; cursor: pointer; }

.profit-checkout-page .form-row { margin: 0 0 17px !important; padding: 0 !important; }
.profit-checkout-page .form-row-first,
.profit-checkout-page .form-row-last { width: calc(50% - 7px) !important; }
.profit-checkout-page .form-row label { display: block; margin: 0 0 7px; color: var(--profit-black); font-size: 12px; font-weight: 800; letter-spacing: .025em; line-height: 1.4; }
.profit-checkout-page .form-row label .required { color: var(--profit-orange-dark); }
.profit-checkout-page .input-text,
.profit-checkout-page select,
.profit-checkout-page .select2-container .select2-selection--single {
	width: 100%;
	min-height: 50px;
	padding: 12px 14px;
	background: var(--profit-white);
	color: var(--profit-black);
	border: 1px solid #cbc9c0;
	border-radius: 9px;
	font-size: 15px;
	line-height: 1.4;
}
.profit-checkout-page textarea.input-text { min-height: 110px; resize: vertical; }
.profit-checkout-page .select2-container .select2-selection--single { padding: 10px 13px; }
.profit-checkout-page .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; color: var(--profit-black); line-height: 28px; }
.profit-checkout-page .select2-container--default .select2-selection--single .select2-selection__arrow { top: 11px; right: 8px; }
.profit-checkout-page .input-text:focus,
.profit-checkout-page select:focus,
.profit-checkout-page .select2-container--focus .select2-selection--single { outline: 2px solid var(--profit-orange-soft); border-color: var(--profit-orange-dark); }

.profit-checkout-summary { position: sticky; top: 112px; padding: 28px; background: var(--profit-cream); border: 1px solid var(--profit-border); border-radius: 16px; }
.profit-checkout-summary > h2 { font-size: 27px; }
.profit-checkout-summary .woocommerce-checkout-review-order-table { margin: 0 0 24px !important; border: 0 !important; border-collapse: collapse !important; }
.profit-checkout-summary .woocommerce-checkout-review-order-table th,
.profit-checkout-summary .woocommerce-checkout-review-order-table td { padding: 13px 0 !important; background: transparent !important; color: var(--profit-black); border: 0 !important; border-bottom: 1px solid #d8d6cc !important; font-size: 13px; line-height: 1.5; }
.profit-checkout-summary .woocommerce-checkout-review-order-table th { font-weight: 800; text-align: left; }
.profit-checkout-summary .woocommerce-checkout-review-order-table td { text-align: right; }
.profit-checkout-summary .woocommerce-checkout-review-order-table thead th { color: #686862; font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }
.profit-checkout-summary .woocommerce-checkout-review-order-table .product-name { padding-right: 18px !important; }
.profit-checkout-summary .woocommerce-checkout-review-order-table .product-quantity { color: #6b6b66; font-weight: 700; }
.profit-checkout-summary .woocommerce-checkout-review-order-table .variation { margin-top: 5px !important; color: #6b6b66; font-size: 11px; }
.profit-checkout-summary .woocommerce-checkout-review-order-table .variation dt,
.profit-checkout-summary .woocommerce-checkout-review-order-table .variation dd { margin-bottom: 1px !important; }
.profit-checkout-summary .woocommerce-checkout-review-order-table .order-total th,
.profit-checkout-summary .woocommerce-checkout-review-order-table .order-total td { padding-top: 18px !important; border-bottom: 0 !important; font-size: 17px; }

.profit-checkout-summary #payment { background: transparent !important; border-radius: 0 !important; }
.profit-checkout-summary #payment ul.payment_methods { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.profit-checkout-summary #payment ul.payment_methods li { margin: 0 0 10px !important; padding: 14px !important; background: var(--profit-white); border: 1px solid var(--profit-border); border-radius: 10px; line-height: 1.45; }
.profit-checkout-summary #payment ul.payment_methods li > label { color: var(--profit-black); font-size: 13px; font-weight: 800; cursor: pointer; }
.profit-checkout-summary #payment ul.payment_methods li img { max-height: 28px; margin-left: 8px; vertical-align: middle; }
.profit-checkout-summary #payment div.payment_box { width: auto; margin: 13px -4px -4px !important; padding: 13px !important; background: var(--profit-cream) !important; color: #555550; border-radius: 8px; font-size: 12px; line-height: 1.55; }
.profit-checkout-summary #payment div.payment_box::before { display: none !important; }
.profit-checkout-summary #payment .place-order { margin: 18px 0 0 !important; padding: 0 !important; }
.profit-checkout-summary #payment .woocommerce-privacy-policy-text,
.profit-checkout-summary #payment .woocommerce-terms-and-conditions-wrapper { color: #62625d; font-size: 11px; line-height: 1.55; }
.profit-checkout-summary #payment #place_order { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; margin-top: 18px; padding: 14px 20px !important; background: var(--profit-orange) !important; color: var(--profit-black) !important; border: 0 !important; border-radius: 999px !important; font-size: 12px !important; font-weight: 850 !important; letter-spacing: .05em; line-height: 1.2 !important; text-transform: uppercase; }
.profit-checkout-summary #payment #place_order:hover { background: var(--profit-black) !important; color: var(--profit-white) !important; }
.profit-checkout-summary #payment #place_order::after { display: none !important; }

.profit-checkout-trust { margin-top: 22px; padding-top: 20px; border-top: 1px solid #d8d6cc; }
.profit-checkout-trust p { margin: 0 0 14px; padding: 0; }
.profit-checkout-trust p:last-child { margin-bottom: 0; }
.profit-checkout-trust strong,
.profit-checkout-trust span { display: block; }
.profit-checkout-trust strong { margin-bottom: 3px; color: var(--profit-black); font-size: 11px; font-weight: 850; letter-spacing: .035em; text-transform: uppercase; }
.profit-checkout-trust span { color: #666660; font-size: 12px; line-height: 1.5; }

.profit-checkout-view .woocommerce-form-login,
.profit-checkout-view .checkout_coupon,
body:has(.profit-checkout-page) .woocommerce-form-login,
body:has(.profit-checkout-page) .checkout_coupon { width: var(--profit-commerce-shell); margin: 0 auto 20px !important; padding: 22px !important; border: 1px solid var(--profit-border) !important; border-radius: 12px !important; }
.profit-checkout-view .woocommerce-form-coupon-toggle,
.profit-checkout-view .woocommerce-form-login-toggle { width: var(--profit-commerce-shell); margin: 24px auto 0; }
.profit-checkout-view .woocommerce-form-coupon-toggle .woocommerce-info,
.profit-checkout-view .woocommerce-form-login-toggle .woocommerce-info {
	position: relative;
	width: 100%;
	margin: 0 !important;
	padding: 20px 24px 20px 58px !important;
	background: var(--profit-white) !important;
	color: var(--profit-black) !important;
	border: 1px solid var(--profit-border) !important;
	border-left: 5px solid var(--profit-orange) !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 28px rgba(20, 20, 18, .06);
	font-size: 15px !important;
	font-weight: 650;
	line-height: 1.5 !important;
}
.profit-checkout-view .woocommerce-form-coupon-toggle .woocommerce-info::before,
.profit-checkout-view .woocommerce-form-login-toggle .woocommerce-info::before {
	top: 50% !important;
	left: 22px !important;
	color: var(--profit-orange-dark) !important;
	transform: translateY(-50%);
}
.profit-checkout-view .woocommerce-form-coupon-toggle .woocommerce-info a,
.profit-checkout-view .woocommerce-form-login-toggle .woocommerce-info a {
	color: var(--profit-orange-dark) !important;
	font-weight: 850;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.profit-checkout-view .woocommerce-form-coupon-toggle .woocommerce-info a:hover,
.profit-checkout-view .woocommerce-form-login-toggle .woocommerce-info a:hover { color: var(--profit-black) !important; }
.profit-checkout-view .woocommerce-info { border-top-color: var(--profit-orange) !important; }
.profit-checkout-view .woocommerce-info::before { color: var(--profit-orange-dark) !important; }
.profit-checkout-view .woocommerce-error,
.profit-checkout-view .woocommerce-message,
.profit-checkout-view .woocommerce-info { width: var(--profit-commerce-shell); margin-left: auto !important; margin-right: auto !important; }

@media (max-width: 980px) {
	.profit-checkout-layout { grid-template-columns: 1fr; }
	.profit-checkout-summary { position: static; }
	.profit-checkout-view form.woocommerce-checkout:not(.profit-checkout-form),
	.woocommerce-checkout form.woocommerce-checkout:not(.profit-checkout-form) { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
	.profit-checkout-page { width: min(100% - 28px, 680px); }
	.profit-checkout-hero { margin-bottom: 32px; }
	.profit-checkout-details,
	.profit-checkout-summary { padding: 22px 18px; }
	.profit-checkout-page .form-row-first,
	.profit-checkout-page .form-row-last { float: none !important; width: 100% !important; }
	.profit-checkout-summary .woocommerce-checkout-review-order-table th,
	.profit-checkout-summary .woocommerce-checkout-review-order-table td { font-size: 12px; }
	.profit-checkout-view form.woocommerce-checkout:not(.profit-checkout-form),
	.woocommerce-checkout form.woocommerce-checkout:not(.profit-checkout-form) { width: min(100% - 28px, 680px); }
	.profit-checkout-view form.woocommerce-checkout:not(.profit-checkout-form) #customer_details,
	.woocommerce-checkout form.woocommerce-checkout:not(.profit-checkout-form) #customer_details,
	.profit-checkout-view form.woocommerce-checkout:not(.profit-checkout-form) #order_review_heading,
	.profit-checkout-view form.woocommerce-checkout:not(.profit-checkout-form) #order_review,
	.woocommerce-checkout form.woocommerce-checkout:not(.profit-checkout-form) #order_review_heading,
	.woocommerce-checkout form.woocommerce-checkout:not(.profit-checkout-form) #order_review { padding-right: 18px !important; padding-left: 18px !important; }
	.profit-checkout-view .woocommerce-form-coupon-toggle,
	.profit-checkout-view .woocommerce-form-login-toggle { width: min(100% - 28px, 680px); }
	.profit-checkout-view .woocommerce-form-coupon-toggle .woocommerce-info,
	.profit-checkout-view .woocommerce-form-login-toggle .woocommerce-info { padding: 17px 18px 17px 48px !important; font-size: 14px !important; }
	.profit-checkout-view .woocommerce-form-coupon-toggle .woocommerce-info::before,
	.profit-checkout-view .woocommerce-form-login-toggle .woocommerce-info::before { left: 17px !important; }
}

/* Order Pay and Order Received endpoints. */
.profit-order-pay-view #left-area,
.profit-order-received-view #left-area { float: none !important; width: 100% !important; padding-right: 0 !important; }
.profit-order-pay-view #main-content .container,
.profit-order-received-view #main-content .container { width: min(1120px, calc(100% - 40px)) !important; max-width: 1120px !important; padding: clamp(55px, 8vw, 100px) 0 clamp(75px, 9vw, 125px) !important; }
.profit-order-pay-view #main-content .container::before,
.profit-order-received-view #main-content .container::before,
.profit-order-pay-view #sidebar,
.profit-order-received-view #sidebar { display: none !important; }
.profit-order-pay-view .entry-title,
.profit-order-received-view .entry-title { margin: 0 0 30px; color: var(--profit-black); font-size: clamp(40px, 5vw, 66px); font-weight: 900; letter-spacing: -.05em; line-height: 1; }
.profit-order-pay-view .woocommerce,
.profit-order-received-view .woocommerce { color: var(--profit-ink); }
.profit-order-received-view .woocommerce-order { display: grid; gap: 25px; }
.profit-order-received-view .woocommerce-thankyou-order-received { margin: 0 !important; padding: 25px 28px !important; background: var(--profit-cream); color: var(--profit-black); border: 1px solid var(--profit-border); border-left: 5px solid var(--profit-orange); border-radius: 14px; font-size: clamp(20px, 2.5vw, 28px); font-weight: 850; line-height: 1.35; }
.profit-order-received-view ul.woocommerce-order-overview { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 0 !important; padding: 0 !important; overflow: hidden; background: var(--profit-border); border: 1px solid var(--profit-border); border-radius: 14px; }
.profit-order-received-view ul.woocommerce-order-overview li { min-width: 0; margin: 0 !important; padding: 20px !important; background: var(--profit-white); color: var(--profit-grey); border: 0 !important; font-size: 10px; font-weight: 800; letter-spacing: .075em; line-height: 1.45; text-transform: uppercase; }
.profit-order-received-view ul.woocommerce-order-overview li strong { display: block; margin-top: 7px; color: var(--profit-black); font-size: 14px; letter-spacing: 0; overflow-wrap: anywhere; text-transform: none; }
.profit-order-received-view .woocommerce-order-details,
.profit-order-received-view .woocommerce-customer-details,
.profit-order-pay-view #order_review { margin: 0 !important; padding: clamp(24px, 4vw, 40px); background: var(--profit-white); border: 1px solid var(--profit-border); border-radius: 16px; }
.profit-order-received-view .woocommerce-order-details__title,
.profit-order-received-view .woocommerce-column__title,
.profit-order-pay-view #order_review_heading { margin: 0 0 22px; color: var(--profit-black); font-size: clamp(24px, 3vw, 34px); font-weight: 850; letter-spacing: -.03em; }
.profit-order-received-view table.shop_table,
.profit-order-pay-view table.shop_table { width: 100%; margin: 0 0 25px !important; border: 1px solid var(--profit-border) !important; border-collapse: separate !important; border-radius: 12px; overflow: hidden; }
.profit-order-received-view table.shop_table th,
.profit-order-received-view table.shop_table td,
.profit-order-pay-view table.shop_table th,
.profit-order-pay-view table.shop_table td { padding: 15px !important; background: var(--profit-white) !important; color: var(--profit-black); border-color: var(--profit-border) !important; }
.profit-order-pay-view #payment { background: var(--profit-cream) !important; border: 1px solid var(--profit-border); border-radius: 14px !important; }
.profit-order-pay-view #payment ul.payment_methods { padding: 22px !important; border-color: var(--profit-border) !important; }
.profit-order-pay-view #payment .form-row { padding: 22px !important; }
.profit-order-pay-view #place_order { min-height: 52px; padding: 14px 24px !important; background: var(--profit-orange) !important; color: var(--profit-black) !important; border: 0 !important; border-radius: 999px !important; font-size: 12px !important; font-weight: 850 !important; letter-spacing: .06em; text-transform: uppercase; }
.profit-order-pay-view #place_order:hover { background: var(--profit-black) !important; color: var(--profit-white) !important; }
.profit-order-pay-view #place_order::after { display: none !important; }

@media (max-width: 820px) {
	.profit-order-received-view ul.woocommerce-order-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
	.profit-order-pay-view #main-content .container,
	.profit-order-received-view #main-content .container { width: min(100% - 28px, 680px) !important; }
	.profit-order-received-view ul.woocommerce-order-overview { grid-template-columns: 1fr; }
}

/* Individual product page. */
.profit-single-product-page {
	overflow: hidden;
	background: var(--profit-white);
	color: var(--profit-ink);
}

.profit-single-product-page h1,
.profit-single-product-page h2,
.profit-single-product-page h3,
.profit-single-product-page p { padding-bottom: 0; }

.profit-single-product-breadcrumb { padding-top: 29px; padding-bottom: 19px; }
.profit-single-product-breadcrumb .woocommerce-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	color: #6b6b66;
	font-size: 12px;
	font-weight: 700;
}
.profit-single-product-breadcrumb .woocommerce-breadcrumb a { color: var(--profit-black); }
.profit-single-product-breadcrumb .woocommerce-breadcrumb a:hover { color: var(--profit-orange-dark); }

.profit-single-product-main { padding: 20px 0 clamp(72px, 8vw, 118px); }
.profit-single-product-shell > .woocommerce-notices-wrapper { margin-bottom: 25px; }

.profit-single-product-shell div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
	align-items: start;
	gap: clamp(42px, 6vw, 92px);
	margin: 0;
}
.profit-single-product-shell div.product::before,
.profit-single-product-shell div.product::after { display: none !important; }
.profit-single-product-shell div.product .woocommerce-product-gallery,
.profit-single-product-shell div.product .summary {
	float: none !important;
	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
}

.profit-single-product-shell div.product .woocommerce-product-gallery { position: sticky; top: 112px; }
.profit-single-product-shell .woocommerce-product-gallery__wrapper {
	background: #f7f7f4;
	border: 1px solid var(--profit-border);
	border-radius: 20px;
}
.profit-single-product-shell .woocommerce-product-gallery__image a { display: flex; align-items: center; justify-content: center; }
.profit-single-product-shell .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	border-radius: 20px;
}
.profit-single-product-shell .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin: 13px 0 0 !important;
}
.profit-single-product-shell .flex-control-thumbs li { float: none !important; width: auto !important; margin: 0 !important; }
.profit-single-product-shell .flex-control-thumbs img {
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: #f7f7f4;
	border: 1px solid var(--profit-border);
	border-radius: 9px;
	opacity: .7;
}
.profit-single-product-shell .flex-control-thumbs img.flex-active,
.profit-single-product-shell .flex-control-thumbs img:hover { border-color: var(--profit-orange); opacity: 1; }
.profit-single-product-shell .woocommerce-product-gallery__trigger {
	top: 17px !important;
	right: 17px !important;
	display: grid !important;
	place-items: center;
	width: 43px !important;
	height: 43px !important;
	background: var(--profit-white) !important;
	border: 1px solid var(--profit-border);
	box-shadow: 0 8px 25px rgba(16, 16, 16, .1);
}

.profit-single-product-shell div.product .onsale {
	top: 17px !important;
	left: 17px !important;
	right: auto !important;
	min-width: 0;
	min-height: 0;
	margin: 0 !important;
	padding: 8px 12px !important;
	background: var(--profit-black) !important;
	color: var(--profit-white) !important;
	border-radius: 999px !important;
	font-size: 10px !important;
	font-weight: 850 !important;
	letter-spacing: .06em;
	line-height: 1 !important;
	text-transform: uppercase;
}

.profit-single-product-shell div.product .summary {
	padding: clamp(25px, 3vw, 43px);
	background: var(--profit-cream);
	border: 1px solid var(--profit-border);
	border-radius: 20px;
}
.profit-single-product-shell div.product .summary .product_title {
	margin: 0;
	color: var(--profit-black);
	font-size: clamp(35px, 4.2vw, 58px);
	font-weight: 850;
	letter-spacing: -.04em;
	line-height: 1.03;
}
.profit-single-product-shell .woocommerce-product-rating { display: flex; align-items: center; gap: 11px; margin: 18px 0 0 !important; }
.profit-single-product-shell .star-rating { color: var(--profit-orange-dark); }
.profit-single-product-shell .woocommerce-review-link { color: #5b5b56; font-size: 12px; font-weight: 750; text-decoration: underline; }
.profit-single-product-shell div.product .summary .price {
	margin: 23px 0 0;
	color: var(--profit-black) !important;
	font-size: clamp(25px, 3vw, 36px) !important;
	font-weight: 850 !important;
	line-height: 1.2;
}
.profit-single-product-shell div.product .summary .price del { margin-right: 7px; color: #777771; font-size: .68em; opacity: .75; }
.profit-single-product-shell div.product .summary .price ins { text-decoration: none; }
.profit-single-product-shell div.product .summary .woocommerce-product-details__short-description { margin-top: 24px; color: #464642; font-size: 15px; line-height: 1.75; }
.profit-single-product-shell div.product .summary .woocommerce-product-details__short-description > * { margin: 0 0 14px; }
.profit-single-product-shell div.product .summary .stock { margin: 18px 0 0; color: #28723c; font-size: 12px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.profit-single-product-shell div.product .summary .stock.out-of-stock { color: #a32d2d; }

.profit-single-product-shell div.product form.cart {
	display: block;
	margin: 27px 0 0 !important;
	padding-top: 25px;
	border-top: 1px solid #d8d6cc;
}
.profit-single-product-shell div.product form.cart::after { content: ''; display: block; clear: both; }
.profit-single-product-shell div.product form.cart .variations { width: 100%; margin: 0 0 18px !important; border: 0 !important; }
.profit-single-product-shell div.product form.cart .variations tr,
.profit-single-product-shell div.product form.cart .variations th,
.profit-single-product-shell div.product form.cart .variations td { display: block; width: 100%; padding: 0 !important; background: transparent !important; border: 0 !important; }
.profit-single-product-shell div.product form.cart .variations th { margin-bottom: 8px; }
.profit-single-product-shell div.product form.cart .variations tr + tr { margin-top: 17px; }
.profit-single-product-shell div.product form.cart .variations label { color: var(--profit-black); font-size: 12px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.profit-single-product-shell div.product form.cart select {
	width: 100%;
	min-height: 50px;
	padding: 0 42px 0 15px;
	background-color: var(--profit-white);
	color: var(--profit-black);
	border: 1px solid #c8c6bd;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 700;
}
.profit-single-product-shell .reset_variations { display: inline-block; margin-top: 8px; color: var(--profit-orange-dark); font-size: 11px; font-weight: 800; text-decoration: underline; }
.profit-single-product-shell .single_variation_wrap { margin-top: 17px; }
.profit-single-product-shell .woocommerce-variation-description { margin-bottom: 14px; color: #555550; font-size: 13px; line-height: 1.6; }
.profit-single-product-shell .woocommerce-variation-price { margin-bottom: 15px; }
.profit-single-product-shell div.product form.cart .quantity { float: left !important; width: 83px; margin: 0 10px 0 0 !important; }
.profit-single-product-shell div.product form.cart .qty {
	width: 100%;
	height: 52px;
	padding: 0 8px;
	background: var(--profit-white);
	color: var(--profit-black);
	border: 1px solid #c8c6bd;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 800;
}
.profit-single-product-shell div.product form.cart .single_add_to_cart_button {
	float: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 13px 27px !important;
	background: var(--profit-orange) !important;
	color: var(--profit-black) !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	letter-spacing: .055em;
	line-height: 1.2 !important;
	text-transform: uppercase;
}
.profit-single-product-shell div.product form.cart .single_add_to_cart_button:hover { background: var(--profit-black) !important; color: var(--profit-white) !important; }
.profit-single-product-shell div.product form.cart .single_add_to_cart_button::after { display: none !important; }
.profit-single-product-shell div.product form.cart .single_add_to_cart_button.disabled { cursor: not-allowed; opacity: .5; }

.profit-single-product-shell .product_meta {
	display: grid;
	gap: 7px;
	margin-top: 28px;
	padding-top: 22px;
	color: #676762;
	border-top: 1px solid #d8d6cc;
	font-size: 11px;
	line-height: 1.5;
}
.profit-single-product-shell .product_meta > span { display: block; }
.profit-single-product-shell .product_meta a { color: var(--profit-black); font-weight: 800; text-decoration: underline; }

.profit-single-product-shell .woocommerce-tabs,
.profit-single-product-shell .upsells,
.profit-single-product-shell .related { grid-column: 1 / -1; width: 100%; margin: clamp(64px, 8vw, 105px) 0 0 !important; }
.profit-single-product-shell .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 30px !important; padding: 0 !important; border: 0 !important; }
.profit-single-product-shell .woocommerce-tabs ul.tabs::before,
.profit-single-product-shell .woocommerce-tabs ul.tabs li::before,
.profit-single-product-shell .woocommerce-tabs ul.tabs li::after { display: none !important; }
.profit-single-product-shell .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; background: var(--profit-white) !important; border: 1px solid var(--profit-border) !important; border-radius: 999px !important; }
.profit-single-product-shell .woocommerce-tabs ul.tabs li a { padding: 11px 19px !important; color: #595954 !important; font-size: 11px !important; font-weight: 850 !important; letter-spacing: .045em; text-transform: uppercase; }
.profit-single-product-shell .woocommerce-tabs ul.tabs li.active { background: var(--profit-black) !important; border-color: var(--profit-black) !important; }
.profit-single-product-shell .woocommerce-tabs ul.tabs li.active a { color: var(--profit-white) !important; }
.profit-single-product-shell .woocommerce-Tabs-panel {
	margin: 0 !important;
	padding: clamp(27px, 4vw, 50px) !important;
	background: var(--profit-cream);
	border: 1px solid var(--profit-border);
	border-radius: 18px;
	color: #454541;
	font-size: 15px;
	line-height: 1.75;
}
.profit-single-product-shell .woocommerce-Tabs-panel > h2:first-child { margin-top: 0; }
.profit-single-product-shell .woocommerce-Tabs-panel h2,
.profit-single-product-shell .woocommerce-Tabs-panel h3 { margin: 28px 0 12px; color: var(--profit-black); font-size: clamp(23px, 3vw, 34px); font-weight: 850; line-height: 1.2; }
.profit-single-product-shell .woocommerce-Tabs-panel p { margin: 0 0 16px; }
.profit-single-product-shell .woocommerce-Tabs-panel ul { margin: 0 0 18px 20px; list-style: disc; }
.profit-single-product-shell .woocommerce-Tabs-panel table { width: 100%; background: var(--profit-white); border: 1px solid var(--profit-border); border-collapse: collapse; }
.profit-single-product-shell .woocommerce-Tabs-panel table th,
.profit-single-product-shell .woocommerce-Tabs-panel table td { padding: 13px 15px !important; background: transparent !important; border: 1px solid var(--profit-border) !important; text-align: left; }

.profit-single-product-shell #reviews #comments,
.profit-single-product-shell #reviews #review_form_wrapper { width: 100%; }
.profit-single-product-shell #reviews .commentlist { padding: 0; }
.profit-single-product-shell #reviews .commentlist li { margin-bottom: 18px !important; }
.profit-single-product-shell #reviews .comment_container { padding: 20px; background: var(--profit-white); border: 1px solid var(--profit-border); border-radius: 12px; }
.profit-single-product-shell #reviews .comment-text { margin: 0 0 0 64px !important; padding: 0 !important; border: 0 !important; }
.profit-single-product-shell #reviews #respond { margin-top: 30px; padding: 25px; background: var(--profit-white); border: 1px solid var(--profit-border); border-radius: 12px; }
.profit-single-product-shell #reviews input[type="text"],
.profit-single-product-shell #reviews input[type="email"],
.profit-single-product-shell #reviews textarea { width: 100%; padding: 13px 15px; background: var(--profit-white); color: var(--profit-black); border: 1px solid #c8c6bd; border-radius: 9px; }
.profit-single-product-shell #reviews .form-submit input { padding: 12px 23px !important; background: var(--profit-black) !important; color: var(--profit-white) !important; border: 0 !important; border-radius: 999px !important; font-weight: 850 !important; }

.profit-single-product-shell .upsells > h2,
.profit-single-product-shell .related > h2 { margin: 0 0 29px; color: var(--profit-black); font-size: clamp(30px, 4vw, 50px); font-weight: 850; letter-spacing: -.035em; line-height: 1.08; }
.profit-single-product-shell .upsells ul.products,
.profit-single-product-shell .related ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 0 !important; }
.profit-single-product-shell .upsells ul.products::before,
.profit-single-product-shell .upsells ul.products::after,
.profit-single-product-shell .related ul.products::before,
.profit-single-product-shell .related ul.products::after { display: none !important; }
.profit-single-product-shell .upsells ul.products li.product,
.profit-single-product-shell .related ul.products li.product {
	display: flex;
	flex-direction: column;
	width: auto !important;
	margin: 0 !important;
	padding: 14px 14px 18px !important;
	background: var(--profit-white);
	border: 1px solid var(--profit-border);
	border-radius: 14px;
	transition: transform .25s ease, box-shadow .25s ease;
}
.profit-single-product-shell .upsells ul.products li.product:hover,
.profit-single-product-shell .related ul.products li.product:hover { transform: translateY(-4px); box-shadow: var(--profit-shadow); }
.profit-single-product-shell .upsells .woocommerce-loop-product__link,
.profit-single-product-shell .related .woocommerce-loop-product__link { flex: 1 1 auto; display: flex; flex-direction: column; }
.profit-single-product-shell .upsells ul.products li.product img,
.profit-single-product-shell .related ul.products li.product img { aspect-ratio: 1 / 1; margin: 0 0 15px !important; object-fit: contain; background: #f7f7f4; border-radius: 9px; }
.profit-single-product-shell .upsells .woocommerce-loop-product__title,
.profit-single-product-shell .related .woocommerce-loop-product__title { min-height: 48px; padding: 0 !important; color: var(--profit-black); font-size: 14px !important; font-weight: 800; line-height: 1.4; }
.profit-single-product-shell .upsells .price,
.profit-single-product-shell .related .price { display: block; margin-top: auto; padding-top: 10px; color: var(--profit-black) !important; font-size: 15px !important; font-weight: 850 !important; }
.profit-single-product-shell .upsells ul.products li.product .button,
.profit-single-product-shell .related ul.products li.product .button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 43px;
	margin-top: 15px !important;
	padding: 9px 10px !important;
	background: var(--profit-orange) !important;
	color: var(--profit-black) !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-size: 10px !important;
	font-weight: 850 !important;
	letter-spacing: .04em;
	line-height: 1.2 !important;
	text-align: center;
	text-transform: uppercase;
}
.profit-single-product-shell .upsells ul.products li.product .button:hover,
.profit-single-product-shell .related ul.products li.product .button:hover { background: var(--profit-black) !important; color: var(--profit-white) !important; }
.profit-single-product-shell .upsells ul.products li.product .button::after,
.profit-single-product-shell .related ul.products li.product .button::after { display: none !important; }
.profit-single-product-shell .upsells .added_to_cart,
.profit-single-product-shell .related .added_to_cart { margin-top: 9px; color: var(--profit-black); font-size: 11px; font-weight: 800; text-align: center; text-decoration: underline; }

.profit-product-reassurance { background: var(--profit-black); color: var(--profit-white); }
.profit-product-reassurance__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.profit-product-reassurance__grid > div { padding: 30px 34px; border-right: 1px solid #393937; }
.profit-product-reassurance__grid > div:first-child { padding-left: 0; }
.profit-product-reassurance__grid > div:last-child { border-right: 0; }
.profit-product-reassurance strong,
.profit-product-reassurance span { display: block; }
.profit-product-reassurance strong { margin-bottom: 6px; color: var(--profit-orange); font-size: 13px; letter-spacing: .045em; text-transform: uppercase; }
.profit-product-reassurance span { color: #cececa; font-size: 13px; }

@media (max-width: 1050px) {
	.profit-single-product-shell div.product { grid-template-columns: minmax(0, 1fr) minmax(350px, .9fr); gap: 35px; }
	.profit-single-product-shell .upsells ul.products,
	.profit-single-product-shell .related ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
	.profit-single-product-shell div.product { grid-template-columns: 1fr; }
	.profit-single-product-shell div.product .woocommerce-product-gallery { position: static; }
	.profit-single-product-shell .woocommerce-tabs,
	.profit-single-product-shell .upsells,
	.profit-single-product-shell .related { grid-column: 1; }
	.profit-single-product-shell .upsells ul.products,
	.profit-single-product-shell .related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.profit-product-reassurance__grid { grid-template-columns: 1fr; }
	.profit-product-reassurance__grid > div,
	.profit-product-reassurance__grid > div:first-child { padding: 21px 0; border-right: 0; border-bottom: 1px solid #393937; }
	.profit-product-reassurance__grid > div:last-child { border-bottom: 0; }
}

@media (max-width: 520px) {
	.profit-single-product-breadcrumb { padding-top: 20px; padding-bottom: 10px; }
	.profit-single-product-main { padding-top: 10px; }
	.profit-single-product-shell div.product .summary { padding: 23px 18px; border-radius: 15px; }
	.profit-single-product-shell div.product .summary .product_title { font-size: 35px; }
	.profit-single-product-shell .flex-control-thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
	.profit-single-product-shell div.product form.cart .quantity { width: 70px; }
	.profit-single-product-shell div.product form.cart .single_add_to_cart_button { padding-inline: 18px !important; font-size: 10px !important; }
	.profit-single-product-shell .woocommerce-tabs ul.tabs { display: grid; grid-template-columns: 1fr; }
	.profit-single-product-shell .woocommerce-tabs ul.tabs li a { display: block; text-align: center; }
	.profit-single-product-shell .woocommerce-Tabs-panel { padding: 23px 18px !important; }
	.profit-single-product-shell .upsells ul.products li.product,
	.profit-single-product-shell .related ul.products li.product { padding: 9px 9px 14px !important; }
	.profit-single-product-shell .upsells .woocommerce-loop-product__title,
	.profit-single-product-shell .related .woocommerce-loop-product__title { min-height: 52px; font-size: 12px !important; }
	.profit-single-product-shell .upsells ul.products li.product .button,
	.profit-single-product-shell .related ul.products li.product .button { min-height: 40px; padding-inline: 6px !important; font-size: 9px !important; }
}

/* v1.7.0: explicit, conversion-focused product structure. */
.profit-single-product-breadcrumb { padding-top: 22px; padding-bottom: 8px; }
.profit-single-product-main { padding: 12px 0 clamp(72px, 8vw, 112px); }

.profit-single-product-shell div.product.profit-product-view {
	display: block;
	width: 100%;
	max-width: none;
}

.profit-product-commerce {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
	align-items: start;
	gap: clamp(42px, 6vw, 88px);
}

.profit-product-gallery-column,
.profit-product-purchase { min-width: 0; }
.profit-single-product-shell div.product .profit-product-gallery-column .woocommerce-product-gallery {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

.profit-single-product-shell div.product .profit-product-purchase {
	position: sticky;
	top: 108px;
	display: block;
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: clamp(28px, 3vw, 42px);
	background: var(--profit-cream);
	border: 1px solid var(--profit-border);
	border-radius: 20px;
	box-shadow: 0 18px 55px rgba(18, 18, 17, .08);
}

.profit-product-kicker {
	margin: 0 0 13px !important;
	color: var(--profit-orange-dark);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.profit-single-product-shell div.product .profit-product-purchase .product_title {
	font-size: clamp(36px, 3.6vw, 52px);
	line-height: 1.02;
}

.profit-single-product-shell div.product .profit-product-purchase .woocommerce-product-details__short-description {
	margin-top: 20px;
	font-size: 15px;
	line-height: 1.65;
}
.profit-single-product-shell .woocommerce-product-details__short-description ul {
	display: grid;
	gap: 8px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}
.profit-single-product-shell .woocommerce-product-details__short-description li {
	position: relative;
	padding-left: 23px;
}
.profit-single-product-shell .woocommerce-product-details__short-description li::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: var(--profit-orange-dark);
	font-weight: 900;
}

.profit-size-help {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin: 25px 0 -14px;
	padding-top: 23px;
	border-top: 1px solid #d8d6cc;
}
.profit-size-help span {
	color: var(--profit-black);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .055em;
	text-transform: uppercase;
}
.profit-size-help a {
	color: var(--profit-orange-dark);
	font-size: 12px;
	font-weight: 850;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.profit-single-product-shell div.product .profit-product-purchase form.cart {
	margin-top: 25px !important;
	padding-top: 0;
	border-top: 0;
}
.profit-single-product-shell .profit-product-purchase form.cart:not(.variations_form),
.profit-single-product-shell .profit-product-purchase .woocommerce-variation-add-to-cart {
	display: grid !important;
	grid-template-columns: 82px minmax(0, 1fr);
	gap: 10px;
}
.profit-single-product-shell .profit-product-purchase .woocommerce-variation-add-to-cart::before,
.profit-single-product-shell .profit-product-purchase .woocommerce-variation-add-to-cart::after { display: none !important; }
.profit-single-product-shell div.product .profit-product-purchase form.cart .quantity {
	float: none !important;
	width: 82px;
	margin: 0 !important;
}
.profit-single-product-shell div.product .profit-product-purchase form.cart .single_add_to_cart_button {
	float: none !important;
	width: 100%;
	min-height: 56px;
	padding: 15px 24px !important;
	background: var(--profit-orange) !important;
	color: var(--profit-black) !important;
	font-size: 13px !important;
	box-shadow: 0 11px 25px rgba(241, 89, 33, .24);
}
.profit-single-product-shell div.product .profit-product-purchase form.cart .single_add_to_cart_button:not(.disabled):hover {
	background: var(--profit-black) !important;
	color: var(--profit-white) !important;
	box-shadow: none;
}

.profit-purchase-reassurance {
	display: grid;
	gap: 0;
	margin-top: 24px;
	padding: 8px 17px;
	background: var(--profit-white);
	border: 1px solid var(--profit-border);
	border-radius: 13px;
}
.profit-purchase-reassurance > a,
.profit-purchase-reassurance > div {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	color: var(--profit-black);
	border-bottom: 1px solid #e4e2da;
}
.profit-purchase-reassurance > :last-child { border-bottom: 0; }
.profit-purchase-reassurance__icon {
	flex: 0 0 24px;
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	background: rgba(241, 89, 33, .12);
	color: var(--profit-orange-dark);
	border-radius: 50%;
	font-size: 12px;
	font-weight: 900;
}
.profit-purchase-reassurance strong,
.profit-purchase-reassurance small { display: block; }
.profit-purchase-reassurance strong { font-size: 12px; line-height: 1.35; }
.profit-purchase-reassurance small { margin-top: 2px; color: #686863; font-size: 11px; line-height: 1.4; }
.profit-purchase-reassurance a:hover strong { color: var(--profit-orange-dark); }

.profit-single-product-shell .profit-product-purchase .product_meta { margin-top: 20px; }
.profit-single-product-shell .profit-product-purchase .product_meta .posted_in,
.profit-single-product-shell .profit-product-purchase .product_meta .tagged_as { display: none; }

/* Keep express wallets available without allowing them to overpower Add to cart. */
.profit-product-purchase #wc-stripe-payment-request-wrapper,
.profit-product-purchase .wc-stripe-payment-request-wrapper,
.profit-product-purchase .wcpay-payment-request-wrapper,
.profit-product-purchase .ppc-button-wrapper,
.profit-product-purchase .paypal-buttons {
	max-width: 100%;
	margin-top: 12px !important;
	opacity: .92;
}

.profit-product-details { width: 100%; }
.profit-single-product-shell .profit-product-details .woocommerce-tabs,
.profit-single-product-shell .profit-product-details .upsells,
.profit-single-product-shell .profit-product-details .related {
	width: 100%;
	margin: clamp(62px, 8vw, 100px) 0 0 !important;
}

@media (max-width: 980px) {
	.profit-product-commerce { grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr); gap: 32px; }
	.profit-single-product-shell div.product .profit-product-purchase { top: 92px; padding: 26px; }
}

@media (max-width: 800px) {
	.profit-product-commerce { grid-template-columns: 1fr; }
	.profit-single-product-shell div.product .profit-product-purchase,
	.profit-single-product-shell div.product .profit-product-gallery-column .woocommerce-product-gallery { position: static; }
	.profit-product-details { grid-column: auto; }
}

@media (max-width: 520px) {
	.profit-single-product-main { padding-top: 8px; }
	.profit-single-product-shell div.product .profit-product-purchase { padding: 23px 18px; }
	.profit-size-help { align-items: flex-start; flex-direction: column; gap: 5px; }
	.profit-single-product-shell .profit-product-purchase form.cart:not(.variations_form),
	.profit-single-product-shell .profit-product-purchase .woocommerce-variation-add-to-cart { grid-template-columns: 68px minmax(0, 1fr); gap: 8px; }
	.profit-single-product-shell div.product .profit-product-purchase form.cart .quantity { width: 68px; }
	.profit-single-product-shell div.product .profit-product-purchase form.cart .single_add_to_cart_button { min-height: 54px; padding-inline: 12px !important; font-size: 11px !important; }
}

/* v1.8.0: consistent orange ratings across cards, summaries and reviews. */
.woocommerce .star-rating,
.woocommerce-page .star-rating,
.woocommerce .star-rating::before,
.woocommerce-page .star-rating::before,
.woocommerce .star-rating span::before,
.woocommerce-page .star-rating span::before,
.woocommerce p.stars a,
.woocommerce-page p.stars a {
	color: var(--profit-orange) !important;
}

/* Unfilled portions remain neutral so partial ratings are still accurate. */
.woocommerce .star-rating::before,
.woocommerce-page .star-rating::before { color: #d8d6cc !important; }

.profit-single-product-shell .woocommerce-tabs ul.tabs li.active a {
	color: var(--profit-white) !important;
}

/* Keep long product names and review copy comfortably readable. */
.profit-single-product-shell .woocommerce-Tabs-panel--reviews {
	overflow: hidden;
}

.profit-single-product-shell #reviews,
.profit-single-product-shell #reviews #comments,
.profit-single-product-shell #reviews #review_form_wrapper {
	min-width: 0;
	max-width: 100%;
}

.profit-single-product-shell #reviews #comments {
	width: min(100%, 980px);
	margin-inline: auto;
}

.profit-single-product-shell #reviews .woocommerce-Reviews-title {
	max-width: 780px;
	margin: 0 0 30px;
	font-size: clamp(24px, 3vw, 34px);
	line-height: 1.15;
	overflow-wrap: anywhere;
}

.profit-single-product-shell #reviews .commentlist {
	display: grid;
	gap: 18px;
	margin: 0;
}

.profit-single-product-shell #reviews .commentlist li {
	min-width: 0;
	margin: 0 !important;
}

.profit-single-product-shell #reviews .comment_container {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	align-items: start;
	gap: 18px;
	min-width: 0;
	padding: clamp(20px, 3vw, 30px);
}

.profit-single-product-shell #reviews .comment_container img.avatar {
	position: static !important;
	float: none !important;
	width: 64px !important;
	height: 64px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50%;
	object-fit: cover;
}

.profit-single-product-shell #reviews .comment-text {
	min-width: 0;
	margin: 0 !important;
}

.profit-single-product-shell #reviews .comment-text .star-rating {
	float: none;
	margin: 0 0 13px;
}

.profit-single-product-shell #reviews .comment-text .meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 9px;
	margin: 0 0 13px;
	color: #696964;
	font-size: 14px;
	line-height: 1.5;
}

.profit-single-product-shell #reviews .comment-text .woocommerce-review__author {
	color: var(--profit-black);
}

.profit-single-product-shell #reviews .comment-text .description,
.profit-single-product-shell #reviews .comment-text .description p {
	max-width: 72ch;
	color: #454541;
	font-size: 16px;
	line-height: 1.75;
	overflow-wrap: anywhere;
}

@media (max-width: 640px) {
	.profit-single-product-shell #reviews .woocommerce-Reviews-title { font-size: 25px; }

	.profit-single-product-shell #reviews .comment_container {
		grid-template-columns: 44px minmax(0, 1fr);
		gap: 13px;
		padding: 18px 14px;
	}

	.profit-single-product-shell #reviews .comment_container img.avatar {
		width: 44px !important;
		height: 44px !important;
	}

	.profit-single-product-shell #reviews .comment-text .description,
	.profit-single-product-shell #reviews .comment-text .description p { font-size: 15px; }
}
