.mcj-calc-wrap {
	display: flex;
	width: 100%;
}
.mcj-calc-align-left { justify-content: flex-start; }
.mcj-calc-align-center { justify-content: center; }
.mcj-calc-align-right { justify-content: flex-end; }

.mcj-calc {
	display: block !important;
	float: none !important;
	box-sizing: border-box !important;
	background: var(--mcj-white);
	border: 1px solid rgba(19,39,32,0.07);
	border-radius: 20px;
	padding: 28px 26px;
	box-shadow: var(--mcj-shadow);
	max-width: 420px;
	width: 100%;
}
.mcj-calc__title {
	margin: 0 0 22px;
	font-size: clamp(21px, 4vw, 28px);
	font-weight: 800;
	color: var(--mcj-dark) !important;
	line-height: 1.2;
}

.mcj-calc__field {
	display: block !important;
	width: 100% !important;
	float: none !important;
	margin: 0 0 16px !important;
}
.mcj-calc__label {
	display: block !important;
	width: 100% !important;
	float: none !important;
	font-size: 13px;
	font-weight: 700;
	color: var(--mcj-dark) !important;
	margin: 0 0 6px !important;
}

.mcj-calc__input {
	display: block !important;
	float: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
	background: #F5F8F7;
	border: 1px solid rgba(19,39,32,0.12);
	border-radius: 10px;
	padding: 12px 14px;
	font-size: 15px;
	color: var(--mcj-dark) !important;
	font-weight: 600;
	transition: border-color .15s ease, background .15s ease;
}
.mcj-calc__input:hover {
	border-color: rgba(38,196,140,0.5);
	background-color: #EFF6F3;
}
.mcj-calc__input:focus {
	outline: none;
	border-color: var(--mcj-primary);
	background-color: var(--mcj-white);
	box-shadow: 0 0 0 3px rgba(38,196,140,0.15);
}
.mcj-calc__input::-webkit-outer-spin-button,
.mcj-calc__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Botón-trigger de "Divisa" (reemplaza al <select> nativo — ver
   calculadora.js). Clase exclusiva de este botón, así nunca comparte
   selector con el <select> de "¿Qué quieres hacer hoy?". */
