/* ==========================================================================
   Caprichosa — base global
   Tokens de marca, variables de WoodMart, cabecera, footer, capas y
   ajustes de WooCommerce. Las secciones de los templates van en cm-pages.css.
   ========================================================================== */

/* --- Tokens --------------------------------------------------------------- */
:root {
	--cm-cream: #FFFDFB;
	--cm-sand: #F6F1EC;
	--cm-beige: #EFE3D3;
	--cm-champagne: #E9DCC6;
	--cm-line: #EFE5D8;
	--cm-line-soft: #F3ECE2;
	--cm-input: #E0D0B8;
	--cm-tan: #D4B48C;
	--cm-gold: #C79F50;
	--cm-gold-dk: #B58B3F;
	--cm-gold-hover: #9C7532;
	--cm-link: #A9823A;
	--cm-bronze: #8A6428;
	--cm-brown: #6B4E32;
	--cm-brown-dk: #523B25;
	--cm-ink: #2B1F15;
	--cm-text: #3A2B1E;
	--cm-body: #5C4633;
	--cm-muted: #8C7662;

	--cm-serif: "Playfair Display", Georgia, "Times New Roman", serif;
	--cm-sans: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	--cm-script-font: "Great Vibes", "Brush Script MT", cursive;

	--cm-max: 1280px;
	--cm-max-narrow: 1180px;
	--cm-gutter: 24px;
	--cm-header-h: 84px;
	--cm-ease: cubic-bezier(.2, .7, .2, 1);
}

/* --- Variables de WoodMart (sobrescriben Theme Settings) ------------------- */
html:root {
	--wd-text-font: var(--cm-sans);
	--wd-text-font-weight: 400;
	--wd-text-color: var(--cm-body);
	--wd-text-font-size: 15px;
	--wd-title-font: var(--cm-serif);
	--wd-title-font-weight: 400;
	--wd-title-color: var(--cm-ink);
	--wd-entities-title-font: var(--cm-serif);
	--wd-entities-title-font-weight: 400;
	--wd-entities-title-color: var(--cm-ink);
	--wd-entities-title-color-hover: var(--cm-link);
	--wd-alternative-font: var(--cm-script-font);
	--wd-widget-title-font: var(--cm-sans);
	--wd-widget-title-font-weight: 600;
	--wd-widget-title-transform: uppercase;
	--wd-widget-title-color: var(--cm-text);
	--wd-widget-title-font-size: 12px;
	--wd-header-el-font: var(--cm-sans);
	--wd-brd-radius: 2px;
	--wd-primary-color: var(--cm-gold-dk);
	--wd-alternative-color: var(--cm-brown);
	--wd-link-color: var(--cm-link);
	--wd-link-color-hover: var(--cm-brown);
	--wd-container-w: var(--cm-max);
	--wd-form-brd-radius: 0;
	--wd-form-brd-color: var(--cm-input);
	--wd-form-brd-color-focus: var(--cm-gold-dk);
	--wd-form-color: var(--cm-text);
	--wd-form-placeholder-color: var(--cm-muted);
	--wd-form-bg: var(--cm-cream);

	--btn-font-family: var(--cm-sans);
	--btn-font-weight: 600;
	--btn-transform: uppercase;
	--btn-font-size: 12px;
	--btn-default-bgcolor: var(--cm-brown);
	--btn-default-bgcolor-hover: var(--cm-brown-dk);
	--btn-default-color: #fff;
	--btn-default-color-hover: #fff;
	--btn-default-brd-radius: 2px;
	--btn-accented-bgcolor: var(--cm-gold-dk);
	--btn-accented-bgcolor-hover: var(--cm-gold-hover);
	--btn-accented-color: #fff;
	--btn-accented-color-hover: #fff;
	--btn-accented-brd-radius: 2px;

	--notices-success-bg: var(--cm-brown);
	--notices-warning-bg: var(--cm-gold-dk);
}

