/* CV2 product card — one overlay system for every listing. Staging only. */

.cv2-pcard {
	position: relative;
	display: flex;
	flex-direction: column;
	max-width: 270px;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	background: #fff;
	border: 1.5px solid #efefef;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 1px 4px rgba(31,29,27,.07);
	-webkit-transition: border-color 300ms ease, box-shadow 300ms ease;
	transition: border-color 300ms ease, box-shadow 300ms ease;
}
.cv2-search-card.cv2-pcard {
	border: 1.5px solid #efefef;
	box-shadow: 0 1px 4px rgba(31,29,27,.07);
}
.cv2-pcard.is-added,
.cv2-search-card.cv2-qb-card.is-added,
.catalog-container .cv2-pcard.is-added {
	border: 1.5px solid #3EB075;
	box-shadow: 0 0 0 4px rgba(62,176,117,.16), 0 10px 24px rgba(62,176,117,.2);
}

/* Image stage — positioning context for the 3 overlay zones */
.cv2-pcard__stage {
	position: relative;
	display: block;
	width: 100%;
	line-height: 0;
	overflow: hidden;
}
.cv2-pcard__img,
.cv2-pcard .cv2-search-card__img {
	display: block;
	position: relative;
	background: #fff;
	padding: 5px;
	box-sizing: border-box;
	overflow: hidden;
	border-radius: 10px;
	aspect-ratio: 3 / 4;
}
.cv2-pcard__img::before,
.cv2-pcard .cv2-search-card__img::before {
	content: "";
	display: block;
	padding-top: 133.33333%;
}
@supports (aspect-ratio: 3 / 4) {
	.cv2-pcard__img::before,
	.cv2-pcard .cv2-search-card__img::before { content: none; display: none; padding-top: 0; }
}
.cv2-pcard__img img,
.cv2-pcard .cv2-search-card__img img {
	position: absolute;
	left: 5px;
	top: 5px;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	display: block;
	object-fit: contain;
	object-position: center;
	border-radius: 10px !important;
	border: 0 !important;
	box-shadow: none !important;
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: -webkit-transform .45s ease;
	transition: transform .45s ease;
}
@media (hover: hover) {
	.cv2-pcard__img:hover img,
	.cv2-pcard .cv2-search-card__img:hover img,
	.cv2-pcard__media:hover img {
		-webkit-transform: scale(1.08);
		transform: scale(1.08);
	}
}
.cv2-pcard__media,
.cv2-pcard .cv2-search-card__media { position: relative; }

/* Zona 1 — Promos · top-left. Exists only when there is at least one badge. */
.cv2-pcard__promos {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 4;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
	max-width: 64%;
	pointer-events: none;
}
.cv2-pcard__badge {
	display: inline-block;
	padding: 8px 9px;
	border-radius: 7px;
	line-height: 1.15;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
	box-sizing: border-box;
	font-family: Manrope, Inter, Arial, sans-serif;
}
.cv2-pcard__badge--discount {
	background: #a6004bc4;
	color: #fff;
	font-size: 16px;
	font-weight: 800;
}
.cv2-pcard__badge--campaign {
	background: #1F1D1B;
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}
.cv2-pcard__badge--offer {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0;
padding: 8px;
background: #A6004B;
color: #fff;
font-size: 0;
}
.cv2-pcard__badge-icon {
	display: block;
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
}

