/* ── Loja page shell ─────────────────────────────────────────── */

.page-shell--loja {
	padding-top: 0;
}

/* ── Hero Loja ───────────────────────────────────────────────── */

.hero-loja {
	padding: 2.5rem 0 3.5rem;
	background: #edeae2;
	border-top: 3px solid #ddd4c1;
}

.hero-loja__breadcrumb {
	font-size: 0.82rem;
	color: var(--supramel-color-text-soft);
	margin-bottom: 1.5rem;
}

.hero-loja__breadcrumb a {
	color: var(--supramel-color-text-soft);
	text-decoration: none;
}

.hero-loja__breadcrumb a:hover {
	color: #168048;
}

.hero-loja__frame {
	display: grid;
	grid-template-columns: 2fr 3fr;
	align-items: stretch;
	gap: clamp(1.25rem, 3vw, 2.5rem);
}

.hero-loja__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 1.75rem 2rem;
	border: 1px solid rgba(197, 203, 212, 0.75);
	border-radius: 1.6rem;
	background: rgba(255, 255, 255, 0.78);
	box-shadow: 0 25px 55px rgba(29, 28, 28, 0.08);
}

.hero-loja__media {
	border-radius: 1.6rem;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hero-loja__eyebrow {
	margin: 0 0 0.85rem;
	font-size: 0.84rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #168048;
}

.hero-loja__title {
	margin: 0;
	font-size: clamp(1.8rem, 3vw, 2.8rem);
	line-height: 1.05;
	color: var(--supramel-color-secondary);
	text-wrap: balance;
}

.hero-loja__text {
	margin: 1rem 0 0;
	max-width: 34rem;
	font-size: 1rem;
	color: var(--supramel-color-text-soft);
}

.hero-loja__actions {
	margin-top: 1.4rem;
}

.hero-loja__button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 50px;
	padding: 0.85rem 1.4rem;
	border-radius: 999px;
	font-size: 0.94rem;
	font-weight: 800;
	text-decoration: none;
	background: #168048;
	color: #ffffff;
	transition: background 0.2s ease;
}

.hero-loja__button:hover {
	background: #015e2d;
	color: #ffffff;
}

.hero-loja__media img {
	width: 100%;
	height: 100%;
	min-height: 280px;
	object-fit: contain;
	object-position: center;
	display: block;
}

@media (max-width: 767px) {
	.hero-loja__frame {
		grid-template-columns: 1fr;
	}

	.hero-loja__media {
		order: -1;
		border-radius: 1rem;
		max-height: 240px;
	}

	.hero-loja__media img {
		min-height: auto;
		max-height: 240px;
		width: auto;
		margin-inline: auto;
	}
}

/* ── Hero Categoria ──────────────────────────────────────────── */

.hero-categoria {
	padding: 1.5rem 0 2rem;
	background: #f6f2ee;
}

.hero-categoria__frame {
	display: block;
}

.hero-categoria__thumb {
	flex-shrink: 0;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	border: 1.5px solid rgba(221, 212, 193, 0.7);
	background: rgba(255, 255, 255, 0.9);
	overflow: hidden;
}

.hero-categoria__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-categoria__title {
	margin: 0;
	font-family: var(--supramel-font-heading);
	font-size: 44px;
	font-weight: 700;
	line-height: 1.2em;
	color: #1D1C1C;
}

.hero-categoria__desc {
	margin: 0.5rem 0 0;
	font-size: 1rem;
	color: var(--supramel-color-text-soft);
	max-width: 48rem;
}

@media (max-width: 767px) {
	.hero-categoria__title {
		font-size: 28px;
	}
}

/* ── Banner panorâmico de categoria ─────────────────────────── */

.cat-banner {
	position: relative;
	width: 100%;
	height: 220px;
	margin-top: 1.25rem;
	overflow: hidden;
	border-radius: 1rem;
	background-color: #015E2D;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

@media (max-width: 767px) {
	.cat-banner {
		height: 150px;
		border-radius: 0.75rem;
	}
}

/* ── Loja products loop ──────────────────────────────────────── */

.loja-loop-section {
	padding: 0 0 4rem;
	scroll-margin-top: calc(var(--site-header-height, 88px) + 1rem);
}

/* ── Category grid (shop page) ──────────────────────────────── */

.cat-grid-section {
	padding: 3rem 0 1.4rem;
}

.cat-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2rem 2.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.cat-grid__item {
	flex: 0 0 auto;
	width: 120px;
}

.cat-grid__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
	text-decoration: none;
	color: var(--supramel-color-secondary);
}

.cat-grid__link:hover .cat-grid__thumb {
	border-color: #168048;
	box-shadow: 0 8px 24px rgba(22, 128, 72, 0.2);
}

.cat-grid__thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	border: 1.5px solid rgba(221, 212, 193, 0.7);
	background: rgba(255, 255, 255, 0.9);
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cat-grid__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cat-grid__name {
	font-size: 0.875rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.2;
	color: #fff;
	background-color: #168048;
	padding: 0.35rem 0.65rem;
	margin-top: -0.45rem;
	border-radius: 2rem;
	letter-spacing: 0.01em;
	transition: background-color 0.2s ease;
	position: relative;
	z-index: 1;
}

.cat-grid__link:hover .cat-grid__name {
	background-color: #026b58;
}

@media (max-width: 767px) {
	.cat-grid-section {
		padding: 2rem 0 1.6rem;
		padding-left: 0;
		padding-right: 0;
	}

	.cat-grid {
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		padding: 0.5rem 1.25rem 1rem;
		gap: 1.25rem;
		scrollbar-width: none;
	}

	.cat-grid::-webkit-scrollbar {
		display: none;
	}

	.cat-grid__item {
		flex: 0 0 auto;
		width: 130px;
		scroll-snap-align: start;
	}

	.cat-grid__thumb {
		width: 130px;
		height: 130px;
	}

	.cat-grid__name {
		font-size: 0.8125rem;
		padding: 0.3rem 0.6rem;
		margin-top: -0.4rem;
	}
}

/* ── End category grid ──────────────────────────────────────── */

/* ── Loja 2-column layout (sidebar + products) ───────────────── */

.loja-layout {
	display: grid;
	grid-template-columns: minmax(220px, 22%) 1fr;
	gap: 2rem;
	align-items: start;
}

.loja-layout__sidebar {
	position: sticky;
	top: calc(var(--site-header-height, 88px) + 1.5rem);
	min-height: 200px;
	background: #f7f4ec;
	border-radius: 0.875rem;
	padding: 1.25rem;
}

.loja-sidebar-empty {
	font-size: 0.8rem;
	color: var(--supramel-color-text-soft);
	font-style: italic;
	text-align: center;
	padding: 1rem 0;
}

/* Sidebar always visible; collapses on mobile via media query below */

/* ── Sidebar filter widgets ──────────────────────────────────── */

.shop-filter-widget {
	margin-bottom: 1.5rem;
}

.shop-filter-widget:last-child {
	margin-bottom: 0;
}

.shop-filter-widget__title {
	font-family: var(--supramel-font-heading);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--supramel-color-secondary);
	margin: 0 0 0.75rem;
	padding-bottom: 0.6rem;
	border-bottom: 1px solid #ddd4c1;
}

.shop-filter-widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.shop-filter-widget ul li a {
	font-family: var(--supramel-font-body);
	font-size: 0.875rem;
	font-weight: 400;
	color: #2D333D;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.2rem 0;
}

.shop-filter-widget ul li a:hover {
	color: var(--supramel-color-primary);
}

.shop-filter-widget ul li.chosen > a,
.shop-filter-widget ul li.current-cat > a {
	color: var(--supramel-color-primary);
	font-weight: 600;
}

.shop-filter-widget .count {
	font-size: 0.75rem;
	color: var(--supramel-color-text-soft);
}

