/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/
/* ==========================================================
   CARDCRACK — THE EVENTS CALENDAR: SELECTOR DE FECHA
   ========================================================== */

/* Contenedor desplegable */
.tribe-events-c-top-bar__datepicker-container
.datepicker.datepicker-dropdown {
	--cc-calendar-blue: #103fc4;
	--cc-calendar-blue-dark: #092d94;
	--cc-calendar-blue-light: #edf2ff;
	--cc-calendar-border: #d8deea;
	--cc-calendar-text: #161b26;

	width: 360px !important;
	max-width: calc(100vw - 30px) !important;
	padding: 14px !important;

	background: #ffffff !important;
	border: 1px solid var(--cc-calendar-border) !important;
	border-radius: 12px !important;

	box-shadow: 0 16px 40px rgba(12, 27, 65, 0.18) !important;

	font-family: inherit !important;
	z-index: 9999 !important;
	overflow: hidden;
}

/* Reset de estilos globales de WoodMart */
.tribe-events-c-top-bar__datepicker-container
.datepicker.datepicker-dropdown button {
	appearance: none !important;
	-webkit-appearance: none !important;

	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;

	color: var(--cc-calendar-text) !important;
	font-family: inherit !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	text-transform: none !important;
}

/* Tabla */
.tribe-events-c-top-bar__datepicker-container
.datepicker table {
	width: 100% !important;
	margin: 0 !important;

	border-collapse: separate !important;
	border-spacing: 0 !important;
	table-layout: fixed !important;
}

.tribe-events-c-top-bar__datepicker-container
.datepicker th,
.tribe-events-c-top-bar__datepicker-container
.datepicker td {
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

/* ==========================================================
   CABECERA: FLECHAS Y AÑO
   ========================================================== */

.tribe-events-c-top-bar__datepicker-container
.datepicker thead tr:nth-child(2) th {
	padding-bottom: 12px !important;
	vertical-align: middle !important;
}

.tribe-events-c-top-bar__datepicker-container
.datepicker .prev,
.tribe-events-c-top-bar__datepicker-container
.datepicker .next {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 38px !important;
	height: 38px !important;

	background: #f5f7fb !important;
	border: 1px solid var(--cc-calendar-border) !important;
	border-radius: 9px !important;

	color: var(--cc-calendar-blue) !important;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease,
		border-color 0.2s ease;
}

.tribe-events-c-top-bar__datepicker-container
.datepicker .prev:hover,
.tribe-events-c-top-bar__datepicker-container
.datepicker .next:hover {
	background: var(--cc-calendar-blue) !important;
	border-color: var(--cc-calendar-blue) !important;
	color: #ffffff !important;
}

.tribe-events-c-top-bar__datepicker-container
.datepicker .prev svg,
.tribe-events-c-top-bar__datepicker-container
.datepicker .next svg {
	width: 8px !important;
	height: 14px !important;
	fill: currentColor !important;
}

.tribe-events-c-top-bar__datepicker-container
.datepicker .prev svg path,
.tribe-events-c-top-bar__datepicker-container
.datepicker .next svg path {
	fill: currentColor !important;
}

/* Botón central: año o periodo */
.tribe-events-c-top-bar__datepicker-container
.datepicker .datepicker-switch {
	width: 100% !important;
	height: 38px !important;
	padding: 0 8px !important;

	border-radius: 8px !important;

	color: var(--cc-calendar-text) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	text-align: center !important;
	cursor: pointer;
}

.tribe-events-c-top-bar__datepicker-container
.datepicker .datepicker-switch:hover {
	background: var(--cc-calendar-blue-light) !important;
	color: var(--cc-calendar-blue) !important;
}

/* ==========================================================
   MESES, AÑOS, DÉCADAS Y SIGLOS
   ========================================================== */

.tribe-events-c-top-bar__datepicker-container
.datepicker .datepicker-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 8px !important;

	width: 100% !important;
	padding-top: 2px !important;
}

.tribe-events-c-top-bar__datepicker-container
.datepicker .datepicker-grid .month,
.tribe-events-c-top-bar__datepicker-container
.datepicker .datepicker-grid .year,
.tribe-events-c-top-bar__datepicker-container
.datepicker .datepicker-grid .decade,
.tribe-events-c-top-bar__datepicker-container
.datepicker .datepicker-grid .century {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;
	height: 44px !important;
	padding: 0 5px !important;

	background: #ffffff !important;
	border: 1px solid var(--cc-calendar-border) !important;
	border-radius: 8px !important;

	color: var(--cc-calendar-text) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0.03em !important;

	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease,
		color 0.2s ease, transform 0.2s ease;
}

/* Meses o años pasados */
.tribe-events-c-top-bar__datepicker-container
.datepicker .datepicker-grid .past:not(.active) {
	background: #f7f8fb !important;
	color: #788294 !important;
}

/* Hover */
.tribe-events-c-top-bar__datepicker-container
.datepicker .datepicker-grid .month:hover,
.tribe-events-c-top-bar__datepicker-container
.datepicker .datepicker-grid .year:hover,
.tribe-events-c-top-bar__datepicker-container
.datepicker .datepicker-grid .decade:hover,
.tribe-events-c-top-bar__datepicker-container
.datepicker .datepicker-grid .century:hover {
	background: var(--cc-calendar-blue-light) !important;
	border-color: var(--cc-calendar-blue) !important;
	color: var(--cc-calendar-blue) !important;
	transform: translateY(-1px);
}

/* Mes o año seleccionado */
.tribe-events-c-top-bar__datepicker-container
.datepicker .datepicker-grid .active,
.tribe-events-c-top-bar__datepicker-container
.datepicker .datepicker-grid .current.active {
	background: var(--cc-calendar-blue) !important;
	border-color: var(--cc-calendar-blue) !important;
	color: #ffffff !important;
}

/* Foco de teclado */
.tribe-events-c-top-bar__datepicker-container
.datepicker .datepicker-grid .focused {
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(16, 63, 196, 0.2) !important;
}

/* ==========================================================
   VISTA DE DÍAS
   ========================================================== */

.tribe-events-c-top-bar__datepicker-container
.datepicker-days .dow {
	padding: 8px 0 !important;

	color: #687386 !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
}

.tribe-events-c-top-bar__datepicker-container
.datepicker-days tbody td {
	padding: 2px !important;
}

