/* Общие элементы интерфейса SUBEXPRESS поверх токенов (tokens.css).
   Подключается на всех страницах: лендинги (mainpage/new/header.php) и
   шаблон магазина (eshop_bootstrap_green_copy/header.php). */

/* ---------- Всплывающие окна (sweetalert2 v7) ----------
   Раньше окна «Заказ принят», «Логин или пароль неверный», «Запрос обрабатывается»
   выходили в стандартном виде библиотеки: другой шрифт, синяя кнопка, чужие иконки.
   Это единственный канал важных сообщений клиенту — приводим к стилю сайта. */
.swal2-popup {
	font-family: 'Manrope', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif !important;
	border-radius: 18px !important;
	padding: 28px 28px 24px !important;
	box-shadow: 0 24px 60px rgba(23, 19, 16, .22) !important;
	color: var(--se-ink) !important;
}
.swal2-popup .swal2-title {
	font-size: 22px !important;
	font-weight: 800 !important;
	letter-spacing: -.02em !important;
	line-height: 1.2 !important;
	color: var(--se-ink) !important;
	margin: 12px 0 8px !important;
}
.swal2-popup .swal2-content {
	font-size: 15px !important;
	line-height: 1.5 !important;
	color: var(--se-muted) !important;
}
.swal2-popup .swal2-actions { margin-top: 20px !important; gap: 10px; }
.swal2-popup .swal2-confirm,
.swal2-popup .swal2-cancel {
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	min-height: 48px;
	padding: 0 24px !important;
	border-radius: var(--se-r-control) !important;
	box-shadow: none !important;
	margin: 0 !important;
}
.swal2-popup .swal2-confirm {
	background: var(--se-red) !important;
	color: #fff !important;
}
.swal2-popup .swal2-confirm:hover { background: var(--se-red-dark) !important; }
.swal2-popup .swal2-cancel {
	background: transparent !important;
	color: var(--se-ink) !important;
	border: 1px solid var(--se-line) !important;
}
.swal2-popup .swal2-cancel:hover { background: var(--se-cream) !important; }
.swal2-popup .swal2-icon.swal2-success .swal2-success-ring { border-color: rgba(47, 111, 82, .3) !important; }
.swal2-popup .swal2-icon.swal2-success [class^='swal2-success-line'] { background-color: var(--se-ok) !important; }
.swal2-popup .swal2-icon.swal2-error { border-color: var(--se-red) !important; }
.swal2-popup .swal2-icon.swal2-error [class^='swal2-x-mark-line'] { background-color: var(--se-red) !important; }
.swal2-popup .swal2-icon.swal2-info,
.swal2-popup .swal2-icon.swal2-warning { border-color: var(--se-ink) !important; color: var(--se-ink) !important; }
.swal2-container.swal2-shown { background: rgba(9, 9, 9, .58) !important; backdrop-filter: blur(4px); }

/* ---------- Шаги оформления: Корзина → Доставка → Готово ----------
   Стоят над заголовком на /personal/cart/, /order/ и странице статуса заказа —
   клиент видит, где он и сколько осталось. */
.se-steps {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 6px;
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--se-muted);
}
.se-steps li { display: inline-flex; align-items: center; gap: 8px; }
.se-steps li::before {
	content: counter(se-step);
	counter-increment: se-step;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 1.5px solid currentColor;
	font-size: 11px;
	letter-spacing: 0;
}
.se-steps { counter-reset: se-step; }
.se-steps li.is-current { color: var(--se-red); }
.se-steps li.is-current::before { background: var(--se-red); border-color: var(--se-red); color: #fff; }
.se-steps li.is-done { color: var(--se-ink); }
.se-steps li.is-done::before { background: var(--se-ink); border-color: var(--se-ink); color: #fff; content: "✓"; }
/* разделитель между шагами — короткая линия */
.se-steps li + li { position: relative; padding-left: 22px; }
.se-steps li + li::after {
	content: "";
	position: absolute;
	left: 4px;
	top: 50%;
	width: 12px;
	height: 1.5px;
	background: var(--se-line);
}
@media (max-width: 480px) {
	.se-steps { font-size: 11px; gap: 6px 4px; }
	.se-steps li + li { padding-left: 18px; }
	.se-steps li + li::after { width: 9px; left: 3px; }
}
