/* Comprale – Diseño moderno */
body.cpt-page {
	margin: 0;
	background: #f6f4fb;
}

.cpt {
	--cpt-primary: #6a1fd1;
	--cpt-primary-dark: #3d0f85;
	--cpt-ink: #1d1433;
	--cpt-muted: #6b6385;
	--cpt-bg: #f6f4fb;
	--cpt-tint: #f3edff;
	--cpt-soft: #faf8ff;
	--cpt-accent: #fcbc0e;
	--cpt-green: #00b865;
	--cpt-red: #e5484d;
	--cpt-footer: #1d0b45;
	--cpt-line: rgba(29, 20, 51, .08);
	--cpt-shadow: 0 6px 20px rgba(29, 20, 51, .05);
	--cpt-shadow-hover: 0 18px 40px rgba(61, 15, 133, .14);
	--cpt-ease: cubic-bezier(.16, .84, .44, 1);
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	background: var(--cpt-bg);
	color: var(--cpt-ink);
	font-family: Montserrat, system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: 15px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

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

.cpt a {
	color: var(--cpt-primary);
	text-decoration: none;
	transition: color .2s;
}

.cpt a:hover {
	color: var(--cpt-primary-dark);
}

.cpt img {
	max-width: 100%;
	height: auto;
}

.cpt h1,
.cpt h2,
.cpt h3 {
	font-family: inherit;
	color: var(--cpt-ink);
	letter-spacing: 0;
	text-transform: none;
}

.cpt ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cpt button,
.cpt input,
.cpt select,
.cpt textarea {
	font-family: inherit;
}

.cpt button:focus-visible,
.cpt a:focus-visible,
.cpt summary:focus-visible {
	outline: 2px solid var(--cpt-primary);
	outline-offset: 2px;
}

.cpt .cpt-hero__arrow,
.cpt .cpt-gallery__thumb,
.cpt .cpt-qty-btn,
.cpt .cpt-search button {
	min-width: 0;
	min-height: 0;
	text-transform: none;
	letter-spacing: 0;
}

.cpt .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.cpt-wrap {
	max-width: 1320px;
	width: 100%;
	margin: 0 auto;
	padding-left: 24px;
	padding-right: 24px;
}

.cpt-main {
	padding-top: 24px;
	padding-bottom: 24px;
	display: flex;
	flex-direction: column;
	gap: 40px;
	flex: 1;
}

.cpt-eyebrow {
	display: block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--cpt-primary);
}

.cpt-eyebrow--sm {
	font-size: 11px;
	letter-spacing: 1px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Botones */
.cpt .cpt-btn,
.cpt .single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 20px;
	border: 0;
	border-radius: 12px;
	font: 700 14px/1.2 Montserrat, sans-serif;
	text-align: center;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	box-shadow: none;
	transition: background-color .2s, color .2s, transform .2s var(--cpt-ease), box-shadow .2s;
}

.cpt .cpt-btn--primary,
.cpt .single_add_to_cart_button {
	background: var(--cpt-primary);
	color: #fff;
}

.cpt .cpt-btn--primary:hover,
.cpt .single_add_to_cart_button:hover {
	background: var(--cpt-primary-dark);
	color: #fff;
}

.cpt .cpt-btn--ghost {
	background: #fff;
	color: var(--cpt-primary);
	box-shadow: 0 0 0 1px rgba(106, 31, 209, .25);
}

.cpt .cpt-btn--ghost:hover {
	background: var(--cpt-tint);
	color: var(--cpt-primary-dark);
}

.cpt .cpt-btn--accent {
	background: var(--cpt-accent);
	color: var(--cpt-ink);
}

.cpt .cpt-btn--accent:hover {
	background: #f0ad00;
	color: var(--cpt-ink);
}

.cpt .cpt-btn--lg {
	min-height: 50px;
	padding: 0 26px;
	border-radius: 14px;
	font-size: 15px;
}

.cpt .cpt-btn.loading,
.cpt .single_add_to_cart_button.loading {
	opacity: .7;
	pointer-events: none;
}

.cpt .cpt-btn.added::after {
	content: "✓";
}

.cpt a.added_to_cart {
	display: block;
	margin-top: -4px;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
}

.cpt .single_add_to_cart_button.disabled,
.cpt .single_add_to_cart_button:disabled {
	opacity: .5;
	cursor: not-allowed;
}

/* Barra superior y header */
.cpt-topbar {
	background: var(--cpt-primary-dark);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	padding: 9px 20px;
	display: flex;
	justify-content: center;
	gap: 28px;
	flex-wrap: wrap;
	text-align: center;
}

.cpt-topbar__sub {
	opacity: .85;
	font-weight: 500;
}

.cpt-header {
	background: #fff;
	box-shadow: 0 1px 0 var(--cpt-line);
	position: relative;
	z-index: 20;
}

.cpt-header__row {
	padding-top: 16px;
	padding-bottom: 16px;
	display: flex;
	align-items: center;
	gap: 28px;
}

.cpt-header__logo {
	flex: 0 0 auto;
	display: flex;
}

.cpt-header__logo img {
	height: 46px;
	width: auto;
	display: block;
}

.cpt-search {
	flex: 1 1 360px;
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	background: var(--cpt-tint);
	border-radius: 999px;
	padding: 0 6px 0 20px;
	height: 50px;
	color: var(--cpt-primary);
	min-width: 0;
}

.cpt .cpt-search input[type="search"] {
	flex: 1;
	min-width: 0;
	height: 100%;
	border: 0;
	background: transparent;
	box-shadow: none;
	padding: 0;
	font: 500 15px Montserrat, sans-serif;
	color: var(--cpt-ink);
	outline: none;
}

.cpt .cpt-search input::placeholder {
	color: #8a83a3;
	opacity: 1;
}

.cpt .cpt-search button {
	flex: 0 0 auto;
	background: var(--cpt-primary);
	color: #fff;
	border: 0;
	border-radius: 999px;
	height: 38px;
	padding: 0 22px;
	font: 700 14px Montserrat, sans-serif;
	cursor: pointer;
	text-transform: none;
	transition: background-color .2s;
}

.cpt .cpt-search button:hover {
	background: var(--cpt-primary-dark);
}

.cpt-header__actions {
	display: flex;
	align-items: center;
	gap: 22px;
	font-size: 14px;
	font-weight: 600;
	flex: 0 0 auto;
}

.cpt .cpt-header__link {
	color: var(--cpt-ink);
	display: flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}

.cpt .cpt-header__link:hover {
	color: var(--cpt-primary);
}

.cpt .cpt-cart {
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--cpt-primary);
	color: #fff;
	border-radius: 14px;
	padding: 9px 16px;
	white-space: nowrap;
}

.cpt .cpt-cart:hover {
	background: var(--cpt-primary-dark);
	color: #fff;
}

.cpt-cart__label .woocommerce-Price-amount,
.cpt-cart__label bdi {
	color: inherit;
	font-weight: inherit;
}

.cpt-nav {
	overflow-x: auto;
	scrollbar-width: none;
}

.cpt-nav::-webkit-scrollbar {
	display: none;
}

.cpt .cpt-nav__list {
	display: flex;
	gap: 6px;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}

.cpt .cpt-nav__list a {
	display: block;
	color: var(--cpt-ink);
	padding: 12px 14px;
	border-bottom: 3px solid transparent;
	transition: color .2s, border-color .2s;
}

.cpt .cpt-nav__list a:hover,
.cpt .cpt-nav__list .current-menu-item > a {
	color: var(--cpt-primary);
	border-bottom-color: var(--cpt-primary);
}

/* Hero */
.cpt-hero {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	background: var(--cpt-tint);
}

.cpt-hero__track {
	display: flex;
	transition: transform .7s var(--cpt-ease);
}

.cpt-hero__slide {
	flex: 0 0 100%;
	min-height: 400px;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	align-items: center;
	gap: 20px;
	padding: 40px 64px 60px;
}