/* WoodMart pinta el fondo por tipo de página desde Theme Settings: lo unificamos. */
body.cm-theme,
body.cm-theme .wd-page-content {
	background-color: var(--cm-cream) !important;
	background-image: none !important;
}

body.cm-theme {
	color: var(--cm-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.cm-theme ::selection {
	background: var(--cm-champagne);
	color: var(--cm-ink);
}

html.cm-lock,
html.cm-lock body {
	overflow: hidden;
}

.cm-skip {
	position: absolute;
	left: 12px;
	top: -60px;
	z-index: 1000;
	padding: 10px 16px;
	background: var(--cm-brown);
	color: #fff;
	font-size: 13px;
	transition: top .2s;
}

.cm-skip:focus {
	top: 12px;
	color: #fff;
}

:where(.cm-theme) :focus-visible {
	outline: 2px solid var(--cm-gold-dk);
	outline-offset: 2px;
}

/* --- Utilidades compartidas ---------------------------------------------- */
.cm-script {
	font-family: var(--cm-script-font);
	font-weight: 400;
	color: var(--cm-gold-dk);
	letter-spacing: 0;
	text-transform: none;
}

.cm-eyebrow {
	font-size: 11px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--cm-link);
	font-weight: 600;
}

.cm-iconbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	min-width: 40px;
	min-height: 40px;
	padding: 8px;
	background: none;
	border: 0;
	box-shadow: none;
	color: var(--cm-text);
	cursor: pointer;
	line-height: 1;
	transition: color .2s;
}

.cm-iconbtn:hover {
	color: var(--cm-link);
	background: none;
}

/* Botones de marca */
.cm-btn {
	--cm-btn-bg: transparent;
	--cm-btn-color: var(--cm-bronze);
	--cm-btn-brd: var(--cm-gold-dk);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 15px 28px;
	border: 1px solid var(--cm-btn-brd);
	border-radius: 2px;
	background: var(--cm-btn-bg);
	color: var(--cm-btn-color);
	font-family: var(--cm-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .18em;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s;
}

.cm-btn:hover,
.cm-btn:focus-visible {
	text-decoration: none;
}

.cm-btn--solid {
	--cm-btn-bg: var(--cm-gold-dk);
	--cm-btn-color: #fff;
}

.cm-btn--solid:hover {
	--cm-btn-bg: var(--cm-gold-hover);
	--cm-btn-brd: var(--cm-gold-hover);
	--cm-btn-color: #fff;
}

.cm-btn--ghost:hover {
	--cm-btn-bg: #fff;
	--cm-btn-color: var(--cm-brown);
}

.cm-btn--brown {
	--cm-btn-bg: var(--cm-brown);
	--cm-btn-brd: var(--cm-brown);
	--cm-btn-color: #fff;
}

.cm-btn--brown:hover {
	--cm-btn-bg: var(--cm-brown-dk);
	--cm-btn-brd: var(--cm-brown-dk);
	--cm-btn-color: #fff;
}

.cm-btn--ghost-brown {
	--cm-btn-brd: var(--cm-brown);
	--cm-btn-color: var(--cm-brown);
}

.cm-btn--ghost-brown:hover {
	--cm-btn-bg: var(--cm-brown);
	--cm-btn-color: #fff;
}

.cm-btn--sm {
	min-height: 0;
	padding: 10px 16px;
	font-size: 10px;
}

.cm-btn--frost {
	--cm-btn-bg: rgba(255, 253, 251, .8);
}

.cm-btn--block {
	width: 100%;
}

/* Imágenes / marcadores */
.cm-media {
	position: relative;
	overflow: hidden;
	background: var(--cm-sand);
}

.cm-media > img,
.cm-media .cm-media__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cm-media__ph {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 16px;
	background:
		radial-gradient(120% 90% at 20% 10%, rgba(255, 253, 251, .75), transparent 60%),
		linear-gradient(135deg, var(--cm-sand), var(--cm-beige));
	text-align: center;
}

.cm-media__mono {
	font-family: var(--cm-serif);
	font-size: clamp(28px, 6vw, 64px);
	line-height: 1;
	letter-spacing: -.04em;
	background: linear-gradient(135deg, #D9B46A, var(--cm-gold-dk) 50%, var(--cm-bronze));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	opacity: .55;
}

.cm-media__label {
	max-width: 22ch;
	font-size: 10px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--cm-muted);
	line-height: 1.5;
}

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

/* --- Barra superior ------------------------------------------------------ */
.cm-topbar {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 40px;
	padding: 10px 20px;
	background: var(--cm-champagne);
	color: var(--cm-brown);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
}

/* --- Cabecera ------------------------------------------------------------ */
.cm-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 390;
	background: rgba(255, 253, 251, .96);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--cm-line);
	transition: box-shadow .25s;
}

