/*
 * Mercados Pro Suite: sistema de botones de marca (6.664).
 *
 * Una sola capa, cargada la última, que fija el aspecto de todos los botones
 * del plugin (público, Radar Institucional, Trading intradía, Mi Cuenta y
 * pantallas de administración del propio plugin).
 *
 * Marca:
 *   Tipografía  Montserrat, pesos 400-900 (botones: 800 y 900).
 *   Colores     negro #0B0B0C, amarillo #F4C10F, dorado #FFD400, blanco #FFFFFF.
 *   Estética    fondos oscuros, alto contraste, amarillo como acento.
 *
 * Roles:
 *   primario    relleno dorado, texto negro. Acción principal (enviar, guardar,
 *               actualizar, contratar). Al pasar el ratón pasa a amarillo.
 *   secundario  relleno negro, borde dorado, texto blanco. Acción de apoyo.
 *   pestaña     relleno negro suave, borde fino; activa = dorado. Filtros y
 *               pestañas de tipo de activo, rango o marco temporal.
 *   peligro     relleno negro, borde y texto rojo suave (borrar, apagar).
 *
 * Escala tipográfica (única):
 *   12px / 800  compactos: pestañas, filtros, botones pequeños
 *   14px / 900  estándar: botones de acción
 *   16px / 900  grandes: llamadas a la acción de páginas de venta
 *
 * Los componentes con diseño propio (sugerencias del buscador, selector de
 * idioma, acordeones del Radar, tickers que abren el gráfico, cierre del
 * gráfico, tesis guardadas...) se excluyen a propósito.
 *
 * Todas las reglas llevan !important porque varios módulos del Radar
 * imprimen su propio <style> dentro del shortcode, después de esta hoja.
 */

:root {
	--mps-btn-black: #0b0b0c;
	--mps-btn-yellow: #f4c10f;
	--mps-btn-gold: #ffd400;
	--mps-btn-white: #ffffff;
	--mps-btn-chip: #151516;
	--mps-btn-danger: #ff8a8a;
	--mps-btn-font: 'Montserrat', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--mps-btn-size-sm: 12px;
	--mps-btn-size-md: 14px;
	--mps-btn-size-lg: 16px;
}

/* ---------------------------------------------------------------------
 * 1. Base común: forma, tipografía y foco.
 * ------------------------------------------------------------------ */
html body :is(div, section, article, form, aside, main, details, header, footer, nav, table, ul, li, p, dialog):is([class*="mps-"], [class*="sab-"], .woocommerce-account, .woocommerce-MyAccount-content) :is(
	.button,
	.button-primary,
	.button-secondary,
	.woocommerce-Button,
	.mps-btn,
	button[type="submit"],
	input[type="submit"],
	input[type="button"],
	a[class*="button"],
	a[class*="btn"],
	a[class*="cta"],
	button[class*="button"],
	button[class*="btn"],
	button[class*="submit"],
	button[class*="refresh"],
	button[class*="retry"],
	button[class*="__start"],
	button[class*="__stop"],
	button[class*="-tab"],
	button[class*="__tab"],
	button[data-days],
	button:where(:not([class], [type="submit"]), [class=""]:not([type="submit"])), button[class="is-active"], button[data-market], button[data-ai-reset], button[data-sab-seas-tab],
	button[data-intraday-refresh],
	button[data-strathist-toggle],
	button[class*="delete"]
):not([class*="suggestion"], [class*="dropdown"], [class*="accordion"], [class*="symbol"], [class*="close"], [class*="saved-button"], [class*="history-item"], [class*="strategy-toggle"], [class*="comment-translate"], [class*="chevron"], [class*="mps-btn--link"], .mps-unbranded) {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px;
	box-sizing: border-box !important;
	appearance: none;
	-webkit-appearance: none;
	min-height: 44px !important;
	margin-block: 0;
	padding: 11px 20px !important;
	border: 1px solid var(--mps-btn-gold) !important;
	border-radius: 999px !important;
	background: var(--mps-btn-gold) !important;
	background-image: none !important;
	color: var(--mps-btn-black) !important;
	font-family: var(--mps-btn-font) !important;
	font-size: var(--mps-btn-size-md) !important;
	font-weight: 900 !important;
	font-style: normal !important;
	letter-spacing: 0 !important;
	line-height: 1.2 !important;
	text-align: center;
	text-decoration: none !important;
	text-transform: none !important;
	text-shadow: none !important;
	box-shadow: none !important;
	cursor: pointer;
	white-space: normal;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}