.cpt-hero__text {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.cpt .cpt-hero__title {
	margin: 0;
	font-size: 30px;
	line-height: 1.2;
	font-weight: 800;
	text-wrap: pretty;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.cpt-hero__price {
	font-size: 28px;
	font-weight: 800;
}

.cpt-hero__ctas {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.cpt-hero__media {
	height: 300px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.cpt-hero__media img {
	max-height: 300px;
	width: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.cpt .cpt-hero__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	padding: 0;
	border-radius: 999px;
	border: 0;
	background: #fff;
	color: var(--cpt-primary);
	font: 700 22px/1 Montserrat, sans-serif;
	cursor: pointer;
	box-shadow: 0 6px 20px rgba(29, 20, 51, .12);
	display: flex;
	align-items: center;
	justify-content: center;
}

.cpt-hero__arrow--prev {
	left: 14px;
}

.cpt-hero__arrow--next {
	right: 14px;
}

.cpt-hero__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 20px;
	display: flex;
	justify-content: center;
	gap: 6px;
}

.cpt .cpt-hero__dot {
	width: 8px;
	height: 8px;
	min-width: 0;
	min-height: 0;
	line-height: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(106, 31, 209, .25);
	cursor: pointer;
	transition: width .3s, background-color .3s;
}

.cpt .cpt-hero__dot.is-active {
	width: 26px;
	background: var(--cpt-primary);
}

/* Métodos de pago */
.cpt-paybar {
	background: #fff;
	border-radius: 20px;
	padding: 14px 20px;
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
	box-shadow: var(--cpt-shadow);
}

.cpt-paybar__title {
	flex: 0 0 auto;
	white-space: nowrap;
	display: flex;
	flex-direction: column;
}

.cpt-paybar__title strong {
	font-size: 15px;
	font-weight: 800;
}

.cpt-paybar__title span {
	font-size: 13px;
	color: var(--cpt-muted);
}

.cpt-paybar__bold {
	flex: 1 1 300px;
	min-width: 0;
	min-height: 48px;
	overflow: hidden;
	display: flex;
	align-items: center;
}

.cpt-paybar__perks {
	flex: 0 0 auto;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.cpt-perk,
.cpt-benefit {
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--cpt-tint);
	border-radius: 14px;
	padding: 10px 14px;
	font-size: 13px;
	line-height: 1.3;
}

.cpt-perk strong,
.cpt-benefit strong {
	font-size: 14px;
}

.cpt-perk .cpt-ico,
.cpt-benefit .cpt-ico {
	color: var(--cpt-primary);
	flex: 0 0 auto;
}

/* Secciones */
.cpt-section {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.cpt-section__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 12px;
	flex-wrap: wrap;
}

.cpt .cpt-h2 {
	margin: 0;
	font-size: 26px;
	line-height: 1.25;
	font-weight: 800;
}

.cpt .cpt-h2--center {
	text-align: center;
}

.cpt .cpt-more {
	font-weight: 700;
	font-size: 14px;
}

/* Categorías */
.cpt-cats {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
}

.cpt .cpt-cat {
	width: 160px;
	background: #fff;
	border-radius: 20px;
	padding: 16px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	color: var(--cpt-ink);
	box-shadow: var(--cpt-shadow);
	transition: transform .3s var(--cpt-ease), box-shadow .3s;
}

.cpt .cpt-cat:hover {
	transform: translateY(-6px);
	box-shadow: var(--cpt-shadow-hover);
	color: var(--cpt-ink);
}

.cpt-cat__img {
	width: 96px;
	height: 96px;
	border-radius: 999px;
	background: var(--cpt-tint);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.cpt-cat__img img {
	width: 80%;
	height: 80%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.cpt-cat__name {
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	line-height: 1.3;
}

/* Tarjetas de producto */
.cpt-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 14px;
}

.cpt-card {
	position: relative;
	background: #fff;
	border-radius: 20px;
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	box-shadow: var(--cpt-shadow);
	transition: box-shadow .3s, transform .3s var(--cpt-ease);
	min-width: 0;
}

.cpt-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--cpt-shadow-hover);
}

.cpt-card__badge {
	position: absolute;
	top: 22px;
	left: 22px;
	z-index: 2;
	background: var(--cpt-green);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	border-radius: 5px;
	padding: 4px 8px;
	line-height: 1.2;
}

.cpt-card__badge--sale {
	background: var(--cpt-red);
}

.cpt .cpt-card__media {
	aspect-ratio: 1;
	border-radius: 14px;
	background: var(--cpt-soft);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.cpt .cpt-card__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
	transition: transform .4s var(--cpt-ease);
}

.cpt-card:hover .cpt-card__media img {
	transform: scale(1.05);
}

.cpt .cpt-card__title {
	flex: 1;
	color: var(--cpt-ink);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.cpt .cpt-card__title:hover {
	color: var(--cpt-primary);
}

.cpt-card__price {
	font-size: 19px;
	font-weight: 800;
}

/* Precios WooCommerce */
.cpt .price,
.cpt .cpt-card__price,
.cpt .cpt-hero__price,
.cpt .cpt-summary__price {
	color: var(--cpt-ink);
}

.cpt del {
	color: var(--cpt-muted);
	font-weight: 600;
	font-size: .7em;
	opacity: 1;
	margin-right: 6px;
}

.cpt ins {
	text-decoration: none;
	background: none;
	color: inherit;
}

.cpt .woocommerce-Price-amount {
	color: inherit;
	font-weight: inherit;
}

/* Marcas */
.cpt-marquee {
	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);
}

.cpt-marquee__track {
	display: flex;
	gap: 14px;
	width: max-content;
	animation: cpt-marquee 45s linear infinite;
}

.cpt-marquee:hover .cpt-marquee__track {
	animation-play-state: paused;
}

@keyframes cpt-marquee {
	from { transform: translateX(-50%); }
	to { transform: translateX(0); }
}

.cpt .cpt-brand {
	flex: 0 0 auto;
	background: #fff;
	color: var(--cpt-ink);
	border-radius: 999px;
	height: 56px;
	padding: 0 26px;
	display: flex;
	align-items: center;
	font-size: 15px;
	font-weight: 700;
	white-space: nowrap;
	box-shadow: 0 0 0 1px var(--cpt-line);
}

.cpt .cpt-brand:hover {
	color: var(--cpt-primary);
}

.cpt-brand img {
	height: 26px;
	width: auto;
	display: block;
}

/* Página de producto */
.cpt-crumbs {
	font-size: 13px;
	color: var(--cpt-muted);
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: -16px;
}

.cpt-crumbs [aria-current] {
	color: var(--cpt-ink);
	font-weight: 600;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cpt-pdp {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}

.cpt-gallery {
	display: flex;
	gap: 14px;
	position: sticky;
	top: 24px;
}

.cpt-gallery__thumbs {
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 0 0 76px;
}

.cpt .cpt-gallery__thumb {
	width: 76px;
	height: 76px;
	padding: 0;
	border: 0;
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
	cursor: pointer;
	box-shadow: 0 0 0 1px rgba(29, 20, 51, .1);
	transition: box-shadow .2s;
}

.cpt .cpt-gallery__thumb.is-active {
	box-shadow: 0 0 0 2px var(--cpt-primary);
}

.cpt-gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.cpt-gallery__main {
	position: relative;
	flex: 1;
	min-width: 0;
	aspect-ratio: 1;
	background: #fff;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: var(--cpt-shadow);
}

.cpt-gallery__main a {
	display: flex;
	width: 100%;
	height: 100%;
	cursor: zoom-in;
}

.cpt-gallery__main img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.cpt-summary {
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
}

.cpt .cpt-summary__title {
	margin: 0;
	font-size: 30px;
	line-height: 1.25;
	font-weight: 800;
	text-wrap: pretty;
}

.cpt-summary__price {
	font-size: 36px;
	font-weight: 800;
	line-height: 1.1;
}

.cpt-prose__lead {
	margin-bottom: 1em;
}

.cpt-prose__lead p {
	margin: 0 0 6px;
}

.cpt .cpt-stars {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	font-weight: 600;
	color: var(--cpt-muted);
	margin-top: -6px;
}

.cpt-stars__bar {
	position: relative;
	display: inline-block;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 2px;
	color: #ddd6ef;
}

.cpt-stars__bar::before {
	content: "★★★★★";
}

.cpt-stars__bar::after {
	content: "★★★★★";
	position: absolute;
	left: 0;
	top: 0;
	width: var(--cpt-rating, 0%);
	overflow: hidden;
	color: var(--cpt-accent);
	white-space: nowrap;
}

.cpt-box {
	background: #fff;
	border-radius: 18px;
	padding: 16px 18px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	box-shadow: 0 0 0 1px var(--cpt-line);
}

.cpt-box__title {
	font-size: 14px;
	font-weight: 700;
}

.cpt-box .cpt-paybar__bold {
	min-height: 40px;
	flex: none;
}

/* Formulario de compra */
.cpt-buy {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.cpt .cpt-buy form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding: 0;
	border: 0;
}

.cpt .cpt-buy form.variations_form {
	flex-direction: column;
}

.cpt .cpt-buy .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.cpt .cpt-buy .quantity {
	display: flex;
	align-items: center;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 0 0 1px rgba(29, 20, 51, .12);
	height: 52px;
	margin: 0;
	flex: 0 0 auto;
}

.cpt .cpt-buy .quantity input.qty {
	width: 44px;
	height: 52px;
	border: 0;
	background: transparent;
	box-shadow: none;
	padding: 0;
	text-align: center;
	font: 700 16px Montserrat, sans-serif;
	color: var(--cpt-ink);
	-moz-appearance: textfield;
}

.cpt .cpt-buy .quantity input.qty::-webkit-outer-spin-button,
.cpt .cpt-buy .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.cpt .cpt-qty-btn {
	width: 44px;
	height: 52px;
	padding: 0;
	border: 0;
	background: transparent;
	font: 700 20px Montserrat, sans-serif;
	color: var(--cpt-primary);
	cursor: pointer;
}

.cpt .cpt-buy .single_add_to_cart_button,
.cpt .cpt-buy .cpt-buy-now {
	flex: 1 1 180px;
	height: 52px;
	border-radius: 14px;
	font-size: 15px;
	float: none;
	margin: 0;
	width: auto;
}

.cpt .cpt-buy table.variations,
.cpt .cpt-buy table.variations tbody,
.cpt .cpt-buy table.variations tr {
	display: block;
	width: 100%;
	border: 0;
	margin: 0;
	background: none;
}

.cpt .cpt-buy table.variations {
	margin-bottom: 4px;
}

.cpt .cpt-buy table.variations tr {
	margin-bottom: 10px;
}

.cpt .cpt-buy table.variations th,
.cpt .cpt-buy table.variations td {
	display: block;
	width: 100%;
	padding: 0 0 6px;
	border: 0;
	text-align: left;
	background: none;
	color: var(--cpt-ink);
}

.cpt .cpt-buy table.variations label {
	font-size: 14px;
	font-weight: 700;
	color: var(--cpt-ink);
	text-transform: none;
}

.cpt .cpt-buy table.variations select {
	width: 100%;
	height: 48px;
	border-radius: 12px;
	border: 0;
	box-shadow: 0 0 0 1px rgba(29, 20, 51, .15);
	padding: 0 14px;
	background-color: #fff;
	font: 500 15px Montserrat, sans-serif;
	color: var(--cpt-ink);
}

/* Con el selector de botones, el desplegable y el precio repetido de WooCommerce quedan ocultos. */
.cpt .cpt-pdp:has(.cpt-variants) .cpt-buy table.variations,
.cpt .cpt-pdp:has(.cpt-variants) .cpt-buy .reset_variations,
.cpt .cpt-pdp:has(.cpt-variants) .cpt-buy .woocommerce-variation-price,
.cpt .cpt-pdp:has(.cpt-variants) .cpt-buy .woocommerce-variation-description {
	display: none !important;
}

.cpt .cpt-buy .reset_variations {
	font-size: 13px;
	font-weight: 600;
}

.cpt .cpt-buy .woocommerce-variation-price {
	font-size: 22px;
	font-weight: 800;
	margin-bottom: 8px;
}

/* Selector de presentaciones */
.cpt-variants {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.cpt-variants__label {
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 8px;
}

.cpt-variants__label strong {
	font-weight: 700;
}

.cpt-variants__opts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.cpt .cpt-vopt {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	padding: 6px 14px;
	border: 0;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 0 0 1px rgba(29, 20, 51, .18);
	font: 600 14px Montserrat, sans-serif;
	color: var(--cpt-ink);
	text-align: left;
	cursor: pointer;
	transition: box-shadow .15s;
}

.cpt .cpt-vopt:hover {
	box-shadow: 0 0 0 1px var(--cpt-primary);
}

.cpt .cpt-vopt.is-active {
	box-shadow: 0 0 0 2px var(--cpt-primary);
	color: var(--cpt-primary);
}

.cpt .cpt-vopt img {
	width: 36px;
	height: 36px;
	object-fit: contain;
	border-radius: 6px;
	flex: none;
}

.cpt .stock {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--cpt-green);
	flex-basis: 100%;
}

.cpt .stock.out-of-stock {
	color: var(--cpt-red);
}

/* Botón del plugin OneClick WhatsApp Order: va debajo, a todo el ancho, y reemplaza al nuestro. */
.cpt .cpt-buy form.cart .wa-order-class {
	order: 10;
	flex: 1 1 100% !important;
	width: 100% !important;
	display: block;
	margin: 0;
}

.cpt .cpt-buy form.cart .wa-order-class .wa-order-button {
	width: 100%;
	height: 48px;
	margin: 0;
	border-radius: 14px;
	font: 700 14px Montserrat, sans-serif;
	text-transform: none;
}

.cpt-buy:has(.wa-order-class) .cpt-wa-link {
	display: none;
}

.cpt .cpt-wa-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 48px;
	border-radius: 14px;
	background: #e9fbf0;
	color: #128c4b;
	font-weight: 700;
	font-size: 14px;
}

.cpt .cpt-wa-link:hover {
	background: #d5f6e2;
	color: #0d6e3a;
}

.cpt-benefits {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 10px;
}

.cpt-benefit {
	padding: 14px 16px;
	font-size: 14px;
	line-height: 1.4;
}

.cpt .cpt-meta {
	border-top: 1px solid rgba(29, 20, 51, .1);
	padding-top: 18px;
	margin: 0;
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 10px 16px;
	font-size: 14px;
}

.cpt .cpt-meta dt {
	color: var(--cpt-muted);
	font-weight: 400;
	margin: 0;
}

.cpt .cpt-meta dd {
	font-weight: 600;
	margin: 0;
}

.cpt .cpt-meta dd a {
	color: var(--cpt-ink);
}

.cpt .cpt-meta dd a:hover {
	color: var(--cpt-primary);
}

/* Detalles (acordeón) */
.cpt-details {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.cpt-acc {
	background: #fff;
	border-radius: 18px;
	box-shadow: var(--cpt-shadow);
}

.cpt-acc > summary {
	list-style: none;
	cursor: pointer;
	padding: 20px 24px;
	font-size: 18px;
	font-weight: 800;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.cpt-acc > summary::-webkit-details-marker {
	display: none;
}

.cpt-acc > summary::after {
	content: "+";
	font-size: 26px;
	font-weight: 500;
	color: var(--cpt-primary);
	transition: transform .3s var(--cpt-ease);
}

.cpt-acc[open] > summary::after {
	transform: rotate(45deg);
}

.cpt-acc__body {
	padding: 0 24px 24px;
	font-size: 15px;
	line-height: 1.7;
	color: #3c3456;
}

.cpt-prose > *:first-child {
	margin-top: 0;
}

.cpt .cpt-acc__body p,
.cpt .cpt-acc__body li,
.cpt .cpt-acc__body td {
	color: inherit;
	font-size: inherit;
	font-weight: 400;
	line-height: inherit;
}

.cpt-prose h2,
.cpt-prose h3,
.cpt-prose h4 {
	font-size: 17px;
	font-weight: 800;
	margin: 1.4em 0 .5em;
}

.cpt-prose ul,
.cpt-prose ol {
	list-style: disc;
	padding-left: 1.3em;
	margin: 0 0 1em;
}

.cpt-prose img {
	border-radius: 14px;
}

.cpt .cpt-acc table.shop_attributes {
	width: 100%;
	border-collapse: collapse;
	border: 0;
	margin: 0;
}

.cpt .cpt-acc table.shop_attributes th,
.cpt .cpt-acc table.shop_attributes td {
	padding: 10px 0;
	border: 0;
	border-bottom: 1px solid var(--cpt-line);
	background: none;
	text-align: left;
	font-style: normal;
	vertical-align: top;
}

.cpt .cpt-acc table.shop_attributes th {
	width: 180px;
	color: var(--cpt-muted);
	font-weight: 500;
}

.cpt .cpt-acc table.shop_attributes p {
	margin: 0;
}

/* Opiniones */
.cpt #reviews h2,
.cpt #reviews .woocommerce-Reviews-title,
.cpt #reply-title {
	font-size: 16px;
	font-weight: 800;
	margin: 0 0 12px;
}

.cpt #reviews ol.commentlist {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.cpt #reviews ol.commentlist li {
	margin: 0;
	padding: 16px;
	background: var(--cpt-soft);
	border-radius: 14px;
}

.cpt #reviews ol.commentlist li .comment_container {
	display: flex;
	gap: 12px;
}

.cpt #reviews ol.commentlist li img.avatar {
	width: 40px;
	height: 40px;
	border-radius: 999px;
	position: static;
	float: none;
	border: 0;
	padding: 0;
}