.tribe-events-c-top-bar__datepicker-container
.datepicker-days .day {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;
	height: 36px !important;

	border-radius: 7px !important;

	color: var(--cc-calendar-text) !important;
	font-size: 13px !important;
	cursor: pointer;
}

.tribe-events-c-top-bar__datepicker-container
.datepicker-days .day:hover {
	background: var(--cc-calendar-blue-light) !important;
	color: var(--cc-calendar-blue) !important;
}

.tribe-events-c-top-bar__datepicker-container
.datepicker-days .day.old,
.tribe-events-c-top-bar__datepicker-container
.datepicker-days .day.new {
	color: #a1a8b5 !important;
}

.tribe-events-c-top-bar__datepicker-container
.datepicker-days .day.active,
.tribe-events-c-top-bar__datepicker-container
.datepicker-days .day.current.active {
	background: var(--cc-calendar-blue) !important;
	color: #ffffff !important;
}
.tribe-events .tribe-events-c-top-bar__datepicker-nav-icon-svg {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.tribe-events-c-top-bar__datepicker-container .datepicker .prev:hover, .tribe-events-c-top-bar__datepicker-container .datepicker .next:hover {
    background: #ededed !important;
}
section.tribe-common-l-container.tribe-events-l-container {
    padding: 0 !important;
}
/* ==========================================================
   MÓVIL
   ========================================================== */

@media (max-width: 480px) {

	.tribe-events-c-top-bar__datepicker-container
	.datepicker.datepicker-dropdown {
		width: calc(100vw - 24px) !important;
		padding: 12px !important;
	}

	.tribe-events-c-top-bar__datepicker-container
	.datepicker .datepicker-grid {
		gap: 6px !important;
	}

	.tribe-events-c-top-bar__datepicker-container
	.datepicker .datepicker-grid .month,
	.tribe-events-c-top-bar__datepicker-container
	.datepicker .datepicker-grid .year,
	.tribe-events-c-top-bar__datepicker-container
	.datepicker .datepicker-grid .decade,
	.tribe-events-c-top-bar__datepicker-container
	.datepicker .datepicker-grid .century {
		height: 40px !important;
		font-size: 12px !important;
	}
}

/*--------------------------------------------------*/

/* ==========================================================
   CARDCRACK — THE EVENTS CALENDAR
   VISTA GENERAL DEL CALENDARIO MENSUAL
   ========================================================== */

.tribe-events-view--month {
	--cc-blue: #103fc4;
	--cc-blue-dark: #092d94;
	--cc-blue-soft: #edf2ff;
	--cc-orange: #ff7a1a;
	--cc-orange-soft: #fff2e8;
	--cc-text: #111827;
	--cc-muted: #667085;
	--cc-border: #dce2ee;
	--cc-surface: #ffffff;
	--cc-background: #f4f6fb;
}

/* Fondo general */
.tribe-events-view--month {
	background: var(--cc-background) !important;
}

/* Contenedor principal */
.tribe-events-view--month .tribe-events-l-container {
	max-width: 1500px !important;
	padding: 44px 30px 60px !important;
}

/* ==========================================================
   CABECERA: BUSCADOR Y SELECTOR DE VISTA
   ========================================================== */

.tribe-events-view--month .tribe-events-c-events-bar {
	background: var(--cc-surface) !important;
	border: 1px solid var(--cc-border) !important;
	border-radius: 14px !important;
	box-shadow: 0 8px 30px rgba(22, 34, 66, 0.07) !important;
	overflow: hidden;
}

.tribe-events-view--month
.tribe-events-c-search__input-control--keyword {
	padding-left: 20px !important;
}

.tribe-events-view--month
.tribe-events-c-search__input {
	min-height: 60px !important;
	font-size: 16px !important;
	color: var(--cc-text) !important;
}

.tribe-events-view--month
.tribe-events-c-search__button {
	min-height: 52px !important;
	margin: 4px 8px 4px 0 !important;
	padding: 0 28px !important;

	background: var(--cc-blue) !important;
	border-radius: 9px !important;

	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em !important;
}

.tribe-events-view--month
.tribe-events-c-search__button:hover {
	background: var(--cc-blue-dark) !important;
}

/* Selector Lista / Mes */
.tribe-events-view--month
.tribe-events-c-view-selector__list-item-link {
	padding: 20px 16px !important;
	font-weight: 600 !important;
}

.tribe-events-view--month
.tribe-events-c-view-selector__list-item--active
.tribe-events-c-view-selector__list-item-link {
	color: var(--cc-blue) !important;
}

.tribe-events-view--month
.tribe-events-c-view-selector__list-item--active
.tribe-events-c-view-selector__list-item-link::after {
	background: var(--cc-orange) !important;
	height: 3px !important;
}

/* ==========================================================
   BARRA DE NAVEGACIÓN DEL MES
   ========================================================== */

.tribe-events-view--month
.tribe-events-c-top-bar {
	margin: 28px 0 18px !important;
	padding: 0 4px !important;
}

.tribe-events-view--month
.tribe-events-c-top-bar__nav-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 42px !important;
	height: 42px !important;

	background: var(--cc-surface) !important;
	border: 1px solid var(--cc-border) !important;
	border-radius: 9px !important;

	transition: 0.2s ease;
}

.tribe-events-view--month
.tribe-events-c-top-bar__nav-link:not(:disabled):hover {
	background: var(--cc-blue) !important;
	border-color: var(--cc-blue) !important;
}

.tribe-events-view--month
.tribe-events-c-top-bar__nav-link:not(:disabled):hover svg path {
	fill: #ffffff !important;
}

.tribe-events-view--month
.tribe-events-c-top-bar__today-button {
	padding: 11px 17px !important;

	background: var(--cc-surface) !important;
	border: 1px solid var(--cc-border) !important;
	border-radius: 8px !important;

	color: var(--cc-text) !important;
	font-weight: 600 !important;
}

.tribe-events-view--month
.tribe-events-c-top-bar__today-button:hover {
	background: var(--cc-blue-soft) !important;
	border-color: var(--cc-blue) !important;
	color: var(--cc-blue) !important;
}

.tribe-events-view--month
.tribe-events-c-top-bar__datepicker-button {
	padding: 6px 10px !important;
	border-radius: 8px !important;
}

