/**
 * Portal-wide buttons — cohesive blue primaries / neutral outlines; kill theme lime & “mustard capsule” skins.
 * Loaded after portal-saas.css, CRM sheets, etc.
 */

body.bwp-portal-body:not(.wp-admin) {
	--bwp-portal-btn-r: min(var(--bwp-radius-md, 12px), 12px);
	--bwp-portal-btn-r-sm: var(--bwp-radius-sm, 8px);
	--bwp-portal-btn-primary-from: color-mix(in srgb, var(--bwp-primary) 96%, #0f172a);
	--bwp-portal-btn-primary-to: color-mix(in srgb, var(--bwp-primary-hover) 92%, #0f172a);
	--bwp-portal-btn-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
	--bwp-portal-btn-shadow-hover: 0 8px 20px rgb(37 99 235 / 0.2);
}

@supports not (color-mix(in srgb, white, black)) {
	body.bwp-portal-body:not(.wp-admin) {
		--bwp-portal-btn-primary-from: var(--bwp-primary);
		--bwp-portal-btn-primary-to: var(--bwp-primary-hover);
	}
}

/* -------------------------------------------------------------------------- */
/* 1. Inline stray greens / gold CTAs → brand blue (extends portal-saas hex) */
/* -------------------------------------------------------------------------- */

body.bwp-portal-body [style*="background: #DCF566"],
body.bwp-portal-body [style*="background:#DCF566"],
body.bwp-portal-body [style*="background:#dcf566"],
body.bwp-portal-body [style*="background: rgb(220,245,102)"],
body.bwp-portal-body [style*="background:rgb(220,245,102)"],
body.bwp-portal-body [style*="background:#C8F058"],
body.bwp-portal-body [style*="background:#CDDC39"],
body.bwp-portal-body [style*="background: #fcd34d"],
body.bwp-portal-body [style*="background:#fcd34d"],
body.bwp-portal-body [style*="background:#FBBF24"],
body.bwp-portal-body [style*="background:#EAB308"],
body.bwp-portal-body [style*="background:#FACC15"],
body.bwp-portal-body [style*="background:#FDE047"],
body.bwp-portal-body [style*="background:#fde68a"] {
	background: var(--bwp-portal-btn-primary-from) !important;
	color: var(--bwp-text-on-primary) !important;
	border-color: transparent !important;
}

body.bwp-portal-body a[style*="DCF566"]:not([href^="tel:"]):not([href^="mailto:"]),
body.bwp-portal-body a[style*="B4F000"],
body.bwp-portal-body a[style*="fcd34d"],
body.bwp-portal-body a[style*="FBBF24"]:not(.bwp-link) {
	background: linear-gradient(
		165deg,
		var(--bwp-portal-btn-primary-from) 0%,
		var(--bwp-portal-btn-primary-to) 100%
	) !important;
	color: var(--bwp-text-on-primary) !important;
	border-radius: var(--bwp-portal-btn-r-sm) !important;
	box-shadow: var(--bwp-portal-btn-shadow) !important;
}

body.bwp-portal-body [style*="color: #B4F000"],
body.bwp-portal-body [style*="color:#B4F000"],
body.bwp-portal-body [style*="color: #a3d900"],
body.bwp-portal-body [style*="border-color: #B4F000"],
body.bwp-portal-body [style*="border-color:#B4F000"] {
	color: var(--bwp-primary) !important;
	border-color: rgba(37, 99, 235, 0.45) !important;
}

/* -------------------------------------------------------------------------- */
/* 2. Classified BWP primaries / table actions — rounded rect, not capsules     */
/* -------------------------------------------------------------------------- */

body.bwp-portal-body:not(.wp-admin) .bwp-btn-primary,
body.bwp-portal-body:not(.wp-admin) button.bwp-btn-primary,
body.bwp-portal-body:not(.wp-admin) button.bwp-primary,
body.bwp-portal-body:not(.wp-admin) a.bwp-btn-primary,
body.bwp-portal-body:not(.wp-admin) a.bwp-primary,
body.bwp-portal-body:not(.wp-admin) .bwp-modal-btn-primary,
body.bwp-portal-body:not(.wp-admin) .bwp-create-trigger,
body.bwp-portal-body:not(.wp-admin) .bwp-profile-btn-primary {
	background: linear-gradient(
		165deg,
		var(--bwp-portal-btn-primary-from) 0%,
		var(--bwp-portal-btn-primary-to) 100%
	) !important;
	border-radius: var(--bwp-portal-btn-r-sm) !important;
	box-shadow: var(--bwp-portal-btn-shadow) !important;
	font-weight: 600 !important;
	letter-spacing: 0.01em;
	transition:
		background 0.18s ease,
		box-shadow 0.18s ease,
		transform 0.12s ease,
		border-color 0.18s ease !important;
}

body.bwp-portal-body:not(.wp-admin) .bwp-btn-primary:hover,
body.bwp-portal-body:not(.wp-admin) button.bwp-btn-primary:hover,
body.bwp-portal-body:not(.wp-admin) a.bwp-btn-primary:hover,
body.bwp-portal-body:not(.wp-admin) button.bwp-primary:hover,
body.bwp-portal-body:not(.wp-admin) a.bwp-primary:hover,
body.bwp-portal-body:not(.wp-admin) .bwp-modal-btn-primary:hover,
body.bwp-portal-body:not(.wp-admin) .bwp-create-trigger:hover {
	box-shadow: var(--bwp-portal-btn-shadow-hover) !important;
	transform: translateY(-1px);
}

body.bwp-portal-body:not(.wp-admin) .bwp-btn-secondary,
body.bwp-portal-body:not(.wp-admin) a.bwp-btn-secondary,
body.bwp-portal-body:not(.wp-admin) .bwp-modal-btn-secondary,
body.bwp-portal-body:not(.wp-admin) .bwp-profile-btn-secondary {
	border-radius: var(--bwp-portal-btn-r-sm) !important;
	border: 1px solid rgba(15, 23, 42, 0.12) !important;
	background: var(--bwp-surface-elevated) !important;
	color: var(--bwp-text) !important;
	font-weight: 600 !important;
	transition:
		background 0.18s ease,
		border-color 0.18s ease,
		box-shadow 0.18s ease !important;
}

body.bwp-portal-body:not(.wp-admin) .bwp-btn-secondary:hover,
body.bwp-portal-body:not(.wp-admin) a.bwp-btn-secondary:hover,
body.bwp-portal-body:not(.wp-admin) .bwp-modal-btn-secondary:hover,
body.bwp-portal-body:not(.wp-admin) .bwp-profile-btn-secondary:hover {
	background: var(--bwp-bg-muted) !important;
	border-color: rgba(37, 99, 235, 0.42) !important;
}

/* Raw buttons in CRM dashboard shell only (themes love 999px + yellow here; quote/job estimate pages stay under crm-quote-page.css). */

body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin)
	#bwp-portal-root
	.bwp-admin-portal-page
	button:not(.bwp-create-trigger):not(.bwp-nav-item):not([role="tab"]):not(.bwp-quote-pill-btn):not(.bwp-sm-est-charges-pill):not(
		.bwp-sm-est-inv-pill
	):not(.bwp-charges-menu-btn):not(.notice-dismiss) {
	min-height: 36px !important;
	padding: 8px 16px !important;
	border-radius: var(--bwp-portal-btn-r-sm) !important;
	max-width: 100%;
}

body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin)
	#bwp-portal-root
	.bwp-admin-portal-page
	button:not(.bwp-create-trigger):not(.bwp-nav-item):not([role="tab"]):not(.bwp-quote-pill-btn):not(.bwp-sm-est-charges-pill):not(
		.bwp-sm-est-inv-pill
	):not(.bwp-charges-menu-btn):not(.notice-dismiss):not(input[type="checkbox"]):not(.bwp-modal-close) {
	box-shadow: var(--bwp-portal-btn-shadow);
	font-family: var(--bwp-font-sans);
	transition:
		box-shadow 0.18s ease,
		background 0.18s ease,
		border-color 0.18s ease;
}