.cm-header.is-scrolled {
	box-shadow: 0 8px 24px rgba(107, 78, 50, .08);
}

.cm-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	max-width: var(--cm-max);
	min-height: var(--cm-header-h);
	margin: 0 auto;
	padding: 10px var(--cm-gutter);
}

.cm-header__logo {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.cm-header__logo .cm-logo {
	display: block;
	width: auto;
	height: 64px;
}

.cm-header__burger {
	display: none;
	margin-left: -8px;
}

.cm-header__tools {
	display: flex;
	align-items: center;
	gap: 2px;
	margin-right: -8px;
}

.cm-cart-count {
	position: absolute;
	top: 2px;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 9px;
	background: var(--cm-gold);
	color: #fff;
	font-family: var(--cm-sans);
	font-size: 10px;
	font-weight: 600;
	line-height: 1;
}

/* Navegación de escritorio */
.cm-nav__list {
	display: flex;
	align-items: center;
	gap: 36px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cm-nav__list > li {
	position: relative;
	margin: 0;
}

.cm-nav__list > li > a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 0;
	border-bottom: 1px solid transparent;
	color: var(--cm-text);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	transition: color .2s, border-color .2s;
}

.cm-nav__list > li > a:hover,
.cm-nav__list > li.current-menu-item > a,
.cm-nav__list > li.current-menu-ancestor > a,
.cm-nav__list > li.current_page_item > a {
	color: var(--cm-link);
	border-bottom-color: var(--cm-gold);
}

.cm-nav__list > li.menu-item-has-children > a::after {
	content: "";
	width: 6px;
	height: 6px;
	margin-top: -3px;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: rotate(45deg);
}

.cm-nav__list .sub-menu {
	position: absolute;
	top: 100%;
	left: -24px;
	z-index: 20;
	min-width: 230px;
	margin: 0;
	padding: 14px 0;
	list-style: none;
	background: var(--cm-cream);
	border: 1px solid var(--cm-line);
	box-shadow: 0 18px 40px rgba(43, 31, 21, .1);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .2s, transform .2s, visibility .2s;
}

.cm-nav__list > li:hover > .sub-menu,
.cm-nav__list > li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.cm-nav__list .sub-menu a {
	display: block;
	padding: 9px 24px;
	color: var(--cm-text);
	font-size: 13px;
	letter-spacing: .04em;
}

.cm-nav__list .sub-menu a:hover {
	color: var(--cm-link);
	background: var(--cm-sand);
}

/* --- Buscador ------------------------------------------------------------ */
.cm-search {
	position: fixed;
	inset: 0;
	z-index: 500;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: calc(var(--wp-admin--admin-bar--height, 0px) + 12vh) var(--cm-gutter) 24px;
	background: rgba(43, 31, 21, .35);
	opacity: 0;
	transition: opacity .25s;
}

.cm-search.is-open {
	opacity: 1;
}

.cm-search[hidden] {
	display: none;
}

.cm-search__inner {
	position: relative;
	width: min(760px, 100%);
	padding: 48px 40px 40px;
	background: var(--cm-cream);
	box-shadow: 0 30px 60px rgba(43, 31, 21, .2);
	transform: translateY(-12px);
	transition: transform .3s var(--cm-ease);
}

.cm-search.is-open .cm-search__inner {
	transform: none;
}

.cm-search__form {
	display: flex;
	align-items: center;
	gap: 14px;
	border-bottom: 1px solid var(--cm-tan);
	color: var(--cm-link);
}

.cm-search__form input[type="search"] {
	flex: 1;
	min-width: 0;
	height: 56px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--cm-ink);
	font-family: var(--cm-serif);
	font-size: clamp(18px, 3vw, 26px);
}

