/* CControle ecommerce theme inspired by Clomee's retail structure. */

@font-face {
	font-family: 'Poppins';
	src: url('/login2/fonts/poppins/Poppins-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

/* CControle mobile navigation safety */
@media (max-width: 991px) {
	.ccl-nav {
		display: block !important;
	}

	.ccl-nav-menu {
		display: none !important;
	}

	.ccl-nav-content {
		min-height: 44px;
		justify-content: flex-end !important;
	}
}

.ec-skip-link {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 99999;
	padding: 10px 14px;
	border-radius: 8px;
	background: #111827;
	color: #ffffff;
	font-weight: 800;
	transform: translateY(-160%);
}

.ec-skip-link:focus {
	color: #ffffff;
	transform: translateY(0);
}

.ccl-product-image-placeholder {
	display: flex;
	min-height: 210px;
	width: 100%;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 8px;
	background: #f3f5f8;
	color: #6b7280;
}

.ccl-product-image-placeholder i {
	font-size: 28px;
}

:where(a, button, input, select, textarea):focus-visible {
	outline: 3px solid rgba(0, 89, 218, .36);
	outline-offset: 3px;
}

@font-face {
	font-family: 'Poppins';
	src: url('/login2/fonts/poppins/Poppins-Medium.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Poppins';
	src: url('/login2/fonts/poppins/Poppins-SemiBold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Poppins';
	src: url('/login2/fonts/poppins/Poppins-Bold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

:root {
	--ccl-black: #050505;
	--ccl-ink: #111111;
	--ccl-muted: #6d6d6d;
	--ccl-line: #dedede;
	--ccl-soft: #eeeeee;
	--ccl-surface: #ffffff;
	--ccl-blue: #0059DA;
	--ccl-primary-rgb: 5, 5, 5;
	--ccl-red: #c90000;
	--ccl-font: 'Poppins', 'Segoe UI', Arial, sans-serif;
	--ccl-display-font: 'Poppins', 'Segoe UI', Arial, sans-serif;
}

/* Compatibilidade com registros salvos usando nomes de icones ausentes no Font Awesome 5.0.1. */
.fa-box-open::before {
	content: "\f1b2";
}

.fa-headset::before {
	content: "\f086";
}

body {
	background: var(--ccl-body-bg, #ffffff);
	color: var(--ccl-ink);
	font-family: var(--ccl-font);
}

.ccl-shell {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	padding-left: 15px;
	padding-right: 15px;
	box-sizing: border-box;
}

.ccl-shell *,
.ccl-shell *::before,
.ccl-shell *::after {
	box-sizing: border-box;
}

.ccl-header {
	background: #ffffff;
	box-shadow: none;
}

.ccl-promo-bar {
	height: 28px;
	min-height: 28px;
	background: var(--ccl-navbar-footer);
	color: var(--ccl-on-primary);
	border: 0;
}

.ccl-promo-text {
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
}

.ccl-header-main {
	height: auto;
	padding: 12px 0 14px;
	background: var(--ccl-navbar-footer);
	border-bottom: 0;
}

.ccl-header-row {
	min-height: 58px;
}

.ccl-logo-col {
	display: flex;
	justify-content: flex-start;
}

.ccl-logo-container {
	display: flex;
	align-items: center;
	justify-content: center;
	height: auto;
}

.ccl-wordmark,
.ccl-wordmark:hover,
.ccl-wordmark:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--ccl-font-color);
	font-family: var(--ccl-display-font);
	font-size: 28px;
	font-weight: 900;
	line-height: 0.9;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
}

.ccl-search-col {
	display: flex;
	align-items: center;
	justify-content: center;
}

.ccl-search-form {
	width: 100%;
	height: 54px;
	position: relative;
	display: block;
	align-items: center;
	border: 0;
	border-radius: 6px;
	background: #ffffff;
	overflow: hidden;
}

.ccl-search-input {
	display: block;
	float: none;
	width: calc(100% - 58px) !important;
	min-width: 0;
	height: 100%;
	padding: 0 12px;
	border: 0 !important;
	background: #ffffff;
	color: var(--ccl-ink);
	font-size: 13px;
	font-weight: 600;
	outline: 0;
}

.ccl-search-input::placeholder {
	color: var(--ccl-ink);
	opacity: 1;
}

.ccl-search-button {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 58px;
	height: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	background: var(--ccl-button);
	color: var(--ccl-on-primary);
	font-size: 22px;
	cursor: pointer;
}

.ccl-search-button:hover {
	background: var(--ccl-primary-hover);
	color: var(--ccl-on-primary);
}

.ccl-actions-col {
	display: flex;
	justify-content: flex-end;
}

.ccl-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
}

.ccl-action-support,
.ccl-action-favorites {
	display: none !important;
}

.ccl-action,
.ccl-action:hover,
.ccl-action:visited {
	display: inline-grid;
	grid-template-columns: auto auto;
	grid-template-rows: auto auto;
	align-items: center;
	column-gap: 8px;
	color: var(--ccl-font-color);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.15;
	text-decoration: none;
	white-space: nowrap;
}

.ccl-action i {
	grid-row: 1 / span 2;
	color: var(--ccl-font-color);
	font-size: 20px;
	line-height: 1;
}

.ccl-action strong {
	min-width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--ccl-button);
	color: var(--ccl-on-primary);
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
}

.ccl-action small {
	grid-column: 2;
	color: var(--ccl-muted);
	font-size: 11px;
	font-weight: 700;
}

.ccl-nav {
	height: auto;
	width: 100% !important;
	margin: 0 !important;
	background: var(--ccl-navbar-footer) !important;
	border-bottom: 0;
	box-shadow: none;
}

.ccl-nav-content {
	/* o template crava height:60px (.main_nav_content) — sobrescrevo p/ a barra CRESCER
	   quando o menu quebra em 2ª linha (muitos itens / nomes longos), sem cortar nem sobrepor. */
	min-height: 60px;
	height: auto;
	padding: 6px 0;
	background: var(--ccl-navbar-footer) !important;
}

.ccl-nav-menu {
	width: 100%;
	display: flex;
	justify-content: center;
}

.ccl-nav-list {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;          /* itens demais / nomes longos quebram em linha (a barra cresce) em vez de cortar */
	gap: 4px 34px;            /* row-gap enxuto, column-gap 34px */
	margin: 0;
	padding: 0;
}

.ccl-nav-list li {
	display: block;
}

.ccl-nav-list li a,
.ccl-nav-list li a:hover,
.ccl-nav-list li a:visited {
	display: inline-flex;
	align-items: center;
	height: 50px;
	padding: 0;
	color: var(--ccl-font-color);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none;
}

.ccl-nav-list li a:hover {
	color: var(--ccl-primary-hover);
}

.ccl-nav .menu_trigger_container {
	display: none;
}

.page_menu {
	background: var(--ccl-black);
}

.page_menu_search_input {
	border-radius: 0;
	background: #ffffff;
	color: var(--ccl-ink);
	font-weight: 700;
}

.page_menu_item > a {
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.ccl-home-hero {
	position: relative;
	height: clamp(360px, calc(100vw * 680 / 1920), 680px);
	min-height: 0;
	display: flex;
	align-items: center;
	background: #e5e5e5;
	overflow: hidden;
	isolation: isolate;
}

.ccl-home-hero__slide {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	background:
		linear-gradient(90deg, rgba(0, 0, 0, 0.40) 0%, rgba(0, 0, 0, 0.18) 48%, rgba(0, 0, 0, 0.12) 100%),
		var(--ccl-hero-bg-image),
		#e5e5e5;
	background-position: center center;
	background-size: cover, contain, auto;
	background-repeat: no-repeat;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.45s ease;
}

.ccl-home-hero__slide.is-image-only {
	background:
		var(--ccl-hero-bg-image),
		#e5e5e5;
	background-position: center center;
	background-size: contain, auto;
	background-repeat: no-repeat;
}

.ccl-home-hero__slide::before,
.ccl-home-hero__slide::after {
	content: "";
	position: absolute;
	pointer-events: none;
}

.ccl-home-hero__slide::before {
	inset: 0;
	background: linear-gradient(108deg, rgba(var(--ccl-primary-rgb), 0.14) 0 38%, transparent 38% 100%);
}

.ccl-home-hero__slide::after {
	left: 50%;
	top: -42px;
	width: 280px;
	height: 520px;
	background: rgba(var(--ccl-primary-rgb), 0.18);
	transform: rotate(62deg);
}

.ccl-home-hero__slide.is-image-only::before,
.ccl-home-hero__slide.is-image-only::after {
	display: none;
}

.ccl-home-hero__slide.is-active {
	opacity: 1;
	pointer-events: auto;
}

.ccl-home-hero__shade {
	display: none;
}

.ccl-home-hero__shell {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
	height: 100%;
	min-height: 0;
	padding-top: 42px;
	padding-bottom: 58px;
}

.ccl-home-hero__content {
	max-width: 460px;
	padding: 0 0 0 clamp(96px, 8vw, 122px);
	color: #ffffff;
}

.ccl-home-hero__content.is-hidden {
	display: none;
}

.ccl-home-hero h1 {
	max-width: 520px;
	margin: 0 0 14px;
	color: #ffffff;
	font-family: var(--ccl-display-font);
	font-size: clamp(28px, 2.7vw, 40px);
	font-weight: 900;
	line-height: 1.15;
	letter-spacing: 0;
	text-shadow: none;
	text-transform: none;
	overflow-wrap: break-word;
}

.ccl-home-hero p {
	max-width: 520px;
	margin: 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.45;
}

.ccl-hero-arrow {
	position: absolute;
	z-index: 3;
	top: 50%;
	width: 58px;
	height: 58px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 999px;
	background: #ffffff;
	color: var(--ccl-button);
	font-size: 18px;
	transform: translateY(-50%);
	box-shadow: 0 14px 24px rgba(31, 43, 54, 0.16);
}

.ccl-hero-arrow--left {
	left: 24px;
}

.ccl-hero-arrow--right {
	right: 24px;
}

.ccl-hero-dots,
.ccl-benefit-dots {
	position: absolute;
	z-index: 3;
	left: max(24px, calc((100vw - 1440px) / 2 + 15px));
	bottom: 20px;
	display: flex;
	gap: 8px;
	transform: none;
}

.ccl-hero-dots button,
.ccl-hero-dots span,
.ccl-benefit-dots span {
	width: 80px;
	height: 3px;
	display: block;
	padding: 0;
	border-radius: 0;
	border: 0;
	background: rgba(255, 255, 255, 0.72);
	cursor: pointer;
}

.ccl-hero-dots button.active,
.ccl-hero-dots span.active,
.ccl-benefit-dots span.active {
	background: var(--ccl-navbar-footer);
}

.ccl-benefits {
	position: relative;
	padding: 0;
	background: var(--ccl-body-bg);
	border-bottom: 1px solid rgba(var(--ccl-primary-rgb), 0.16);
}

.ccl-benefits-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 0;
}

.ccl-benefit {
	position: relative;
	display: grid;
	grid-template-columns: 78px 1fr;
	align-items: center;
	gap: 18px;
	min-height: 126px;
	padding: 22px 30px;
	color: var(--ccl-body-font);
}

.ccl-benefit:not(:last-child)::after {
	content: "";
	position: absolute;
	right: 0;
	top: 24px;
	bottom: 24px;
	width: 1px;
	background: rgba(var(--ccl-primary-rgb), 0.16);
}

.ccl-benefit-icon {
	width: 72px;
	height: 72px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 0;
	background: var(--ccl-button);
	clip-path: polygon(25% 5%, 75% 5%, 100% 50%, 75% 95%, 25% 95%, 0 50%);
	color: var(--ccl-on-primary);
	font-size: 27px;
}

.ccl-benefit strong {
	display: block;
	margin-bottom: 4px;
	color: var(--ccl-body-font);
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.ccl-benefit span {
	display: block;
	color: var(--ccl-body-font);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	opacity: 0.78;
}

.ccl-benefit-dots {
	display: none;
}

.ccl-home-categories,
.ccl-featured-products {
	padding: 56px 0 22px;
	background: #ffffff;
}

.ccl-featured-products {
	padding-bottom: 72px;
}

.ccl-section-head {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: end;
	gap: 12px;
	margin-bottom: 24px;
}

.ccl-section-head span {
	grid-column: 1 / -1;
	color: var(--ccl-muted);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.ccl-section-head h2 {
	margin: 0;
	color: var(--ccl-black);
	font-family: var(--ccl-display-font);
	font-size: 28px;
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.ccl-section-head a,
.ccl-section-head a:hover {
	color: var(--ccl-black);
	border-bottom: 1px solid var(--ccl-black);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
}

.ccl-highlight-category-list {
	background: #ffffff;
}

.ccl-featured-products--category {
	padding: 52px 0 42px;
	background: #ffffff;
}

.ccl-featured-products--category + .ccl-featured-products--category {
	padding-top: 28px;
}

.ccl-home-strip-banner {
	background: #ffffff;
	padding: 10px 0 36px;
}

.ccl-home-strip-banner--footer {
	padding-top: 18px;
	padding-bottom: 58px;
}

.ccl-home-strip-banner__media,
.ccl-home-strip-banner__media:hover,
.ccl-home-strip-banner__media:visited {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 180px;
	height: clamp(180px, 19vw, 260px);
	overflow: hidden;
	border-radius: 4px;
	background:
		linear-gradient(90deg, rgba(4, 14, 32, 0.48) 0%, rgba(4, 14, 32, 0.18) 48%, rgba(4, 14, 32, 0.04) 100%),
		var(--ccl-strip-banner-image),
		var(--ccl-button);
	background-position: center center;
	background-size: cover;
	color: #ffffff;
	text-decoration: none;
}

.ccl-home-strip-banner__media.is-image-only {
	background:
		var(--ccl-strip-banner-image),
		var(--ccl-button);
	background-position: center center;
	background-size: cover;
}

.ccl-home-strip-banner__copy {
	position: relative;
	z-index: 1;
	width: min(48%, 560px);
	margin-left: clamp(28px, 8vw, 150px);
}

.ccl-home-strip-banner__copy h2 {
	margin: 0;
	font-family: var(--ccl-display-font);
	font-size: clamp(22px, 2vw, 30px);
	font-weight: 900;
	line-height: 1.18;
	letter-spacing: 0;
	text-transform: none;
}

.ccl-home-strip-banner__copy p {
	margin: 10px 0 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.45;
}

.ccl-home-strip-banner__copy span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	margin-top: 18px;
	padding: 0 24px;
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: 4px;
	color: #ffffff;
	font-size: 13px;
	font-weight: 800;
}

.ccl-section-head--category {
	margin-bottom: 26px;
}

.ccl-section-head--category span {
	color: var(--ccl-button);
	letter-spacing: 0.1em;
}

.ccl-section-head--category h2 {
	position: relative;
	padding-left: 18px;
	font-size: clamp(24px, 2.25vw, 34px);
	line-height: 1.18;
	letter-spacing: 0;
	text-transform: none;
}

.ccl-section-head--category h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	bottom: 2px;
	width: 4px;
	border-radius: 999px;
	background: var(--ccl-button);
}

.ccl-category-featured-carousel {
	position: relative;
}

.ccl-category-featured-track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(250px, calc((100% - 48px) / 4));
	gap: 16px;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 2px 0 8px;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.ccl-category-featured-track::-webkit-scrollbar {
	display: none;
}

.ccl-category-featured-item {
	min-width: 0;
	scroll-snap-align: start;
}

.ccl-category-featured-view-all,
.ccl-category-featured-view-all:hover,
.ccl-category-featured-view-all:visited {
	min-height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 12px;
	padding: 28px 22px;
	border: 1px dashed rgba(var(--ccl-primary-rgb), 0.34);
	background: #ffffff;
	color: var(--ccl-black);
	text-align: center;
	text-decoration: none;
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.ccl-category-featured-view-all:hover {
	border-color: var(--ccl-button);
	transform: translateY(-1px);
	box-shadow: 0 14px 28px rgba(17, 24, 39, 0.08);
}

.ccl-category-featured-view-all span {
	width: 54px;
	height: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--ccl-button);
	color: var(--ccl-on-primary);
	font-size: 18px;
}

.ccl-category-featured-view-all span i {
	color: currentColor !important;
}

.ccl-category-featured-view-all strong {
	color: var(--ccl-black);
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1.25;
	text-transform: uppercase;
}

.ccl-category-featured-view-all small {
	color: var(--ccl-muted);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.35;
}

.ccl-category-featured-arrow {
	position: absolute;
	z-index: 4;
	top: 50%;
	width: 56px;
	height: 56px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 999px;
	background: #ffffff;
	color: var(--ccl-button);
	font-size: 17px;
	transform: translateY(-50%);
	box-shadow: 0 14px 28px rgba(17, 24, 39, 0.12);
	transition: opacity 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.ccl-category-featured-arrow:hover {
	transform: translateY(-50%) translateY(-1px);
	box-shadow: 0 18px 34px rgba(17, 24, 39, 0.16);
}

.ccl-category-featured-arrow.is-disabled {
	opacity: 0;
	pointer-events: none;
}

.ccl-category-featured-arrow--left {
	left: -28px;
}

.ccl-category-featured-arrow--right {
	right: -28px;
}

.ccl-category-row,
.ccl-product-row {
	margin-left: -12px;
	margin-right: -12px;
}

.ccl-category-row > [class*="col-"],
.ccl-product-row > [class*="col-"] {
	padding-left: 12px;
	padding-right: 12px;
	margin-bottom: 24px;
}

.ccl-category-card,
.ccl-category-card:hover,
.ccl-category-card:visited {
	height: 100%;
	display: grid;
	grid-template-columns: 92px 1fr;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border: 1px solid var(--ccl-line);
	border-radius: 14px;
	background: #ffffff;
	color: var(--ccl-black);
	text-decoration: none;
	overflow: hidden;
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.ccl-category-card:hover {
	border-color: var(--ccl-black);
	transform: translateY(-1px);
	box-shadow: 0 14px 24px rgba(0, 0, 0, 0.07);
}

.ccl-category-card__image {
	width: 92px;
	height: 82px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: #f7fbfd;
	overflow: hidden;
}

.ccl-category-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: cover;
}

.ccl-category-card__image.is-empty::after,
.ccl-product-card__image.is-empty::after,
.image_selected.is-empty::after,
.image_list li.is-empty::after,
.viewed_image.is-empty::after {
	content: "SEM IMAGEM";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: #8a8a8a;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-align: center;
	text-transform: uppercase;
}

.image_selected.is-empty,
.image_list li.is-empty,
.viewed_image.is-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f3f3f3;
}

.ccl-category-card__body strong {
	display: block;
	margin-bottom: 4px;
	color: var(--ccl-black);
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1.25;
	text-transform: uppercase;
}

.ccl-category-card__body span {
	color: var(--ccl-muted);
	font-size: 12px;
	font-weight: 700;
}

.ccl-product-card {
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	border: 1px solid var(--ccl-line);
	border-radius: 14px;
	background: #ffffff;
	overflow: hidden;
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.ccl-product-card:hover {
	border-color: #cfd6df;
	transform: translateY(-1px);
	box-shadow: 0 14px 28px rgba(17, 24, 39, 0.08);
}

.ccl-product-card__favorite {
	position: absolute;
	z-index: 2;
	top: 10px;
	right: 10px;
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--ccl-line);
	border-radius: 999px;
	background: #ffffff;
	color: var(--ccl-black);
	box-shadow: 0 8px 18px rgba(17, 24, 39, 0.08);
	transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.ccl-product-card__favorite:hover {
	border-color: var(--ccl-black);
	background: var(--ccl-black);
	color: var(--ccl-on-primary, #ffffff);
	transform: translateY(-1px);
}

.ccl-product-card__favorite:hover i {
	color: var(--ccl-on-primary, #ffffff) !important;
}

.ccl-product-card__favorite.is-active,
.ccl-product-card__favorite.is-active:hover {
	border-color: #e3342f;
	background: #ffffff;
	color: #e3342f;
}

.ccl-product-card__favorite.is-active i,
.ccl-product-card__favorite.is-active i.text-danger {
	color: #e3342f !important;
}

.ccl-product-card__favorite.is-loading {
	pointer-events: none;
	opacity: 0.65;
}

.ccl-product-card__image {
	height: 180px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px;
	background: #ffffff;
	overflow: hidden;
}

.ccl-product-card__image img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.ccl-product-card__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 14px;
}

.ccl-product-card__category,
.ccl-product-card__category:hover {
	margin-bottom: 6px;
	color: var(--ccl-muted);
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
}

.ccl-product-card h3 {
	min-height: 36px;
	margin: 0 0 10px;
	color: var(--ccl-black);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.35;
}

.ccl-product-card h3 a,
.ccl-product-card h3 a:hover {
	color: inherit;
	text-decoration: none;
}

.ccl-product-card__price {
	margin-top: auto;
	margin-bottom: 12px;
}

.ccl-product-card__price strong {
	display: block;
	color: var(--ccl-black);
	font-size: 16px;
	font-weight: 900;
}

.ccl-product-card__price span {
	display: block;
	color: var(--ccl-muted);
	font-size: 11px;
	font-weight: 700;
	text-decoration: line-through;
}

.ccl-product-card__button,
.ccl-product-card__button:hover,
.product_cart_button,
.product_cart_button:hover,
.button.cart_button,
.button.cart_button:hover {
	min-height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 14px;
	border: 1px solid var(--ccl-black);
	border-radius: 8px;
	background: var(--ccl-black);
	color: var(--ccl-on-primary, #ffffff) !important;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
	transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.ccl-product-card__button:hover,
.product_cart_button:hover,
.button.cart_button:hover {
	border-color: var(--ccl-primary-hover, #222222);
	background: var(--ccl-primary-hover, #222222);
	color: var(--ccl-on-primary, #ffffff) !important;
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(17, 24, 39, 0.16);
}

.shop,
.single_product,
.deals_featured,
.viewed,
.best_sellers {
	background: #ffffff;
}

.shop {
	padding-top: 52px;
}

.ccl-product-page {
	padding: 96px 0 40px;
	background: #ffffff;
}

.ccl-product-detail {
	display: grid;
	grid-template-columns: 116px minmax(420px, 1fr) minmax(360px, 458px);
	gap: 30px;
	align-items: start;
}

.ccl-product-thumbs {
	position: sticky;
	top: 20px;
}

.ccl-product-thumb-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
}

.ccl-product-thumb-list li {
	width: 116px;
	height: 150px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	border: 1px solid var(--ccl-line);
	background: #f3f3f3;
	cursor: pointer;
	overflow: hidden;
	transition: border-color 0.18s ease, transform 0.18s ease;
}

.ccl-product-thumb-list li:hover {
	border-color: var(--ccl-black);
	transform: translateY(-1px);
}

.ccl-product-thumb-list li img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ccl-product-main-image {
	min-height: 640px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--ccl-line);
	background: #f3f3f3;
	overflow: hidden;
	cursor: zoom-in;
}

.ccl-product-main-image img {
	width: 100%;
	height: 100%;
	max-height: 760px;
	object-fit: contain;
	transform-origin: center center;
	transition: transform 0.22s ease, filter 0.22s ease;
	will-change: transform;
}

.ccl-product-main-image.is-empty {
	cursor: default;
}

/* Dica visível "Ampliar" na imagem do produto (o clique já abre o lightbox em tela cheia) */
.ccl-product-main-image { position: relative; }
.ccl-product-zoom-hint {
	position: absolute;
	right: 12px;
	bottom: 12px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 11px;
	border-radius: 999px;
	background: rgba(16, 20, 28, .82);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .01em;
	pointer-events: none;
	opacity: .92;
	transition: opacity .16s ease, transform .16s ease;
}
.ccl-product-zoom-hint i { color: #fff; font-size: 12px; }
.ccl-product-main-image:hover .ccl-product-zoom-hint { opacity: 1; transform: translateY(-1px); }
.ccl-product-main-image.is-empty .ccl-product-zoom-hint { display: none; }
@media (max-width: 767px) { .ccl-product-zoom-hint { right: 8px; bottom: 8px; padding: 5px 9px; font-size: 11px; } }

.ccl-product-main-image.is-zoomed {
	cursor: zoom-out;
}

.ccl-product-main-image.is-zoomed img {
	transform: scale(1.16);
	filter: saturate(1.02) contrast(1.01);
}

.ccl-product-buybox {
	min-height: 0;
	padding: 0 0 0 18px;
	border: 0;
	background: #ffffff;
	box-shadow: none;
	color: var(--ccl-black);
}

.ccl-product-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	margin-bottom: 14px;
	color: var(--ccl-muted);
	font-size: 12px;
	font-weight: 600;
}

.ccl-product-breadcrumb a,
.ccl-product-breadcrumb a:hover {
	color: var(--ccl-muted);
	text-decoration: none;
}

.ccl-product-breadcrumb strong {
	color: var(--ccl-black);
	font-weight: 700;
}

.ccl-product-breadcrumb .ccl-breadcrumb-sep {
	margin: 0 7px;
	opacity: .45;
}

.ccl-product-category {
	margin-bottom: 10px;
	color: var(--ccl-muted);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
}

.ccl-product-title {
	margin: 0 0 20px;
	color: var(--ccl-black);
	font-family: var(--ccl-display-font);
	font-size: 30px;
	font-weight: 800;
	line-height: 1.16;
}

.ccl-product-price {
	margin-bottom: 24px;
	color: var(--ccl-black) !important;
	font-size: 28px;
	font-weight: 900;
	line-height: 1;
}

.ccl-product-price span,
.product_price span {
	display: block;
	margin-top: 8px;
	color: var(--ccl-muted);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: line-through;
}

.ccl-product-payments {
	display: grid;
	gap: 8px;
	margin-bottom: 18px;
}

.ccl-product-payments div,
.ccl-product-shipping-note,
.ccl-product-delivery-title,
.ccl-product-perks div {
	display: flex;
	align-items: center;
	gap: 9px;
	color: var(--ccl-black);
	font-size: 13px;
	line-height: 1.35;
}

.ccl-product-payments i,
.ccl-product-shipping-note i,
.ccl-product-delivery-title i,
.ccl-product-perks i {
	width: 18px;
	color: var(--ccl-black);
	text-align: center;
}

.ccl-product-payments strong,
.ccl-product-shipping-note strong,
.ccl-product-perks strong {
	font-weight: 900;
}

.ccl-product-payments span,
.ccl-product-shipping-note span,
.ccl-product-perks span {
	color: var(--ccl-black);
	font-weight: 500;
}

.ccl-product-shipping-note {
	margin: 18px 0 18px;
	padding-top: 2px;
}

.ccl-product-short-description {
	margin: 0 0 24px;
	color: var(--ccl-black);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.62;
}

.ccl-product-form {
	margin-bottom: 24px;
}

.ccl-product-actions {
	display: grid;
	grid-template-columns: 128px minmax(180px, 1fr);
	gap: 12px;
	align-items: center;
}

.ccl-quantity {
	width: 128px;
	height: 44px;
	display: grid;
	grid-template-columns: 42px 1fr 42px;
	align-items: center;
	margin: 0;
	padding-left: 0;
	border: 1px solid var(--ccl-line);
	border-radius: 10px;
	background: #ffffff;
	float: none;
	overflow: hidden;
}

.ccl-quantity span,
.ccl-quantity .quantity_buttons {
	display: none;
}

.ccl-quantity input {
	width: 100%;
	height: 44px;
	padding: 0;
	border: 0;
	color: var(--ccl-black);
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	outline: none;
}

.ccl-quantity-button {
	width: 42px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	background: #ffffff;
	color: var(--ccl-black);
	font-size: 14px;
	cursor: pointer;
}

.ccl-quantity-button:hover {
	background: #f2f2f2;
}

.ccl-buy-button,
.ccl-buy-button:hover {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 0 16px !important;
	border: 1px solid var(--ccl-black);
	border-radius: 999px;
	background: var(--ccl-black);
	color: #ffffff !important;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.18em;
	line-height: 1 !important;
	text-transform: uppercase;
}

.ccl-product-delivery {
	margin-bottom: 24px;
}

.ccl-product-delivery-title {
	margin-bottom: 10px;
	font-weight: 800;
}

.ccl-product-postcode {
	display: grid;
	border: 1px solid rgba(var(--ccl-primary-rgb), 0.24);
	border-radius: 9px;
	background: rgba(var(--ccl-primary-rgb), 0.06);
	overflow: hidden;
}

.ccl-product-postcode-info {
	display: grid;
	gap: 3px;
	padding: 12px 14px;
	color: var(--ccl-black);
}

.ccl-product-postcode-info strong {
	color: var(--ccl-black);
	font-size: 12px;
	font-weight: 950;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.ccl-product-postcode-info span {
	color: var(--ccl-black);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.35;
	opacity: 0.84;
}

.ccl-product-postcode input {
	height: 44px;
	padding: 0 14px;
	border: 0;
	color: var(--ccl-black);
	font-size: 13px;
	font-weight: 600;
	outline: none;
}

.ccl-product-postcode input::placeholder {
	color: #b0b0b0;
}

.ccl-product-postcode a,
.ccl-product-postcode a:hover {
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-left: 1px solid var(--ccl-black);
	background: #ffffff;
	color: var(--ccl-black);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.09em;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
}

.ccl-product-perks {
	display: grid;
	gap: 16px;
}

.ccl-product-perks div {
	display: grid;
	grid-template-columns: 22px 1fr;
	align-items: start;
	column-gap: 10px;
}

.ccl-product-perks i {
	margin-top: 2px;
}

.ccl-product-perks strong {
	display: block;
	margin-bottom: 2px;
}

.ccl-product-perks span {
	display: block;
	grid-column: 2;
	font-size: 12px;
	line-height: 1.45;
}

.ccl-product-description-block {
	max-width: 900px;
	margin-top: 36px;
	color: var(--ccl-black);
}

.ccl-product-description-block h2 {
	margin: 0 0 12px;
	color: var(--ccl-black);
	font-size: 16px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ccl-product-description-content,
.ccl-product-description-content p,
.ccl-product-description-content li {
	color: var(--ccl-black);
	font-size: 14px;
	line-height: 1.7;
}

.ccl-product-related {
	padding: 52px 0 80px;
	background: #ffffff;
}

.shop_sidebar,
.shop_bar,
.single_product .product_description,
.image_selected,
.viewed_slider_container,
.deals,
.featured,
.product_item,
.viewed_item,
.bestsellers_item {
	border: 1px solid var(--ccl-line);
	background: #ffffff;
	box-shadow: none;
}

.shop_sidebar {
	padding: 24px;
}

.sidebar_title,
.shop_product_count,
.deals_title,
.viewed_title {
	color: var(--ccl-black);
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sidebar_categories li a,
.product_name div a,
.viewed_name a,
.bestsellers_name a {
	color: var(--ccl-black);
	font-weight: 800;
}

.product_price,
.viewed_price,
.bestsellers_price {
	color: var(--ccl-black) !important;
	font-weight: 900;
}

.product_fav {
	border: 1px solid var(--ccl-line);
	background: #ffffff;
	color: var(--ccl-black);
}

.ccl-product-page .product_description {
	min-height: 620px;
	padding: 0 0 0 18px;
	border: 0;
	background: #ffffff;
	box-shadow: none;
}

.ccl-product-page .image_selected {
	width: 100%;
	height: auto;
	min-height: 640px;
	padding: 0;
	border: 1px solid var(--ccl-line);
	background: #f3f3f3;
	box-shadow: none;
	transform: none;
}

.ccl-contact-page {
	padding: 58px 0 74px;
	background: #ffffff;
	color: var(--ccl-black);
}

.ccl-contact-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
	gap: 34px;
	align-items: stretch;
	margin-bottom: 26px;
	padding: 44px;
	background: var(--ccl-black);
	color: #ffffff;
}

.ccl-contact-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 28px;
	color: rgba(255, 255, 255, 0.68);
	font-size: 12px;
	font-weight: 700;
}

.ccl-contact-breadcrumb a,
.ccl-contact-breadcrumb a:hover,
.ccl-contact-breadcrumb a:visited {
	color: rgba(255, 255, 255, 0.68);
	text-decoration: none;
}

.ccl-contact-breadcrumb strong {
	color: #ffffff;
	font-weight: 800;
}

.ccl-contact-hero__content > span,
.ccl-contact-panel > span,
.ccl-contact-form-card > span {
	display: inline-block;
	margin-bottom: 12px;
	color: inherit;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
}

.ccl-contact-hero h1 {
	max-width: 760px;
	margin: 0 0 14px;
	color: #ffffff;
	font-size: 42px;
	font-weight: 900;
	line-height: 1.08;
}

.ccl-contact-hero p {
	max-width: 650px;
	margin: 0;
	color: rgba(255, 255, 255, 0.84);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.65;
}

.ccl-contact-hero__card {
	align-self: end;
	padding: 24px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.08);
}

.ccl-contact-hero__card strong {
	display: block;
	margin-bottom: 10px;
	color: #ffffff;
	font-size: 15px;
	font-weight: 900;
}

.ccl-contact-hero__card p {
	margin-bottom: 18px;
	font-size: 13px;
	line-height: 1.55;
}

.ccl-contact-hero__card a,
.ccl-contact-hero__card a:hover,
.ccl-contact-hero__card a:visited,
.ccl-contact-hero__phone {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 18px;
	border-radius: 999px;
	background: #ffffff;
	color: var(--ccl-black);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.06em;
	text-decoration: none;
}

.ccl-contact-layout {
	display: grid;
	grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.2fr);
	gap: 24px;
	align-items: start;
}

.ccl-contact-panel,
.ccl-contact-form-card {
	border: 1px solid var(--ccl-line);
	background: #ffffff;
}

.ccl-contact-panel {
	padding: 30px;
	background: #eef2f3;
}

.ccl-contact-panel h2,
.ccl-contact-form-card h2 {
	margin: 0 0 12px;
	color: var(--ccl-black);
	font-size: 26px;
	font-weight: 900;
	line-height: 1.15;
}

.ccl-contact-panel p,
.ccl-contact-form-card p {
	margin: 0;
	color: var(--ccl-black);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.65;
}

.ccl-contact-list {
	display: grid;
	gap: 12px;
	margin-top: 26px;
}

.ccl-contact-item,
.ccl-contact-item:hover,
.ccl-contact-item:visited {
	min-height: 72px;
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: 14px;
	align-items: center;
	padding: 14px;
	border: 1px solid #d8dddf;
	background: #ffffff;
	color: var(--ccl-black);
	text-decoration: none;
}

.ccl-contact-item i {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--ccl-black);
	color: #ffffff;
	font-size: 15px;
}

.ccl-contact-item strong {
	display: block;
	margin-bottom: 4px;
	color: var(--ccl-black);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.ccl-contact-item span {
	display: block;
	color: var(--ccl-black);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	word-break: break-word;
}

.ccl-contact-social {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 24px;
}

.ccl-contact-social a,
.ccl-contact-social a:hover,
.ccl-contact-social a:visited {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--ccl-black);
	color: #ffffff;
	text-decoration: none;
}

.ccl-contact-form-card {
	padding: 30px;
}

.ccl-contact-alert {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 22px;
	padding: 12px 14px;
	border: 1px solid #d93f4f;
	background: #fff5f6;
	color: #9f2432;
	font-size: 13px;
	font-weight: 800;
}

.ccl-contact-form {
	margin-top: 26px;
}

.ccl-contact-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 16px;
}

.ccl-contact-form label,
.ccl-contact-message {
	display: block;
	margin: 0;
}

.ccl-contact-form label > span,
.ccl-contact-message > span {
	display: block;
	margin-bottom: 8px;
	color: var(--ccl-black);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ccl-contact-page .input_field,
.ccl-contact-page .text_field {
	width: 100%;
	border: 1px solid var(--ccl-line);
	border-radius: 0;
	background: #ffffff;
	color: var(--ccl-black);
	font-size: 14px;
	font-weight: 600;
	outline: none;
	box-shadow: none;
	transition: border-color 0.18s ease, background 0.18s ease;
}

.ccl-contact-page .input_field {
	height: 50px;
	padding: 0 16px;
}

.ccl-contact-page .text_field {
	min-height: 156px;
	padding: 15px 16px;
	resize: vertical;
}

.ccl-contact-page .input_field:focus,
.ccl-contact-page .text_field:focus {
	border-color: var(--ccl-black);
	background: #fbfbfb;
}

.ccl-contact-page .input_field::placeholder,
.ccl-contact-page .text_field::placeholder {
	color: #8d8d8d;
	font-size: 14px;
	font-weight: 600;
}

.ccl-contact-page .is-invalid,
.ccl-contact-page .is-invalid:focus {
	border-color: #d93f4f;
}

.ccl-contact-form small,
.ccl-contact-message small {
	display: block;
	margin-top: 7px;
	color: #d93f4f;
	font-size: 12px;
	font-weight: 700;
}

.ccl-contact-message {
	margin-top: 4px;
}

.ccl-contact-form-actions {
	margin-top: 18px;
}

.ccl-contact-submit,
.ccl-contact-submit:hover,
.ccl-contact-page .contact_submit_button,
.ccl-contact-page .contact_submit_button:hover {
	width: 100%;
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 24px;
	border: 1px solid var(--ccl-black);
	border-radius: 999px;
	background: var(--ccl-black);
	color: #ffffff !important;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.ccl-link-util-page {
	background: var(--ccl-body-bg) !important;
	color: var(--ccl-body-font) !important;
}

.ccl-link-util-page .ccl-contact-hero {
	border: 1px solid var(--ccl-line);
	background: var(--ccl-body-bg) !important;
	color: var(--ccl-body-font) !important;
}

.ccl-link-util-page .ccl-contact-breadcrumb,
.ccl-link-util-page .ccl-contact-breadcrumb a,
.ccl-link-util-page .ccl-contact-breadcrumb a:hover,
.ccl-link-util-page .ccl-contact-breadcrumb a:visited,
.ccl-link-util-page .ccl-contact-breadcrumb strong,
.ccl-link-util-page .ccl-contact-hero__content > span,
.ccl-link-util-page .ccl-contact-hero h1,
.ccl-link-util-page .ccl-contact-hero p,
.ccl-link-util-page .ccl-contact-hero__card strong,
.ccl-link-util-page .ccl-contact-hero__card p,
.ccl-link-util-page .ccl-contact-form-card > span,
.ccl-link-util-page .ccl-contact-form-card h2,
.ccl-link-util-page .ccl-contact-form-card p,
.ccl-link-util-page .ccl-link-util-content,
.ccl-link-util-page .ccl-link-util-content * {
	color: var(--ccl-body-font) !important;
}

.ccl-link-util-page .ccl-contact-hero__card,
.ccl-link-util-page .ccl-contact-form-card {
	border-color: var(--ccl-line);
	background: var(--ccl-body-bg) !important;
	color: var(--ccl-body-font) !important;
}

.ccl-link-util-page .ccl-link-util-content {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.7;
}

.ccl-link-util-page .ccl-contact-submit,
.ccl-link-util-page .ccl-contact-submit:hover,
.ccl-link-util-page .contact_submit_button,
.ccl-link-util-page .contact_submit_button:hover {
	border-color: var(--ccl-body-button) !important;
	background: var(--ccl-body-button) !important;
	color: var(--ccl-on-primary) !important;
}

.ccl-link-util-page .ccl-contact-submit:hover,
.ccl-link-util-page .contact_submit_button:hover {
	background: var(--ccl-primary-hover) !important;
	border-color: var(--ccl-primary-hover) !important;
}

.ccl-contact-body-page {
	background: var(--ccl-body-bg) !important;
	color: var(--ccl-body-font) !important;
}

.ccl-contact-body-page .ccl-contact-hero {
	border: 1px solid var(--ccl-line);
	background: var(--ccl-body-bg) !important;
	color: var(--ccl-body-font) !important;
}

.ccl-contact-body-page .ccl-contact-breadcrumb,
.ccl-contact-body-page .ccl-contact-breadcrumb a,
.ccl-contact-body-page .ccl-contact-breadcrumb a:hover,
.ccl-contact-body-page .ccl-contact-breadcrumb a:visited,
.ccl-contact-body-page .ccl-contact-breadcrumb strong,
.ccl-contact-body-page .ccl-contact-hero__content > span,
.ccl-contact-body-page .ccl-contact-hero h1,
.ccl-contact-body-page .ccl-contact-hero p,
.ccl-contact-body-page .ccl-contact-hero__card strong,
.ccl-contact-body-page .ccl-contact-hero__card p,
.ccl-contact-body-page .ccl-contact-panel > span,
.ccl-contact-body-page .ccl-contact-panel h2,
.ccl-contact-body-page .ccl-contact-panel p,
.ccl-contact-body-page .ccl-contact-form-card > span,
.ccl-contact-body-page .ccl-contact-form-card h2,
.ccl-contact-body-page .ccl-contact-form-card p,
.ccl-contact-body-page .ccl-contact-form label > span,
.ccl-contact-body-page .ccl-contact-message > span,
.ccl-contact-body-page .ccl-contact-item,
.ccl-contact-body-page .ccl-contact-item:hover,
.ccl-contact-body-page .ccl-contact-item:visited,
.ccl-contact-body-page .ccl-contact-item strong,
.ccl-contact-body-page .ccl-contact-item span {
	color: var(--ccl-body-font) !important;
}

.ccl-contact-body-page .ccl-contact-hero__card,
.ccl-contact-body-page .ccl-contact-panel,
.ccl-contact-body-page .ccl-contact-form-card,
.ccl-contact-body-page .ccl-contact-item,
.ccl-contact-body-page .ccl-contact-item:hover,
.ccl-contact-body-page .ccl-contact-item:visited {
	border-color: var(--ccl-line) !important;
	background: var(--ccl-body-bg) !important;
}

.ccl-contact-body-page .ccl-contact-hero__phone,
.ccl-contact-body-page .ccl-contact-item i,
.ccl-contact-body-page .ccl-contact-social a,
.ccl-contact-body-page .ccl-contact-social a:hover,
.ccl-contact-body-page .ccl-contact-social a:visited {
	border-color: var(--ccl-body-button) !important;
	background: var(--ccl-body-button) !important;
	color: var(--ccl-on-primary) !important;
}

.ccl-contact-body-page .input_field,
.ccl-contact-body-page .text_field {
	color: var(--ccl-body-font) !important;
	border-color: var(--ccl-line) !important;
	background: #ffffff !important;
}

.ccl-contact-body-page .input_field:focus,
.ccl-contact-body-page .text_field:focus {
	border-color: var(--ccl-body-button) !important;
	background: #ffffff !important;
}

.ccl-contact-body-page .ccl-contact-submit,
.ccl-contact-body-page .ccl-contact-submit:hover,
.ccl-contact-body-page .contact_submit_button,
.ccl-contact-body-page .contact_submit_button:hover {
	border-color: var(--ccl-body-button) !important;
	background: var(--ccl-body-button) !important;
	color: var(--ccl-on-primary) !important;
}

.ccl-contact-body-page .ccl-contact-submit:hover,
.ccl-contact-body-page .contact_submit_button:hover {
	background: var(--ccl-primary-hover) !important;
	border-color: var(--ccl-primary-hover) !important;
}

.newsletter,
.ccl-footer-newsletter {
	padding: 58px 0 66px;
	background: var(--ccl-black);
	color: #ffffff;
}

.ccl-footer-newsletter__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.ccl-footer-newsletter__inner span {
	margin-bottom: 8px;
	color: #ffffff;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.ccl-footer-newsletter__inner h2 {
	margin: 0 0 10px;
	color: #ffffff;
	font-size: 24px;
	font-weight: 900;
	line-height: 1.15;
}

.ccl-footer-newsletter__inner p {
	margin: 0 0 30px;
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
}

.newsletter_form,
.ccl-footer-newsletter__form {
	position: relative;
	width: min(940px, 100%);
	height: 42px;
	display: flex;
	margin: 0 auto;
}

.newsletter_input {
	position: static;
	flex: 1 1 auto;
	box-sizing: border-box;
	width: 100%;
	height: 42px;
	padding: 0 58px 0 16px;
	border: 1px solid rgba(var(--ccl-primary-rgb), 0.32);
	border-radius: 6px;
	background: #ffffff;
	color: var(--ccl-black);
	font-size: 12px;
	font-weight: 800;
	outline: none;
	box-shadow: 0 4px 12px rgba(var(--ccl-primary-rgb), 0.08);
}

.newsletter_input:focus {
	border-color: rgba(var(--ccl-primary-rgb), 0.58);
	box-shadow: 0 0 0 3px rgba(var(--ccl-primary-rgb), 0.12);
}

.newsletter_input::placeholder {
	color: #111111;
	opacity: 1;
}

.newsletter_button {
	position: absolute;
	top: 0;
	right: 0;
	width: 48px;
	height: 42px;
	min-width: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	border-radius: 0 6px 6px 0;
	background: #ffffff;
	color: var(--ccl-black);
	font-size: 19px;
	font-weight: 900;
	line-height: 1;
	cursor: pointer;
}

.ccl-footer {
	padding: 44px 0 22px;
	border-top: 0;
	background: #eef2f3;
	color: var(--ccl-black);
}

.ccl-footer-grid {
	display: grid;
	grid-template-columns: minmax(260px, 1.35fr) minmax(130px, 0.8fr) minmax(160px, 0.95fr) minmax(250px, 1.15fr) minmax(220px, 1fr);
	gap: 46px;
	padding-bottom: 46px;
}

.ccl-footer-column,
.ccl-footer-about {
	min-width: 0;
}

.footer_title,
.ccl-footer .footer_title {
	margin: 0 0 18px;
	color: var(--ccl-black);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: none;
}

.ccl-footer p {
	max-width: 360px;
	margin: 0;
	color: var(--ccl-black);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.55;
}

.footer_list,
.ccl-footer-contact-list,
.ccl-payment-list,
.ccl-shipping-list,
.footer_social ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer_list li {
	margin-bottom: 10px;
}

.footer_list li a,
.footer_list li a:hover,
.footer_list li a:visited {
	color: var(--ccl-black);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.25;
	text-decoration: none;
}

.ccl-footer-contact-list {
	display: grid;
	gap: 13px;
}

.ccl-footer-contact-list li {
	display: grid;
	grid-template-columns: 17px 1fr;
	gap: 9px;
	align-items: start;
	color: var(--ccl-black);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.35;
}

.ccl-footer-contact-list i {
	margin-top: 2px;
	color: var(--ccl-black);
	font-size: 12px;
	text-align: center;
}

.ccl-footer-support-button,
.ccl-footer-support-button:hover,
.ccl-footer-support-button:visited {
	min-height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 16px;
	padding: 0 16px;
	border-radius: 999px;
	background: var(--ccl-black);
	color: #ffffff;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform 0.18s ease, filter 0.18s ease;
}

.ccl-footer-support-button i {
	color: #ffffff;
	font-size: 13px;
}

.ccl-footer-support-button:hover {
	transform: translateY(-1px);
	filter: brightness(0.94);
}

.ccl-footer-social ul {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.ccl-footer-social ul li {
	width: auto;
	height: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 0;
	box-shadow: none;
	margin-right: 0;
}

.ccl-footer-social li a,
.ccl-footer-social li a:hover,
.ccl-footer-social li a:visited {
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--ccl-black);
	border: 0;
	color: #ffffff;
	font-size: 13px;
	text-decoration: none;
	box-shadow: 0 8px 16px rgba(17, 24, 39, 0.08);
	transition: transform 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.ccl-footer-social li a i {
	color: #ffffff;
}

.ccl-footer-social li a:hover {
	background: var(--ccl-black);
	transform: translateY(-1px);
	filter: brightness(0.92);
	box-shadow: 0 10px 18px rgba(17, 24, 39, 0.12);
}

.ccl-footer-social li a:hover i {
	color: #ffffff;
}

.ccl-footer-trust-strip {
	display: grid;
	grid-template-columns: minmax(150px, 0.75fr) minmax(320px, 1.8fr) minmax(260px, 1.2fr);
	gap: 28px;
	align-items: center;
	margin: 12px 0 18px;
	padding: 22px 26px;
	border: 1px solid rgba(17, 24, 39, 0.08);
	border-radius: 8px;
	background: #f7f8fa;
	color: #172033;
}

.ccl-footer-trust-group {
	min-width: 0;
}

.ccl-footer-trust-group h3 {
	margin: 0 0 12px;
	color: #172033;
	font-size: 12px;
	font-weight: 900;
	line-height: 1.2;
}

.ccl-trust-marks,
.ccl-payment-chips {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 11px;
}

.ccl-trust-mark {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: #172033;
	font-size: 20px;
	font-weight: 900;
	letter-spacing: -0.02em;
	line-height: 1;
}

.ccl-trust-mark i {
	font-size: 20px;
}

.ccl-trust-mark--google i {
	color: #16a34a;
}

.ccl-trust-mark--google strong {
	font-weight: 900;
}

.ccl-payment-chip {
	min-height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 7px;
	border-radius: 3px;
	background: #ffffff;
	color: #172033;
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
	white-space: nowrap;
	box-shadow: inset 0 0 0 1px rgba(17, 24, 39, 0.08);
}

.ccl-payment-chip--visa {
	color: #1434cb;
	font-size: 15px;
	letter-spacing: 0.02em;
}

.ccl-payment-chip--mastercard {
	position: relative;
	width: 54px;
	color: transparent;
	background: transparent;
	box-shadow: none;
}

.ccl-payment-chip--mastercard::before,
.ccl-payment-chip--mastercard::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	transform: translateY(-50%);
}

.ccl-payment-chip--mastercard::before {
	left: 9px;
	background: #eb001b;
}

.ccl-payment-chip--mastercard::after {
	right: 9px;
	background: rgba(247, 158, 27, 0.9);
}

.ccl-payment-chip--amex {
	color: #2364b3;
	font-size: 10px;
	line-height: 1.05;
	text-align: center;
}

.ccl-payment-chip--elo {
	color: #243b53;
	font-size: 18px;
	text-transform: lowercase;
}

.ccl-payment-chip--pix {
	color: #8c9aa8;
	font-size: 18px;
	text-transform: lowercase;
}

.ccl-footer-trust-legal p {
	max-width: none;
	margin: 0;
	color: #172033;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.55;
}

@media (max-width: 1180px) {
	.ccl-footer-trust-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.ccl-footer-trust-strip {
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 20px 18px;
	}

	.ccl-payment-chips {
		gap: 8px;
	}
}

/* Shop listing */

.ccl-shop-page {
	background: #f7f7f7;
	padding: 48px 0 74px;
}

.ccl-shop-hero {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
	padding: 34px;
	border: 1px solid var(--ccl-line);
	background: #ffffff;
	box-shadow: 0 18px 34px rgba(0, 0, 0, 0.06);
}

.ccl-shop-hero span,
.ccl-shop-filter-head span {
	color: var(--ccl-muted);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.ccl-shop-hero h1 {
	margin: 8px 0;
	color: var(--ccl-black);
	font-size: 38px;
	font-weight: 950;
	line-height: 1.05;
	text-transform: uppercase;
}

.ccl-shop-hero p {
	margin: 0;
	color: var(--ccl-ink);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.6;
}

.ccl-shop-hero-link,
.ccl-shop-hero-link:hover,
.ccl-shop-hero-link:visited {
	color: var(--ccl-black);
	font-size: 12px;
	font-weight: 950;
	letter-spacing: 0.09em;
	text-decoration: underline;
	text-transform: uppercase;
}

.ccl-shop-layout {
	display: grid;
	grid-template-columns: 282px minmax(0, 1fr);
	gap: 28px;
	align-items: start;
}

.ccl-shop-sidebar {
	display: grid;
	gap: 18px;
	position: sticky;
	top: 104px;
}

.ccl-shop-filter-card {
	border: 1px solid var(--ccl-line);
	background: #ffffff;
	padding: 22px;
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.05);
}

.ccl-shop-filter-head {
	margin-bottom: 18px;
}

.ccl-shop-filter-head h2 {
	margin: 5px 0 0;
	color: var(--ccl-black);
	font-size: 22px;
	font-weight: 950;
	text-transform: uppercase;
}

.ccl-shop-category-list {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ccl-shop-category-list a,
.ccl-shop-category-list a:hover,
.ccl-shop-category-list a:visited {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 42px;
	padding: 10px 0;
	border-bottom: 1px solid #eeeeee;
	color: var(--ccl-black);
	font-size: 13px;
	font-weight: 950;
	letter-spacing: 0.03em;
	text-decoration: none;
	text-transform: uppercase;
}

.ccl-shop-category-list li:last-child a {
	border-bottom: 0;
}

.ccl-shop-category-list a i {
	color: var(--ccl-black);
	font-size: 10px;
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity 0.18s ease, transform 0.18s ease;
}

.ccl-shop-category-list a:hover i,
.ccl-shop-category-list a.is-active i {
	opacity: 1;
	transform: translateX(0);
}

.ccl-shop-category-list a.is-active {
	color: var(--ccl-blue);
}

.ccl-price-filter {
	display: grid;
	gap: 12px;
}

.ccl-price-filter label {
	margin: 4px 0 0;
	color: var(--ccl-muted);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.ccl-price-filter .amount {
	width: 100%;
	height: 42px;
	border: 1px solid var(--ccl-line) !important;
	background: #fbfbfb;
	color: var(--ccl-black);
	font-size: 13px;
	font-weight: 950;
	text-align: center;
}

.ccl-price-filter .ui-slider,
.ccl-slider-range {
	height: 4px;
	border: 0 !important;
	background: #d8d8d8;
}

.ccl-price-filter .ui-slider-range {
	background: var(--ccl-black);
}

.ccl-price-filter .ui-slider-handle {
	top: -7px !important;
	width: 18px !important;
	height: 18px !important;
	border: 2px solid var(--ccl-black) !important;
	border-radius: 999px;
	background: #ffffff !important;
	cursor: pointer;
}

.ccl-shop-content {
	min-width: 0;
}

.ccl-shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 64px;
	margin: 0 0 18px;
	padding: 0 22px;
	border: 1px solid var(--ccl-line);
	background: #ffffff;
}

.ccl-shop-count {
	display: flex;
	align-items: baseline;
	gap: 8px;
	color: var(--ccl-black);
	font-size: 12px;
	font-weight: 950;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ccl-shop-count strong {
	color: var(--ccl-blue);
	font-size: 16px;
}

.ccl-shop-sorting {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--ccl-muted);
	font-size: 12px;
	font-weight: 800;
}

.ccl-shop-sorting > span {
	color: var(--ccl-black);
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.ccl-shop-sorting ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ccl-shop-sorting > ul > li {
	position: relative;
	min-width: 138px;
	border: 1px solid var(--ccl-line);
	background: #ffffff;
}

.ccl-shop-sorting .sorting_text {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 40px;
	padding: 10px 12px;
	color: var(--ccl-black);
	font-size: 12px;
	font-weight: 950;
	text-transform: uppercase;
	cursor: pointer;
}

.ccl-shop-sorting > ul > li > ul {
	position: absolute;
	z-index: 20;
	top: calc(100% + 1px);
	right: 0;
	display: none;
	min-width: 100%;
	border: 1px solid var(--ccl-line);
	background: #ffffff;
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.12);
}

.ccl-shop-sorting > ul > li:hover > ul {
	display: block;
}

.ccl-shop-sorting .shop_sorting_button {
	padding: 10px 12px;
	color: var(--ccl-black);
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
	cursor: pointer;
}

.ccl-shop-sorting .shop_sorting_button:hover {
	background: #f1f1f1;
}

.ccl-shop-grid.product_grid {
	position: relative;
	width: 100% !important;
	min-height: 430px;
	-webkit-transform: none !important;
	-moz-transform: none !important;
	-ms-transform: none !important;
	-o-transform: none !important;
	transform: none !important;
	margin-left: 0 !important;
	padding-left: 0 !important;
	overflow: visible;
}

.ccl-shop-grid .product_grid_border,
.ccl-shop-grid::before,
.ccl-shop-grid::after {
	display: none;
}

.ccl-shop-product.product_item {
	width: calc((100% - 72px) / 4);
	height: 364px;
	min-height: 364px;
	margin: 0 24px 24px 0;
	padding: 0;
	border: 1px solid var(--ccl-line);
	background: #ffffff;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.ccl-shop-product .product_border,
.ccl-shop-product .product_marks {
	display: none;
}

.ccl-shop-product .ccl-product-card__image {
	flex: 0 0 166px;
	height: 166px;
	padding: 13px;
	border-bottom: 1px solid #f0f0f0;
	background: #ffffff;
}

.ccl-shop-product .ccl-product-card__image img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.ccl-shop-product .ccl-product-card__favorite {
	z-index: 5;
	top: 12px;
	right: 12px;
}

.ccl-product-badge {
	position: absolute;
	z-index: 5;
	top: 12px;
	left: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	padding: 6px 9px;
	border-radius: 999px;
	background: var(--ccl-black);
	color: #ffffff;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.ccl-shop-product .ccl-product-card__body {
	flex: 1 1 auto;
	min-height: 0;
	padding: 16px;
	display: flex;
	flex-direction: column;
}

.ccl-shop-product .product_name {
	margin: 0;
	min-height: 38px;
	display: flex;
	align-items: flex-start;
}

.ccl-shop-product .product_name a,
.ccl-shop-product .product_name a:hover,
.ccl-shop-product .product_name a:visited {
	color: var(--ccl-black);
	font-size: 13px;
	font-weight: 950;
	line-height: 1.35;
	text-decoration: none;
	text-transform: uppercase;
}

.ccl-shop-product .ccl-product-card__price {
	min-height: 42px;
	margin-top: 12px;
	margin-bottom: 14px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.ccl-shop-product .ccl-product-card__button {
	width: 100%;
	margin-top: auto;
}

.ccl-shop-empty {
	min-height: 320px;
	background: #ffffff;
}

@media (max-width: 1199px) {
	.ccl-shop-product.product_item {
		width: calc((100% - 48px) / 3);
	}
}

@media (max-width: 991px) {
	.ccl-shop-layout {
		grid-template-columns: 1fr;
	}

	.ccl-shop-sidebar {
		position: static;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ccl-shop-product.product_item {
		width: calc((100% - 24px) / 2);
	}
}

@media (max-width: 767px) {
	.ccl-shop-page {
		padding: 34px 0 54px;
	}

	.ccl-shop-hero {
		align-items: flex-start;
		flex-direction: column;
		padding: 22px;
	}

	.ccl-shop-hero h1 {
		font-size: 30px;
	}

	.ccl-shop-sidebar,
	.ccl-shop-toolbar {
		grid-template-columns: 1fr;
	}

	.ccl-shop-toolbar {
		align-items: stretch;
		flex-direction: column;
		padding: 18px;
	}

	.ccl-shop-sorting,
	.ccl-shop-sorting > ul > li {
		width: 100%;
	}

	.ccl-shop-grid.product_grid {
		padding: 0 8px !important;
	}

	.ccl-shop-product.product_item {
		width: calc(100% - 16px) !important;
		margin: 0 8px 22px !important;
	}
}

.ccl-footer-service-row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 28px;
	align-items: center;
	padding: 32px 0 26px;
	border-top: 1px solid #cfd5d7;
}

.ccl-footer-service-group h3 {
	margin: 0 0 12px;
	color: var(--ccl-black);
	font-size: 13px;
	font-weight: 900;
	line-height: 1.2;
}

.ccl-footer-service-group h3 + .ccl-shipping-list {
	margin-top: 0;
}

.ccl-payment-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
	padding-left: 360px;
}

.ccl-payment-list li {
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.ccl-payment-list img {
	max-height: 18px;
	width: auto;
	display: block;
}

.ccl-shipping-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding-left: 360px;
}

.ccl-shipping-list li {
	height: 24px;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 0 10px;
	border-radius: 4px;
	background: #ffffff;
	color: #4f5a5f;
	font-size: 10px;
	font-weight: 900;
	text-transform: uppercase;
}

.ccl-security-badge {
	min-width: 245px;
	display: inline-grid;
	grid-template-columns: 52px 1fr;
	gap: 10px;
	align-items: center;
	color: var(--ccl-black);
}

.ccl-security-badge i {
	width: 52px;
	height: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #24bd45;
	font-size: 48px;
}

.ccl-security-badge span {
	display: block;
	color: #7b858a;
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.ccl-security-badge strong {
	display: block;
	margin-top: -2px;
	color: #4285f4;
	font-size: 28px;
	font-weight: 900;
	line-height: 1;
}

.ccl-security-badge small {
	display: inline-block;
	margin-top: 2px;
	padding: 2px 6px;
	background: #8d8d8d;
	color: #ffffff;
	font-size: 8px;
	font-weight: 900;
	text-transform: uppercase;
}

.ccl-footer-copy,
.ccl-footer .copyright {
	min-height: 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 14px 0 0;
	background: transparent;
	color: var(--ccl-black);
}

.copyright_content,
.ccl-footer-copy .copyright_content,
.ccl-footer-credit {
	color: var(--ccl-black);
	font-size: 10px;
	font-weight: 700;
	line-height: 1.4;
}

.ccl-auth-page {
	padding: 40px 0 56px;
	background: linear-gradient(180deg, #f4f8fd 0%, #ffffff 72%);
	color: #141b2d;
	overflow-x: hidden;
}

.ccl-auth-page *,
.ccl-auth-page *::before,
.ccl-auth-page *::after {
	box-sizing: border-box;
}

.ccl-auth-layout {
	display: grid;
	grid-template-columns: minmax(320px, 1fr) minmax(360px, 0.78fr);
	width: 100%;
	min-width: 0;
	min-height: 560px;
	border: 1px solid #dbe5f0;
	border-radius: 8px;
	background: #ffffff;
	overflow: hidden;
	box-shadow: 0 18px 44px rgba(12, 36, 68, 0.12);
}

.ccl-auth-aside {
	position: relative;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 34px;
	padding: 40px;
	background:
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(135deg, #06275f 0%, #073b8d 52%, #0059da 100%);
	background-size: 64px 64px, 64px 64px, auto;
	color: #ffffff;
}

.ccl-auth-back,
.ccl-auth-back:hover,
.ccl-auth-back:visited {
	width: max-content;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 38px;
	padding: 0 14px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.14);
	color: #ffffff;
	font-size: 12px;
	font-weight: 800;
	text-decoration: none;
}

.ccl-auth-back i {
	font-size: 13px;
}

.ccl-auth-brand {
	width: 88px;
	height: 88px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.12);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.ccl-auth-brand span {
	color: #ffffff;
	font-size: 44px;
	font-weight: 900;
	line-height: 1;
}

.ccl-auth-copy {
	max-width: 560px;
	min-width: 0;
}

.ccl-auth-copy > span,
.ccl-auth-kicker {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	margin-bottom: 18px;
	padding: 0 16px;
	border-radius: 8px;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ccl-auth-copy > span {
	background: rgba(255, 255, 255, 0.16);
	color: #dce9ff;
}

.ccl-auth-kicker {
	background: #dce9ff;
	color: #073b8d;
}

	.ccl-auth-copy h1 {
	max-width: 650px;
	margin: 0 0 20px;
	color: #ffffff;
	font-size: 48px;
	font-weight: 900;
	line-height: 1.05;
	overflow-wrap: anywhere;
}

.ccl-auth-copy p {
	max-width: 620px;
	margin: 0;
	color: rgba(255, 255, 255, 0.86);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.65;
	overflow-wrap: anywhere;
}

.ccl-auth-feature {
	max-width: 460px;
	min-width: 0;
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	padding: 20px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.1);
}

.ccl-auth-feature i {
	width: 54px;
	height: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.14);
	color: #ffffff;
	font-size: 21px;
}

.ccl-auth-feature > div {
	min-width: 0;
}

.ccl-auth-feature strong {
	display: block;
	margin-bottom: 6px;
	color: #ffffff;
	font-size: 15px;
	font-weight: 900;
	overflow-wrap: anywhere;
}

.ccl-auth-feature small {
	display: block;
	color: rgba(255, 255, 255, 0.78);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.ccl-auth-panel {
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 36px;
	background: #f5f8fc;
}

.ccl-auth-card {
	width: 100%;
	min-width: 0;
	max-width: 520px;
	padding: 36px;
	border: 1px solid #dbe5f0;
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 16px 36px rgba(12, 36, 68, 0.08);
}

.ccl-auth-card h2 {
	margin: 0 0 10px;
	color: #111827;
	font-size: 34px;
	font-weight: 900;
	line-height: 1.15;
}

.ccl-auth-card > p {
	margin: 0 0 30px;
	color: #66748a;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.55;
}

.ccl-auth-form {
	display: grid;
	gap: 20px;
}

.ccl-auth-form label {
	display: block;
	margin: 0;
}

.ccl-auth-form label > span,
.ccl-auth-label-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 9px;
	color: #26344d;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ccl-auth-label-row strong {
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}

.ccl-auth-label-row a,
.ccl-auth-label-row a:hover,
.ccl-auth-label-row a:visited {
	color: #073b8d;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	white-space: nowrap;
}

.ccl-auth-input {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 58px;
	border: 1px solid #cfdaea;
	border-radius: 8px;
	background: #f7faff;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.ccl-auth-input i {
	width: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #6e7f99;
	font-size: 17px;
}

.ccl-auth-input input {
	width: 100%;
	height: 56px;
	padding: 0 18px 0 0;
	border: 0;
	outline: 0;
	background: transparent;
	color: #111827;
	font-size: 15px;
	font-weight: 700;
}

.ccl-auth-input:focus-within {
	border-color: #0059da;
	background: #ffffff;
	box-shadow: 0 0 0 4px rgba(0, 89, 218, 0.12);
}

.ccl-auth-input input::placeholder {
	color: #8b98ad;
	font-size: 14px;
	font-weight: 600;
}

.ccl-auth-submit {
	width: 100%;
	min-height: 58px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 4px;
	border: 0;
	border-radius: 8px;
	background: #0059da;
	color: #ffffff;
	cursor: pointer;
	font-size: 16px;
	font-weight: 900;
	line-height: 1;
	box-shadow: 0 12px 24px rgba(0, 89, 218, 0.24);
	transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.ccl-auth-submit:hover {
	background: #004bb8;
	box-shadow: 0 10px 20px rgba(0, 89, 218, 0.22);
	transform: translateY(-1px);
}

.ccl-auth-submit span {
	color: inherit;
}

.ccl-auth-support,
.ccl-auth-support:hover,
.ccl-auth-support:visited {
	width: 100%;
	min-height: 58px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 13px;
	margin-top: 24px;
	padding: 12px 16px;
	border: 1px solid #dbe5f0;
	border-radius: 8px;
	background: #ffffff;
	color: #17233d;
	text-decoration: none;
}

.ccl-auth-support i {
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	background: #1fbb64;
	color: #ffffff;
	font-size: 18px;
}

.ccl-auth-support span {
	display: grid;
	gap: 2px;
	line-height: 1.15;
}

.ccl-auth-support small {
	color: #6b7890;
	font-size: 11px;
	font-weight: 800;
}

.ccl-auth-support strong {
	color: #17233d;
	font-size: 14px;
	font-weight: 900;
}

.ccl-auth-policy {
	width: 100%;
	margin-top: 18px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #0059da;
	cursor: pointer;
	font-size: 13px;
	font-weight: 800;
	text-decoration: underline;
}

.ccl-auth-modal .modal-content {
	border: 0;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 22px 46px rgba(12, 36, 68, 0.18);
}

.ccl-auth-modal .modal-header {
	align-items: center;
	background: #06275f;
	color: #ffffff;
}

.ccl-auth-modal .modal-title {
	color: #ffffff;
	font-weight: 900;
}

.ccl-auth-modal .close {
	color: #ffffff;
	opacity: 1;
}

.ccl-auth-modal .modal-body {
	color: #17233d;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.65;
}

.ccl-auth-modal-close,
.ccl-auth-modal-close:hover {
	border-radius: 8px;
	background: #0059da;
	color: #ffffff;
	font-weight: 900;
}

@media (max-width: 1199px) {
	.ccl-actions {
		gap: 14px;
	}

	.ccl-auth-layout {
		grid-template-columns: minmax(300px, 0.95fr) minmax(340px, 0.85fr);
	}

	.ccl-auth-aside,
	.ccl-auth-panel {
		padding: 36px;
	}

	.ccl-auth-copy h1 {
		font-size: 44px;
	}

	.ccl-footer-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 34px;
	}

	.ccl-payment-list,
	.ccl-shipping-list {
		padding-left: 260px;
	}

	.ccl-contact-hero {
		grid-template-columns: minmax(0, 1fr) minmax(260px, 330px);
		padding: 36px;
	}

	.ccl-contact-layout {
		grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
	}

	.ccl-product-detail {
		grid-template-columns: 96px minmax(360px, 1fr) minmax(330px, 410px);
		gap: 22px;
	}

	.ccl-product-thumb-list li {
		width: 96px;
		height: 124px;
	}

	.ccl-product-main-image,
	.ccl-product-page .image_selected {
		min-height: 560px;
	}

	.ccl-action-support,
	.ccl-action-favorites {
		display: none;
	}

	.ccl-nav-list {
		gap: 22px;
	}
}

@media (max-width: 991px) {
	.ccl-auth-page {
		padding: 36px 0 56px;
	}

	.ccl-auth-layout {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.ccl-auth-aside {
		gap: 24px;
	}

.ccl-auth-copy h1 {
		max-width: 100%;
		font-size: 40px;
	}

	.ccl-auth-layout,
	.ccl-auth-aside,
	.ccl-auth-panel,
	.ccl-auth-copy p,
	.ccl-auth-feature {
		width: 100%;
		max-width: 100%;
	}

	.ccl-promo-bar {
		display: block !important;
		height: 28px !important;
		min-height: 28px !important;
	}

	.ccl-promo-text {
		height: 28px;
	}

	.ccl-header-main {
		padding: 16px 0;
	}

	.ccl-logo-col {
		justify-content: flex-start;
	}

	.ccl-wordmark {
		font-size: 38px;
		letter-spacing: 0.06em;
	}

	.ccl-search-col {
		margin-top: 14px;
		justify-content: flex-start;
	}

	.ccl-search-form {
		width: 100% !important;
		max-width: 100% !important;
		background: #ffffff !important;
	}

	.ccl-search-button {
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		left: auto !important;
		width: 58px !important;
		display: inline-flex !important;
		opacity: 1 !important;
		z-index: 2;
		background: var(--ccl-button) !important;
		color: var(--ccl-on-primary) !important;
	}

	.ccl-search-input {
		width: calc(100% - 58px) !important;
	}

	.ccl-actions {
		gap: 12px;
	}

	.ccl-action span,
	.ccl-action small {
		display: none;
	}

	.ccl-action {
		display: inline-flex;
		position: relative;
	}

	.ccl-action-support,
	.ccl-action-favorites {
		display: none !important;
	}

	.ccl-action-account,
	.ccl-action-cart {
		display: inline-flex !important;
	}

	.ccl-action i {
		font-size: 22px;
	}

	.ccl-action strong {
		position: absolute;
		top: -7px;
		right: -8px;
		min-width: 17px;
		height: 17px;
		font-size: 10px;
	}

	.ccl-nav-content {
		justify-content: flex-end !important;
		min-height: 44px;
		background: #ffffff !important;
	}

	.ccl-nav {
		display: none;
	}

	.ccl-nav-menu {
		display: none !important;
	}

	.ccl-nav .menu_trigger_container {
		display: block;
	}

	.ccl-nav .menu_trigger_text {
		color: var(--ccl-black);
		font-weight: 900;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	.ccl-nav .cat_burger span {
		background: var(--ccl-black);
	}

	.ccl-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px 28px;
	}

	.ccl-footer-service-row {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.ccl-payment-list,
	.ccl-shipping-list {
		padding-left: 0;
	}

	.ccl-security-badge {
		justify-self: start;
	}

	.ccl-contact-hero,
	.ccl-contact-layout {
		grid-template-columns: 1fr;
	}

	.ccl-contact-hero__card {
		align-self: stretch;
	}

	.ccl-home-hero {
		height: clamp(260px, calc(100vw * 680 / 1920), 560px);
		min-height: 0;
	}

	.ccl-product-page {
		padding-top: 44px;
	}

	.ccl-product-detail {
		grid-template-columns: 92px minmax(0, 1fr);
	}

	.ccl-product-buybox,
	.ccl-product-page .product_description {
		grid-column: 1 / -1;
		min-height: 0;
		padding: 18px 0 0;
	}

	.ccl-product-main-image,
	.ccl-product-page .image_selected {
		min-height: 520px;
	}

	.ccl-home-hero__shade {
		display: none;
	}

	.ccl-home-hero__shell {
		grid-template-columns: 1fr;
		min-height: 0;
		padding-top: 38px;
		padding-bottom: 74px;
	}

	.ccl-home-hero__content {
		max-width: 100%;
		padding: 0;
	}

	.ccl-home-hero h1 {
		max-width: 680px;
		font-size: 38px;
		letter-spacing: 0;
	}

	.ccl-home-hero p {
		font-size: 15px;
	}

	.ccl-hero-arrow {
		display: none;
	}

	.ccl-hero-dots {
		left: 15px;
		right: 15px;
		bottom: 22px;
		justify-content: center;
	}

	.ccl-hero-dots button,
	.ccl-hero-dots span {
		width: min(74px, 17vw);
	}

	.ccl-category-featured-track {
		grid-auto-columns: minmax(240px, calc((100% - 16px) / 2));
	}

	.ccl-category-featured-arrow {
		width: 48px;
		height: 48px;
	}

	.ccl-category-featured-arrow--left {
		left: -10px;
	}

	.ccl-category-featured-arrow--right {
		right: -10px;
	}

	.ccl-home-strip-banner__copy {
		width: min(58%, 520px);
		margin-left: 36px;
	}

	.ccl-benefits {
		padding: 0;
	}

	.ccl-benefits-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ccl-benefit {
		display: grid;
		grid-template-columns: 72px 1fr;
	}

	.ccl-benefit:first-child {
		display: grid;
	}

	.ccl-benefit-dots {
		position: static;
		display: flex;
		justify-content: center;
		margin-top: 16px;
		transform: none;
	}
}

@media (max-width: 767px) {
	.ccl-auth-page {
		padding: 24px 0 42px;
	}

	.ccl-auth-aside,
	.ccl-auth-panel {
		width: 100%;
		max-width: 100%;
		padding: 24px;
		overflow: hidden;
	}

	.ccl-auth-layout {
		max-width: calc(100vw - 28px);
	}

	.ccl-auth-copy,
	.ccl-auth-feature,
	.ccl-auth-card {
		max-width: calc(100vw - 76px);
	}

	.ccl-auth-brand {
		width: 68px;
		height: 68px;
	}

	.ccl-auth-brand span {
		font-size: 34px;
	}

	.ccl-auth-copy h1 {
		font-size: 34px;
	}

	.ccl-auth-copy p {
		font-size: 15px;
		white-space: normal;
		word-break: break-word;
	}

	.ccl-auth-card {
		padding: 28px 22px;
	}

	.ccl-auth-card h2 {
		font-size: 28px;
	}

	/* "Senha" e "Esqueci minha senha" cabem numa linha só até 320px; empilhar
	   perdia a disputa de especificidade com ".ccl-auth-form label > span"
	   (align-items: center) e centralizava os dois. Mantém a linha única. */
	.ccl-auth-form .ccl-auth-label-row {
		align-items: center;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 6px 14px;
	}

	.ccl-shell {
		padding-left: 14px;
		padding-right: 14px;
	}

	.ccl-wordmark {
		font-size: 34px;
	}

	.ccl-home-hero {
		height: clamp(190px, calc(100vw * 680 / 1920), 260px);
		min-height: 0;
	}

	.ccl-home-hero h1 {
		font-size: 30px;
	}

	.ccl-home-hero__shell {
		padding-top: 32px;
		padding-bottom: 68px;
	}

	.ccl-featured-products--category {
		padding: 38px 0 32px;
	}

	.ccl-home-strip-banner {
		padding: 4px 0 28px;
	}

	.ccl-home-strip-banner--footer {
		padding-top: 10px;
		padding-bottom: 42px;
	}

	.ccl-home-strip-banner__media {
		height: 210px;
		min-height: 210px;
		background-position: center center;
	}

	.ccl-home-strip-banner__copy {
		width: calc(100% - 42px);
		margin-left: 21px;
	}

	.ccl-home-strip-banner__copy h2 {
		font-size: 22px;
	}

	.ccl-home-strip-banner__copy p {
		font-size: 13px;
	}

	.ccl-home-strip-banner__copy span {
		min-height: 38px;
		margin-top: 14px;
		padding: 0 18px;
	}

	.ccl-section-head--category {
		grid-template-columns: 1fr;
		margin-bottom: 18px;
	}

	.ccl-section-head--category h2 {
		font-size: 24px;
	}

	.ccl-category-featured-track {
		grid-auto-columns: minmax(225px, 82vw);
		gap: 14px;
		padding-right: 14px;
	}

	.ccl-category-featured-arrow {
		display: none;
	}

	/* Benefits viram trilho horizontal deslizável no celular (mesmo padrão dos temas shared). */
	.ccl-benefits-grid {
		display: flex;
		grid-template-columns: none;
		overflow-x: auto;
		gap: 10px;
		padding: 14px 12px 18px;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.ccl-benefits-grid::-webkit-scrollbar {
		display: none;
	}

	.ccl-benefit {
		flex: 0 0 auto;
		flex-basis: min(76vw, 258px);
		scroll-snap-align: start;
		min-height: 0;
		padding: 16px 18px;
		border: 1px solid rgba(var(--ccl-primary-rgb), 0.16);
		border-radius: 12px;
		background: var(--ccl-body-card-bg, #ffffff);
	}

	.ccl-benefit:not(:last-child)::after {
		display: none;
	}

	/* No trilho os dots estáticos (sem JS de sincronismo) ficam enganosos — o peek + snap já indicam scroll. */
	.ccl-benefit-dots {
		display: none;
	}

	.ccl-home-categories,
	.ccl-featured-products {
		padding-top: 42px;
	}

	.ccl-section-head {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.ccl-section-head h2 {
		max-width: 100%;
		font-size: 20px;
		letter-spacing: 0.02em;
		overflow-wrap: anywhere;
	}

	.ccl-category-row,
	.ccl-product-row {
		margin-left: -7px;
		margin-right: -7px;
	}

	.ccl-category-row > [class*="col-"],
	.ccl-product-row > [class*="col-"] {
		padding-left: 7px;
		padding-right: 7px;
		margin-bottom: 14px;
	}

	.ccl-category-card {
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 12px;
	}

	.ccl-category-card__image {
		width: 100%;
		height: 112px;
	}

	.ccl-category-card__body strong {
		font-size: 12px;
	}

	.ccl-category-card__body span {
		font-size: 12px;
	}

	.ccl-product-card__image {
		height: 150px;
		padding: 12px;
	}

	.ccl-product-card__image img {
		max-height: 100%;
	}

	.ccl-product-card__body {
		padding: 12px;
	}

	.ccl-product-card h3 {
		min-height: 50px;
		font-size: 13px;
	}

	.ccl-product-card__price strong {
		font-size: 15px;
	}

	.ccl-product-card__button {
		min-height: 38px;
		font-size: 11px;
	}

	.ccl-footer-newsletter {
		padding: 42px 0 50px;
	}

	.ccl-footer-newsletter__inner h2 {
		font-size: 22px;
	}

	.ccl-footer-newsletter__form,
	.ccl-footer-newsletter .newsletter_form {
		position: relative !important;
		width: 100% !important;
		height: 42px !important;
		display: flex !important;
	}

	.ccl-footer-newsletter .newsletter_input {
		height: 42px !important;
		padding-right: 58px !important;
	}

	.ccl-footer-newsletter .newsletter_button {
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		bottom: auto !important;
		left: auto !important;
		width: 48px !important;
		height: 42px !important;
		min-width: 0 !important;
		margin: 0 !important;
		transform: none !important;
		border-radius: 0 6px 6px 0 !important;
	}

	.ccl-footer {
		padding-top: 34px;
	}

	.ccl-footer-grid {
		grid-template-columns: 1fr;
		gap: 28px;
		padding-bottom: 34px;
	}

	.ccl-footer p {
		max-width: 100%;
	}

	.ccl-footer-service-row {
		padding: 28px 0 22px;
	}

	.ccl-payment-list,
	.ccl-shipping-list {
		padding-left: 0;
	}

	.ccl-security-badge {
		min-width: 0;
	}

	.ccl-footer-copy,
	.ccl-footer .copyright {
		flex-direction: column;
		align-items: flex-start;
	}

	.ccl-contact-page {
		padding: 34px 0 50px;
	}

	.ccl-contact-hero {
		padding: 26px 20px;
	}

	.ccl-contact-breadcrumb {
		display: none;
	}

	.ccl-contact-hero h1 {
		font-size: 32px;
	}

	.ccl-contact-hero p {
		font-size: 14px;
	}

	.ccl-contact-panel,
	.ccl-contact-form-card {
		padding: 22px;
	}

	.ccl-contact-panel h2,
	.ccl-contact-form-card h2 {
		font-size: 23px;
	}

	.ccl-contact-form-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.ccl-contact-item {
		grid-template-columns: 38px 1fr;
	}

	.ccl-contact-item i {
		width: 38px;
		height: 38px;
	}

	.ccl-product-page {
		padding-top: 28px;
		overflow-x: hidden;
	}

	.ccl-product-page .ccl-shell {
		width: 100%;
		max-width: 100%;
	}

	.ccl-product-detail {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		display: flex;
		flex-direction: column;
		gap: 14px;
		overflow: hidden;
	}

	.ccl-product-main-image,
	.ccl-product-page .image_selected {
		order: 1;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		min-height: 390px;
	}

	.ccl-product-thumbs {
		position: static;
		order: 2;
		width: 100%;
	}

	.ccl-product-thumb-list {
		flex-direction: row;
		gap: 10px;
		overflow-x: auto;
		padding-bottom: 4px;
	}

	.ccl-product-thumb-list li {
		flex: 0 0 78px;
		width: 78px;
		height: 98px;
	}

	.ccl-product-buybox,
	.ccl-product-page .product_description {
		order: 3;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		min-height: 0;
		padding: 14px 0 0;
	}

	.ccl-product-breadcrumb {
		display: none;
	}

	.ccl-product-title {
		font-size: 26px;
	}

	.ccl-product-price {
		font-size: 25px;
	}

	.ccl-product-payments div,
	.ccl-product-shipping-note {
		flex-wrap: wrap;
		align-items: flex-start;
	}

	.ccl-product-payments span,
	.ccl-product-shipping-note span {
		flex: 1 1 100%;
		margin-left: 27px;
	}

	.ccl-product-actions {
		width: 100%;
		max-width: 100%;
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.ccl-quantity {
		width: 118px;
	}

	.ccl-product-postcode {
		grid-template-columns: 1fr;
	}

	.ccl-product-postcode a {
		border-left: 0;
		border-top: 1px solid var(--ccl-black);
	}

	.ccl-product-description-block {
		width: 100%;
		max-width: 100%;
		margin-top: 26px;
	}

	.ccl-category-row > [class*="col-"],
	.ccl-product-row > [class*="col-"] {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100% !important;
	}
}

@media (max-width: 520px) {
	.ccl-auth-copy,
	.ccl-auth-feature,
	.ccl-auth-card {
		width: 100%;
		max-width: 310px;
	}

	.ccl-auth-copy h1 {
		font-size: 30px;
	}

	.ccl-auth-card h2 {
		font-size: 24px;
		line-height: 1.2;
	}

	.ccl-auth-card > p {
		font-size: 13px;
	}

	.ccl-auth-input {
		min-height: 54px;
	}

	.ccl-auth-input input {
		height: 52px;
	}

	.ccl-auth-submit {
		min-height: 56px;
	}
}

@media (max-width: 420px) {
	.ccl-auth-aside,
	.ccl-auth-panel {
		padding: 18px;
	}

	.ccl-auth-copy > span,
	.ccl-auth-kicker {
		min-height: 28px;
		padding: 0 12px;
		font-size: 10px;
	}

	.ccl-auth-copy h1 {
		font-size: 30px;
	}

	.ccl-auth-feature {
		grid-template-columns: 44px minmax(0, 1fr);
		padding: 16px;
	}

	.ccl-auth-feature i {
		width: 44px;
		height: 44px;
		font-size: 18px;
	}

	.ccl-auth-card {
		padding: 24px 18px;
	}

	.ccl-auth-input i {
		width: 46px;
	}

	.ccl-wordmark {
		font-size: 29px;
		letter-spacing: 0.04em;
	}

	.ccl-promo-text {
		font-size: 11px;
	}

	.ccl-home-hero h1 {
		font-size: 30px;
	}

}

/* Login da loja: visual alinhado ao ecommerce preto/branco. */
.ccl-auth-page {
	padding: 54px 0 64px;
	background: var(--ccl-body-bg, #ffffff);
	color: var(--ccl-body-font, var(--ccl-black));
	overflow-x: hidden;
}

.ccl-auth-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.74fr);
	gap: 38px;
	width: 100%;
	min-height: 0;
	border: 0;
	border-radius: 0;
	background: var(--ccl-body-bg, #ffffff);
	overflow: visible;
	box-shadow: none;
}

.ccl-auth-aside {
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 30px;
	min-height: 520px;
	padding: 42px;
	border: 1px solid var(--ccl-line);
	background: var(--ccl-body-bg, #ffffff);
	color: var(--ccl-body-font, var(--ccl-black));
}

.ccl-auth-back,
.ccl-auth-back:hover,
.ccl-auth-back:visited {
	width: max-content;
	min-height: 38px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 0 14px;
	border: 1.5px solid var(--ccl-body-button, var(--ccl-black));
	border-radius: 0;
	background: transparent;
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: uppercase;
}

.ccl-auth-brand {
	width: 76px;
	height: 76px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 8px;
	border: 1.5px solid var(--ccl-body-button, var(--ccl-black));
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
}

.ccl-auth-brand i {
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 30px;
}

.ccl-auth-copy {
	max-width: 610px;
	min-width: 0;
}

.ccl-auth-copy > span,
.ccl-auth-kicker {
	display: inline-flex;
	align-items: center;
	min-height: 0;
	margin-bottom: 16px;
	padding: 0 0 5px;
	border-bottom: 2px solid var(--ccl-body-button, var(--ccl-black));
	border-radius: 0;
	background: transparent;
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.ccl-auth-copy h1 {
	max-width: 620px;
	margin: 0 0 16px;
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 46px;
	font-weight: 900;
	line-height: 1.04;
	letter-spacing: 0;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.ccl-auth-copy p {
	max-width: 560px;
	margin: 0;
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 16px;
	font-weight: 700;
	line-height: 1.55;
	overflow-wrap: anywhere;
}

.ccl-auth-feature {
	max-width: 520px;
	min-width: 0;
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	margin-top: auto;
	padding: 18px;
	border: 1px solid var(--ccl-line);
	border-radius: 0;
	background: var(--ccl-body-bg, #ffffff);
}

.ccl-auth-feature i {
	width: 54px;
	height: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--ccl-body-button, var(--ccl-black));
	color: var(--ccl-on-primary, #ffffff);
	font-size: 21px;
}

.ccl-auth-feature strong {
	display: block;
	margin-bottom: 5px;
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 14px;
	font-weight: 900;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.ccl-auth-feature small {
	display: block;
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 13px;
	font-weight: 600;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.ccl-auth-panel {
	min-width: 0;
	display: flex;
	align-items: stretch;
	justify-content: center;
	padding: 0;
	background: var(--ccl-body-bg, #ffffff);
}

.ccl-auth-card {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	align-self: center;
	padding: 42px;
	border: 1px solid var(--ccl-line);
	border-radius: 0;
	background: var(--ccl-body-bg, #ffffff);
	box-shadow: none;
}

.ccl-auth-card h2 {
	margin: 0 0 10px;
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 32px;
	font-weight: 900;
	line-height: 1.15;
	text-transform: uppercase;
}

.ccl-auth-card > p {
	margin: 0 0 30px;
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 14px;
	font-weight: 700;
	line-height: 1.55;
}

.ccl-auth-form {
	display: grid;
	gap: 20px;
}

.ccl-auth-form label > span,
.ccl-auth-label-row {
	margin-bottom: 8px;
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.ccl-auth-label-row a,
.ccl-auth-label-row a:hover,
.ccl-auth-label-row a:visited {
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 12px;
	font-weight: 900;
	text-decoration: underline;
	text-transform: none;
	white-space: nowrap;
}

.ccl-auth-input {
	min-height: 54px;
	border: 1px solid var(--ccl-line);
	border-radius: 0;
	background: #ffffff;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ccl-auth-input i {
	width: 52px;
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 16px;
}

.ccl-auth-input input {
	height: 52px;
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 14px;
	font-weight: 700;
}

.ccl-auth-input:focus-within {
	border-color: var(--ccl-body-button, var(--ccl-black));
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(var(--ccl-primary-rgb, 5, 5, 5), 0.12);
}

.ccl-auth-input input::placeholder {
	color: #7a7a7a;
	font-size: 14px;
	font-weight: 600;
}

.ccl-auth-submit {
	min-height: 54px;
	margin-top: 4px;
	border: 0;
	border-radius: 0;
	background: var(--ccl-body-button, var(--ccl-black));
	color: var(--ccl-on-primary, #ffffff);
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	box-shadow: none;
}

.ccl-auth-submit:hover {
	background: var(--ccl-primary-hover, #222222);
	box-shadow: none;
	transform: translateY(-1px);
}

.ccl-auth-support,
.ccl-auth-support:hover,
.ccl-auth-support:visited {
	min-height: 58px;
	margin-top: 20px;
	border: 1px solid var(--ccl-line);
	border-radius: 0;
	background: var(--ccl-body-bg, #ffffff);
	color: var(--ccl-body-font, var(--ccl-black));
}

.ccl-auth-support i {
	border-radius: 999px;
	background: #1fbb64;
	color: #ffffff;
}

.ccl-auth-support small,
.ccl-auth-support strong {
	color: var(--ccl-body-font, var(--ccl-black));
}

.ccl-auth-policy {
	color: var(--ccl-body-font, var(--ccl-black));
	font-weight: 900;
}

.ccl-auth-modal .modal-content {
	border: 1px solid var(--ccl-line);
	border-radius: 0;
	box-shadow: 0 18px 34px rgba(0, 0, 0, 0.14);
}

.ccl-auth-modal .modal-header {
	background: var(--ccl-black);
	color: #ffffff;
}

.ccl-auth-modal .modal-title,
.ccl-auth-modal .close {
	color: #ffffff;
}

.ccl-auth-modal .modal-body {
	color: var(--ccl-black);
}

.ccl-auth-modal-close,
.ccl-auth-modal-close:hover {
	border-radius: 0;
	background: var(--ccl-black);
	color: #ffffff;
}

@media (max-width: 991px) {
	.ccl-auth-page {
		padding: 34px 0 48px;
	}

	.ccl-auth-layout {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.ccl-auth-aside {
		min-height: 0;
		padding: 30px;
	}

	.ccl-auth-panel {
		display: block;
	}
}

@media (max-width: 767px) {
	.ccl-auth-page {
		width: 100vw;
		max-width: 100vw;
		padding: 24px 0 36px;
	}

	.ccl-auth-page .ccl-shell {
		width: 100%;
		max-width: 100vw;
		padding-left: 14px;
		padding-right: 14px;
		overflow: hidden;
	}

	.ccl-auth-layout {
		width: 100%;
		max-width: calc(100vw - 28px);
		overflow: hidden;
	}

	.ccl-auth-aside,
	.ccl-auth-card {
		width: 100%;
		max-width: 100%;
		padding: 22px;
		overflow: hidden;
	}

	.ccl-auth-copy h1 {
		max-width: 100%;
		font-size: 28px;
		word-break: break-word;
	}

	.ccl-auth-card h2 {
		font-size: 25px;
	}

	.ccl-auth-copy,
	.ccl-auth-feature,
	.ccl-auth-card {
		width: 100%;
		max-width: 100%;
	}

	.ccl-auth-copy p,
	.ccl-auth-feature strong,
	.ccl-auth-feature small,
	.ccl-auth-card > p {
		max-width: 100%;
		word-break: break-word;
	}

	.ccl-auth-feature {
		grid-template-columns: 44px minmax(0, 1fr);
		gap: 12px;
	}

	/* mesma correção do bloco anterior: linha única, sem centralizar empilhado */
	.ccl-auth-form .ccl-auth-label-row {
		align-items: center;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 6px 14px;
	}
}

@media (max-width: 420px) {
	.ccl-auth-aside,
	.ccl-auth-card {
		padding: 18px;
	}

	.ccl-auth-feature {
		grid-template-columns: 44px minmax(0, 1fr);
		padding: 14px;
	}

	.ccl-auth-feature i {
		width: 44px;
		height: 44px;
		font-size: 17px;
	}
}

@media (max-width: 520px) {
	.ccl-auth-page .ccl-shell {
		max-width: 390px;
		margin-left: auto;
		margin-right: auto;
	}

	.ccl-auth-layout {
		width: 100%;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.ccl-auth-aside,
	.ccl-auth-card {
		width: 100%;
		max-width: 100%;
	}

	.ccl-auth-copy h1 {
		font-size: 28px;
	}

	.ccl-auth-copy p,
	.ccl-auth-feature small,
	.ccl-auth-card > p {
		font-size: 13px;
		line-height: 1.45;
	}

	.ccl-auth-feature strong {
		font-size: 13px;
	}
}

/* Checkout flow */

.ccl-checkout-page {
	background: #f7f7f7;
	padding: 54px 0 74px;
}

.ccl-checkout-shell {
	max-width: 1240px;
}

.ccl-checkout-heading {
	margin-bottom: 22px;
}

.ccl-checkout-heading span,
.ccl-checkout-card-head span,
.ccl-summary-card > span,
.ccl-finished-hero > span,
.ccl-payment-panel-head p {
	color: var(--ccl-muted);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.ccl-checkout-heading h1 {
	margin: 8px 0 8px;
	color: var(--ccl-black);
	font-size: 36px;
	font-weight: 950;
	line-height: 1.08;
	letter-spacing: 0;
	text-transform: uppercase;
}

.ccl-checkout-heading p {
	max-width: 560px;
	margin: 0;
	color: var(--ccl-ink);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
}

.ccl-checkout-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-bottom: 28px;
	border: 1px solid var(--ccl-line);
	background: #ffffff;
}

.ccl-checkout-step {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 62px;
	padding: 14px 18px;
	border-right: 1px solid var(--ccl-line);
	color: var(--ccl-muted);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.ccl-checkout-step:last-child {
	border-right: 0;
}

.ccl-checkout-step strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid var(--ccl-line);
	border-radius: 999px;
	background: #ffffff;
	color: var(--ccl-muted);
	font-size: 12px;
	font-weight: 900;
}

.ccl-checkout-step.is-active {
	color: var(--ccl-black);
	background: #f0f0f0;
}

.ccl-checkout-step.is-active strong,
.ccl-checkout-step.is-done strong {
	border-color: var(--ccl-black);
	background: var(--ccl-black);
	color: #ffffff;
}

.ccl-checkout-step.is-done {
	color: var(--ccl-black);
}

.ccl-checkout-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 382px;
	align-items: start;
	gap: 24px;
}

.ccl-checkout-main {
	display: grid;
	gap: 18px;
	min-width: 0;
}

.ccl-checkout-card,
.ccl-summary-card {
	border: 1px solid var(--ccl-line);
	background: #ffffff;
	box-shadow: 0 18px 34px rgba(0, 0, 0, 0.06);
}

.ccl-checkout-card {
	padding: 26px;
}

.ccl-summary-card {
	position: sticky;
	top: 112px;
	padding: 24px;
}

.ccl-checkout-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 22px;
}

.ccl-checkout-card-head h2,
.ccl-summary-card h2 {
	margin: 5px 0 0;
	color: var(--ccl-black);
	font-size: 24px;
	font-weight: 950;
	line-height: 1.16;
	letter-spacing: 0;
	text-transform: uppercase;
}

.ccl-checkout-card-head small {
	color: var(--ccl-muted);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ccl-cart-list {
	display: grid;
	gap: 14px;
}

.ccl-cart-item {
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr) 120px 120px 120px;
	align-items: center;
	gap: 16px;
	padding: 16px;
	border: 1px solid var(--ccl-line);
	background: #fbfbfb;
}

.ccl-cart-item-media,
.ccl-summary-product img,
.ccl-checkout-item-placeholder {
	background: #f0f0f0;
}

.ccl-cart-item-media {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 104px;
	aspect-ratio: 1;
	overflow: hidden;
}

.ccl-cart-item-media img,
.ccl-summary-product img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ccl-checkout-item-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 64px;
	color: var(--ccl-muted);
	font-size: 22px;
}

.ccl-cart-item-info span,
.ccl-cart-item-price small,
.ccl-field label {
	color: var(--ccl-muted);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.ccl-cart-item-info h3 {
	margin: 5px 0 10px;
	color: var(--ccl-black);
	font-size: 15px;
	font-weight: 950;
	line-height: 1.35;
	text-transform: uppercase;
}

.ccl-cart-item-info h3 small {
	display: block;
	margin-top: 3px;
	color: var(--ccl-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: none;
}

.ccl-cart-item-actions a,
.ccl-cart-item-actions a:hover,
.ccl-cart-item-actions a:visited,
.ccl-cart-item-actions button,
.ccl-cart-refresh a,
.ccl-cart-refresh a:hover,
.ccl-cart-refresh a:visited,
.ccl-continue-link,
.ccl-continue-link:hover,
.ccl-continue-link:visited,
.ccl-inline-login,
.ccl-inline-login:hover,
.ccl-inline-login:visited {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--ccl-black);
	font-size: 12px;
	font-weight: 900;
	text-decoration: underline;
	text-transform: uppercase;
}

.ccl-cart-item-actions form {
	margin: 0;
}

.ccl-cart-item-actions button {
	background: transparent;
	border: 0;
	cursor: pointer;
	padding: 0;
}

.ccl-cart-item-price {
	display: grid;
	gap: 5px;
	text-align: right;
}

.ccl-cart-item-price strong {
	color: var(--ccl-black);
	font-size: 16px;
	font-weight: 950;
}

.ccl-cart-item-qty {
	display: grid;
	gap: 6px;
}

.ccl-cart-item-qty label {
	margin: 0;
	color: var(--ccl-muted);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ccl-qty-input,
.ccl-checkout-input {
	width: 100%;
	border: 1px solid var(--ccl-line);
	border-radius: 0;
	background: #ffffff;
	color: var(--ccl-black);
	font-size: 14px;
	font-weight: 800;
	box-shadow: none;
}

.ccl-qty-input {
	height: 44px;
	text-align: center;
}

.ccl-checkout-input {
	height: 50px;
	padding: 10px 14px;
}

.ccl-checkout-input:focus,
.ccl-qty-input:focus {
	border-color: var(--ccl-black);
	box-shadow: 0 0 0 3px rgba(5, 5, 5, 0.08);
}

.ccl-cart-refresh {
	display: flex;
	justify-content: flex-end;
	margin-top: 16px;
}

.ccl-empty-cart {
	display: grid;
	justify-items: center;
	gap: 12px;
	padding: 44px 18px;
	border: 1px dashed var(--ccl-line);
	background: #fbfbfb;
	text-align: center;
}

.ccl-empty-cart i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border-radius: 999px;
	background: var(--ccl-black);
	color: #ffffff;
	font-size: 20px;
}

.ccl-empty-cart h2 {
	margin: 0;
	color: var(--ccl-black);
	font-size: 22px;
	font-weight: 950;
	text-transform: uppercase;
}

.ccl-empty-cart p {
	margin: 0;
	color: var(--ccl-muted);
	font-size: 14px;
	font-weight: 700;
}

.ccl-shipping-form {
	margin: 0;
}

.ccl-shipping-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 154px 36px;
	align-items: center;
	gap: 10px;
}

.ccl-shipping-loader {
	display: none;
	width: 28px;
	height: 28px;
	margin: 0;
	border-width: 3px;
	color: var(--ccl-black);
}

.ccl-shipping-options {
	display: grid;
	gap: 10px;
	margin-top: 16px;
	color: var(--ccl-black);
	font-size: 13px;
	font-weight: 800;
}

.ccl-shipping-options input {
	accent-color: var(--ccl-black);
}

.ccl-shipping-options .shipping-option-card {
	position: relative;
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 0;
	padding: 13px 14px;
	border: 1px solid var(--ccl-line);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.055);
	cursor: pointer;
	user-select: none;
	-webkit-user-select: none;
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.ccl-shipping-options .shipping-option-card:hover {
	transform: translateY(-1px);
	border-color: var(--ccl-black);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.09);
}

.ccl-shipping-options .shipping-option-card.is-selected {
	border-color: var(--ccl-black);
	background: #fbfbfb;
	box-shadow: 0 12px 26px rgba(0, 0, 0, 0.1);
}

.ccl-shipping-options .shipping-option-input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.ccl-shipping-options .shipping-option-check {
	width: 18px;
	height: 18px;
	border: 2px solid #c9ced7;
	border-radius: 50%;
	background: #ffffff;
	box-shadow: inset 0 0 0 4px #ffffff;
	transition: border-color 0.18s ease, background 0.18s ease;
}

.ccl-shipping-options .shipping-option-input:checked + .shipping-option-check {
	border-color: var(--ccl-black);
	background: var(--ccl-black);
}

.ccl-shipping-options .shipping-option-info,
.ccl-shipping-options .shipping-option-meta {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.ccl-shipping-options .shipping-option-carrier {
	color: var(--ccl-black);
	font-size: 13px;
	font-weight: 950;
	line-height: 1.2;
	text-transform: uppercase;
}

.ccl-shipping-options .shipping-option-service {
	color: var(--ccl-muted);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
}

.ccl-shipping-options .shipping-option-meta {
	justify-items: end;
	text-align: right;
	white-space: nowrap;
}

.ccl-shipping-options .shipping-option-price {
	color: var(--ccl-black);
	font-size: 14px;
	font-weight: 950;
	line-height: 1.2;
}

.ccl-shipping-options .shipping-option-deadline {
	color: var(--ccl-muted);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
}

.ccl-summary-card > h2 {
	margin-bottom: 18px;
}

.ccl-summary-products {
	display: grid;
	gap: 12px;
	margin-bottom: 18px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--ccl-line);
}

.ccl-summary-product {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
}

.ccl-summary-product img,
.ccl-summary-product .ccl-checkout-item-placeholder {
	width: 58px;
	height: 58px;
	min-height: 58px;
}

.ccl-summary-product strong {
	display: block;
	color: var(--ccl-black);
	font-size: 12px;
	font-weight: 950;
	line-height: 1.35;
	text-transform: uppercase;
}

.ccl-summary-product small {
	color: var(--ccl-muted);
	font-size: 12px;
	font-weight: 800;
}

.ccl-summary-lines {
	display: grid;
	gap: 12px;
	padding: 18px 0;
	border-top: 1px solid var(--ccl-line);
	border-bottom: 1px solid var(--ccl-line);
}

.ccl-summary-lines div,
.ccl-summary-total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.ccl-summary-lines small,
.ccl-summary-total small {
	color: var(--ccl-muted);
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.ccl-summary-lines strong,
.ccl-summary-total strong {
	color: var(--ccl-black);
	font-size: 14px;
	font-weight: 950;
	text-align: right;
}

.ccl-summary-total {
	padding: 18px 0 22px;
}

.ccl-summary-total strong {
	font-size: 24px;
}

.ccl-summary-actions {
	margin: 0;
}

.ccl-checkout-primary,
.ccl-checkout-primary:hover,
.ccl-checkout-primary:visited,
.ccl-checkout-secondary,
.ccl-checkout-secondary:hover,
.ccl-checkout-secondary:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	width: 100%;
	padding: 12px 18px;
	border-radius: 0;
	font-size: 12px;
	font-weight: 950;
	letter-spacing: 0.09em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.ccl-checkout-primary {
	border: 1px solid var(--ccl-black);
	background: var(--ccl-black);
	color: #ffffff !important;
}

.ccl-checkout-primary:hover {
	background: #202020;
	border-color: #202020;
	transform: translateY(-1px);
}

.ccl-summary-card .ccl-checkout-primary + .ccl-checkout-primary,
.ccl-summary-card .ccl-checkout-secondary + .ccl-checkout-primary,
.ccl-summary-card .ccl-checkout-primary + .ccl-checkout-secondary,
.ccl-summary-card .ccl-checkout-secondary + .ccl-checkout-secondary {
	margin-top: 10px;
}

.ccl-checkout-primary:disabled {
	cursor: not-allowed;
	opacity: 0.45;
	transform: none;
}

.ccl-checkout-secondary,
.ccl-checkout-secondary:hover,
.ccl-checkout-secondary:visited {
	width: auto;
	border: 1px solid var(--ccl-black);
	background: #ffffff;
	color: var(--ccl-black) !important;
}

.ccl-checkout-secondary:hover {
	background: var(--ccl-black);
	color: #ffffff !important;
}

.ccl-continue-link {
	justify-content: center;
	width: 100%;
	margin-top: 16px;
	text-align: center;
}

.ccl-form-grid {
	display: grid;
	gap: 16px;
}

.ccl-form-grid.two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ccl-form-grid.doc {
	grid-template-columns: minmax(180px, 1fr) 145px minmax(220px, 1.2fr) minmax(180px, 1fr);
	margin-top: 16px;
}

.ccl-form-grid.address {
	grid-template-columns: 1.7fr 0.6fr 1fr 1fr;
}

.ccl-form-grid.payment {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ccl-field {
	display: grid;
	gap: 7px;
	min-width: 0;
}

.ccl-field.is-wide {
	grid-column: span 2;
}

.ccl-field.is-full {
	grid-column: 1 / -1;
}

.ccl-field-error {
	color: var(--ccl-red);
	font-size: 12px;
	font-weight: 800;
}

.ccl-checkout-submit {
	margin-top: 4px;
}

.ccl-delivery-list {
	display: grid;
	gap: 14px;
}

.ccl-delivery-card {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: 18px;
	padding: 18px;
	border: 1px solid var(--ccl-line);
	background: #fbfbfb;
}

.ccl-delivery-address {
	display: grid;
	align-content: start;
	gap: 5px;
	color: var(--ccl-black);
}

.ccl-delivery-address strong {
	font-size: 15px;
	font-weight: 950;
	text-transform: uppercase;
}

.ccl-delivery-address span,
.ccl-delivery-address small {
	color: var(--ccl-muted);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.45;
}

.ccl-delivery-options {
	display: grid;
	gap: 10px;
}

.ccl-delivery-option {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	margin: 0;
	padding: 13px 14px;
	border: 1px solid var(--ccl-line);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.055);
	cursor: pointer;
	user-select: none;
	-webkit-user-select: none;
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.ccl-delivery-option:hover {
	transform: translateY(-1px);
	border-color: var(--ccl-black);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.09);
}

.ccl-delivery-option.is-selected {
	border-color: var(--ccl-black);
	background: #fbfbfb;
	box-shadow: 0 12px 26px rgba(0, 0, 0, 0.1);
}

.ccl-delivery-option input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.ccl-delivery-option span {
	display: grid;
	gap: 3px;
	min-width: 0;
	color: var(--ccl-black);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.25;
}

.ccl-delivery-option strong {
	display: block;
	font-size: 12px;
	font-weight: 950;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ccl-delivery-option small {
	color: var(--ccl-muted);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.25;
}

.ccl-delivery-option em {
	justify-self: end;
	color: var(--ccl-black);
	font-size: 14px;
	font-style: normal;
	font-weight: 950;
	line-height: 1.2;
}

.ccl-delivery-option::after {
	content: "";
	width: 18px;
	height: 18px;
	border: 2px solid #c9ced7;
	border-radius: 50%;
	background: #ffffff;
	box-shadow: inset 0 0 0 4px #ffffff;
	transition: border-color 0.18s ease, background 0.18s ease;
}

.ccl-delivery-option.is-selected::after {
	border-color: var(--ccl-black);
	background: var(--ccl-black);
}

.ccl-delivery-unavailable {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 12px;
	border: 1px solid rgba(217, 63, 79, 0.28);
	background: rgba(217, 63, 79, 0.055);
	color: #b72f3f;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.4;
}

.ccl-delivery-unavailable i {
	margin-top: 2px;
}

.ccl-payment-tabs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	margin-bottom: 24px;
	border: 1px solid var(--ccl-line);
}

.ccl-payment-tab {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 58px;
	border: 0;
	border-right: 1px solid var(--ccl-line);
	background: #ffffff;
	color: var(--ccl-black);
	font-size: 12px;
	font-weight: 950;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
}

.ccl-payment-tab:last-child {
	border-right: 0;
}

.ccl-payment-tab.active {
	background: var(--ccl-black);
	color: #ffffff;
}

.ccl-payment-panel {
	padding-top: 4px;
}

.ccl-payment-panel .cart_button_checkout {
	margin-top: 18px;
}

.ccl-payment-panel-head {
	margin-bottom: 18px;
}

.ccl-payment-panel-head h3 {
	margin: 0 0 6px;
	color: var(--ccl-black);
	font-size: 22px;
	font-weight: 950;
	text-transform: uppercase;
}

.ccl-payment-panel-head p {
	margin: 0;
	letter-spacing: 0;
	text-transform: none;
}

.ccl-card-number-row,
.ccl-expiration-row {
	display: grid;
	gap: 8px;
}

.ccl-card-number-row {
	grid-template-columns: minmax(0, 1fr) 34px;
	align-items: center;
}

.ccl-card-number-row img {
	max-width: 34px;
	max-height: 24px;
}

.ccl-expiration-row {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ccl-hidden-field {
	display: none;
}

.cart_button_checkout .spinner-border,
.ccl-checkout-primary .spinner-border {
	width: 18px;
	height: 18px;
	margin: 0;
	border-width: 2px;
	color: #ffffff;
}

.ccl-checkout-modal .modal-content {
	border: 1px solid var(--ccl-line);
	border-radius: 0;
	box-shadow: 0 18px 34px rgba(0, 0, 0, 0.14);
}

.ccl-checkout-modal .modal-header {
	border-bottom: 1px solid var(--ccl-line);
	background: var(--ccl-black);
	color: #ffffff;
}

.ccl-checkout-modal .modal-title {
	color: #ffffff;
	font-size: 15px;
	font-weight: 950;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ccl-checkout-modal .close {
	color: #ffffff;
	opacity: 1;
}

.ccl-checkout-modal .modal-footer {
	gap: 10px;
	border-top: 1px solid var(--ccl-line);
}

.ccl-checkout-modal .modal-footer .ccl-checkout-primary,
.ccl-checkout-modal .modal-footer .ccl-checkout-secondary {
	width: auto;
	min-width: 132px;
}

.ccl-finished-hero {
	display: grid;
	justify-items: center;
	gap: 10px;
	margin-bottom: 24px;
	padding: 42px 24px;
	border: 1px solid var(--ccl-line);
	background: #ffffff;
	text-align: center;
}

.ccl-finished-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 999px;
	background: var(--ccl-black);
	color: #ffffff;
	font-size: 24px;
}

.ccl-finished-hero h1 {
	margin: 0;
	color: var(--ccl-black);
	font-size: 34px;
	font-weight: 950;
	text-transform: uppercase;
}

.ccl-finished-hero p {
	max-width: 620px;
	margin: 0;
	color: var(--ccl-ink);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.6;
}

/* Ecommerce checkout colors follow the body settings from /configEcommerce. */
.ccl-checkout-page,
.ccl-cart-page {
	background: var(--ccl-body-bg, #ffffff);
	color: var(--ccl-body-font, var(--ccl-black));
}

.ccl-checkout-heading span,
.ccl-checkout-card-head span,
.ccl-summary-card > span,
.ccl-finished-hero > span,
.ccl-payment-panel-head p,
.ccl-cart-item-info span,
.ccl-cart-item-price small,
.ccl-cart-item-info h3 small,
.ccl-cart-item-qty label,
.ccl-field label,
.ccl-summary-product small,
.ccl-summary-lines small,
.ccl-summary-total small,
.ccl-delivery-address span,
.ccl-delivery-address small,
.ccl-delivery-option small,
.ccl-shipping-options .shipping-option-service,
.ccl-shipping-options .shipping-option-deadline,
.ccl-pix-copy label {
	color: var(--ccl-body-font, var(--ccl-muted));
}

.ccl-checkout-heading h1,
.ccl-checkout-heading p,
.ccl-checkout-card-head h2,
.ccl-summary-card h2,
.ccl-cart-item-info h3,
.ccl-cart-item-actions a,
.ccl-cart-item-actions a:hover,
.ccl-cart-item-actions a:visited,
.ccl-cart-item-actions button,
.ccl-cart-refresh a,
.ccl-cart-refresh a:hover,
.ccl-cart-refresh a:visited,
.ccl-cart-item-price strong,
.ccl-empty-cart h2,
.ccl-empty-cart p,
.ccl-summary-product strong,
.ccl-summary-lines strong,
.ccl-summary-total strong,
.ccl-delivery-address,
.ccl-delivery-option span,
.ccl-delivery-option em,
.ccl-payment-tab,
.ccl-payment-panel-head h3,
.ccl-finished-hero h1,
.ccl-finished-hero p,
.ccl-address-summary,
.ccl-continue-link,
.ccl-continue-link:hover,
.ccl-continue-link:visited,
.ccl-inline-login,
.ccl-inline-login:hover,
.ccl-inline-login:visited {
	color: var(--ccl-body-font, var(--ccl-black));
}

.ccl-checkout-step.is-active,
.ccl-checkout-step.is-done {
	color: var(--ccl-body-font, var(--ccl-black));
}

.ccl-checkout-step.is-active strong,
.ccl-checkout-step.is-done strong,
.ccl-empty-cart i,
.ccl-delivery-option.is-selected::after,
.ccl-shipping-options .shipping-option-input:checked + .shipping-option-check,
.ccl-payment-tab.active,
.ccl-checkout-modal .modal-header,
.ccl-finished-icon {
	border-color: var(--ccl-body-button, var(--ccl-black));
	background: var(--ccl-body-button, var(--ccl-black));
	color: var(--ccl-on-primary, #ffffff);
}

.ccl-checkout-primary,
.ccl-checkout-primary:hover,
.ccl-checkout-primary:visited,
.cart_button_checkout,
.cart_button_checkout:hover {
	border-color: var(--ccl-body-button, var(--ccl-black));
	background: var(--ccl-body-button, var(--ccl-black));
	color: var(--ccl-on-primary, #ffffff) !important;
}

.ccl-checkout-primary:hover,
.cart_button_checkout:hover {
	border-color: var(--ccl-primary-hover, var(--ccl-body-button, var(--ccl-black)));
	background: var(--ccl-primary-hover, var(--ccl-body-button, var(--ccl-black)));
}

.ccl-checkout-secondary,
.ccl-checkout-secondary:hover,
.ccl-checkout-secondary:visited {
	border-color: var(--ccl-body-button, var(--ccl-black));
	background: #ffffff;
	color: var(--ccl-body-font, var(--ccl-black)) !important;
}

.ccl-checkout-secondary:hover {
	background: var(--ccl-body-button, var(--ccl-black));
	color: var(--ccl-on-primary, #ffffff) !important;
}

.ccl-checkout-input,
.ccl-qty-input {
	color: var(--ccl-body-font, var(--ccl-black));
}

/* Keep cart/checkout controls compact without affecting account forms. */
.ccl-checkout-page .ccl-checkout-input {
	height: 44px;
	min-height: 44px;
	box-sizing: border-box;
	padding: 8px 12px;
	font-size: 13px;
}

.ccl-checkout-page select.ccl-checkout-input,
.ccl-checkout-page .ccl-expiration-row .ccl-checkout-input {
	height: 44px;
	min-height: 44px;
}

.ccl-checkout-page select.ccl-checkout-input {
	padding-top: 0;
	padding-bottom: 0;
	line-height: 44px;
}

.ccl-checkout-page .ccl-expiration-row {
	align-items: stretch;
}

.ccl-checkout-page .ccl-qty-input {
	height: 38px;
	font-size: 13px;
}

.ccl-checkout-page .ccl-form-grid {
	gap: 12px;
}

.ccl-checkout-page .ccl-field {
	gap: 5px;
}

.ccl-checkout-page .ccl-checkout-primary,
.ccl-checkout-page .ccl-checkout-secondary,
.ccl-checkout-page .cart_button_checkout {
	min-height: 44px;
	padding: 9px 14px;
	font-size: 11px;
	letter-spacing: 0.075em;
}

.ccl-checkout-page .ccl-payment-tabs {
	margin-bottom: 18px;
}

.ccl-checkout-page .ccl-payment-tab {
	min-height: 48px;
	gap: 8px;
	font-size: 11px;
	letter-spacing: 0.075em;
}

.ccl-checkout-page .ccl-payment-panel .cart_button_checkout {
	min-height: 40px;
	margin-top: 14px;
	padding-top: 8px;
	padding-bottom: 8px;
}

.ccl-checkout-input:focus,
.ccl-qty-input:focus,
.ccl-delivery-option:hover,
.ccl-delivery-option.is-selected,
.ccl-shipping-options .shipping-option-card:hover,
.ccl-shipping-options .shipping-option-card.is-selected {
	border-color: var(--ccl-body-button, var(--ccl-black));
	box-shadow: 0 0 0 3px rgba(var(--ccl-primary-rgb, 5, 5, 5), 0.12);
}

.ccl-checkout-modal .modal-title,
.ccl-checkout-modal .close,
.ccl-payment-tab.active,
.ccl-payment-tab.active i,
.ccl-finished-icon i,
.cart_button_checkout .spinner-border,
.ccl-checkout-primary .spinner-border {
	color: var(--ccl-on-primary, #ffffff);
}

.ccl-status-badge.is-primary {
	border-color: var(--ccl-body-button, var(--ccl-black));
	background: var(--ccl-body-button, var(--ccl-black));
	color: var(--ccl-on-primary, #ffffff);
}

.ccl-pix-card {
	margin-bottom: 24px;
}

.ccl-pix-content {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 24px;
	align-items: center;
}

.ccl-pix-content img {
	width: 260px;
	height: 260px;
	object-fit: contain;
	border: 1px solid var(--ccl-line);
	background: #ffffff;
}

.ccl-pix-copy {
	display: grid;
	gap: 10px;
}

.ccl-pix-copy label {
	margin: 0;
	color: var(--ccl-muted);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ccl-pix-copy .input-group {
	flex-wrap: nowrap;
}

.ccl-pix-copy .ccl-checkout-secondary {
	height: 50px;
	min-height: 50px;
}

.ccl-address-summary {
	display: grid;
	gap: 7px;
	margin-bottom: 18px;
	color: var(--ccl-black);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.45;
}

.ccl-address-summary strong {
	font-size: 14px;
	font-weight: 950;
	text-transform: uppercase;
}

.ccl-tracking-code {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
	color: var(--ccl-black);
	font-size: 12px;
	font-weight: 800;
}

.ccl-tracking-card {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	margin: 14px 0 18px;
	padding: 12px;
	border: 1px solid #d6e0eb;
	border-radius: 10px;
	background: #f8fbff;
	color: var(--ccl-black);
}

.ccl-tracking-card > i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	color: #ffffff;
	background: #2b6cb0;
	font-size: 14px;
}

.ccl-tracking-card span,
.ccl-tracking-card small {
	display: block;
	color: var(--ccl-muted);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.ccl-tracking-card strong {
	display: block;
	margin-top: 2px;
	color: #003f12;
	font-size: 14px;
	font-weight: 950;
	overflow-wrap: anywhere;
}

.ccl-tracking-card a {
	display: inline-flex;
	margin-top: 8px;
	color: #0059DA;
	font-size: 12px;
	font-weight: 950;
	text-transform: uppercase;
}

.ccl-tracking-card.is-pending {
	border-color: rgba(238, 157, 1, 0.42);
	background: #fff8e8;
}

.ccl-tracking-card.is-pending > i {
	background: #EE9D01;
}

.ccl-tracking-card.is-pending strong {
	color: #9a5f00;
}

.ccl-tracking-card.is-pending small {
	margin-top: 4px;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.35;
}

@media (max-width: 1199px) {
	.ccl-cart-item {
		grid-template-columns: 90px minmax(0, 1fr) 110px 110px;
	}

	.ccl-cart-item .ccl-cart-item-price:last-child {
		grid-column: 3 / -1;
	}

	.ccl-cart-item-media {
		width: 90px;
	}
}

@media (max-width: 991px) {
	.ccl-checkout-grid,
	.ccl-delivery-card {
		grid-template-columns: 1fr;
	}

	.ccl-summary-card {
		position: static;
	}

	.ccl-checkout-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ccl-checkout-step:nth-child(2) {
		border-right: 0;
	}

	.ccl-checkout-step:nth-child(1),
	.ccl-checkout-step:nth-child(2) {
		border-bottom: 1px solid var(--ccl-line);
	}

	.ccl-form-grid.doc,
	.ccl-form-grid.address,
	.ccl-form-grid.payment {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ccl-field.is-wide {
		grid-column: span 1;
	}

	.ccl-pix-content {
		grid-template-columns: 1fr;
		justify-items: center;
	}
}

@media (max-width: 767px) {
	.ccl-checkout-page {
		padding: 34px 0 54px;
	}

	.ccl-checkout-shell {
		padding-left: 14px;
		padding-right: 14px;
	}

	.ccl-checkout-heading h1 {
		font-size: 28px;
	}

	/* "Obrigado pela compra" (pedido finalizado): único hero do tema sem redução no mobile — alinha aos demais. */
	.ccl-finished-hero h1 {
		font-size: clamp(24px, 6.5vw, 30px);
	}

	.ccl-checkout-card,
	.ccl-summary-card {
		padding: 18px;
	}

	.ccl-checkout-card-head {
		flex-direction: column;
	}

	.ccl-checkout-card-head .ccl-checkout-secondary {
		width: 100%;
	}

	.ccl-cart-item {
		grid-template-columns: 78px minmax(0, 1fr);
		align-items: start;
	}

	.ccl-cart-item-media {
		width: 78px;
	}

	.ccl-cart-item-qty,
	.ccl-cart-item-price,
	.ccl-cart-item .ccl-cart-item-price:last-child {
		grid-column: 1 / -1;
		text-align: left;
	}

	.ccl-form-grid.two,
	.ccl-form-grid.doc,
	.ccl-form-grid.address,
	.ccl-form-grid.payment,
	.ccl-shipping-row,
	.ccl-payment-tabs {
		grid-template-columns: 1fr;
	}

	.ccl-shipping-options .shipping-option-card {
		grid-template-columns: 22px minmax(0, 1fr);
		padding: 12px;
	}

	.ccl-shipping-options .shipping-option-meta {
		grid-column: 2;
		justify-items: start;
		text-align: left;
		white-space: normal;
	}

	.ccl-field.is-wide,
	.ccl-field.is-full {
		grid-column: 1 / -1;
	}

	.ccl-payment-tab {
		border-right: 0;
		border-bottom: 1px solid var(--ccl-line);
	}

	.ccl-payment-tab:last-child {
		border-bottom: 0;
	}

	.ccl-checkout-steps {
		grid-template-columns: 1fr;
	}

	.ccl-checkout-step,
	.ccl-checkout-step:nth-child(2) {
		border-right: 0;
		border-bottom: 1px solid var(--ccl-line);
	}

	.ccl-checkout-step:last-child {
		border-bottom: 0;
	}

	.ccl-pix-content img {
		width: 220px;
		height: 220px;
	}

	.ccl-pix-copy .input-group {
		display: grid;
		gap: 10px;
	}

	.ccl-pix-copy .input-group-append {
		margin: 0;
	}

	.ccl-pix-copy .ccl-checkout-secondary {
		width: 100%;
	}
}

/* Customer account */

.ccl-account-page {
	background: var(--ccl-body-bg, #ffffff);
	color: var(--ccl-body-font, var(--ccl-black));
	padding: 54px 0 74px;
}

.ccl-account-shell {
	max-width: 1240px;
}

.ccl-account-hero {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 18px;
	padding: 34px;
	border: 1px solid var(--ccl-line);
	background: #ffffff;
	box-shadow: 0 18px 34px rgba(0, 0, 0, 0.06);
}

.ccl-account-hero span,
.ccl-account-stats span,
.ccl-account-order > div:first-child span {
	color: var(--ccl-body-font, var(--ccl-muted));
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.ccl-account-hero h1 {
	margin: 8px 0;
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 40px;
	font-weight: 950;
	line-height: 1.05;
	letter-spacing: 0;
	text-transform: uppercase;
}

.ccl-account-hero p {
	max-width: 600px;
	margin: 0;
	color: var(--ccl-body-font, var(--ccl-ink));
	font-size: 14px;
	font-weight: 800;
	line-height: 1.6;
}

.ccl-account-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.ccl-account-actions .ccl-checkout-secondary {
	width: auto;
	border-color: var(--ccl-body-button, var(--ccl-black));
	background: transparent;
	color: var(--ccl-body-font, var(--ccl-black)) !important;
}

.ccl-account-actions .ccl-checkout-secondary:hover {
	background: var(--ccl-body-button, var(--ccl-black));
	color: var(--ccl-on-primary, #ffffff) !important;
}

.ccl-account-logout,
.ccl-account-logout:hover,
.ccl-account-logout:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 12px 18px;
	border: 1px solid var(--ccl-body-button, var(--ccl-black));
	background: var(--ccl-body-button, var(--ccl-black));
	color: var(--ccl-on-primary, #ffffff);
	font-size: 12px;
	font-weight: 950;
	letter-spacing: 0.09em;
	text-decoration: none;
	text-transform: uppercase;
}

.ccl-account-logout:hover {
	background: var(--ccl-primary-hover, #202020);
	border-color: var(--ccl-primary-hover, #202020);
	transform: translateY(-1px);
}

.ccl-account-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin-bottom: 24px;
	border: 1px solid var(--ccl-line);
	background: #ffffff;
}

.ccl-account-stats div {
	display: grid;
	gap: 6px;
	padding: 20px 22px;
	border-right: 1px solid var(--ccl-line);
}

.ccl-account-stats div:last-child {
	border-right: 0;
}

.ccl-account-stats strong {
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 24px;
	font-weight: 950;
	line-height: 1.1;
}

.ccl-account-focus {
	margin-bottom: 24px;
}

.ccl-account-focus-main {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 18px;
}

.ccl-account-focus-main span {
	display: block;
	color: var(--ccl-body-font, var(--ccl-muted));
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.ccl-account-focus-main h2 {
	margin: 6px 0 5px;
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 24px;
	font-weight: 950;
	line-height: 1.15;
}

.ccl-account-focus-main p {
	margin: 0;
	color: var(--ccl-body-font, var(--ccl-ink));
	font-size: 13px;
	font-weight: 800;
	line-height: 1.5;
}

.ccl-account-focus-badges,
.ccl-account-focus-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	flex-wrap: wrap;
}

.ccl-account-focus-actions {
	margin-top: 18px;
	justify-content: flex-start;
}

.ccl-account-focus-actions form {
	margin: 0;
}

.ccl-account-focus-actions .ccl-checkout-primary,
.ccl-account-focus-actions .ccl-checkout-secondary {
	width: auto;
	min-height: 42px;
	padding: 10px 14px;
	border: 0;
}

.ccl-account-progress {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
}

.ccl-account-progress-step {
	position: relative;
	display: grid;
	gap: 6px;
	min-height: 106px;
	padding: 14px 12px;
	border: 1px solid var(--ccl-line);
	background: #fbfbfb;
	color: var(--ccl-body-font, var(--ccl-muted));
}

.ccl-account-progress-step i {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #d8dee8;
	box-shadow: 0 0 0 4px rgba(216, 222, 232, 0.35);
}

.ccl-account-progress-step strong {
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 12px;
	font-weight: 950;
	line-height: 1.2;
}

.ccl-account-progress-step span {
	color: var(--ccl-body-font, var(--ccl-muted));
	font-size: 11px;
	font-weight: 800;
	line-height: 1.35;
}

.ccl-account-progress-step.done {
	border-color: #b8eadf;
	background: #e9fbf7;
}

.ccl-account-progress-step.done i {
	background: #0f948f;
	box-shadow: 0 0 0 4px rgba(15, 148, 143, 0.14);
}

.ccl-account-progress-step.active {
	border-color: rgba(var(--ccl-primary-rgb), 0.32);
	background: rgba(var(--ccl-primary-rgb), 0.08);
}

.ccl-account-progress-step.active i {
	background: var(--ccl-body-button, #0059da);
	box-shadow: 0 0 0 4px rgba(var(--ccl-primary-rgb), 0.14);
	animation: ccl-account-progress-pulse 1.8s ease-in-out infinite;
}

.ccl-account-progress-step.danger {
	border-color: #f8bcc6;
	background: #fff1f3;
}

.ccl-account-progress-step.danger i {
	background: #c93647;
	box-shadow: 0 0 0 4px rgba(201, 54, 71, 0.14);
}

@keyframes ccl-account-progress-pulse {
	0%, 100% { transform: translateY(0); box-shadow: 0 0 0 4px rgba(var(--ccl-primary-rgb), 0.14); }
	50% { transform: translateY(-1px); box-shadow: 0 0 0 9px rgba(var(--ccl-primary-rgb), 0); }
}

.ccl-account-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.82fr);
	gap: 24px;
	align-items: start;
	margin-bottom: 24px;
}

.ccl-account-profile,
.ccl-account-orders,
.ccl-account-addresses {
	min-width: 0;
}

.ccl-account-save {
	margin-top: 18px;
}

.ccl-account-order-list {
	display: grid;
	gap: 12px;
}

.ccl-account-order {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
	padding: 16px;
	border: 1px solid var(--ccl-line);
	background: #fbfbfb;
}

.ccl-account-order > div:first-child {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.ccl-account-order strong {
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 15px;
	font-weight: 950;
}

.ccl-account-order small {
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 14px;
	font-weight: 950;
}

.ccl-account-order-meta {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.ccl-account-order-meta small {
	padding: 4px 8px;
	border: 1px solid var(--ccl-line);
	background: #ffffff;
	font-size: 11px;
	font-weight: 900;
}

.ccl-account-order-note {
	color: #8a5300 !important;
	font-size: 12px !important;
	font-weight: 900 !important;
}

.ccl-account-order-note.is-danger {
	color: #c93647 !important;
}

.ccl-account-order-track {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-top: 4px;
}

.ccl-account-order-track span {
	display: block;
	width: 24px;
	height: 5px;
	border-radius: 999px;
	background: #d8dee8;
}

.ccl-account-order-track span.done {
	background: #0f948f;
}

.ccl-account-order-track span.active {
	background: var(--ccl-body-button, #0059da);
}

.ccl-account-order-track span.danger {
	background: #c93647;
}

.ccl-account-order-actions {
	display: grid;
	justify-items: end;
	gap: 10px;
}

.ccl-account-order-actions a,
.ccl-account-order-actions a:hover,
.ccl-account-order-actions a:visited {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 12px;
	font-weight: 950;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-transform: uppercase;
}

.ccl-status-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 26px;
	padding: 5px 10px;
	border: 1px solid var(--ccl-line);
	background: #ffffff;
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 10px;
	font-style: normal;
	font-weight: 950;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ccl-status-badge.is-info {
	border-color: #0b6fbd;
	color: #0b6fbd;
}

.ccl-status-badge.is-primary {
	border-color: var(--ccl-body-button, var(--ccl-black));
	background: var(--ccl-body-button, var(--ccl-black));
	color: var(--ccl-on-primary, #ffffff);
}

.ccl-status-badge.is-danger {
	border-color: var(--ccl-red);
	color: var(--ccl-red);
}

.ccl-status-badge.is-warning {
	border-color: #b36b00;
	color: #8a5300;
}

.ccl-status-badge.is-dark {
	border-color: #424242;
	color: #424242;
}

.ccl-status-badge.is-success {
	border-color: #18784f;
	color: #18784f;
}

.ccl-account-address-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.ccl-account-address {
	display: grid;
	align-content: space-between;
	gap: 18px;
	min-height: 210px;
	padding: 18px;
	border: 1px solid var(--ccl-line);
	background: #fbfbfb;
}

.ccl-account-address > div {
	display: grid;
	gap: 6px;
}

.ccl-account-address strong {
	color: var(--ccl-body-font, var(--ccl-black));
	font-size: 15px;
	font-weight: 950;
	line-height: 1.35;
	text-transform: uppercase;
}

.ccl-account-address span,
.ccl-account-address small {
	color: var(--ccl-body-font, var(--ccl-muted));
	font-size: 13px;
	font-weight: 800;
	line-height: 1.45;
}

.ccl-account-address .ccl-checkout-secondary,
.ccl-account-address .ccl-checkout-secondary:hover,
.ccl-account-address .ccl-checkout-secondary:visited {
	width: 100%;
}

@media (max-width: 991px) {
	.ccl-account-hero {
		align-items: flex-start;
		flex-direction: column;
	}

	.ccl-account-actions {
		justify-content: flex-start;
		width: 100%;
	}

	.ccl-account-grid,
	.ccl-account-address-grid {
		grid-template-columns: 1fr;
	}

	.ccl-account-progress {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ccl-account-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ccl-account-stats div:nth-child(2) {
		border-right: 0;
	}

	.ccl-account-stats div:nth-child(1),
	.ccl-account-stats div:nth-child(2) {
		border-bottom: 1px solid var(--ccl-line);
	}
}

@media (max-width: 767px) {
	.ccl-account-page {
		padding: 34px 0 54px;
	}

	.ccl-account-shell {
		padding-left: 14px;
		padding-right: 14px;
	}

	/* hero em coluna (titulo + acoes empilhados, sem apertar no celular) */
	.ccl-account-hero {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		padding: 22px 18px;
	}

	.ccl-account-hero h1 {
		font-size: 26px;
	}

	/* Alterar senha + Sair lado a lado (botoes de dedo) */
	.ccl-account-actions {
		display: flex;
		gap: 10px;
	}

	.ccl-account-actions .ccl-checkout-secondary,
	.ccl-account-actions .ccl-account-logout {
		flex: 1;
		min-height: 44px;
		justify-content: center;
		text-align: center;
	}

	.ccl-account-focus-main,
	.ccl-account-focus-badges {
		align-items: flex-start;
		flex-direction: column;
	}

	/* acoes do pedido em andamento em grade 2 colunas (antes empilhava tudo) */
	.ccl-account-focus-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.ccl-account-focus-actions form {
		display: contents;
	}

	.ccl-account-focus-actions .ccl-checkout-primary,
	.ccl-account-focus-actions .ccl-checkout-secondary {
		width: 100%;
		min-height: 44px;
		justify-content: center;
	}

	.ccl-account-progress {
		grid-template-columns: 1fr;
	}

	/* 4 numeros em 2x2 (1 coluna virava um poste; 4 nao cabia) */
	.ccl-account-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ccl-account-stats div {
		border-right: 0;
		border-bottom: 1px solid var(--ccl-line);
		padding: 14px 16px;
	}

	.ccl-account-stats div:nth-child(odd) {
		border-right: 1px solid var(--ccl-line);
	}

	.ccl-account-stats div:nth-last-child(-n+2) {
		border-bottom: 0;
	}

	.ccl-account-stats strong {
		font-size: 19px;
	}

	.ccl-account-order {
		grid-template-columns: 1fr;
	}

	.ccl-account-order-actions {
		justify-items: start;
	}

	.ccl-account-order-actions a {
		min-height: 40px;
		display: inline-flex;
		align-items: center;
	}
}

.ccl-cookie-consent {
	position: fixed;
	left: 18px;
	bottom: 18px;
	z-index: 9999;
	width: min(420px, calc(100vw - 36px));
	padding: 14px;
	border-radius: 4px;
	background: var(--ccl-body-button, #0059da);
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
	color: var(--ccl-on-primary, #ffffff);
}

.ccl-cookie-consent[hidden] {
	display: none !important;
}

.ccl-cookie-consent__intro > strong {
	display: block;
	margin: 0 0 6px;
	color: inherit;
	font-size: 12px;
	font-weight: 950;
	letter-spacing: 0.06em;
	line-height: 1.25;
	text-transform: uppercase;
}

.ccl-cookie-consent p {
	margin: 0 0 12px;
	color: inherit;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0;
}

.ccl-cookie-consent a,
.ccl-cookie-consent a:hover,
.ccl-cookie-consent a:visited {
	color: inherit;
	font-weight: 900;
	text-decoration: underline;
}

.ccl-cookie-consent__options {
	display: grid;
	gap: 8px;
	margin: 0 0 12px;
}

.ccl-cookie-consent__options[hidden] {
	display: none !important;
}

.ccl-cookie-option {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	margin: 0;
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.1);
	color: inherit;
}

.ccl-cookie-option span {
	display: grid;
	gap: 2px;
}

.ccl-cookie-option strong {
	color: inherit;
	font-size: 12px;
	font-weight: 950;
	line-height: 1.25;
}

.ccl-cookie-option small {
	color: inherit;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.35;
	opacity: 0.88;
}

.ccl-cookie-option input {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #ffffff;
	cursor: pointer;
}

.ccl-cookie-option input:disabled {
	cursor: not-allowed;
	opacity: 0.78;
}

.ccl-cookie-consent__actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.ccl-cookie-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.34);
	border-radius: 4px;
	font-size: 11px;
	font-weight: 950;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	cursor: pointer;
}

.ccl-cookie-btn[hidden] {
	display: none !important;
}

.ccl-cookie-btn--primary {
	grid-column: 1 / -1;
	border-color: #ffffff;
	background: #ffffff;
	color: var(--ccl-body-button, #0059da);
}

.ccl-cookie-btn--secondary,
.ccl-cookie-btn--ghost {
	background: rgba(255, 255, 255, 0.12);
	color: inherit;
}

.ccl-cookie-btn:hover {
	filter: brightness(0.96);
}

@media (max-width: 575px) {
	.ccl-cookie-consent {
		left: 12px;
		right: 12px;
		bottom: 12px;
		width: auto;
	}

	.ccl-cookie-consent__actions {
		grid-template-columns: 1fr;
	}

	.ccl-cookie-btn--primary {
		grid-column: auto;
	}
}

body,
button,
input,
select,
textarea,
.super_container,
.super_container h1,
.super_container h2,
.super_container h3,
.super_container h4,
.super_container h5,
.super_container h6,
.super_container p,
.super_container a,
.super_container span,
.super_container label,
.super_container strong,
.super_container small,
.super_container li,
.super_container td,
.super_container th,
.ccl-shell,
.ccl-shell h1,
.ccl-shell h2,
.ccl-shell h3,
.ccl-shell h4,
.ccl-shell h5,
.ccl-shell h6,
.ccl-shell p,
.ccl-shell a,
.ccl-shell span,
.ccl-shell label,
.ccl-shell strong,
.ccl-shell small,
.ccl-shell li,
.ccl-shell td,
.ccl-shell th {
	font-family: var(--ccl-font) !important;
}

.ccl-wordmark,
.ccl-wordmark:hover,
.ccl-wordmark:visited,
.ccl-home-hero h1,
.ccl-section-head h2,
.ccl-section-title h2,
.ccl-page-title,
.ccl-product-title,
.ccl-product-name,
.product_name,
.shop_product_title,
.checkout_title,
.cart_title {
	font-family: var(--ccl-display-font) !important;
}

.fa,
.fas,
.far {
	font-family: "Font Awesome 5 Free" !important;
}

.fa,
.fas {
	font-weight: 900 !important;
}

.far {
	font-weight: 400 !important;
}

.fab {
	font-family: "Font Awesome 5 Brands" !important;
	font-weight: 400 !important;
}

/* Product detail refresh */
.ccl-product-page {
	padding: 52px 0 48px;
	background: var(--ccl-body-bg);
}

.ccl-product-detail {
	grid-template-columns: 88px minmax(420px, 1fr) minmax(360px, 420px);
	gap: 22px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.ccl-product-thumbs {
	top: 18px;
}

.ccl-product-thumb-list {
	gap: 10px;
}

.ccl-product-thumb-list li {
	width: 88px;
	height: 88px;
	padding: 8px;
	border-color: rgba(var(--ccl-primary-rgb), 0.16);
	border-radius: 14px;
	background: #f7fbfd;
}

.ccl-product-thumb-list li:hover,
.ccl-product-thumb-list li.active {
	border-color: var(--ccl-primary);
	box-shadow: 0 8px 18px rgba(var(--ccl-primary-rgb), 0.12);
}

.ccl-product-main-image,
.ccl-product-page .image_selected {
	min-height: 440px;
	padding: 28px;
	border-color: rgba(var(--ccl-primary-rgb), 0.14);
	border-radius: 18px;
	background: #f8fbfd;
}

.ccl-product-main-image img,
.ccl-product-page .image_selected img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 380px;
	object-fit: contain;
}

.ccl-product-buybox,
.ccl-product-page .product_description {
	min-height: 0;
	padding: 24px;
	border: 1px solid rgba(var(--ccl-primary-rgb), 0.14);
	border-radius: 18px;
	background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

.ccl-product-breadcrumb {
	margin-bottom: 18px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(var(--ccl-primary-rgb), 0.12);
}

.ccl-product-category {
	display: inline-flex;
	align-items: center;
	width: auto;
	margin-bottom: 12px;
	padding: 7px 11px;
	border: 1px solid rgba(var(--ccl-primary-rgb), 0.18);
	border-radius: 999px;
	background: rgba(var(--ccl-primary-rgb), 0.07);
	color: var(--ccl-primary);
}

.ccl-product-title {
	margin-bottom: 16px;
	font-size: 28px;
	line-height: 1.18;
}

.ccl-product-price {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0 0 18px !important;
	padding: 14px 16px;
	border: 1px solid rgba(var(--ccl-primary-rgb), 0.12);
	border-radius: 16px;
	background: rgba(var(--ccl-primary-rgb), 0.06);
	font-size: 30px;
}

.ccl-product-payments {
	gap: 9px;
	margin-bottom: 16px;
}

.ccl-product-payment-row,
.ccl-product-installment-row,
.ccl-product-shipping-note,
.ccl-product-postcode {
	padding: 10px 12px;
	border: 1px solid rgba(var(--ccl-primary-rgb), 0.12);
	border-radius: 12px;
	background: #ffffff;
}

.ccl-product-short-description {
	margin-bottom: 18px;
	padding: 13px 14px;
	border: 1px solid rgba(var(--ccl-primary-rgb), 0.12);
	border-radius: 14px;
	background: #f8fbfd;
}

.ccl-product-actions {
	grid-template-columns: 116px minmax(0, 1fr);
	gap: 10px;
	margin-bottom: 18px;
}

.ccl-quantity {
	width: 116px;
	height: 46px;
	border-radius: 12px;
}

.ccl-buy-button {
	height: 46px;
	border-radius: 12px;
}

.ccl-product-delivery {
	padding-top: 18px;
}

.ccl-product-perks {
	gap: 10px;
}

.ccl-product-perks[hidden] {
	display: none !important;
}

.ccl-product-perks > div {
	padding: 12px;
	border: 1px solid rgba(var(--ccl-primary-rgb), 0.12);
	border-radius: 14px;
	background: #ffffff;
}

.ccl-product-description-block {
	max-width: none;
	margin-top: 24px;
	padding: 24px;
	border: 1px solid rgba(var(--ccl-primary-rgb), 0.14);
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.ccl-product-description-block h2 {
	margin-bottom: 14px;
}

.ccl-product-description-content {
	color: var(--ccl-muted);
	font-size: 14px;
	line-height: 1.7;
}

.ccl-product-related {
	padding: 44px 0 72px;
	background: var(--ccl-body-bg);
}

@media (max-width: 1199px) {
	.ccl-product-detail {
		grid-template-columns: 80px minmax(360px, 1fr) minmax(330px, 390px);
		gap: 18px;
		padding: 18px;
	}

	.ccl-product-thumb-list li {
		width: 80px;
		height: 80px;
	}

	.ccl-product-main-image,
	.ccl-product-page .image_selected {
		min-height: 420px;
	}

	.ccl-product-main-image img,
	.ccl-product-page .image_selected img {
		max-height: 360px;
	}
}

@media (max-width: 991px) {
	.ccl-product-page {
		padding-top: 34px;
	}

	.ccl-product-detail {
		grid-template-columns: 86px minmax(0, 1fr);
		border-radius: 18px;
	}

	.ccl-product-buybox,
	.ccl-product-page .product_description {
		grid-column: 1 / -1;
		padding: 20px;
	}
}

@media (max-width: 520px) {
	.ccl-product-page {
		padding-top: 22px;
	}

	.ccl-product-detail {
		padding: 12px;
		border-radius: 16px;
	}

	.ccl-product-main-image,
	.ccl-product-page .image_selected {
		min-height: 300px;
		padding: 18px;
		border-radius: 14px;
	}

	.ccl-product-main-image img,
	.ccl-product-page .image_selected img {
		max-height: 260px;
	}

	.ccl-product-thumb-list li {
		flex-basis: 72px;
		width: 72px;
		height: 72px;
		border-radius: 12px;
	}

	.ccl-product-buybox,
	.ccl-product-page .product_description {
		padding: 16px;
		border-radius: 14px;
	}

	.ccl-product-title {
		font-size: 23px;
	}

	.ccl-product-price {
		font-size: 24px;
	}

	.ccl-product-actions {
		grid-template-columns: 1fr;
	}

	.ccl-quantity {
		width: 100%;
	}

	.ccl-product-description-block {
		padding: 18px;
		border-radius: 14px;
	}
}

@media (max-width: 767px) {
	.ccl-checkout-steps[data-step-label] {
		display: block;
		padding: 13px 15px;
		border: 1px solid #dbe3ef;
		border-radius: 10px;
		background: #ffffff;
	}

	.ccl-checkout-steps[data-step-label]::before {
		content: attr(data-step-label);
		display: block;
		color: #17233f;
		font-size: 13px;
		font-weight: 900;
		text-align: center;
	}

	.ccl-checkout-steps[data-step-label] .ccl-checkout-step {
		display: none;
	}
}

/* ===== Conta do cliente: refinamentos de usabilidade (desktop) ===== */
.ccl-account-actions .ccl-checkout-secondary,
.ccl-account-logout {
	min-height: 42px;
}

/* ============================================================================
   CControle — ANIMAÇÕES OPCIONAIS DO CONSTRUTOR (OneTech). Opt-in por data-ec-* no
   <body>, gated por data-ec-anim + prefers-reduced-motion. Fica ANTES da seção
   "safe storefront microinteractions" de propósito (aquela é hover-only 160ms por
   contrato; os loops abaixo — marquee/Ken Burns — vivem aqui, como as animações do tema).
   ============================================================================ */
/* Letreiro do anúncio deslizante */
.cc-barra-anuncio__track { display: none; }
.cc-barra-anuncio--rolando { position: relative; overflow: hidden; }
.cc-barra-anuncio--rolando .cc-barra-anuncio__static { display: none; }
.cc-barra-anuncio--rolando .cc-barra-anuncio__track { display: flex; width: max-content; animation: ccMarquee 26s linear infinite; }
.cc-barra-anuncio--rolando .cc-barra-anuncio__track span { padding: 0 2.2rem; white-space: nowrap; }
.cc-barra-anuncio--rolando[data-vel="lenta"] .cc-barra-anuncio__track { animation-duration: 40s; }
.cc-barra-anuncio--rolando[data-vel="rapida"] .cc-barra-anuncio__track { animation-duration: 15s; }
.cc-barra-anuncio--rolando:hover .cc-barra-anuncio__track { animation-play-state: paused; }
@keyframes ccMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* Zoom ao passar o mouse (cards de produto) */
@media (hover: hover) {
	body[data-ec-hover-zoom="leve"] .ccl-product-card__image,
	body[data-ec-hover-zoom="medio"] .ccl-product-card__image { overflow: hidden; }
	body[data-ec-hover-zoom="leve"] .ccl-product-card__image img,
	body[data-ec-hover-zoom="medio"] .ccl-product-card__image img { transition: transform .34s ease; }
	body[data-ec-hover-zoom="leve"] .ccl-product-card:hover .ccl-product-card__image img { transform: scale(1.05); }
	body[data-ec-hover-zoom="medio"] .ccl-product-card:hover .ccl-product-card__image img { transform: scale(1.09); }
}

/* Brilho nos botões de destaque */
@media (hover: hover) {
	body[data-ec-btn-shine="1"]:not([data-ec-anim="none"]) .ccl-checkout-primary { position: relative; overflow: hidden; }
	body[data-ec-btn-shine="1"]:not([data-ec-anim="none"]) .ccl-checkout-primary::after { content: ''; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; background: linear-gradient(115deg, transparent, rgba(255,255,255,.35), transparent); transform: skewX(-18deg); opacity: 0; pointer-events: none; }
	body[data-ec-btn-shine="1"]:not([data-ec-anim="none"]):not([data-ec-anim="subtle"]) .ccl-checkout-primary:hover::after { animation: ccBtnSheen .7s ease; }
	@keyframes ccBtnSheen { from { left: -60%; opacity: 1; } to { left: 120%; opacity: 1; } }
}

/* Esteira de bandeiras deslizando (o JS legado duplica os chips no trilho) */
body[data-ec-selos="1"] .ccl-payment-chips.cc-belt { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
body[data-ec-selos="1"] .ccl-payment-chips.cc-belt .cc-belt__track { display: flex; gap: 14px; width: max-content; animation: ccMarquee 22s linear infinite; }
body[data-ec-selos="1"] .ccl-payment-chips.cc-belt:hover .cc-belt__track { animation-play-state: paused; }

/* Zoom lento no banner do topo (Ken Burns sutil no slide ativo) */
body[data-ec-hero-zoom="1"]:not([data-ec-anim="none"]):not([data-ec-anim="subtle"]) .ccl-home-hero__slide.is-active { animation: ccKenBurns 8s ease-out both; transform-origin: center; }
@keyframes ccKenBurns { from { transform: scale(1); } to { transform: scale(1.045); } }

/* Revelar ao rolar (o JS legado marca html.ec-js-legacy e adiciona .ec-inview às seções) */
.ec-js-legacy body[data-ec-reveal="suave"] .ccl-featured-products:not(.ec-inview),
.ec-js-legacy body[data-ec-reveal="suave"] .ccl-home-categories:not(.ec-inview),
.ec-js-legacy body[data-ec-reveal="destaque"] .ccl-featured-products:not(.ec-inview),
.ec-js-legacy body[data-ec-reveal="destaque"] .ccl-home-categories:not(.ec-inview) { opacity: 0; }
.ec-js-legacy body[data-ec-reveal="suave"] .ccl-featured-products,
.ec-js-legacy body[data-ec-reveal="suave"] .ccl-home-categories { transition: opacity .5s ease, transform .5s ease; }
.ec-js-legacy body[data-ec-reveal="destaque"] .ccl-featured-products,
.ec-js-legacy body[data-ec-reveal="destaque"] .ccl-home-categories { transition: opacity .7s ease, transform .7s cubic-bezier(.2,.8,.25,1); }
.ec-js-legacy body[data-ec-reveal="suave"] .ccl-featured-products:not(.ec-inview),
.ec-js-legacy body[data-ec-reveal="suave"] .ccl-home-categories:not(.ec-inview) { transform: translateY(16px); }
.ec-js-legacy body[data-ec-reveal="destaque"] .ccl-featured-products:not(.ec-inview),
.ec-js-legacy body[data-ec-reveal="destaque"] .ccl-home-categories:not(.ec-inview) { transform: translateY(30px) scale(.99); }

/* "Sem" e redução de movimento desligam tudo */
body[data-ec-anim="none"] .cc-barra-anuncio__track,
body[data-ec-anim="none"] .ccl-payment-chips.cc-belt .cc-belt__track { animation: none !important; }
body[data-ec-anim="none"] .cc-barra-anuncio--rolando .cc-barra-anuncio__static { display: block; }
body[data-ec-anim="none"] .cc-barra-anuncio--rolando .cc-barra-anuncio__track { display: none; }
@media (prefers-reduced-motion: reduce) {
	.cc-barra-anuncio--rolando .cc-barra-anuncio__track { animation: none !important; display: none; }
	.cc-barra-anuncio--rolando .cc-barra-anuncio__static { display: block; }
	.ccl-payment-chips.cc-belt .cc-belt__track { animation: none !important; }
	body[data-ec-hero-zoom="1"] .ccl-home-hero__slide.is-active { animation: none !important; }
	body[data-ec-hover-zoom] .ccl-product-card:hover .ccl-product-card__image img { transform: none !important; }
	body[data-ec-btn-shine="1"] .ccl-checkout-primary::after { animation: none !important; }
}

/* CControle safe storefront microinteractions */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.ccl-product-card,
	.ccl-category-card {
		transition: transform 160ms ease, box-shadow 160ms ease;
	}

	.ccl-product-card:hover,
	.ccl-category-card:hover {
		transform: translateY(-2px);
		box-shadow: 0 12px 28px rgba(17, 24, 39, .10);
	}
}