body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin)
	#bwp-portal-root
	.bwp-accounting-table
	button:not(.bwp-btn-danger):not(.bwp-btn-secondary):not([class*="ghost"]) {
	background: linear-gradient(
		165deg,
		var(--bwp-portal-btn-primary-from) 0%,
		var(--bwp-portal-btn-primary-to) 100%
	) !important;
	color: var(--bwp-text-on-primary) !important;
	border: 1px solid rgb(96 165 250 / 0.6) !important;
}

body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin)
	#bwp-portal-root
	.bwp-table
	button[class*="danger"],
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) #bwp-portal-root .bwp-accounting-table button[class*="delete"],
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) #bwp-portal-root .bwp-btn-danger {
	background: linear-gradient(165deg, #f87171 0%, #ef4444 100%) !important;
	color: #fff !important;
	border-color: #dc2626 !important;
}

body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin)
	#bwp-portal-root
	.bwp-table
	button[class*="danger"]:hover,
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) #bwp-portal-root .bwp-btn-danger:hover {
	box-shadow: 0 6px 16px rgb(220 38 38 / 0.28);
}

/* -------------------------------------------------------------------------- */
/* 3. Profile “capsule” primaries → soft rounded rect (still premium)            */
/* -------------------------------------------------------------------------- */

body.bwp-portal-body:not(.wp-admin) .bwp-profile-btn-primary,
body.bwp-portal-body:not(.wp-admin) .bwp-profile-btn-secondary,
body.bwp-portal-body:not(.wp-admin) .bwp-profile-btn-danger {
	border-radius: var(--bwp-portal-btn-r) !important;
}