/* ── Filter toggle button (hidden on desktop) ────────────────── */

.loja-filter-bar {
	display: none;
}

.loja-filter-toggle {
	display: none;
}

.loja-sidebar-close {
	display: none;
}

.loja-filter-backdrop {
	display: none;
}

@media (max-width: 900px) {
	/* Single-column layout */
	.loja-layout {
		grid-template-columns: 1fr;
	}

	.loja-layout__sidebar {
		position: static;
		min-height: auto;
	}

	/* Make the WooCommerce filter block button more visible on mobile */
	.loja-layout__sidebar .wc-block-product-filters__open-overlay {
		display: inline-flex !important;
		align-items: center;
		gap: 0.5rem;
		padding: 0.7rem 1.4rem;
		min-height: 44px;
		background: var(--supramel-color-secondary);
		color: #ffffff !important;
		border: 0;
		border-radius: 999px;
		font-family: var(--supramel-font-heading);
		font-size: 0.875rem;
		font-weight: 600;
		letter-spacing: 0.03em;
		cursor: pointer;
		transition: background 0.2s ease;
	}

	.loja-layout__sidebar .wc-block-product-filters__open-overlay:hover {
		background: #2a3040;
	}

	/* Sidebar background/border subtle on mobile */
	.loja-layout__sidebar {
		background: transparent;
		padding: 0.5rem 0;
		border-radius: 0;
	}

	/* Add-to-cart button touch target on mobile */
	.loja-loop-section ul.products li.product .button,
	.loja-loop-section ul.products li.product .add_to_cart_button {
		min-height: 44px;
		display: flex !important;
		align-items: center;
		justify-content: center;
	}

	/* Product card tighter padding on small screens */
	.loja-loop-section ul.products li.product {
		padding: 0.75rem;
	}
}

/* ── Active filters bar ──────────────────────────────────────── */

.loja-active-filters {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.loja-active-filters__label {
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--supramel-color-text-soft);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-right: 0.25rem;
}

.loja-active-filters__clear {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.35rem 0.85rem;
	border: 1.5px solid var(--supramel-color-secondary);
	border-radius: 999px;
	background: transparent;
	color: var(--supramel-color-secondary);
	font-family: var(--supramel-font-heading);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.18s ease, color 0.18s ease;
	min-height: 36px;
}

.loja-active-filters__clear:hover {
	background: var(--supramel-color-secondary);
	color: #ffffff;
}

.loja-active-filters__clear svg {
	flex-shrink: 0;
}

/* ── Product loop grid ───────────────────────────────────────── */

.loja-loop-section .woocommerce-result-count {
	font-size: 0.85rem;
	color: var(--supramel-color-text-soft);
	margin: 0;
}

.loja-loop-section .woocommerce-ordering select {
	border: 1px solid #c5cbd4;
	border-radius: 0.5rem;
	padding: 0.4rem 0.75rem;
	font-size: 0.85rem;
	color: var(--supramel-color-text);
	background: #fff;
}

.loja-loop-section ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 1.25rem;
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
	float: none !important;
}

/* Remove WooCommerce clearfix pseudo-elements — they become rogue grid items */
.loja-loop-section ul.products::before,
.loja-loop-section ul.products::after {
	display: none !important;
	content: none !important;
}

.loja-loop-section ul.products li.product {
	background: #ffffff;
	border: 1px solid #e5e1d8;
	border-radius: 0.875rem;
	padding: 1rem;
	display: flex !important;
	flex-direction: column;
	gap: 0.5rem;
	transition: box-shadow 0.2s ease;
	width: auto !important;
	float: none !important;
	clear: none !important;
	margin: 0 !important;
}

.loja-loop-section ul.products li.product:hover {
	box-shadow: 0 6px 24px rgba(29, 28, 28, 0.08);
}

.loja-loop-section ul.products li.product a img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 0.5rem;
	display: block;
	background: #ffffff;
}

.loja-loop-section ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--supramel-color-secondary);
	line-height: 1.35;
	margin: 0;
}

.loja-loop-section ul.products li.product .price {
	font-family: var(--supramel-font-heading);
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--supramel-color-secondary);
	margin: 0;
}

.loja-loop-section ul.products li.product .price del {
	font-size: 0.82rem;
	font-weight: 400;
	color: var(--supramel-color-text-soft);
}

.loja-loop-section ul.products li.product .button,
.loja-loop-section ul.products li.product .add_to_cart_button {
	margin-top: auto;
	display: block;
	text-align: center;
	padding: 0.6rem 0.75rem;
	border-radius: 999px;
	background: var(--supramel-color-highlight);
	color: var(--supramel-color-on-highlight, #1d1c1c) !important;
	font-family: var(--supramel-font-heading);
	font-size: var(--supramel-text-btn-size);
	font-weight: var(--supramel-text-btn-weight);
	letter-spacing: var(--supramel-text-btn-letter-spacing);
	text-transform: var(--supramel-text-btn-transform);
	text-decoration: none;
	border: 0;
	cursor: pointer;
	transition: background 0.2s ease;
	width: 100%;
	box-sizing: border-box;
}

.loja-loop-section ul.products li.product .button:hover,
.loja-loop-section ul.products li.product .add_to_cart_button:hover {
	background: var(--supramel-color-highlight-hover);
}

/* ── Pagination – "Carregar Mais" CTA ────────────────────────── */

.loja-pagination {
	margin-top: 2.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	width: 100%;
	clear: both;
}

.loja-pagination__load-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	width: 100%;
	max-width: 420px;
	min-height: 52px;
	padding: 0.9rem 2rem;
	border-radius: 999px;
	background: var(--supramel-color-highlight);
	color: var(--supramel-color-on-highlight, #1d1c1c);
	font-family: var(--supramel-font-heading);
	font-size: var(--supramel-text-btn-size);
	font-weight: var(--supramel-text-btn-weight);
	letter-spacing: var(--supramel-text-btn-letter-spacing);
	text-transform: var(--supramel-text-btn-transform);
	text-decoration: none;
	border: 0;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
	box-shadow: 0 8px 24px rgba(210, 169, 63, 0.28);
}

.loja-pagination__load-more:hover {
	background: var(--supramel-color-highlight-hover);
	transform: translateY(-2px);
	box-shadow: 0 12px 32px rgba(210, 169, 63, 0.38);
}

.loja-pagination__count {
	font-size: 0.75rem;
	font-weight: 400;
	opacity: 0.75;
	letter-spacing: 0;
	text-transform: none;
}

.loja-pagination__secondary {
	display: flex;
	align-items: center;
	gap: 1.5rem;
}

.loja-pagination__prev,
.loja-pagination__first {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--supramel-color-text-soft);
	text-decoration: none;
	transition: color 0.15s ease;
}

.loja-pagination__prev:hover,
.loja-pagination__first:hover {
	color: var(--supramel-color-primary);
}

/* ── YITH Ajax Navigation filter ────────────────────────────── */

.yith-wcan-filters {
	font-size: 0.88rem;
	background: #f7f4ec;
	border-radius: 0.875rem;
	padding: 1.25rem;
}

.yith-wcan-filters .yith-wcan-filter {
	border-bottom: 1px solid #ddd4c1;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
}

.yith-wcan-filters .yith-wcan-filter:last-child {
	border-bottom: 0;
	padding-bottom: 0;
	margin-bottom: 0;
}

.yith-wcan-filters .filter-title,
.yith-wcan-filters .filter-title h3 {
	font-family: var(--supramel-font-heading);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--supramel-color-secondary);
	margin-bottom: 0.6rem;
}

.yith-wcan-filters .filter-content .filter-items li {
	list-style: none;
}

