/* ============================================================
   Corrales Cortinas — Storefront child theme
   Brand palette: black + cream + honey
   ============================================================ */

:root {
	--cc-bg:        #fbf6eb;
	--cc-surface:   #ffffff;
	--cc-surface-2: #f1e8d4;
	--cc-ink:       #0d0d0d;
	--cc-ink-2:     #42382a;
	--cc-ink-3:     #8a7e66;
	--cc-line:      #e7dcc1;
	--cc-accent:    #b88b3b;        /* honey */
	--cc-accent-dk: #8c6826;
	--cc-accent-sf: #f3e3c0;
	--cc-accent-dp: #5a3f12;
	--cc-cream:     #f6efde;
	--cc-success:   #3f7a3d;
	--cc-warning:   #b88b3b;

	--cc-display: "Bricolage Grotesque", "Plus Jakarta Sans", system-ui, sans-serif;
	--cc-sans:    "DM Sans", system-ui, sans-serif;

	--cc-pad-x: 64px;
	--cc-radius: 12px;
	--cc-radius-lg: 18px;
}

/* ── Reset / base ─────────────────────────────────────────── */
/* Force cream background on the page even if Storefront, XStore or another plugin
   tries to paint the body dark. The .cc-art class is added by header.php so we
   stay scoped to our own pages. */
html { background: var(--cc-bg) !important; }
body.cc-art {
	background: var(--cc-bg) !important;
	color: var(--cc-ink);
	font-family: var(--cc-sans);
}
body.cc-art .site,
body.cc-art .site-content,
body.cc-art .site-content-inner,
body.cc-art .col-full,
body.cc-art #page,
body.cc-art #main {
	background: var(--cc-bg) !important;
	max-width: none !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
body.cc-art, body.cc-art p, body.cc-art h1, body.cc-art h2, body.cc-art h3, body.cc-art h4, body.cc-art h5, body.cc-art h6, body.cc-art ul, body.cc-art ol { margin: 0; }
body.cc-art ul, body.cc-art ol { padding: 0; list-style: none; }
body.cc-art img { display: block; max-width: 100%; height: auto; }
body.cc-art a { color: inherit; text-decoration: none; }
/* Reset our OWN buttons only — scoped via [class*="cc-"] so we don't strip
   the styling of WooCommerce add-to-cart / checkout / update-cart buttons. */
body.cc-art button[class*="cc-"] { font-family: inherit; cursor: pointer; border: 0; background: none; color: inherit; }
body.cc-art .cc-burger,
body.cc-art .cc-menu-btn { background: rgba(255,255,255,0.08); }
body.cc-art *, body.cc-art *::before, body.cc-art *::after { box-sizing: border-box; }

body.cc-art .storefront-breadcrumb { display: none; }
body.cc-art .site-header,
body.cc-art .storefront-secondary-navigation,
body.cc-art .storefront-handheld-footer-bar { display: none !important; }

.cc-container { padding-left: var(--cc-pad-x); padding-right: var(--cc-pad-x); }

/* ── Promo bar ────────────────────────────────────────────── */
.cc-promo-bar {
	background: var(--cc-ink);
	color: var(--cc-cream);
	padding: 9px var(--cc-pad-x);
	display: flex;
	align-items: center;
	gap: 24px;
	font-size: 13px;
	font-weight: 500;
	border-bottom: 1px solid var(--cc-accent);
	text-decoration: none;
	transition: filter .15s ease;
}
.cc-promo-bar--center { justify-content: center; }
.cc-promo-bar--left   { justify-content: flex-start; }
.cc-promo-bar--right  { justify-content: flex-end; }
.cc-promo-bar--link {
	cursor: pointer;
	color: var(--cc-cream);
}
.cc-promo-bar--link:hover { filter: brightness(1.15); color: var(--cc-cream); }
.cc-promo-inner {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: inherit;
}
.cc-promo-msg b { color: var(--cc-accent); }
.cc-promo-meta { display: flex; gap: 24px; opacity: 0.85; }

/* Animated icon */
.cc-promo__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--cc-accent);
	line-height: 1;
}
.cc-promo__icon svg { display: block; }

.cc-promo__icon--pulse  { animation: cc-promo-pulse 1.4s ease-in-out infinite; }
.cc-promo__icon--spin   { animation: cc-promo-spin 2.4s linear infinite; }
.cc-promo__icon--shake  { animation: cc-promo-shake 1.2s ease-in-out infinite; transform-origin: 50% 80%; }
.cc-promo__icon--bounce { animation: cc-promo-bounce 1.2s ease-in-out infinite; }
.cc-promo__icon--flash  { animation: cc-promo-flash 1.2s ease-in-out infinite; }
.cc-promo__icon--wiggle { animation: cc-promo-wiggle 1.4s ease-in-out infinite; }
.cc-promo__icon--none   { animation: none; }

@keyframes cc-promo-pulse  { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.22); } }
@keyframes cc-promo-spin   { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes cc-promo-shake  { 0%, 100% { transform: rotate(0deg); } 20% { transform: rotate(-14deg); } 40% { transform: rotate(12deg); } 60% { transform: rotate(-10deg); } 80% { transform: rotate(8deg); } }
@keyframes cc-promo-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes cc-promo-flash  { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }
@keyframes cc-promo-wiggle { 0%, 100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(-2px) rotate(-8deg); } 75% { transform: translateX(2px) rotate(8deg); } }

@media (prefers-reduced-motion: reduce) {
	.cc-promo__icon { animation: none !important; }
}

/* Countdown */
.cc-promo-countdown {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-variant-numeric: tabular-nums;
}
.cc-promo-countdown__label {
	color: rgba(255,255,255,0.7);
	font-size: 12px;
	letter-spacing: .03em;
}
.cc-promo-countdown__timer {
	display: inline-flex;
	gap: 4px;
	font-weight: 700;
	color: var(--cc-accent);
}
.cc-promo-countdown__unit {
	display: inline-flex;
	align-items: baseline;
	gap: 1px;
	padding: 2px 6px;
	background: rgba(255,255,255,0.06);
	border-radius: 4px;
	font-size: 12px;
}
.cc-promo-countdown__unit > span[data-d],
.cc-promo-countdown__unit > span[data-h],
.cc-promo-countdown__unit > span[data-m],
.cc-promo-countdown__unit > span[data-s] {
	font-weight: 700;
	color: #fff;
	min-width: 1.6ch;
	text-align: center;
}
.cc-promo-countdown.is-done .cc-promo-countdown__timer {
	color: rgba(255,255,255,0.6);
	font-weight: 500;
	background: transparent;
}