.cpt #reviews .comment-text {
	flex: 1;
	margin: 0;
	padding: 0;
	border: 0;
}

.cpt #reviews .comment-text p {
	margin: 4px 0 0;
}

.cpt #reviews .star-rating {
	color: var(--cpt-accent);
}

.cpt #review_form input[type="text"],
.cpt #review_form input[type="email"],
.cpt #review_form textarea {
	width: 100%;
	border: 0;
	border-radius: 12px;
	box-shadow: 0 0 0 1px rgba(29, 20, 51, .15);
	padding: 12px 14px;
	font: 500 15px Montserrat, sans-serif;
	background: #fff;
}

.cpt #review_form .form-submit input[type="submit"],
.cpt #review_form #submit {
	background: var(--cpt-primary);
	color: #fff;
	border: 0;
	border-radius: 12px;
	height: 46px;
	padding: 0 24px;
	font: 700 14px Montserrat, sans-serif;
	cursor: pointer;
}

.cpt #review_form p.stars a {
	color: var(--cpt-accent);
}

/* Avisos WooCommerce */
.cpt .woocommerce-notices-wrapper:empty {
	display: none;
}

.cpt .woocommerce-message,
.cpt .woocommerce-error,
.cpt .woocommerce-info {
	list-style: none;
	margin: 0;
	padding: 14px 18px;
	border: 0;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 0 0 1px var(--cpt-line);
	font-size: 14px;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.cpt .woocommerce-message::before,
.cpt .woocommerce-error::before,
.cpt .woocommerce-info::before {
	display: none;
}

.cpt .woocommerce-message {
	background: #e9fbf0;
}

.cpt .woocommerce-error {
	background: #fdecec;
}

.cpt .woocommerce-message .button {
	order: 2;
	background: var(--cpt-primary);
	color: #fff;
	border-radius: 10px;
	padding: 8px 14px;
	font-size: 13px;
	font-weight: 700;
}

/* Footer */
.cpt-footer {
	margin-top: 56px;
	background: var(--cpt-footer);
	color: #fff;
}

.cpt-footer__grid {
	padding-top: 56px;
	padding-bottom: 32px;
	display: grid;
	grid-template-columns: 1.7fr repeat(3, 1fr);
	gap: 32px 48px;
}

@media (max-width: 900px) {
	.cpt-footer__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.cpt-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 560px) {
	.cpt-footer__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 28px 24px;
	}
}