/* Constrain YITH checkmark icons to normal size */
.yith-wcan-filters .filter-content .filter-items li a::before,
.yith-wcan-filters .filter-content .filter-items li a::after,
.yith-wcan-filters .filter-content .filter-items li label::before,
.yith-wcan-filters .filter-content .filter-items li label::after {
	font-size: 1rem !important;
	width: 18px !important;
	height: 18px !important;
	line-height: 1 !important;
}

/* ── Cart remove button ──────────────────────────────────────── */

.woocommerce-cart-form .remove,
.product-remove .remove,
td.product-remove a.remove,
a.supramel-remove-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	pointer-events: auto !important;
	cursor: pointer !important;
	color: #168048 !important;
	font-size: 1.4rem;
	line-height: 1;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	transition: background 0.2s ease, color 0.2s ease;
}

.woocommerce-cart-form .remove:hover,
.product-remove .remove:hover,
td.product-remove a.remove:hover,
a.supramel-remove-btn:hover {
	background: #fde8e8 !important;
	color: #c0392b !important;
}

/* ── Fix oversized plugin icons globally ─────────────────────── */

/* Constrain any stray icon fonts */
.woocommerce-page *::before,
.woocommerce-page *::after {
	max-width: none;
}

/* Fix melhor-envio / shipping calculator icons */
.mec-product-shipping,
.shipping-calculator-form,
[class*="melhor-envio"],
[class*="shipping-simulator"] {
	font-size: 0.9rem;
}

[class*="melhor-envio"] svg,
[class*="melhor-envio"] img,
[class*="shipping-simulator"] svg {
	max-width: 32px;
	max-height: 32px;
}

@media (max-width: 900px) {
	.loja-loop-section ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 540px) {
	.loja-loop-section ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 0.75rem;
	}
}

/* ── End product loop grid ───────────────────────────────────── */

.woocommerce .page-content,
.woocommerce .entry-card,
.woocommerce .archive-header {
	background: var(--supramel-color-surface);
}

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
	border-radius: 14px;
}

body.page-id-4002 {
	background: var(--supramel-color-bg);
}

body.page-id-4002 .site-main {
	background: var(--supramel-color-bg);
}

body.page-id-4002 .elementor-page-4002 > .elementor-element:first-of-type,
body.page-id-4002 .elementor-page-4002 > .e-con:first-of-type {
	background: var(--supramel-color-bg) !important;
	min-height: auto !important;
	padding-top: var(--supramel-space-lg) !important;
	padding-bottom: var(--supramel-space-lg) !important;
}

body.page-id-4002 .elementor-page-4002 > .elementor-element:first-of-type > .e-con-inner,
body.page-id-4002 .elementor-page-4002 > .e-con:first-of-type > .e-con-inner,
body.page-id-4002 .elementor-page-4002 > .elementor-element:first-of-type .elementor-container:first-child {
	align-items: center !important;
	column-gap: clamp(1.5rem, 3vw, 3rem) !important;
	min-height: auto !important;
}

body.page-id-4002 .elementor-page-4002 .elementor-element-292d7cf .elementor-heading-title {
	color: var(--supramel-color-secondary) !important;
	font-family: var(--supramel-font-heading) !important;
	font-size: 44px !important;
	font-weight: var(--supramel-text-h1-weight) !important;
	line-height: var(--supramel-text-h1-line-height) !important;
	max-width: 11ch;
}

body.page-id-4002 .elementor-page-4002 .elementor-element-25fdeee,
body.page-id-4002 .elementor-page-4002 .elementor-element-25fdeee p {
	color: var(--supramel-color-text) !important;
	font-family: var(--supramel-font-body) !important;
	font-size: var(--supramel-text-body-size) !important;
	font-weight: var(--supramel-text-body-weight) !important;
	line-height: var(--supramel-text-body-line-height) !important;
	max-width: 40ch;
}

body.page-id-4002 .elementor-page-4002 .elementor-element-25fdeee p {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

body.page-id-4002 .elementor-page-4002 .elementor-element-fe58100 .elementor-button,
body.page-id-4002 .elementor-page-4002 .elementor-element-fe58100 .elementor-button:visited {
	min-height: 48px;
	padding: 0.85rem 1.35rem !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--supramel-color-highlight) !important;
	color: var(--supramel-color-on-highlight) !important;
	font-family: var(--supramel-font-heading) !important;
	font-size: var(--supramel-text-btn-size) !important;
	font-weight: var(--supramel-text-btn-weight) !important;
	line-height: var(--supramel-text-btn-line-height) !important;
	letter-spacing: var(--supramel-text-btn-letter-spacing) !important;
	text-transform: var(--supramel-text-btn-transform) !important;
	box-shadow: 0 8px 20px rgba(36, 50, 58, 0.06) !important;
}

body.page-id-4002 .elementor-page-4002 .elementor-element-fe58100 .elementor-button-wrapper {
	margin-top: 0.25rem !important;
}

body.page-id-4002 .elementor-page-4002 .elementor-element-fe58100 .elementor-button:hover {
	background: var(--supramel-color-highlight-hover) !important;
	color: var(--supramel-color-on-highlight) !important;
	box-shadow: var(--supramel-shadow-button-soft) !important;
	transform: translateY(-1px);
}

body.page-id-4002 .elementor-page-4002 > .elementor-element:first-of-type .elementor-widget-image,
body.page-id-4002 .elementor-page-4002 > .e-con:first-of-type .elementor-widget-image {
	align-self: center !important;
}

body.page-id-4002 .elementor-page-4002 > .elementor-element:first-of-type .elementor-widget-image img,
body.page-id-4002 .elementor-page-4002 > .e-con:first-of-type .elementor-widget-image img {
	width: min(100%, 360px) !important;
	max-width: 360px !important;
	height: auto !important;
	margin-inline: auto !important;
}

body.page-id-4002 .elementor-page-4002 > .elementor-element:first-of-type .elementor-widget-wrap,
body.page-id-4002 .elementor-page-4002 > .e-con:first-of-type .elementor-widget-wrap {
	align-content: center !important;
}

body.page-id-4002 .elementor-page-4002 .elementor-divider__text,
body.page-id-4002 .elementor-page-4002 h2.elementor-heading-title {
	color: var(--supramel-color-secondary) !important;
	font-family: var(--supramel-font-heading) !important;
	font-size: var(--supramel-text-h2-size) !important;
	font-weight: var(--supramel-text-h2-weight) !important;
	line-height: var(--supramel-text-h2-line-height) !important;
}

body.page-id-4002 .yith-wcan-filters .yith-wcan-filter .filter-title,
body.page-id-4002 .yith-wcan-filters .yith-wcan-filter .filter-title.collapsable,
body.page-id-4002 .yith-wcan-filters .yith-wcan-filter .filter-title h3,
body.page-id-4002 .yith-wcan-filters .filter-item > a,
body.page-id-4002 .yith-wcan-filters .yith-wcan-term-name,
body.page-id-4002 .yith-wcan-filters a {
	font-family: var(--supramel-font-body) !important;
	font-size: var(--supramel-text-body-size) !important;
	line-height: var(--supramel-text-body-line-height) !important;
	color: var(--supramel-color-text) !important;
}

body.page-id-4002 .elementor-825 .elementor-element-9b53fe9 {
	border: 1px solid var(--supramel-color-border) !important;
	border-radius: 16px !important;
	background: var(--supramel-color-surface) !important;
	box-shadow: none !important;
	overflow: hidden;
}

body.page-id-4002 .elementor-825 .elementor-element-9b53fe9:hover {
	border-style: solid !important;
	border-color: var(--supramel-color-border) !important;
	box-shadow: var(--supramel-shadow-soft) !important;
}

body.page-id-4002 .elementor-825 .elementor-element-e75ff63 {
	padding: 1rem 1rem 0 !important;
}

body.page-id-4002 .elementor-825 .elementor-element-e75ff63 .elementor-widget-container {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem !important;
	border-radius: 14px !important;
	background: var(--supramel-color-surface) !important;
}