/* ── Site header / nav ────────────────────────────────────── */
.cc-site-header { background: var(--cc-ink); color: #fff; }
.cc-site-header__row {
	padding: 14px var(--cc-pad-x);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	min-height: calc(var(--cc-logo-h, 56px) + 28px);
}
.cc-site-header__row > * { display: flex; align-items: center; }
.cc-logo { display: flex; align-items: center; }
.cc-logo img { height: 56px; width: auto; /* No filter by default — logos render with their original colors.
   To invert (useful for dark logos on dark headers), tick the option in
   Corrales Cortinas → Colores y estilo → "Invertir colores del logo". */ }
.cc-logo-text {
	font-family: var(--cc-display);
	font-weight: 700;
	font-size: 26px;
	color: #fff;
	letter-spacing: -0.02em;
}
.cc-search { flex: 1; max-width: 560px; position: relative; }
.cc-search input {
	width: 100%;
	padding: 14px 18px 14px 46px;
	border-radius: 32px;
	border: 1.5px solid rgba(255,255,255,0.18);
	background: rgba(255,255,255,0.06);
	font-size: 14px;
	font-family: var(--cc-sans);
	color: #fff;
}
.cc-search input::placeholder { color: rgba(255,255,255,0.6); }
.cc-search .cc-search-ico {
	position: absolute; left: 18px; top: 50%; transform: translateY(-50%);
	font-size: 16px; color: rgba(255,255,255,0.6);
}
.cc-search button {
	position: absolute; right: 5px; top: 5px;
	padding: 9px 22px;
	border-radius: 24px;
	background: var(--cc-accent);
	color: var(--cc-ink);
	font-size: 13px;
	font-weight: 700;
}
.cc-nav-actions { display: flex; gap: 18px; align-items: center; color: #fff; font-size: 13px; }
.cc-nav-action  { display: flex; flex-direction: column; align-items: center; gap: 2px; opacity: 0.9; }
.cc-nav-action span:first-child { font-size: 18px; }
.cc-nav-action span:last-child  { font-size: 11px; font-weight: 600; }

.cc-cart-button {
	display: flex; align-items: center; gap: 10px;
	padding: 10px 18px;
	border-radius: 30px;
	background: var(--cc-accent);
	color: var(--cc-ink);
	font-weight: 700;
}
.cc-cart-icon { font-size: 18px; }
.cc-cart-meta { display: flex; flex-direction: column; line-height: 1.1; }
.cc-cart-count { font-size: 11px; opacity: 0.75; }
.cc-cart-total { font-size: 14px; }

.cc-nav-bar {
	padding: 0 var(--cc-pad-x);
	display: flex; gap: 0; align-items: center;
	font-family: var(--cc-sans); font-size: 14px; font-weight: 600;
	border-top: 1px solid rgba(255,255,255,0.1);
	color: #fff;
}
.cc-nav-bar a { padding: 14px 18px; color: rgba(255,255,255,0.82); }
.cc-nav-bar a:hover, .cc-nav-bar a.is-active { color: var(--cc-accent); }
.cc-nav-bar a.is-active { border-bottom: 2px solid var(--cc-accent); }
.cc-nav-bar .cc-menu-toggle {
	padding: 14px 22px 14px 0;
	display: flex; align-items: center; gap: 8px;
	color: #fff;
}
.cc-burger { display: flex; flex-direction: column; gap: 3px; }
.cc-burger span { width: 14px; height: 2px; background: #fff; display: block; }
.cc-nav-offers { margin-left: auto; color: var(--cc-accent); font-weight: 700; }
.cc-nav-tail   { padding: 14px 0 14px 18px; color: rgba(255,255,255,0.82); }

/* ── Buttons ──────────────────────────────────────────────── */
.cc-btn {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 14px 22px;
	border-radius: 30px;
	font-size: 14px;
	font-weight: 700;
	font-family: var(--cc-sans);
	border: 1.5px solid transparent;
	transition: filter .15s ease, transform .15s ease;
}
.cc-btn:hover { filter: brightness(1.05); }
/* Button colors come from CSS variables that are overridden inline from the
   Customizer via cc_output_dynamic_css() in functions.php. The fallbacks here
   keep the buttons looking right even if the dynamic <style> isn't loaded. */
.cc-btn--accent { background: var(--cc-btn-bg, var(--cc-accent)); color: var(--cc-btn-text, #fff); }
.cc-btn--ink    { background: var(--cc-btn-alt-bg, var(--cc-ink)); color: var(--cc-btn-alt-text, #fff); }
.cc-btn--wa     { background: #25d366; color: #fff; }
.cc-btn--ghost  { background: rgba(255,255,255,0.12); color: #fff; border-color: rgba(255,255,255,0.3); backdrop-filter: blur(8px); }
.cc-btn--outline{ background: #fff; color: var(--cc-ink); border-color: var(--cc-line); }
.cc-btn--lg     { padding: 17px 30px; font-size: 15px; }
.cc-btn--block  { display: flex; width: 100%; justify-content: center; }

/* ── Generic section title ────────────────────────────────── */
.cc-section { padding: 30px var(--cc-pad-x); }
.cc-section--tight { padding: 18px var(--cc-pad-x); }
.cc-section--lg    { padding: 40px var(--cc-pad-x); }
.cc-section-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 20px; }
.cc-section-head h2 { font-family: var(--cc-display); font-size: 40px; font-weight: 700; letter-spacing: -0.015em; }
.cc-section-head .cc-section-sub { color: var(--cc-ink-2); font-size: 14px; margin-top: 6px; }
.cc-section-head .cc-section-link { font-size: 14px; font-weight: 700; color: var(--cc-accent); }

/* ── Hero ─────────────────────────────────────────────────── */
.cc-hero {
	padding: 28px var(--cc-pad-x) 30px;
}
.cc-hero__inner {
	position: relative;
	border-radius: var(--cc-radius-lg);
	overflow: hidden;
	height: 520px;
}
.cc-hero__track {
	position: relative;
	width: 100%;
	height: 100%;
}
.cc-hero__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity .6s ease;
	pointer-events: none;
}
.cc-hero__slide.is-active {
	opacity: 1;
	pointer-events: auto;
	z-index: 2;
}
.cc-hero__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 46px; height: 46px;
	border-radius: 50%;
	background: rgba(13,13,13,0.55);
	color: #fff;
	font-size: 28px; font-weight: 700;
	line-height: 0;
	display: grid; place-items: center;
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255,255,255,0.2);
	z-index: 5;
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}
.cc-hero__arrow:hover { background: var(--cc-accent); color: var(--cc-ink); }
.cc-hero__arrow--prev { left: 18px; }
.cc-hero__arrow--next { right: 18px; }
.cc-hero__dots {
	position: absolute;
	bottom: 18px; left: 50%;
	transform: translateX(-50%);
	display: flex; gap: 8px;
	z-index: 5;
}
.cc-hero__dot {
	width: 10px; height: 10px;
	border-radius: 50%;
	background: rgba(255,255,255,0.4);
	border: 0;
	cursor: pointer;
	transition: background .2s ease, transform .2s ease, width .2s ease;
}
.cc-hero__dot:hover { background: rgba(255,255,255,0.7); }
.cc-hero__dot.is-active {
	background: var(--cc-accent);
	width: 28px;
	border-radius: 6px;
}
.cc-hero__bg {
	position: absolute; inset: 0;
	background-size: cover;
	background-position: center;
	background-color: #cc8c5d;
	background-image: linear-gradient(155deg, #e9c9ad 0%, #cc8c5d 55%, #7c4422 100%);
}
.cc-hero__overlay {
	position: absolute; inset: 0;
	background: linear-gradient(95deg, rgba(13,13,13,0.78) 0%, rgba(13,13,13,0.35) 55%, rgba(13,13,13,0) 80%);
}
.cc-hero__content {
	position: absolute; left: var(--cc-pad-x); top: 70px; right: var(--cc-pad-x);
	color: #fff; max-width: 700px;
}
.cc-hero__eyebrow {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 8px 14px;
	background: var(--cc-accent); color: var(--cc-ink);
	border-radius: 30px;
	font-size: 11.5px; font-weight: 700;
	letter-spacing: 0.16em; text-transform: uppercase;
	margin-bottom: 24px;
}
.cc-hero__eyebrow::before { content: ''; width: 8px; height: 8px; background: var(--cc-ink); border-radius: 50%; display: inline-block; }
.cc-hero__title {
	font-family: var(--cc-display);
	font-size: 80px;
	line-height: 0.98;
	font-weight: 700;
	letter-spacing: -0.025em;
	text-shadow: 0 4px 24px rgba(0,0,0,0.35);
}
.cc-hero__title .cc-accent { color: var(--cc-accent); }
.cc-hero__lead {
	font-size: 18px; line-height: 1.5; margin-top: 22px; max-width: 520px;
	color: rgba(255,255,255,0.92);
}
.cc-hero__ctas { display: flex; gap: 14px; margin-top: 28px; align-items: center; flex-wrap: wrap; }
.cc-hero__ctas .cc-installments { color: #fff; font-size: 13px; font-weight: 500; opacity: 0.85; }

.cc-countdown { display: flex; gap: 14px; margin-top: 28px; }
.cc-countdown__cell {
	padding: 10px 16px;
	background: rgba(13,13,13,0.55);
	backdrop-filter: blur(8px);
	border-radius: 10px;
	text-align: center;
	border: 1px solid rgba(184,139,59,0.2);
	color: #fff; font-size: 12.5px; font-weight: 600;
}
.cc-countdown__cell strong {
	display: block;
	font-family: var(--cc-display);
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	color: var(--cc-accent);
}
.cc-countdown__cell span { font-size: 10px; opacity: 0.7; }

.cc-hero__card {
	position: absolute; right: 48px; bottom: 36px;
	padding: 18px 22px;
	background: rgba(13,13,13,0.7);
	backdrop-filter: blur(12px);
	border-radius: 14px;
	color: #fff; max-width: 240px;
	border: 1px solid rgba(184,139,59,0.33);
}
.cc-hero__card .cc-stars { color: var(--cc-accent); letter-spacing: 0.16em; font-size: 13px; }
.cc-hero__card-quote { font-size: 13px; line-height: 1.5; opacity: 0.9; margin-top: 6px; }
.cc-hero__card-author { font-size: 11px; opacity: 0.6; margin-top: 6px; }

/* ── USPs strip ───────────────────────────────────────────── */
.cc-usps { padding: 10px var(--cc-pad-x) 30px; }
.cc-usps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.cc-usp {
	padding: 18px 22px;
	background: var(--cc-surface);
	border-radius: var(--cc-radius);
	border: 1px solid var(--cc-line);
	display: flex;
	gap: 14px;
	align-items: flex-start;
}
.cc-usp-icon {
	width: 44px; height: 44px;
	border-radius: 10px;
	background: var(--cc-accent-sf);
	display: grid; place-items: center;
	flex-shrink: 0;
	font-size: 22px;
}
.cc-usp h3 { font-size: 14px; font-weight: 700; color: var(--cc-ink); margin-bottom: 4px; }
.cc-usp p  { font-size: 12.5px; color: var(--cc-ink-2); line-height: 1.5; }

/* ── Category tiles (home) ────────────────────────────────── */
.cc-cat-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 14px;
}
.cc-cat-tile {
	background: var(--cc-surface);
	border-radius: var(--cc-radius);
	overflow: hidden;
	border: 1px solid var(--cc-line);
	color: var(--cc-ink);
	display: block;
	transition: transform .15s ease;
}
.cc-cat-tile:hover { transform: translateY(-2px); }
.cc-cat-tile__media { height: 160px; }
.cc-cat-tile__body  { padding: 14px 16px; }
.cc-cat-tile h3 { font-size: 14px; font-weight: 700; color: var(--cc-ink); margin-bottom: 4px; }
.cc-cat-tile p  { font-size: 11.5px; color: var(--cc-ink-3); }

/* ── Scene / image placeholder ────────────────────────────── */
.cc-scene {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	background-color: #d6bb8a;
	min-height: 160px;
}
.cc-scene img,
.cc-scene .cc-card-img,
.cc-scene .attachment-cc-card,
.cc-scene .attachment-cc-hero {
	width: 100% !important; height: 100% !important;
	object-fit: cover;
	position: absolute; inset: 0;
}
.cc-scene-placeholder {
	display: grid; place-items: center;
	color: rgba(255,255,255,0.85);
	font-family: var(--cc-display);
	font-weight: 600;
	text-shadow: 0 2px 12px rgba(0,0,0,0.4);
	font-size: 16px;
	padding: 16px;
	text-align: center;
}
.cc-scene-placeholder::after {
	content: '';
	position: absolute; right: 8%; top: 0; bottom: 0; width: 22%;
	background: repeating-linear-gradient(180deg, rgba(255,255,255,0.15) 0 5px, rgba(0,0,0,0.05) 5px 10px);
	-webkit-mask-image: linear-gradient(180deg, black 0%, black 88%, transparent 100%);
	mask-image: linear-gradient(180deg, black 0%, black 88%, transparent 100%);
	pointer-events: none;
}
.cc-tone-cream { background-image: linear-gradient(155deg, #f1e3c4 0%, #d6bb8a 55%, #9b7d4a 100%); }
.cc-tone-clay  { background-image: linear-gradient(155deg, #e9c9ad 0%, #cc8c5d 55%, #7c4422 100%); }
.cc-tone-olive { background-image: linear-gradient(155deg, #dadbb7 0%, #aba872 55%, #5d5d2d 100%); }
.cc-tone-stone { background-image: linear-gradient(155deg, #e1d9c5 0%, #b7ad95 55%, #695f48 100%); }

/* ── Product card ─────────────────────────────────────────── */
.cc-product-card {
	background: var(--cc-surface);
	border-radius: var(--cc-radius);
	overflow: hidden;
	border: 1px solid var(--cc-line);
	display: flex;
	flex-direction: column;
	color: var(--cc-ink);
	position: relative;
	transition: transform .15s ease, box-shadow .15s ease;
	height: 100%;  /* fill grid row height so all cards in the same row match */
}
.cc-product-card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(13,13,13,0.07); }
.cc-product-card__media {
	position: relative;
	background: #fff;             /* solid neutral background, no gradient */
	aspect-ratio: 4 / 3;          /* uniform aspect ratio for every card */
	overflow: hidden;
}
/* Show full product image (no crop), solid white background — no decorative
   .cc-tone-* gradients inside product cards. Keep gradients reserved for
   placeholder tiles where there's no product image. */
.cc-product-card__media .cc-scene {
	height: 100%;
	min-height: 0;
	border-radius: 0;
	aspect-ratio: 4 / 3;
	background-image: none !important;
	background-color: #fff;
}
.cc-product-card__media .cc-scene img,
.cc-product-card__media .cc-scene .cc-card-img,
.cc-product-card__media .cc-scene .attachment-cc-card {
	object-fit: contain !important;
	padding: 0 !important;        /* fill the card fully, image scales to fit */
	width: 100%;
	height: 100%;
}
/* Hide the diagonal-stripe / vignette placeholder decoration when product
   actually has an image; only show it for placeholder cards. */
.cc-product-card__media .cc-scene:not(.cc-scene-placeholder)::after { display: none; }
.cc-product-card__badge {
	position: absolute; top: 12px; left: 12px;
	padding: 6px 11px;
	background: var(--cc-accent);
	color: #fff;
	font-size: 11px; font-weight: 700;
	text-transform: uppercase; letter-spacing: 0.08em;
	border-radius: 6px;
}
.cc-product-card__badge--ink { background: var(--cc-ink); }
.cc-product-card__fav {
	position: absolute; top: 12px; right: 12px;
	width: 36px; height: 36px;
	border-radius: 50%;
	background: rgba(255,255,255,0.92);
	color: var(--cc-ink);
	font-size: 16px;
	line-height: 1;
	display: grid; place-items: center;
	cursor: pointer;
	border: 0;
	transition: background .15s ease, transform .15s ease;
}
.cc-product-card__fav:hover { background: #fff; transform: scale(1.06); }
.cc-product-card__fav.is-fav {
	background: var(--cc-accent, #b88b3b);
	color: #fff;
}
/* PDP fav button (inside buy column, full width) — keep its own style */
.cc-pdp__buy-card .cc-product-card__fav {
	position: static; width: 100%; height: auto;
	border-radius: 30px;
	padding: 13px;
	background: #fff;
	border: 1.5px solid var(--cc-line);
}
.cc-pdp__buy-card .cc-product-card__fav.is-fav {
	background: var(--cc-accent, #b88b3b); color: #fff; border-color: var(--cc-accent, #b88b3b);
}
.cc-product-card__body { padding: 14px 16px 16px; display: flex; flex-direction: column; flex: 1; }
.cc-product-card__title { font-size: 14px; color: var(--cc-ink); margin-bottom: 4px; font-weight: 600; line-height: 1.25; }
.cc-product-card__short { font-size: 11.5px; color: var(--cc-ink-3); margin-bottom: 10px; }
.cc-product-card__rating { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
.cc-product-card__rating .cc-stars { color: var(--cc-warning); font-size: 11px; letter-spacing: 0.1em; }
.cc-product-card__rating-count { font-size: 11px; color: var(--cc-ink-3); }
.cc-product-card__price-block { margin-top: auto; }
.cc-product-card__old { font-size: 12px; color: var(--cc-ink-3); text-decoration: line-through; }
.cc-product-card__price-row { display: flex; align-items: baseline; gap: 8px; }
.cc-product-card__price {
	font-family: var(--cc-display);
	font-size: 24px;
	font-weight: 700;
	color: var(--cc-ink);
	white-space: nowrap;
}
.cc-product-card__discount { font-size: 13px; color: var(--cc-success); font-weight: 700; }
.cc-product-card__cuotas { font-size: 11px; color: var(--cc-success); font-weight: 600; margin-top: 2px; }
.cc-product-card__shipping { font-size: 11px; color: var(--cc-accent); font-weight: 700; margin-top: 6px; }

.cc-stars { color: var(--cc-warning); font-size: 13px; letter-spacing: 0.05em; }
.cc-stars-empty { color: rgba(184,139,59,0.3); }

/* ── Product grid ─────────────────────────────────────────── */
.cc-products-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.cc-products-grid--3 { grid-template-columns: repeat(3, 1fr); }
.cc-products-grid--6 { grid-template-columns: repeat(6, 1fr); }

/* ── Filter chips ─────────────────────────────────────────── */
.cc-cat-chips { display: flex; gap: 10px; flex-wrap: wrap; padding-bottom: 18px; border-bottom: 1px solid var(--cc-line); }
.cc-cat-chip {
	padding: 10px 18px;
	border-radius: 24px;
	font-size: 13px; font-weight: 600;
	background: var(--cc-surface);
	color: var(--cc-ink);
	border: 1px solid var(--cc-line);
}
.cc-cat-chip.is-active { background: var(--cc-ink); color: #fff; border-color: var(--cc-ink); }
.cc-cat-chip-count { opacity: 0.6; margin-left: 4px; }

/* ── Deal of the day ──────────────────────────────────────── */
.cc-deal { display: grid; grid-template-columns: 1.1fr 2fr; gap: 18px; align-items: stretch; }
.cc-deal__panel {
	background: var(--cc-ink);
	color: #fff;
	border-radius: 14px;
	padding: 36px 32px;
	display: flex; flex-direction: column; justify-content: center;
	position: relative;
	overflow: hidden;
	min-height: 360px;
}
.cc-deal__panel-inner {
	position: relative;
	z-index: 2;
	display: flex; flex-direction: column;
}

/* When the option "Usar imagen del producto" is on, the product image
   becomes the background and an overlay shades it. Text colors switch
   via the --theme-light / --theme-dark modifier. */
.cc-deal__panel--with-image {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-color: var(--cc-ink); /* fallback while image loads */
}
.cc-deal__panel--with-image::before {
	content: "";
	position: absolute; inset: 0;
	z-index: 1;
	pointer-events: none;
	background: rgba(13, 13, 13, 0.5);
	transition: background-color .2s ease;
}
.cc-deal__panel--overlay-none::before    { background: transparent; }
.cc-deal__panel--overlay-light::before   { background: rgba(13, 13, 13, 0.25); }
.cc-deal__panel--overlay-medium::before  { background: rgba(13, 13, 13, 0.5);  }
.cc-deal__panel--overlay-strong::before  { background: rgba(13, 13, 13, 0.72); }
.cc-deal__panel--overlay-xstrong::before { background: rgba(13, 13, 13, 0.85); }

/* When using a LIGHT background image with DARK text, switch the
   overlay to a light tint instead of dark. */
.cc-deal__panel--with-image.cc-deal__panel--theme-dark::before {
	background: rgba(255, 255, 255, 0.5);
}
.cc-deal__panel--with-image.cc-deal__panel--theme-dark.cc-deal__panel--overlay-none::before    { background: transparent; }
.cc-deal__panel--with-image.cc-deal__panel--theme-dark.cc-deal__panel--overlay-light::before   { background: rgba(255, 255, 255, 0.32); }
.cc-deal__panel--with-image.cc-deal__panel--theme-dark.cc-deal__panel--overlay-medium::before  { background: rgba(255, 255, 255, 0.55); }
.cc-deal__panel--with-image.cc-deal__panel--theme-dark.cc-deal__panel--overlay-strong::before  { background: rgba(255, 255, 255, 0.75); }
.cc-deal__panel--with-image.cc-deal__panel--theme-dark.cc-deal__panel--overlay-xstrong::before { background: rgba(255, 255, 255, 0.9);  }

/* Text colors */
.cc-deal__panel--theme-light { color: #fff; }
.cc-deal__panel--theme-light .cc-deal__eyebrow { color: var(--cc-accent, #b88b3b) !important; }
.cc-deal__panel--theme-light .cc-deal__title   { color: var(--cc-accent, #b88b3b) !important; }
.cc-deal__panel--theme-light .cc-deal__price   { color: #ffdfa6 !important; }
.cc-deal__panel--theme-light .cc-deal__price .amount,
.cc-deal__panel--theme-light .cc-deal__price bdi { color: inherit !important; }
.cc-deal__panel--theme-light .cc-deal__old,
.cc-deal__panel--theme-light .cc-deal__sub,
.cc-deal__panel--theme-light .cc-deal__lead { color: rgba(255,255,255,0.85) !important; }

.cc-deal__panel--theme-dark { color: #0d0d0d; }
.cc-deal__panel--theme-dark .cc-deal__eyebrow { color: var(--cc-accent, #b88b3b) !important; }
.cc-deal__panel--theme-dark .cc-deal__title   { color: var(--cc-ink, #0d0d0d) !important; }
.cc-deal__panel--theme-dark .cc-deal__price   { color: var(--cc-accent, #b88b3b) !important; }
.cc-deal__panel--theme-dark .cc-deal__price .amount,
.cc-deal__panel--theme-dark .cc-deal__price bdi { color: inherit !important; }
.cc-deal__panel--theme-dark .cc-deal__old,
.cc-deal__panel--theme-dark .cc-deal__sub,
.cc-deal__panel--theme-dark .cc-deal__lead { color: rgba(13,13,13,0.7) !important; }

.cc-deal__eyebrow { font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; color: #ffdfa6; margin-bottom: 14px; font-weight: 700; }
.cc-deal__title   { font-family: var(--cc-display); font-size: 42px; line-height: 1.05; font-weight: 700; margin-bottom: 14px; }
.cc-deal__lead    { font-size: 14px; line-height: 1.6; opacity: 0.95; margin-bottom: 24px; max-width: 320px; text-shadow: 0 1px 2px rgba(0,0,0,0.12); }
.cc-deal__title   { text-shadow: 0 1px 3px rgba(0,0,0,0.18); }
.cc-deal__panel--theme-dark .cc-deal__title,
.cc-deal__panel--theme-dark .cc-deal__lead { text-shadow: none; }
.cc-deal__price   { font-family: var(--cc-display); font-size: 48px; font-weight: 700; color: #ffdfa6; line-height: 1; }
.cc-deal__old     { font-size: 13px; opacity: 0.85; text-decoration: line-through; }
.cc-deal__sub     { font-size: 12px; opacity: 0.85; }
.cc-deal__cta     { align-self: flex-start; margin-top: 24px; color: #fff; }

/* ── Banner — visita técnica ──────────────────────────────── */
.cc-banner {
	background: var(--cc-accent-sf);
	border-radius: 14px;
	padding: 40px 48px;
	display: grid; grid-template-columns: 1.5fr 1fr; gap: 48px; align-items: center;
	border: 1px solid var(--cc-line);
}
.cc-banner h2 { font-family: var(--cc-display); font-size: 40px; font-weight: 700; letter-spacing: -0.015em; color: var(--cc-ink); margin-bottom: 10px; }
.cc-banner h2 .cc-accent { color: var(--cc-accent); }
.cc-banner p  { font-size: 15px; color: var(--cc-ink-2); line-height: 1.6; margin-bottom: 18px; }
.cc-banner__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.cc-banner__media .cc-scene { height: 260px; }

/* ── Testimonials ─────────────────────────────────────────── */
.cc-testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.cc-testimonial {
	padding: 24px 26px;
	background: var(--cc-surface);
	border-radius: var(--cc-radius);
	border: 1px solid var(--cc-line);
}
.cc-testimonial__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.cc-testimonial__verified { font-size: 11px; color: var(--cc-ink-3); padding: 4px 10px; background: var(--cc-surface-2); border-radius: 14px; }
.cc-testimonial__quote { font-size: 15px; line-height: 1.55; color: var(--cc-ink); margin-bottom: 18px; }
.cc-testimonial__foot  { display: flex; align-items: center; gap: 10px; }
.cc-testimonial__avatar {
	width: 38px; height: 38px;
	border-radius: 50%;
	background: var(--cc-accent-sf);
	display: grid; place-items: center;
	font-family: var(--cc-display); font-weight: 700; color: var(--cc-accent);
}
.cc-testimonial__name { font-size: 13.5px; font-weight: 700; color: var(--cc-ink); }
.cc-testimonial__city { font-size: 12px; color: var(--cc-ink-3); }

/* ── FAQ + contact ────────────────────────────────────────── */
.cc-faq-wrap { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; padding: 40px var(--cc-pad-x) 80px; }
.cc-faq summary { display: flex; justify-content: space-between; align-items: center; cursor: pointer; list-style: none; font-size: 15px; font-weight: 600; color: var(--cc-ink); }
.cc-faq summary::-webkit-details-marker { display: none; }
.cc-faq details {
	background: var(--cc-surface); padding: 18px 22px; border-radius: 10px; border: 1px solid var(--cc-line);
	margin-bottom: 8px;
}
.cc-faq details[open] summary span:last-child { color: var(--cc-accent); }
.cc-faq summary span:last-child { color: var(--cc-accent); font-weight: 700; font-size: 18px; }
.cc-faq details p { margin-top: 12px; color: var(--cc-ink-2); line-height: 1.6; font-size: 14px; }

.cc-contact-card {
	background: var(--cc-ink); color: #fff;
	border-radius: 14px; padding: 36px 32px;
	align-self: flex-start;
}
.cc-contact-card h3 { font-family: var(--cc-display); font-size: 34px; font-weight: 700; line-height: 1.1; margin-bottom: 14px; }
.cc-contact-card p  { font-size: 14.5px; opacity: 0.8; line-height: 1.6; margin-bottom: 24px; }
.cc-contact-card .cc-btn { margin-bottom: 10px; }
.cc-contact-card__meta { margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.15); font-size: 13px; opacity: 0.7; }
.cc-contact-card__meta div + div { margin-top: 6px; }

/* ── Footer ───────────────────────────────────────────────── */
.cc-footer {
	background: var(--cc-ink);
	color: rgba(255,255,255,0.7);
	padding: 70px var(--cc-pad-x) 30px;
	font-size: 13.5px;
}
.cc-footer-grid {
	display: grid;
	/* `auto-fit` adapts to how many sections actually render (1-4 +
	   brand). Each section column gets at least 160px so labels don't
	   crush. Brand keeps its own wider track via grid-column on it. */
	grid-template-columns: minmax(220px, 1.6fr) repeat(auto-fit, minmax(160px, 1fr));
	gap: 36px;
	padding-bottom: 42px;
	border-bottom: 1px solid rgba(255,255,255,0.12);
	align-items: start;
}
.cc-footer__brand { min-width: 0; }
.cc-footer__brand img,
.cc-footer__brand .custom-logo {
	display: block;
	height: var(--cc-footer-logo-h, 64px);
	width: auto;
	max-width: 100%;
	margin-bottom: 16px;
}
.cc-footer__brand p   { line-height: 1.65; max-width: 340px; margin-bottom: 18px; color: rgba(255,255,255,0.7); }
.cc-footer__socials   { display: flex; gap: 8px; flex-wrap: wrap; }
.cc-footer__socials a { display: inline-block; text-decoration: none; }
.cc-footer__socials span {
	width: 36px; height: 36px;
	border-radius: 50%;
	background: rgba(255,255,255,0.08);
	color: #fff;
	display: grid; place-items: center;
	font-size: 11px; font-weight: 700;
}
.cc-footer__col { min-width: 0; }
.cc-footer__col h4 {
	color: var(--cc-accent);
	font-size: 11px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	margin: 0 0 18px;
	font-weight: 700;
}
/* Reset list styles so Storefront's default `ul { list-style: disc; padding-left }`
   doesn't push the bullets outside the column or eat horizontal space.
   `display: grid` keeps the rows stacked with a fixed gap. */
.cc-footer__col ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: grid;
	gap: 10px;
}
.cc-footer__col ul li {
	list-style: none;
	margin: 0;
	padding: 0;
	line-height: 1.45;
	color: rgba(255,255,255,0.75);
	word-break: break-word;
}
.cc-footer__col ul li::before { content: none !important; }
.cc-footer__col ul li a {
	color: rgba(255,255,255,0.75);
	text-decoration: none;
	transition: color .15s ease;
}
.cc-footer__col ul li a:hover { color: #fff; }
.cc-footer__bottom { display: flex; justify-content: space-between; padding-top: 22px; font-size: 12px; color: rgba(255,255,255,0.45); flex-wrap: wrap; gap: 8px; }
.cc-footer__bottom a { color: rgba(255,255,255,0.6); }

/* ── Breadcrumb ───────────────────────────────────────────── */
.cc-breadcrumb { padding: 24px var(--cc-pad-x) 14px; font-size: 12.5px; color: var(--cc-ink-3); }
.cc-breadcrumb b, .cc-breadcrumb .current { color: var(--cc-ink); font-weight: 600; }
.cc-breadcrumb a { color: var(--cc-ink-3); }

/* ── Archive / category page ──────────────────────────────── */
.cc-archive-head {
	padding: 10px var(--cc-pad-x) 20px;
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 48px;
	align-items: flex-end;
	margin-bottom: 0;
}
.cc-archive-head h1 { font-family: var(--cc-display); font-size: 54px; font-weight: 700; letter-spacing: -0.02em; line-height: 1; }
.cc-archive-head p  { color: var(--cc-ink-2); font-size: 15px; margin-top: 14px; max-width: 600px; line-height: 1.6; }
.cc-archive-stats   { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.cc-archive-stat {
	padding: 12px 18px;
	border-radius: 24px;
	background: var(--cc-surface);
	color: var(--cc-ink-2);
	font-size: 13px;
	font-weight: 600;
	border: 1px solid var(--cc-line);
}
.cc-archive-stat--accent { background: var(--cc-accent-sf); color: var(--cc-accent); font-weight: 700; }

.cc-archive { padding: 24px var(--cc-pad-x) 90px; }
/* (sidebar removed — products take full width) */
.cc-archive--no-sidebar { display: block; }

.cc-toolbar {
	display: flex; justify-content: space-between; align-items: center;
	margin-bottom: 18px;
	padding: 14px 18px;
	background: var(--cc-surface);
	border-radius: 10px;
	border: 1px solid var(--cc-line);
	font-size: 13.5px;
}
.cc-toolbar select {
	padding: 10px 14px;
	background: #fff;
	border: 1px solid var(--cc-line);
	border-radius: 8px;
	font-size: 13px;
	color: var(--cc-ink);
	font-family: var(--cc-sans);
	font-weight: 600;
}
.cc-toolbar__count b { color: var(--cc-ink); }
.cc-toolbar__sort { display: flex; gap: 14px; align-items: center; }

/* Woo pagination */
.woocommerce-pagination ul.page-numbers {
	display: flex; justify-content: center; gap: 6px; margin-top: 30px;
	border: 0; padding: 0;
}
.woocommerce-pagination ul.page-numbers li { border: 0; }
.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span {
	min-width: 38px; padding: 10px 14px;
	border-radius: 8px; font-size: 13px;
	text-align: center;
	background: #fff;
	color: var(--cc-ink);
	border: 1px solid var(--cc-line);
	font-weight: 600;
}
.woocommerce-pagination ul.page-numbers li span.current,
.woocommerce-pagination ul.page-numbers li a.current {
	background: var(--cc-accent);
	color: #fff;
	border-color: var(--cc-accent);
	font-weight: 700;
}

/* ── Single product ───────────────────────────────────────── */
.cc-pdp { padding: 18px var(--cc-pad-x) 50px; }
.cc-pdp__grid { display: grid; grid-template-columns: 70px 1fr 1fr 360px; gap: 24px; align-items: flex-start; }
.cc-pdp__thumbs { display: grid; gap: 10px; }
.cc-pdp__thumbs .cc-scene {
	height: auto !important;
	min-height: 0;
	aspect-ratio: 4 / 3;             /* rectangular, no longer skinny vertical */
	border: 2px solid var(--cc-line);
	border-radius: 8px;
	cursor: pointer;
	transition: border-color .15s ease, transform .15s ease;
}
.cc-pdp__thumbs .cc-scene:hover { transform: scale(1.02); }
.cc-pdp__thumbs .cc-scene.is-active { border-color: var(--cc-accent); }
.cc-pdp__main { position: sticky; top: 14px; }
.cc-pdp__main .cc-scene { height: 620px; }

.cc-pdp__chips { display: flex; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }
.cc-pdp__chip {
	padding: 5px 10px; border-radius: 6px;
	font-size: 11px; font-weight: 700;
	text-transform: uppercase; letter-spacing: 0.08em;
}
.cc-pdp__chip--accent { background: var(--cc-accent-sf); color: var(--cc-accent); }
.cc-pdp__chip--ink    { background: var(--cc-surface-2); color: var(--cc-ink-2); letter-spacing: 0; }

.cc-pdp__title { font-family: var(--cc-display); font-size: 38px; font-weight: 700; line-height: 1.1; letter-spacing: -0.015em; margin-bottom: 10px; }
.cc-pdp__rating { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; font-size: 13px; }
.cc-pdp__rating a { color: var(--cc-accent); font-weight: 600; }

.cc-pdp__price-card {
	padding: 22px 24px;
	background: var(--cc-surface);
	border: 1.5px solid var(--cc-line);
	border-radius: 14px;
	margin-bottom: 18px;
}
.cc-pdp__price-old { font-size: 13px; color: var(--cc-ink-3); text-decoration: line-through; }
.cc-pdp__price-row { display: flex; align-items: baseline; gap: 14px; margin-top: 4px; }
.cc-pdp__price {
	font-family: var(--cc-display); font-size: 46px; font-weight: 700; color: var(--cc-ink);
	line-height: 1; white-space: nowrap;
}
.cc-pdp__sale-badge { padding: 5px 10px; background: var(--cc-success); color: #fff; font-size: 12px; font-weight: 700; border-radius: 6px; }
.cc-pdp__cuotas { font-size: 13.5px; color: var(--cc-success); font-weight: 600; margin-top: 8px; }
.cc-pdp__delivery {
	display: flex; gap: 14px; align-items: center;
	margin-top: 12px; padding-top: 12px;
	border-top: 1px solid var(--cc-line);
	font-size: 13px;
}
.cc-pdp__delivery .cc-accent { color: var(--cc-accent); font-weight: 700; }

.cc-pdp__long { font-size: 14.5px; color: var(--cc-ink-2); line-height: 1.6; margin-bottom: 18px; }
.cc-pdp__features { display: grid; gap: 8px; margin-bottom: 24px; }
.cc-pdp__features li { display: flex; gap: 10px; align-items: center; font-size: 13.5px; color: var(--cc-ink); }
.cc-pdp__features li::before {
	content: '✓';
	width: 20px; height: 20px;
	border-radius: 50%;
	background: var(--cc-success);
	color: #fff;
	display: grid; place-items: center;
	font-size: 11px; font-weight: 700;
	flex-shrink: 0;
}

.cc-pdp__variations { margin-bottom: 18px; }
.cc-pdp__variations h4 { font-size: 13px; font-weight: 700; margin-bottom: 10px; }
.cc-pdp__variations h4 span { color: var(--cc-ink-2); font-weight: 500; }
.cc-pdp__swatches { display: flex; gap: 8px; flex-wrap: wrap; }
.cc-pdp__swatch {
	width: 40px; height: 40px;
	border-radius: 8px;
	border: 2px solid var(--cc-line);
	cursor: pointer;
}
.cc-pdp__swatch.is-active, .cc-pdp__swatch:hover { border-color: var(--cc-accent); box-shadow: 0 0 0 2px var(--cc-accent); }

.cc-pdp__sizes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.cc-pdp__size {
	padding: 12px 0;
	border-radius: 8px;
	font-size: 13px;
	border: 1.5px solid var(--cc-line);
	background: #fff;
	color: var(--cc-ink);
	font-weight: 500;
	text-align: center;
}
.cc-pdp__size.is-active { background: var(--cc-accent-sf); color: var(--cc-accent); border-color: var(--cc-accent); font-weight: 700; }

/* PDP right buy column */
.cc-pdp__buy {
	position: sticky; top: 14px; align-self: flex-start;
}
.cc-pdp__buy-card {
	padding: 24px;
	background: var(--cc-surface);
	border: 1.5px solid var(--cc-line);
	border-radius: 14px;
	margin-bottom: 12px;
}
.cc-pdp__buy-head { display: flex; justify-content: space-between; align-items: center; font-size: 13px; margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--cc-line); }
.cc-pdp__buy-head .cc-stock { color: var(--cc-success); font-weight: 700; }
.cc-pdp__buy-head .cc-stock::before { content: '● '; }
/* "Precio de tu cortina" — replaces the regular price when the calculator
   plugin computes a custom total (event `cc:calculated`). */
.cc-pdp__custom-price {
	padding: 14px 16px;
	margin-bottom: 14px;
	background: var(--cc-accent-sf);
	border: 1.5px solid var(--cc-accent);
	border-radius: 12px;
}
.cc-pdp__custom-price-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--cc-accent);
	margin-bottom: 4px;
}
.cc-pdp__custom-price-value {
	font-family: var(--cc-display);
	font-size: 36px;
	font-weight: 700;
	color: var(--cc-ink);
	line-height: 1;
	white-space: nowrap;
}

.cc-pdp__buy-old { font-size: 13px; color: var(--cc-ink-3); text-decoration: line-through; }
.cc-pdp__buy-price-row { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.cc-pdp__buy-price { font-family: var(--cc-display); font-size: 38px; font-weight: 700; color: var(--cc-ink); line-height: 1; }
.cc-pdp__buy-cuotas { font-size: 12.5px; color: var(--cc-success); font-weight: 600; margin-top: 6px; margin-bottom: 14px; }

/* Inline delivery note shown below the description (replaces the old price-card delivery line) */
.cc-pdp__delivery--inline {
	display: flex; gap: 10px; align-items: center; flex-wrap: wrap;
	padding: 12px 16px;
	background: var(--cc-surface);
	border: 1px solid var(--cc-line);
	border-radius: 10px;
	font-size: 13px;
	margin-bottom: 18px;
}

.cc-pdp__qty-label { font-size: 12px; color: var(--cc-ink-2); margin-bottom: 8px; }
.cc-pdp__qty {
	display: flex; align-items: center;
	border: 1.5px solid var(--cc-line);
	border-radius: 8px;
	justify-content: space-between;
	padding: 2px 4px;
	margin-bottom: 12px;
}
.cc-pdp__qty input.qty {
	border: 0; width: 50px; text-align: center;
	font-size: 15px; font-weight: 600; color: var(--cc-ink);
	background: transparent;
	font-family: var(--cc-sans);
}
.cc-pdp__qty .cc-stock-tag { font-size: 11.5px; color: var(--cc-ink-3); padding-right: 12px; }

/* ── Add-to-cart button — ALWAYS brand color, regardless of WC/Storefront
   button classes (variable products get .button.alt.disabled.wc-variation-...
   which were stomping our color on simple products too). Aggressive selector
   list + !important so nothing wins over this. */
body.cc-art .cc-pdp__buy-card .single_add_to_cart_button,
body.cc-art .cc-pdp__buy-card button.single_add_to_cart_button,
body.cc-art .cc-pdp__buy-card a.single_add_to_cart_button,
body.cc-art .cc-pdp__buy-card .single_add_to_cart_button.button,
body.cc-art .cc-pdp__buy-card .single_add_to_cart_button.button.alt,
body.cc-art .cc-pdp__buy-card .single_add_to_cart_button.disabled,
body.cc-art .cc-pdp__buy-card .single_add_to_cart_button.wc-variation-selection-needed,
body.cc-art .cc-pdp__buy-card .wp-element-button.single_add_to_cart_button {
	width: 100% !important;
	background: var(--cc-btn-bg, var(--cc-accent)) !important;
	background-color: var(--cc-btn-bg, var(--cc-accent)) !important;
	color: var(--cc-btn-text, #fff) !important;
	padding: 16px !important;
	border-radius: 30px !important;
	font-size: 14.5px !important;
	font-weight: 700 !important;
	margin-bottom: 10px !important;
	border: 0 !important;
	box-shadow: none !important;
	font-family: var(--cc-sans) !important;
	letter-spacing: 0 !important;
	transition: filter .15s ease;
}
body.cc-art .cc-pdp__buy-card .single_add_to_cart_button:hover {
	filter: brightness(1.08);
	background: var(--cc-btn-bg, var(--cc-accent)) !important;
	color: var(--cc-btn-text, #fff) !important;
}
body.cc-art .cc-pdp__buy-card .single_add_to_cart_button.disabled,
body.cc-art .cc-pdp__buy-card .single_add_to_cart_button.wc-variation-selection-needed {
	opacity: 0.75;
	cursor: not-allowed;
}

/* ── Variations dropdown + reset link ─────────────────────────
   Style WC's default variations table to match the rest of the buy column. */
.cc-pdp__buy-card table.variations {
	width: 100%;
	margin: 0 0 14px;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
}
.cc-pdp__buy-card table.variations tbody { display: block; }
.cc-pdp__buy-card table.variations tr {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 10px;
}
.cc-pdp__buy-card table.variations th,
.cc-pdp__buy-card table.variations td {
	display: block;
	padding: 0;
	background: transparent;
	border: 0;
}
.cc-pdp__buy-card table.variations th.label {
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--cc-ink-2);
}
.cc-pdp__buy-card table.variations th.label label { font-weight: 700; color: inherit; }
.cc-pdp__buy-card table.variations td.value {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.cc-pdp__buy-card table.variations select {
	width: 100% !important;
	padding: 12px 38px 12px 14px !important;
	border: 1.5px solid var(--cc-line) !important;
	border-radius: 10px !important;
	background: #fff !important;
	font-size: 14px !important;
	font-family: var(--cc-sans) !important;
	color: var(--cc-ink) !important;
	font-weight: 500;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%238a7e66' d='M1 1l5 5 5-5'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 12px 8px !important;
	cursor: pointer;
}
.cc-pdp__buy-card table.variations select:focus {
	outline: 0;
	border-color: var(--cc-accent) !important;
	box-shadow: 0 0 0 3px rgba(184,139,59,0.18);
}
.cc-pdp__buy-card a.reset_variations {
	font-size: 12px;
	color: var(--cc-ink-3);
	text-decoration: underline;
	align-self: flex-end;
}
.cc-pdp__buy-card a.reset_variations:hover { color: var(--cc-accent); }

/* ── Single variation price block (shown after picking a variation) ─── */
.cc-pdp__buy-card .single_variation_wrap .woocommerce-variation {
	margin: 0 0 12px;
}
.cc-pdp__buy-card .single_variation .woocommerce-variation-price {
	font-family: var(--cc-display);
	font-size: 22px;
	font-weight: 700;
	color: var(--cc-ink);
}
.cc-pdp__buy-card .single_variation .woocommerce-variation-availability {
	font-size: 12.5px;
	color: var(--cc-success);
	font-weight: 600;
	margin-top: 4px;
}

/* ── Quantity: label + branded wrapper with +/− buttons ─── */
body.cc-art .cc-pdp__buy-card .cc-qty-label {
	display: block;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--cc-ink-2);
	margin: 4px 0 6px;
}
body.cc-art .cc-pdp__buy-card .quantity {
	display: flex !important;
	align-items: stretch;
	gap: 0;
	margin: 0 0 14px !important;
	border: 1.5px solid var(--cc-line) !important;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	width: 160px;
	height: 50px;
}
body.cc-art .cc-pdp__buy-card .quantity input.qty,
body.cc-art .cc-pdp__buy-card .quantity input[type="number"] {
	flex: 1;
	width: auto !important;
	min-width: 0;
	padding: 0 6px !important;
	border: 0 !important;
	background: transparent !important;
	font-family: var(--cc-sans) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	color: var(--cc-ink) !important;
	text-align: center !important;
	box-shadow: none !important;
	-moz-appearance: textfield;
	height: 100%;
	line-height: 1;
}
body.cc-art .cc-pdp__buy-card .quantity input.qty::-webkit-outer-spin-button,
body.cc-art .cc-pdp__buy-card .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
body.cc-art .cc-pdp__buy-card .quantity input.qty:focus { outline: 0; }

/* +/- buttons (injected by corrales.js OR by 3rd-party plugins) */
body.cc-art .cc-pdp__buy-card .quantity .cc-qty-btn,
body.cc-art .cc-pdp__buy-card .quantity .plus,
body.cc-art .cc-pdp__buy-card .quantity .minus {
	width: 44px;
	height: 100%;
	border: 0;
	background: var(--cc-cream);
	color: var(--cc-ink);
	cursor: pointer;
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	transition: background .15s ease, color .15s ease;
	display: grid;
	place-items: center;
	padding: 0;
	margin: 0;
}
body.cc-art .cc-pdp__buy-card .quantity .cc-qty-btn:hover,
body.cc-art .cc-pdp__buy-card .quantity .plus:hover,
body.cc-art .cc-pdp__buy-card .quantity .minus:hover {
	background: var(--cc-accent);
	color: #fff;
}
body.cc-art .cc-pdp__buy-card .quantity .cc-qty-btn:active { transform: scale(0.96); }

/* ── Wizard Variantes (popup con swatches) ──────────────────── */
/* When the wizard is active on a variable PDP, hide the standard
   variations dropdown — the popup replaces it. */
body.cc-wizard-active .cc-pdp__buy-card table.variations,
body.cc-wizard-active .cc-pdp__buy-card .reset_variations,
body.cc-wizard-active .cc-pdp__buy-card .reset_variations_alert { display: none !important; }

/* Force the add-to-cart button to look enabled even when WC adds
   .disabled / .wc-variation-selection-needed / disabled attribute
   (the wizard handles variation selection itself). */
body.cc-wizard-active .cc-pdp__buy-card .single_add_to_cart_button,
body.cc-wizard-active .cc-pdp__buy-card .single_add_to_cart_button.disabled,
body.cc-wizard-active .cc-pdp__buy-card .single_add_to_cart_button.wc-variation-selection-needed,
body.cc-wizard-active .cc-pdp__buy-card .single_add_to_cart_button.wc-variation-is-unavailable,
body.cc-wizard-active .cc-pdp__buy-card .single_add_to_cart_button[disabled] {
	opacity: 1 !important;
	cursor: pointer !important;
	pointer-events: auto !important;
	background-color: var(--cc-btn-bg, var(--cc-accent, #b88b3b)) !important;
	color: var(--cc-btn-text, #fff) !important;
	filter: none !important;
}

.cc-wizard {
	position: fixed;
	inset: 0;
	z-index: 100001;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	opacity: 0;
	transition: opacity .2s ease;
	pointer-events: none;
}
.cc-wizard.is-open {
	opacity: 1;
	pointer-events: auto;
}
.cc-wizard__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.65);
	backdrop-filter: blur(4px);
	cursor: pointer;
}
.cc-wizard__box {
	position: relative;
	background: var(--cc-surface, #fff);
	color: var(--cc-ink, #0d0d0d);
	border-radius: 16px;
	max-width: 560px;
	width: 100%;
	padding: 28px 26px 24px;
	box-shadow: 0 24px 60px rgba(0,0,0,0.42);
	z-index: 1;
	animation: cc-modal-pop .25s ease-out;
	max-height: 92vh;
	overflow-y: auto;
}
.cc-wizard__close {
	position: absolute;
	top: 10px; right: 12px;
	width: 34px; height: 34px;
	border-radius: 50%;
	background: var(--cc-cream);
	color: var(--cc-ink);
	font-size: 22px; line-height: 1;
	border: 0;
	cursor: pointer;
	display: grid; place-items: center;
}
.cc-wizard__close:hover { background: var(--cc-accent); color: #fff; }
.cc-wizard__title {
	font-family: var(--cc-display);
	font-size: 24px;
	font-weight: 700;
	margin: 0 0 6px;
	letter-spacing: -0.015em;
	padding-right: 36px;
}
.cc-wizard__subtitle {
	color: var(--cc-ink-2);
	font-size: 14px;
	line-height: 1.55;
	margin: 0 0 20px;
}
.cc-wizard__swatches {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	gap: 12px;
}
.cc-wizard__swatch {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
	padding: 10px;
	background: #fff;
	border: 1.5px solid var(--cc-line);
	border-radius: 12px;
	cursor: pointer;
	transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
	text-align: center;
}
.cc-wizard__swatch:hover {
	border-color: var(--cc-accent);
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}
.cc-wizard__swatch.is-oos {
	opacity: 0.5;
	cursor: not-allowed;
	pointer-events: none;
}
.cc-wizard__swatch-color {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 8px;
	border: 1px solid rgba(0,0,0,0.08);
	background-color: #ccc;
	background-size: cover;
	background-position: center;
}
.cc-wizard__swatch-name {
	font-size: 13px;
	font-weight: 600;
	color: var(--cc-ink);
	line-height: 1.2;
}
.cc-wizard__swatch-oos {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--cc-ink-3);
}

@media (max-width: 520px) {
	.cc-wizard__box { padding: 24px 18px 18px; }
	.cc-wizard__title { font-size: 20px; }
	.cc-wizard__swatches { grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 10px; }
}

/* ── Popup "Agregar al carrito" ─────────────────────────────── */
.cc-cart-popup {
	position: fixed; inset: 0;
	z-index: 100002;
	display: flex; align-items: center; justify-content: center;
	padding: 20px;
	opacity: 0;
	pointer-events: none;
	transition: opacity .22s ease;
}
.cc-cart-popup.is-open { opacity: 1; pointer-events: auto; }
.cc-cart-popup__overlay {
	position: absolute; inset: 0;
	background: rgba(13,13,13,0.6);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}
.cc-cart-popup__box {
	position: relative;
	width: 100%;
	max-width: 460px;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	background: var(--cc-surface, #fff);
	border-radius: 18px;
	padding: 28px 26px 22px;
	box-shadow: 0 30px 60px rgba(0,0,0,0.3);
	animation: cc-cart-popup-pop .26s cubic-bezier(.34,1.56,.64,1);
}
@keyframes cc-cart-popup-pop {
	from { transform: translateY(10px) scale(0.96); opacity: 0; }
	to   { transform: translateY(0)    scale(1);    opacity: 1; }
}
.cc-cart-popup__close {
	position: absolute; top: 12px; right: 12px;
	background: transparent; border: 0;
	width: 32px; height: 32px;
	border-radius: 50%;
	font-size: 22px; line-height: 1;
	color: var(--cc-ink-2, #5e5e5e);
	cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	transition: background .15s ease, color .15s ease;
}
.cc-cart-popup__close:hover { background: var(--cc-bg, #fbf6eb); color: var(--cc-ink, #0d0d0d); }
.cc-cart-popup__check {
	width: 48px; height: 48px;
	margin: 0 auto 12px;
	border-radius: 50%;
	background: #1aa86b;
	color: #fff;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 6px 18px rgba(26, 168, 107, 0.3);
}
.cc-cart-popup__title {
	font-family: var(--cc-display, inherit);
	font-size: 22px;
	font-weight: 700;
	text-align: center;
	margin: 0 0 6px;
	color: var(--cc-ink, #0d0d0d);
	letter-spacing: -.01em;
}
.cc-cart-popup__subtitle {
	font-size: 13px;
	color: var(--cc-ink-2, #5e5e5e);
	text-align: center;
	margin: 0 0 20px;
}
.cc-cart-popup__product {
	display: flex; align-items: center; gap: 14px;
	padding: 14px;
	background: var(--cc-bg, #fbf6eb);
	border-radius: 12px;
	margin-bottom: 14px;
}
.cc-cart-popup__thumb {
	width: 72px; height: 72px; flex-shrink: 0;
	border-radius: 10px;
	background: #fff center/cover no-repeat;
	border: 1px solid var(--cc-line, #e7dcc1);
}
.cc-cart-popup__thumb--ph { background: linear-gradient(135deg, #f2e8c8, #e7dcc1); }
.cc-cart-popup__info { flex: 1; min-width: 0; }
.cc-cart-popup__name {
	font-weight: 700;
	font-size: 15px;
	color: var(--cc-ink, #0d0d0d);
	line-height: 1.3;
	margin-bottom: 6px;
	display: flex; align-items: center; gap: 8px;
}
.cc-cart-popup__qty {
	display: inline-block;
	background: var(--cc-ink, #0d0d0d);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 999px;
}
.cc-cart-popup__meas {
	display: flex; align-items: baseline; gap: 4px;
	font-size: 13px;
	color: var(--cc-ink-2, #5e5e5e);
	flex-wrap: wrap;
}
.cc-cart-popup__meas-num { font-weight: 700; color: var(--cc-ink, #0d0d0d); font-size: 15px; }
.cc-cart-popup__meas-x { color: var(--cc-ink-3, #8a8a8a); }
.cc-cart-popup__meas-unit { font-size: 12px; color: var(--cc-ink-3, #8a8a8a); margin-left: 2px; }
.cc-cart-popup__meas-area { margin-left: 6px; color: var(--cc-ink-2, #5e5e5e); }
.cc-cart-popup__vars {
	display: flex; flex-wrap: wrap; gap: 8px;
	margin: 0 0 14px;
}
.cc-cart-popup__var {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 6px 12px 6px 6px;
	background: var(--cc-bg, #fbf6eb);
	border: 1px solid var(--cc-line, #e7dcc1);
	border-radius: 999px;
	font-size: 13px;
	line-height: 1;
}
.cc-cart-popup__var-swatch {
	display: inline-block;
	width: 22px; height: 22px;
	border-radius: 50%;
	background: #cccccc center/cover no-repeat;
	border: 1px solid rgba(0,0,0,0.08);
	flex-shrink: 0;
}
.cc-cart-popup__var-label {
	font-size: 11px;
	color: var(--cc-ink-2, #5e5e5e);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .03em;
}
.cc-cart-popup__var-value {
	color: var(--cc-ink, #0d0d0d);
	font-weight: 700;
}

.cc-cart-popup__lines {
	list-style: none; margin: 0 0 14px; padding: 0;
	display: flex; flex-direction: column; gap: 6px;
	font-size: 13px;
}
.cc-cart-popup__lines li {
	display: flex; justify-content: space-between; gap: 12px;
	padding: 6px 0;
	border-bottom: 1px dashed var(--cc-line, #e7dcc1);
}
.cc-cart-popup__lines li:last-child { border-bottom: 0; }
.cc-cart-popup__line-label {
	color: var(--cc-ink-2, #5e5e5e);
	flex: 1; min-width: 0;
}
.cc-cart-popup__line-value {
	font-weight: 600;
	color: var(--cc-ink, #0d0d0d);
	white-space: nowrap;
}
.cc-cart-popup__total {
	display: flex; justify-content: space-between; align-items: baseline;
	padding: 12px 14px;
	background: var(--cc-bg, #fbf6eb);
	border-radius: 10px;
	margin-bottom: 18px;
	border: 1px solid var(--cc-line, #e7dcc1);
}
.cc-cart-popup__total-label {
	font-size: 13px;
	color: var(--cc-ink-2, #5e5e5e);
	text-transform: uppercase;
	letter-spacing: .04em;
	font-weight: 600;
}
.cc-cart-popup__total-value {
	font-size: 22px;
	font-weight: 700;
	color: var(--cc-accent, #b88b3b);
}
.cc-cart-popup__total-value .amount,
.cc-cart-popup__total-value bdi { color: inherit; font-weight: inherit; }
.cc-cart-popup__actions {
	display: flex; flex-direction: column; gap: 8px;
}
.cc-cart-popup .cc-btn {
	width: 100%;
	justify-content: center;
	padding: 13px 22px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
	transition: filter .15s ease, transform .15s ease;
	border: 1.5px solid transparent;
	font-family: var(--cc-sans);
	text-align: center;
	display: inline-flex; align-items: center; gap: 8px;
	text-decoration: none;
}
.cc-cart-popup__checkout {
	background: var(--cc-btn-bg, var(--cc-accent, #b88b3b)) !important;
	color: var(--cc-btn-text, #fff) !important;
}
.cc-cart-popup__checkout:hover { filter: brightness(1.08); transform: translateY(-1px); }
.cc-cart-popup__continue {
	background: #fff;
	color: var(--cc-ink, #0d0d0d);
	border-color: var(--cc-line, #e7dcc1) !important;
}
.cc-cart-popup__continue:hover { background: var(--cc-bg, #fbf6eb); transform: translateY(-1px); }

@media (max-width: 520px) {
	.cc-cart-popup__box { padding: 24px 18px 16px; border-radius: 16px; }
	.cc-cart-popup__title { font-size: 20px; }
	.cc-cart-popup__product { padding: 12px; gap: 12px; }
	.cc-cart-popup__thumb { width: 60px; height: 60px; }
	.cc-cart-popup__total-value { font-size: 19px; }
}

/* ── WhatsApp form modal (Visita técnica button 1) ──────── */
.cc-wa-modal {
	position: fixed; inset: 0;
	z-index: 100002;
	display: flex; align-items: center; justify-content: center;
	padding: 20px;
	opacity: 0;
	pointer-events: none;
	transition: opacity .22s ease;
}
.cc-wa-modal.is-open { opacity: 1; pointer-events: auto; }
.cc-wa-modal__overlay {
	position: absolute; inset: 0;
	background: rgba(13,13,13,0.6);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}
.cc-wa-modal__box {
	position: relative;
	width: 100%;
	max-width: 460px;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	background: var(--cc-surface, #fff);
	border-radius: 18px;
	padding: 26px 28px 22px;
	box-shadow: 0 30px 60px rgba(0,0,0,0.3);
	animation: cc-wa-modal-pop .26s cubic-bezier(.34,1.56,.64,1);
}
@keyframes cc-wa-modal-pop {
	from { transform: translateY(10px) scale(0.96); opacity: 0; }
	to   { transform: translateY(0)    scale(1);    opacity: 1; }
}
.cc-wa-modal__close {
	position: absolute; top: 12px; right: 12px;
	background: transparent; border: 0;
	width: 32px; height: 32px;
	border-radius: 50%;
	font-size: 22px; line-height: 1;
	color: var(--cc-ink-2, #5e5e5e);
	cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	transition: background .15s ease, color .15s ease;
}
.cc-wa-modal__close:hover { background: var(--cc-bg, #fbf6eb); color: var(--cc-ink, #0d0d0d); }
.cc-wa-modal__icon {
	width: 56px; height: 56px;
	margin: 0 auto 12px;
	border-radius: 50%;
	background: #25d366;
	color: #fff;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 6px 18px rgba(37, 211, 102, 0.35);
}
.cc-wa-modal__title {
	font-family: var(--cc-display, inherit);
	font-size: 22px;
	font-weight: 700;
	text-align: center;
	margin: 0 0 6px;
	color: var(--cc-ink, #0d0d0d);
	letter-spacing: -.01em;
}
.cc-wa-modal__intro {
	font-size: 13.5px;
	color: var(--cc-ink-2, #5e5e5e);
	text-align: center;
	margin: 0 0 20px;
	line-height: 1.45;
}
.cc-wa-modal__form { display: flex; flex-direction: column; gap: 12px; }
.cc-wa-field { display: flex; flex-direction: column; gap: 4px; }
.cc-wa-field > span {
	font-size: 11.5px;
	color: var(--cc-ink-2, #5e5e5e);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.cc-wa-field > span em {
	color: #d9534f;
	font-style: normal;
	margin-left: 2px;
}
.cc-wa-field__opt {
	color: var(--cc-ink-3, #999) !important;
	font-weight: 500;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.cc-wa-field input,
.cc-wa-field textarea {
	width: 100%;
	padding: 10px 14px;
	border: 1.5px solid var(--cc-line, #e7dcc1);
	border-radius: 10px;
	font-size: 14px;
	font-family: inherit;
	background: #fff;
	color: var(--cc-ink, #0d0d0d);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.cc-wa-field input:focus,
.cc-wa-field textarea:focus {
	outline: none;
	border-color: #25d366;
	box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.18);
}
.cc-wa-field input.is-invalid,
.cc-wa-field textarea.is-invalid {
	border-color: #d9534f;
	box-shadow: 0 0 0 3px rgba(217, 83, 79, 0.12);
}
.cc-wa-modal__submit {
	margin-top: 8px;
	background: #25d366 !important;
	color: #fff !important;
	border: 0 !important;
	padding: 14px 24px !important;
	font-size: 14.5px !important;
	font-weight: 700 !important;
	border-radius: 999px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px;
	cursor: pointer;
	transition: filter .15s ease, transform .15s ease;
}
.cc-wa-modal__submit:hover { filter: brightness(1.08); transform: translateY(-1px); }
.cc-wa-modal__submit:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }

@media (max-width: 520px) {
	.cc-wa-modal__box { padding: 22px 18px 18px; border-radius: 14px; }
	.cc-wa-modal__title { font-size: 19px; }
	.cc-wa-modal__icon { width: 48px; height: 48px; }
}

/* ── Exit / scheduled popup ───────────────────────────────── */
.cc-exitpop {
	position: fixed; inset: 0;
	z-index: 100003;
	display: flex; align-items: center; justify-content: center;
	padding: 20px;
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s ease;
}
.cc-exitpop.is-open { opacity: 1; pointer-events: auto; }
.cc-exitpop__overlay {
	position: absolute; inset: 0;
	background: rgba(13,13,13,0.72);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}
.cc-exitpop__box {
	position: relative;
	width: 100%;
	max-width: 480px;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	background: var(--cc-surface, #fff);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 40px 80px rgba(0,0,0,0.45);
	animation: cc-exitpop-pop .35s cubic-bezier(.34,1.56,.64,1);
}
@keyframes cc-exitpop-pop {
	from { transform: translateY(20px) scale(0.92); opacity: 0; }
	to   { transform: translateY(0)    scale(1);    opacity: 1; }
}
.cc-exitpop__close {
	position: absolute; top: 10px; right: 10px;
	z-index: 2;
	background: rgba(255,255,255,0.95);
	border: 0;
	width: 36px; height: 36px;
	border-radius: 50%;
	font-size: 22px; line-height: 1;
	color: var(--cc-ink, #0d0d0d);
	cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 4px 12px rgba(0,0,0,0.18);
	transition: transform .15s ease, background .15s ease;
}
.cc-exitpop__close:hover { transform: scale(1.05); background: #fff; }
.cc-exitpop__media {
	display: block;
	width: 100%;
	height: 260px;
	background: var(--cc-bg, #fbf6eb) center/cover no-repeat;
	border-bottom: 1px solid var(--cc-line, #e7dcc1);
}
.cc-exitpop__body {
	padding: 26px 28px 24px;
	text-align: center;
}
.cc-exitpop__title {
	font-family: var(--cc-display, inherit);
	font-size: 26px;
	font-weight: 700;
	color: var(--cc-ink, #0d0d0d);
	margin: 0 0 10px;
	letter-spacing: -.01em;
	line-height: 1.15;
}
.cc-exitpop__text {
	font-size: 14.5px;
	color: var(--cc-ink-2, #5e5e5e);
	margin: 0 0 20px;
	line-height: 1.5;
}
.cc-exitpop__cta {
	display: inline-flex; align-items: center; justify-content: center;
	width: 100%;
	background: var(--cc-btn-bg, var(--cc-accent, #b88b3b)) !important;
	color: var(--cc-btn-text, #fff) !important;
	padding: 14px 24px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 700;
	border: 0;
	text-decoration: none;
	cursor: pointer;
	font-family: var(--cc-sans);
	transition: filter .15s ease, transform .15s ease;
	letter-spacing: .005em;
}
.cc-exitpop__cta:hover { filter: brightness(1.08); transform: translateY(-1px); }
.cc-exitpop__dismiss {
	display: block;
	background: transparent;
	border: 0;
	padding: 12px 0 0;
	margin: 12px auto 0;
	color: var(--cc-ink-3, #8a8a8a);
	font-size: 13px;
	text-decoration: underline;
	cursor: pointer;
	font-family: var(--cc-sans);
}
.cc-exitpop__dismiss:hover { color: var(--cc-ink-2, #5e5e5e); }

@media (max-width: 520px) {
	.cc-exitpop__box { border-radius: 16px; }
	.cc-exitpop__media { height: 200px; }
	.cc-exitpop__body { padding: 22px 20px 20px; }
	.cc-exitpop__title { font-size: 22px; }
	.cc-exitpop__text  { font-size: 13.5px; }
}

/* ── Sticky add-to-cart bar (PDP) ───────────────────────────── */
.cc-pdp-sticky {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 9990;
	background: var(--cc-surface, #fff);
	border-top: 1px solid var(--cc-line, #e7dcc1);
	box-shadow: 0 -6px 20px rgba(13, 13, 13, 0.08);
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
	transform: translateY(100%);
	transition: transform .28s cubic-bezier(.4,.0,.2,1);
	pointer-events: none;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.cc-pdp-sticky.is-visible {
	transform: translateY(0);
	pointer-events: auto;
}
.cc-pdp-sticky__inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 14px;
}
.cc-pdp-sticky__thumb {
	width: 48px; height: 48px; flex-shrink: 0;
	border-radius: 10px;
	background: var(--cc-bg, #fbf6eb) center/cover no-repeat;
	border: 1px solid var(--cc-line, #e7dcc1);
}
.cc-pdp-sticky__info {
	flex: 1; min-width: 0;
	display: flex; flex-direction: column; gap: 2px;
	line-height: 1.2;
}
.cc-pdp-sticky__name {
	font-family: var(--cc-display, inherit);
	font-weight: 700;
	font-size: 14px;
	color: var(--cc-ink, #0d0d0d);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.cc-pdp-sticky__price-row {
	display: flex; align-items: baseline; gap: 6px;
}
.cc-pdp-sticky__prefix {
	font-size: 11px;
	color: var(--cc-ink-2, #5e5e5e);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.cc-pdp-sticky__amount {
	font-size: 17px;
	font-weight: 700;
	color: var(--cc-accent, #b88b3b);
	white-space: nowrap;
}
.cc-pdp-sticky__amount .amount,
.cc-pdp-sticky__amount bdi { color: inherit; font-weight: inherit; }
.cc-pdp-sticky__cta,
.cc-pdp-sticky button.cc-pdp-sticky__cta,
.cc-pdp-sticky .cc-btn.cc-pdp-sticky__cta {
	flex-shrink: 0;
	background: var(--cc-btn-bg, var(--cc-accent, #b88b3b)) !important;
	background-color: var(--cc-btn-bg, var(--cc-accent, #b88b3b)) !important;
	color: var(--cc-btn-text, #fff) !important;
	border: 0 !important;
	border-radius: 999px;
	padding: 11px 22px;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .01em;
	cursor: pointer;
	transition: filter .15s ease, transform .15s ease;
	white-space: nowrap;
	box-shadow: none;
	font-family: var(--cc-sans);
}
.cc-pdp-sticky__cta:hover {
	filter: brightness(1.08);
	background: var(--cc-btn-bg, var(--cc-accent, #b88b3b)) !important;
	color: var(--cc-btn-text, #fff) !important;
	transform: translateY(-1px);
}
.cc-pdp-sticky__cta:active { transform: translateY(0); filter: brightness(1); }

/* Mobile: always visible, more compact */
@media (max-width: 768px) {
	.cc-pdp-sticky {
		transform: translateY(0);
		pointer-events: auto;
		padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
	}
	.cc-pdp-sticky__inner { gap: 10px; }
	.cc-pdp-sticky__thumb { width: 42px; height: 42px; border-radius: 8px; }
	.cc-pdp-sticky__name { font-size: 13px; }
	.cc-pdp-sticky__amount { font-size: 15px; }
	.cc-pdp-sticky__prefix { font-size: 10px; }
	.cc-pdp-sticky__cta {
		padding: 10px 16px;
		font-size: 13px;
	}
	/* Add bottom padding to body so content above the sticky bar isn't covered */
	body.single-product { padding-bottom: 78px; }
}
@media (max-width: 420px) {
	/* Very small phones — hide thumb to save horizontal space */
	.cc-pdp-sticky__thumb { display: none; }
	.cc-pdp-sticky__cta { padding: 10px 14px; }
}

/* ── Lightbox (clicking the main PDP image) ──────────────────── */
.cc-lightbox {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.92);
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	cursor: zoom-out;
	animation: cc-fade-in .2s ease;
}
@keyframes cc-fade-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}
.cc-lightbox img {
	max-width: 92vw;
	max-height: 90vh;
	object-fit: contain;
	border-radius: 8px;
	box-shadow: 0 30px 80px rgba(0,0,0,0.5);
}
.cc-lightbox__close {
	position: absolute;
	top: 22px; right: 22px;
	width: 44px; height: 44px;
	border-radius: 50%;
	background: rgba(255,255,255,0.15);
	color: #fff;
	border: 0;
	font-size: 28px;
	cursor: pointer;
	display: grid;
	place-items: center;
	transition: background .15s ease;
}
.cc-lightbox__close:hover { background: rgba(255,255,255,0.3); }

.cc-pdp__buy-trust {
	padding: 22px 24px;
	background: var(--cc-surface);
	border: 1px solid var(--cc-line);
	border-radius: 14px;
	font-size: 13px; color: var(--cc-ink-2);
}
.cc-pdp__buy-trust > div { display: flex; gap: 10px; align-items: flex-start; }
.cc-pdp__buy-trust > div + div { margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--cc-line); }
.cc-pdp__buy-trust span:first-child { font-size: 22px; }
.cc-pdp__buy-trust strong { color: var(--cc-ink); font-weight: 700; display: block; margin-bottom: 2px; }
.cc-pdp__buy-trust .cc-accent { color: var(--cc-accent); font-weight: 700; }

.cc-pdp__buy-help {
	padding: 22px 24px;
	background: var(--cc-ink);
	color: #fff;
	border-radius: 14px;
	margin-top: 12px;
}
.cc-pdp__buy-help strong { font-size: 14px; font-weight: 700; display: block; margin-bottom: 6px; }
.cc-pdp__buy-help p      { font-size: 12.5px; opacity: 0.7; margin-bottom: 14px; }

/* PDP tabs */
.cc-pdp-tabs { padding: 30px var(--cc-pad-x) 80px; }
.cc-pdp-tabs ul.tabs { display: flex; gap: 6px; border-bottom: 2px solid var(--cc-line); margin-bottom: 24px; padding: 0; }
.cc-pdp-tabs ul.tabs li {
	padding: 14px 22px; font-size: 14px; font-weight: 600;
	color: var(--cc-ink-2);
	margin-bottom: -2px;
	background: transparent;
	border: 0;
	border-radius: 0;
	list-style: none;
}
.cc-pdp-tabs ul.tabs li::before, .cc-pdp-tabs ul.tabs li::after { display: none; }
.cc-pdp-tabs ul.tabs li.active { color: var(--cc-ink); border-bottom: 3px solid var(--cc-accent); }
.cc-pdp-tabs ul.tabs li a { color: inherit; padding: 0; }
.cc-pdp-tabs .woocommerce-Tabs-panel h2 { font-family: var(--cc-display); font-size: 24px; font-weight: 700; margin-bottom: 14px; }
.cc-pdp-tabs table.shop_attributes { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.cc-pdp-tabs table.shop_attributes tr { background: transparent; }
.cc-pdp-tabs table.shop_attributes tr:nth-child(even) { background: var(--cc-surface); }
.cc-pdp-tabs table.shop_attributes th,
.cc-pdp-tabs table.shop_attributes td { padding: 12px 16px; border: 0; }
.cc-pdp-tabs table.shop_attributes th { color: var(--cc-ink-2); width: 40%; font-weight: 600; }
.cc-pdp-tabs table.shop_attributes td { color: var(--cc-ink); }

/* Related products */
.cc-related { padding: 0 var(--cc-pad-x) 80px; }
.cc-related h2 { font-family: var(--cc-display); font-size: 32px; font-weight: 700; margin-bottom: 18px; }

/* ── Cart ─────────────────────────────────────────────────── */
/* Hide Storefront's right-sidebar widget area on cart/checkout/account pages.
   These pages use page-cart.php / page-checkout.php / page-my-account.php
   wrappers, but Storefront's body class still ships `right-sidebar`. */
body.woocommerce-cart #secondary,
body.woocommerce-checkout #secondary,
body.woocommerce-account #secondary,
body.cc-cart-page #secondary,
body.cc-checkout-page-wrap #secondary { display: none !important; }
body.woocommerce-cart .content-area,
body.woocommerce-checkout .content-area,
body.woocommerce-account .content-area { width: 100% !important; float: none !important; max-width: none !important; margin: 0 !important; }

.cc-cart-wrap,
.cc-checkout-wrap,
.cc-account-wrap { padding: 30px var(--cc-pad-x) 80px; min-height: 50vh; }
.cc-cart-wrap > h1,
.cc-checkout-wrap > h1 { font-family: var(--cc-display); font-size: 38px; font-weight: 700; margin: 0 0 24px; letter-spacing: -0.015em; }

.cc-cart { padding: 40px var(--cc-pad-x) 0; }
.cc-cart h1 { font-family: var(--cc-display); font-size: 38px; font-weight: 700; margin-bottom: 18px; letter-spacing: -0.015em; }

/* Cart layout — cart on the left, totals on the right */
.woocommerce-cart .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr);
	gap: 28px;
	align-items: flex-start;
}
.woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-cart .woocommerce-cart-form { min-width: 0; }
.woocommerce-cart .cart-collaterals { width: 100% !important; padding: 0; float: none !important; }
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-cart .cart-collaterals .cross-sells { width: 100% !important; float: none !important; }
.woocommerce-cart .cart-collaterals .cross-sells { margin-top: 20px; }

.woocommerce-cart table.shop_table {
	background: var(--cc-surface);
	border-radius: 12px;
	border: 1px solid var(--cc-line);
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
	margin: 0;
	width: 100%;
}
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
	border: 0;
	border-bottom: 1px solid var(--cc-line);
	padding: 16px;
	font-size: 14px;
}
.woocommerce-cart table.shop_table th { font-size: 11px; text-transform: uppercase; letter-spacing: 0.16em; color: var(--cc-ink-3); font-weight: 700; background: var(--cc-bg); }
.woocommerce-cart table.shop_table .product-thumbnail img { width: 64px; height: 64px; object-fit: contain; border-radius: 8px; border: 1px solid var(--cc-line); background: var(--cc-cream); padding: 4px; }
.woocommerce-cart table.shop_table .product-name a { color: var(--cc-ink); font-weight: 600; }
.woocommerce-cart table.shop_table .product-name a:hover { color: var(--cc-accent); }
.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal { font-family: var(--cc-display); font-weight: 700; color: var(--cc-ink); white-space: nowrap; }
.woocommerce-cart table.shop_table .quantity .qty {
	width: 76px;
	padding: 8px 10px;
	border: 1px solid var(--cc-line);
	border-radius: 8px;
	background: #fff;
	font-size: 14px;
	font-weight: 600;
	color: var(--cc-ink);
	text-align: center;
}
.woocommerce-cart table.shop_table tr.cart_item:hover { background: var(--cc-bg); }

/* Remove (×) link */
.woocommerce-cart table.shop_table .product-remove a.remove {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--cc-cream) !important;
	color: var(--cc-ink) !important;
	border: 1px solid var(--cc-line);
	font-size: 18px;
	font-weight: 600;
	text-decoration: none;
	line-height: 1;
}
.woocommerce-cart table.shop_table .product-remove a.remove:hover {
	background: #c1272d !important;
	color: #fff !important;
	border-color: #c1272d;
}

/* Cart actions row (coupon + update cart) */
.woocommerce-cart .cart_table_item + .actions,
.woocommerce-cart .cart .actions,
.woocommerce-cart table.shop_table tr.actions td {
	padding-top: 14px;
}
.woocommerce-cart .coupon { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.woocommerce-cart .coupon input.input-text {
	flex: 1;
	min-width: 180px;
	padding: 12px 14px;
	border: 1.5px solid var(--cc-line);
	border-radius: 8px;
	background: #fff;
	font-size: 14px;
}

/* Cart-totals box on the right */
.woocommerce-cart .cart_totals {
	background: var(--cc-surface);
	border-radius: 12px;
	padding: 22px 24px;
	border: 1px solid var(--cc-line);
	position: sticky;
	top: 18px;
}
.woocommerce-cart .cart_totals h2 { font-family: var(--cc-display); font-size: 22px; font-weight: 700; margin: 0 0 16px; }
.woocommerce-cart .cart_totals table { width: 100%; border-collapse: collapse; }
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
	padding: 10px 0;
	border-bottom: 1px solid var(--cc-line);
	font-size: 14px;
	color: var(--cc-ink-2);
	background: transparent;
	font-weight: 500;
	text-align: left;
}
.woocommerce-cart .cart_totals table td { text-align: right; font-weight: 600; color: var(--cc-ink); }
.woocommerce-cart .cart_totals .order-total td,
.woocommerce-cart .cart_totals .order-total th { font-family: var(--cc-display); font-size: 18px; font-weight: 700; color: var(--cc-ink); border-bottom: 0; padding-top: 14px; }
.woocommerce-cart .cart_totals .wc-proceed-to-checkout { margin-top: 16px; padding: 0; }

/* "Pasar a la caja" + "Actualizar carrito" + "Aplicar cupón" + WC buttons in general */
body.cc-art .woocommerce a.button,
body.cc-art .woocommerce button.button,
body.cc-art .woocommerce-cart button[type="submit"],
body.cc-art .woocommerce-cart input[type="submit"],
body.cc-art .wc-proceed-to-checkout a.checkout-button,
body.cc-art .checkout-button.button {
	display: inline-block !important;
	background: var(--cc-btn-bg, var(--cc-accent)) !important;
	color: var(--cc-btn-text, #fff) !important;
	border: 0 !important;
	border-radius: 30px !important;
	padding: 14px 26px !important;
	font-family: var(--cc-sans) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	text-align: center;
	cursor: pointer;
	transition: filter .15s ease, transform .15s ease;
}
body.cc-art .woocommerce a.button:hover,
body.cc-art .woocommerce button.button:hover,
body.cc-art .checkout-button.button:hover { filter: brightness(1.08); }

body.cc-art .wc-proceed-to-checkout a.checkout-button,
body.cc-art .checkout-button.button {
	width: 100% !important;
	padding: 17px !important;
	font-size: 15px !important;
}

/* "Actualizar carrito" and "Aplicar cupón" — secondary ink style */
body.cc-art button[name="update_cart"],
body.cc-art button[name="apply_coupon"],
body.cc-art input[name="update_cart"],
body.cc-art input[name="apply_coupon"] {
	background: var(--cc-ink) !important;
	color: #fff !important;
}

/* Cross-sells (related products under the cart) */
.woocommerce-cart .cross-sells h2 { font-family: var(--cc-display); font-size: 22px; font-weight: 700; margin-bottom: 16px; }
.woocommerce-cart .cross-sells ul.products { grid-template-columns: repeat(2, 1fr); }

/* Empty cart state */
.cart-empty.woocommerce-info,
.woocommerce-cart .cart-empty {
	font-size: 15px;
	color: var(--cc-ink-2);
	padding: 22px 24px;
	background: var(--cc-surface);
	border: 1px solid var(--cc-line);
	border-left: 4px solid var(--cc-accent);
	border-radius: 10px;
}
.return-to-shop a.button { margin-top: 16px; }

/* ── Checkout / Cart minimal header ─────────────────────────
   The header background comes from `--cc-header-bg` (dark by default),
   so every text element in this bar is rendered in white/light tones.
   The steps use outlined circles for pending, accent fill for active,
   and a green ✓ check for done — readable on the dark bar. */
.cc-checkout-header {
	padding: 14px var(--cc-pad-x);
	display: flex; justify-content: space-between; align-items: center;
	background: var(--cc-header-bg, #0d0d0d);
	border-bottom: 1px solid rgba(255,255,255,0.08);
	color: #fff;
	gap: 18px;
}
/* If the site has a Custom Logo set, render it instead of the text */
.cc-checkout-header .cc-logo img,
.cc-checkout-header .custom-logo {
	display: block;
	height: var(--cc-logo-h, 56px);
	width: auto;
	max-width: 200px;
	object-fit: contain;
}
.cc-checkout-header .cc-logo-text {
	color: #fff !important;
	font-family: var(--cc-display, var(--cc-sans));
	font-weight: 700;
	font-size: 16px;
	letter-spacing: -.01em;
	text-decoration: none;
	display: inline-flex; align-items: baseline; gap: 8px;
}
.cc-checkout-header .cc-logo-text .cc-accent { color: var(--cc-accent, #b88b3b) !important; }

.cc-checkout-steps {
	display: flex; gap: 0; align-items: center;
	font-size: 13px;
	flex: 1; justify-content: center;
}
.cc-checkout-step {
	display: inline-flex; align-items: center; gap: 10px;
	color: rgba(255,255,255,0.55);
	font-weight: 500;
	letter-spacing: .005em;
	transition: color .2s ease;
}
.cc-checkout-step.is-active { color: #fff; font-weight: 700; }
.cc-checkout-step.is-done   { color: rgba(255,255,255,0.85); font-weight: 600; }
.cc-checkout-step__bullet {
	width: 28px; height: 28px;
	border-radius: 50%;
	background: transparent;
	border: 1.5px solid rgba(255,255,255,0.25);
	color: rgba(255,255,255,0.65);
	display: inline-grid; place-items: center;
	font-size: 12px; font-weight: 700;
	flex-shrink: 0;
	transition: background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.cc-checkout-step.is-done .cc-checkout-step__bullet {
	background: #1aa86b; /* green */
	border-color: #1aa86b;
	color: #fff;
	box-shadow: 0 0 0 4px rgba(26,168,107,0.18);
}
.cc-checkout-step.is-active .cc-checkout-step__bullet {
	background: var(--cc-accent, #b88b3b);
	border-color: var(--cc-accent, #b88b3b);
	color: #fff;
	box-shadow: 0 0 0 4px rgba(184,139,59,0.22);
}
.cc-checkout-step__divider {
	width: 36px; height: 1.5px;
	background: rgba(255,255,255,0.18);
	margin: 0 16px;
	border-radius: 1px;
}
.cc-checkout-secure {
	display: inline-flex; gap: 6px; align-items: center;
	font-size: 13px;
	color: #fff;
	font-weight: 600;
	white-space: nowrap;
}
.cc-checkout-secure i {
	color: var(--cc-accent, #b88b3b);
	font-style: normal;
	font-size: 14px;
}

/* ── Coupon prompt in checkout/cart — replace WC's default blue
   info banner with a brand-styled card. ─────────────────────── */
body.cc-art .woocommerce-form-coupon-toggle,
body.cc-art .woocommerce-form-coupon-toggle .woocommerce-info {
	background: transparent !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
}
body.cc-art .woocommerce-form-coupon-toggle .woocommerce-info {
	display: flex !important;
	align-items: center;
	gap: 12px;
	padding: 14px 18px !important;
	background: var(--cc-bg, #fbf6eb) !important;
	border: 1px dashed var(--cc-accent, #b88b3b) !important;
	border-radius: 12px !important;
	color: var(--cc-ink, #0d0d0d) !important;
	font-size: 13.5px;
	margin: 0 0 20px !important;
}
body.cc-art .woocommerce-form-coupon-toggle .woocommerce-info::before {
	content: "🎟";
	font-size: 18px;
	line-height: 1;
}
body.cc-art .woocommerce-form-coupon-toggle .showcoupon {
	color: var(--cc-accent, #b88b3b) !important;
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
}
body.cc-art .woocommerce-form-coupon-toggle .showcoupon:hover {
	color: var(--cc-ink, #0d0d0d) !important;
}
/* The expanded coupon form */
body.cc-art .checkout_coupon.woocommerce-form-coupon {
	background: var(--cc-bg, #fbf6eb) !important;
	border: 1px solid var(--cc-line, #e7dcc1) !important;
	border-radius: 12px !important;
	padding: 18px !important;
	margin: 0 0 20px !important;
}
body.cc-art .checkout_coupon.woocommerce-form-coupon p {
	margin: 0 0 10px !important;
	color: var(--cc-ink-2, #5e5e5e);
	font-size: 13px;
}
body.cc-art .checkout_coupon.woocommerce-form-coupon .form-row {
	display: flex; gap: 8px; align-items: center; margin: 0 !important;
}
body.cc-art .checkout_coupon.woocommerce-form-coupon input[name="coupon_code"] {
	flex: 1;
}
body.cc-art .checkout_coupon.woocommerce-form-coupon button[name="apply_coupon"] {
	background: var(--cc-btn-bg, var(--cc-accent, #b88b3b)) !important;
	color: var(--cc-btn-text, #fff) !important;
	border: 0 !important;
	padding: 10px 18px !important;
	border-radius: 30px !important;
	font-weight: 700 !important;
}

.cc-checkout-page { padding: 40px var(--cc-pad-x) 80px; }
.cc-checkout-page h1 { font-family: var(--cc-display); font-size: 34px; font-weight: 700; letter-spacing: -0.015em; margin-bottom: 6px; }
.cc-checkout-intro { color: var(--cc-ink-2); font-size: 14px; margin-bottom: 24px; }
.cc-checkout-intro a { color: var(--cc-accent); font-weight: 700; }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1.5fr 1fr; gap: 36px; align-items: flex-start; }
.woocommerce-checkout #customer_details { display: grid; gap: 14px; }
.woocommerce-checkout .col-1, .woocommerce-checkout .col-2 { width: 100% !important; max-width: none !important; padding: 26px 28px; background: var(--cc-surface); border-radius: 12px; border: 1px solid var(--cc-line); margin-bottom: 0; }
.woocommerce-checkout h3 { font-size: 17px; font-weight: 700; color: var(--cc-ink); margin-bottom: 18px; }
.woocommerce-checkout .form-row { margin: 0 0 12px; padding: 0; }
.woocommerce-checkout .form-row label {
	display: block;
	font-size: 12px;
	color: var(--cc-ink-2);
	font-weight: 600;
	margin-bottom: 4px;
}
/* Form field styling — works for classic checkout AND any leftover blocks UI.
   Scoped to .cc-art so it doesn't leak into wp-admin. */
body.cc-art .woocommerce form .form-row input.input-text,
body.cc-art .woocommerce form .form-row textarea,
body.cc-art .woocommerce form .form-row select,
body.cc-art .woocommerce-checkout .form-row input.input-text,
body.cc-art .woocommerce-checkout .form-row textarea,
body.cc-art .woocommerce-checkout .form-row select,
body.cc-art .woocommerce-checkout .form-row .select2-selection,
body.cc-art .woocommerce-account input.input-text,
body.cc-art .wc-block-components-text-input input,
body.cc-art .wc-block-components-textarea,
body.cc-art .wc-block-components-select select {
	width: 100% !important;
	padding: 13px 14px !important;
	border-radius: 8px !important;
	border: 1.5px solid var(--cc-line) !important;
	background: #fff !important;
	font-size: 14px !important;
	color: var(--cc-ink) !important;
	font-family: var(--cc-sans) !important;
	box-shadow: none !important;
	transition: border-color .15s ease, box-shadow .15s ease;
	min-height: 46px;
}
body.cc-art .woocommerce form .form-row input.input-text:focus,
body.cc-art .woocommerce form .form-row textarea:focus,
body.cc-art .woocommerce form .form-row select:focus {
	border-color: var(--cc-accent) !important;
	outline: 0 !important;
	box-shadow: 0 0 0 3px rgba(184,139,59,0.18) !important;
}
body.cc-art .woocommerce form .form-row label {
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: var(--cc-ink-2) !important;
	margin-bottom: 4px !important;
	display: block;
}
body.cc-art .woocommerce form .form-row .required {
	color: var(--cc-accent);
	text-decoration: none;
}
body.cc-art .woocommerce form .form-row.woocommerce-invalid .input-text {
	border-color: #c1272d !important;
}
/* Select2 (country/state dropdowns) */
body.cc-art .select2-container--default .select2-selection--single {
	height: 46px !important;
	padding: 6px 10px !important;
	border-radius: 8px !important;
	border: 1.5px solid var(--cc-line) !important;
	background: #fff !important;
}
body.cc-art .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 32px !important;
	color: var(--cc-ink) !important;
	padding: 0 !important;
}
body.cc-art .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 44px !important;
}
body.cc-art .select2-dropdown {
	border-radius: 8px !important;
	border: 1.5px solid var(--cc-line) !important;
	overflow: hidden;
}
body.cc-art .select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: var(--cc-accent) !important;
	color: #fff !important;
}
.woocommerce-checkout #order_review_heading { font-family: var(--cc-display); font-size: 22px; font-weight: 700; margin: 0 0 16px; }
.woocommerce-checkout #order_review {
	padding: 24px 26px;
	background: var(--cc-surface);
	border: 1px solid var(--cc-line);
	border-radius: 12px;
	position: sticky;
	top: 14px;
}
.woocommerce-checkout #order_review table.shop_table {
	background: transparent;
	border: 0;
	border-collapse: collapse;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td { padding: 10px 0; border: 0; border-bottom: 1px solid var(--cc-line); font-size: 13px; }
.woocommerce-checkout #order_review .order-total td { font-family: var(--cc-display); font-size: 28px; font-weight: 700; color: var(--cc-ink); }
.woocommerce-checkout #payment {
	background: transparent;
	border-radius: 0;
	padding: 0;
	margin-top: 16px;
}
.woocommerce-checkout #payment ul.payment_methods {
	border: 0;
	padding: 0;
	margin: 0 0 14px;
	display: grid;
	gap: 8px;
}
.woocommerce-checkout #payment ul.payment_methods li {
	padding: 16px 14px;
	border-radius: 10px;
	border: 1.5px solid var(--cc-line);
	background: #fff;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method input[type="radio"]:checked + label,
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method input[type="radio"]:checked ~ label { color: var(--cc-accent); font-weight: 700; }
.woocommerce-checkout #place_order {
	width: 100%;
	background: var(--cc-accent) !important;
	color: #fff !important;
	padding: 18px;
	border-radius: 30px;
	font-size: 15px;
	font-weight: 700;
	margin-top: 14px;
}

/* ── Generic Woo overrides ────────────────────────────────── */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 0; padding: 0; list-style: none; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	padding: 0;
	clear: none;
	float: none;
	display: flex;
}
.woocommerce ul.products li.product .cc-product-card,
.cc-products-grid li.product .cc-product-card { width: 100%; }
.cc-products-grid li.product, .cc-products-grid > li { display: flex; }

.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	padding: 14px 18px 14px 50px;
	border-radius: 10px;
	background: var(--cc-surface);
	border-left: 4px solid var(--cc-accent);
	margin: 20px var(--cc-pad-x);
	color: var(--cc-ink-2);
}

/* ============================================================
   Mini-cart drawer — slides in from the right.
   Works on desktop and mobile (full-width on small screens).
   ============================================================ */
.cc-minicart {
	position: fixed;
	top: 0; right: 0;
	width: 420px; max-width: 92vw;
	height: 100vh; height: 100dvh;
	background: var(--cc-surface, #fff);
	color: var(--cc-ink);
	z-index: 10000;
	display: flex;
	flex-direction: column;
	box-shadow: -10px 0 40px rgba(0,0,0,0.25);
	transform: translateX(100%);
	transition: transform .28s ease;
	font-family: var(--cc-sans);
}
.cc-minicart.is-open { transform: translateX(0); }

.cc-minicart-overlay {
	position: fixed; inset: 0;
	background: rgba(0,0,0,0.45);
	z-index: 9999;
	opacity: 0; pointer-events: none;
	transition: opacity .2s ease;
}
.cc-minicart-overlay.is-open { opacity: 1; pointer-events: auto; }

.cc-minicart-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 22px;
	border-bottom: 1px solid var(--cc-line);
	background: var(--cc-bg);
}
.cc-minicart-head h2 {
	font-family: var(--cc-display);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 0;
}
.cc-minicart-close {
	width: 36px; height: 36px;
	border-radius: 50%;
	background: var(--cc-surface);
	color: var(--cc-ink);
	font-size: 22px; line-height: 1;
	border: 1px solid var(--cc-line);
	display: grid; place-items: center;
}

#cc-minicart-body {
	flex: 1;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.cc-minicart-items {
	flex: 1;
	overflow-y: auto;
	padding: 6px 22px 8px;
	list-style: none;
	margin: 0;
}
.cc-minicart-item {
	display: grid;
	grid-template-columns: 64px 1fr auto;
	gap: 12px;
	padding: 16px 0;
	border-bottom: 1px solid var(--cc-line);
	align-items: flex-start;
}
.cc-minicart-thumb {
	width: 64px; height: 64px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--cc-cream);
	border: 1px solid var(--cc-line);
}
.cc-minicart-thumb img,
.cc-minicart-thumb .cc-minicart-img {
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}
.cc-minicart-info { min-width: 0; }
.cc-minicart-title {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--cc-ink);
	line-height: 1.25;
	margin-bottom: 4px;
	word-break: break-word;
}
.cc-minicart-qty {
	font-size: 12.5px;
	color: var(--cc-ink-3);
	margin-bottom: 6px;
}
.cc-minicart-remove {
	display: inline-block;
	font-size: 11.5px;
	font-weight: 600;
	color: var(--cc-ink-2);
	text-decoration: underline;
}
.cc-minicart-remove:hover { color: #c1272d; }
.cc-minicart-line {
	font-family: var(--cc-display);
	font-size: 16px;
	font-weight: 700;
	color: var(--cc-ink);
	white-space: nowrap;
}

.cc-minicart-foot {
	padding: 18px 22px 24px;
	border-top: 1px solid var(--cc-line);
	background: var(--cc-bg);
	display: grid;
	gap: 10px;
}
.cc-minicart-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	font-size: 14px;
	color: var(--cc-ink-2);
	margin-bottom: 4px;
}
.cc-minicart-row strong {
	font-family: var(--cc-display);
	font-size: 22px;
	font-weight: 700;
	color: var(--cc-ink);
}
.cc-minicart-foot .cc-btn { width: 100%; justify-content: center; }
.cc-minicart-trust {
	font-size: 11.5px;
	color: var(--cc-ink-3);
	text-align: center;
	margin: 6px 0 0;
}

.cc-minicart-empty {
	padding: 60px 26px 40px;
	text-align: center;
	color: var(--cc-ink-2);
	display: grid;
	gap: 14px;
	place-items: center;
}
.cc-minicart-empty__icon { font-size: 56px; opacity: 0.4; }
.cc-minicart-empty .cc-btn { margin-top: 10px; }

/* ============================================================
   Mobile-only hamburger + drawer
   Hidden on desktop, revealed at ≤900px breakpoint.
   ============================================================ */
.cc-menu-btn {
	display: none;
	width: 42px; height: 42px;
	align-items: center; justify-content: center;
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.18);
	border-radius: 10px;
	color: #fff;
}
.cc-menu-btn .cc-burger { display: flex; }
.cc-menu-btn .cc-burger span { background: #fff; }
.cc-mobile-actions { display: none; align-items: center; gap: 6px; }
.cc-mobile-cart {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 10px 12px;
	border-radius: 24px;
	background: var(--cc-btn-bg, var(--cc-accent));
	color: var(--cc-btn-text, #fff) !important;
	font-size: 13px; font-weight: 700;
	position: relative;
}
.cc-mobile-cart-count {
	position: absolute; top: -6px; right: -6px;
	min-width: 18px; height: 18px; padding: 0 5px;
	background: var(--cc-ink); color: #fff;
	border-radius: 9px;
	font-size: 10px; font-weight: 700;
	display: grid; place-items: center;
	border: 2px solid var(--cc-header-bg, var(--cc-ink));
}

.cc-drawer {
	position: fixed;
	top: 0; left: 0;
	width: 320px; max-width: 88vw;
	height: 100vh; height: 100dvh;
	background: var(--cc-ink); color: #fff;
	z-index: 9999;
	overflow-y: auto;
	transform: translateX(-100%);
	transition: transform .25s ease;
	padding: 22px 22px 60px;
	box-shadow: 8px 0 40px rgba(0,0,0,0.3);
	display: flex; flex-direction: column; gap: 18px;
}
.cc-drawer.is-open { transform: translateX(0); }
.cc-drawer__head {
	display: flex; justify-content: space-between; align-items: center;
	padding: 0 0 12px 0;
	border-bottom: 1px solid rgba(255,255,255,0.1);
}
.cc-drawer__title {
	font-family: var(--cc-display);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #fff;
}
.cc-drawer__close {
	width: 36px; height: 36px; border-radius: 50%;
	background: rgba(255,255,255,0.08);
	color: #fff; font-size: 22px; line-height: 1;
	cursor: pointer; border: 0;
	display: grid; place-items: center;
}
.cc-drawer__close:hover { background: rgba(255,255,255,0.18); }

/* Drawer search */
.cc-drawer .cc-search { position: relative; }
.cc-drawer .cc-search input {
	width: 100%;
	padding: 12px 86px 12px 40px;
	border-radius: 24px;
	border: 1.5px solid rgba(255,255,255,0.15);
	background: rgba(255,255,255,0.06);
	font-size: 14px;
	color: #fff;
}
.cc-drawer .cc-search button[type="submit"] {
	position: absolute; right: 4px; top: 4px;
	padding: 7px 14px;
	border-radius: 18px;
	background: var(--cc-accent);
	color: var(--cc-ink);
	font-size: 12px;
	font-weight: 700;
	border: 0;
	cursor: pointer;
}

/* Quick actions row (Login + Favoritos + Carrito) */
.cc-drawer__quick {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin: 4px 0 8px;
}
.cc-drawer__quick-item {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center !important;
	gap: 6px;
	padding: 14px 6px;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 12px;
	color: #fff !important;
	font-size: 12.5px;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.cc-drawer__quick-item:hover {
	background: rgba(255,255,255,0.1);
	border-color: var(--cc-accent);
	color: #fff !important;
	transform: translateY(-1px);
}
.cc-drawer__quick-icon {
	position: relative;
	display: inline-block;
	font-size: 22px;
	line-height: 1;
}
.cc-drawer__quick-badge {
	position: absolute;
	top: -8px; right: -10px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	background: var(--cc-accent);
	color: #fff;
	border-radius: 9px;
	font-size: 10px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
}
.cc-drawer__quick-label { display: block; line-height: 1.2; }

/* Section titles + items */
.cc-drawer__section { display: flex; flex-direction: column; gap: 2px; margin-top: 6px; }
.cc-drawer__section-title {
	font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
	color: rgba(255,255,255,0.5); font-weight: 700;
	padding: 8px 0 4px;
}
.cc-drawer__item {
	display: flex !important; align-items: center; gap: 12px;
	padding: 12px 10px !important;
	font-size: 14.5px; font-weight: 500;
	color: #fff !important;
	background: transparent;
	border-radius: 10px;
	border-bottom: 0 !important;
	transition: background .15s ease, color .15s ease;
	justify-content: flex-start !important;
}
.cc-drawer__item:hover { background: rgba(255,255,255,0.06); color: var(--cc-accent) !important; }
.cc-drawer__item-ico {
	display: inline-grid; place-items: center;
	width: 32px; height: 32px;
	background: rgba(255,255,255,0.06);
	border-radius: 8px;
	font-size: 14px;
	color: var(--cc-accent);
	flex-shrink: 0;
}
.cc-drawer__item-label { flex: 1; }
.cc-drawer__item-count { font-size: 12px; color: rgba(255,255,255,0.5); }
.cc-drawer__item-chev { font-size: 18px; color: rgba(255,255,255,0.4); }
.cc-drawer__item:hover .cc-drawer__item-chev { color: var(--cc-accent); }

/* CTA WhatsApp button */
.cc-drawer a.is-cta {
	display: flex !important;
	align-items: center;
	justify-content: center !important;
	gap: 6px;
	background: #25d366 !important;
	color: #fff !important;
	border-radius: 24px;
	padding: 13px 16px !important;
	font-weight: 700;
	margin-top: 12px;
	border: 0;
	font-size: 14px;
}
.cc-drawer a.is-cta:hover { color: #fff !important; filter: brightness(1.08); }

/* ── Login modal (popup) ──────────────────────────────────── */
.cc-login-modal {
	position: fixed;
	inset: 0;
	z-index: 10001;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s ease, visibility 0s linear .25s;
}
.cc-login-modal.is-open {
	opacity: 1;
	visibility: visible;
	transition: opacity .25s ease, visibility 0s linear 0s;
}
.cc-login-modal__overlay {
	position: absolute; inset: 0;
	background: rgba(0,0,0,0.65);
	backdrop-filter: blur(4px);
}
.cc-login-modal__box {
	position: relative;
	background: var(--cc-surface, #fff);
	color: var(--cc-ink, #0d0d0d);
	border-radius: 14px;
	max-width: 420px;
	width: 100%;
	padding: 28px 26px 24px;
	box-shadow: 0 20px 60px rgba(0,0,0,0.4);
	z-index: 1;
	animation: cc-modal-pop .25s ease-out;
	max-height: 92vh;
	overflow-y: auto;
}
@keyframes cc-modal-pop {
	from { opacity: 0; transform: translateY(20px) scale(.96); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}
.cc-login-modal__close {
	position: absolute;
	top: 10px; right: 12px;
	width: 32px; height: 32px;
	border-radius: 50%;
	background: var(--cc-cream);
	color: var(--cc-ink);
	font-size: 20px; line-height: 1;
	border: 0;
	cursor: pointer;
	display: grid; place-items: center;
}
.cc-login-modal__close:hover { background: var(--cc-accent); color: #fff; }
.cc-login-modal__tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px;
	background: var(--cc-cream);
	border-radius: 10px;
	padding: 4px;
	margin-bottom: 18px;
}
.cc-login-modal__tab {
	padding: 10px 8px;
	border-radius: 8px;
	background: transparent;
	color: var(--cc-ink-2);
	font-size: 14px;
	font-weight: 600;
	font-family: var(--cc-sans);
	cursor: pointer;
	border: 0;
	transition: background .15s ease, color .15s ease;
}
.cc-login-modal__tab.is-active {
	background: #fff;
	color: var(--cc-ink);
	box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.cc-login-modal__panel { display: none; }
.cc-login-modal__panel.is-active { display: block; }
.cc-login-modal__panel h2 {
	font-family: var(--cc-display);
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 6px;
	letter-spacing: -0.015em;
	color: var(--cc-ink);
}
.cc-login-modal__lead {
	font-size: 13.5px;
	color: var(--cc-ink-2);
	margin: 0 0 18px;
	line-height: 1.55;
}
.cc-login-modal__panel form { display: grid; gap: 12px; }
.cc-login-modal__panel label {
	display: block;
	font-size: 12.5px;
	color: var(--cc-ink-2);
	font-weight: 600;
}
.cc-login-modal__panel label > span:first-child {
	display: block;
	margin-bottom: 4px;
}
.cc-login-modal__panel input[type="text"],
.cc-login-modal__panel input[type="email"],
.cc-login-modal__panel input[type="password"] {
	width: 100%;
	padding: 12px 14px;
	border-radius: 8px;
	border: 1.5px solid var(--cc-line);
	background: #fff;
	font-size: 14px;
	color: var(--cc-ink);
	font-family: var(--cc-sans);
}
.cc-login-modal__panel input:focus {
	outline: 0;
	border-color: var(--cc-accent);
	box-shadow: 0 0 0 3px rgba(184,139,59,0.18);
}
.cc-login-modal__remember {
	display: flex !important;
	align-items: center;
	gap: 8px;
	font-size: 13px !important;
	font-weight: 500 !important;
}
.cc-login-modal__remember input { width: auto !important; }
.cc-login-modal__panel button[type="submit"] { margin-top: 6px; width: 100%; padding: 14px; }
.cc-login-modal__forgot {
	margin: 8px 0 0;
	text-align: center;
	font-size: 13px;
}
.cc-login-modal__forgot a { color: var(--cc-accent); font-weight: 600; }
body.cc-modal-open { overflow: hidden; }

.cc-drawer-overlay {
	position: fixed; inset: 0;
	background: rgba(0,0,0,0.45);
	z-index: 9998;
	opacity: 0; pointer-events: none;
	transition: opacity .2s ease;
}
.cc-drawer-overlay.is-open { opacity: 1; pointer-events: auto; }
body.cc-drawer-locked { overflow: hidden; }

/* ============================================================
   Tablet (≤1100px) — denser grids, smaller paddings
   ============================================================ */
@media (max-width: 1100px) {
	:root { --cc-pad-x: 32px; }
	.cc-hero__title { font-size: 56px; }
	.cc-hero__inner { height: 460px; }
	.cc-cat-grid { grid-template-columns: repeat(3, 1fr); }
	.cc-products-grid { grid-template-columns: repeat(3, 1fr); }
	.cc-deal { grid-template-columns: 1fr; }
	.cc-banner { grid-template-columns: 1fr; padding: 28px; }
	.cc-pdp__grid { grid-template-columns: 80px 1fr 1fr; }
	.cc-pdp__buy { grid-column: 1 / -1; position: static; }
	.cc-footer-grid { grid-template-columns: 1fr 1fr 1fr; }
	.cc-usps-grid { grid-template-columns: repeat(2, 1fr); }
	.woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
	.cc-archive__layout { grid-template-columns: 1fr; }
	.woocommerce-cart .woocommerce { grid-template-columns: 1fr; }
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
}

/* ============================================================
   Tablet portrait / large mobile (≤900px)
   Header collapses to: [≡] [logo] [cart] · search hidden in drawer.
   ============================================================ */
@media (max-width: 900px) {
	:root { --cc-pad-x: 18px; }

	/* Promo bar — one tight line that wraps gracefully */
	.cc-promo-bar { font-size: 12px; padding: 8px 14px; gap: 10px; line-height: 1.3; flex-wrap: wrap; text-align: center; }
	.cc-promo-meta { gap: 12px; font-size: 11.5px; }
	.cc-promo-countdown__unit { font-size: 11px; padding: 1px 5px; }
	.cc-promo-countdown__label { display: none; }

	/* Site header row */
	.cc-site-header__row {
		padding: 12px var(--cc-pad-x);
		display: grid;
		grid-template-columns: auto 1fr auto;
		align-items: center;
		gap: 12px;
	}
	.cc-menu-btn { display: inline-flex; }
	.cc-search { display: none; }       /* moved into the drawer */
	.cc-nav-actions { display: none; }  /* replaced by .cc-mobile-actions */
	.cc-mobile-actions { display: inline-flex; }
	.cc-logo { display: flex; justify-content: center; }
	.cc-logo img, .cc-logo .custom-logo { height: calc(var(--cc-logo-h, 56px) * 0.7); width: auto; }

	/* Category bar becomes a horizontal scroller of chips */
	.cc-nav-bar {
		padding: 8px var(--cc-pad-x);
		gap: 6px;
		overflow-x: auto;
		flex-wrap: nowrap;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.cc-nav-bar::-webkit-scrollbar { display: none; }
	.cc-nav-bar a, .cc-nav-bar .cc-menu-toggle {
		flex: 0 0 auto;
		padding: 8px 14px;
		font-size: 13px;
		border: 1px solid rgba(255,255,255,0.18);
		border-radius: 22px;
		white-space: nowrap;
	}
	.cc-nav-bar a.is-active { background: var(--cc-accent); color: var(--cc-ink); border-color: var(--cc-accent); border-bottom: 1px solid var(--cc-accent); }
	.cc-nav-bar .cc-menu-toggle .cc-burger { display: none; }
	.cc-nav-bar .cc-nav-offers { margin-left: 0; }
	.cc-nav-bar .cc-nav-tail { padding: 8px 14px; }

	/* Hero on mobile — SPLIT layout: image on top, content (dark) below.
	   This way the user sees the product photo first, before any text. */
	.cc-hero { padding: 0 0 14px; }
	.cc-hero__inner {
		height: auto;
		min-height: 0;
		border-radius: 0;
	}
	.cc-hero__track {
		position: relative;
	}
	.cc-hero__slide {
		position: absolute;
		inset: 0;
		display: flex;
		flex-direction: column;
	}
	/* Reserve height equal to active slide so the absolute slides stack right. */
	.cc-hero__slide.is-active { position: relative; }
	.cc-hero__bg {
		position: relative;
		inset: auto;
		height: 280px;
		flex: 0 0 280px;
		order: 1;
	}
	.cc-hero__overlay { display: none; }
	.cc-hero__content {
		position: relative;
		left: auto; right: auto; top: auto;
		padding: 28px 22px 36px;
		max-width: none;
		background: var(--cc-ink);
		order: 2;
	}
	.cc-hero__arrow { width: 36px; height: 36px; font-size: 22px; top: 140px; transform: none; }
	.cc-hero__arrow--prev { left: 10px; }
	.cc-hero__arrow--next { right: 10px; }
	.cc-hero__dots { bottom: auto; top: 252px; transform: translateX(-50%); }
	.cc-hero__dot { width: 8px; height: 8px; }
	.cc-hero__dot.is-active { width: 22px; }
	.cc-hero__title { font-size: 30px; line-height: 1.05; }
	.cc-hero__lead { font-size: 15px; margin-top: 12px; }
	.cc-hero__eyebrow { font-size: 10.5px; margin-bottom: 14px; padding: 6px 12px; }
	.cc-hero__ctas { gap: 10px; margin-top: 18px; }
	.cc-hero__ctas .cc-btn { padding: 13px 20px; font-size: 14px; }
	.cc-hero__ctas .cc-installments { width: 100%; margin-left: 0; font-size: 12px; }
	.cc-countdown { gap: 8px; margin-top: 18px; flex-wrap: wrap; }
	.cc-countdown__cell { padding: 8px 12px; min-width: 60px; }
	.cc-countdown__cell strong { font-size: 20px; }
	.cc-hero__card { display: none; }

	/* USPs become a 2-col grid */
	.cc-usps-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
	.cc-usp { padding: 14px 16px; gap: 10px; }
	.cc-usp-icon { width: 38px; height: 38px; font-size: 18px; }
	.cc-usp h3 { font-size: 13px; }
	.cc-usp p { font-size: 12px; }

	/* Section titles — stack and reduce size */
	.cc-section { padding: 22px var(--cc-pad-x); }
	.cc-section--lg { padding: 26px var(--cc-pad-x); }
	.cc-section-head { flex-direction: column; align-items: flex-start; gap: 10px; margin-bottom: 14px; }
	.cc-section-head h2 { font-size: 26px; }
	.cc-section-head .cc-section-link { font-size: 13px; }

	/* Category tiles 2 columns, smaller media */
	.cc-cat-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
	.cc-cat-tile__media { height: 130px; }

	/* Product grids 2 columns */
	.cc-products-grid, .cc-products-grid--3, .cc-products-grid--6,
	.woocommerce ul.products { grid-template-columns: 1fr 1fr !important; gap: 10px; }
	.cc-product-card__media .cc-scene { height: 170px; }
	.cc-product-card__title { font-size: 13.5px; }
	.cc-product-card__price { font-size: 20px; }
	.cc-product-card__short { font-size: 11px; }

	/* Deal panel stacks above products */
	.cc-deal { gap: 12px; }
	.cc-deal__panel { padding: 24px 22px; }
	.cc-deal__title { font-size: 28px; }
	.cc-deal__price { font-size: 36px; }

	/* Visit banner */
	.cc-banner { padding: 24px; gap: 18px; }
	.cc-banner h2 { font-size: 24px; }
	.cc-banner p { font-size: 14px; margin-bottom: 14px; }
	.cc-banner__actions { gap: 8px; }
	.cc-banner__actions .cc-btn { padding: 12px 18px; font-size: 13px; }
	.cc-banner__media .cc-scene { height: 180px; }

	/* Testimonials 1-col scrollable */
	.cc-testimonials-grid { grid-template-columns: 1fr; gap: 10px; }
	.cc-testimonial { padding: 20px 22px; }

	/* FAQ + contact stack */
	.cc-faq-wrap { grid-template-columns: 1fr; gap: 22px; padding: 28px var(--cc-pad-x) 50px; }
	.cc-faq h2 { font-size: 26px !important; }
	.cc-faq summary { font-size: 14px; }
	.cc-contact-card { padding: 26px 24px; }
	.cc-contact-card h3 { font-size: 26px; }

	/* Footer */
	/* Footer en mobile: todo centrado verticalmente y por columna. */
	.cc-footer { padding: 40px var(--cc-pad-x) 24px; font-size: 13px; text-align: center; }
	.cc-footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; padding-bottom: 28px; }
	.cc-footer__brand { grid-column: 1 / -1; text-align: center; }
	.cc-footer__brand img { margin: 0 auto 14px; }
	.cc-footer__brand p { margin: 0 auto 16px; max-width: 420px; }
	.cc-footer__socials { justify-content: center; }
	.cc-footer__col { text-align: center; }
	.cc-footer__col h4 { text-align: center; }
	.cc-footer__col ul { display: flex; flex-direction: column; align-items: center; }
	.cc-footer__bottom { flex-direction: column; gap: 8px; text-align: center; align-items: center; }

	/* Archive page */
	.cc-archive-head { grid-template-columns: 1fr; gap: 12px; }
	.cc-archive-head h1 { font-size: 34px; }
	.cc-archive-stats { justify-content: flex-start; }
	.cc-archive__layout { grid-template-columns: 1fr; gap: 18px; }
	.cc-toolbar { flex-direction: column; align-items: flex-start; gap: 10px; }
	.cc-toolbar__sort { width: 100%; flex-wrap: wrap; }

	/* PDP — fully stacked, single column with explicit order so the
	   visual sequence is: photo → thumbs → middle content (calc first,
	   then chips/title/desc/features) → buy aside. We keep `display:grid`
	   instead of switching to `display:flex`: grid in single-column mode
	   stretches children to full width by default, while flex with the
	   theme's inherited `align-items: flex-start` would collapse them. */
	.cc-pdp { padding: 14px var(--cc-pad-x) 30px; }
	.cc-pdp__grid {
		grid-template-columns: 1fr;
		gap: 16px;
		align-items: stretch;
	}
	.cc-pdp__grid > * { width: 100%; max-width: 100%; }
	.cc-pdp__main   { position: static; order: 1; }
	.cc-pdp__main .cc-scene { height: 360px; width: 100%; }
	.cc-pdp__thumbs { grid-template-columns: repeat(5, 1fr); order: 2; }
	.cc-pdp__thumbs .cc-scene { height: auto !important; aspect-ratio: 4 / 3; width: 100%; }
	/* The bare middle <div> in the grid (chips/title/description/features
	   plus the calc moved in by the cart-fix plugin). Convert to flex so we
	   can order children individually and put the calc at the top. */
	.cc-pdp__grid > div:not(.cc-pdp__thumbs):not(.cc-pdp__main) {
		order: 3;
		display: flex;
		flex-direction: column;
		gap: 12px;
	}
	.cc-pdp__buy { order: 4; position: static; }
	/* Calculator first inside the middle column */
	.cc-pdp__grid > div:not(.cc-pdp__thumbs):not(.cc-pdp__main) > #cc-calc {
		order: -1;
		margin: 0 0 4px 0;
	}
	/* Hidden nonce input shouldn't take vertical space */
	.cc-pdp__grid > div input#cc_calc_nonce_field { order: -2; display: none; }

	.cc-pdp__title { font-size: 26px; }
	.cc-pdp__price-card { padding: 18px 20px; }
	.cc-pdp__price { font-size: 36px; }
	.cc-pdp-tabs ul.tabs { overflow-x: auto; flex-wrap: nowrap; }
	.cc-pdp-tabs ul.tabs li { white-space: nowrap; }
	.cc-pdp-tabs .woocommerce-Tabs-panel { display: block; }

	/* Cart + checkout */
	.woocommerce-cart .woocommerce { grid-template-columns: 1fr; gap: 18px; }
	.woocommerce-cart table.shop_table thead { display: none; }
	.woocommerce-cart table.shop_table tr,
	.woocommerce-cart table.shop_table tbody { display: block; width: 100%; }
	.woocommerce-cart table.shop_table td {
		display: flex; justify-content: space-between; align-items: center;
		text-align: right;
	}
	.woocommerce-cart table.shop_table td::before {
		content: attr(data-title);
		font-weight: 600;
		color: var(--cc-ink-2);
		font-size: 11px;
		text-transform: uppercase;
		letter-spacing: 0.08em;
	}
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; gap: 18px; }
	.woocommerce-checkout #order_review { position: static; }
	.cc-checkout-header { flex-direction: column; gap: 10px; padding: 14px var(--cc-pad-x); }
	.cc-checkout-steps { flex-wrap: wrap; gap: 4px 0; justify-content: center; }
	.cc-checkout-step__divider { width: 14px; margin: 0 8px; }
	.cc-checkout-step { font-size: 12px; }
	.cc-checkout-step__bullet { width: 24px; height: 24px; font-size: 11px; }
}

/* ============================================================
   Phone (≤520px) — tighter, single-column where it helps
   ============================================================ */
@media (max-width: 520px) {
	:root { --cc-pad-x: 14px; }

	.cc-promo-bar { font-size: 11.5px; padding: 7px 12px; }
	.cc-promo-meta { display: none; } /* only the marketing message survives */

	.cc-site-header__row { padding: 10px var(--cc-pad-x); gap: 8px; }
	.cc-logo img, .cc-logo .custom-logo { height: calc(var(--cc-logo-h, 56px) * 0.6); }
	.cc-mobile-cart { padding: 8px 10px; font-size: 12px; }
	.cc-mobile-cart .cc-cart-meta { display: none; }
	.cc-mobile-cart::after { content: attr(data-total); font-size: 0; }

	.cc-hero__content { padding: 28px 18px 32px; }
	.cc-hero__title { font-size: 28px; }
	.cc-hero__lead { font-size: 14px; margin-top: 12px; }
	.cc-hero__ctas .cc-btn { width: 100%; justify-content: center; padding: 14px 16px; }
	.cc-hero__ctas .cc-installments { text-align: center; }
	.cc-countdown__cell { flex: 1 1 calc(50% - 4px); min-width: 0; }

	.cc-usps-grid { grid-template-columns: 1fr; }

	.cc-cat-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
	.cc-cat-tile__media { height: 110px; }
	.cc-cat-tile__body { padding: 10px 12px; }
	.cc-cat-tile h3 { font-size: 13px; }

	.cc-products-grid, .cc-products-grid--3, .cc-products-grid--6,
	.woocommerce ul.products { grid-template-columns: 1fr 1fr !important; gap: 8px; }
	.cc-product-card__media .cc-scene { height: 140px; }
	.cc-product-card__body { padding: 10px 12px 12px; }
	.cc-product-card__title { font-size: 12.5px; line-height: 1.2; }
	.cc-product-card__short, .cc-product-card__cuotas, .cc-product-card__shipping { display: none; }
	.cc-product-card__price { font-size: 18px; }
	.cc-product-card__fav { width: 28px; height: 28px; }

	.cc-deal__panel { padding: 20px 18px; }
	.cc-deal__title { font-size: 24px; }
	.cc-deal__price { font-size: 30px; }

	.cc-banner { padding: 20px 18px; }
	.cc-banner h2 { font-size: 22px; }
	.cc-banner__actions { flex-direction: column; }
	.cc-banner__actions .cc-btn { width: 100%; justify-content: center; }
	.cc-banner__media .cc-scene { height: 140px; }

	.cc-testimonial__quote { font-size: 14px; }

	.cc-faq h2 { font-size: 22px !important; }
	.cc-faq details { padding: 14px 16px; }

	.cc-contact-card h3 { font-size: 22px; }
	.cc-contact-card p  { font-size: 13.5px; }

	.cc-footer-grid { grid-template-columns: 1fr; gap: 22px; }
	.cc-footer__socials { gap: 6px; }
	.cc-footer__socials span { width: 32px; height: 32px; font-size: 10px; }

	.cc-pdp__main .cc-scene { height: 280px; }
	.cc-pdp__title { font-size: 22px; }
	.cc-pdp__price { font-size: 30px; }
	.cc-pdp__chips { gap: 6px; }
	.cc-pdp__chip { font-size: 10px; padding: 4px 8px; }
	.cc-pdp__buy-price { font-size: 30px; }
	.cc-pdp__buy-card { padding: 18px 18px; }
	.cc-pdp__sizes { grid-template-columns: repeat(2, 1fr); }

	.cc-archive-head h1 { font-size: 28px; }
	.cc-archive-head p  { font-size: 14px; }

	.woocommerce-pagination ul.page-numbers li a,
	.woocommerce-pagination ul.page-numbers li span {
		min-width: 32px; padding: 8px 10px; font-size: 12px;
	}

	.cc-drawer { width: 92vw; }

	/* Mini cart on small phones — fills the viewport */
	.cc-minicart { width: 100vw; max-width: 100vw; }
	.cc-minicart-head { padding: 14px 16px; }
	.cc-minicart-items { padding: 4px 16px 6px; }
	.cc-minicart-foot { padding: 14px 16px 18px; }
}

/* Mini-cart on tablet/large-mobile — wider than 320 to fit better */
@media (max-width: 900px) and (min-width: 521px) {
	.cc-minicart { width: 92vw; max-width: 460px; }
	.cc-archive-head { grid-template-columns: 1fr; gap: 16px; }
	.cc-archive-head h1 { font-size: 34px; }
	.cc-checkout-header { flex-direction: column; gap: 12px; }
	.cc-checkout-steps { flex-wrap: wrap; justify-content: center; }
}


/* ============================================================
   Header buttons (configurable nav-bar promo buttons)
   Managed from Corrales Cortinas → Botones del header.
   ============================================================ */
.cc-nav-bar .cc-hbtn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	white-space: nowrap;
	transition: color .15s ease, background .15s ease, transform .15s ease, filter .15s ease;
}
/* First button pushes the whole group to the right of the nav bar. */
.cc-nav-bar .cc-hbtn--first { margin-left: auto; }
.cc-hbtn__icon { display: inline-block; line-height: 1; font-size: 1.05em; }

/* ── Style variants ─────────────────────────────────────── */
.cc-nav-bar .cc-hbtn--offer { color: var(--cc-accent); font-weight: 700; }
.cc-nav-bar .cc-hbtn--offer:hover { color: #fff; }

.cc-nav-bar .cc-hbtn--tail { color: rgba(255,255,255,0.82); font-weight: 500; }
.cc-nav-bar .cc-hbtn--tail:hover { color: var(--cc-accent); }

.cc-nav-bar .cc-hbtn--gold,
.cc-nav-bar .cc-hbtn--dark,
.cc-nav-bar .cc-hbtn--cyber {
	margin-top: 6px;
	margin-bottom: 6px;
	margin-left: 6px;
	padding: 8px 16px;
	border-radius: 999px;
	font-weight: 700;
}
.cc-nav-bar .cc-hbtn--gold  { background: var(--cc-accent); color: #fff !important; }
.cc-nav-bar .cc-hbtn--gold:hover  { filter: brightness(1.08); transform: translateY(-1px); }
.cc-nav-bar .cc-hbtn--dark  { background: #fff; color: #0d0d0d !important; }
.cc-nav-bar .cc-hbtn--dark:hover  { background: #f1f1f1; transform: translateY(-1px); }
.cc-nav-bar .cc-hbtn--cyber { background: linear-gradient(135deg, #ff6a00 0%, #ee0979 100%); color: #fff !important; box-shadow: 0 6px 16px rgba(238,9,121,0.35); }
.cc-nav-bar .cc-hbtn--cyber:hover { filter: brightness(1.08); transform: translateY(-1px); }
/* When a fill-style button is the first, keep the right-push but
   also give it a little breathing room from the categories. */
.cc-nav-bar .cc-hbtn--first.cc-hbtn--gold,
.cc-nav-bar .cc-hbtn--first.cc-hbtn--dark,
.cc-nav-bar .cc-hbtn--first.cc-hbtn--cyber { margin-left: auto; }

/* ── Icon animations (shared keyframes from the promo bar +
   a new "flame" flicker matching the landing's fire emoji). ── */
.cc-hbtn__icon--none   { animation: none; }
.cc-hbtn__icon--pulse  { animation: cc-promo-pulse 1.4s ease-in-out infinite; }
.cc-hbtn__icon--spin   { animation: cc-promo-spin 2.4s linear infinite; }
.cc-hbtn__icon--shake  { animation: cc-promo-shake 1.2s ease-in-out infinite; transform-origin: 50% 80%; }
.cc-hbtn__icon--bounce { animation: cc-promo-bounce 1.2s ease-in-out infinite; }
.cc-hbtn__icon--flash  { animation: cc-promo-flash 1.2s ease-in-out infinite; }
.cc-hbtn__icon--wiggle { animation: cc-promo-wiggle 1.4s ease-in-out infinite; }
.cc-hbtn__icon--flame  {
	animation: cc-hbtn-flame 1.1s ease-in-out infinite;
	transform-origin: 50% 90%;
	filter: drop-shadow(0 0 5px rgba(255, 138, 61, 0.6));
}
@keyframes cc-hbtn-flame {
	0%, 100% { transform: scale(1)    rotate(-2deg); }
	25%      { transform: scale(1.14) rotate(3deg); }
	50%      { transform: scale(0.95) rotate(-3deg); }
	75%      { transform: scale(1.1)  rotate(2deg); }
}
@media (prefers-reduced-motion: reduce) {
	.cc-hbtn__icon { animation: none !important; }
}
