/**
 * Adaptadores visuales para superficies funcionales de Críptica.
 * No define layout, contenido, permisos ni comportamiento de los plugins.
 */

/* Buttons: the shared UI Core contract wins over plugin fallbacks. */
:is(.cmc-root, .cmc-login-root, .cs-root) .cui-button,
:is(.cmc-root, .cmc-login-root, .cs-root) .cui-button:link,
:is(.cmc-root, .cmc-login-root, .cs-root) .cui-button:visited {
	min-height: var(--cui-button-height, 3.625rem) !important;
	padding: 0.875rem 1.6875rem !important;
	color: #f7efe4 !important;
	border: 1px solid #b63b3f !important;
	border-radius: 0 !important;
	background: #90282c !important;
	box-shadow: none !important;
	font-size: var(--cui-font-size-3, 0.875rem) !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 1.35 !important;
	text-decoration: none !important;
	text-transform: none !important;
	transform: none !important;
}

:is(.cmc-root, .cmc-login-root, .cs-root) .cui-button:hover,
:is(.cmc-root, .cmc-login-root, .cs-root) .cui-button:focus,
:is(.cmc-root, .cmc-login-root, .cs-root) .cui-button:focus-visible,
:is(.cmc-root, .cmc-login-root, .cs-root) .cui-button:active {
	color: var(--cui-gold-500, #c7a957) !important;
	border-color: var(--cui-gold-500, #c7a957) !important;
	background: #90282c !important;
}

/* Form controls: plugins keep fields and validation; UI Core owns appearance. */
:is(.cmc-root, .cmc-login-root, .cs-root) :is(.cui-input, .cui-select, .cui-textarea),
:is(.cmc-root, .cmc-login-root) :is(.cmc-form-grid, .cmc-login-form) :is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="date"], input[type="number"], select, textarea) {
	width: 100% !important;
	min-height: var(--cui-control-height, 3.5rem) !important;
	padding: 0.875rem 0.9375rem !important;
	color: var(--cui-ink, #24211d) !important;
	border: 1px solid var(--cui-neutral-400, #bdb4a4) !important;
	border-radius: 0 !important;
	background: var(--cui-paper-white, #fffdf8) !important;
	box-shadow: none !important;
	font-family: var(--cui-font-ui, Inter, ui-sans-serif, sans-serif) !important;
	font-size: 0.9375rem !important;
	line-height: 1.35 !important;
}

:is(.cmc-root, .cmc-login-root, .cs-root) :is(.cui-input, .cui-select, .cui-textarea):focus,
:is(.cmc-root, .cmc-login-root) :is(.cmc-form-grid, .cmc-login-form) :is(input, select, textarea):focus {
	border-color: var(--cui-red-700, #881f21) !important;
	outline: 2px solid rgb(136 31 33 / 12%) !important;
	outline-offset: 0 !important;
}

/* Notices: information, confirmation and review use the shared soft tints. */
:is(.cmc-root, .cmc-login-root, .cs-root) :is(.cui-notice, .cmc-message, .cmc-login-notice) {
	color: var(--cui-color-text, #eee6d7) !important;
	border: 1px solid var(--cui-gold-500, #c7a957) !important;
	border-radius: 0 !important;
	background: rgb(199 169 87 / 12%) !important;
	box-shadow: none !important;
}

:is(.cmc-root, .cmc-login-root, .cs-root) :is(.cui-notice-success, .cmc-login-notice.is-success) {
	border-color: #7e9a69 !important;
	background: rgb(126 154 105 / 11%) !important;
}

:is(.cmc-root, .cmc-login-root, .cs-root) :is(.cui-notice-error, .cmc-message-error, .cmc-login-notice.is-error, .cs-auth-required, .cs-urgent-note) {
	border-color: #b45a55 !important;
	background: rgb(158 61 56 / 10%) !important;
}

@media (max-width: 700px) {
	:is(.cmc-root, .cmc-login-root, .cs-root) .cui-button {
		width: 100%;
	}
}