.cm-search__form input[type="search"]:focus {
	outline: none;
}

.cm-search__form .cm-btn {
	min-height: 40px;
	padding: 10px 18px;
}

.cm-search__close {
	position: absolute;
	top: 6px;
	right: 6px;
}

/* --- Menú móvil (drawer) ------------------------------------------------- */
.cm-drawer {
	position: fixed;
	inset: 0;
	z-index: 500;
}

.cm-drawer[hidden] {
	display: none;
}

.cm-drawer__scrim {
	position: absolute;
	inset: 0;
	background: rgba(43, 31, 21, .35);
	opacity: 0;
	transition: opacity .25s;
}

.cm-drawer__panel {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	display: flex;
	flex-direction: column;
	width: min(360px, 88vw);
	padding-top: var(--wp-admin--admin-bar--height, 0px);
	background: var(--cm-cream);
	box-shadow: 10px 0 40px rgba(43, 31, 21, .15);
	transform: translateX(-100%);
	transition: transform .3s var(--cm-ease);
}

.cm-drawer.is-open .cm-drawer__scrim {
	opacity: 1;
}

.cm-drawer.is-open .cm-drawer__panel {
	transform: none;
}

.cm-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px 12px 24px;
	border-bottom: 1px solid var(--cm-line);
}

.cm-drawer__logo .cm-logo {
	display: block;
	width: auto;
	height: 52px;
}

.cm-drawer__nav {
	flex: 1;
	overflow-y: auto;
	padding: 8px 24px 16px;
}

.cm-mnav,
.cm-mnav .sub-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.cm-mnav > li {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	border-bottom: 1px solid var(--cm-line-soft);
}

.cm-mnav > li > a {
	flex: 1;
	padding: 15px 0;
	color: var(--cm-text);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.cm-mnav > li.current-menu-item > a {
	color: var(--cm-link);
}

.cm-mnav__toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-right: -12px;
	padding: 0;
	background: none;
	border: 0;
	color: var(--cm-link);
	cursor: pointer;
	transition: transform .2s;
}

.cm-mnav li.is-open > .cm-mnav__toggle {
	transform: rotate(180deg);
}

.cm-mnav .sub-menu {
	display: none;
	flex-basis: 100%;
	padding: 0 0 12px 14px;
	border-left: 1px solid var(--cm-champagne);
}

.cm-mnav li.is-open > .sub-menu {
	display: block;
}

.cm-mnav .sub-menu a {
	display: block;
	padding: 9px 0;
	color: var(--cm-body);
	font-size: 14px;
}

.cm-drawer__foot {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 20px 24px 28px;
	background: var(--cm-sand);
}

.cm-drawer__foot a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--cm-brown);
	font-size: 14px;
}

/* --- WhatsApp flotante --------------------------------------------------- */
.cm-wa-float {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 380;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--cm-gold-dk);
	color: #fff;
	box-shadow: 0 8px 24px rgba(107, 78, 50, .3);
	transition: background-color .2s, transform .2s;
}

.cm-wa-float:hover {
	background: var(--cm-gold-hover);
	color: #fff;
	transform: translateY(-2px);
}

/* --- Footer -------------------------------------------------------------- */
.cm-footer {
	background: var(--cm-brown);
	color: var(--cm-sand);
}

.cm-footer__inner {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 36px;
	max-width: var(--cm-max);
	margin: 0 auto;
	padding: 56px var(--cm-gutter) 36px;
}

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

.cm-footer__logo {
	align-self: flex-start;
	padding: 10px 14px;
	background: var(--cm-sand);
}