.cpt-footer__brand {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.cpt-footer__brand p {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: #d9d0f2;
}

.cpt-footer__logo {
	background: #fff;
	border-radius: 14px;
	padding: 10px 14px;
	align-self: flex-start;
}

.cpt-footer__logo img {
	height: 36px;
	width: auto;
	display: block;
}

.cpt-footer__social {
	display: flex;
	gap: 14px;
	font-size: 14px;
	font-weight: 600;
}

.cpt .cpt-footer a {
	color: #c9b3ff;
}

.cpt .cpt-footer a:hover {
	color: #fff;
}

.cpt .cpt-footer__col h2 {
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	margin: 0 0 16px;
}

.cpt .cpt-footer__list {
	display: flex;
	flex-direction: column;
	gap: 11px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
}

.cpt .cpt-footer__list li {
	margin: 0;
	padding: 0;
	line-height: 1.4;
}

.cpt .cpt-footer__list a {
	color: #fff;
}

.cpt .cpt-footer__list a:hover {
	color: #c9b3ff;
}

.cpt-footer__rating {
	margin-top: 18px;
	display: flex;
	align-items: baseline;
	gap: 8px;
	flex-wrap: wrap;
	font-size: 14px;
	color: #d9d0f2;
}

.cpt-footer__rating strong {
	font-size: 30px;
	font-weight: 800;
	color: var(--cpt-accent);
}

.cpt-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, .12);
	text-align: center;
	font-size: 13px;
	color: #b8acd8;
	padding: 18px;
}

.cpt .cpt-wa-float {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 90;
	width: 58px;
	height: 58px;
	border-radius: 999px;
	background: #25d366;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 28px rgba(37, 211, 102, .4);
	transition: transform .25s var(--cpt-ease);
}

.cpt .cpt-wa-float:hover {
	transform: translateY(-3px) scale(1.04);
	color: #fff;
}

.cpt .cpt-prose ul.cpt-specs {
	list-style: none;
	padding: 0;
	display: grid;
	gap: 8px;
}

.cpt .cpt-specs li {
	position: relative;
	padding-left: 26px;
}

.cpt .cpt-specs li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .45em;
	width: 14px;
	height: 8px;
	border-left: 2px solid var(--cpt-green);
	border-bottom: 2px solid var(--cpt-green);
	transform: rotate(-45deg);
}

/* Tienda, categorías y búsqueda */
.cpt-archive__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: -16px;
}

.cpt .cpt-archive__title {
	margin: 0;
	font-size: 32px;
	line-height: 1.2;
	font-weight: 800;
}

.cpt .cpt-archive__count {
	margin: 6px 0 0;
	color: var(--cpt-muted);
	font-size: 14px;
	font-weight: 500;
}

.cpt-sort {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--cpt-muted);
	white-space: nowrap;
}

.cpt .cpt-sort select {
	height: 44px;
	min-width: 210px;
	padding: 0 40px 0 16px;
	border: 0;
	border-radius: 12px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%236a1fd1' stroke-width='2'%3E%3Cpath d='m1 1 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 16px center;
	box-shadow: var(--cpt-shadow), 0 0 0 1px var(--cpt-line);
	font: 600 14px Montserrat, sans-serif;
	color: var(--cpt-ink);
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}

.cpt-chips {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: -16px;
}

.cpt .cpt-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 0 16px;
	border-radius: 999px;
	background: #fff;
	color: var(--cpt-ink);
	font-size: 14px;
	font-weight: 600;
	box-shadow: 0 0 0 1px var(--cpt-line);
	transition: background-color .2s, color .2s, box-shadow .2s;
}

.cpt .cpt-chip span {
	min-width: 22px;
	padding: 1px 7px;
	border-radius: 999px;
	background: var(--cpt-tint);
	color: var(--cpt-primary);
	font-size: 12px;
	font-weight: 700;
	text-align: center;
}

.cpt .cpt-chip:hover {
	color: var(--cpt-primary);
	box-shadow: 0 0 0 1px rgba(106, 31, 209, .35);
}

.cpt .cpt-chip.is-active {
	background: var(--cpt-primary);
	color: #fff;
	box-shadow: none;
}

.cpt .cpt-chip.is-active span {
	background: rgba(255, 255, 255, .2);
	color: #fff;
}

.cpt .cpt-chip--up {
	background: var(--cpt-tint);
	color: var(--cpt-primary);
	box-shadow: none;
}

.cpt-grid--archive {
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
}

.cpt-pager {
	display: flex;
	justify-content: center;
	gap: 6px;
	flex-wrap: wrap;
	margin-bottom: -28px;
}

.cpt .cpt-pager .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border-radius: 12px;
	background: #fff;
	color: var(--cpt-ink);
	font-size: 14px;
	font-weight: 700;
	box-shadow: var(--cpt-shadow);
}

.cpt .cpt-pager a.page-numbers:hover {
	color: var(--cpt-primary);
}

.cpt .cpt-pager .page-numbers.current {
	background: var(--cpt-primary);
	color: #fff;
}

.cpt .cpt-pager .page-numbers.dots {
	background: transparent;
	box-shadow: none;
}