/* Favorite · on the price row, heart only */
.cv2-pcard__price {
	align-items: center;
}
.cv2-pcard__fav {
	position: static;
	top: auto;
	right: auto;
	z-index: 2;
	width: auto;
	height: auto;
	margin: 0 0 0 auto;
	padding: 0;
	padding-right: 12px;
	border: 0;
	border-radius: 0;
	background: none !important;
	box-shadow: none !important;
	color: #A6004B !important;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	flex: 0 0 auto;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}
.cv2-pcard__fav::after { content: none; display: none; }
.cv2-pcard__fav i,
.cv2-pcard__fav .fa,
.cv2-pcard__fav .far {
	font-size: 20px;
	line-height: 1;
	color: inherit !important;
	pointer-events: none;
	display: inline-block;
	-webkit-transform-origin: center;
	transform-origin: center;
}
@-webkit-keyframes cv2-fav-pulse {
	0%, 100% { -webkit-transform: scale(1); transform: scale(1); }
	50% { -webkit-transform: scale(1.22); transform: scale(1.22); }
}
@keyframes cv2-fav-pulse {
	0%, 100% { -webkit-transform: scale(1); transform: scale(1); }
	50% { -webkit-transform: scale(1.22); transform: scale(1.22); }
}
.cv2-pcard__fav.is-on i,
.cv2-pcard__fav.is-on .fa,
.cv2-pcard__fav.is-on .far,
.cv2-pcard__fav.catalog_favorite_remove i,
.cv2-pcard__fav.catalog_favorite_remove .fa,
.cv2-pcard__fav.catalog_favorite_remove .far {
	-webkit-animation: cv2-fav-pulse 1.35s ease-in-out infinite;
	animation: cv2-fav-pulse 1.35s ease-in-out infinite;
}
.cv2-pcard__fav.is-on,
.cv2-pcard__fav.catalog_favorite_remove {
	background: none !important;
	color: #A6004B !important;
	-webkit-transform: none;
	transform: none;
}
.cv2-pcard__fav.is-on i,
.cv2-pcard__fav.is-on .fa,
.cv2-pcard__fav.is-on .far,
.cv2-pcard__fav.catalog_favorite_remove i,
.cv2-pcard__fav.catalog_favorite_remove .fa,
.cv2-pcard__fav.catalog_favorite_remove .far {
	color: #A6004B !important;
}
.cv2-pcard__live {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	border: 0;
}

/* Zona 3 — Brand · bottom-left */
.cv2-pcard__brand {
	position: absolute;
	bottom: 8px;
	left: 8px;
	z-index: 4;
	max-width: calc(100% - 50px);
	pointer-events: none;
	background: none;
	padding: 0;
	margin: 0;
	line-height: 0;
}
.cv2-pcard__brand span {
	display: block;
	max-width: 100%;
	background: rgba(255,255,255,.92);
	color: #3A3733;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	border-radius: 7px;
	padding: 5px 9px;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	box-sizing: border-box;
	font-family: Manrope, Inter, Arial, sans-serif;
}

/* Carousel arrows — vertical center, never on badge/brand axis */
.cv2-pcard__nav, .cv2-pcard .cv2-search-card__nav {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 3;
	width: 30px;
	height: 30px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: none;
	box-shadow: none;
	color: #1f1d1b36;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	line-height: 1;
	-webkit-tap-highlight-color: transparent;
}
.cv2-pcard__nav--prev,
.cv2-pcard .cv2-search-card__nav--prev { left: 6px; }
.cv2-pcard__nav--next,
.cv2-pcard .cv2-search-card__nav--next { right: 6px; }
.cv2-pcard__nav:hover,
.cv2-pcard__nav:focus,
.cv2-pcard .cv2-search-card__nav:hover,
.cv2-pcard .cv2-search-card__nav:focus {
	background: #fff;
	color: #A6004B;
	outline: none;
}
@media (hover: hover) and (pointer: fine) {
	.cv2-pcard__nav,
	.cv2-pcard .cv2-search-card__nav { opacity: 0; }
	.cv2-pcard__media:hover .cv2-pcard__nav,
	.cv2-pcard .cv2-search-card__media:hover .cv2-search-card__nav { opacity: 1; }
}

/* Body */
.cv2-pcard__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
	padding: 10px 12px 14px;
	box-sizing: border-box;
}
.cv2-pcard__name,
.cv2-pcard .cv2-search-card__name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	overflow-wrap: break-word;
	font-size: 16px;
	line-height: 1.35;
	min-height: calc(17px * 1.35 * 2);
	margin: 4px 0 6px;
	padding: 0 2px;
	color: #1F1D1B !important;
	font-weight: 400;
	padding-left: 10px;
	text-align: left;
	text-decoration: none;
	font-family: Manrope, Inter, Arial, sans-serif;
}
.cv2-pcard__name:hover { color: #A6004B !important; }
/* name-last em block parte -webkit-line-clamp (letras a sobrepor no mobile). Inline em grelha. */
.cv2-pcard__name-last { display: inline; }
.cv2-search-grid--list .cv2-pcard__name-last { display: inline; }
.cv2-pcard__price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto; /* ancora preço+favorito ao fundo, acima do Comprar */
	margin-bottom: 8px;
	font-family: Manrope, Inter, Arial, sans-serif;
	min-height: 1.4em;
	color: #1b1519;
}
.cv2-pcard__price-old,
.cv2-pcard__price del,
.cv2-pcard .cv2-search-card__price del {
	color: #a0a0a0;
	font-size: 15px;
	font-weight: 700;
	margin-left: 0;
	margin-right: 0;
}
.cv2-pcard__price-now,
.cv2-pcard__price-now--promo.cv2-pcard__price-now,
.cv2-pcard__price-now--promo {
	color: #1b1519;
	font-size: 21px;
	font-weight: 600;
	padding-left: 10px;
}
.cv2-pcard .cv2-search-card__price { color: inherit; font-weight: inherit; }