.cm-footer__logo .cm-logo {
	display: block;
	width: auto;
	height: 70px;
}

.cm-footer__script {
	margin: 0;
	font-family: var(--cm-script-font);
	font-size: 24px;
	line-height: 1.3;
	color: var(--cm-champagne);
}

.cm-footer__col {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.cm-footer__title {
	margin: 0 0 4px;
	font-family: var(--cm-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--cm-champagne);
}

.cm-footer ul {
	display: flex;
	flex-direction: column;
	gap: 9px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cm-footer li {
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
}

.cm-footer a {
	color: var(--cm-sand);
	font-size: 13px;
	transition: color .2s;
}

.cm-footer a:hover {
	color: #E9C98A;
}

.cm-footer__contact {
	gap: 12px !important;
}

.cm-footer__social {
	display: flex;
	gap: 12px;
	margin-top: 10px;
}

.cm-footer__social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid var(--cm-tan);
	border-radius: 50%;
}

.cm-footer__social a:hover {
	background: rgba(233, 220, 198, .12);
}

.cm-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 28px;
	padding: 18px var(--cm-gutter) 22px;
	border-top: 1px solid rgba(233, 220, 198, .25);
	color: var(--cm-champagne);
	font-size: 11px;
	letter-spacing: .14em;
	text-align: center;
	text-transform: uppercase;
}

.cm-footer__credit a {
	font-size: inherit;
	color: var(--cm-champagne);
	border-bottom: 1px solid rgba(233, 220, 198, .4);
}

.cm-footer__credit a:hover {
	color: #E9C98A;
	border-bottom-color: #E9C98A;
}

/* ==========================================================================
   WooCommerce / WoodMart con la identidad de la marca
   ========================================================================== */

/* Tipografía general de contenidos (los h1–h4 ya usan --wd-title-font) */
.cm-theme :is(.title, .wd-entities-title) {
	font-family: var(--cm-serif);
	font-weight: 400;
	letter-spacing: 0;
}

.cm-theme .wd-entities-title {
	letter-spacing: .005em;
}

/* Título de página (tienda, categorías, carrito, cuenta…) */
.cm-theme .wd-page-title {
	background: var(--cm-sand);
	border-bottom: 1px solid var(--cm-line);
}

.cm-theme .wd-page-title .wd-page-title-bg {
	display: none;
}

.cm-theme .page-title .title,
.cm-theme .wd-page-title .title {
	font-family: var(--cm-serif);
	font-weight: 400;
	color: var(--cm-ink);
	font-size: clamp(30px, 4vw, 44px) !important;
	letter-spacing: 0;
	text-transform: none;
}

.cm-theme .wd-breadcrumbs,
.cm-theme .woocommerce-breadcrumb,
.cm-theme .yoast-breadcrumb {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--cm-muted);
}

.cm-theme .woocommerce-breadcrumb a,
.cm-theme .wd-breadcrumbs a {
	color: var(--cm-muted);
}

.cm-theme .woocommerce-breadcrumb a:hover,
.cm-theme .wd-breadcrumbs a:hover {
	color: var(--cm-link);
}

/* Barra de categorías en el título de la tienda */
.cm-theme .wd-nav-product-cat > li > a {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--cm-text);
}

.cm-theme .wd-nav-product-cat > li:is(.wd-active, .current-cat, :hover) > a {
	color: var(--cm-link);
}

/* Botones de WoodMart/Woo: esquinas rectas, mayúsculas espaciadas */
.cm-theme :is(.btn, .button, button[type="submit"], input[type="submit"], .added_to_cart, .wd-add-btn > a, .single_add_to_cart_button, .checkout-button, #place_order) {
	letter-spacing: .16em;
}

/* Tarjetas de producto del catálogo */
.cm-theme .wd-product .product-wrapper {
	--wd-prod-bg: transparent;
	background: transparent;
}

.cm-theme .wd-product .product-element-top {
	border-radius: 0;
	background: var(--cm-sand);
}