.cpt .cpt-pager__info {
	margin: 0;
	text-align: center;
	color: var(--cpt-muted);
	font-size: 13px;
}

.cpt-empty {
	background: #fff;
	border-radius: 24px;
	padding: 48px 24px;
	text-align: center;
	box-shadow: var(--cpt-shadow);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

.cpt .cpt-empty p {
	margin: 0;
	color: var(--cpt-muted);
}


/* Menú principal desplegable */
.cpt .cpt-nav {
	overflow: visible;
}

.cpt .cpt-nav__list.cpt-mega {
	justify-content: center;
	flex-wrap: wrap;
}

.cpt-mega__item {
	position: static;
}

.cpt .cpt-mega__item.has-sub > a::after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-left: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-3px) rotate(45deg);
	opacity: .55;
}

.cpt-mega__panel {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	z-index: 30;
	background: #fff;
	box-shadow: 0 24px 40px rgba(29, 20, 51, .12);
	border-top: 1px solid var(--cpt-line);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .2s, transform .2s var(--cpt-ease), visibility 0s .2s;
}

.cpt-mega__item:hover > .cpt-mega__panel,
.cpt-mega__item:focus-within > .cpt-mega__panel {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity .2s, transform .2s var(--cpt-ease);
}

.cpt-mega__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	align-items: start;
	gap: 8px 36px;
	padding-top: 28px;
	padding-bottom: 24px;
	max-height: calc(100vh - 190px);
	overflow-y: auto;
	white-space: normal;
}

.cpt .cpt-mega__col {
	break-inside: avoid;
	page-break-inside: avoid;
	margin: 0 0 22px;
	text-align: left;
}

.cpt .cpt-mega__cat {
	display: block;
	padding: 0 0 10px !important;
	border: 0;
	color: var(--cpt-ink);
	font-size: 15px;
	font-weight: 800;
}