/* Hide superseded overlays on listings that still emit them */
.cv2-pcard .cv2-qb-incart-badge,
.cv2-search-card .cv2-qb-incart-badge,
.catalog-container .pbadge,
.catalog-container .catalog_favorite,
.catalog-container .catalog_offer,
.catalog-container .img_marca,
.cv2-pcard .cv2-search-card__fav,
.cv2-pcard .cv2-search-card__brand { display: none !important; }

/* Catalog / related grid cells */
.catalog-container .pure-u-1-2 .cv2-pcard,
.catalog-container .pure-u-sm-1-4 .cv2-pcard,
.related-div .cv2-pcard,
.cv2-search-grid .cv2-pcard {
	max-width: none;
	height: 100%;
}
.related-div {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}
.related-div .cv2-pcard { margin-bottom: 12px; }

/* List view: image | body */
.cv2-search-grid--list .cv2-pcard {
display: grid;
grid-template-columns: 140px 1fr;
align-items: stretch;
max-width: none;
}
.cv2-search-grid--list .cv2-pcard__body { padding: 10px; }
.cv2-search-grid--list .cv2-pcard__name {
	font-size: 17px;
	min-height: 0;
}
.cv2-search-grid--list .cv2-pcard__brand { display: none; }
.cv2-search-grid--list .cv2-pcard__nav,
.cv2-search-grid--list .cv2-pcard .cv2-search-card__nav {
	width: 22px;
	height: 22px;
	font-size: 10px;
}

@media (prefers-reduced-motion: reduce) {
	.cv2-pcard,
	.cv2-pcard__fav,
	.cv2-pcard__nav {
		-webkit-transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
		transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
	}
	.cv2-pcard__img img,
	.cv2-pcard .cv2-search-card__img img,
	.cv2-pcard__img:hover img,
	.cv2-pcard .cv2-search-card__img:hover img,
	.cv2-pcard__media:hover img {
		-webkit-transform: none;
		transform: none;
		-webkit-transition: none;
		transition: none;
	}
	.cv2-pcard__fav.is-on,
	.cv2-pcard__fav.catalog_favorite_remove {
		-webkit-transform: none;
		transform: none;
	}
	.cv2-pcard__fav.is-on i,
	.cv2-pcard__fav.is-on .fa,
	.cv2-pcard__fav.is-on .far,
	.cv2-pcard__fav.catalog_favorite_remove i,
	.cv2-pcard__fav.catalog_favorite_remove .fa,
	.cv2-pcard__fav.catalog_favorite_remove .far {
		-webkit-animation: none;
		animation: none;
		-webkit-transform: none;
		transform: none;
	}
}


/* Don't let search-card ::before + aspect-ratio stack (white gap under photo). */
.cv2-pcard__img::before,
.cv2-pcard .cv2-search-card__img::before {
	content: none !important;
	display: none !important;
	padding-top: 0 !important;
}
@supports not (aspect-ratio: 3 / 4) {
	.cv2-pcard__img::before,
	.cv2-pcard .cv2-search-card__img::before {
		content: "" !important;
		display: block !important;
		padding-top: 133.33333% !important;
	}
}