.tribe-events-view--month
.tribe-events-c-top-bar__datepicker-button:hover {
	background: var(--cc-blue-soft) !important;
}

.tribe-events-view--month
.tribe-events-c-top-bar__datepicker-desktop {
	color: var(--cc-text) !important;
	font-size: 30px !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
	text-transform: capitalize;
}

/* ==========================================================
   CALENDARIO DE ESCRITORIO
   ========================================================== */

@media (min-width: 768px) {

	.tribe-events-view--month
	.tribe-events-calendar-month {
		width: 100% !important;

		background: transparent !important;

		border-collapse: separate !important;
		border-spacing: 7px !important;
		table-layout: fixed !important;
	}

	/* Cabecera de días */
	.tribe-events-view--month
	.tribe-events-calendar-month__header-column {
		padding: 5px 8px 10px !important;
		border: 0 !important;
	}

	.tribe-events-view--month
	.tribe-events-calendar-month__header-column-title {
		color: var(--cc-muted) !important;
		font-size: 12px !important;
		font-weight: 700 !important;
		letter-spacing: 0.08em !important;
		text-transform: uppercase !important;
	}

	/* Celdas */
	.tribe-events-view--month
	.tribe-events-calendar-month__day {
		position: relative;

		height: 160px !important;
		padding: 0 !important;

		background: var(--cc-surface) !important;
		border: 1px solid var(--cc-border) !important;
		border-radius: 12px !important;

		vertical-align: top !important;
		overflow: hidden !important;

		transition:
			transform 0.2s ease,
			box-shadow 0.2s ease,
			border-color 0.2s ease;
	}

	.tribe-events-view--month
	.tribe-events-calendar-month__day:hover {
		transform: translateY(-2px);
		border-color: #bcc9e4 !important;
		box-shadow: 0 10px 24px rgba(23, 41, 82, 0.09) !important;
	}

	.tribe-events-view--month
	.tribe-events-calendar-month__day-cell--desktop {
		height: 100% !important;
		padding: 14px !important;
	}

	/* Días de otro mes */
	.tribe-events-view--month
	.tribe-events-calendar-month__day--other-month {
		background: #f7f8fb !important;
		opacity: 0.65;
	}

	/* Número del día */
	.tribe-events-view--month
	.tribe-events-calendar-month__day-date {
		margin: 0 0 10px !important;
	}

	.tribe-events-view--month
	.tribe-events-calendar-month__day-date-daynum,
	.tribe-events-view--month
	.tribe-events-calendar-month__day-date-link {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;

		min-width: 34px !important;
		height: 34px !important;
		padding: 0 8px !important;

		border-radius: 9px !important;

		color: var(--cc-text) !important;
		font-size: 18px !important;
		font-weight: 700 !important;
		text-decoration: none !important;
	}

	/* Día actual */
	.tribe-events-view--month
	.tribe-events-calendar-month__day--current
	.tribe-events-calendar-month__day-date-daynum {
		background: var(--cc-orange) !important;
		color: #ffffff !important;
		box-shadow: 0 5px 12px rgba(255, 122, 26, 0.25);
	}

	/* Día que contiene uno o más eventos */
	.tribe-events-view--month
	.tribe-events-calendar-month__day:has(
		.tribe-events-calendar-month__calendar-event
	) {
		background:
			linear-gradient(
				180deg,
				var(--cc-blue-soft) 0,
				#ffffff 70%
			) !important;

		border-color: rgba(16, 63, 196, 0.45) !important;
		box-shadow:
			inset 0 4px 0 var(--cc-blue),
			0 8px 20px rgba(16, 63, 196, 0.08) !important;
	}

	/* Número del día con evento */
	.tribe-events-view--month
	.tribe-events-calendar-month__day:has(
		.tribe-events-calendar-month__calendar-event
	)
	.tribe-events-calendar-month__day-date-link {
		background: var(--cc-blue) !important;
		color: #ffffff !important;
	}

	/* Tarjeta del evento */
	.tribe-events-view--month
	.tribe-events-calendar-month__calendar-event {
		margin: 7px 0 0 !important;
		padding: 10px 11px !important;

		background: #ffffff !important;
		border: 1px solid rgba(16, 63, 196, 0.18) !important;
		border-left: 4px solid var(--cc-orange) !important;
		border-radius: 8px !important;

		box-shadow: 0 5px 14px rgba(22, 41, 82, 0.08) !important;
	}

	.tribe-events-view--month
	.tribe-events-calendar-month__calendar-event-datetime {
		margin-bottom: 4px !important;

		color: var(--cc-muted) !important;
		font-size: 11px !important;
		font-weight: 600 !important;
	}

	.tribe-events-view--month
	.tribe-events-calendar-month__calendar-event-title-link {
		color: var(--cc-text) !important;
		font-size: 13px !important;
		font-weight: 700 !important;
		line-height: 1.3 !important;
		text-decoration: none !important;
	}

	.tribe-events-view--month
	.tribe-events-calendar-month__calendar-event-title-link:hover {
		color: var(--cc-blue) !important;
	}

	/* Varias tarjetas en el mismo día */
	.tribe-events-view--month
	.tribe-events-calendar-month__calendar-event
	+ .tribe-events-calendar-month__calendar-event {
		margin-top: 6px !important;
	}
}

/* ==========================================================
   CALENDARIO MÓVIL
   ========================================================== */