/* Hover y foco del primario: del dorado al amarillo de marca. */
html body :is(div, section, article, form, aside, main, details, header, footer, nav, table, ul, li, p, dialog):is([class*="mps-"], [class*="sab-"], .woocommerce-account, .woocommerce-MyAccount-content) :is(
	.button,
	.button-primary,
	.woocommerce-Button,
	.mps-btn,
	button[type="submit"],
	input[type="submit"],
	input[type="button"],
	a[class*="button"],
	a[class*="btn"],
	a[class*="cta"],
	button[class*="button"],
	button[class*="btn"],
	button[class*="submit"],
	button[class*="refresh"],
	button[class*="retry"],
	button[class*="__start"],
	button[class*="__stop"],
	button[data-intraday-refresh]
):not([class*="suggestion"], [class*="dropdown"], [class*="accordion"], [class*="symbol"], [class*="close"], [class*="saved-button"], [class*="history-item"], [class*="strategy-toggle"], [class*="comment-translate"], [class*="chevron"], [class*="mps-btn--link"], .mps-unbranded):is(:hover, :focus-visible) {
	background: var(--mps-btn-yellow) !important;
	border-color: var(--mps-btn-yellow) !important;
	color: var(--mps-btn-black) !important;
}

html body :is(div, section, article, form, aside, main, details, header, footer, nav, table, ul, li, p, dialog):is([class*="mps-"], [class*="sab-"], .woocommerce-account, .woocommerce-MyAccount-content) :is(
	.button, .button-primary, .button-secondary, .woocommerce-Button, .mps-btn, button[type="submit"], input[type="submit"], input[type="button"],
	a[class*="button"], a[class*="btn"], a[class*="cta"], button[class*="button"], button[class*="btn"], button[class*="submit"],
	button[class*="refresh"], button[class*="retry"], button[class*="-tab"], button[class*="__tab"], button[data-days],
	button:where(:not([class], [type="submit"]), [class=""]:not([type="submit"])), button[class="is-active"], button[data-market], button[data-ai-reset], button[data-sab-seas-tab], button[data-intraday-refresh],
	button[data-strathist-toggle], button[class*="delete"]
):not([class*="suggestion"], [class*="dropdown"], [class*="accordion"], [class*="symbol"], [class*="close"], [class*="saved-button"], [class*="history-item"], [class*="strategy-toggle"], [class*="comment-translate"], [class*="chevron"], .mps-unbranded):focus-visible {
	outline: 3px solid rgba(255, 212, 0, .72) !important;
	outline-offset: 3px !important;
}

/* Estado desactivado: mismo botón, atenuado, sin hover. */
html body :is(div, section, article, form, aside, main, details, header, footer, nav, table, ul, li, p, dialog):is([class*="mps-"], [class*="sab-"], .woocommerce-account, .woocommerce-MyAccount-content) :is(button, input[type="submit"], input[type="button"], a)[disabled],
html body :is(div, section, article, form, aside, main, details, header, footer, nav, table, ul, li, p, dialog):is([class*="mps-"], [class*="sab-"], .woocommerce-account, .woocommerce-MyAccount-content) :is(button, input[type="submit"], input[type="button"], a)[aria-disabled="true"] {
	opacity: .55;
	cursor: not-allowed !important;
}

/* ---------------------------------------------------------------------
 * 2. Secundario: negro, borde dorado, texto blanco.
 * ------------------------------------------------------------------ */
html body :is(div, section, article, form, aside, main, details, header, footer, nav, table, ul, li, p, dialog):is([class*="mps-"], [class*="sab-"], .woocommerce-account, .woocommerce-MyAccount-content) :is(
	.button-secondary,
	.mps-btn--secondary,
	[class*="button-secondary"],
	[class*="secondary-button"],
	[class*="__button-secondary"],
	[class*="bulk"],
	[class*="options-ai__refresh"],
	[class*="addon-btn"],
	[class*="sab-as2-btn"],
	.mps-community-gate .button:not(.button-primary),
	.mps-sales-page .button:not(.button-primary),
	.mps-planes .button:not(.button-primary),
	.mps-onboarding-page .button:not(.button-primary),
	.mps-registro .button:not(.button-primary),
	.mps-account-dashboard-actions .button:not(.button-primary)
):not([class*="suggestion"], [class*="dropdown"], [class*="accordion"], [class*="symbol"], [class*="close"], .mps-unbranded) {
	background: var(--mps-btn-black) !important;
	border-color: var(--mps-btn-gold) !important;
	color: var(--mps-btn-white) !important;
}