body.page-id-4002 .elementor-825 .elementor-element-e75ff63 img {
	display: block;
	width: 85% !important;
	max-width: 85% !important;
	height: auto !important;
	margin: 0 auto;
	object-fit: contain !important;
	background: var(--supramel-color-surface) !important;
	border-radius: 0 !important;
}

body.page-id-4002 .elementor-825 .elementor-element-c0b6853 {
	padding: 0.25rem 1rem 0 !important;
	text-align: left !important;
}

body.page-id-4002 .elementor-825 .elementor-element-c0b6853 .elementor-heading-title,
body.page-id-4002 .elementor-825 .elementor-element-c0b6853 .elementor-heading-title a {
	color: var(--supramel-color-secondary) !important;
	font-family: var(--supramel-font-heading) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	text-align: left !important;
}

body.page-id-4002 .elementor-825 .elementor-element-ad47e83 {
	padding: 0.25rem 1rem 0.5rem !important;
}

body.page-id-4002 .elementor-825 .elementor-element-ad47e83 .price,
body.page-id-4002 .elementor-825 .elementor-element-ad47e83 .price .woocommerce-Price-amount,
body.page-id-4002 .elementor-825 .elementor-element-ad47e83 .price .woocommerce-Price-amount bdi,
body.page-id-4002 .elementor-825 .elementor-element-ad47e83 .price ins {
	color: var(--supramel-color-secondary) !important;
	font-family: var(--supramel-font-heading) !important;
	font-size: 1.5rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	text-decoration: none !important;
}

body.page-id-4002 .elementor-825 .elementor-element-3999e1a {
	padding: 0 1rem 1rem !important;
}

body.page-id-4002 .elementor-825 .elementor-element-3999e1a .cart .button,
body.page-id-4002 .elementor-825 .elementor-element-3999e1a .cart button,
body.page-id-4002 .elementor-825 .elementor-element-3999e1a .add_to_cart_button,
body.page-id-4002 .elementor-825 .elementor-element-3999e1a .product_type_simple,
body.page-id-4002 .elementor-825 .elementor-element-3999e1a .button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 48px !important;
	padding: 0.8rem 1rem !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--supramel-color-highlight) !important;
	color: var(--supramel-color-on-highlight) !important;
	font-family: var(--supramel-font-heading) !important;
	font-size: var(--supramel-text-btn-size) !important;
	font-weight: var(--supramel-text-btn-weight) !important;
	line-height: var(--supramel-text-btn-line-height) !important;
	letter-spacing: var(--supramel-text-btn-letter-spacing) !important;
	text-transform: var(--supramel-text-btn-transform) !important;
	text-align: center !important;
	box-shadow: 0 8px 20px rgba(36, 50, 58, 0.06) !important;
}

body.page-id-4002 .elementor-825 .elementor-element-3999e1a .cart .button:hover,
body.page-id-4002 .elementor-825 .elementor-element-3999e1a .cart button:hover,
body.page-id-4002 .elementor-825 .elementor-element-3999e1a .add_to_cart_button:hover,
body.page-id-4002 .elementor-825 .elementor-element-3999e1a .product_type_simple:hover,
body.page-id-4002 .elementor-825 .elementor-element-3999e1a .button:hover {
	background: var(--supramel-color-highlight-hover) !important;
	color: var(--supramel-color-on-highlight) !important;
	box-shadow: var(--supramel-shadow-button-soft) !important;
}

@media (max-width: 767px) {
	body.page-id-4002 .elementor-page-4002 > .elementor-element:first-of-type,
	body.page-id-4002 .elementor-page-4002 > .e-con:first-of-type {
		padding-top: var(--supramel-space-md) !important;
		padding-bottom: var(--supramel-space-md) !important;
	}

	body.page-id-4002 .elementor-page-4002 .elementor-element-292d7cf .elementor-heading-title,
	body.page-id-4002 .elementor-page-4002 .elementor-divider__text,
	body.page-id-4002 .elementor-page-4002 h2.elementor-heading-title {
		font-size: 30px !important;
	}

	body.page-id-4002 .yith-wcan-filters .filter-item > a,
	body.page-id-4002 .yith-wcan-filters .yith-wcan-term-name,
	body.page-id-4002 .yith-wcan-filters a,
	body.page-id-4002 .elementor-page-4002 .elementor-element-25fdeee,
	body.page-id-4002 .elementor-page-4002 .elementor-element-25fdeee p {
		font-size: var(--supramel-text-body-size) !important;
		max-width: none;
		-webkit-line-clamp: 2;
	}

	body.page-id-4002 .elementor-page-4002 > .elementor-element:first-of-type .elementor-widget-image img,
	body.page-id-4002 .elementor-page-4002 > .e-con:first-of-type .elementor-widget-image img {
		width: min(100%, 240px) !important;
		max-width: 240px !important;
	}

	body.page-id-4002 .elementor-825 .elementor-element-3999e1a {
		padding: 0 0.9rem 0.9rem !important;
	}

	body.page-id-4002 .elementor-825 .elementor-element-3999e1a .cart .button,
	body.page-id-4002 .elementor-825 .elementor-element-3999e1a .cart button,
	body.page-id-4002 .elementor-825 .elementor-element-3999e1a .add_to_cart_button,
	body.page-id-4002 .elementor-825 .elementor-element-3999e1a .product_type_simple,
	body.page-id-4002 .elementor-825 .elementor-element-3999e1a .button {
		min-height: 50px !important;
		font-size: var(--supramel-text-btn-size) !important;
	}
}

/* ── Mobile typography guard ─────────────────────────────────── */

@media (max-width: 767px) {
	.loja-loop-section ul.products li.product .woocommerce-loop-product__title,
	.loja-loop-section ul.products li.product .price,
	.loja-loop-section ul.products li.product p,
	.woocommerce .product .woocommerce-product-details__short-description,
	.woocommerce .product .woocommerce-product-details__short-description p {
		font-size: 1rem !important;
		min-font-size: 16px;
	}
}

/* ── Cart layout + actions ───────────────────────────────────── */

body.woocommerce-cart .generic-page,
body.woocommerce-checkout .generic-page {
	max-width: 100%;
}

.woocommerce-cart .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(380px, 440px);
	gap: 2rem;
	align-items: start;
}

.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
	grid-column: 1 / -1;
}

.woocommerce-cart form.woocommerce-cart-form {
	display: block;
	float: none !important;
	grid-column: 1;
	min-width: 0;
	width: auto !important;
	margin: 0 !important;
}

.woocommerce-cart .cart-collaterals {
	display: block;
	float: none !important;
	clear: none !important;
	grid-column: 2;
	min-width: 0;
	width: auto !important;
	margin: 0 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals {
	position: sticky;
	top: calc(var(--site-header-height, 88px) + 1.5rem);
	float: none !important;
	width: 100% !important;
	max-width: 100%;
	margin: 0 !important;
	padding: 1.5rem;
	border: 1px solid #e5e1d8;
	border-radius: 1rem;
	background: #ffffff;
	box-shadow: 0 14px 32px rgba(29, 28, 28, 0.06);
}

/* ── Cart table ── */

.woocommerce-cart table.shop_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid #e5e1d8;
	border-radius: 1rem;
	overflow: hidden;
	background: #ffffff;
}

.woocommerce-cart table.shop_table thead.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.woocommerce-cart table.shop_table tbody td {
	padding: 1.25rem 1rem;
	border-bottom: 1px solid #ede7da;
	vertical-align: middle;
}

.woocommerce-cart table.shop_table tbody tr:last-child td {
	border-bottom: 0;
}

/* hidden actions row (nonce + update button) */
.woocommerce-cart table.shop_table tbody tr:has(td.actions) {
	display: none;
}