@media (max-width: 767px) {

	.tribe-events-view--month
	.tribe-events-l-container {
		padding: 22px 14px 45px !important;
	}

	/* Barra superior compacta */
	.tribe-events-view--month
	.tribe-events-c-top-bar {
		margin: 16px 0 18px !important;
	}

	.tribe-events-view--month
	.tribe-events-c-top-bar__datepicker-mobile {
		color: var(--cc-text) !important;
		font-size: 23px !important;
		font-weight: 700 !important;
	}

	/* Tabla móvil */
	.tribe-events-view--month
	.tribe-events-calendar-month {
		width: 100% !important;

		border-collapse: separate !important;
		border-spacing: 4px !important;
		table-layout: fixed !important;
	}

	/* Nombre de días */
	.tribe-events-view--month
	.tribe-events-calendar-month__header-column {
		padding: 5px 0 8px !important;
		border: 0 !important;
	}

	.tribe-events-view--month
	.tribe-events-calendar-month__header-column-title {
		color: var(--cc-muted) !important;
		font-size: 11px !important;
		font-weight: 700 !important;
	}

	/* Eliminar aspecto circular blanco predeterminado */
	.tribe-events-view--month
	.tribe-events-calendar-month__day {
		padding: 0 !important;

		background: transparent !important;
		border: 0 !important;
	}

	.tribe-events-view--month
	.tribe-events-calendar-month__day-cell--mobile {
		position: relative;

		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex-direction: column !important;

		width: 100% !important;
		height: auto !important;
		aspect-ratio: 1 / 1 !important;
		min-height: 42px !important;
		padding: 3px !important;

		background: #ffffff !important;
		border: 1px solid var(--cc-border) !important;
		border-radius: 11px !important;
		box-shadow: 0 3px 9px rgba(25, 38, 70, 0.04) !important;

		color: var(--cc-text) !important;

		transition:
			background-color 0.2s ease,
			border-color 0.2s ease,
			transform 0.2s ease;
	}

	.tribe-events-view--month
	.tribe-events-calendar-month__day-cell--mobile:active {
		transform: scale(0.95);
	}

	.tribe-events-view--month
	.tribe-events-calendar-month__day-date {
		margin: 0 !important;
	}

	.tribe-events-view--month
	.tribe-events-calendar-month__day-date-daynum {
		color: inherit !important;
		font-size: 14px !important;
		font-weight: 650 !important;
	}

	/* Días de otro mes */
	.tribe-events-view--month
	.tribe-events-calendar-month__day--other-month
	.tribe-events-calendar-month__day-cell--mobile {
		background: #f7f8fb !important;
		color: #9aa3b2 !important;
		opacity: 0.75;
	}

	/* Día actual sin evento */
	.tribe-events-view--month
	.tribe-events-calendar-month__day--current
	.tribe-events-calendar-month__day-cell--mobile {
		border: 2px solid var(--cc-orange) !important;
		color: var(--cc-orange) !important;
	}

	/* ======================================================
	   DÍAS CON EVENTOS: 30, 31 Y CUALQUIER OTRO
	   ====================================================== */

	.tribe-events-view--month
	.tribe-events-calendar-month__day-cell--mobile:has(
		.tribe-events-calendar-month__mobile-events-icon--event
	) {
		background: var(--cc-blue) !important;
		border-color: var(--cc-blue) !important;

		color: #ffffff !important;
		box-shadow:
			0 7px 16px rgba(16, 63, 196, 0.24),
			inset 0 0 0 1px rgba(255, 255, 255, 0.15) !important;
	}

	/* Indicador del evento */
	.tribe-events-view--month
	.tribe-events-calendar-month__mobile-events-icon--event {
		position: absolute !important;
		right: 5px !important;
		bottom: 5px !important;

		display: block !important;
		width: 8px !important;
		height: 8px !important;

		background: var(--cc-orange) !important;
		border: 2px solid #ffffff !important;
		border-radius: 50% !important;

		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2) !important;
	}

	/* Día con evento seleccionado */
	.tribe-events-view--month
	.tribe-events-calendar-month__day-cell--mobile
	.tribe-events-calendar-month__day-date-daynum {
		color: inherit !important;
	}

	.tribe-events-view--month
	.tribe-events-calendar-month__day-cell--selected {
		background: var(--cc-orange) !important;
		border-color: var(--cc-orange) !important;

		color: #ffffff !important;
		box-shadow:
			0 8px 18px rgba(255, 122, 26, 0.28),
			0 0 0 3px rgba(255, 122, 26, 0.15) !important;
	}

	.tribe-events-view--month
	.tribe-events-calendar-month__day-cell--selected
	.tribe-events-calendar-month__mobile-events-icon--event {
		background: #ffffff !important;
		border-color: var(--cc-orange) !important;
	}

	/* ======================================================
	   DETALLE DEL EVENTO BAJO EL CALENDARIO
	   ====================================================== */

	.tribe-events-view--month
	.tribe-events-calendar-month-mobile-events {
		margin-top: 18px !important;
	}

	.tribe-events-view--month
	.tribe-events-calendar-month-mobile-events__mobile-day--show {
		padding: 0 !important;

		background: transparent !important;
		border: 0 !important;
	}

	/* Marcador de la fecha seleccionada */
	.tribe-events-view--month
	.tribe-events-calendar-month-mobile-events__day-marker {
		margin: 0 0 9px !important;
		padding: 0 !important;

		border: 0 !important;
	}

	.tribe-events-view--month
	.tribe-events-c-day-marker__date {
		display: inline-flex !important;
		align-items: center !important;

		padding: 7px 12px !important;

		background: var(--cc-blue-soft) !important;
		border-radius: 20px !important;

		color: var(--cc-blue) !important;
		font-size: 12px !important;
		font-weight: 700 !important;
		text-transform: capitalize !important;
	}

	/* Tarjeta de evento móvil */
	.tribe-events-view--month
	.tribe-events-calendar-month-mobile-events__mobile-event {
		margin: 0 0 12px !important;
		padding: 15px 16px !important;

		background: #ffffff !important;
		border: 1px solid var(--cc-border) !important;
		border-left: 5px solid var(--cc-orange) !important;
		border-radius: 11px !important;

		box-shadow: 0 8px 22px rgba(22, 38, 72, 0.09) !important;
	}

	.tribe-events-view--month
	.tribe-events-calendar-month-mobile-events__mobile-event-datetime {
		margin-bottom: 5px !important;

		color: var(--cc-muted) !important;
		font-size: 12px !important;
		font-weight: 600 !important;
	}

	.tribe-events-view--month
	.tribe-events-calendar-month-mobile-events__mobile-event-title {
		margin: 0 !important;
	}

	.tribe-events-view--month
	.tribe-events-calendar-month-mobile-events__mobile-event-title-link {
		color: var(--cc-text) !important;
		font-size: 17px !important;
		font-weight: 750 !important;
		line-height: 1.25 !important;
		text-decoration: none !important;
	}

	/* Mensaje sin eventos */
	.tribe-events-view--month
	.tribe-events-header__messages--day {
		margin-top: 15px !important;
		padding: 13px 15px !important;

		background: #ffffff !important;
		border: 1px solid var(--cc-border) !important;
		border-radius: 10px !important;

		color: var(--cc-muted) !important;
		box-shadow: 0 5px 14px rgba(25, 38, 70, 0.05) !important;
	}
}