.cpt .cpt-mega__col ul {
	display: grid;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cpt .cpt-mega__col li a {
	display: block;
	padding: 0 !important;
	border: 0;
	color: var(--cpt-muted);
	font-size: 14px;
	font-weight: 500;
}

.cpt .cpt-mega__cat:hover,
.cpt .cpt-mega__col li a:hover {
	color: var(--cpt-primary);
}

.cpt .cpt-mega__all {
	column-span: all;
	grid-column: 1 / -1;
	display: block;
	margin-top: 4px;
	padding-top: 14px !important;
	border-top: 1px solid var(--cpt-line) !important;
	padding: 0;
	border: 0;
	font-size: 14px;
	font-weight: 700;
	color: var(--cpt-primary);
}

.cpt .cpt-mega__col ul.cpt-mega__sub {
	display: grid;
	gap: 9px;
	margin: 9px 0 6px 4px;
	padding: 2px 0 2px 14px;
	border-left: 2px solid var(--cpt-primary);
	list-style: none;
}

.cpt .cpt-mega__col li:has(> .cpt-mega__sub) > a {
	color: var(--cpt-ink);
	font-weight: 600;
}

.cpt .cpt-mega__sub li a {
	font-size: 13px;
}

/* Botón y panel del menú en celular */
.cpt .cpt-burger {
	display: none;
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 12px;
	background: var(--cpt-tint);
	color: var(--cpt-primary);
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.cpt-mnav[hidden] {
	display: none;
}

.cpt-mnav {
	position: fixed;
	inset: 0;
	z-index: 1000;
}

.cpt-mnav__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(29, 20, 51, .45);
}

.cpt-mnav__panel {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: min(340px, 88vw);
	background: #fff;
	overflow-y: auto;
	padding: 0 16px 24px;
	box-shadow: 0 0 40px rgba(29, 20, 51, .2);
}

.cpt-mnav__head {
	position: sticky;
	top: 0;
	background: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 0;
	font-size: 18px;
	z-index: 1;
}

.cpt .cpt-mnav__head button {
	min-height: 0;
	padding: 6px;
	border: 0;
	background: none;
	color: var(--cpt-ink);
	cursor: pointer;
}

/* Lista de categorías desplegable (barra lateral y menú del celular) */
.cpt .cpt-tree {
	display: grid;
	gap: 2px;
}

.cpt .cpt-tree--d1,
.cpt .cpt-tree--d2 {
	margin: 2px 0 6px 12px;
	padding-left: 10px;
	border-left: 2px solid var(--cpt-tint);
}

.cpt .cpt-tree a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	border-radius: 10px;
	color: var(--cpt-ink);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

.cpt .cpt-tree--d1 a,
.cpt .cpt-tree--d2 a {
	font-weight: 500;
	color: #3c3456;
}

.cpt .cpt-tree a span {
	flex: 0 0 auto;
	color: var(--cpt-muted);
	font-size: 12px;
	font-weight: 600;
}

.cpt .cpt-tree a:hover {
	background: var(--cpt-soft);
	color: var(--cpt-primary);
}

.cpt .cpt-tree a.is-active {
	background: var(--cpt-tint);
	color: var(--cpt-primary);
	font-weight: 700;
}

.cpt-tree summary {
	list-style: none;
	position: relative;
	cursor: pointer;
}

.cpt-tree summary::-webkit-details-marker {
	display: none;
}

.cpt .cpt-tree summary > a {
	padding-right: 34px;
}

.cpt-tree summary::after {
	content: "";
	position: absolute;
	right: 12px;
	top: 50%;
	width: 7px;
	height: 7px;
	border-right: 2px solid var(--cpt-primary);
	border-bottom: 2px solid var(--cpt-primary);
	transform: translateY(-70%) rotate(45deg);
	transition: transform .2s;
	pointer-events: none;
}

.cpt-tree details[open] > summary::after {
	transform: translateY(-30%) rotate(-135deg);
}

.cpt .cpt-tree .cpt-tree__all {
	display: block;
	margin: 2px 0 2px 12px;
	padding: 6px 10px;
	font-size: 13px;
	font-weight: 700;
	color: var(--cpt-primary);
}

.cpt .cpt-tree .cpt-tree__all.is-active {
	background: var(--cpt-tint);
	border-radius: 10px;
}

/* Tienda: barra lateral */
.cpt-shop {
	display: grid;
	grid-template-columns: 270px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

.cpt-shop__main {
	display: flex;
	flex-direction: column;
	gap: 32px;
	min-width: 0;
}

.cpt-side {
	position: sticky;
	top: 16px;
}

.cpt-side__box {
	background: #fff;
	border-radius: 20px;
	padding: 8px 10px 12px;
	box-shadow: var(--cpt-shadow);
}

.cpt-side__box > summary {
	list-style: none;
	padding: 12px 10px;
	font-size: 16px;
	font-weight: 800;
	pointer-events: none;
}

.cpt-side__box > summary::-webkit-details-marker {
	display: none;
}

.cpt-grid--archive {
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

/* Header y footer dentro de páginas de WoodMart (carrito, pago, mi cuenta, blog…) */
.cpt.cpt-chrome {
	min-height: 0;
	display: block;
	background: transparent;
}

body.cpt-chrome-page .wd-toolbar,
body.cpt-chrome-page .whb-clone {
	display: none !important;
}

body.cpt-chrome-page {
	padding-bottom: 0 !important;
}

body.cpt-chrome-page .main-page-wrapper {
	font-family: Montserrat, system-ui, -apple-system, "Segoe UI", sans-serif;
	color: #3c3456;
}

body.cpt-chrome-page .main-page-wrapper :is(h1, h2, h3, h4, .title, .entry-title) {
	font-family: Montserrat, system-ui, -apple-system, "Segoe UI", sans-serif;
	color: #1d1433;
	letter-spacing: 0;
}

/* Responsive */
@media (max-width: 1024px) {
	.cpt .cpt-burger {
		display: inline-flex;
	}

	.cpt .cpt-nav {
		display: none;
	}

	.cpt-shop {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.cpt-side {
		position: static;
	}

	.cpt-side__box > summary {
		pointer-events: auto;
		cursor: pointer;
		display: flex;
		justify-content: space-between;
	}

	.cpt-side__box > summary::after {
		content: "+";
		color: var(--cpt-primary);
		font-size: 22px;
		line-height: 1;
	}

	.cpt-side__box[open] > summary::after {
		content: "−";
	}

	.cpt-header__row {
		flex-wrap: wrap;
		gap: 14px 20px;
	}

	.cpt-search {
		order: 3;
		flex-basis: 100%;
	}

	.cpt-header__actions {
		margin-left: auto;
	}

	.cpt-pdp {
		grid-template-columns: minmax(0, 1fr);
	}

	.cpt-gallery {
		position: static;
	}
}

@media (max-width: 760px) {
	.cpt-wrap {
		padding-left: 16px;
		padding-right: 16px;
	}

	.cpt-main {
		gap: 32px;
		padding-top: 16px;
	}

	.cpt-topbar {
		gap: 4px 16px;
		font-size: 12px;
		padding: 8px 12px;
	}

	.cpt-topbar__sub {
		display: none;
	}

	.cpt-header__row {
		padding-top: 12px;
		padding-bottom: 12px;
	}

	.cpt-header__logo img {
		height: 34px;
	}

	.cpt-header__actions {
		gap: 14px;
	}

	.cpt-header__link span {
		display: none;
	}

	.cpt .cpt-cart {
		padding: 8px 12px;
	}

	.cpt-cart__total {
		display: none;
	}

	.cpt-header__logo {
		flex-shrink: 1;
		min-width: 0;
	}

	.cpt-search {
		height: 46px;
	}

	.cpt .cpt-search button {
		padding: 0 16px;
	}

	.cpt .cpt-nav__list a {
		padding: 10px 12px;
	}

	.cpt-hero {
		border-radius: 20px;
	}

	.cpt-hero__slide {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
		padding: 24px 24px 52px;
		gap: 8px;
	}

	.cpt-hero__media {
		order: -1;
		height: 190px;
	}

	.cpt-hero__media img {
		max-height: 190px;
	}

	.cpt .cpt-hero__title {
		font-size: 21px;
	}

	.cpt-hero__price {
		font-size: 22px;
	}

	.cpt .cpt-hero__arrow {
		display: none;
	}

	.cpt-paybar {
		padding: 14px 16px;
		gap: 12px;
	}

	.cpt-paybar__perks {
		width: 100%;
	}

	.cpt-paybar__perks {
		flex-direction: column;
	}

	.cpt .cpt-h2 {
		font-size: 21px;
	}

	.cpt-cats {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 10px;
	}

	.cpt .cpt-cat {
		width: auto;
		padding: 12px 8px;
	}

	.cpt-cat__img {
		width: 72px;
		height: 72px;
	}

	.cpt-cat__name {
		font-size: 12px;
	}

	.cpt-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.cpt-card {
		padding: 10px;
		border-radius: 16px;
	}

	.cpt-card__badge {
		top: 16px;
		left: 16px;
	}

	.cpt-card__price {
		font-size: 16px;
	}

	.cpt .cpt-card .cpt-btn {
		padding: 0 10px;
		font-size: 13px;
	}

	.cpt-crumbs {
		margin-bottom: -20px;
	}

	.cpt-gallery {
		flex-direction: column-reverse;
	}

	.cpt-gallery__thumbs {
		flex-direction: row;
		flex: none;
		overflow-x: auto;
	}

	.cpt .cpt-gallery__thumb {
		flex: 0 0 64px;
		width: 64px;
		height: 64px;
	}

	.cpt-gallery__main {
		border-radius: 20px;
	}

	.cpt .cpt-summary__title {
		font-size: 23px;
	}

	.cpt-summary__price {
		font-size: 28px;
	}

	.cpt .cpt-meta {
		grid-template-columns: 110px 1fr;
	}

	.cpt-acc > summary {
		padding: 16px 18px;
		font-size: 16px;
	}

	.cpt-acc__body {
		padding: 0 18px 18px;
	}

	.cpt .cpt-archive__title {
		font-size: 24px;
	}

	.cpt-sort {
		width: 100%;
	}

	.cpt .cpt-sort select {
		flex: 1;
		min-width: 0;
	}

	.cpt-chips {
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		margin-left: -16px;
		margin-right: -16px;
		padding: 2px 16px;
	}

	.cpt-chips::-webkit-scrollbar {
		display: none;
	}

	.cpt .cpt-chip {
		flex: 0 0 auto;
		min-height: 36px;
		padding: 0 14px;
		font-size: 13px;
	}

	.cpt-grid--archive {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cpt .cpt-pager .page-numbers {
		min-width: 40px;
		height: 40px;
		padding: 0 10px;
	}

	.cpt .cpt-wa-float {
		width: 52px;
		height: 52px;
		right: 14px;
		bottom: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cpt *,
	.cpt *::before,
	.cpt *::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
	}
}

/* Información del suplemento (tabla de datos) */
.cpt .cpt-facts {
	width: 100%;
	max-width: 560px;
	border-collapse: collapse;
	font-size: 14px;
	border: 2px solid var(--cpt-ink);
}

.cpt .cpt-facts th,
.cpt .cpt-facts td {
	padding: 7px 10px;
	border-bottom: 1px solid var(--cpt-line);
	text-align: left;
	vertical-align: top;
}

.cpt .cpt-facts th {
	font-weight: 600;
	background: var(--cpt-soft);
}

.cpt .cpt-facts td:not(:first-child) {
	text-align: right;
	white-space: nowrap;
}

/* Fila de títulos de columna (primera celda vacía): puede partirse en dos líneas para no desbordar en celular. */
.cpt .cpt-facts tr:has(> td:first-child:empty) td {
	white-space: normal;
}

/* Si una tabla muy ancha aún no cabe, se desliza dentro del acordeón en lugar de cortarse. */
.cpt #info-suplemento .cpt-acc__body {
	overflow-x: auto;
}

@media (max-width: 600px) {
	.cpt .cpt-facts {
		font-size: 13px;
	}

	.cpt .cpt-facts th,
	.cpt .cpt-facts td {
		padding: 6px 7px;
	}

	/* Valores largos como "850 mcg EDF (500 mcg de ácido fólico)" se parten en lugar de ensanchar la tabla. */
	.cpt .cpt-facts td:not(:first-child) {
		white-space: normal;
		min-width: 64px;
	}

	/* Tablas de 4 o más columnas (valores por edad, etc.) no caben: se deslizan con el nombre del nutriente fijo y un aviso. */
	.cpt #info-suplemento .cpt-acc__body:has(.cpt-facts td:nth-child(4))::before {
		content: "Desliza la tabla hacia los lados para verla completa →";
		display: block;
		position: sticky;
		left: 0;
		margin: 0 0 8px;
		font-size: 12px;
		color: var(--cpt-muted);
	}

	.cpt .cpt-facts:has(td:nth-child(4)) td:first-child {
		position: sticky;
		left: 0;
		z-index: 1;
		min-width: 110px;
		background: #fff;
		box-shadow: 1px 0 0 var(--cpt-line);
	}
}

/* Aviso en productos de suplementos */
.cpt .cpt-notice {
	margin: 18px 0 6px;
	padding: 16px 18px;
	border-left: 4px solid var(--cpt-primary);
	border-radius: 12px;
	background: var(--cpt-tint);
	color: var(--cpt-ink);
	font-size: 14px;
	line-height: 1.6;
}

.cpt .cpt-notice strong {
	display: block;
	margin-bottom: 6px;
	font-size: 15px;
}

.cpt .cpt-notice p {
	margin: 0 0 6px;
}

.cpt .cpt-notice p:last-child {
	margin-bottom: 0;
	color: var(--cpt-muted);
}

/* Aviso de pedidos por encargo */
.cpt .cpt-orderbar {
	background: var(--cpt-tint);
	border-bottom: 1px solid var(--cpt-line);
}

.cpt .cpt-orderbar__in {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-top: 12px;
	padding-bottom: 12px;
}

.cpt .cpt-orderbar__icon {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff;
	color: var(--cpt-primary);
}

.cpt .cpt-orderbar__txt {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	display: grid;
	gap: 1px;
}

.cpt .cpt-orderbar__txt strong {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--cpt-ink);
}

.cpt .cpt-orderbar__txt span {
	font-size: 13px;
	line-height: 1.4;
	color: var(--cpt-muted);
}

.cpt .cpt-orderbar__btn {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 18px;
	border-radius: 999px;
	background: #25d366;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
	color: #073b1d;
	transition: transform .2s var(--cpt-ease), box-shadow .2s;
}

.cpt .cpt-orderbar__btn:hover {
	color: #073b1d;
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(37, 211, 102, .35);
}

@media (max-width: 720px) {
	.cpt .cpt-orderbar__in {
		flex-wrap: wrap;
		gap: 10px 12px;
	}

	.cpt .cpt-orderbar__icon {
		display: none;
	}

	.cpt .cpt-orderbar__txt {
		flex-basis: 100%;
	}

	.cpt .cpt-orderbar__btn {
		width: 100%;
		justify-content: center;
	}
}

.cpt .cpt-orderbar__btn,
.cpt .cpt-orderbar__btn:hover,
.cpt .cpt-orderbar__btn:focus {
	background: #128c4a;
	color: #fff;
}

.cpt .cpt-orderbar__btn:hover {
	background: #0f7a40;
	box-shadow: 0 6px 16px rgba(18, 140, 74, .35);
}

@media (max-width: 720px) {
	.cpt .cpt-orderbar__in {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 10px;
	}

	.cpt .cpt-orderbar__txt {
		flex-basis: auto;
		justify-items: center;
	}

	.cpt .cpt-orderbar__btn {
		width: auto;
		align-self: center;
		justify-content: center;
		padding: 8px 18px;
		font-size: 13px;
	}
}

/* Páginas de texto: Sobre nosotros, Contacto, Devoluciones y Privacidad */
.cpt .cpt-docpage {
	gap: 18px;
	padding-bottom: 56px;
}

.cpt .cpt-doc {
	width: 100%;
	max-width: 860px;
	margin: 0 auto;
	padding: 44px 52px 52px;
	border-radius: 22px;
	background: #fff;
	box-shadow: var(--cpt-shadow);
}

.cpt .cpt-doc__head {
	margin: 0 0 28px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--cpt-line);
	text-align: center;
}

.cpt .cpt-doc__title {
	margin: 0;
	font-size: clamp(26px, 4vw, 36px);
	font-weight: 800;
	line-height: 1.2;
	text-transform: none;
}

.cpt .cpt-doc__body {
	font-size: 16px;
	line-height: 1.8;
	color: #3c3456;
}

.cpt .cpt-doc__body > :first-child {
	margin-top: 0;
}

.cpt .cpt-doc__body p {
	margin: 0 0 16px;
}

.cpt .cpt-doc__body h2,
.cpt .cpt-doc__body h3,
.cpt .cpt-doc__body h4 {
	margin: 34px 0 12px;
	line-height: 1.3;
	text-transform: none;
	letter-spacing: 0;
	color: var(--cpt-ink);
}

.cpt .cpt-doc__body h2 {
	padding-bottom: 8px;
	border-bottom: 2px solid var(--cpt-tint);
	font-size: 22px;
	font-weight: 800;
}

.cpt .cpt-doc__body h3 {
	font-size: 18px;
	font-weight: 700;
}

.cpt .cpt-doc__body strong {
	color: var(--cpt-ink);
}

.cpt .cpt-doc__body ul,
.cpt .cpt-doc__body ol {
	margin: 0 0 18px;
	padding: 0 0 0 4px;
	list-style: none;
}

.cpt .cpt-doc__body ul li {
	position: relative;
	margin: 0 0 8px;
	padding-left: 26px;
}

.cpt .cpt-doc__body ul li::before {
	content: "";
	position: absolute;
	left: 6px;
	top: .72em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--cpt-primary);
}