/* Actions — owned by the card so catalog/search resets cannot strip them */
.cv2-pcard .cv2-qb-actions {
	display: flex;
	flex-direction: column;
	gap: 7px;
	width: 100%;
	margin-top: 0; /* preço já leva margin-top:auto */
	box-sizing: border-box;
}
.cv2-pcard .cv2-qb-btn,
.cv2-pcard a.cv2-qb-btn,
.cv2-pcard button.cv2-qb-btn {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	text-align: center !important;
	border-radius: 8px !important;
	padding: 11px 12px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	font-family: Manrope, Inter, Arial, sans-serif !important;
	text-decoration: none !important;
	cursor: pointer;
	line-height: 1.2 !important;
	min-height: 40px !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	background-image: none !important;
}
.cv2-pcard .cv2-qb-btn--view,
.cv2-pcard a.cv2-qb-btn--view {
	background: #fff !important;
	color: #1F1D1B !important;
	border: 1px solid #DDD7CD !important;
}
.cv2-pcard .cv2-qb-btn--buy,
.cv2-pcard button.cv2-qb-btn--buy {
	background: #A6004B !important;
	color: #fff !important;
	border: 1px solid #A6004B !important;
}
.cv2-pcard.is-added .cv2-qb-btn--buy,
.cv2-pcard.is-added button.cv2-qb-btn--buy {
	background: #3EB075 !important;
	border-color: #3EB075 !important;
	color: #fff !important;
}
.cv2-pcard .cv2-qb-btn--notify,
.cv2-pcard button.cv2-qb-btn--notify {
	background: #1F1D1B !important;
	color: #fff !important;
	border: 1px solid #1F1D1B !important;
	min-height: 44px !important;
	white-space: normal;
	font-size: 12px !important;
	padding: 10px 8px !important;
}
.cv2-pcard .cv2-qb-btn--notify.is-active,
.cv2-pcard button.cv2-qb-btn--notify.is-active {
	background: #1F1D1B !important;
	border-color: #1F1D1B !important;
	opacity: .92;
}
.cv2-pcard.is-notify-on {
	border-color: #1F1D1B;
}

/* Catalog / related: beat cupido inline-table + letter-spacing so body stays under the photo */
html body.webstore-main-body .catalog-container {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	padding-left: 0;
	padding-right: 0;
	box-sizing: border-box;
}
.catalog-container .pure-g {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
	column-gap: 10px;
	row-gap: 12px;
	gap: 12px 10px;
	letter-spacing: normal !important;
	word-spacing: normal !important;
}
.catalog-container .pure-u-1-2,
.catalog-container .pure-u-sm-1-4,
.related-div.pure-u-1-2,
.related-div.pure-u-sm-1-5 {
	display: flex !important;
	flex-direction: column !important;
	letter-spacing: normal !important;
	word-spacing: normal !important;
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}
.catalog-container .pure-u-1-2 {
	width: calc((100% - 10px) / 2) !important;
}
@media screen and (min-width: 568px) {
	.catalog-container .pure-u-sm-1-4 {
		width: calc((100% - 36px) / 4) !important;
	}
	.catalog-container .pure-g {
		column-gap: 12px;
		row-gap: 14px;
		gap: 14px 12px;
	}
}
.related-div {
	display: flex !important;
	flex-direction: column !important;
	width: auto !important;
	max-width: none;
	text-align: left;
	letter-spacing: normal !important;
}
.catalog-container .cv2-pcard,
.related-div .cv2-pcard,
.produtos-relacionados .cv2-pcard {
	display: flex !important;
	flex-direction: column !important;
	width: 100%;
	max-width: none;
	letter-spacing: normal !important;
	word-spacing: normal !important;
	height: 100%;
}


/* Homepage destaques — same card, 4-col on desktop */
.cv2-home-listing {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0 0 24px;
}
.cv2-home-listing .titulo_ficha_topo_highlights {
	display: block;
	margin: 0 0 18px;
}
.cv2-home-listing .catalog-container,
.cv2-home-listing .catalog-container .pure-g {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px 10px;
	width: 100% !important;
	letter-spacing: normal !important;
}
.cv2-home-listing .cv2-pcard {
	display: flex !important;
	flex-direction: column !important;
	width: 100%;
	max-width: none;
	height: 100%;
}
.cv2-home-listing .htmltooltip,
.catalog-container > .htmltooltip {
	display: none !important;
}