html body :is(div, section, article, form, aside, main, details, header, footer, nav, table, ul, li, p, dialog):is([class*="mps-"], [class*="sab-"], .woocommerce-account, .woocommerce-MyAccount-content) :is(
	.button-secondary,
	.mps-btn--secondary,
	[class*="button-secondary"],
	[class*="secondary-button"],
	[class*="__button-secondary"],
	[class*="bulk"],
	[class*="options-ai__refresh"],
	[class*="addon-btn"],
	[class*="sab-as2-btn"],
	.mps-community-gate .button:not(.button-primary),
	.mps-sales-page .button:not(.button-primary),
	.mps-planes .button:not(.button-primary),
	.mps-onboarding-page .button:not(.button-primary),
	.mps-registro .button:not(.button-primary),
	.mps-account-dashboard-actions .button:not(.button-primary)
):not([class*="suggestion"], [class*="dropdown"], [class*="accordion"], [class*="symbol"], [class*="close"], .mps-unbranded):is(:hover, :focus-visible) {
	background: var(--mps-btn-gold) !important;
	border-color: var(--mps-btn-gold) !important;
	color: var(--mps-btn-black) !important;
}

/* ---------------------------------------------------------------------
 * 3. Pestañas y filtros: compactos, 12px / 800. Activa = dorado.
 * ------------------------------------------------------------------ */
html body :is(div, section, article, form, aside, main, details, header, footer, nav, table, ul, li, p, dialog):is([class*="mps-"], [class*="sab-"], .woocommerce-account, .woocommerce-MyAccount-content) :is(
	button[class*="-tab"],
	button[class*="__tab"],
	button[data-days],
	button:where(:not([class], [type="submit"]), [class=""]:not([type="submit"])), button[class="is-active"], button[data-market], button[data-ai-reset], button[data-sab-seas-tab]
):not([class*="accordion"], [class*="refresh"], [class*="submit"], .mps-unbranded) {
	min-height: 38px !important;
	padding: 8px 14px !important;
	border: 1px solid rgba(255, 255, 255, .22) !important;
	background: var(--mps-btn-chip) !important;
	color: var(--mps-btn-white) !important;
	font-size: var(--mps-btn-size-sm) !important;
	font-weight: 800 !important;
	white-space: nowrap;
}

html body :is(div, section, article, form, aside, main, details, header, footer, nav, table, ul, li, p, dialog):is([class*="mps-"], [class*="sab-"], .woocommerce-account, .woocommerce-MyAccount-content) :is(
	button[class*="-tab"],
	button[class*="__tab"],
	button[data-days],
	button:where(:not([class], [type="submit"]), [class=""]:not([type="submit"])), button[class="is-active"], button[data-market], button[data-ai-reset], button[data-sab-seas-tab]
):not([class*="accordion"], [class*="refresh"], [class*="submit"], .mps-unbranded):is(:hover, :focus-visible) {
	border-color: var(--mps-btn-gold) !important;
	background: var(--mps-btn-chip) !important;
	color: var(--mps-btn-gold) !important;
}

html body :is(div, section, article, form, aside, main, details, header, footer, nav, table, ul, li, p, dialog):is([class*="mps-"], [class*="sab-"], .woocommerce-account, .woocommerce-MyAccount-content) :is(
	button[class*="-tab"],
	button[class*="__tab"],
	button[data-days],
	button:where(:not([class], [type="submit"]), [class=""]:not([type="submit"])), button[class="is-active"], button[data-market], button[data-ai-reset], button[data-sab-seas-tab]
):not([class*="accordion"], [class*="refresh"], [class*="submit"], .mps-unbranded):is(.is-active, .active, .on, [aria-selected="true"], [aria-pressed="true"], [aria-current="true"], [aria-current="page"]),
html body :is(div, section, article, form, aside, main, details, header, footer, nav, table, ul, li, p, dialog):is([class*="mps-"], [class*="sab-"], .woocommerce-account, .woocommerce-MyAccount-content) :is(
	button[class*="-tab"],
	button[class*="__tab"],
	button[data-days],
	button:where(:not([class], [type="submit"]), [class=""]:not([type="submit"])), button[class="is-active"], button[data-market], button[data-ai-reset], button[data-sab-seas-tab]
):not([class*="accordion"], [class*="refresh"], [class*="submit"], .mps-unbranded):is(.is-active, .active, .on, [aria-selected="true"], [aria-pressed="true"]):is(:hover, :focus-visible) {
	border-color: var(--mps-btn-gold) !important;
	background: var(--mps-btn-gold) !important;
	color: var(--mps-btn-black) !important;
}

