/**
 * Shared UI interactions — admin + customer dashboard + auth.
 *
 * UI shell 1.4 ships opt-in hover utilities:
 * - .btn-animate-icon (+ -rotate, -move-start, -pulse, …) for icon motion in buttons
 * - .hover-elevate-up / .hover-shadow / .hover-scale on any element
 *
 * Everstory adds a light global button lift + default icon nudge on text+icon .btn in admin, dashboard (incl. sidebar/modals), and auth.
 * Icon-only buttons (.btn-icon, --icon-only): lift the button shell only — never slide/scale/rotate the icon.
 * Text+label buttons (no .btn-icon): keep icon micro-motion (translateX nudge). Mark true icon-only controls with .btn-icon in markup.
 * Prefer shell classes on markup for cards/links (e.g. hover-elevate-up hover-shadow).
 *
 * @package Everstory
 */

/* —— Ghost / icon buttons: thin neutral grey, icon stays body-color (overrides Tabler solid secondary hover) —— */

body.evst-has-header .evst-admin-wrapper :is(.btn-ghost-secondary, .btn-ghost.btn-secondary):not(:disabled):not(.disabled),
body.evst-dashboard :is(.btn-ghost-secondary, .btn-ghost.btn-secondary):not(:disabled):not(.disabled),
body.evst-auth :is(.btn-ghost-secondary, .btn-ghost.btn-secondary):not(:disabled):not(.disabled) {
	--tblr-btn-hover-bg: var(--evst-hover-surface);
	--tblr-btn-hover-color: var(--evst-hover-fg);
	--tblr-btn-hover-border-color: transparent;
	--tblr-btn-active-bg: var(--evst-hover-surface);
	--tblr-btn-active-color: var(--evst-hover-fg);
	--tblr-btn-active-border-color: transparent;
}