.cv2-pcard:not(.is-added),
.cv2-search-card.cv2-pcard:not(.is-added),
.catalog-container .cv2-pcard:not(.is-added),
.cv2-home-listing .cv2-pcard:not(.is-added),
.related-div .cv2-pcard:not(.is-added) {
	border: 1.5px solid #efefef;
}

.cv2-pcard__media,
.cv2-pcard .cv2-search-card__media,
.cv2-search-card__media {
	touch-action: pan-y;
	-webkit-user-select: none;
	user-select: none;
}


/* cv2 related grid: keep cards on one row */
html body.webstore-main-body .cv2-related-grid,
html body.webstore-main-body .pure-g.cv2-related-grid {
	display: -webkit-flex !important;
	display: flex !important;
	-webkit-flex-wrap: wrap !important;
	flex-wrap: wrap !important;
	-webkit-align-items: stretch !important;
	align-items: stretch !important;
	gap: 12px 10px !important;
	width: 100% !important;
	letter-spacing: normal !important;
	word-spacing: normal !important;
}
html body.webstore-main-body .cv2-related-grid > .related-div,
html body.webstore-main-body .related-div.pure-u-1-2,
html body.webstore-main-body .related-div.pure-u-sm-1-5 {
	display: -webkit-flex !important;
	display: flex !important;
	-webkit-flex-direction: column !important;
	flex-direction: column !important;
	float: none !important;
	width: calc((100% - 10px) / 2) !important;
	max-width: calc((100% - 10px) / 2) !important;
	box-sizing: border-box !important;
	margin: 0 !important;
}
@media screen and (min-width: 801px) {
	html body.webstore-main-body .cv2-related-grid > .related-div,
	html body.webstore-main-body .related-div.pure-u-sm-1-5 {
		width: calc((100% - 40px) / 5) !important;
		max-width: calc((100% - 40px) / 5) !important;
	}
}

html body.webstore-main-body .pure-g:has(> .related-div) {
	display: -webkit-flex !important;
	display: flex !important;
	-webkit-flex-wrap: wrap !important;
	flex-wrap: wrap !important;
	-webkit-align-items: stretch !important;
	align-items: stretch !important;
	gap: 12px 10px !important;
	width: 100% !important;
	letter-spacing: normal !important;
}


@keyframes cv2-pcard-spin {
	to { transform: rotate(360deg); }
}
.cv2-pcard__img,
.cv2-pcard .cv2-search-card__img {
	background: #fff;
}
.cv2-pcard__img::after,
.cv2-pcard .cv2-search-card__img::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 22px;
	height: 22px;
	margin: -11px 0 0 -11px;
	border: 2px solid #e5ddd8;
	border-top-color: #8d0042;
	border-radius: 50%;
	-webkit-animation: cv2-pcard-spin .6s linear infinite;
	animation: cv2-pcard-spin .6s linear infinite;
	z-index: 1;
	pointer-events: none;
}
.cv2-pcard__img.is-ready::after,
.cv2-pcard .cv2-search-card__img.is-ready::after {
	opacity: 0;
	visibility: hidden;
	-webkit-animation: none;
	animation: none;
}
.cv2-pcard__img img:not(.cv2-search-card__photo--layer),
.cv2-pcard .cv2-search-card__img img:not(.cv2-search-card__photo--layer) {
	opacity: 0;
	-webkit-transition: opacity .2s ease, -webkit-transform .45s ease;
	transition: opacity .2s ease, transform .45s ease;
}
.cv2-pcard__img.is-ready img:not(.cv2-search-card__photo--layer),
.cv2-pcard .cv2-search-card__img.is-ready img:not(.cv2-search-card__photo--layer) {
	opacity: 1;
}
.cv2-pcard .cv2-search-card__photo--layer {
	opacity: 0;
	pointer-events: none;
	z-index: 1;
	-webkit-transition: opacity 320ms ease, -webkit-transform .45s ease;
	transition: opacity 320ms ease, transform .45s ease;
}
.cv2-pcard .cv2-search-card__photo--layer.is-in { opacity: 1; }
.cv2-pcard__media.is-swap-now .cv2-search-card__photo--layer,
.cv2-pcard .cv2-search-card__media.is-swap-now .cv2-search-card__photo--layer {
	-webkit-transition: none;
	transition: none;
}

