/**
 * Modal / Dialog — BEM component
 *
 * @package Svaros_Partneriai
 */

.modal {
	position: fixed;
	inset: 0;
	z-index: var(--sp-z-modal);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--sp-space-4);
	opacity: 0;
	visibility: hidden;
	transition: all var(--sp-transition-base);
}

.modal.is-open {
	opacity: 1;
	visibility: visible;
}

.modal__backdrop {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: var(--sp-z-modal-backdrop);
}

.modal__content {
	position: relative;
	z-index: var(--sp-z-modal);
	width: 100%;
	max-width: 560px;
	max-height: 90vh;
	overflow-y: auto;
	background: var(--sp-color-white);
	border-radius: var(--sp-radius-xl);
	box-shadow: var(--sp-shadow-xl);
	transform: translateY(20px);
	transition: transform var(--sp-transition-base);
}

.modal.is-open .modal__content {
	transform: translateY(0);
}

.modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--sp-space-5) var(--sp-space-6);
	border-bottom: 1px solid var(--sp-color-border-light);
}

.modal__title {
	font-size: var(--sp-text-lg);
	font-weight: var(--sp-font-semibold);
}

.modal__close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: var(--sp-radius-md);
	transition: background var(--sp-transition-fast);
}

.modal__close:hover {
	background: var(--sp-color-gray-100);
}

.modal__body {
	padding: var(--sp-space-6);
}

.modal__footer {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--sp-space-3);
	padding: var(--sp-space-4) var(--sp-space-6);
	border-top: 1px solid var(--sp-color-border-light);
}

/* Toast notifications */
.toast {
	position: fixed;
	bottom: var(--sp-space-6);
	left: 50%;
	transform: translateX(-50%) translateY(100%);
	z-index: var(--sp-z-toast);
	padding: var(--sp-space-3) var(--sp-space-6);
	border-radius: var(--sp-radius-lg);
	font-size: var(--sp-text-sm);
	font-weight: var(--sp-font-medium);
	box-shadow: var(--sp-shadow-xl);
	transition: transform var(--sp-transition-base);
	max-width: 90vw;
}

.toast.is-visible {
	transform: translateX(-50%) translateY(0);
}

.toast--success {
	background: var(--sp-color-success);
	color: var(--sp-color-white);
}

.toast--error {
	background: var(--sp-color-error);
	color: var(--sp-color-white);
}

.toast--info {
	background: var(--sp-color-info);
	color: var(--sp-color-white);
}

.toast--warning {
	background: var(--sp-color-warning);
	color: var(--sp-color-white);
}