/* thumbnail */
.woocommerce-cart td.product-thumbnail,
.woocommerce-cart th.product-thumbnail {
	width: 100px;
	min-width: 100px;
	padding-left: 1.1rem;
	padding-right: 0.75rem;
}

.woocommerce-cart td.product-thumbnail a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 84px;
	border-radius: 0.5rem;
	overflow: hidden;
	background: #f7f4ec;
}

.woocommerce-cart td.product-thumbnail img {
	display: block;
	width: 84px !important;
	height: 84px !important;
	max-width: 84px !important;
	max-height: 84px !important;
	object-fit: contain;
}

/* name */
.woocommerce-cart td.product-name {
	padding-left: 0.75rem;
}

.woocommerce-cart td.product-name a,
.woocommerce-cart td.product-name a:visited {
	display: block;
	margin-bottom: 0.2rem;
	color: #1d1c1c !important;
	font-family: var(--supramel-font-heading);
	font-size: 0.95rem;
	font-weight: 600;
	text-decoration: none !important;
	line-height: 1.35;
}

.woocommerce-cart td.product-name a:hover {
	color: #168048 !important;
}

.woocommerce-cart .product-unit-price {
	margin-top: 0.35rem;
	color: var(--supramel-color-text-soft);
	font-size: 0.85rem;
}

.woocommerce-cart .product-unit-price .woocommerce-Price-amount {
	color: var(--supramel-color-text-soft);
}

/* quantity */
.woocommerce-cart td.product-quantity {
	width: 130px;
	min-width: 100px;
	text-align: center;
}

/* subtotal */
.woocommerce-cart td.product-subtotal {
	width: 120px;
	min-width: 90px;
	text-align: right;
	font-family: var(--supramel-font-heading);
	font-weight: 700;
	color: #1d1c1c;
}

/* remove — rightmost column */
.woocommerce-cart td.product-remove,
.woocommerce-cart th.product-remove {
	width: 48px;
	min-width: 48px;
	max-width: 48px;
	padding-right: 1rem;
	padding-left: 0.25rem;
	text-align: center;
}

/* ── Cart actions (hidden row with nonce) ── */

.woocommerce-cart .actions {
	display: none;
}

/* ── Totals panel ── */

.woocommerce-cart .cart_totals h2 {
	margin-bottom: 1.25rem;
	font-size: 1.1rem;
	font-weight: 700;
	color: #1d1c1c;
}

/* coupon */
.cart-totals__coupon {
	margin-bottom: 1.25rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid #e5e1d8;
}

.cart-totals__coupon label {
	display: block;
	margin-bottom: 0.5rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: #1d1c1c;
}

.cart-totals__coupon-row {
	display: flex;
	gap: 0.5rem;
}

.cart-totals__coupon-row .input-text {
	flex: 1;
	height: 44px;
	padding: 0 0.875rem;
	border: 1px solid #c5cbd4;
	border-radius: 6px;
	background: #ffffff;
	font-size: 0.9rem;
	color: #1d1c1c;
}

.cart-totals__coupon-row .input-text:focus {
	outline: none;
	border-color: #168048;
}

.cart-totals__coupon-row .button {
	height: 44px;
	padding: 0 1rem;
	border: 1px solid #c5cbd4 !important;
	border-radius: 6px !important;
	background: #ffffff !important;
	color: #168048 !important;
	font-family: var(--supramel-font-heading) !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	white-space: nowrap;
	box-shadow: none !important;
	cursor: pointer;
}

.cart-totals__coupon-row .button:hover {
	background: #f7f4ec !important;
	border-color: #168048 !important;
}

/* totals table — convertida para flex para controle total de layout */
.woocommerce-cart .cart_totals table.shop_table {
	display: block;
	width: 100%;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	margin-bottom: 1.25rem;
}

.woocommerce-cart .cart_totals table.shop_table tbody {
	display: flex;
	flex-direction: column;
	width: 100%;
}

/* cada linha: label à esquerda, valor à direita */
.woocommerce-cart .cart_totals table.shop_table tr {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	width: 100%;
	border-bottom: 1px solid #f0ebe0;
}

.woocommerce-cart .cart_totals table.shop_table tr:last-child {
	border-bottom: 0;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
	padding: 0.6rem 0;
	background: transparent;
	border: 0;
}

.woocommerce-cart .cart_totals table.shop_table th {
	color: #5f6f77;
	font-family: var(--supramel-font-heading);
	font-size: 0.9rem;
	font-weight: 500;
	text-align: left;
}

.woocommerce-cart .cart_totals table.shop_table td {
	color: #1d1c1c;
	text-align: right;
}

.woocommerce-cart .cart_totals tr.order-total {
	padding-top: 0.25rem;
}

.woocommerce-cart .cart_totals tr.order-total th {
	color: #1d1c1c;
	font-size: 1rem;
	font-weight: 700;
}

.woocommerce-cart .cart_totals tr.order-total td {
	font-size: 1.1rem;
	font-weight: 700;
	color: #1d1c1c;
}

/* shipping row — empilha label acima, opções em largura total */
.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals {
	flex-direction: column;
	align-items: stretch;
}

.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals th {
	padding-bottom: 0.4rem;
}

.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals td {
	padding-top: 0;
	padding-bottom: 0.75rem;
	text-align: left;
	width: 100%;
}

/* shipping options */
.woocommerce-cart .cart_totals ul#shipping_method {
	display: grid;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
}

.woocommerce-cart .cart_totals ul#shipping_method li {
	display: flex;
	gap: 0.6rem;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	padding: 0.65rem 0.85rem;
	border: 1px solid #e5e1d8;
	border-radius: 0.75rem;
	background: #f7f4ec;
}

.woocommerce-cart .cart_totals ul#shipping_method label {
	margin: 0;
	color: #1d1c1c;
	font-size: 0.875rem;
	line-height: 1.4;
	flex: 1;
}