.cpt .cpt-doc__body ol {
	counter-reset: cpt-doc;
}

.cpt .cpt-doc__body ol li {
	position: relative;
	margin: 0 0 8px;
	padding-left: 36px;
	counter-increment: cpt-doc;
}

.cpt .cpt-doc__body ol li::before {
	content: counter(cpt-doc);
	position: absolute;
	left: 0;
	top: .25em;
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--cpt-tint);
	font-size: 12px;
	font-weight: 800;
	color: var(--cpt-primary);
}

.cpt .cpt-doc__body hr {
	margin: 26px 0 0;
	border: 0;
	border-top: 1px solid var(--cpt-line);
}

.cpt .cpt-doc__body a {
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 720px) {
	.cpt .cpt-doc {
		padding: 28px 20px 34px;
		border-radius: 18px;
	}

	.cpt .cpt-doc__body {
		font-size: 15px;
		line-height: 1.75;
	}

	.cpt .cpt-doc__body h2 {
		font-size: 19px;
	}
}

.cpt .cpt-footer__credit a {
	color: #d9c9ff;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cpt .cpt-footer__credit a:hover {
	color: #fff;
}

.cpt-discontinued {
	font-size: 16px;
	font-weight: 700;
	color: var(--cpt-red);
}

.cpt-acc[hidden] {
	display: none;
}

/* Menú: las columnas con muchas categorías se reparten en varias columnas hacia el lado, para que el menú no crezca hacia abajo. */
@media (min-width: 1000px) {
	.cpt .cpt-mega__col:has(> ul > li:nth-child(6)) {
		grid-column: span 3;
	}

	.cpt .cpt-mega__col:has(> ul > li:nth-child(6)) > ul {
		display: block;
		column-count: 3;
		column-gap: 36px;
	}

	.cpt .cpt-mega__col:has(> ul > li:nth-child(6)) > ul > li {
		break-inside: avoid;
		margin-bottom: 12px;
	}
}

/* ===== Banners de promoción en el Home (includes/promos.php) ===== */
.cpt-pbn-host { container-type: inline-size; }
.cpt .cpt-pbn {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	align-items: center;
	gap: 24px;
	min-height: 400px;
	padding: 44px 56px;
	border-radius: 24px;
	color: #fff;
}
.cpt .cpt-pbn__eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	margin: 0 0 14px; padding: 6px 12px; border-radius: 999px;
	font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
}
.cpt .cpt-pbn__title { margin: 0; color: #fff; font-size: 64px; line-height: .95; font-weight: 900; letter-spacing: -.02em; }
.cpt .cpt-pbn__sub { margin: 14px 0 0; max-width: 460px; color: rgba(255, 255, 255, .9); font-size: 17px; line-height: 1.45; font-weight: 500; }
.cpt .cpt-pbn__sub strong { color: #fff; font-weight: 800; }
.cpt .cpt-pbn__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 24px 0 0; }
.cpt .cpt-pbn__btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 52px; padding: 0 28px; border-radius: 999px;
	font-size: 16px; font-weight: 800; text-decoration: none; transition: transform .2s var(--cpt-ease);
}
.cpt .cpt-pbn__btn:hover { transform: translateY(-2px); }
.cpt .cpt-pbn__small { font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, .8); font-variant-numeric: tabular-nums; }

.cpt .cpt-pbn__tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; max-width: 520px; margin: 22px 0 0; }
.cpt .cpt-pbn__tier { padding: 12px 12px 13px; border-radius: 16px; text-align: center; }
.cpt .cpt-pbn__qty { display: block; font-size: 12px; font-weight: 700; opacity: .8; }
.cpt .cpt-pbn__off { display: block; margin: 2px 0 0; font-size: 20px; font-weight: 900; line-height: 1.1; white-space: nowrap; }
.cpt .cpt-pbn__extra { display: block; margin: 4px 0 0; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }

.cpt .cpt-pbn__media { position: relative; height: 320px; }
.cpt .cpt-pbn__card {
	position: absolute; display: grid; place-items: center;
	width: 46%; aspect-ratio: 1; padding: 14px; border-radius: 22px; background: #fff;
	box-shadow: 0 24px 50px rgba(0, 0, 0, .35);
}
.cpt .cpt-pbn__card img { width: 100%; height: 100%; object-fit: contain; }
.cpt .cpt-pbn__card:nth-child(1) { left: 4%; top: 12%; transform: rotate(-6deg); z-index: 2; }
.cpt .cpt-pbn__card:nth-child(2) { left: 30%; top: 0; width: 50%; transform: rotate(3deg); z-index: 3; }
.cpt .cpt-pbn__card:nth-child(3) { left: 54%; top: 22%; transform: rotate(8deg); z-index: 1; }
.cpt .cpt-pbn__badge {
	position: absolute; z-index: 5; right: 2%; bottom: 2%;
	display: grid; place-items: center; width: 118px; aspect-ratio: 1; border-radius: 50%;
	text-align: center; line-height: 1; font-weight: 900; transform: rotate(-10deg);
}
.cpt .cpt-pbn__badge small { display: block; font-size: 11px; font-weight: 800; }
.cpt .cpt-pbn__badge b { display: block; font-size: 23px; white-space: nowrap; }