/* Contador dentro de la pestaña (p. ej. número de activos con señal). */
html body :is(div, section, article, form, aside, main, details, header, footer, nav, table, ul, li, p, dialog):is([class*="mps-"], [class*="sab-"]) button[class*="-tab"] > span:not(.sab-dmp-accordion-icon) {
	font-family: var(--mps-btn-font) !important;
	font-size: inherit;
	font-weight: 900;
}

/* ---------------------------------------------------------------------
 * 4. Tamaños: pequeño (12px) y grande (16px).
 * ------------------------------------------------------------------ */
html body :is(div, section, article, form, aside, main, details, header, footer, nav, table, ul, li, p, dialog):is([class*="mps-"], [class*="sab-"], .woocommerce-account, .woocommerce-MyAccount-content) :is(
	.button-small,
	.mps-btn--sm,
	td .button,
	td button[class*="button"],
	td a[class*="button"]
):not([class*="suggestion"], [class*="close"], .mps-unbranded) {
	min-height: 36px !important;
	padding: 7px 14px !important;
	font-size: var(--mps-btn-size-sm) !important;
	font-weight: 800 !important;
}

html body :is(div, section, article, form, aside, main, details, header, footer, nav, table, ul, li, p, dialog):is([class*="mps-"], [class*="sab-"], .woocommerce-account, .woocommerce-MyAccount-content) :is(
	.mps-btn--lg,
	.mps-sales-page .button,
	.mps-sales-page input[type="submit"],
	.mps-planes .button,
	.mps-planes input[type="submit"],
	a[class*="upsell-button"],
	a[class*="forum-cta__button"],
	[class*="intraday-update-button"]
):not([class*="suggestion"], [class*="close"], .mps-unbranded) {
	min-height: 52px !important;
	padding: 14px 28px !important;
	font-size: var(--mps-btn-size-lg) !important;
	font-weight: 900 !important;
}

/* ---------------------------------------------------------------------
 * 5. Peligro: negro con borde y texto rojo suave. Nunca rojo sólido.
 * ------------------------------------------------------------------ */
html body :is(div, section, article, form, aside, main, details, header, footer, nav, table, ul, li, p, dialog):is([class*="mps-"], [class*="sab-"], .woocommerce-account, .woocommerce-MyAccount-content) :is(
	.mps-btn--danger,
	button[class*="delete"],
	a[class*="delete"],
	.button-link-delete,
	button[data-strathist-toggle]
):not([class*="suggestion"], [class*="close"], .mps-unbranded) {
	background: var(--mps-btn-black) !important;
	border-color: var(--mps-btn-danger) !important;
	color: var(--mps-btn-danger) !important;
}

html body :is(div, section, article, form, aside, main, details, header, footer, nav, table, ul, li, p, dialog):is([class*="mps-"], [class*="sab-"], .woocommerce-account, .woocommerce-MyAccount-content) :is(
	.mps-btn--danger,
	button[class*="delete"],
	a[class*="delete"],
	.button-link-delete,
	button[data-strathist-toggle]
):not([class*="suggestion"], [class*="close"], .mps-unbranded):is(:hover, :focus-visible) {
	background: var(--mps-btn-danger) !important;
	border-color: var(--mps-btn-danger) !important;
	color: var(--mps-btn-black) !important;
}

/* El interruptor del histórico es un botón de apoyo, no una acción destructiva
 * de la página: compacto y con el tamaño de los botones pequeños. */
html body .mps-strathist-admin button[data-strathist-toggle] {
	min-height: 36px !important;
	padding: 7px 14px !important;
	font-size: var(--mps-btn-size-sm) !important;
	font-weight: 800 !important;
}