/* checkout button */
.woocommerce-cart .wc-proceed-to-checkout {
	padding-bottom: 0;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:visited {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 52px !important;
	padding: 0.9rem 1.5rem !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #d2a93f !important;
	color: #1d1c1c !important;
	font-family: "Montserrat", sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	box-shadow: none !important;
	background-image: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
	background: #c59b2e !important;
	color: #1d1c1c !important;
	box-shadow: none !important;
	background-image: none !important;
	transform: none;
}

/* continue shopping */
.cart-totals__continue {
	margin-top: 1rem;
	text-align: center;
}

.cart-totals__continue a,
.cart-totals__continue a:visited {
	color: var(--supramel-color-text-soft);
	font-size: 0.875rem;
	text-decoration: none;
}

.cart-totals__continue a:hover {
	color: var(--supramel-color-primary);
	text-decoration: underline;
}

/* Keep only the native clickable shipping selector in cart totals. */
.woocommerce-cart .woo-better-info-block {
	display: none !important;
}

/* Always show the shipping calculator form (CEP) on cart. */
.woocommerce-cart .shipping-calculator-form {
	display: block !important;
}
.woocommerce-cart .shipping-calculator-button {
	display: none !important;
}

@media (max-width: 980px) {
	.woocommerce-cart .woocommerce {
		grid-template-columns: 1fr;
	}

	.woocommerce-cart form.woocommerce-cart-form,
	.woocommerce-cart .cart-collaterals {
		grid-column: auto;
	}

	.woocommerce-cart .cart-collaterals .cart_totals {
		position: static;
	}
}

@media (max-width: 767px) {
	.woocommerce-cart table.shop_table tbody td {
		padding: 0.85rem 0.75rem;
	}

	.woocommerce-cart td.product-quantity {
		width: auto;
		min-width: unset;
	}

	.woocommerce-cart td.product-subtotal {
		width: auto;
		min-width: unset;
	}

	.cart-totals__coupon-row {
		flex-direction: column;
	}

	.cart-totals__coupon-row .input-text,
	.cart-totals__coupon-row .button {
		width: 100%;
	}
}

/* ── FAQ (loja page) ─────────────────────────────────────────── */

.page-shell--loja .faq-section {
	padding: 4rem 0 5rem;
	background: #f7f4ec;
}

.page-shell--loja .faq-section__title {
	margin: 0 0 2.5rem;
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	font-weight: 700;
	color: var(--supramel-color-secondary);
	text-align: center;
	text-wrap: balance;
}

.page-shell--loja .faq-list {
	max-width: 800px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.page-shell--loja .faq-item {
	border: 1px solid #c5cbd4;
	border-radius: 0.875rem;
	background: #ffffff;
	overflow: hidden;
}

.page-shell--loja .faq-item__question {
	margin: 0;
}

.page-shell--loja .faq-item__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	padding: 1.1rem 1.4rem;
	background: none;
	border: 0;
	text-align: left;
	font-family: var(--supramel-font-heading), sans-serif;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	color: #1d1c1c;
	cursor: pointer;
}

.page-shell--loja .faq-item__toggle:hover {
	color: #168048;
}

.page-shell--loja .faq-item__icon {
	flex-shrink: 0;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	background: rgba(22, 128, 72, 0.1);
	position: relative;
}

.page-shell--loja .faq-item__icon::before,
.page-shell--loja .faq-item__icon::after {
	content: '';
	position: absolute;
	background: #168048;
	border-radius: 2px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.page-shell--loja .faq-item__icon::before {
	width: 10px;
	height: 2px;
}

.page-shell--loja .faq-item__icon::after {
	width: 2px;
	height: 10px;
	transition: transform 0.2s ease;
}

.page-shell--loja .faq-item__toggle[aria-expanded="true"] .faq-item__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.page-shell--loja .faq-item__answer {
	margin: 0;
	padding: 0 1.4rem 1.2rem;
	font-size: 0.95rem;
	line-height: 1.7;
	color: #5a6272;
}

.page-shell--loja .faq-item__answer p {
	margin: 0;
	font-size: 0.95rem;
	color: #5a6272;
}

@media (max-width: 767px) {
	.page-shell--loja .faq-section {
		padding: 3rem 0 4rem;
	}

	.page-shell--loja .faq-item__toggle {
		font-size: 0.95rem;
		padding: 1rem 1.1rem;
	}

	.page-shell--loja .faq-item__answer {
		padding: 0 1.1rem 1rem;
	}
}

/* ═══════════════════════════════════════════════════════════════
   CHECKOUT PAGE — Multi-step Supramel
   ═══════════════════════════════════════════════════════════════ */

/* ── Step indicator ── */
.supra-steps {
	display: flex;
	align-items: center;
	gap: 0;
	margin: 0 0 2rem;
	padding: 0;
}

.supra-steps__item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-shrink: 0;
}

.supra-steps__dot {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 2px solid #c5cbd4;
	background: #ffffff;
	color: #888;
	font-size: 0.8125rem;
	font-weight: 700;
	transition: all 0.2s ease;
	flex-shrink: 0;
}

.supra-steps__label {
	font-size: 0.8125rem;
	font-weight: 600;
	color: #888;
	white-space: nowrap;
	transition: color 0.2s ease;
}

.supra-steps__line {
	flex: 1;
	height: 2px;
	background: #e0dbd1;
	margin: 0 0.5rem;
	border-radius: 1px;
	transition: background 0.2s ease;
	min-width: 24px;
}

/* Active step */
.supra-steps__item--active .supra-steps__dot {
	border-color: #168048;
	background: #168048;
	color: #ffffff;
}

.supra-steps__item--active .supra-steps__label {
	color: #168048;
}

/* Done step */
.supra-steps__item--done .supra-steps__dot {
	border-color: #168048;
	background: #168048;
	color: #ffffff;
}

.supra-steps__item--done .supra-steps__label {
	color: #168048;
}

.supra-steps__line--done {
	background: #168048;
}

/* Pending step */
.supra-steps__item--pending .supra-steps__dot {
	border-color: #c5cbd4;
	background: #ffffff;
	color: #aaa;
}

.supra-steps__item--pending .supra-steps__label {
	color: #aaa;
}

/* ── Layout: main (left) + summary (right) ── */
.supra-checkout__layout {
	display: grid;
	grid-template-columns: 1fr minmax(300px, 380px);
	column-gap: 2.5rem;
	align-items: start;
}

.supra-checkout__main {
	min-width: 0;
}

/* ── Step panels ── */
.supra-checkout__panel {
	background: #ffffff;
	border: 1px solid #e5e1d8;
	border-radius: 1rem;
	padding: 2rem;
	box-shadow: 0 4px 16px rgba(29, 28, 28, 0.05);
}

.supra-checkout__section-title {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--supramel-color-secondary, #015E2D);
	margin: 0 0 1.5rem;
	padding: 0;
}

.supra-checkout__page-back {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0 0 1rem;
	padding: 0;
	border: 0;
	background: none;
	color: #168048;
	font-family: "Montserrat", sans-serif;
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	text-decoration: underline;
}

.supra-checkout__page-back:hover {
	color: #015E2D;
}

/* ── Customer details col layout ── */
body.woocommerce-checkout #customer_details {
	margin: 0;
}

body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

body.woocommerce-checkout #customer_details .col-2 {
	margin-top: 1.5rem !important;
}

/* ── Footer with "Continuar" button ── */
.supra-checkout__footer {
	margin-top: 2rem;
	display: flex;
	justify-content: flex-end;
}

.supra-checkout__footer--between {
	justify-content: space-between;
}

.supra-checkout__btn-next {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.875rem 2rem;
	border: 0;
	border-radius: 999px;
	background: #d2a93f;
	color: #1d1c1c;
	font-family: "Montserrat", sans-serif;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s ease;
}

.supra-checkout__btn-next:hover {
	background: #c59b2e;
}

.supra-checkout__btn-back {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.875rem 1.25rem;
	border: 1px solid #d9d2c3;
	border-radius: 999px;
	background: #fff;
	color: #015E2D;
	font-family: "Montserrat", sans-serif;
	font-size: 0.84rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
	transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.supra-checkout__btn-back:hover {
	border-color: #015E2D;
	background: #f6f2ee;
}

/* ── Address summary (Step 2) ── */
.supra-address-summary {
	background: #f6f2ee;
	border: 1px solid #e5e1d8;
	border-radius: 0.75rem;
	padding: 0.875rem 1rem;
	margin-bottom: 1.5rem;
}

.supra-address-summary__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 0.35rem;
}

.supra-address-summary__label {
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #888;
}

.supra-address-summary__edit {
	background: none;
	border: 0;
	padding: 0;
	color: #168048;
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
	text-decoration: underline;
}

.supra-address-summary__edit:hover {
	color: #015E2D;
}

.supra-address-summary__text {
	font-style: normal;
	font-size: 0.9rem;
	color: #1d1c1c;
	line-height: 1.5;
	white-space: pre-line;
}

/* ── Step 2: payment area ── */
.supra-checkout__panel #order_review {
	margin-top: 0;
}

/* ── Shipping row: label no topo + opções full-width ── */
.supra-checkout__panel #order_review table.shop_table tr.shipping {
	display: flex;
	flex-direction: column;
	border-bottom: 1px solid #ede7da;
}

.supra-checkout__panel #order_review table.shop_table tr.shipping th,
.supra-checkout__panel #order_review table.shop_table tr.shipping td {
	display: block;
	width: 100%;
	box-sizing: border-box;
	border: 0;
	padding-left: 0;
	padding-right: 0;
}

.supra-checkout__panel #order_review table.shop_table tr.shipping th {
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #888;
	padding-bottom: 0.625rem;
	padding-top: 0.75rem;
}

.supra-checkout__panel #order_review table.shop_table tr.shipping td {
	padding-top: 0;
	padding-bottom: 0.75rem;
}