.cm-theme .wd-product .wd-entities-title {
	font-size: 17px;
	line-height: 1.3;
}

.cm-theme .wd-product .wd-product-cats,
.cm-theme .wd-product .wd-product-cats a {
	font-size: 10px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--cm-muted);
}

.cm-theme .price,
.cm-theme .price .amount,
.cm-theme .wd-product .price {
	color: var(--cm-brown);
	font-family: var(--cm-sans);
	font-weight: 600;
}

.cm-theme .price del,
.cm-theme .price del .amount {
	color: var(--cm-muted);
	font-weight: 400;
}

.cm-theme .product-labels .product-label {
	border-radius: 0;
	background: var(--cm-cream) !important;
	color: var(--cm-bronze) !important;
	font-family: var(--cm-sans);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	box-shadow: none;
}

.cm-theme .product-labels .product-label.onsale {
	background: var(--cm-gold-dk) !important;
	color: #fff !important;
}

/* Ficha de producto */
.cm-theme .single-product-page .product_title {
	font-size: clamp(28px, 3.4vw, 40px);
	line-height: 1.15;
}

.cm-theme .single-product-page .summary .price {
	font-size: 22px;
}

.cm-theme .woocommerce-product-details__short-description {
	color: var(--cm-body);
	line-height: 1.75;
}

.cm-theme .product_meta,
.cm-theme .product_meta a {
	font-size: 12px;
	color: var(--cm-muted);
}

.cm-theme .wd-nav-tabs > li > a,
.cm-theme .woocommerce-tabs .tabs > li > a {
	font-size: 12px;
	letter-spacing: .16em;
	text-transform: uppercase;
}

/* Formularios */
.cm-theme :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], textarea, select):focus {
	border-color: var(--cm-gold-dk);
}

/* Avisos */
.cm-theme .woocommerce-message,
.cm-theme .woocommerce-info,
.cm-theme .wc-block-components-notice-banner {
	border-radius: 0;
}

/* Carrito lateral */
.cm-cart-side .wd-heading {
	background: var(--cm-cream);
	border-bottom: 1px solid var(--cm-line);
}

.cm-cart-side .wd-heading .title {
	font-family: var(--cm-serif);
	font-size: 24px;
	font-weight: 400;
	text-transform: none;
	color: var(--cm-ink);
}

.cm-theme .cart-widget-side {
	background: var(--cm-cream);
}

.cm-theme .cart-widget-side .woocommerce-mini-cart__total,
.cm-theme .cart-widget-side .shopping-cart-widget-footer {
	background: var(--cm-sand);
}

.cm-theme .cart-widget-side .woocommerce-mini-cart__empty-message {
	font-family: var(--cm-script-font);
	font-size: 26px;
	color: var(--cm-gold-dk);
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1100px) {
	.cm-nav__list {
		gap: 24px;
	}
}

@media (max-width: 899.98px) {
	:root {
		--cm-header-h: 68px;
	}

	.cm-nav {
		display: none;
	}

	.cm-header__burger {
		display: inline-flex;
	}

	.cm-header__inner {
		gap: 8px;
		padding: 6px 16px;
	}

	.cm-header__logo {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
	}

	.cm-header__logo .cm-logo {
		height: 52px;
	}

	.cm-header__account {
		display: none;
	}

	.cm-topbar {
		gap: 6px 22px;
		padding: 8px 16px;
		font-size: 10px;
	}

	.cm-topbar span:nth-child(n+3) {
		display: none;
	}

	.cm-search__inner {
		padding: 44px 20px 24px;
	}

	.cm-search__form .cm-btn {
		display: none;
	}

	.cm-wa-float {
		right: 16px;
		bottom: 16px;
		width: 52px;
		height: 52px;
	}

	/* Barra inferior de WoodMart (móvil): el botón de WhatsApp va por encima. */
	.sticky-toolbar-on .cm-wa-float {
		bottom: calc(55px + 16px);
	}
}

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