/* Cabeceras desplegables del Radar (acordeón): mismo tipo y peso que el resto. */
html body :is(div, section)[class*="sab-"] button.sab-dmp-accordion-trigger {
	font-family: var(--mps-btn-font) !important;
	font-size: var(--mps-btn-size-md) !important;
	font-weight: 800 !important;
}

/* ---------------------------------------------------------------------
 * 6. Enlaces con aspecto de texto que sí son botones de marca en línea.
 * ------------------------------------------------------------------ */
html body :is(div, section, article, form, aside, main, details, header, footer, nav, table, ul, li, p, dialog):is([class*="mps-"], [class*="sab-"]) :is(.mps-btn--link) {
	min-height: 0 !important;
	padding: 8px 12px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	cursor: pointer;
	color: var(--mps-btn-gold) !important;
	font-family: var(--mps-btn-font) !important;
	font-weight: 800 !important;
	text-decoration: underline !important;
}

/* ---------------------------------------------------------------------
 * 7. Pantallas de administración del plugin.
 *    Solo con body.mps-brand-admin (lo añade Admin\Menu en las pantallas
 *    del propio plugin). El resto de wp-admin no se toca.
 * ------------------------------------------------------------------ */
body.mps-brand-admin :is(.wrap, #wpbody-content) :is(.button, .button-primary, .button-secondary, input[type="submit"].button, a.page-title-action, .tablenav .button):not(.button-link, .button-link-delete, .wp-picker-clear, .wp-color-result, .upload-button) {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	min-height: 40px !important;
	padding: 8px 18px !important;
	border: 1px solid var(--mps-btn-black) !important;
	border-radius: 999px !important;
	background: var(--mps-btn-black) !important;
	color: var(--mps-btn-white) !important;
	font-family: var(--mps-btn-font) !important;
	font-size: var(--mps-btn-size-md) !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	text-shadow: none !important;
	box-shadow: none !important;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

body.mps-brand-admin :is(.wrap, #wpbody-content) :is(.button-primary, input[type="submit"].button-primary, a.page-title-action):not(.button-link, .button-link-delete) {
	border-color: var(--mps-btn-gold) !important;
	background: var(--mps-btn-gold) !important;
	color: var(--mps-btn-black) !important;
	font-weight: 900 !important;
}

body.mps-brand-admin :is(.wrap, #wpbody-content) :is(.button, .button-primary, .button-secondary, input[type="submit"].button, a.page-title-action, .tablenav .button):not(.button-link, .button-link-delete, .wp-picker-clear, .wp-color-result, .upload-button):is(:hover, :focus, :focus-visible) {
	border-color: var(--mps-btn-yellow) !important;
	background: var(--mps-btn-yellow) !important;
	color: var(--mps-btn-black) !important;
	outline: 0;
	box-shadow: 0 0 0 3px rgba(244, 193, 15, .35) !important;
}

body.mps-brand-admin.mps-brand-admin :is(.wrap, #wpbody-content) :is(.button-small, .tablenav .button, .row-actions .button):not(.button-link, .button-link-delete, .wp-picker-clear, .wp-color-result, .upload-button) {
	min-height: 32px !important;
	padding: 5px 14px !important;
	font-size: var(--mps-btn-size-sm) !important;
}

body.mps-brand-admin :is(.wrap, #wpbody-content) :is(.button-link-delete, .submitdelete.button) {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 32px !important;
	padding: 5px 14px !important;
	font-size: var(--mps-btn-size-sm) !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	border: 1px solid #b32d2e !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: #b32d2e !important;
	font-family: var(--mps-btn-font) !important;
	font-weight: 800 !important;
}

body.mps-brand-admin :is(.wrap, #wpbody-content) :is(.button, .button-primary):is([disabled], .disabled) {
	opacity: .5;
	cursor: not-allowed;
}

@media (max-width: 600px) {
	html body :is(div, section, article, form, aside, main, details, header, footer, nav, table, ul, li, p, dialog):is([class*="mps-"], [class*="sab-"], .woocommerce-account, .woocommerce-MyAccount-content) :is(.button, .button-primary, button[type="submit"], input[type="submit"]):not(.mps-unbranded) {
		max-width: 100%;
	}
}