/* Mobile: 14px title, 16px prices, promo above current */
@media only screen and (max-width: 800px) {
	.cv2-pcard__name,
	.cv2-pcard .cv2-search-card__name {
		font-size: 14px;
		line-height: 1.4;
		min-height: calc(14px * 1.4 * 2);
	}
	.cv2-pcard__name-last {
		display: inline;
	}
	.cv2-pcard__price {
		flex-wrap: wrap;
		align-items: center;
		gap: 2px 8px;
	}
	.cv2-pcard__price-old, .cv2-pcard__price del, .cv2-pcard .cv2-search-card__price del {
		order: 1;
		flex: 1 0 100%;
		font-size: 11px;
		padding-left: 10px;
		text-align: left;
	}
	.cv2-pcard__price-now,
	.cv2-pcard__price-now--promo.cv2-pcard__price-now,
	.cv2-pcard__price-now--promo {
		order: 2;
		font-size: 16px;
	}
	.cv2-pcard__fav {
		order: 3;
	}
	.cv2-pcard__badge--discount {
		font-size: 12px;
	}
	.cv2-pcard__badge {
		padding: 6px 6px;
	}
	.cv2-pcard__brand {
		bottom: 12px;
		left: 11px;
	}
	.cv2-search-grid--list .cv2-pcard__name,
	.cv2-search-grid--list .cv2-pcard .cv2-search-card__name {
		min-height: auto;
	}
	.cv2-search-grid--list .cv2-pcard__body {
		display: flex;
		flex-direction: column;
		height: 100%;
		min-height: 0;
	}
	.cv2-search-grid--list .cv2-pcard__price {
		margin-top: auto;
		margin-bottom: 4px;
	}
	.cv2-search-grid--list .cv2-pcard .cv2-qb-actions {
		margin-top: 0;
	}
	.catalog-container .cv2-search-grid--list .cv2-pcard,
	.related-div .cv2-search-grid--list .cv2-pcard,
	.produtos-relacionados .cv2-search-grid--list .cv2-pcard {
		padding: 8px;
	}
}


/* Variant block (color dots, then size boxes below) — between title and price */
.cv2-pcard__vars {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	height: auto;
	margin: 0 0 8px;
	padding: 0 10px;
	min-width: 0;
}
.cv2-pcard__dots {
	display: flex;
	align-items: center;
	gap: 4px;
	flex: 0 0 auto;
}
.cv2-pcard__dot {
	appearance: none;
	-webkit-appearance: none;
	width: 6px;
	height: 6px;
	padding: 4px;
	margin: 0;
	box-sizing: content-box;
	background-clip: content-box;
	border: 1px solid #eee;
	border-radius: 50%;
	background-color: #C8C2C6;
	cursor: pointer;
	flex: 0 0 auto;
	box-shadow: none;
	overflow: visible;
	outline: 0;
}
.cv2-pcard__dot.is-on {
	box-shadow: none;
	overflow: visible;
}
.cv2-pcard__dot.is-oos { opacity: .4; }
.cv2-pcard__dot.is-texture {
	background-color: transparent;
	background-image: var(--cv2-dot-texture, none);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-clip: border-box;
	padding: 0;
	width: 14px;
	height: 14px;
	box-sizing: border-box;
}
.cv2-pcard__more {
	font-size: 11px;
	line-height: 16px;
	color: #6E6870;
	padding-left: 2px;
}
.cv2-pcard__vsep,
.cv2-pcard__sz-sep { display: none; }
.cv2-pcard__sizes {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	align-content: flex-start;
	gap: 6px;
	width: 100%;
	min-width: 0;
	/* 2 linhas de caixas (padding 5+5 + line ~13 + border 2) + gap */
	min-height: calc((5px + 5px + 12px * 1.1 + 2px) * 2 + 6px);
	font-family: Manrope, Inter, Arial, sans-serif;
}
.cv2-pcard__sz {
	appearance: none;
	-webkit-appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 5px 8px;
	min-width: 32px;
	box-sizing: border-box;
	border: 1px solid #DDD7CD;
	border-radius: 8px;
	background: #fff;
	color: #1b1416;
	font-family: Manrope, Inter, Arial, sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.1;
	cursor: pointer;
	white-space: nowrap;
}
.cv2-pcard__sz.is-on,
.cv2-pcard__sz.is-in-cart {
	border-color: #3EB075;
	background: #3EB075;
	color: #fff;
	padding: 5px 8px;
}
.cv2-pcard__sz.is-oos {
	border-color: transparent;
	background: #fff;
	color: #9a9094;
	text-decoration: line-through;
	opacity: 1;
}
.cv2-pcard__sz.is-oos.is-on,
.cv2-pcard__sz.is-oos.is-in-cart {
	border-color: #3EB075;
	background: #3EB075;
	color: #fff;
	text-decoration: none;
	padding: 5px 8px;
}
.cv2-search-grid--list .cv2-pcard__vars { padding-left: 0; }
.cv2-pcard__vars.is-flavor {
	height: auto;
	min-height: 16px;
	flex-wrap: wrap;
	white-space: normal;
}
.cv2-pcard__flavors {
	display: flex;
	align-items: center;
	gap: 0 2px;
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
}
.cv2-pcard__flavor {
	appearance: none;
	-webkit-appearance: none;
	border: 0;
	background: transparent;
	padding: 0;
	margin: 0;
	font-family: Manrope, Inter, Arial, sans-serif;
	font-size: 11px;
	line-height: 16px;
	color: #6E6870;
	cursor: pointer;
	white-space: nowrap;
	max-width: 7.5em;
	overflow: hidden;
	text-overflow: ellipsis;
}
.cv2-pcard__flavor + .cv2-pcard__flavor::before {
	content: "·";
	display: inline-block;
	margin: 0 4px 0 2px;
	color: #C8C2C6;
	font-weight: 400;
}
.cv2-pcard__flavor.is-on {
	color: #1d1d1d;
	font-weight: 600;
}
.cv2-pcard__flavor.is-oos { opacity: .5; }