/* -------------------------------------------------------------------------- */
/* 4. Dropdowns — one SmartMoving-style shell everywhere; no yellow menu rows   */
/* Matches “Calculated from move size” panel: white rect, light border, shadow */
/* -------------------------------------------------------------------------- */

body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) {
	--bwp-dd-panel-bg: #ffffff;
	--bwp-dd-panel-border: #dfe3e9;
	--bwp-dd-panel-radius: 8px;
	--bwp-dd-panel-shadow: 0 4px 28px rgba(15, 23, 42, 0.1), 0 0 0 1px rgba(15, 23, 42, 0.03);
	--bwp-dd-row-hover: #f1f5f9;
}

/* Floating menu / popover shells (portal + estimate) */
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) .bwp-sm-dropdown-menu,
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) .bwp-sm-est-send-dropdown,
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) .bwp-sm-est-job-menu-dropdown,
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) .bwp-charges-menu-dd,
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) .bwp-sm-est-stop-menupanel,
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) .bwp-sm-est-rooms-dropdown,
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) .bwp-sm-est-vol-calc-menu,
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) .bwp-custom-select-dropdown,
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) .bwp-create-panel,
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) .bwp-portal-header .bwp-dropdown-menu,
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) .bwp-notifications-dropdown {
	background: var(--bwp-dd-panel-bg) !important;
	border: 1px solid var(--bwp-dd-panel-border) !important;
	border-radius: var(--bwp-dd-panel-radius) !important;
	box-shadow: var(--bwp-dd-panel-shadow) !important;
}

/* Header + global create: tighten item rows to match flat list (Bravos themes love yellow pills) */
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) .bwp-create-option {
	border-radius: 4px !important;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

/* Every ARIA menu row: flat list, zero capsule — Bravos targets `button` globally */
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) [role="menu"] button[role="menuitem"] {
	-webkit-appearance: none !important;
	appearance: none !important;
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 9px 14px !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
	filter: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	text-align: left !important;
	cursor: pointer !important;
	color: #1e293b !important;
	min-height: 0 !important;
	gap: 0 !important;
}

body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) .bwp-create-panel button.bwp-create-option[role="menuitem"] {
	gap: 12px !important;
}

body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin)
	[role="menu"]
	button[role="menuitem"]:hover,
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin)
	[role="menu"]
	button[role="menuitem"]:focus-visible {
	background: var(--bwp-dd-row-hover) !important;
	color: #0f172a !important;
	outline: none !important;
}

body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin)
	[role="menu"]
	button[role="menuitem"].bwp-sm-est-stop-mi--danger,
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin)
	[role="menu"]
	button[role="menuitem"].bwp-charges-menu-item--danger,
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin)
	[role="menu"]
	button[role="menuitem"].bwp-sm-est-job-menu-item--danger {
	color: #b91c1c !important;
}

body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin)
	[role="menu"]
	button[role="menuitem"].bwp-sm-est-stop-mi--danger:hover,
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin)
	[role="menu"]
	button[role="menuitem"].bwp-charges-menu-item--danger:hover,
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin)
	[role="menu"]
	button[role="menuitem"].bwp-sm-est-job-menu-item--danger:hover {
	background: #fef2f2 !important;
	color: #991b1b !important;
}

body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin)
	[role="menu"]
	button[role="menuitem"][data-action="send-email"] {
	color: #2563eb !important;
	font-weight: 600 !important;
}

/* Job menu items are flex rows — restore layout after block reset */
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) .bwp-sm-est-job-menu-dropdown button.bwp-sm-est-job-menu-item[role="menuitem"] {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
	color: var(--bwp-sm-blue, #0056b3) !important;
}

body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin)
	.bwp-sm-est-job-menu-dropdown
	button.bwp-sm-est-job-menu-item[role="menuitem"]:hover,
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin)
	.bwp-sm-est-job-menu-dropdown
	button.bwp-sm-est-job-menu-item[role="menuitem"]:focus-visible {
	color: #004494 !important;
}

/* Select2 attaches to body — same panel language as native dropdowns */
body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin) .select2-dropdown {
	border: 1px solid var(--bwp-dd-panel-border) !important;
	border-radius: var(--bwp-dd-panel-radius) !important;
	background: var(--bwp-dd-panel-bg) !important;
	box-shadow: var(--bwp-dd-panel-shadow) !important;
	overflow: hidden !important;
}

body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin)
	.select2-container--default
	.select2-results__option--highlighted.select2-results__option--selectable {
	background: var(--bwp-dd-row-hover) !important;
	color: #0f172a !important;
}

body.bwp-portal-body.bwp-bravos-crm:not(.wp-admin)
	.select2-results__option[aria-selected="true"] {
	background: #eff6ff !important;
	color: #1e40af !important;
	font-weight: 600 !important;
}