body.evst-has-header .evst-admin-wrapper :is(.btn-ghost-secondary, .btn-ghost.btn-secondary):not(:disabled):not(.disabled):is(:hover, :focus-visible, :active, .show, [aria-expanded='true']),
body.evst-dashboard :is(.btn-ghost-secondary, .btn-ghost.btn-secondary):not(:disabled):not(.disabled):is(:hover, :focus-visible, :active, .show, [aria-expanded='true']),
body.evst-auth :is(.btn-ghost-secondary, .btn-ghost.btn-secondary):not(:disabled):not(.disabled):is(:hover, :focus-visible, :active, .show, [aria-expanded='true']) {
	--tblr-btn-hover-bg: var(--evst-hover-surface);
	--tblr-btn-hover-color: var(--evst-hover-fg);
	--tblr-btn-hover-border-color: transparent;
	--tblr-btn-active-bg: var(--evst-hover-surface);
	--tblr-btn-active-color: var(--evst-hover-fg);
	--tblr-btn-active-border-color: transparent;
	background-color: var(--evst-hover-surface) !important;
	color: var(--evst-hover-fg) !important;
	border-color: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

/* Dropdown toggles: open state matches soft ghost hover (Bootstrap sets aria-expanded on the button) */
body.evst-has-header .evst-admin-wrapper .dropdown:has(.dropdown-menu.show) > :is(.btn-ghost-secondary, .btn-ghost.btn-secondary):not(:disabled):not(.disabled),
body.evst-dashboard .dropdown:has(.dropdown-menu.show) > :is(.btn-ghost-secondary, .btn-ghost.btn-secondary):not(:disabled):not(.disabled),
body.evst-auth .dropdown:has(.dropdown-menu.show) > :is(.btn-ghost-secondary, .btn-ghost.btn-secondary):not(:disabled):not(.disabled) {
	--tblr-btn-active-bg: var(--evst-hover-surface);
	--tblr-btn-active-color: var(--evst-hover-fg);
	background-color: var(--evst-hover-surface) !important;
	color: var(--evst-hover-fg) !important;
	border-color: transparent !important;
	box-shadow: none !important;
}

/* Solid secondary → white fill + body text (replaces Tabler dark grey fill) */
body.evst-has-header .evst-admin-wrapper .btn.btn-secondary:not(:disabled):not(.disabled),
body.evst-dashboard .btn.btn-secondary:not(:disabled):not(.disabled),
body.evst-auth .btn.btn-secondary:not(:disabled):not(.disabled) {
	--tblr-btn-color: var(--evst-hover-fg);
	--tblr-btn-bg: var(--tblr-bg-surface, #fff);
	--tblr-btn-border-color: var(--tblr-border-color, #e5e7eb);
	--tblr-btn-hover-bg: var(--evst-hover-surface);
	--tblr-btn-hover-color: var(--evst-hover-fg);
	--tblr-btn-hover-border-color: var(--tblr-gray-300, #d1d5db);
	--tblr-btn-active-bg: var(--evst-hover-surface-row);
	--tblr-btn-active-color: var(--evst-hover-fg);
	--tblr-btn-active-border-color: var(--tblr-gray-300, #d1d5db);
	background-color: var(--tblr-bg-surface, #fff) !important;
	color: var(--evst-hover-fg) !important;
	border-color: var(--tblr-border-color, #e5e7eb) !important;
	box-shadow: none !important;
}

body.evst-has-header .evst-admin-wrapper .btn.btn-secondary:not(:disabled):not(.disabled):is(:hover, :focus-visible),
body.evst-dashboard .btn.btn-secondary:not(:disabled):not(.disabled):is(:hover, :focus-visible),
body.evst-auth .btn.btn-secondary:not(:disabled):not(.disabled):is(:hover, :focus-visible) {
	background-color: var(--evst-hover-surface) !important;
	color: var(--evst-hover-fg) !important;
	border-color: var(--tblr-gray-300, #d1d5db) !important;
	box-shadow: var(--evst-shadow-btn-hover) !important;
}

body.evst-has-header .evst-admin-wrapper .btn.btn-secondary:not(:disabled):not(.disabled):active,
body.evst-dashboard .btn.btn-secondary:not(:disabled):not(.disabled):active,
body.evst-auth .btn.btn-secondary:not(:disabled):not(.disabled):active {
	background-color: var(--evst-hover-surface-row) !important;
	color: var(--evst-hover-fg) !important;
	border-color: var(--tblr-gray-300, #d1d5db) !important;
	box-shadow: var(--evst-shadow-btn-hover) !important;
}

/*
 * Solid badges: body/link color can leak into .badge and hurt contrast on dark fills.
 * Light (-lt) and explicit text-* utilities are excluded.
 */
body.evst-has-header .evst-admin-wrapper .badge:is(
		.bg-primary,
		.bg-secondary,
		.bg-success,
		.bg-danger,
		.bg-info,
		.bg-dark,
		.bg-blue,
		.bg-azure,
		.bg-indigo,
		.bg-purple,
		.bg-pink,
		.bg-red,
		.bg-orange,
		.bg-teal,
		.bg-cyan,
		.bg-green,
		.bg-lime,
		.text-bg-primary,
		.text-bg-secondary,
		.text-bg-success,
		.text-bg-danger,
		.text-bg-info,
		.text-bg-dark
	):not(.text-white):not(.text-dark),
body.evst-has-header .evst-admin-page .badge:is(
		.bg-primary,
		.bg-secondary,
		.bg-success,
		.bg-danger,
		.bg-info,
		.bg-dark,
		.bg-blue,
		.bg-azure,
		.bg-indigo,
		.bg-purple,
		.bg-pink,
		.bg-red,
		.bg-orange,
		.bg-teal,
		.bg-cyan,
		.bg-green,
		.bg-lime,
		.text-bg-primary,
		.text-bg-secondary,
		.text-bg-success,
		.text-bg-danger,
		.text-bg-info,
		.text-bg-dark
	):not(.text-white):not(.text-dark),
body.evst-dashboard .badge:is(
		.bg-primary,
		.bg-secondary,
		.bg-success,
		.bg-danger,
		.bg-info,
		.bg-dark,
		.bg-blue,
		.bg-azure,
		.bg-indigo,
		.bg-purple,
		.bg-pink,
		.bg-red,
		.bg-orange,
		.bg-teal,
		.bg-cyan,
		.bg-green,
		.bg-lime,
		.text-bg-primary,
		.text-bg-secondary,
		.text-bg-success,
		.text-bg-danger,
		.text-bg-info,
		.text-bg-dark
	):not(.text-white):not(.text-dark),
body.evst-auth .badge:is(
		.bg-primary,
		.bg-secondary,
		.bg-success,
		.bg-danger,
		.bg-info,
		.bg-dark,
		.bg-blue,
		.bg-azure,
		.bg-indigo,
		.bg-purple,
		.bg-pink,
		.bg-red,
		.bg-orange,
		.bg-teal,
		.bg-cyan,
		.bg-green,
		.bg-lime,
		.text-bg-primary,
		.text-bg-secondary,
		.text-bg-success,
		.text-bg-danger,
		.text-bg-info,
		.text-bg-dark
	):not(.text-white):not(.text-dark) {
	color: #fff !important;
}

body.evst-has-header .evst-admin-wrapper .badge:is(.bg-warning, .bg-yellow, .text-bg-warning):not(.text-white):not(.text-dark),
body.evst-has-header .evst-admin-page .badge:is(.bg-warning, .bg-yellow, .text-bg-warning):not(.text-white):not(.text-dark),
body.evst-dashboard .badge:is(.bg-warning, .bg-yellow, .text-bg-warning):not(.text-white):not(.text-dark),
body.evst-auth .badge:is(.bg-warning, .bg-yellow, .text-bg-warning):not(.text-white):not(.text-dark) {
	color: #212529 !important;
}

body.evst-has-header .evst-admin-wrapper :is(.btn-ghost-primary, .btn-ghost.btn-primary, .btn-ghost-info, .btn-ghost.btn-info):not(:disabled):not(.disabled):is(:hover, :focus-visible, :active, .show, [aria-expanded='true']),
body.evst-dashboard :is(.btn-ghost-primary, .btn-ghost.btn-primary, .btn-ghost-info, .btn-ghost.btn-info):not(:disabled):not(.disabled):is(:hover, :focus-visible, :active, .show, [aria-expanded='true']),
body.evst-auth :is(.btn-ghost-primary, .btn-ghost.btn-primary, .btn-ghost-info, .btn-ghost.btn-info):not(:disabled):not(.disabled):is(:hover, :focus-visible, :active, .show, [aria-expanded='true']) {
	--tblr-btn-hover-bg: var(--evst-hover-surface);
	--tblr-btn-hover-color: var(--evst-hover-fg);
	--tblr-btn-hover-border-color: transparent;
	background-color: var(--evst-hover-surface) !important;
	color: var(--evst-hover-fg) !important;
	border-color: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

body.evst-has-header .evst-admin-wrapper :is(.btn-ghost-danger, .btn-ghost.btn-danger):not(:disabled):not(.disabled):is(:hover, :focus-visible),
body.evst-dashboard :is(.btn-ghost-danger, .btn-ghost.btn-danger):not(:disabled):not(.disabled):is(:hover, :focus-visible),
body.evst-auth :is(.btn-ghost-danger, .btn-ghost.btn-danger):not(:disabled):not(.disabled):is(:hover, :focus-visible) {
	--tblr-btn-hover-bg: var(--evst-hover-surface-danger);
	--tblr-btn-hover-color: var(--evst-hover-fg-danger);
	--tblr-btn-hover-border-color: transparent;
	background-color: var(--evst-hover-surface-danger) !important;
	color: var(--evst-hover-fg-danger) !important;
	border-color: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

/* —— Dropdown enter motion —— */

@keyframes evst-dropdown-enter {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/* Bootstrap / Tabler .dropdown-menu — Popper sets transform; animate opacity only */
body.evst-has-header .evst-admin-wrapper .dropdown-menu.show,
body.evst-dashboard .dropdown-menu.show,
body.evst-auth .dropdown-menu.show {
	animation: evst-dropdown-enter var(--evst-dropdown-enter-duration) var(--evst-ease-out) both;
}

/* Admin custom flyouts (user menu, nav submenus) — fade + slight slide */
body.evst-has-header .evst-dropdown-menu,
body.evst-has-header .evst-nav-dropdown {
	transform: translateY(var(--evst-dropdown-enter-offset));
	transition: var(--evst-dropdown-enter-transition);
}

body.evst-has-header .evst-dropdown-menu.show,
body.evst-has-header .evst-nav-item-wrapper:hover .evst-nav-dropdown {
	transform: translateY(0);
}

/* —— Modal backdrop + dialog enter —— */

@keyframes evst-modal-backdrop-enter {
	from {
		opacity: 0;
		background-color: color-mix(in srgb, rgb(15 23 42) 0%, transparent);
		backdrop-filter: blur(0);
		-webkit-backdrop-filter: blur(0);
	}

	to {
		opacity: 1;
		background-color: var(--evst-modal-backdrop-bg);
		backdrop-filter: blur(var(--evst-modal-backdrop-blur));
		-webkit-backdrop-filter: blur(var(--evst-modal-backdrop-blur));
	}
}

@keyframes evst-modal-backdrop-exit {
	from {
		opacity: 1;
		background-color: var(--evst-modal-backdrop-bg);
		backdrop-filter: blur(var(--evst-modal-backdrop-blur));
		-webkit-backdrop-filter: blur(var(--evst-modal-backdrop-blur));
	}

	to {
		opacity: 0;
		background-color: color-mix(in srgb, rgb(15 23 42) 0%, transparent);
		backdrop-filter: blur(0);
		-webkit-backdrop-filter: blur(0);
	}
}

@keyframes evst-modal-dialog-enter {
	from {
		opacity: 0;
		transform: translateY(var(--evst-modal-dialog-offset)) scale(var(--evst-modal-dialog-scale, 0.985));
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes evst-modal-dialog-exit {
	from {
		opacity: 1;
		transform: translateY(0) scale(1);
	}

	to {
		opacity: 0;
		transform: translateY(var(--evst-modal-dialog-offset)) scale(var(--evst-modal-dialog-scale, 0.985));
	}
}

@keyframes evst-filter-card-enter {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/*
 * Backdrop enter uses CSS animation (not opacity transition) so Bootstrap does not
 * wait for the overlay to finish before showing the dialog — both motion layers start together.
 * Scoped via body.evst-ui-motion-surface (all app shells + wizard iframe + public invitations).
 */
body.evst-ui-motion-surface .modal-backdrop.fade,
body:has(.evst-invitation-root) .modal-backdrop.fade {
	opacity: 0;
	background-color: color-mix(in srgb, rgb(15 23 42) 0%, transparent);
	backdrop-filter: blur(0);
	-webkit-backdrop-filter: blur(0);
	transition: none;
}

body.evst-ui-motion-surface .modal-backdrop,
body:has(.evst-invitation-root) .modal-backdrop {
	--bs-backdrop-opacity: 1;
	background-color: var(--evst-modal-backdrop-bg) !important;
}

body.evst-ui-motion-surface .modal-backdrop.fade.show,
body:has(.evst-invitation-root) .modal-backdrop.fade.show {
	animation: evst-modal-backdrop-enter var(--evst-modal-enter-duration) var(--evst-ease-out) both;
}

body.evst-ui-motion-surface .modal-backdrop.evst-modal-backdrop-exiting,
body:has(.evst-invitation-root) .modal-backdrop.evst-modal-backdrop-exiting {
	animation: evst-modal-backdrop-exit var(--evst-modal-enter-duration) var(--evst-ease-out) both;
	pointer-events: none;
}

body.evst-ui-motion-surface .modal.fade .modal-dialog,
body:has(.evst-invitation-root) .modal.fade .modal-dialog {
	opacity: 0;
	transform: translateY(var(--evst-modal-dialog-offset)) scale(var(--evst-modal-dialog-scale, 0.985));
	transition: none;
}

body.evst-ui-motion-surface .modal.fade.show .modal-dialog,
body.evst-ui-motion-surface .modal.fade.showing .modal-dialog,
body:has(.evst-invitation-root) .modal.fade.show .modal-dialog,
body:has(.evst-invitation-root) .modal.fade.showing .modal-dialog {
	animation: evst-modal-dialog-enter var(--evst-modal-enter-duration) var(--evst-ease-out) both;
}

body.evst-ui-motion-surface .modal.evst-modal-swap-in.show .modal-dialog,
body.evst-ui-motion-surface .modal.evst-modal-swap-in.showing .modal-dialog,
body:has(.evst-invitation-root) .modal.evst-modal-swap-in.show .modal-dialog,
body:has(.evst-invitation-root) .modal.evst-modal-swap-in.showing .modal-dialog {
	animation: evst-modal-dialog-enter var(--evst-modal-enter-duration) var(--evst-ease-out) both;
}

/* Modal-to-modal swap: one sustained backdrop — no enter/exit flash between dialogs. */
body.evst-modal-swap-active .modal-backdrop,
body.evst-modal-swap-active .modal-backdrop.show,
body.evst-modal-swap-active .modal-backdrop.evst-modal-backdrop-hold,
body.evst-ui-motion-surface .modal-backdrop.evst-modal-backdrop-pinned,
body.evst-ui-motion-surface .modal-backdrop.evst-modal-backdrop-sustained,
body:has(.evst-invitation-root) .modal-backdrop.evst-modal-backdrop-pinned,
body:has(.evst-invitation-root) .modal-backdrop.evst-modal-backdrop-sustained {
	animation: none !important;
	opacity: 1 !important;
	background-color: var(--evst-modal-backdrop-bg) !important;
	backdrop-filter: blur(var(--evst-modal-backdrop-blur)) !important;
	-webkit-backdrop-filter: blur(var(--evst-modal-backdrop-blur)) !important;
}

body.evst-ui-motion-surface .modal-backdrop.evst-modal-backdrop-pinned.fade.show,
body.evst-ui-motion-surface .modal-backdrop.evst-modal-backdrop-sustained.fade.show,
body:has(.evst-invitation-root) .modal-backdrop.evst-modal-backdrop-pinned.fade.show,
body:has(.evst-invitation-root) .modal-backdrop.evst-modal-backdrop-sustained.fade.show {
	animation: none !important;
}

body.evst-ui-motion-surface .evst-modal-swap-source.evst-modal-swap-out {
	display: flex !important;
	align-items: flex-start;
	justify-content: center;
	opacity: 1;
	pointer-events: none;
	z-index: 1055;
}

body.evst-ui-motion-surface .evst-modal-swap-target.evst-modal-swap-in {
	z-index: 1060;
}

body.evst-ui-motion-surface .evst-modal-swap-source.evst-modal-swap-out .modal-dialog,
body:has(.evst-invitation-root) .evst-modal-swap-source.evst-modal-swap-out .modal-dialog {
	animation: evst-modal-dialog-exit var(--evst-modal-enter-duration) var(--evst-ease-out) both;
	pointer-events: none;
}

/* Keep modal visible while dialog exit animation runs (JS adds evst-modal-exiting). */
body.evst-ui-motion-surface .modal.evst-modal-exiting,
body:has(.evst-invitation-root) .modal.evst-modal-exiting {
	display: flex !important;
	align-items: flex-start;
	justify-content: center;
	opacity: 1;
	pointer-events: none;
}

body.evst-ui-motion-surface .modal.evst-modal-exiting .modal-dialog,
body:has(.evst-invitation-root) .modal.evst-modal-exiting .modal-dialog {
	animation: evst-modal-dialog-exit var(--evst-modal-enter-duration) var(--evst-ease-out) both;
	pointer-events: auto;
}

body.evst-ui-motion-surface .modal.show,
body.evst-ui-motion-surface .modal.showing,
body:has(.evst-invitation-root) .modal.show,
body:has(.evst-invitation-root) .modal.showing {
	display: flex !important;
	align-items: flex-start;
	justify-content: center;
}

/* List empty states — persistent inline content, never toast. */
body.evst-dashboard .evst-list-empty,
body.evst-has-header .evst-admin-wrapper .evst-list-empty {
	border: 1px solid var(--tblr-border-color, #e5e7eb);
	background: var(--tblr-bg-surface-secondary, #f9fafb);
}

body.evst-dashboard .evst-list-empty__icon,
body.evst-has-header .evst-admin-wrapper .evst-list-empty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--tblr-secondary, #6b7280);
	font-size: 1.25rem;
	line-height: 1.4;
}

body.evst-dashboard .evst-list-empty__message,
body.evst-has-header .evst-admin-wrapper .evst-list-empty__message {
	color: var(--tblr-body-color, inherit);
}

/* Filter cards — animated expand/collapse (JS toggles evst-filter-card--collapsed). */
body.evst-dashboard .evst-filter-card,
body.evst-has-header .evst-admin-wrapper .evst-filter-card {
	overflow: hidden;
	transform-origin: top center;
	transition:
		opacity var(--evst-filter-card-enter-duration, 0.26s) var(--evst-ease-out),
		transform var(--evst-filter-card-enter-duration, 0.26s) var(--evst-ease-out),
		max-height var(--evst-filter-card-enter-duration, 0.26s) var(--evst-ease-out),
		margin-bottom var(--evst-filter-card-enter-duration, 0.26s) var(--evst-ease-out);
	max-height: min(960px, 92vh);
}

body.evst-dashboard .evst-filter-card:not(.evst-filter-card--collapsed):not(.d-none),
body.evst-has-header .evst-admin-wrapper .evst-filter-card:not(.evst-filter-card--collapsed):not(.d-none) {
	animation: evst-filter-card-enter var(--evst-filter-card-enter-duration, 0.26s) var(--evst-ease-out) both;
}

body.evst-dashboard .evst-filter-card.evst-filter-card--collapsed,
body.evst-has-header .evst-admin-wrapper .evst-filter-card.evst-filter-card--collapsed {
	opacity: 0;
	max-height: 0;
	margin-bottom: 0 !important;
	transform: translateY(-8px);
	pointer-events: none;
	visibility: hidden;
	border-color: transparent;
}

body.evst-dashboard .evst-filter-card.evst-filter-card--collapsed .card-body,
body.evst-has-header .evst-admin-wrapper .evst-filter-card.evst-filter-card--collapsed .card-body {
	padding-top: 0;
	padding-bottom: 0;
}

/*
 * Collapsible cards (card-header + Bootstrap .collapse): end caps follow App → Corner Radius.
 * Global card-header uses top-only radius; when collapse is closed the header is the visible cap.
 */
body.evst-has-header .evst-admin-wrapper .card:has(> .collapse),
body.evst-dashboard .card:has(> .collapse),
body.evst-auth .card:has(> .collapse) {
	overflow: hidden;
}

body.evst-has-header .evst-admin-wrapper .card > .card-header:has(+ .collapse:not(.show)),
body.evst-dashboard .card > .card-header:has(+ .collapse:not(.show)),
body.evst-auth .card > .card-header:has(+ .collapse:not(.show)) {
	border-radius: var(--evst-radius-lg) !important;
	border-bottom-width: 0;
}

body.evst-has-header .evst-admin-wrapper .card > .collapse.show > .card-body,
body.evst-dashboard .card > .collapse.show > .card-body,
body.evst-auth .card > .collapse.show > .card-body {
	border-bottom-left-radius: var(--evst-radius-lg);
	border-bottom-right-radius: var(--evst-radius-lg);
}

body.evst-has-header .evst-admin-wrapper .accordion > .accordion-item:only-child:has(> .accordion-collapse:not(.show)),
body.evst-dashboard .accordion > .accordion-item:only-child:has(> .accordion-collapse:not(.show)) {
	overflow: hidden;
	border-radius: var(--evst-radius-lg);
}

body.evst-has-header .evst-admin-wrapper .accordion > .accordion-item:only-child:has(> .accordion-collapse:not(.show)) > .accordion-header .accordion-button,
body.evst-dashboard .accordion > .accordion-item:only-child:has(> .accordion-collapse:not(.show)) > .accordion-header .accordion-button {
	border-radius: var(--evst-radius-lg) !important;
}

body.evst-has-header .evst-admin-wrapper .accordion > .accordion-item:only-child:has(> .accordion-collapse.show) > .accordion-collapse.show > .accordion-body,
body.evst-dashboard .accordion > .accordion-item:only-child:has(> .accordion-collapse.show) > .accordion-collapse.show > .accordion-body {
	border-bottom-left-radius: var(--evst-radius-lg);
	border-bottom-right-radius: var(--evst-radius-lg);
}

/*
 * Tall modals: Bootstrap modal-dialog-centered vertically centers .modal-content inside a
 * min-height dialog, which clips the header when content exceeds the viewport.
 * Pin header/footer, scroll body, and align the card from the top of the scrollport.
 */
body.evst-ui-motion-surface .modal,
body:has(.evst-invitation-root) .modal {
	--evst-modal-max-height: calc(100dvh - 2.5rem);
}

body.evst-ui-motion-surface .modal-dialog.modal-dialog-centered,
body:has(.evst-invitation-root) .modal-dialog.modal-dialog-centered {
	align-items: flex-start;
	min-height: 0;
}

body.evst-ui-motion-surface .modal .modal-dialog,
body:has(.evst-invitation-root) .modal .modal-dialog {
	max-height: var(--evst-modal-max-height);
}

body.evst-ui-motion-surface .modal .modal-content,
body:has(.evst-invitation-root) .modal .modal-content {
	max-height: var(--evst-modal-max-height);
}

body.evst-ui-motion-surface .modal .modal-header,
body.evst-ui-motion-surface .modal .modal-footer,
body:has(.evst-invitation-root) .modal .modal-header,
body:has(.evst-invitation-root) .modal .modal-footer {
	flex-shrink: 0;
}

body.evst-ui-motion-surface .modal .modal-body,
body:has(.evst-invitation-root) .modal .modal-body {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

body.evst-ui-motion-surface .modal .modal-content > form,
body:has(.evst-invitation-root) .modal .modal-content > form {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
}

/* Custom overlays — same synchronized enter/exit motion as Bootstrap modals. */
body.evst-ui-motion-surface .evst-media-preview__backdrop {
	background-color: var(--evst-modal-backdrop-bg);
	backdrop-filter: blur(var(--evst-modal-backdrop-blur, 8px));
	-webkit-backdrop-filter: blur(var(--evst-modal-backdrop-blur, 8px));
	animation: evst-modal-backdrop-enter var(--evst-modal-enter-duration) var(--evst-ease-out) both;
}

body.evst-ui-motion-surface .evst-upgrade-overlay-backdrop {
	background-color: var(--evst-modal-backdrop-bg);
	backdrop-filter: blur(0);
	-webkit-backdrop-filter: blur(0);
	animation: evst-modal-backdrop-enter var(--evst-modal-enter-duration) var(--evst-ease-out) both;
}

body.evst-ui-motion-surface .evst-media-preview__dialog,
body.evst-ui-motion-surface .evst-upgrade-overlay-content {
	animation: evst-modal-dialog-enter var(--evst-modal-enter-duration) var(--evst-ease-out) both;
}

body.evst-ui-motion-surface .evst-media-preview.evst-overlay-exiting {
	pointer-events: none;
}

body.evst-ui-motion-surface .evst-media-preview.evst-overlay-exiting .evst-media-preview__backdrop {
	animation: evst-modal-backdrop-exit var(--evst-modal-enter-duration) var(--evst-ease-out) both;
}

body.evst-ui-motion-surface .evst-upgrade-overlay.evst-overlay-exiting .evst-upgrade-overlay-backdrop {
	animation: evst-modal-backdrop-exit var(--evst-modal-enter-duration) var(--evst-ease-out) both;
	pointer-events: none;
}

body.evst-ui-motion-surface .evst-media-preview.evst-overlay-exiting .evst-media-preview__dialog,
body.evst-ui-motion-surface .evst-upgrade-overlay.evst-overlay-exiting .evst-upgrade-overlay-content {
	animation: evst-modal-dialog-exit var(--evst-modal-enter-duration) var(--evst-ease-out) both;
}

body.evst-ui-motion-surface .evst-ad-popup-overlay {
	background-color: var(--evst-modal-backdrop-bg);
	backdrop-filter: blur(0);
	-webkit-backdrop-filter: blur(0);
	animation: evst-modal-backdrop-enter var(--evst-modal-enter-duration) var(--evst-ease-out) both;
}

body.evst-ui-motion-surface .evst-ad-popup-content {
	animation: evst-modal-dialog-enter var(--evst-modal-enter-duration) var(--evst-ease-out) both;
}

body.evst-ui-motion-surface .evst-ad-popup.evst-overlay-exiting .evst-ad-popup-overlay {
	animation: evst-modal-backdrop-exit var(--evst-modal-enter-duration) var(--evst-ease-out) both;
	pointer-events: none;
}

body.evst-ui-motion-surface .evst-ad-popup.evst-overlay-exiting .evst-ad-popup-content {
	animation: evst-modal-dialog-exit var(--evst-modal-enter-duration) var(--evst-ease-out) both;
}

/* —— Dropdown menu items —— */

body.evst-has-header .evst-admin-wrapper .dropdown-item:not(.active):not(.disabled):is(:hover, :focus),
body.evst-dashboard .dropdown-item:not(.active):not(.disabled):is(:hover, :focus) {
	background-color: var(--evst-hover-surface-row);
	color: var(--evst-hover-fg);
}

body.evst-has-header .evst-admin-wrapper .dropdown-item.text-danger:not(.disabled):is(:hover, :focus),
body.evst-dashboard .dropdown-item.text-danger:not(.disabled):is(:hover, :focus) {
	background-color: var(--evst-hover-surface-danger);
	color: var(--evst-hover-fg-danger);
}

body.evst-has-header .evst-admin-wrapper .dropdown-item:is(:hover, :focus) .dropdown-item-icon,
body.evst-dashboard .dropdown-item:is(:hover, :focus) .dropdown-item-icon {
	color: var(--evst-hover-icon);
	opacity: 1;
}

body.evst-has-header .evst-admin-wrapper .dropdown-item.text-danger:is(:hover, :focus) .dropdown-item-icon,
body.evst-dashboard .dropdown-item.text-danger:is(:hover, :focus) .dropdown-item-icon {
	color: var(--evst-hover-fg-danger);
	opacity: 1;
}

/* —— Table rows & list items —— */

body.evst-has-header .evst-admin-wrapper .wp-list-table tbody tr:hover,
body.evst-dashboard .page-wrapper .table tbody tr:hover {
	background-color: var(--evst-hover-surface-row);
}

body.evst-has-header .evst-admin-wrapper .list-group-item-action:not(.active):is(:hover, :focus),
body.evst-dashboard .page-wrapper .list-group-item-action:not(.active):is(:hover, :focus) {
	background-color: var(--evst-hover-surface-row);
	color: var(--evst-hover-fg);
}

body.evst-has-header .evst-admin-wrapper .evst-dashboard-locale-option:is(:hover, :focus),
body.evst-dashboard .evst-dashboard-locale-option:is(:hover, :focus) {
	background-color: var(--evst-hover-surface-row);
	color: var(--evst-hover-fg);
}

/* —— Outline buttons → white fill (no outline look) —— */

body.evst-has-header .evst-admin-wrapper .btn[class*='btn-outline-']:not(.btn-close):not(:disabled):not(.disabled),
body.evst-dashboard .btn[class*='btn-outline-']:not(.btn-close):not(:disabled):not(.disabled),
body.evst-auth .btn[class*='btn-outline-']:not(.btn-close):not(:disabled):not(.disabled) {
	background-color: var(--tblr-bg-surface, #fff);
	border-color: var(--tblr-border-color, #e5e7eb);
	box-shadow: none;
	transition:
		var(--evst-transition-transform),
		var(--evst-transition-shadow),
		var(--evst-transition-colors);
}

body.evst-has-header .evst-admin-wrapper .btn.btn-outline-primary:not(:disabled):not(.disabled),
body.evst-dashboard .btn.btn-outline-primary:not(:disabled):not(.disabled),
body.evst-auth .btn.btn-outline-primary:not(:disabled):not(.disabled) {
	color: var(--tblr-primary);
}

body.evst-has-header .evst-admin-wrapper .btn.btn-outline-secondary:not(:disabled):not(.disabled),
body.evst-dashboard .btn.btn-outline-secondary:not(:disabled):not(.disabled),
body.evst-auth .btn.btn-outline-secondary:not(:disabled):not(.disabled) {
	--tblr-btn-color: var(--evst-hover-fg);
	--tblr-btn-bg: var(--tblr-bg-surface, #fff);
	--tblr-btn-border-color: var(--tblr-border-color, #e5e7eb);
	--tblr-btn-hover-bg: var(--evst-hover-surface);
	--tblr-btn-hover-color: var(--evst-hover-fg);
	--tblr-btn-hover-border-color: var(--tblr-gray-300, #d1d5db);
	--tblr-btn-active-bg: var(--evst-hover-surface-row);
	--tblr-btn-active-color: var(--evst-hover-fg);
	--tblr-btn-active-border-color: var(--tblr-gray-300, #d1d5db);
	color: var(--evst-hover-fg);
	background-color: var(--tblr-bg-surface, #fff) !important;
	border-color: var(--tblr-border-color, #e5e7eb) !important;
}

body.evst-has-header .evst-admin-wrapper .btn.btn-outline-success:not(:disabled):not(.disabled),
body.evst-dashboard .btn.btn-outline-success:not(:disabled):not(.disabled),
body.evst-auth .btn.btn-outline-success:not(:disabled):not(.disabled) {
	color: var(--tblr-success);
}

body.evst-has-header .evst-admin-wrapper .btn.btn-outline-danger:not(:disabled):not(.disabled),
body.evst-dashboard .btn.btn-outline-danger:not(:disabled):not(.disabled),
body.evst-auth .btn.btn-outline-danger:not(:disabled):not(.disabled) {
	color: var(--tblr-danger);
}

body.evst-has-header .evst-admin-wrapper .btn.btn-outline-warning:not(:disabled):not(.disabled),
body.evst-dashboard .btn.btn-outline-warning:not(:disabled):not(.disabled),
body.evst-auth .btn.btn-outline-warning:not(:disabled):not(.disabled) {
	color: var(--tblr-warning);
}

body.evst-has-header .evst-admin-wrapper .btn.btn-outline-info:not(:disabled):not(.disabled),
body.evst-dashboard .btn.btn-outline-info:not(:disabled):not(.disabled),
body.evst-auth .btn.btn-outline-info:not(:disabled):not(.disabled) {
	color: var(--tblr-info);
}

body.evst-has-header .evst-admin-wrapper .btn.btn-outline-dark:not(:disabled):not(.disabled),
body.evst-dashboard .btn.btn-outline-dark:not(:disabled):not(.disabled),
body.evst-auth .btn.btn-outline-dark:not(:disabled):not(.disabled) {
	color: var(--tblr-dark);
}

body.evst-has-header .evst-admin-wrapper .btn[class*='btn-outline-']:not(.btn-close):not(:disabled):not(.disabled):hover,
body.evst-dashboard .btn[class*='btn-outline-']:not(.btn-close):not(:disabled):not(.disabled):hover,
body.evst-auth .btn[class*='btn-outline-']:not(.btn-close):not(:disabled):not(.disabled):hover {
	background-color: var(--evst-hover-surface);
	border-color: var(--tblr-gray-300, #d1d5db);
}

body.evst-has-header .evst-admin-wrapper .btn.btn-outline-primary:not(:disabled):not(.disabled):hover,
body.evst-dashboard .btn.btn-outline-primary:not(:disabled):not(.disabled):hover,
body.evst-auth .btn.btn-outline-primary:not(:disabled):not(.disabled):hover {
	--tblr-btn-hover-color: var(--tblr-primary);
	color: var(--tblr-primary);
}

body.evst-has-header .evst-admin-wrapper .btn.btn-outline-secondary:not(:disabled):not(.disabled):is(:hover, :focus-visible),
body.evst-dashboard .btn.btn-outline-secondary:not(:disabled):not(.disabled):is(:hover, :focus-visible),
body.evst-auth .btn.btn-outline-secondary:not(:disabled):not(.disabled):is(:hover, :focus-visible) {
	background-color: var(--evst-hover-surface) !important;
	--tblr-btn-hover-color: var(--evst-hover-fg);
	color: var(--evst-hover-fg);
	border-color: var(--tblr-gray-300, #d1d5db) !important;
}

body.evst-has-header .evst-admin-wrapper .btn.btn-outline-secondary:not(:disabled):not(.disabled):active,
body.evst-dashboard .btn.btn-outline-secondary:not(:disabled):not(.disabled):active,
body.evst-auth .btn.btn-outline-secondary:not(:disabled):not(.disabled):active {
	background-color: var(--evst-hover-surface-row) !important;
	--tblr-btn-hover-color: var(--evst-hover-fg);
	color: var(--evst-hover-fg);
	border-color: var(--tblr-gray-300, #d1d5db) !important;
}

body.evst-has-header .evst-admin-wrapper .btn.btn-outline-dark:not(:disabled):not(.disabled):hover,
body.evst-dashboard .btn.btn-outline-dark:not(:disabled):not(.disabled):hover,
body.evst-auth .btn.btn-outline-dark:not(:disabled):not(.disabled):hover {
	--tblr-btn-hover-color: var(--tblr-dark);
	color: var(--tblr-dark);
}

body.evst-has-header .evst-admin-wrapper .btn.btn-outline-danger:not(:disabled):not(.disabled):hover,
body.evst-dashboard .btn.btn-outline-danger:not(:disabled):not(.disabled):hover,
body.evst-auth .btn.btn-outline-danger:not(:disabled):not(.disabled):hover {
	background-color: var(--evst-hover-surface-danger);
	--tblr-btn-hover-color: var(--tblr-danger);
	color: var(--tblr-danger);
}

body.evst-has-header .evst-admin-wrapper .btn.btn-outline-success:not(:disabled):not(.disabled):hover,
body.evst-dashboard .btn.btn-outline-success:not(:disabled):not(.disabled):hover,
body.evst-auth .btn.btn-outline-success:not(:disabled):not(.disabled):hover {
	background-color: color-mix(in srgb, var(--tblr-success) 6%, var(--tblr-bg-surface));
	--tblr-btn-hover-color: var(--tblr-success);
	color: var(--tblr-success);
}

body.evst-has-header .evst-admin-wrapper .btn.btn-outline-warning:not(:disabled):not(.disabled):hover,
body.evst-dashboard .btn.btn-outline-warning:not(:disabled):not(.disabled):hover,
body.evst-auth .btn.btn-outline-warning:not(:disabled):not(.disabled):hover {
	background-color: color-mix(in srgb, var(--tblr-warning) 6%, var(--tblr-bg-surface));
	--tblr-btn-hover-color: var(--tblr-warning);
	color: var(--tblr-warning);
}

body.evst-has-header .evst-admin-wrapper .btn.btn-outline-info:not(:disabled):not(.disabled):hover,
body.evst-dashboard .btn.btn-outline-info:not(:disabled):not(.disabled):hover,
body.evst-auth .btn.btn-outline-info:not(:disabled):not(.disabled):hover {
	background-color: color-mix(in srgb, var(--tblr-info) 6%, var(--tblr-bg-surface));
	--tblr-btn-hover-color: var(--tblr-info);
	color: var(--tblr-info);
}

/* Modal / dialog cancel links → white secondary button (matches outline-secondary) */
body.evst-has-header .evst-admin-wrapper .btn.btn-link.link-secondary[data-bs-dismiss]:not(:disabled):not(.disabled),
body.evst-dashboard .btn.btn-link.link-secondary[data-bs-dismiss]:not(:disabled):not(.disabled),
body.evst-auth .btn.btn-link.link-secondary[data-bs-dismiss]:not(:disabled):not(.disabled) {
	--tblr-btn-color: var(--evst-hover-fg);
	--tblr-btn-hover-color: var(--evst-hover-fg);
	--tblr-btn-active-color: var(--evst-hover-fg);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.4375rem 0.875rem;
	font-weight: 500;
	text-decoration: none;
	background-color: var(--tblr-bg-surface, #fff);
	border: 1px solid var(--tblr-border-color, #e5e7eb);
	border-radius: var(--tblr-border-radius, var(--evst-radius-md));
	box-shadow: none;
	transition:
		var(--evst-transition-transform),
		var(--evst-transition-shadow),
		var(--evst-transition-colors);
}

body.evst-has-header .evst-admin-wrapper .btn.btn-link.link-secondary[data-bs-dismiss]:not(:disabled):not(.disabled):is(:hover, :focus-visible),
body.evst-dashboard .btn.btn-link.link-secondary[data-bs-dismiss]:not(:disabled):not(.disabled):is(:hover, :focus-visible),
body.evst-auth .btn.btn-link.link-secondary[data-bs-dismiss]:not(:disabled):not(.disabled):is(:hover, :focus-visible) {
	background-color: var(--evst-hover-surface) !important;
	color: var(--evst-hover-fg) !important;
	border-color: var(--tblr-gray-300, #d1d5db) !important;
	text-decoration: none;
	box-shadow: var(--evst-shadow-btn-hover);
}

body.evst-has-header .evst-admin-wrapper .btn.btn-link.link-secondary[data-bs-dismiss]:not(:disabled):not(.disabled):active,
body.evst-dashboard .btn.btn-link.link-secondary[data-bs-dismiss]:not(:disabled):not(.disabled):active,
body.evst-auth .btn.btn-link.link-secondary[data-bs-dismiss]:not(:disabled):not(.disabled):active {
	background-color: var(--evst-hover-surface-row) !important;
	color: var(--evst-hover-fg) !important;
	border-color: var(--tblr-gray-300, #d1d5db) !important;
	text-decoration: none;
	box-shadow: var(--evst-shadow-btn-hover);
}

/* —— Buttons (Everstory global lift + shell --tblr-btn-hover-* colors) —— */

body.evst-has-header .evst-admin-wrapper .btn,
body.evst-dashboard .btn,
body.evst-auth .btn {
	transition:
		var(--evst-transition-transform),
		var(--evst-transition-shadow),
		var(--evst-transition-colors);
}

body.evst-has-header .evst-admin-wrapper .btn:not(.btn-link):not(.btn-ghost):not(.btn-close):not(.lightbox-nav):not(.lightbox-close):is(:hover, :focus-visible),
body.evst-dashboard .btn:not(.btn-link):not(.btn-ghost):not(.btn-close):not(.lightbox-nav):not(.lightbox-close):is(:hover, :focus-visible),
body.evst-auth .btn:not(.btn-link):not(.btn-ghost):not(.btn-close):not(.lightbox-nav):not(.lightbox-close):is(:hover, :focus-visible) {
	transform: translateY(var(--evst-hover-lift-btn));
	box-shadow: var(--evst-shadow-btn-hover);
	text-decoration: none;
}

body.evst-has-header .evst-admin-wrapper .btn[class*='btn-outline-']:not(.btn-close):not(:disabled):not(.disabled):hover,
body.evst-dashboard .btn[class*='btn-outline-']:not(.btn-close):not(:disabled):not(.disabled):hover,
body.evst-auth .btn[class*='btn-outline-']:not(.btn-close):not(:disabled):not(.disabled):hover {
	box-shadow: var(--evst-shadow-btn-hover);
}

body.evst-has-header .evst-admin-wrapper .btn:not(.btn-link):not(.btn-ghost):not(.btn-close):active,
body.evst-dashboard .btn:not(.btn-link):not(.btn-ghost):not(.btn-close):active,
body.evst-auth .btn:not(.btn-link):not(.btn-ghost):not(.btn-close):active {
	transform: translateY(0);
	box-shadow: none;
	transition-duration: 0.12s;
}

body.evst-has-header .evst-admin-wrapper .btn-primary:is(:hover, :focus-visible),
body.evst-dashboard .btn-primary:is(:hover, :focus-visible),
body.evst-auth .btn-primary:is(:hover, :focus-visible) {
	box-shadow: var(--evst-shadow-btn-hover-emphasis);
}

body.evst-has-header .evst-admin-wrapper .btn-success:is(:hover, :focus-visible),
body.evst-dashboard .btn-success:is(:hover, :focus-visible),
body.evst-auth .btn-success:is(:hover, :focus-visible) {
	box-shadow: var(--evst-shadow-btn-hover-emphasis);
}

/* Icon nudge (+2px) — text+icon buttons only; overrides Tabler btn-animate-icon* on hero/CTA */
body.evst-has-header .evst-admin-wrapper .btn:not(.btn-link):not(.btn-ghost):not(.btn-close):not(.btn-icon):not([class*='--icon-only']) > :is(i.icon, i.ti, svg.icon),
body.evst-dashboard .btn:not(.btn-link):not(.btn-ghost):not(.btn-close):not(.btn-icon):not([class*='--icon-only']) > :is(i.icon, i.ti, svg.icon),
body.evst-auth .btn:not(.btn-link):not(.btn-ghost):not(.btn-close):not(.btn-icon):not([class*='--icon-only']) > :is(i.icon, i.ti, svg.icon) {
	transition: transform var(--evst-transition-fast);
}

body.evst-has-header .evst-admin-wrapper .btn:not(.btn-link):not(.btn-ghost):not(.btn-close):not(.btn-icon):not([class*='--icon-only']):is(:hover, :focus-visible) > :is(i.icon, i.ti, svg.icon):not(.icon-end):not(.icon-right),
body.evst-dashboard .btn:not(.btn-link):not(.btn-ghost):not(.btn-close):not(.btn-icon):not([class*='--icon-only']):is(:hover, :focus-visible) > :is(i.icon, i.ti, svg.icon):not(.icon-end):not(.icon-right),
body.evst-auth .btn:not(.btn-link):not(.btn-ghost):not(.btn-close):not(.btn-icon):not([class*='--icon-only']):is(:hover, :focus-visible) > :is(i.icon, i.ti, svg.icon):not(.icon-end):not(.icon-right) {
	transform: translateX(2px);
}

body.evst-has-header .evst-admin-wrapper .btn:not(.btn-link):not(.btn-ghost):not(.btn-close):not(.btn-icon):not([class*='--icon-only']):is(:hover, :focus-visible) > :is(i.icon, i.ti, svg.icon):is(.icon-end, .icon-right),
body.evst-dashboard .btn:not(.btn-link):not(.btn-ghost):not(.btn-close):not(.btn-icon):not([class*='--icon-only']):is(:hover, :focus-visible) > :is(i.icon, i.ti, svg.icon):is(.icon-end, .icon-right),
body.evst-auth .btn:not(.btn-link):not(.btn-ghost):not(.btn-close):not(.btn-icon):not([class*='--icon-only']):is(:hover, :focus-visible) > :is(i.icon, i.ti, svg.icon):is(.icon-end, .icon-right) {
	transform: translateX(2px);
}

/* Icon-only buttons (.btn-icon / --icon-only): button lift only — no inner icon slide/scale */
body.evst-has-header .evst-admin-wrapper .btn:is(.btn-icon, [class*='--icon-only']) > :is(i.icon, i.ti, svg.icon),
body.evst-dashboard .btn:is(.btn-icon, [class*='--icon-only']) > :is(i.icon, i.ti, svg.icon),
body.evst-auth .btn:is(.btn-icon, [class*='--icon-only']) > :is(i.icon, i.ti, svg.icon),
body.evst-has-header .evst-admin-wrapper .input-group > .btn:where(:has(> :is(i.icon, i.ti, svg.icon)):not(:has(> *:not(:is(i.icon, i.ti, svg.icon, .visually-hidden, .sr-only))))) > :is(i.icon, i.ti, svg.icon),
body.evst-dashboard .input-group > .btn:where(:has(> :is(i.icon, i.ti, svg.icon)):not(:has(> *:not(:is(i.icon, i.ti, svg.icon, .visually-hidden, .sr-only))))) > :is(i.icon, i.ti, svg.icon),
body.evst-auth .input-group > .btn:where(:has(> :is(i.icon, i.ti, svg.icon)):not(:has(> *:not(:is(i.icon, i.ti, svg.icon, .visually-hidden, .sr-only))))) > :is(i.icon, i.ti, svg.icon),
body.evst-has-header .evst-admin-wrapper .btn:is(.btn-icon, [class*='--icon-only'])[class*='btn-animate-icon'] .icon,
body.evst-dashboard .btn:is(.btn-icon, [class*='--icon-only'])[class*='btn-animate-icon'] .icon,
body.evst-auth .btn:is(.btn-icon, [class*='--icon-only'])[class*='btn-animate-icon'] .icon,
body.evst-has-header .evst-admin-wrapper .input-group > .btn:where(:has(> :is(i.icon, i.ti, svg.icon)):not(:has(> *:not(:is(i.icon, i.ti, svg.icon, .visually-hidden, .sr-only)))))[class*='btn-animate-icon'] .icon,
body.evst-dashboard .input-group > .btn:where(:has(> :is(i.icon, i.ti, svg.icon)):not(:has(> *:not(:is(i.icon, i.ti, svg.icon, .visually-hidden, .sr-only)))))[class*='btn-animate-icon'] .icon,
body.evst-auth .input-group > .btn:where(:has(> :is(i.icon, i.ti, svg.icon)):not(:has(> *:not(:is(i.icon, i.ti, svg.icon, .visually-hidden, .sr-only)))))[class*='btn-animate-icon'] .icon {
	transform: none !important;
	animation: none !important;
	transition: color var(--evst-transition-fast), opacity var(--evst-transition-fast);
}

body.evst-has-header .evst-admin-wrapper .btn:is(.btn-icon, [class*='--icon-only']):is(:hover, :focus-visible, :active) > :is(i.icon, i.ti, svg.icon),
body.evst-dashboard .btn:is(.btn-icon, [class*='--icon-only']):is(:hover, :focus-visible, :active) > :is(i.icon, i.ti, svg.icon),
body.evst-auth .btn:is(.btn-icon, [class*='--icon-only']):is(:hover, :focus-visible, :active) > :is(i.icon, i.ti, svg.icon),
body.evst-has-header .evst-admin-wrapper .input-group > .btn:where(:has(> :is(i.icon, i.ti, svg.icon)):not(:has(> *:not(:is(i.icon, i.ti, svg.icon, .visually-hidden, .sr-only))))):is(:hover, :focus-visible, :active) > :is(i.icon, i.ti, svg.icon),
body.evst-dashboard .input-group > .btn:where(:has(> :is(i.icon, i.ti, svg.icon)):not(:has(> *:not(:is(i.icon, i.ti, svg.icon, .visually-hidden, .sr-only))))):is(:hover, :focus-visible, :active) > :is(i.icon, i.ti, svg.icon),
body.evst-auth .input-group > .btn:where(:has(> :is(i.icon, i.ti, svg.icon)):not(:has(> *:not(:is(i.icon, i.ti, svg.icon, .visually-hidden, .sr-only))))):is(:hover, :focus-visible, :active) > :is(i.icon, i.ti, svg.icon),
body.evst-has-header .evst-admin-wrapper .btn:is(.btn-icon, [class*='--icon-only'])[class*='btn-animate-icon']:is(:hover, :focus-visible, :active) .icon,
body.evst-dashboard .btn:is(.btn-icon, [class*='--icon-only'])[class*='btn-animate-icon']:is(:hover, :focus-visible, :active) .icon,
body.evst-auth .btn:is(.btn-icon, [class*='--icon-only'])[class*='btn-animate-icon']:is(:hover, :focus-visible, :active) .icon,
body.evst-has-header .evst-admin-wrapper .input-group > .btn:where(:has(> :is(i.icon, i.ti, svg.icon)):not(:has(> *:not(:is(i.icon, i.ti, svg.icon, .visually-hidden, .sr-only)))))[class*='btn-animate-icon']:is(:hover, :focus-visible, :active) .icon,
body.evst-dashboard .input-group > .btn:where(:has(> :is(i.icon, i.ti, svg.icon)):not(:has(> *:not(:is(i.icon, i.ti, svg.icon, .visually-hidden, .sr-only)))))[class*='btn-animate-icon']:is(:hover, :focus-visible, :active) .icon,
body.evst-auth .input-group > .btn:where(:has(> :is(i.icon, i.ti, svg.icon)):not(:has(> *:not(:is(i.icon, i.ti, svg.icon, .visually-hidden, .sr-only)))))[class*='btn-animate-icon']:is(:hover, :focus-visible, :active) .icon {
	transform: none !important;
	animation: none !important;
}

/* Ghost icon-only: keep subtle lift, still no icon micro-motion */
body.evst-has-header .evst-admin-wrapper :is(.btn-ghost-secondary, .btn-ghost.btn-secondary, .btn-ghost-primary, .btn-ghost.btn-primary, .btn-ghost-info, .btn-ghost.btn-info, .btn-ghost-danger, .btn-ghost.btn-danger).btn-icon:not(:disabled):not(.disabled):is(:hover, :focus-visible, :active, .show, [aria-expanded='true']),
body.evst-dashboard :is(.btn-ghost-secondary, .btn-ghost.btn-secondary, .btn-ghost-primary, .btn-ghost.btn-primary, .btn-ghost-info, .btn-ghost.btn-info, .btn-ghost-danger, .btn-ghost.btn-danger).btn-icon:not(:disabled):not(.disabled):is(:hover, :focus-visible, :active, .show, [aria-expanded='true']),
body.evst-auth :is(.btn-ghost-secondary, .btn-ghost.btn-secondary, .btn-ghost-primary, .btn-ghost.btn-primary, .btn-ghost-info, .btn-ghost.btn-info, .btn-ghost-danger, .btn-ghost.btn-danger).btn-icon:not(:disabled):not(.disabled):is(:hover, :focus-visible, :active, .show, [aria-expanded='true']) {
	transform: translateY(var(--evst-hover-lift-btn)) !important;
}

/* Inline hint icons (wizard labels): color/opacity only — no lift or shadow */
body.evst-has-header .evst-admin-wrapper .btn.evst-inline-hint-btn:not(:disabled):not(.disabled):is(:hover, :focus-visible, :active),
body.evst-dashboard .btn.evst-inline-hint-btn:not(:disabled):not(.disabled):is(:hover, :focus-visible, :active),
body.evst-auth .btn.evst-inline-hint-btn:not(:disabled):not(.disabled):is(:hover, :focus-visible, :active) {
	transform: none !important;
	box-shadow: none !important;
}

body.evst-dashboard .evst-workspace-overview-hero__btn--solid:is(:hover, :focus-visible) {
	opacity: 1;
}

/* —— Stat / metric cards (subtle lift, no top accent bar) —— */

body.evst-dashboard .evst-stat-card:hover,
body.evst-has-header .evst-admin-wrapper .evst-stat-card:hover {
	transform: translateY(var(--evst-hover-lift-card));
	box-shadow: var(--evst-shadow-card-hover);
	border-color: var(--tblr-gray-300, #d1d5db);
}

body.evst-has-header .evst-admin-wrapper .evst-dashboard-stats .postbox:hover {
	transform: translateY(var(--evst-hover-lift-card));
	box-shadow: var(--evst-shadow-card-hover);
	border-color: var(--tblr-gray-300, #d1d5db);
}

/* —— Cards —— */

body.evst-dashboard .page-wrapper .card:not(.evst-sidebar-upgrade-card):not(.evst-workspace-overview-hero) {
	transition:
		var(--evst-transition-transform),
		var(--evst-transition-shadow),
		var(--evst-transition-colors);
}

body.evst-dashboard .page-wrapper .card.card-link:hover,
body.evst-dashboard .page-wrapper a.card:hover {
	border-color: var(--tblr-gray-300, #d1d5db);
}

body.evst-dashboard .page-wrapper .card-body > .row.row-cards > [class*='col-'] > .card:hover {
	transform: translateY(var(--evst-hover-lift-card));
	box-shadow: var(--evst-shadow-card-hover);
}

body.evst-dashboard .evst-home-quick-action-card:hover,
body.evst-dashboard .evst-home-quick-action-card:focus-visible {
	transform: translateY(var(--evst-hover-lift-card));
	box-shadow: var(--evst-shadow-card-hover);
	border-color: var(--tblr-gray-300, #d1d5db);
}

body.evst-dashboard .evst-home-attention-card:hover,
body.evst-dashboard .evst-home-attention-card:focus-visible {
	box-shadow: var(--evst-shadow-card-hover);
}

/* —— Admin summary cards (row-cards grids on list/analytics pages) —— */

body.evst-has-header .evst-admin-wrapper .row.row-cards > [class*='col-'] > .card,
body.evst-has-header .evst-admin-wrapper .row.row-deck.row-cards > [class*='col-'] > .card {
	transition:
		var(--evst-transition-transform),
		var(--evst-transition-shadow),
		var(--evst-transition-colors);
}

body.evst-has-header .evst-admin-wrapper .row.row-cards > [class*='col-'] > .card:hover,
body.evst-has-header .evst-admin-wrapper .row.row-deck.row-cards > [class*='col-'] > .card:hover {
	transform: translateY(var(--evst-hover-lift-card));
	box-shadow: var(--evst-shadow-card-hover);
	border-color: var(--tblr-gray-300, #d1d5db);
}

/* Tabler hover utilities — match Everstory gentle motion (vendor uses !important on shadow) */
body.evst-has-header .evst-admin-wrapper .hover-shadow:hover,
body.evst-dashboard .page-wrapper .hover-shadow:hover {
	box-shadow: var(--evst-shadow-card-hover) !important;
	transition: var(--evst-transition-shadow);
}

body.evst-has-header .evst-admin-wrapper .hover-elevate-up:hover,
body.evst-dashboard .page-wrapper .hover-elevate-up:hover {
	transform: translateY(var(--evst-hover-lift-card));
}

@media (prefers-reduced-motion: reduce) {
	body.evst-has-header .evst-admin-wrapper .dropdown-menu.show,
	body.evst-dashboard .dropdown-menu.show,
	body.evst-auth .dropdown-menu.show {
		animation: none;
	}

	body.evst-has-header .evst-dropdown-menu,
	body.evst-has-header .evst-nav-dropdown {
		transition: none;
		transform: none;
	}

	body.evst-ui-motion-surface .modal-backdrop.fade,
	body:has(.evst-invitation-root) .modal-backdrop.fade {
		transition: none;
		animation: none;
	}

	body.evst-ui-motion-surface .modal.fade .modal-dialog,
	body:has(.evst-invitation-root) .modal.fade .modal-dialog {
		transition: none;
		animation: none;
		transform: none;
		opacity: 1;
	}

	body.evst-ui-motion-surface .modal-backdrop.evst-modal-backdrop-exiting,
	body:has(.evst-invitation-root) .modal-backdrop.evst-modal-backdrop-exiting {
		animation: none;
	}

	body.evst-modal-swap-active .modal-backdrop,
	body.evst-ui-motion-surface .evst-modal-swap-source.evst-modal-swap-out .modal-dialog,
	body:has(.evst-invitation-root) .evst-modal-swap-source.evst-modal-swap-out .modal-dialog,
	body.evst-ui-motion-surface .modal.evst-modal-swap-in.show .modal-dialog,
	body.evst-ui-motion-surface .modal.evst-modal-swap-in.showing .modal-dialog,
	body:has(.evst-invitation-root) .modal.evst-modal-swap-in.show .modal-dialog,
	body:has(.evst-invitation-root) .modal.evst-modal-swap-in.showing .modal-dialog {
		animation: none !important;
		transform: none;
		opacity: 1;
	}

	body.evst-dashboard .evst-filter-card,
	body.evst-dashboard .evst-filter-card.evst-filter-card--collapsed {
		transition: none;
		animation: none;
		transform: none;
		opacity: 1;
		max-height: none;
	}

	body.evst-ui-motion-surface .evst-upgrade-overlay-backdrop,
	body.evst-ui-motion-surface .evst-media-preview__backdrop,
	body.evst-ui-motion-surface .evst-media-preview__dialog,
	body.evst-ui-motion-surface .evst-upgrade-overlay-content,
	body.evst-ui-motion-surface .evst-media-preview.evst-overlay-exiting,
	body.evst-ui-motion-surface .evst-media-preview.evst-overlay-exiting .evst-media-preview__backdrop,
	body.evst-ui-motion-surface .evst-upgrade-overlay.evst-overlay-exiting .evst-upgrade-overlay-backdrop,
	body.evst-ui-motion-surface .evst-media-preview.evst-overlay-exiting .evst-media-preview__dialog,
	body.evst-ui-motion-surface .evst-upgrade-overlay.evst-overlay-exiting .evst-upgrade-overlay-content {
		animation: none;
	}

	body.evst-ui-motion-surface .evst-ad-popup-overlay,
	body.evst-ui-motion-surface .evst-ad-popup-content,
	body.evst-ui-motion-surface .evst-ad-popup.evst-overlay-exiting .evst-ad-popup-overlay,
	body.evst-ui-motion-surface .evst-ad-popup.evst-overlay-exiting .evst-ad-popup-content {
		animation: none;
	}

	body.evst-has-header .evst-admin-wrapper .btn:hover,
	body.evst-has-header .evst-admin-wrapper .btn:focus-visible,
	body.evst-dashboard .btn:hover,
	body.evst-dashboard .btn:focus-visible,
	body.evst-auth .btn:hover,
	body.evst-auth .btn:focus-visible,
	body.evst-dashboard .page-wrapper .card-body > .row.row-cards > [class*='col-'] > .card:hover,
	body.evst-dashboard .evst-stat-card:hover,
	body.evst-has-header .evst-admin-wrapper .evst-stat-card:hover,
	body.evst-dashboard .evst-home-quick-action-card:hover,
	body.evst-has-header .evst-admin-wrapper .evst-dashboard-stats .postbox:hover,
	body.evst-has-header .evst-admin-wrapper .row.row-cards > [class*='col-'] > .card:hover,
	body.evst-has-header .evst-admin-wrapper .row.row-deck.row-cards > [class*='col-'] > .card:hover,
	body.evst-has-header .evst-admin-wrapper .hover-elevate-up:hover,
	body.evst-dashboard .page-wrapper .hover-elevate-up:hover {
		transform: none;
	}

	body.evst-has-header .evst-admin-wrapper .btn:hover > :is(i.icon, i.ti, svg.icon),
	body.evst-has-header .evst-admin-wrapper .btn:focus-visible > :is(i.icon, i.ti, svg.icon),
	body.evst-dashboard .btn:hover > :is(i.icon, i.ti, svg.icon),
	body.evst-dashboard .btn:focus-visible > :is(i.icon, i.ti, svg.icon),
	body.evst-auth .btn:hover > :is(i.icon, i.ti, svg.icon),
	body.evst-auth .btn:focus-visible > :is(i.icon, i.ti, svg.icon) {
		transform: none;
	}

	body.evst-dashboard .navbar-vertical .nav-link:hover,
	body.evst-dashboard .navbar-vertical .nav-link:focus-visible {
		transform: none;
	}

	body.evst-dashboard .navbar-vertical .nav-link:hover .nav-link-icon :is(.ti, .icon),
	body.evst-dashboard .navbar-vertical .nav-link:focus-visible .nav-link-icon :is(.ti, .icon) {
		transform: none;
	}

	body.evst-dashboard .evst-workspace-current-card:hover {
		transform: none;
	}

	body.evst-dashboard .evst-mobile-fab:hover,
	body.evst-dashboard .evst-mobile-fab:focus-visible {
		transform: none;
	}

	body.evst-dashboard .evst-mobile-fab:hover .icon,
	body.evst-dashboard .evst-mobile-fab:focus-visible .icon {
		transform: none;
	}
}

/* Wizard: read-only guest-category mirror chips (RSVP, Check-In, Live Streaming). */
.evst-guest-cat-mirror-chips {
	min-height: 2.375rem;
}

.evst-guest-cat-mirror-chip {
	font-weight: 500;
	font-size: 0.8125rem;
	line-height: 1.2;
	padding: 0.35rem 0.65rem;
}

.evst-guest-cat-mirror-chip--loading {
	opacity: 0.65;
}

.evst-guest-cat-mirror-settings-link {
	margin-left: 0.15rem;
}

.evst-wizard-event-categories.evst-guest-cat-mirror-target-flash {
	box-shadow: 0 0 0 2px rgba(32, 107, 196, 0.35);
	border-radius: 0.375rem;
	transition: box-shadow 0.2s ease;
}

/* Wizard: read-only language-preset mirror chips (Guestbook, RSVP, Gift, Check-In). */
.evst-lang-preset-mirror-chips {
	min-height: 2.375rem;
}

.evst-lang-preset-mirror-chip {
	font-weight: 500;
	font-size: 0.8125rem;
	line-height: 1.2;
	padding: 0.35rem 0.65rem;
}

.evst-lang-preset-mirror-chip--loading,
.evst-lang-preset-mirror-chip--empty {
	opacity: 0.75;
}

/* Wizard: RSVP + gift Confirm To contact badges. */
.evst-wizard-confirm-to-summary {
	min-height: 2.375rem;
}

.evst-wizard-confirm-to-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-weight: 500;
	font-size: 0.8125rem;
	line-height: 1.2;
	padding: 0.35rem 0.65rem;
}

.evst-wizard-confirm-to-badge__party {
	font-weight: 600;
}

.evst-wizard-confirm-to-badge__wa {
	opacity: 0.85;
}

/* Wizard: gallery image manual reorder (Gallery List Order mode). */
#gallery-images-container.evst-gallery-images--manual-sort {
	padding-left: 1.125rem;
}

.evst-gallery-sort-item {
	position: relative;
}

.evst-gallery-sort-handle {
	display: none;
	position: absolute;
	left: -1.125rem;
	top: 0.35rem;
	z-index: 2;
	align-items: center;
	justify-content: center;
	width: 0.875rem;
	height: 1.375rem;
	color: var(--tblr-secondary, #6c757d);
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
	touch-action: none;
	line-height: 1;
}

.evst-gallery-sort-handle .ti {
	font-size: 1rem;
	line-height: 1;
}

.evst-gallery-images--manual-sort .evst-gallery-sort-handle {
	display: inline-flex;
}

.evst-gallery-images--manual-sort .evst-gallery-sort-handle:active {
	cursor: grabbing;
}

.evst-gallery-sort-item--dragging {
	opacity: 0.55;
}

.evst-gallery-sort-item--locked {
	cursor: default;
}

/* Wizard: uploaded video file card (preview + corner remove). */
.evst-video-upload-card {
	position: relative;
	width: fit-content;
	max-width: 100%;
	overflow: hidden;
	border: 2px solid var(--tblr-gray-200, #e9ecef);
}

.evst-video-upload-card__media {
	position: relative;
	display: block;
	width: fit-content;
	max-width: 100%;
	height: 120px;
	line-height: 0;
	overflow: hidden;
	background: var(--tblr-gray-100, #f8f9fa);
}

.evst-video-upload-card__media.evst-video-upload-preview-trigger {
	cursor: pointer;
}

.evst-video-upload-card__video {
	display: block;
	height: 120px;
	width: auto;
	max-width: min(100%, 20rem);
	margin: 0;
	object-fit: cover;
	background: #000;
}

.evst-video-upload-card__play {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	color: rgba(255, 255, 255, 0.92);
	font-size: 2rem;
	text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45);
}

.evst-video-upload-card__remove {
	position: absolute;
	top: 6px;
	right: 6px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	padding: 0;
}

.evst-video-upload-card__progress {
	position: absolute;
	inset: auto 0.5rem 0.5rem;
	z-index: 3;
}

.evst-video-upload-card__progress .progress {
	height: 0.375rem;
	background: rgba(255, 255, 255, 0.35);
}

/* Wizard: gallery video row reorder (multi-video). */
#video-container.evst-gallery-videos-sortable {
	padding-left: 1.125rem;
}

.evst-gallery-video-sort-item {
	position: relative;
}

.evst-gallery-video-sort-handle {
	display: none;
	position: absolute;
	left: -1.125rem;
	top: 0.85rem;
	z-index: 2;
	align-items: center;
	justify-content: center;
	width: 0.875rem;
	height: 1.375rem;
	color: var(--tblr-secondary, #6c757d);
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
	touch-action: none;
	line-height: 1;
}

.evst-gallery-video-sort-handle .ti {
	font-size: 1rem;
	line-height: 1;
}

.evst-gallery-videos-sortable .evst-gallery-video-sort-handle {
	display: inline-flex;
}

.evst-gallery-videos-sortable .evst-gallery-video-sort-handle:active {
	cursor: grabbing;
}

.evst-gallery-video-sort-item--dragging {
	opacity: 0.55;
}

/*
 * Joined input-group end caps — follow App → Corner Radius (--evst-radius-md / --tblr-border-radius-scale).
 * Hidden trailing siblings (.d-none) still occupy :last-child in the DOM.
 */
body.evst-has-header .evst-admin-wrapper .input-group,
body.evst-dashboard .input-group,
body.evst-auth .input-group {
	--evst-input-group-end-radius: var(--tblr-btn-border-radius, var(--tblr-border-radius, var(--evst-radius-md)));
}

body.evst-has-header .evst-admin-wrapper .input-group > :last-child:not(.d-none),
body.evst-dashboard .input-group > :last-child:not(.d-none),
body.evst-auth .input-group > :last-child:not(.d-none),
body.evst-has-header .evst-admin-wrapper .input-group > :not(.d-none):has(+ .d-none),
body.evst-dashboard .input-group > :not(.d-none):has(+ .d-none),
body.evst-auth .input-group > :not(.d-none):has(+ .d-none) {
	border-top-right-radius: var(--evst-input-group-end-radius) !important;
	border-bottom-right-radius: var(--evst-input-group-end-radius) !important;
}

body.evst-has-header .evst-admin-wrapper .input-group.evst-promo-input-group:not(.evst-promo-input-group--remove-visible) > #apply-promo-code:not(.d-none),
body.evst-dashboard .input-group.evst-promo-input-group:not(.evst-promo-input-group--remove-visible) > #apply-promo-code:not(.d-none),
body.evst-auth .input-group.evst-promo-input-group:not(.evst-promo-input-group--remove-visible) > #apply-promo-code:not(.d-none) {
	border-top-right-radius: var(--evst-input-group-end-radius) !important;
	border-bottom-right-radius: var(--evst-input-group-end-radius) !important;
}

body.evst-has-header .evst-admin-wrapper .input-group.evst-promo-input-group.evst-promo-input-group--remove-visible > #remove-promo-code:not(.d-none),
body.evst-dashboard .input-group.evst-promo-input-group.evst-promo-input-group--remove-visible > #remove-promo-code:not(.d-none),
body.evst-auth .input-group.evst-promo-input-group.evst-promo-input-group--remove-visible > #remove-promo-code:not(.d-none) {
	border-top-right-radius: var(--evst-input-group-end-radius) !important;
	border-bottom-right-radius: var(--evst-input-group-end-radius) !important;
}

body.evst-has-header .evst-admin-wrapper .input-group.evst-promo-input-group.evst-promo-input-group--remove-visible > #apply-promo-code,
body.evst-dashboard .input-group.evst-promo-input-group.evst-promo-input-group--remove-visible > #apply-promo-code,
body.evst-auth .input-group.evst-promo-input-group.evst-promo-input-group--remove-visible > #apply-promo-code {
	border-top-right-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
}

/*
 * Tom Select vendor picker — joined caps (border lives on .ts-control, not .form-select direct child).
 * Overrides Tabler .ts-control { border-radius } and generic input-group last-child partial radius.
 */
body.evst-has-header .evst-admin-wrapper .input-group.evst-vendor-picker-input-group,
body.evst-dashboard .input-group.evst-vendor-picker-input-group,
body.evst-auth .input-group.evst-vendor-picker-input-group {
	box-shadow: none !important;
	border-radius: 0 !important;
}

body.evst-has-header .evst-admin-wrapper .input-group.evst-vendor-picker-input-group > .evst-vendor-picker-input-group__control > .ts-wrapper.form-select .ts-control,
body.evst-dashboard .input-group.evst-vendor-picker-input-group > .evst-vendor-picker-input-group__control > .ts-wrapper.form-select .ts-control,
body.evst-auth .input-group.evst-vendor-picker-input-group > .evst-vendor-picker-input-group__control > .ts-wrapper.form-select .ts-control {
	border-radius: var(--evst-input-group-end-radius) 0 0 var(--evst-input-group-end-radius) !important;
	border-right-width: 0 !important;
}

body.evst-has-header .evst-admin-wrapper .input-group.evst-vendor-picker-input-group > .evst-vendor-picker-input-group__control > .ts-wrapper.form-select.dropdown-active .ts-control,
body.evst-has-header .evst-admin-wrapper .input-group.evst-vendor-picker-input-group > .evst-vendor-picker-input-group__control > .ts-wrapper.form-select.focus .ts-control,
body.evst-dashboard .input-group.evst-vendor-picker-input-group > .evst-vendor-picker-input-group__control > .ts-wrapper.form-select.dropdown-active .ts-control,
body.evst-dashboard .input-group.evst-vendor-picker-input-group > .evst-vendor-picker-input-group__control > .ts-wrapper.form-select.focus .ts-control,
body.evst-auth .input-group.evst-vendor-picker-input-group > .evst-vendor-picker-input-group__control > .ts-wrapper.form-select.dropdown-active .ts-control,
body.evst-auth .input-group.evst-vendor-picker-input-group > .evst-vendor-picker-input-group__control > .ts-wrapper.form-select.focus .ts-control {
	border-radius: var(--evst-input-group-end-radius) 0 0 0 !important;
	border-right-width: 0 !important;
}

body.evst-has-header .evst-admin-wrapper .input-group.evst-vendor-picker-input-group > :is(.evst-budget-vendor-add-btn, .evst-rundown-vendor-add-btn),
body.evst-dashboard .input-group.evst-vendor-picker-input-group > :is(.evst-budget-vendor-add-btn, .evst-rundown-vendor-add-btn),
body.evst-auth .input-group.evst-vendor-picker-input-group > :is(.evst-budget-vendor-add-btn, .evst-rundown-vendor-add-btn) {
	border-radius: 0 var(--evst-input-group-end-radius) var(--evst-input-group-end-radius) 0 !important;
	margin-left: calc(-1 * var(--tblr-border-width, 1px));
}