/* t1283: listing must win over generic button styles */
body.cv2-listing-page .cv2-pcard__sz.is-on,
body.cv2-listing-page .cv2-pcard__sz.is-in-cart,
#cv2ListingGrid .cv2-pcard__sz.is-on,
#cv2ListingGrid .cv2-pcard__sz.is-in-cart,
.cv2-search-grid .cv2-pcard__sz.is-on,
.cv2-search-grid .cv2-pcard__sz.is-in-cart {
	border-color: #3EB075 !important;
	background: #3EB075 !important;
	color: #fff !important;
}


/* ===== T1282: dynamic Portrait framing (gallery source + CSS) ===== */
.cv2-pcard__media--portrait-dyn,
.cv2-pcard__img--portrait-dyn {
	overflow: hidden;
}
.cv2-pcard__media--portrait-dyn .cv2-pcard__img,
.cv2-pcard__media--portrait-dyn .cv2-search-card__img {
	overflow: hidden;
}
.cv2-pcard__media--portrait-dyn img,
.cv2-pcard__img--portrait-dyn img,
.cv2-pcard .cv2-pcard__img--portrait-dyn img {
	object-fit: cover !important;
	object-position: var(--cv2-px, 50%) var(--cv2-py, 50%) !important;
	-webkit-transform: scale(var(--cv2-pz, 1));
	transform: scale(var(--cv2-pz, 1));
	-webkit-transform-origin: var(--cv2-px, 50%) var(--cv2-py, 50%);
	transform-origin: var(--cv2-px, 50%) var(--cv2-py, 50%);
}
@media (hover: hover) {
	.cv2-pcard__media--portrait-dyn:hover img,
	.cv2-pcard__img--portrait-dyn:hover img,
	.cv2-pcard .cv2-pcard__img--portrait-dyn:hover img {
		-webkit-transform: scale(calc(var(--cv2-pz, 1) * 1.08));
		transform: scale(calc(var(--cv2-pz, 1) * 1.08));
	}
}
/* When carousel leaves the portrait source, JS removes --portrait-dyn */


/* List view: no reserved 2-row size strip; price stays natural */
.cv2-search-grid--list .cv2-pcard__sizes {
	min-height: 0;
}
.cv2-search-grid--list .cv2-pcard__price {
	margin-top: auto;
}