.mcj-field-divisa-trigger {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	float: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
	background: rgba(38,196,140,0.08);
	border: 1px solid rgba(38,196,140,0.3);
	border-radius: 10px;
	padding: 12px 14px;
	font-size: 15px;
	font-family: inherit;
	color: var(--mcj-dark) !important;
	font-weight: 600;
	cursor: pointer;
	text-align: left;
	transition: border-color .15s ease, background-color .15s ease;
}
.mcj-field-divisa-trigger:hover {
	border-color: var(--mcj-primary);
	background-color: rgba(38,196,140,0.13);
}
.mcj-field-divisa-trigger.is-open {
	border-color: var(--mcj-primary);
	box-shadow: 0 0 0 3px rgba(38,196,140,0.18);
}
.mcj-field-divisa-trigger:after {
	content: '';
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23132720' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 8 10 13 15 8'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 16px;
	transition: transform .15s ease;
}
.mcj-field-divisa-trigger.is-open:after { transform: rotate(180deg); }
.mcj-field-divisa-current {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* "¿Qué quieres hacer hoy?" (nice-select, el tema lo reemplaza por este
   div). Mismo tratamiento visual: caja en verde clarito con flecha SVG,
   con !important porque el CSS propio de nice-select del tema pisa
   nuestras reglas sin él. */
.mcj-calc .nice-select.mcj-calc__select {
	display: block !important;
	float: none !important;
	line-height: normal !important;
	height: auto !important;
	background: rgba(38,196,140,0.08) !important;
	border: 1px solid rgba(38,196,140,0.3) !important;
	border-radius: 10px !important;
	padding: 12px 38px 12px 14px !important;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23132720' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 8 10 13 15 8'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
	background-size: 16px !important;
	transition: border-color .15s ease, background-color .15s ease;
}
.mcj-calc .nice-select.mcj-calc__select:hover {
	border-color: var(--mcj-primary) !important;
	background-color: rgba(38,196,140,0.13) !important;
}
.mcj-calc .nice-select.mcj-calc__select.open {
	border-color: var(--mcj-primary) !important;
	box-shadow: 0 0 0 3px rgba(38,196,140,0.18);
}
.mcj-calc .nice-select.mcj-calc__select .current {
	display: block;
	font-weight: 600;
	color: var(--mcj-dark);
}
/* Apagamos la flechita nativa de nice-select (los ::before/::after que
   dibuja con bordes) — usamos nuestro propio ícono SVG de arriba. */
.mcj-calc .nice-select.mcj-calc__select:after {
	display: none !important;
}
.mcj-calc .nice-select.mcj-calc__select .list {
	width: 100%;
	box-sizing: border-box;
	border-radius: 10px;
	box-shadow: var(--mcj-shadow);
	padding: 6px;
	z-index: 5;
}
.mcj-calc .nice-select.mcj-calc__select .option {
	border-radius: 8px;
	padding: 8px 12px;
	min-height: auto;
	line-height: 1.4;
	color: var(--mcj-dark) !important;
}
.mcj-calc .nice-select.mcj-calc__select .option:hover,
.mcj-calc .nice-select.mcj-calc__select .option.selected.focus {
	background: rgba(38,196,140,0.1);
}

/* Lista propia de "Divisa": se monta como hijo directo de <body>
   (position: fixed, calculado por JS), fuera del carrusel — así nunca
   queda recortada por su overflow:hidden ni afectada por sus
   transforms, sin importar en qué slide viva la calculadora. */
.mcj-select__list {
	position: fixed;
	z-index: 100000;
	margin: 0;
	list-style: none;
	background: var(--mcj-white);
	border: 1px solid rgba(19,39,32,0.08);
	border-radius: 10px;
	box-shadow: var(--mcj-shadow);
	padding: 6px;
	max-height: 260px;
	overflow-y: auto;
	box-sizing: border-box;
	font-family: inherit;
}
.mcj-select__option {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 9px 12px;
	border-radius: 8px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	color: var(--mcj-dark);
	white-space: nowrap;
}
.mcj-select__option:hover,
.mcj-select__option.is-selected {
	background: rgba(38,196,140,0.1);
}

.mcj-calc__result {
	display: block !important;
	float: none !important;
	box-sizing: border-box !important;
	width: 100%;
	margin: 20px 0 0;
	padding: 14px 16px;
	border-radius: 12px;
	background: rgba(38,196,140,0.14);
	font-size: 15px;
	font-weight: 700;
	color: var(--mcj-dark) !important;
	text-align: center;
	min-height: 20px;
}
.mcj-calc__result strong {
	color: var(--mcj-primary) !important;
	filter: brightness(0.78);
	font-size: 17px;
}

.mcj-calc__updated {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 5px;
	margin: 10px 0 0;
	font-size: 12px;
	color: var(--mcj-dark) !important;
	opacity: 0.55;
}
.mcj-calc__updated:empty { display: none !important; }
.mcj-calc__updated-icon {
	width: 13px;
	height: 13px;
	flex-shrink: 0;
	color: var(--mcj-dark);
}

@media (max-width: 420px) {
	.mcj-calc { padding: 20px; }
}

/* Explicación de qué significa "comprar"/"vender" divisa. Se inserta
   por JS debajo del selector de dirección (ver calculadora.js), así
   funciona igual en el widget de Elementor y en la calculadora del
   banner carrusel, que comparten ese script. */
.mcj-calc__hint {
	display: flex;
	align-items: flex-start;
	gap: 7px;
	margin: 9px 0 0;
	padding: 9px 12px;
	border-radius: 10px;
	background: rgba(38,196,140,0.1);
	border-left: 3px solid var(--mcj-primary);
	font-size: 12.5px;
	line-height: 1.45;
	color: var(--mcj-dark) !important;
}
.mcj-calc__hint strong {
	font-weight: 800;
	color: var(--mcj-dark) !important;
}

@media (max-width: 480px) {
	.mcj-calc__hint {
		font-size: 12px;
		padding: 8px 10px;
	}
}

/* Botón para invertir las dos monedas. */
.mcj-calc__swap-wrap {
	display: flex;
	justify-content: center;
	margin: -4px 0 2px;
}
.mcj-calc__swap {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid rgba(19,39,32,0.15);
	background: var(--mcj-white);
	color: var(--mcj-primary);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: background .18s ease, transform .3s ease;
}
.mcj-calc__swap:hover {
	background: rgba(38,196,140,0.12);
	transform: rotate(180deg);
}
.mcj-calc__swap svg { width: 17px; height: 17px; }

/* Resultado escrito en letras, debajo de la cifra. */
.mcj-calc__result-words {
	margin: 4px 0 0;
	font-size: 12.5px;
	line-height: 1.45;
	font-style: italic;
	opacity: 0.7;
	text-align: center;
}
.mcj-calc__result-words:empty { display: none; }