.cpt .cpt-pbn__count { display: flex; gap: 10px; margin: 22px 0 0; }
.cpt .cpt-pbn__count > div { min-width: 74px; padding: 10px 6px 8px; border-radius: 14px; text-align: center; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .12); }
.cpt .cpt-pbn__count span { display: block; font-size: 34px; font-weight: 900; line-height: 1; font-variant-numeric: tabular-nums; }
.cpt .cpt-pbn__count small { display: block; margin: 4px 0 0; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; opacity: .75; }

/* Antesala */
.cpt .cpt-pbn--teaser { background: radial-gradient(120% 140% at 85% 20%, #3b1580 0%, #160a2e 55%, #0d0620 100%); }
.cpt .cpt-pbn--teaser .cpt-pbn__eyebrow { background: rgba(252, 188, 14, .14); color: var(--cpt-accent); }
.cpt .cpt-pbn--teaser .cpt-pbn__title span { color: var(--cpt-accent); }
.cpt .cpt-pbn--teaser .cpt-pbn__btn { background: var(--cpt-accent); color: var(--cpt-ink); }
.cpt .cpt-pbn__art { position: relative; height: 320px; display: grid; place-items: center; }
.cpt .cpt-pbn__tag {
	position: relative; width: 250px; padding: 34px 26px 30px; border-radius: 28px;
	background: linear-gradient(160deg, #7b2ff0, #4a11a8); text-align: center;
	box-shadow: 0 30px 70px rgba(106, 31, 209, .55); transform: rotate(-7deg);
}
.cpt .cpt-pbn__tag::before { content: ""; position: absolute; top: 18px; left: 50%; width: 18px; height: 18px; margin-left: -9px; border-radius: 50%; background: #160a2e; }
.cpt .cpt-pbn__tag small { display: block; margin: 14px 0 0; font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; opacity: .85; }
.cpt .cpt-pbn__tag b { display: block; margin: 6px 0 0; font-size: 46px; font-weight: 900; line-height: 1; color: var(--cpt-accent); white-space: nowrap; }
.cpt .cpt-pbn__tag span { display: block; margin: 6px 0 0; font-size: 14px; font-weight: 700; }
.cpt .cpt-pbn__spark { position: absolute; border-radius: 50%; background: var(--cpt-accent); }
.cpt .cpt-pbn__spark:nth-child(1) { width: 10px; height: 10px; top: 18%; left: 16%; }
.cpt .cpt-pbn__spark:nth-child(2) { width: 6px; height: 6px; bottom: 20%; left: 26%; background: #fff; }
.cpt .cpt-pbn__spark:nth-child(3) { width: 14px; height: 14px; top: 12%; right: 14%; background: #b78bff; }
.cpt .cpt-pbn__spark:nth-child(4) { width: 8px; height: 8px; bottom: 14%; right: 20%; }

/* Black Friday */
.cpt .cpt-pbn--black { background: #0b0a10; }
.cpt .cpt-pbn--black::before {
	content: ""; position: absolute; z-index: -1; inset: -40% -10% auto auto; width: 70%; aspect-ratio: 1; border-radius: 50%;
	background: radial-gradient(circle, rgba(106, 31, 209, .65), transparent 65%);
}
.cpt .cpt-pbn--black .cpt-pbn__eyebrow { background: var(--cpt-accent); color: var(--cpt-ink); }
.cpt .cpt-pbn--black .cpt-pbn__title span { display: block; color: transparent; -webkit-text-stroke: 2px #fff; }
.cpt .cpt-pbn--black .cpt-pbn__tier { background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .12); }
.cpt .cpt-pbn--black .cpt-pbn__tier.is-hl { background: var(--cpt-accent); border-color: var(--cpt-accent); color: var(--cpt-ink); }
.cpt .cpt-pbn--black .cpt-pbn__btn { background: #fff; color: var(--cpt-ink); }
.cpt .cpt-pbn--black .cpt-pbn__badge { background: var(--cpt-accent); color: var(--cpt-ink); }

/* Cyber Monday */
.cpt .cpt-pbn--cyber { background: linear-gradient(125deg, #2a0b6b 0%, #5a17c4 48%, #1b6fd6 100%); }
.cpt .cpt-pbn--cyber::after {
	content: ""; position: absolute; z-index: -1; inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
	background-size: 32px 32px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 60%);
	mask-image: linear-gradient(90deg, transparent, #000 60%);
}
.cpt .cpt-pbn--cyber .cpt-pbn__eyebrow { background: rgba(46, 230, 214, .16); color: #2ee6d6; }
.cpt .cpt-pbn--cyber .cpt-pbn__title span { color: #2ee6d6; }
.cpt .cpt-pbn--cyber .cpt-pbn__tier { background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .18); }
.cpt .cpt-pbn--cyber .cpt-pbn__tier.is-hl { background: #2ee6d6; border-color: #2ee6d6; color: #0b2a4a; }
.cpt .cpt-pbn--cyber .cpt-pbn__btn { background: #2ee6d6; color: #0b2a4a; }
.cpt .cpt-pbn__brands { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; }
.cpt .cpt-pbn__brands span { padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .12); font-size: 13px; font-weight: 700; }
.cpt .cpt-pbn__combo { position: relative; height: 320px; display: grid; place-items: center; }
.cpt .cpt-pbn__combo-box {
	width: 92%; padding: 18px 18px 16px; border-radius: 26px;
	background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .22);
	box-shadow: 0 30px 60px rgba(10, 4, 40, .45);
}
.cpt .cpt-pbn__combo-brand { margin: 0 0 12px; color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cpt .cpt-pbn__combo-items { display: flex; align-items: center; gap: 8px; }
.cpt .cpt-pbn__combo-items > div { flex: 1 1 0; aspect-ratio: 1; padding: 10px; border-radius: 16px; background: #fff; }
.cpt .cpt-pbn__combo-items img { width: 100%; height: 100%; object-fit: contain; }
.cpt .cpt-pbn__combo-items > span { flex: 0 0 auto; font-size: 22px; font-weight: 900; color: #2ee6d6; }
.cpt .cpt-pbn__combo-total { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 14px 0 0; font-weight: 800; }
.cpt .cpt-pbn__combo-total b { flex: 0 0 auto; white-space: nowrap; padding: 6px 12px; border-radius: 999px; background: #2ee6d6; color: #0b2a4a; font-size: 15px; }

/* Celular */
@container (max-width: 640px) {
	.cpt .cpt-pbn { grid-template-columns: minmax(0, 1fr); min-height: 0; gap: 4px; padding: 26px 22px 28px; border-radius: 20px; }
	.cpt .cpt-pbn__media, .cpt .cpt-pbn__art { order: -1; height: 200px; }
	.cpt .cpt-pbn__combo { order: -1; height: auto; margin: 0 0 18px; }
	.cpt .cpt-pbn__combo-box { width: 100%; padding: 14px; }
	.cpt .cpt-pbn__title { font-size: 40px; }
	.cpt .cpt-pbn__sub { font-size: 15px; }
	.cpt .cpt-pbn__btn { width: 100%; }
	.cpt .cpt-pbn__ctas { margin-top: 20px; }
	.cpt .cpt-pbn__small { width: 100%; text-align: center; }
	.cpt .cpt-pbn__tiers { gap: 7px; }
	.cpt .cpt-pbn__tier { padding: 10px 6px; border-radius: 13px; }
	.cpt .cpt-pbn__off { font-size: 15px; }
	.cpt .cpt-pbn__extra { font-size: 9.5px; }
	.cpt .cpt-pbn__badge { width: 88px; }
	.cpt .cpt-pbn__badge b { font-size: 17px; }
	.cpt .cpt-pbn__count { gap: 7px; }
	.cpt .cpt-pbn__count > div { flex: 1 1 0; min-width: 0; }
	.cpt .cpt-pbn__count span { font-size: 26px; }
	.cpt .cpt-pbn__tag { width: 190px; padding: 26px 18px 22px; }
	.cpt .cpt-pbn__tag b { font-size: 34px; }
	.cpt .cpt-pbn__brands { display: none; }
}