/* Lista de opções de frete — full width */
.supra-checkout__panel #order_review #shipping_method {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.supra-checkout__panel #order_review #shipping_method li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.625rem 0.875rem;
	border: 1px solid #e0dbd1;
	border-radius: 0.5rem;
	background: #ffffff;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
	width: 100%;
	box-sizing: border-box;
}

.supra-checkout__panel #order_review #shipping_method li:has(input:checked) {
	border-color: #168048;
	background: #f2f9f5;
}

.supra-checkout__panel #order_review #shipping_method li input[type="radio"] {
	margin: 0;
	accent-color: #168048;
	flex-shrink: 0;
}

.supra-checkout__panel #order_review #shipping_method li label {
	font-size: 0.9rem;
	font-weight: 500;
	color: #1d1c1c;
	cursor: pointer;
	margin: 0;
	flex: 1;
}

/* ── Saved address card ── */
.supra-saved-address {
	background: #f6f2ee;
	border: 1px solid #e0dbd1;
	border-radius: 0.875rem;
	padding: 1.25rem 1.5rem;
	margin-bottom: 0;
}

.supra-saved-address__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 0.875rem;
}

.supra-saved-address__title {
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--supramel-color-secondary, #015E2D);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.supra-saved-address__edit {
	background: none;
	border: 0;
	padding: 0;
	color: #168048;
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.supra-saved-address__edit:hover {
	color: #015E2D;
}

.supra-saved-address__details {
	font-style: normal;
	font-size: 0.9375rem;
	line-height: 1.75;
	color: #1d1c1c;
}

.supra-saved-address__details strong {
	font-weight: 700;
}

.supra-saved-address__email {
	font-size: 0.875rem;
	color: #666;
}

/* ── Field validation error ── */
.supra-field-error {
	border-color: #d94040 !important;
	box-shadow: 0 0 0 2px rgba(217, 64, 64, 0.15) !important;
}

/* ── Right panel: sticky order summary ── */
.supra-checkout__summary {
	position: sticky;
	top: calc(var(--site-header-height, 88px) + 1.5rem);
}

.supra-checkout__summary-inner {
	background: #ffffff;
	border: 1px solid #e5e1d8;
	border-radius: 1rem;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(29, 28, 28, 0.07);
}

/* Mobile accordion toggle (hidden on desktop) */
.supra-summary__toggle {
	display: none;
}

.supra-summary__body {
	padding: 1.25rem 1.5rem 1.5rem;
}

/* Product list */
.supra-summary__items {
	list-style: none;
	margin: 0 0 1.25rem;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
}

.supra-summary__item {
	display: grid;
	grid-template-columns: 48px 1fr auto;
	align-items: center;
	gap: 0.75rem;
}

.supra-summary__item-img {
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	border-radius: 0.375rem;
	overflow: hidden;
	border: 1px solid #e5e1d8;
}

.supra-summary__item-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.supra-summary__item-info {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}

.supra-summary__item-name {
	font-size: 0.85rem;
	font-weight: 600;
	color: #1d1c1c;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.supra-summary__item-qty {
	font-size: 0.78rem;
	color: #888;
}

.supra-summary__item-price {
	font-size: 0.875rem;
	font-weight: 700;
	color: #1d1c1c;
	white-space: nowrap;
}

/* Totals */
.supra-summary__totals {
	border-top: 1px solid #e5e1d8;
	padding-top: 1rem;
	margin: 0;
}

.supra-summary__line {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 0.375rem 0;
	font-size: 0.875rem;
	color: #1d1c1c;
}

.supra-summary__line dt {
	font-weight: 400;
	margin: 0;
}

.supra-summary__line dd {
	font-weight: 600;
	margin: 0;
}

.supra-summary__line--discount dt,
.supra-summary__line--discount dd {
	color: #168048;
}

.supra-summary__line--total {
	border-top: 2px solid #e5e1d8;
	margin-top: 0.5rem;
	padding-top: 0.75rem;
}

.supra-summary__line--total dt {
	font-size: 1rem;
	font-weight: 700;
}

.supra-summary__line--total dd {
	font-size: 1.1rem;
	font-weight: 700;
	color: #168048;
}

/* ── Billing/shipping fields ── */

/* ── Form fields ── */
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3 {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--supramel-color-secondary);
	margin: 0 0 1rem;
	padding-top: 0;
}

body.woocommerce-checkout .woocommerce-input-wrapper input,
body.woocommerce-checkout .woocommerce-input-wrapper select,
body.woocommerce-checkout .woocommerce-input-wrapper textarea,
body.woocommerce-checkout .input-text,
body.woocommerce-checkout select {
	width: 100%;
	height: 44px;
	padding: 0 0.875rem;
	border: 1px solid #c5cbd4 !important;
	border-radius: 6px !important;
	background: #ffffff !important;
	color: #1d1c1c;
	font-size: 0.9375rem;
	box-shadow: none !important;
	outline: none;
	transition: border-color 0.15s ease;
}

body.woocommerce-checkout .woocommerce-input-wrapper textarea {
	height: auto;
	padding: 0.75rem 0.875rem;
}

body.woocommerce-checkout .woocommerce-input-wrapper input:focus,
body.woocommerce-checkout .woocommerce-input-wrapper select:focus,
body.woocommerce-checkout .input-text:focus {
	border-color: #168048 !important;
}

body.woocommerce-checkout .form-row label {
	font-size: 0.875rem;
	font-weight: 600;
	color: #1d1c1c;
	margin-bottom: 0.35rem;
	display: block;
}

/* ── Order review table ── */
body.woocommerce-checkout table.shop_table {
	width: 100%;
	border-collapse: collapse;
}

body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td {
	padding: 0.65rem 0;
	font-size: 0.9rem;
	border-bottom: 1px solid #ede7da;
	color: #1d1c1c;
	vertical-align: middle;
}

body.woocommerce-checkout table.shop_table tfoot tr:last-child td,
body.woocommerce-checkout table.shop_table tfoot tr:last-child th {
	font-size: 1rem;
	font-weight: 700;
	border-bottom: 0;
}

/* ── Payment area: remove grey/purple box ── */
body.woocommerce-checkout #payment {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
}

body.woocommerce-checkout #payment ul.wc_payment_methods {
	padding: 0;
	margin: 1rem 0 0;
	list-style: none;
	border: 1px solid #c5cbd4;
	border-radius: 0.75rem;
	overflow: hidden;
	background: #ffffff;
}

body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method {
	padding: 0.85rem 1rem;
	border-bottom: 1px solid #e5e1d8;
}

body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method:last-child {
	border-bottom: 0;
}

body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method label {
	font-size: 0.9375rem;
	font-weight: 600;
	color: #1d1c1c;
	cursor: pointer;
}

/* Payment method content box (card form, etc.) */
body.woocommerce-checkout #payment .payment_box {
	background: #f6f2ee !important;
	border: 1px solid #c5cbd4 !important;
	border-radius: 0.5rem !important;
	margin: 0.5rem 0 0 !important;
	padding: 1rem !important;
	color: #1d1c1c !important;
}

/* ── Mercado Pago: oculta banner "Pague com um toque" (wallet button) ── */
.mp-wallet-button-container-wrapper {
	display: none !important;
}

/* ── "Finalizar pedido" — gold CTA ── */
body.woocommerce-checkout #payment #place_order,
body.woocommerce-checkout #payment .place-order button,
body.woocommerce-checkout #payment button[name="woocommerce_checkout_place_order"] {
	display: block !important;
	width: 100% !important;
	min-height: 52px !important;
	margin-top: 1.25rem !important;
	padding: 0.9rem 1.5rem !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #d2a93f !important;
	color: #1d1c1c !important;
	font-family: "Montserrat", sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	box-shadow: none !important;
	background-image: none !important;
	transition: background 0.2s ease !important;
}