/* ==========================================================
   TOOLTIP DE EVENTOS EN ESCRITORIO
   ========================================================== */

.tribe-events-view--month
.tribe-events-calendar-month__calendar-event-tooltip {
	overflow: hidden !important;

	background: #ffffff !important;
	border: 1px solid var(--cc-border) !important;
	border-radius: 12px !important;

	box-shadow: 0 16px 38px rgba(17, 32, 66, 0.18) !important;
}

.tribe-events-view--month
.tribe-events-calendar-month__calendar-event-tooltip-title-link {
	color: var(--cc-text) !important;
	font-weight: 750 !important;
}

.tribe-events-view--month
.tribe-events-calendar-month__calendar-event-tooltip-cost {
	display: inline-flex !important;
	padding: 5px 9px !important;

	background: var(--cc-orange-soft) !important;
	border-radius: 20px !important;

	color: #c65300 !important;
	font-weight: 700 !important;
}
/* ==========================================================
   AJUSTES FINALES — ANCHO EN ESCRITORIO Y FECHAS EN MÓVIL
   ========================================================== */

/* Calendario centrado y con ancho máximo proporcionado */
@media (min-width: 1200px) {

	.tribe-events-view--month .tribe-events-l-container {
		width: min(1320px, calc(100% - 96px)) !important;
		max-width: 1320px !important;

		margin-left: auto !important;
		margin-right: auto !important;

		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* Resoluciones intermedias: portátil y tablet horizontal */
@media (min-width: 768px) and (max-width: 1199px) {

	.tribe-events-view--month .tribe-events-l-container {
		width: calc(100% - 48px) !important;
		max-width: 1100px !important;

		margin-left: auto !important;
		margin-right: auto !important;

		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* ==========================================================
   MÓVIL — NÚMERO BLANCO EN LOS DÍAS CON EVENTOS
   ========================================================== */

@media (max-width: 767px) {

	/* Días que contienen eventos */
	.tribe-events-view--month
	.tribe-events-calendar-month__day-cell--mobile:has(
		.tribe-events-calendar-month__mobile-events-icon--event
	)
	.tribe-events-calendar-month__day-date-daynum {
		color: #ffffff !important;
		-webkit-text-fill-color: #ffffff !important;
	}

	/* Día con evento seleccionado */
	.tribe-events-view--month
	.tribe-events-calendar-month__day-cell--mobile
	.tribe-events-calendar-month__day-date,
	.tribe-events-view--month
	.tribe-events-calendar-month__day-cell--selected
	.tribe-events-calendar-month__day-date-daynum {
		color: inherit !important;
	}

	.tribe-events-view--month
	.tribe-events-calendar-month__day-cell--selected:has(
		.tribe-events-calendar-month__mobile-events-icon--event
	)
	.tribe-events-calendar-month__day-date-daynum {
		color: #ffffff !important;
		-webkit-text-fill-color: #ffffff !important;
	}
	.tribe-events-view--month .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date-daynum {
    color: white !important;
    }
}

/* ==========================================================
   CARDCRACK - PRODUCTOS DE ARCHIVOS CON ALTURA UNIFORME
   WoodMart Archive Products
   ========================================================== */


/* 1. Todas las columnas/productos pueden estirarse por igual */
.elementor-widget-wd_archive_products .wd-products {
    align-items: stretch;
}

.elementor-widget-wd_archive_products .wd-product {
    display: flex;
    height: 100%;
}

.elementor-widget-wd_archive_products .wd-product-wrapper {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}


/* ==========================================================
   2. ZONA DE IMAGEN
   Siempre cuadrada, independientemente de la proporción
   original de la imagen.
   ========================================================== */

.elementor-widget-wd_archive_products .wd-product-thumb {
    position: relative;
    aspect-ratio: 1 / 1;
    width: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.elementor-widget-wd_archive_products .wd-product-img-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.elementor-widget-wd_archive_products .wd-product-img-link > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}


/* Imagen secundaria del hover de WoodMart */
.elementor-widget-wd_archive_products .wd-product-img-hover {
    width: 100%;
    height: 100%;
}

.elementor-widget-wd_archive_products .wd-product-img-hover img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}


/* ==========================================================
   3. PARTE INFERIOR
   ========================================================== */

.elementor-widget-wd_archive_products .product-element-bottom {
    display: flex;
    flex-direction: column;
    flex: 1;
}


/* ==========================================================
   4. TÍTULO
   Reserva espacio equivalente a 3 líneas.
   Los títulos más largos se cortan con ...
   ========================================================== */

.elementor-widget-wd_archive_products .wd-product-header {
    min-height: 4.35em;
}

.elementor-widget-wd_archive_products .wd-product-header .wd-entities-title {
    line-height: 1.45em;
    margin: 0;
}

.elementor-widget-wd_archive_products .wd-product-header .wd-entities-title a {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}


/* ==========================================================
   5. CATEGORÍAS
   Máximo 2 líneas para que no desplacen el precio.
   ========================================================== */

.elementor-widget-wd_archive_products .wd-product-cats {
    min-height: 2.8em;
    line-height: 1.4em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}


/* ==========================================================
   6. PRECIO
   Empujado hacia abajo para mantener alineación.
   ========================================================== */

.elementor-widget-wd_archive_products .wrap-price {
    margin-top: auto;
    min-height: 1.8em;
    display: flex;
    align-items: flex-end;
}


/* ==========================================================
   MÓVIL
   Un poco más compacto.
   ========================================================== */

@media (max-width: 767px) {

    .elementor-widget-wd_archive_products .wd-product-header {
        min-height: 4.2em;
    }

    .elementor-widget-wd_archive_products .wd-product-header .wd-entities-title a {
        -webkit-line-clamp: 3;
    }

    .elementor-widget-wd_archive_products .wd-product-cats {
        min-height: 2.6em;
        -webkit-line-clamp: 2;
    }
}

/* =========================================================
   CARDCRACK - PRODUCTOS HOME CON ALTURA UNIFORME
   Widget: .casilla-productos-uno
   ========================================================= */

/* Todas las columnas de la misma fila se estiran */
.casilla-productos-uno .products {
	align-items: stretch !important;
}

/* Cada producto ocupa toda la altura disponible */
.casilla-productos-uno .wd-product {
	display: flex !important;
	height: auto !important;
}

/* Tarjeta completa */
.casilla-productos-uno .wd-product-wrapper {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	height: 100% !important;
}

/* =========================================================
   IMAGEN
   ========================================================= */

/* Misma zona visual para todas las imágenes */
.casilla-productos-uno .wd-product-thumb {
	flex: 0 0 auto;
	width: 100%;
}

/*
   Las imágenes que muestras ya son 300x300,
   por lo que mantenemos un área cuadrada homogénea.
*/
.casilla-productos-uno .wd-product-img-link {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	aspect-ratio: 1 / 1 !important;
	overflow: hidden;
}

.casilla-productos-uno .wd-product-img-link img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
}

/* =========================================================
   CONTENIDO INFERIOR
   ========================================================= */

.casilla-productos-uno .product-element-bottom {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	height: 100% !important;
	padding-top: 0 !important;
}

/* Reservamos el mismo espacio para el título */
.casilla-productos-uno .wd-product-header {
	min-height: 66px !important;
}

/* Título */
.casilla-productos-uno .wd-entities-title {
    margin-bottom: 0 !important;
    line-height: 1.35 !important;
    margin-top: 0 !important;
}

/* Si no quieres que un título enorme aumente la tarjeta */
.casilla-productos-uno .wd-entities-title a {
	display: -webkit-box !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

/* Categorías, si WoodMart las muestra */
.casilla-productos-uno .wd-product-cats {
	min-height: 0;
}

.wd-loop-builder-off:is([style*="col-sm:2"],[style*="col-sm: 2"]) :where(.wd-product) {
    --wd-prod-gap: 0px !important;
}

/* =========================================================
   PRECIO Y BOTÓN SIEMPRE AL FONDO
   ========================================================= */

/* Empuja precio y footer hacia abajo */
.casilla-productos-uno .wrap-price {
	margin-top: auto !important;
	padding-top: 0px !important;
}

/* Misma zona mínima para precios normales / rebajados */
.casilla-productos-uno .wrap-price {
	min-height: 42px !important;
	display: flex !important;
	align-items: flex-end !important;
}

/* Footer/botón */
.casilla-productos-uno .wd-product-footer {
	margin-top: 8px !important;
}

/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767px) {

	.casilla-productos-uno .wd-product-header {
		min-height: 76px !important;
	}

	.casilla-productos-uno .wd-entities-title a {
		-webkit-line-clamp: 4;
	}

	.casilla-productos-uno .wrap-price {
		min-height: 30px !important;
	}
}
/* =========================================================
   CARDCRACK - CORRECCIÓN LABELS EN GRIDS DE PRODUCTOS
   ========================================================= */

/* La imagen es la referencia para posicionar los labels */
.casilla-productos-uno .wd-product-thumb {
	position: relative !important;
	overflow: visible !important;
}

/* Labels siempre superpuestos sobre la imagen */
.casilla-productos-uno .product-labels {
	position: absolute !important;
	top: 8px !important;
	left: 8px !important;
	right: auto !important;
	bottom: auto !important;

	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 5px !important;

	width: auto !important;
	max-width: calc(100% - 16px) !important;

	margin: 0 !important;
	padding: 0 !important;

	z-index: 10 !important;
	pointer-events: none;
}

/* Cada etiqueta mantiene su tamaño real */
.casilla-productos-uno .product-labels .product-label {
	position: relative !important;
	inset: auto !important;

	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 24px !important;

	margin: 0 !important;
	padding: 4px 9px !important;

	line-height: 1 !important;
	white-space: nowrap !important;

	z-index: 1 !important;
}

/* Label personalizado PRE-ORDER */
.casilla-productos-uno .product-labels .cc-reserva-label {
	background: #103fc4 !important;
	color: #fff !important;

	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: .02em !important;

	border-radius: 3px !important;
}

/* Label descuento WoodMart */
.casilla-productos-uno .product-labels .onsale {
	position: relative !important;

	background: #baff00 !important;
	color: #111 !important;
}

/* Mantener la imagen por debajo de los labels */
.casilla-productos-uno .wd-product-img-link {
	position: relative !important;
	z-index: 1 !important;
}
/* =========================================================
   CARDCRACK - PRODUCTOS RECOMENDADOS DEL CARRITO
   Layout WoodMart compartido ES/EN, widget: d68b1ed
   ========================================================= */

/* Todas las diapositivas y tarjetas adoptan la altura de la más alta. */
.elementor-element-d68b1ed .wd-carousel-wrap {
	align-items: stretch !important;
}

.elementor-element-d68b1ed .wd-carousel-item,
.elementor-element-d68b1ed .wd-product {
	display: flex !important;
	height: auto !important;
}

.elementor-element-d68b1ed .wd-product {
	width: 100% !important;
}

.elementor-element-d68b1ed .wd-product-wrapper {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	height: 100% !important;
}

/* Área cuadrada y homogénea para cualquier proporción de imagen. */
.elementor-element-d68b1ed .wd-product-thumb {
	position: relative !important;
	flex: 0 0 auto !important;
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	overflow: hidden !important;
}

.elementor-element-d68b1ed .wd-product-img-link {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
}

.elementor-element-d68b1ed .wd-product-img-link > img,
.elementor-element-d68b1ed .wd-product-img-hover,
.elementor-element-d68b1ed .wd-product-img-hover img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center !important;
}

/* El contenido inferior ocupa el espacio restante de la tarjeta. */
.elementor-element-d68b1ed .product-element-bottom {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	height: 100% !important;
}

/* Tres líneas uniformes para el título. */
.elementor-element-d68b1ed .wd-product-header {
	min-height: 4.05em !important;
}

.elementor-element-d68b1ed .wd-entities-title {
	margin: 0 0 8px !important;
	line-height: 1.35 !important;
}

.elementor-element-d68b1ed .wd-entities-title a {
	display: -webkit-box !important;
	overflow: hidden !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

/* Dos líneas uniformes para las categorías. */
.elementor-element-d68b1ed .wd-product-cats {
	display: -webkit-box !important;
	overflow: hidden !important;
	min-height: 2.8em !important;
	line-height: 1.4 !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

/* Precio y acciones siempre alineados al pie. */
.elementor-element-d68b1ed .wrap-price {
	display: flex !important;
	align-items: flex-end !important;
	min-height: 2em !important;
	margin-top: auto !important;
	padding-top: 8px !important;
}

.elementor-element-d68b1ed .wd-product-footer {
	margin-top: 8px !important;
}

@media (max-width: 767px) {
	.elementor-element-d68b1ed .wd-product-header {
		min-height: 4.2em !important;
	}

	.elementor-element-d68b1ed .wd-product-cats {
		min-height: 2.8em !important;
	}
}
/* =========================================================
   CARDCRACK - GRID DE SUBCATEGORÍAS
   Altura, imágenes y alineación uniformes
   ========================================================= */

/* Grid */
.grid-subcategorias .products {
	align-items: stretch !important;
}

/* Cada celda ocupa toda la altura disponible */
.grid-subcategorias .wd-col.wd-cat {
	display: flex !important;
	height: auto !important;
}

/* Tarjeta completa */
.grid-subcategorias .wd-cat-wrap {
	display: flex !important;
	width: 100% !important;
	height: 100% !important;
}

/* Interior horizontal de la tarjeta */
.grid-subcategorias .wd-cat-inner {
	position: relative !important;

	display: flex !important;
	align-items: center !important;

	width: 100% !important;
	height: 100% !important;
	min-height: 92px !important;

	padding: 14px 18px !important;

	background: #fff !important;
	border-radius: 10px !important;

	box-sizing: border-box !important;
	overflow: hidden !important;
}


/* =========================================================
   ZONA DE IMAGEN
   ========================================================= */

/*
 * Reservamos exactamente el mismo espacio para cada logo,
 * independientemente de si el archivo original es cuadrado,
 * horizontal o un placeholder de WooCommerce.
 */
.grid-subcategorias .wd-cat-thumb {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	flex: 0 0 90px !important;
	width: 90px !important;
	height: 54px !important;

	margin: 0 16px 0 0 !important;

	overflow: hidden !important;
}

.grid-subcategorias .wd-cat-image {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;
	height: 100% !important;
}

/* Logo */
.grid-subcategorias .wd-cat-image img {
	display: block !important;

	width: 100% !important;
	height: 100% !important;
	max-width: 90px !important;
	max-height: 54px !important;

	object-fit: contain !important;
	object-position: center !important;

	margin: 0 !important;
}


/* =========================================================
   TEXTO
   ========================================================= */

.grid-subcategorias .wd-cat-content {
	display: flex !important;
	align-items: center !important;

	flex: 1 1 auto !important;
	min-width: 0 !important;
	height: 100% !important;

	padding: 0 !important;
}

.grid-subcategorias .wd-cat-header {
	display: flex !important;
	align-items: center !important;

	width: 100% !important;
	min-height: 48px !important;
}

.grid-subcategorias .wd-entities-title {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
}

/*
 * Máximo 2 líneas.
 * De esta forma un nombre muy largo no hace crecer una
 * tarjeta respecto a las demás.
 */
.grid-subcategorias .wd-entities-title a {
	display: -webkit-box !important;

	overflow: hidden !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;

	color: inherit !important;
	text-decoration: none !important;
}


/* =========================================================
   HOVER
   ========================================================= */

.grid-subcategorias .wd-cat-inner {
	transition:
		transform .2s ease,
		box-shadow .2s ease,
		background-color .2s ease !important;
}

.grid-subcategorias .wd-cat-inner:hover {
	transform: translateY(-2px);

	box-shadow: 0 7px 18px rgba(20, 38, 75, .09) !important;
}
.wd-arrow-inner:hover {
    background: #0d43b8 !important;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 768px) and (max-width: 1024px) {

	.grid-subcategorias .wd-cat-inner {
		min-height: 88px !important;
		padding: 12px 14px !important;
	}

	.grid-subcategorias .wd-cat-thumb {
		flex-basis: 76px !important;
		width: 76px !important;
		height: 48px !important;

		margin-right: 12px !important;
	}

	.grid-subcategorias .wd-cat-image img {
		max-width: 76px !important;
		max-height: 48px !important;
	}

	.grid-subcategorias .wd-entities-title {
		font-size: 15px !important;
	}
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767px) {

	.grid-subcategorias .wd-cat-inner {
		min-height: 86px !important;
		padding: 10px !important;
	}

	.grid-subcategorias .wd-cat-thumb {
		flex: 0 0 60px !important;
		width: 60px !important;
		height: 44px !important;

		margin-right: 9px !important;
	}

	.grid-subcategorias .wd-cat-image img {
		max-width: 60px !important;
		max-height: 44px !important;
	}

	.grid-subcategorias .wd-cat-header {
		min-height: 44px !important;
	}

	.grid-subcategorias .wd-entities-title {
		font-size: 13px !important;
		line-height: 1.2 !important;
	}

	.grid-subcategorias .wd-entities-title a {
		-webkit-line-clamp: 3 !important;
	}
}



/* ==========================================================
   CARDCRACK - PRODUCTO SIMPLE
   Igualar cantidad + Añadir al carrito al producto variable
   ========================================================== */

/*
 * Los productos variables usan form.variations_form.
 * De esta forma afectamos únicamente al formulario SIMPLE.
 */
.single-product
.wd-single-add-cart
form.cart:not(.variations_form) {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
}


/* =========================
   CONTENEDOR DE CANTIDAD
   ========================= */

.single-product
.wd-single-add-cart
form.cart:not(.variations_form) > .quantity {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;

    position: relative !important;

    width: 122px !important;
    min-width: 122px !important;
    height: 58px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1px solid #d8dce4 !important;
    border-radius: 4px !important;

    background: #fff !important;
    overflow: hidden !important;

    box-shadow: none !important;
}


/* =========================
   BOTONES - Y +
   Neutraliza el estilo
   "overlap" de Woodmart
   ========================= */

.single-product
.wd-single-add-cart
form.cart:not(.variations_form) > .quantity > .minus,

.single-product
.wd-single-add-cart
form.cart:not(.variations_form) > .quantity > .plus {
    position: static !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    transform: none !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 40px !important;

    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;

    height: 56px !important;
    min-height: 56px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: #fff !important;
    color: #718096 !important;

    box-shadow: none !important;

    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1 !important;

    opacity: 1 !important;
}


/* Separadores interiores */
.single-product
.wd-single-add-cart
form.cart:not(.variations_form) > .quantity > .minus {
    border-right: 1px solid #e1e4e9 !important;
    order: 1 !important;
}

.single-product
.wd-single-add-cart
form.cart:not(.variations_form) > .quantity > .plus {
    border-left: 1px solid #e1e4e9 !important;
    order: 3 !important;
}


/* =========================
   INPUT CANTIDAD
   ========================= */

.single-product
.wd-single-add-cart
form.cart:not(.variations_form) > .quantity > input.qty {
    position: static !important;

    flex: 0 0 40px !important;
    order: 2 !important;

    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;

    height: 56px !important;
    min-height: 56px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: #fff !important;
    color: #111 !important;

    box-shadow: none !important;
    outline: none !important;

    text-align: center !important;

    font-size: 18px !important;
    font-weight: 400 !important;

    -moz-appearance: textfield !important;
    appearance: textfield !important;
}


/* Eliminar flechas nativas de Chrome/Safari */
.single-product
.wd-single-add-cart
form.cart:not(.variations_form)
.quantity input.qty::-webkit-inner-spin-button,

.single-product
.wd-single-add-cart
form.cart:not(.variations_form)
.quantity input.qty::-webkit-outer-spin-button {
    margin: 0 !important;
    -webkit-appearance: none !important;
}


/* =========================
   AÑADIR AL CARRITO
   ========================= */

.single-product
.wd-single-add-cart
form.cart:not(.variations_form) > .single_add_to_cart_button {
    position: relative !important;

    flex: 1 1 auto !important;

    width: auto !important;
    min-width: 220px !important;

    height: 58px !important;
    min-height: 58px !important;

    margin: 0 !important;
    padding: 0 28px !important;

    border-radius: 4px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    white-space: nowrap !important;
}

/* ==========================================================
   FIX: evitar que el botón invada el selector de cantidad
   ========================================================== */

.single-product
.wd-single-add-cart
form.cart:not(.variations_form) > .quantity {
    position: relative !important;
    z-index: 2 !important;
}

.single-product
.wd-single-add-cart
form.cart:not(.variations_form) > .single_add_to_cart_button {
    position: relative !important;
    z-index: 1 !important;
    overflow: hidden !important;
}


/* Las capas visuales internas del botón no deben capturar clics */
.single-product
.wd-single-add-cart
form.cart:not(.variations_form) > .single_add_to_cart_button::before,

.single-product
.wd-single-add-cart
form.cart:not(.variations_form) > .single_add_to_cart_button::after {
    pointer-events: none !important;
}
/* =========================
   MÓVIL
   ========================= */

@media (max-width: 767px) {

    .single-product
    .wd-single-add-cart
    form.cart:not(.variations_form) {
        gap: 12px !important;
        width: 100% !important;
    }

    .single-product
    .wd-single-add-cart
    form.cart:not(.variations_form) > .quantity {
        flex: 0 0 122px !important;
    }

}
/* ==========================================================
   CARDCRACK - RADIO DE BORDES CANTIDAD + BOTÓN
   ========================================================== */

.single-product
.wd-single-add-cart
form.cart:not(.variations_form) > .quantity {
    border-radius: 12px !important;
}

.single-product
.wd-single-add-cart
form.cart:not(.variations_form) > .single_add_to_cart_button {
    border-radius: 12px !important;
}
/* ==========================================================
   CARDCRACK - PRODUCTOS VARIABLES
   Radio cantidad + Añadir al carrito
   ========================================================== */

/* Selector de cantidad */
.single-product
.wd-single-add-cart
form.variations_form
.woocommerce-variation-add-to-cart
.quantity {
    border-radius: 12px !important;
    overflow: hidden !important;
}


/* Botón Añadir al carrito */
.single-product
.wd-single-add-cart
form.variations_form
.woocommerce-variation-add-to-cart
.single_add_to_cart_button {
    border-radius: 12px !important;
    overflow: hidden !important;
}
/* ==========================================================
   CARDCRACK - PRODUCTO SIMPLE - MÓVIL
   Cantidad + botón correctamente distribuidos
   ========================================================== */

@media (max-width: 767px) {

    /* El widget debe disponer de todo el ancho */
    .single-product
    .wd-single-add-cart {
        width: 100% !important;
        max-width: 100% !important;
    }

    .single-product
    .wd-single-add-cart > .elementor-widget-container {
        width: 100% !important;
        max-width: 100% !important;
    }


    /* ------------------------------------------
       IMPORTANTE:
       El plugin Tiered Pricing introduce este
       contenedor vacío y Flex lo estaba contando
       como una columna.
       ------------------------------------------ */

    .single-product
    .wd-single-add-cart
    form.cart:not(.variations_form)
    > .tpt__tiered-pricing:has(> .tiered-pricing-fallback-data:only-child) {
        display: none !important;
        width: 0 !important;
        min-width: 0 !important;
        flex: 0 0 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }


    /* El clear tampoco debe participar en Flex */
    .single-product
    .wd-single-add-cart
    form.cart:not(.variations_form) > .clear {
        display: none !important;
    }


    /* ------------------------------------------
       FILA DE COMPRA
       ------------------------------------------ */

    .single-product
    .wd-single-add-cart
    form.cart:not(.variations_form) {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 12px !important;

        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-right: 10px;
    }


    /* ------------------------------------------
       CANTIDAD
       ------------------------------------------ */

    .single-product
    .wd-single-add-cart
    form.cart:not(.variations_form) > .quantity {
        flex: 0 0 122px !important;

        width: 122px !important;
        min-width: 122px !important;
        max-width: 122px !important;

        margin: 0 !important;
    }


    /* ------------------------------------------
       AÑADIR AL CARRITO
       ------------------------------------------ */

    .single-product
    .wd-single-add-cart
    form.cart:not(.variations_form)
    > .single_add_to_cart_button {

        flex: 1 1 0 !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;

        margin: 0 !important;

        height: 58px !important;
        min-height: 58px !important;

        padding-left: 12px !important;
        padding-right: 12px !important;

        white-space: nowrap !important;

        overflow: hidden !important;
    }
}