body.woocommerce-checkout #payment #place_order:hover,
body.woocommerce-checkout #payment .place-order button:hover,
body.woocommerce-checkout #payment button[name="woocommerce_checkout_place_order"]:hover {
	background: #c59b2e !important;
	background-image: none !important;
}

/* ── Mobile: single column ── */
@media (max-width: 900px) {
	.supra-checkout__layout {
		grid-template-columns: 1fr;
	}

	/* On mobile the summary moves above the step panels */
	.supra-checkout__summary {
		position: static;
		order: -1;
	}

	/* Toggle button visible on mobile */
	.supra-summary__toggle {
		display: flex;
		width: 100%;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
		padding: 1rem 1.25rem;
		background: #f6f2ee;
		border: 0;
		border-bottom: 1px solid #e5e1d8;
		font-size: 0.9rem;
		font-weight: 700;
		color: #1d1c1c;
		cursor: pointer;
		text-align: left;
	}

	.supra-summary__toggle-total {
		margin-left: auto;
		font-weight: 700;
		color: #168048;
	}

	.supra-summary__chevron {
		flex-shrink: 0;
		transition: transform 0.2s ease;
	}

	.supra-summary__toggle[aria-expanded="true"] .supra-summary__chevron {
		transform: rotate(180deg);
	}

	/* Body hidden by default on mobile */
	.supra-summary__body {
		display: none;
	}

	/* Step labels hidden on mobile to save space */
	.supra-steps__label {
		display: none;
	}

	.supra-steps__item--active .supra-steps__label {
		display: inline;
	}

	.supra-checkout__panel {
		padding: 1.25rem;
	}

	.supra-checkout__footer {
		justify-content: stretch;
	}

	.supra-checkout__footer--between {
		flex-direction: column;
		gap: 0.75rem;
	}

	.supra-checkout__btn-next,
	.supra-checkout__btn-back {
		width: 100%;
		justify-content: center;
	}
}

/* ── Coupon notice: azul → verde/bege identidade ── */
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-info::before {
	border-top-color: #ddd4c1 !important;
	border-color: #ddd4c1 !important;
	color: #1d1c1c !important;
}

body.woocommerce-checkout .woocommerce-info::before {
	color: #168048 !important;
}

body.woocommerce-checkout .woocommerce-info a {
	color: #168048 !important;
}

body.woocommerce-checkout .woocommerce-info a:hover {
	color: #125e38 !important;
}

/* ── Input borders: extra-safe selectors ── */
body.woocommerce-checkout .form-row .input-text,
body.woocommerce-checkout .form-row input[type="text"],
body.woocommerce-checkout .form-row input[type="email"],
body.woocommerce-checkout .form-row input[type="tel"],
body.woocommerce-checkout .form-row input[type="number"],
body.woocommerce-checkout .form-row input[type="password"],
body.woocommerce-checkout .form-row select {
	border: 1px solid #c5cbd4 !important;
	border-radius: 6px !important;
	background: #ffffff !important;
	box-shadow: none !important;
	outline: none !important;
}

/* ── Two-column form layout ── */
/* Wrapper: flex-wrap so form-row-first/last sit side by side */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0 1rem;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row {
	box-sizing: border-box;
}

/* Default widths following WC classes */
body.woocommerce-checkout .form-row-wide {
	flex: 0 0 100%;
	max-width: 100%;
}

body.woocommerce-checkout .form-row-first {
	flex: 0 0 calc(50% - 0.5rem);
	max-width: calc(50% - 0.5rem);
}

body.woocommerce-checkout .form-row-last {
	flex: 0 0 calc(50% - 0.5rem);
	max-width: calc(50% - 0.5rem);
}

/* Tipo de Pessoa (38%) + CPF/CNPJ (62%) — mesma linha */
body.woocommerce-checkout #billing_persontype_field,
body.woocommerce-checkout #shipping_persontype_field {
	flex: 0 0 calc(38% - 0.5rem) !important;
	max-width: calc(38% - 0.5rem) !important;
}

body.woocommerce-checkout #billing_cpf_field,
body.woocommerce-checkout #shipping_cpf_field,
body.woocommerce-checkout #billing_cnpj_field,
body.woocommerce-checkout #shipping_cnpj_field {
	flex: 0 0 calc(62% - 0.5rem) !important;
	max-width: calc(62% - 0.5rem) !important;
}

/* País (40%) + CEP (60%) — mesma linha */
body.woocommerce-checkout #billing_country_field,
body.woocommerce-checkout #shipping_country_field {
	flex: 0 0 calc(40% - 0.5rem) !important;
	max-width: calc(40% - 0.5rem) !important;
}

body.woocommerce-checkout #billing_postcode_field,
body.woocommerce-checkout #shipping_postcode_field {
	flex: 0 0 calc(60% - 0.5rem) !important;
	max-width: calc(60% - 0.5rem) !important;
}

/* Endereço (65%) + Número (35%) — mesma linha */
body.woocommerce-checkout #billing_address_1_field,
body.woocommerce-checkout #shipping_address_1_field {
	flex: 0 0 calc(65% - 0.5rem) !important;
	max-width: calc(65% - 0.5rem) !important;
}

body.woocommerce-checkout #billing_number_field,
body.woocommerce-checkout #shipping_number_field {
	flex: 0 0 calc(35% - 0.5rem) !important;
	max-width: calc(35% - 0.5rem) !important;
}

/* Complemento — linha própria (100%) */
body.woocommerce-checkout #billing_address_2_field,
body.woocommerce-checkout #shipping_address_2_field {
	flex: 0 0 100% !important;
	max-width: 100% !important;
}

/* Bairro — linha própria (100%) */
body.woocommerce-checkout #billing_neighborhood_field,
body.woocommerce-checkout #shipping_neighborhood_field {
	flex: 0 0 100% !important;
	max-width: 100% !important;
}

/* Cidade (65%) + Estado (35%) */
body.woocommerce-checkout #billing_city_field,
body.woocommerce-checkout #shipping_city_field {
	flex: 0 0 calc(65% - 0.5rem) !important;
	max-width: calc(65% - 0.5rem) !important;
}

body.woocommerce-checkout #billing_state_field,
body.woocommerce-checkout #shipping_state_field {
	flex: 0 0 calc(35% - 0.5rem) !important;
	max-width: calc(35% - 0.5rem) !important;
}

/* Mobile: tudo em coluna única */
@media (max-width: 900px) {
	body.woocommerce-checkout .form-row-first,
	body.woocommerce-checkout .form-row-last,
	body.woocommerce-checkout #billing_persontype_field,
	body.woocommerce-checkout #shipping_persontype_field,
	body.woocommerce-checkout #billing_cpf_field,
	body.woocommerce-checkout #shipping_cpf_field,
	body.woocommerce-checkout #billing_cnpj_field,
	body.woocommerce-checkout #shipping_cnpj_field,
	body.woocommerce-checkout #billing_country_field,
	body.woocommerce-checkout #shipping_country_field,
	body.woocommerce-checkout #billing_postcode_field,
	body.woocommerce-checkout #shipping_postcode_field,
	body.woocommerce-checkout #billing_address_1_field,
	body.woocommerce-checkout #shipping_address_1_field,
	body.woocommerce-checkout #billing_number_field,
	body.woocommerce-checkout #shipping_number_field,
	body.woocommerce-checkout #billing_address_2_field,
	body.woocommerce-checkout #shipping_address_2_field,
	body.woocommerce-checkout #billing_neighborhood_field,
	body.woocommerce-checkout #shipping_neighborhood_field,
	body.woocommerce-checkout #billing_city_field,
	body.woocommerce-checkout #shipping_city_field,
	body.woocommerce-checkout #billing_state_field,
	body.woocommerce-checkout #shipping_state_field {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}
}
