/**
 * Lavina Prais List — стили страницы /prajs-list/.
 *
 * ВАЖНО: все селекторы строго префиксированы .lavina-prais__
 * чтобы НЕ затрагивать тему wescle, WooCommerce и прочие плагины.
 * Переписано с Tailwind v4 из src/App.tsx на обычный CSS.
 *
 * Организация секций:
 *   1. Сброс + токены
 *   2. Hero
 *   3. Layout (grid: сайдбар + каталог)
 *   4. Карточка товара (+ цветовые схемы категорий)
 *   5. Шаги / FAQ / Партнёры / Footer CTA
 *   6. Floating Cart Button + Toast
 *   7. Drawer (корзина + форма)
 *   8. Адаптив
 */

/* ============== 1. СБРОС И ТОКЕНЫ ============== */

.lavina-prais,
.lavina-prais *,
.lavina-prais *::before,
.lavina-prais *::after {
	box-sizing: border-box;
}

.lavina-prais {
	--lp-blue: #004999;
	--lp-blue-50: #eff6ff;
	--lp-blue-100: #dbeafe;
	--lp-blue-200: #bfdbfe;
	--lp-blue-400: #60a5fa;
	--lp-blue-500: #3b82f6;
	--lp-blue-600: #004999;
	--lp-blue-700: #1d4ed8;

	--lp-slate-50: #f8fafc;
	--lp-slate-100: #f1f5f9;
	--lp-slate-150: #eef2f7;
	--lp-slate-200: #e2e8f0;
	--lp-slate-300: #cbd5e1;
	--lp-slate-400: #94a3b8;
	--lp-slate-500: #64748b;
	--lp-slate-600: #475569;
	--lp-slate-700: #334155;
	--lp-slate-800: #1e293b;
	--lp-slate-900: #0f172a;
	--lp-slate-950: #020617;

	--lp-cyan-50: #ecfeff;
	--lp-cyan-100: #cffafe;
	--lp-cyan-200: #a5f3fc;
	--lp-cyan-600: #0891b2;
	--lp-cyan-700: #0e7490;
	--lp-cyan-800: #155e75;

	--lp-emerald-50: #ecfdf5;
	--lp-emerald-100: #d1fae5;
	--lp-emerald-200: #a7f3d0;
	--lp-emerald-500: #10b981;
	--lp-emerald-600: #059669;
	--lp-emerald-700: #047857;

	--lp-amber-50: #fffbeb;
	--lp-amber-100: #fef3c7;
	--lp-amber-200: #fde68a;
	--lp-amber-600: #d97706;
	--lp-amber-700: #b45309;
	--lp-amber-800: #92400e;

	--lp-indigo-50: #eef2ff;
	--lp-indigo-100: #e0e7ff;
	--lp-indigo-200: #c7d2fe;
	--lp-indigo-500: #6366f1;
	--lp-indigo-600: #4f46e5;
	--lp-indigo-700: #4338ca;

	--lp-red-500: #ef4444;
	--lp-red-600: #dc2626;

	--lp-radius-sm: 0;
	--lp-radius: 0;
	--lp-radius-lg: 0;
	--lp-radius-xl: 0;
	--lp-radius-2xl: 0;
	--lp-radius-3xl: 0;

	--lp-shadow-sm: 0 1px 2px 0 rgba(15, 23, 42, .06);
	--lp-shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .08), 0 2px 4px -2px rgba(15, 23, 42, .06);
	--lp-shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .08), 0 4px 6px -4px rgba(15, 23, 42, .05);
	--lp-shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .1), 0 8px 10px -6px rgba(15, 23, 42, .05);

	font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	font-size: 14px;
	line-height: 1.5;
	color: var(--lp-slate-800);
	background: var(--lp-slate-50);
}

.lavina-prais .lavina-icon {
	display: inline-block;
	vertical-align: middle;
	flex-shrink: 0;
}

.lavina-prais__container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 16px;
}

.lavina-prais__section-badge {
	display: inline-block;
	font-size: 10px;
	font-weight: 700;
	color: var(--lp-blue-600);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	background: var(--lp-blue-50);
	padding: 4px 14px;
	border-radius: 0;
	border: 1px solid rgba(219, 234, 254, .6);
}

.lavina-prais__section-title {
	font-size: 30px;
	font-weight: 900;
	color: var(--lp-slate-900);
	margin: 14px 0 8px;
	letter-spacing: -0.01em;
	line-height: 1.1;
}

.lavina-prais__section-subtitle {
	font-size: 14px;
	color: var(--lp-slate-500);
	margin: 0;
}

/* ============== 2. HERO ============== */

.lavina-prais__hero {
	position: relative;
	overflow: hidden;
	background: #fff;
	border-bottom: 1px solid rgba(241, 245, 249, .8);
}

.lavina-prais__hero-bg-1,
.lavina-prais__hero-bg-2 {
	position: absolute;
	border-radius: 0;
	filter: blur(60px);
	pointer-events: none;
	z-index: 0;
}

.lavina-prais__hero-bg-1 {
	top: 0;
	right: 25%;
	width: 384px;
	height: 384px;
	background: rgba(219, 234, 254, .35);
}

.lavina-prais__hero-bg-2 {
	bottom: 0;
	left: 40px;
	width: 320px;
	height: 320px;
	background: rgba(224, 231, 255, .25);
}

.lavina-prais__hero-inner {
	position: relative;
	z-index: 1;
	padding: 48px 16px 64px;
}

.lavina-prais__hero-header {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-bottom: 48px;
}

.lavina-prais__hero-badge-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
}

.lavina-prais__hero-badge {
	padding: 4px 12px;
	background: var(--lp-blue-600);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	border-radius: 0;
}

.lavina-prais__hero-line {
	width: 48px;
	height: 1px;
	background: var(--lp-blue-200);
}

.lavina-prais__hero-title {
	font-size: 56px;
	font-weight: 900;
	color: var(--lp-slate-900);
	letter-spacing: -0.02em;
	line-height: 1;
	margin: 0;
}

.lavina-prais__accent {
	color: var(--lp-blue-600);
}

.lavina-prais__hero-right {
	max-width: 420px;
}

.lavina-prais__hero-subtitle {
	font-size: 14px;
	font-weight: 500;
	color: var(--lp-slate-500);
	font-style: italic;
	line-height: 1.4;
	margin: 0;
}

/* Stat cards grid */
.lavina-prais__stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.lavina-prais__stat-card {
	background: #fff;
	padding: 24px;
	border-radius: var(--lp-radius-3xl);
	border: 1px solid var(--lp-slate-100);
	box-shadow: var(--lp-shadow-sm);
	transition: box-shadow .3s ease;
}

.lavina-prais__stat-card:hover {
	box-shadow: var(--lp-shadow-md);
}

.lavina-prais__stat-icon {
	width: 44px;
	height: 44px;
	border-radius: var(--lp-radius-2xl);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}

.lavina-prais__stat-card--blue    .lavina-prais__stat-icon { background: var(--lp-blue-50);    color: var(--lp-blue-600); }
.lavina-prais__stat-card--cyan    .lavina-prais__stat-icon { background: var(--lp-cyan-50);    color: var(--lp-cyan-600); }
.lavina-prais__stat-card--emerald .lavina-prais__stat-icon { background: var(--lp-emerald-50); color: var(--lp-emerald-600); }
.lavina-prais__stat-card--indigo  .lavina-prais__stat-icon { background: var(--lp-indigo-50);  color: var(--lp-indigo-600); }

.lavina-prais__stat-value {
	font-size: 18px;
	font-weight: 700;
	color: var(--lp-slate-900);
}

.lavina-prais__stat-value--mono {
	font-family: 'JetBrains Mono', ui-monospace, monospace;
}

.lavina-prais__stat-label {
	font-size: 12px;
	color: var(--lp-slate-400);
	margin-top: 4px;
}

/* ============== 3. LAYOUT ============== */

.lavina-prais__main {
	padding-top: 48px;
	padding-bottom: 48px;
}

.lavina-prais__layout {
	display: grid;
	grid-template-columns: 3fr 9fr;
	gap: 32px;
}

/* === Sidebar === */
.lavina-prais__sidebar {
	position: relative;
}

.lavina-prais__filter-box {
	background: #fff;
	border-radius: var(--lp-radius-3xl);
	padding: 24px;
	border: 1px solid var(--lp-slate-100);
	box-shadow: var(--lp-shadow-sm);
	position: sticky;
	top: 24px;
}

.lavina-prais__sidebar-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 18px;
	font-weight: 700;
	color: var(--lp-slate-900);
	margin: 0 0 16px;
}

.lavina-icon--blue { color: var(--lp-blue-600); }

.lavina-prais__cat-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.lavina-prais__cat-btn {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px;
	border: 0;
	border-radius: var(--lp-radius-2xl);
	background: var(--lp-slate-50);
	color: var(--lp-slate-700);
	font-size: 14px;
	font-weight: 500;
	font-family: inherit;
	text-align: left;
	cursor: pointer;
	transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}

.lavina-prais__cat-btn:hover {
	background: var(--lp-slate-100);
}

.lavina-prais__cat-btn.is-active {
	background: var(--lp-blue-600);
	color: #fff;
	font-weight: 600;
	box-shadow: var(--lp-shadow-lg);
}

.lavina-prais__cat-label {
	display: flex;
	align-items: center;
	gap: 10px;
	overflow: hidden;
}

.lavina-prais__cat-emoji {
	font-size: 16px;
	flex-shrink: 0;
}

.lavina-prais__cat-count {
	font-size: 12px;
	padding: 4px 10px;
	border-radius: 0;
	font-weight: 700;
	background: var(--lp-slate-200);
	color: var(--lp-slate-600);
}

.lavina-prais__cat-btn.is-active .lavina-prais__cat-count {
	background: rgba(255, 255, 255, .2);
	color: #fff;
}

.lavina-prais__info-banner {
	display: flex;
	gap: 10px;
	margin-top: 32px;
	background: rgba(239, 246, 255, .6);
	border-radius: var(--lp-radius-2xl);
	padding: 16px;
	border: 1px solid var(--lp-blue-100);
}

.lavina-prais__info-banner-title {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: var(--lp-cyan-800);
	margin-bottom: 4px;
}

.lavina-prais__info-banner-text {
	font-size: 12px;
	color: var(--lp-cyan-800);
	line-height: 1.5;
	margin: 0;
}

.lavina-prais__contact-block {
	margin-top: 16px;
	padding: 16px;
	background: var(--lp-slate-50);
	border-radius: var(--lp-radius-2xl);
	border: 1px solid var(--lp-slate-100);
}

.lavina-prais__contact-hint {
	font-size: 12px;
	color: var(--lp-slate-500);
	margin-bottom: 4px;
}

.lavina-prais__contact-phone {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 700;
	color: var(--lp-blue-700);
	text-decoration: none;
	transition: color .2s ease;
}

.lavina-prais__contact-phone:hover {
	color: var(--lp-blue-600);
}

/* === Catalog === */
.lavina-prais__catalog {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.lavina-prais__filter-bar {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: #fff;
	border-radius: var(--lp-radius-3xl);
	padding: 20px;
	border: 1px solid var(--lp-slate-100);
	box-shadow: var(--lp-shadow-sm);
	flex-wrap: wrap;
}

.lavina-prais__search-wrap {
	position: relative;
	flex: 1;
	min-width: 240px;
}

.lavina-prais__search-icon {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--lp-slate-400);
	pointer-events: none;
	display: flex;
}

.lavina-prais__search-input {
	width: 100%;
	background: var(--lp-slate-50);
	color: var(--lp-slate-800);
	font-size: 14px;
	font-family: inherit;
	padding: 12px 16px 12px 44px;
	border-radius: var(--lp-radius-2xl);
	border: 1px solid var(--lp-slate-100);
	outline: none;
	transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.lavina-prais__search-input:hover {
	background: rgba(241, 245, 249, .7);
}

.lavina-prais__search-input:focus {
	background: #fff;
	border-color: var(--lp-blue-400);
	box-shadow: 0 0 0 3px var(--lp-blue-100);
}

.lavina-prais__search-clear {
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(226, 232, 240, .5);
	color: var(--lp-slate-400);
	border: 0;
	font-size: 12px;
	padding: 4px 8px;
	border-radius: var(--lp-radius-sm);
	cursor: pointer;
	font-family: inherit;
}

.lavina-prais__search-clear:hover {
	background: var(--lp-slate-200);
	color: var(--lp-slate-600);
}

.lavina-prais__filter-controls {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.lavina-prais__sort-wrap {
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--lp-slate-50);
	border: 1px solid var(--lp-slate-100);
	border-radius: var(--lp-radius-2xl);
	padding: 8px 12px;
	font-size: 12px;
	color: var(--lp-slate-500);
}

.lavina-prais__sort-wrap select {
	background: transparent;
	border: 0;
	color: var(--lp-slate-700);
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	outline: none;
	cursor: pointer;
}

.lavina-prais__view-toggle {
	display: flex;
	background: var(--lp-slate-50);
	border: 1px solid var(--lp-slate-100);
	border-radius: var(--lp-radius-2xl);
	padding: 4px;
}

.lavina-prais__view-toggle button {
	background: transparent;
	border: 0;
	color: var(--lp-slate-500);
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	padding: 6px 12px;
	border-radius: var(--lp-radius);
	cursor: pointer;
	transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}

.lavina-prais__view-toggle button.is-active {
	background: #fff;
	color: var(--lp-slate-800);
	box-shadow: var(--lp-shadow-sm);
}

.lavina-prais__cat-header-title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 20px;
	font-weight: 700;
	color: var(--lp-slate-900);
	margin: 0;
}

.lavina-prais__cat-header-count {
	font-size: 12px;
	font-weight: 500;
	background: var(--lp-slate-100);
	color: var(--lp-slate-500);
	padding: 2px 10px;
	border-radius: 0;
}

.lavina-prais__cat-header-desc {
	font-size: 12px;
	color: var(--lp-slate-500);
	margin: 4px 0 0;
	min-height: 18px;
}

/* Empty state */
.lavina-prais__empty {
	background: #fff;
	border-radius: var(--lp-radius-2xl);
	padding: 48px;
	border: 1px solid var(--lp-slate-100);
	text-align: center;
	box-shadow: var(--lp-shadow-sm);
}

.lavina-prais__empty-icon {
	width: 64px;
	height: 64px;
	border-radius: 0;
	background: var(--lp-slate-50);
	color: var(--lp-slate-400);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
}

.lavina-prais__empty-title {
	font-size: 18px;
	font-weight: 700;
	color: var(--lp-slate-900);
	margin: 0 0 4px;
}

.lavina-prais__empty-text {
	font-size: 14px;
	color: var(--lp-slate-500);
	max-width: 400px;
	margin: 0 auto;
}

.lavina-prais__empty-btn {
	margin-top: 24px;
	background: #0284c7;
	color: #fff;
	border: 0;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	padding: 10px 20px;
	border-radius: var(--lp-radius-xl);
	cursor: pointer;
	box-shadow: var(--lp-shadow-md);
	transition: background .2s ease;
}

.lavina-prais__empty-btn:hover {
	background: #0ea5e9;
}

/* === Items grid / list === */
.lavina-prais__items--grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.lavina-prais__items--list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* ============== 4. КАРТОЧКА ТОВАРА ============== */

.lavina-prais__card {
	border-radius: var(--lp-radius-3xl);
	box-shadow: var(--lp-shadow-sm);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	overflow: hidden;
	border: 1px solid var(--lp-slate-100);
	background: #fff;
	transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}

.lavina-prais__card:hover {
	box-shadow: var(--lp-shadow-xl);
	transform: translateY(-4px);
}

.lavina-prais__card-top {
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.lavina-prais__card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.lavina-prais__card-head-text {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.lavina-prais__card-badge {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 4px 10px;
	border-radius: 0;
	display: inline-block;
	align-self: flex-start;
}

.lavina-prais__card-name {
	font-size: 18px;
	font-weight: 700;
	color: var(--lp-slate-900);
	line-height: 1.3;
	margin: 0;
}

.lavina-prais__card-icon-box {
	width: 48px;
	height: 48px;
	border-radius: var(--lp-radius-2xl);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.lavina-prais__card-desc {
	font-size: 12px;
	line-height: 1.6;
	color: var(--lp-slate-500);
	margin: 0;
}

.lavina-prais__card-included {
	padding: 16px;
	border-radius: var(--lp-radius-2xl);
	border: 1px solid var(--lp-slate-100);
	background: rgba(248, 250, 252, .7);
}

.lavina-prais__card-included-head {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--lp-slate-400);
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.lavina-prais__card-included-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px 12px;
}

.lavina-prais__card-included-item {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--lp-slate-700);
}

.lavina-prais__card-check {
	font-weight: 700;
}

.lavina-prais__card-options {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.lavina-prais__card-options-label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--lp-slate-400);
	display: block;
}

.lavina-prais__card-options-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
}

.lavina-prais__card-option-btn {
	padding: 10px 14px;
	border-radius: var(--lp-radius-2xl);
	font-size: 12px;
	font-weight: 600;
	border: 1px solid var(--lp-slate-100);
	background: #fff;
	color: var(--lp-slate-600);
	cursor: pointer;
	text-align: left;
	font-family: inherit;
	transition: background .2s ease;
}

.lavina-prais__card-option-btn:hover {
	background: var(--lp-slate-50);
}

.lavina-prais__card-option-btn.is-selected {
	background: var(--lp-blue-50);
	color: var(--lp-blue-700);
	border-color: var(--lp-blue-200);
	box-shadow: var(--lp-shadow-sm);
}

.lavina-prais__card-option-duration {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lavina-prais__card-option-price {
	font-size: 10px;
	margin-top: 2px;
	font-weight: 700;
	color: var(--lp-slate-400);
}

.lavina-prais__card-option-btn.is-selected .lavina-prais__card-option-price {
	color: var(--lp-blue-600);
}

.lavina-prais__card-bottom {
	padding: 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: auto;
	border-top: 1px solid var(--lp-slate-100);
	background: var(--lp-slate-50);
}

.lavina-prais__card-price-label {
	font-size: 10px;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: var(--lp-slate-400);
}

.lavina-prais__card-price-value {
	font-size: 24px;
	font-weight: 900;
	color: var(--lp-slate-900);
}

.lavina-prais__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--lp-blue-600);
	color: #fff;
	border: 0;
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
	padding: 12px 20px;
	border-radius: 0;
	cursor: pointer;
	box-shadow: var(--lp-shadow-md);
	transition: background .2s ease, box-shadow .2s ease, transform .15s ease;
	text-decoration: none;
}

.lavina-prais__btn:hover {
	background: var(--lp-blue-500);
	box-shadow: var(--lp-shadow-lg);
}

.lavina-prais__btn:active {
	transform: translateY(1px);
}

.lavina-prais__btn--secondary {
	background: #fff;
	color: var(--lp-slate-700);
	border: 1px solid var(--lp-slate-200);
	box-shadow: none;
}

.lavina-prais__btn--secondary:hover {
	background: var(--lp-slate-100);
}

.lavina-prais__btn--block { width: 100%; }
.lavina-prais__btn--flex1 { flex: 1; }

/* ===== Стилизация кнопки «Сформировать чек заказа» ===== */
#lavina-prais-booking-form .lavina-prais__btn--primary {
	background: #004999;
	font-size: 13px;
	padding: 14px 24px;
	letter-spacing: 0.02em;
	box-shadow: 0 3px 8px rgba(0, 73, 153, .3);
	position: relative;
	overflow: hidden;
}

#lavina-prais-booking-form .lavina-prais__btn--primary:hover {
	background: #003d80;
	box-shadow: 0 6px 16px rgba(0, 73, 153, .4);
	transform: translateY(-1px);
}

#lavina-prais-booking-form .lavina-prais__btn--primary:active {
	transform: translateY(1px);
	box-shadow: 0 1px 3px rgba(0, 73, 153, .2);
}

#lavina-prais-booking-form .lavina-prais__btn--primary svg {
	transition: transform .2s ease;
}

#lavina-prais-booking-form .lavina-prais__btn--primary:hover svg {
	transform: translateX(3px);
}

/* === Цветовые схемы категорий === */

/* wheeled / default (blue) */
.lavina-prais__card--wheeled .lavina-prais__card-badge       { background: var(--lp-blue-50);    color: var(--lp-blue-700); }
.lavina-prais__card--wheeled .lavina-prais__card-icon-box    { background: var(--lp-blue-50);    color: var(--lp-blue-600); }
.lavina-prais__card--wheeled .lavina-prais__card-check       { color: var(--lp-blue-500); }

/* water (cyan) */
.lavina-prais__card--water .lavina-prais__card-badge         { background: var(--lp-cyan-100);   color: var(--lp-cyan-800); }
.lavina-prais__card--water .lavina-prais__card-icon-box      { background: var(--lp-cyan-50);    color: var(--lp-cyan-600); }
.lavina-prais__card--water .lavina-prais__card-check         { color: var(--lp-cyan-500); }
.lavina-prais__card--water .lavina-prais__card-bottom        { background: rgba(236, 254, 255, .2); border-top-color: rgba(207, 250, 254, .3); }
.lavina-prais__card--water:hover                             { border-color: var(--lp-cyan-200); }

/* tennis (тёмная — slate-900) */
.lavina-prais__card--tennis {
	background: var(--lp-slate-900);
	color: #fff;
	border-color: var(--lp-slate-800);
}
.lavina-prais__card--tennis:hover {
	border-color: rgba(51, 65, 85, .8);
}
.lavina-prais__card--tennis .lavina-prais__card-name         { color: #fff; }
.lavina-prais__card--tennis .lavina-prais__card-desc         { color: var(--lp-slate-400); }
.lavina-prais__card--tennis .lavina-prais__card-badge        { background: rgba(255, 255, 255, .1); color: #f1f5f9; }
.lavina-prais__card--tennis .lavina-prais__card-icon-box     { background: rgba(255, 255, 255, .1); color: #fff; }
.lavina-prais__card--tennis .lavina-prais__card-included     { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .05); }
.lavina-prais__card--tennis .lavina-prais__card-included-item { color: var(--lp-slate-300); }
.lavina-prais__card--tennis .lavina-prais__card-options-label,
.lavina-prais__card--tennis .lavina-prais__card-included-head { color: var(--lp-slate-400); }
.lavina-prais__card--tennis .lavina-prais__card-option-btn    { background: rgba(30, 41, 59, .4); color: var(--lp-slate-400); border-color: transparent; }
.lavina-prais__card--tennis .lavina-prais__card-option-btn:hover { background: rgba(30, 41, 59, .6); }
.lavina-prais__card--tennis .lavina-prais__card-option-btn.is-selected { background: rgba(255, 255, 255, .15); color: #fff; border-color: rgba(255, 255, 255, .2); box-shadow: var(--lp-shadow-sm); }
.lavina-prais__card--tennis .lavina-prais__card-option-btn.is-selected .lavina-prais__card-option-price { color: var(--lp-blue-400); }
.lavina-prais__card--tennis .lavina-prais__card-price-label  { color: var(--lp-slate-400); }
.lavina-prais__card--tennis .lavina-prais__card-price-value  { color: #fff; }
.lavina-prais__card--tennis .lavina-prais__card-bottom       { background: rgba(2, 6, 23, .4); border-top-color: rgba(30, 41, 59, .6); }

/* camping (emerald) */
.lavina-prais__card--camping .lavina-prais__card-badge       { background: var(--lp-emerald-100); color: var(--lp-emerald-700); }
.lavina-prais__card--camping .lavina-prais__card-icon-box    { background: var(--lp-emerald-50);  color: var(--lp-emerald-600); }
.lavina-prais__card--camping .lavina-prais__card-check       { color: var(--lp-emerald-500); }
.lavina-prais__card--camping .lavina-prais__card-bottom      { background: rgba(236, 253, 245, .2); border-top-color: rgba(209, 250, 229, .3); }
.lavina-prais__card--camping:hover                           { border-color: var(--lp-emerald-200); }

/* grill (amber) */
.lavina-prais__card--grill .lavina-prais__card-badge         { background: var(--lp-amber-100);   color: var(--lp-amber-800); }
.lavina-prais__card--grill .lavina-prais__card-icon-box      { background: var(--lp-amber-50);    color: var(--lp-amber-600); }
.lavina-prais__card--grill .lavina-prais__card-check         { color: var(--lp-amber-500); }
.lavina-prais__card--grill .lavina-prais__card-bottom        { background: rgba(255, 251, 235, .2); border-top-color: rgba(254, 243, 199, .3); }
.lavina-prais__card--grill:hover                             { border-color: var(--lp-amber-200); }

/* services (indigo) */
.lavina-prais__card--services {
	background: rgba(238, 242, 255, .4);
	border-color: var(--lp-indigo-100);
}
.lavina-prais__card--services:hover {
	border-color: var(--lp-indigo-200);
}
.lavina-prais__card--services .lavina-prais__card-badge      { background: var(--lp-indigo-100); color: var(--lp-indigo-700); }
.lavina-prais__card--services .lavina-prais__card-icon-box   { background: var(--lp-indigo-100); color: var(--lp-indigo-600); }
.lavina-prais__card--services .lavina-prais__card-check      { color: var(--lp-indigo-500); }
.lavina-prais__card--services .lavina-prais__card-bottom     { background: rgba(238, 242, 255, .2); border-top-color: rgba(199, 210, 254, .3); }

/* === List view (компактная карточка) === */
.lavina-prais__items--list .lavina-prais__card {
	flex-direction: row;
	align-items: center;
	padding: 20px;
	gap: 16px;
	flex-wrap: wrap;
}

.lavina-prais__items--list .lavina-prais__card-top {
	flex: 1;
	padding: 0;
	min-width: 240px;
	flex-direction: row;
	align-items: flex-start;
	gap: 16px;
}

.lavina-prais__items--list .lavina-prais__card-head {
	flex: 1;
}

.lavina-prais__items--list .lavina-prais__card-bottom {
	border-top: 0;
	background: transparent;
	padding: 0;
	margin-top: 0;
	flex-shrink: 0;
	gap: 12px;
}

/* ============== 5. STEPS / FAQ / PARTNERS / FOOTER CTA ============== */

.lavina-prais__steps-wrap {
	margin-top: 96px;
}

.lavina-prais__steps-head {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 48px;
}

.lavina-prais__steps-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	position: relative;
}

.lavina-prais__steps-line {
	display: none;
}

.lavina-prais__step-card {
	background: #fff;
	padding: 24px;
	border-radius: var(--lp-radius-3xl);
	border: 1px solid rgba(238, 242, 247, .6);
	box-shadow: var(--lp-shadow-sm);
	text-align: center;
	transition: box-shadow .3s ease;
	position: relative;
	z-index: 1;
}

.lavina-prais__step-card:hover {
	box-shadow: var(--lp-shadow-md);
}

.lavina-prais__step-num {
	width: 40px;
	height: 40px;
	border-radius: 0;
	background: var(--lp-blue-600);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 14px;
	margin: 0 auto 16px;
	border: 4px solid var(--lp-slate-50);
}

.lavina-prais__step-title {
	font-weight: 700;
	color: var(--lp-slate-900);
	font-size: 14px;
	margin: 0;
}

.lavina-prais__step-text {
	font-size: 12px;
	color: var(--lp-slate-500);
	margin: 8px 0 0;
	line-height: 1.6;
}

/* FAQ */
.lavina-prais__faq-wrap {
	margin-top: 96px;
	display: grid;
	grid-template-columns: 5fr 7fr;
	gap: 48px;
	align-items: flex-start;
}

.lavina-prais__faq-left {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.lavina-prais__safety-card {
	padding: 20px;
	background: #fff;
	border: 1px solid rgba(238, 242, 247, .6);
	border-radius: var(--lp-radius-3xl);
	display: flex;
	gap: 12px;
	align-items: flex-start;
	box-shadow: var(--lp-shadow-sm);
}

.lavina-prais__safety-icon {
	width: 36px;
	height: 36px;
	border-radius: var(--lp-radius-xl);
	background: var(--lp-emerald-50);
	color: var(--lp-emerald-700);
	border: 1px solid var(--lp-emerald-100);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.lavina-prais__safety-title {
	font-weight: 700;
	font-size: 14px;
	color: var(--lp-slate-900);
	margin: 0;
}

.lavina-prais__safety-text {
	font-size: 12px;
	color: var(--lp-slate-500);
	margin: 2px 0 0;
	line-height: 1.6;
}

.lavina-prais__faq-right {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.lavina-prais__faq-item {
	border: 1px solid rgba(238, 242, 247, .6);
	overflow: hidden;
	border-radius: var(--lp-radius-2xl);
	background: #fff;
	box-shadow: var(--lp-shadow-sm);
	transition: background .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.lavina-prais__faq-item.is-open {
	background: rgba(239, 246, 255, .2);
	border-color: rgba(191, 219, 254, .6);
	box-shadow: var(--lp-shadow-md);
}

.lavina-prais__faq-q {
	width: 100%;
	text-align: left;
	padding: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	font-weight: 700;
	font-size: 16px;
	font-family: inherit;
	color: var(--lp-slate-900);
	background: transparent;
	border: 0;
	cursor: pointer;
	transition: color .2s ease;
}

.lavina-prais__faq-q:hover {
	color: var(--lp-blue-600);
}

.lavina-prais__faq-chevron {
	color: var(--lp-slate-400);
	transition: transform .3s ease, color .3s ease;
	flex-shrink: 0;
	display: flex;
}

.lavina-prais__faq-item.is-open .lavina-prais__faq-chevron {
	transform: rotate(180deg);
	color: var(--lp-blue-600);
}

.lavina-prais__faq-a {
	border-top: 1px solid var(--lp-slate-100);
	background: rgba(255, 255, 255, .4);
	max-height: 0;
	overflow: hidden;
	transition: max-height .3s ease;
}

.lavina-prais__faq-item.is-open .lavina-prais__faq-a {
	max-height: 400px;
}

.lavina-prais__faq-a p {
	padding: 20px;
	font-size: 14px;
	color: var(--lp-slate-600);
	line-height: 1.6;
	margin: 0;
}

/* Partners */
.lavina-prais__partners-wrap {
	margin-top: 96px;
	padding-top: 48px;
	border-top: 1px solid var(--lp-slate-150);
}

.lavina-prais__partners-head {
	text-align: center;
	margin-bottom: 32px;
}

.lavina-prais__partners-head span {
	font-size: 10px;
	font-weight: 700;
	color: var(--lp-slate-400);
	text-transform: uppercase;
	letter-spacing: 0.15em;
}

.lavina-prais__partners-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 32px 64px;
	opacity: .7;
	filter: grayscale(1);
	transition: filter .3s ease, opacity .3s ease;
}

.lavina-prais__partners-grid:hover {
	filter: grayscale(0);
	opacity: 1;
}

.lavina-prais__partner {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-direction: column;
	text-align: center;
}

.lavina-prais__partner-emoji {
	font-size: 20px;
}

.lavina-prais__partner-text {
	display: flex;
	flex-direction: column;
	line-height: 1;
}

.lavina-prais__partner-name {
	font-size: 12px;
	font-weight: 800;
	color: var(--lp-slate-600);
	letter-spacing: -0.01em;
}

.lavina-prais__partner-sub {
	font-size: 8px;
	letter-spacing: 0.15em;
	color: var(--lp-slate-500);
}

/* Footer CTA */
.lavina-prais__footer-cta {
	background: #fff;
	border-top: 1px solid var(--lp-slate-100);
	padding: 48px 0;
	margin-top: 96px;
	text-align: center;
}

.lavina-prais__footer-cta-inner {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 16px;
}

.lavina-prais__footer-cta-title {
	font-size: 20px;
	font-weight: 900;
	color: var(--lp-slate-900);
	letter-spacing: -0.01em;
	margin: 0 0 8px;
}

.lavina-prais__footer-cta-text {
	font-size: 12px;
	color: var(--lp-slate-500);
	max-width: 480px;
	margin: 0 auto;
	line-height: 1.6;
}

.lavina-prais__footer-cta-actions {
	margin-top: 16px;
	display: flex;
	justify-content: center;
	gap: 12px;
}

.lavina-prais__footer-cta-btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	color: var(--lp-blue-600);
	font-weight: 700;
	background: var(--lp-blue-50);
	padding: 8px 16px;
	border-radius: 0;
	border: 1px solid rgba(191, 219, 254, .5);
	text-decoration: none;
	transition: background .2s ease, color .2s ease;
}

.lavina-prais__footer-cta-btn:hover {
	background: rgba(219, 234, 254, .8);
}

/* ============== 6. FLOATING CART + TOAST ============== */

.lavina-prais__cart-fab {
	position: fixed;
	bottom: 24px;
	left: 24px;
	z-index: 40;
	background: var(--lp-blue-600);
	color: #fff;
	border: 1px solid var(--lp-blue-400);
	padding: 18px 24px;
	border-radius: 0;
	box-shadow: var(--lp-shadow-xl);
	display: flex;
	align-items: center;
	gap: 12px;
	font-weight: 600;
	font-size: 14px;
	font-family: inherit;
	cursor: pointer;
	transition: background .2s ease, transform .15s ease;
}

.lavina-prais__cart-fab:hover {
	background: var(--lp-blue-500);
	transform: scale(1.05);
}

.lavina-prais__cart-fab-icon {
	position: relative;
	display: flex;
}

.lavina-prais__cart-fab-badge {
	position: absolute;
	top: -8px;
	right: -8px;
	background: var(--lp-red-500);
	color: #fff;
	font-size: 12px;
	width: 20px;
	height: 20px;
	border-radius: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	animation: lavinaPulse 2s infinite;
}

@keyframes lavinaPulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.1); }
}

/* ===== Кнопка «Смотреть расчёт» (правый нижний угол) ===== */
BUTTON.lavina-prais__view-calc-btn {
	position: fixed;
	bottom: 24px;
	right: 24px;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	background: #004999;
	color: #fff;
	border: 0;
	padding: 10px 16px;
	min-height: 36px;
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
	cursor: pointer;
	box-shadow: 0 3px 12px rgba(0, 73, 153, .35);
	transition: background .2s ease, box-shadow .2s ease;
	line-height: 1;
}

BUTTON.lavina-prais__view-calc-btn:hover {
	background: #003d80;
	box-shadow: 0 5px 16px rgba(0, 73, 153, .45);
}

BUTTON.lavina-prais__view-calc-btn:active {
	box-shadow: 0 1px 4px rgba(0, 73, 153, .2);
}

BUTTON.lavina-prais__view-calc-btn svg {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
}

BUTTON.lavina-prais__view-calc-btn span {
	white-space: nowrap;
	line-height: 1;
}

@media (max-width: 640px) {
	BUTTON.lavina-prais__view-calc-btn {
		right: 12px;
		bottom: 80px;
		padding: 8px 14px;
		font-size: 11px;
		gap: 5px;
		min-height: 32px;
	}
	BUTTON.lavina-prais__view-calc-btn svg {
		width: 12px;
		height: 12px;
	}
}

.lavina-prais__toast {
	position: fixed;
	bottom: 92px;
	left: 24px;
	z-index: 99999;
	background: #0b1929;
	color: #fff;
	padding: 16px 24px 16px 18px;
	border-radius: 0;
	box-shadow: 0 12px 32px rgba(0, 0, 0, .45), 0 4px 12px rgba(0, 0, 0, .3);
	display: flex;
	align-items: center;
	gap: 14px;
	border: 0;
	opacity: 0;
	transform: translateY(30px) scale(0.85);
	transition: opacity .35s cubic-bezier(0.22, 1, 0.36, 1), transform .35s cubic-bezier(0.22, 1, 0.36, 1);
	max-width: calc(100vw - 64px);
	font-size: 14px;
	font-weight: 600;
	pointer-events: none;
	border-left: 5px solid #10b981;
}

.lavina-prais__toast.is-visible {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.lavina-prais__toast-icon {
	background: #10b981;
	color: #fff;
	border-radius: 0;
	padding: 6px;
	display: flex;
	flex-shrink: 0;
	animation: lavinaCheckPop .4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes lavinaCheckPop {
	0%   { transform: scale(0); }
	60%  { transform: scale(1.25); }
	100% { transform: scale(1); }
}

.lavina-prais__toast-text {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 380px;
}

/* Mobile: тост на всю ширину слева */
@media (max-width: 640px) {
	.lavina-prais__toast {
		left: 12px;
		right: 12px;
		bottom: 80px;
		max-width: none;
		transform: translateY(30px) scale(0.85);
	}
	.lavina-prais__toast.is-visible {
		transform: translateY(0) scale(1);
	}
	.lavina-prais__toast-text {
		white-space: normal;
		max-width: none;
	}
}

/* Анимация подпрыгивания FAB при добавлении товара */
.lavina-prais__cart-fab.is-bumping {
	animation: lavinaFabBump 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes lavinaFabBump {
	0%   { transform: scale(1); }
	20%  { transform: scale(1.18) rotate(-4deg); }
	40%  { transform: scale(0.94) rotate(3deg); }
	60%  { transform: scale(1.08) rotate(-1deg); }
	80%  { transform: scale(0.98); }
	100% { transform: scale(1); }
}

/* ============== 7. DRAWER ============== */

.lavina-prais__drawer-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(15, 23, 42, .4);
	backdrop-filter: blur(4px);
		z-index: 100000;
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s ease;
}

.lavina-prais__drawer-backdrop.is-visible {
	opacity: 1;
	pointer-events: auto;
}

.lavina-prais__drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	max-width: 480px;
	background: #fff;
	box-shadow: var(--lp-shadow-xl);
		z-index: 100001;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transform: translateX(100%);
	transition: transform .35s cubic-bezier(0.22, 1, 0.36, 1);
}

.lavina-prais__drawer.is-open {
	transform: translateX(0);
}

.lavina-prais__drawer-header {
	padding: 24px;
	border-bottom: 1px solid var(--lp-slate-100);
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: rgba(248, 250, 252, .5);
}

.lavina-prais__drawer-header-left {
	display: flex;
	align-items: center;
	gap: 10px;
}

.lavina-prais__drawer-header-icon {
	width: 36px;
	height: 36px;
	border-radius: var(--lp-radius-xl);
	background: var(--lp-blue-600);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}

.lavina-prais__drawer-title {
	font-weight: 800;
	color: var(--lp-slate-900);
	font-size: 16px;
	margin: 0;
}

.lavina-prais__drawer-subtitle {
	font-size: 12px;
	color: var(--lp-slate-500);
	margin: 0;
}

.lavina-prais__drawer-close {
	color: var(--lp-slate-500);
	font-size: 12px;
	font-weight: 700;
	padding: 8px 14px;
	border-radius: var(--lp-radius-xl);
	background: #fff;
	border: 1px solid var(--lp-slate-200);
	box-shadow: var(--lp-shadow-sm);
	cursor: pointer;
	font-family: inherit;
	transition: color .2s ease, box-shadow .2s ease;
}

.lavina-prais__drawer-close:hover {
	color: var(--lp-slate-800);
	box-shadow: var(--lp-shadow-md);
}

.lavina-prais__drawer-body {
	flex: 1;
	overflow-y: auto;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.lavina-prais__drawer-empty {
	text-align: center;
	padding: 64px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.lavina-prais__drawer-empty-icon {
	width: 64px;
	height: 64px;
	border-radius: 0;
	background: var(--lp-slate-50);
	color: var(--lp-slate-400);
	display: flex;
	align-items: center;
	justify-content: center;
}

.lavina-prais__drawer-empty-title {
	font-weight: 700;
	color: var(--lp-slate-900);
	font-size: 14px;
	margin: 0;
}

.lavina-prais__drawer-empty-text {
	font-size: 12px;
	color: var(--lp-slate-400);
	max-width: 280px;
	line-height: 1.6;
	margin: 0;
}

/* Cart list */
.lavina-prais__cart-list-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.lavina-prais__cart-list-head > span {
	font-size: 12px;
	font-weight: 700;
	color: var(--lp-slate-400);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.lavina-prais__cart-clear {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: transparent;
	border: 0;
	color: var(--lp-red-500);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
	font-family: inherit;
	transition: color .2s ease;
}

.lavina-prais__cart-clear:hover {
	color: var(--lp-red-600);
}

.lavina-prais__cart-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.lavina-prais__cart-item {
	background: rgba(248, 250, 252, .8);
	border-radius: var(--lp-radius-xl);
	padding: 14px;
	border: 1px solid var(--lp-slate-100);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.lavina-prais__cart-item-info {
	flex: 1;
	min-width: 0;
}

.lavina-prais__cart-item-name {
	font-weight: 700;
	color: var(--lp-slate-900);
	font-size: 14px;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lavina-prais__cart-item-meta {
	font-size: 11px;
	color: var(--lp-slate-400);
	font-weight: 500;
}

.lavina-prais__cart-item-controls {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}

.lavina-prais__qty {
	display: flex;
	align-items: center;
	background: #fff;
	border: 1px solid var(--lp-slate-200);
	border-radius: var(--lp-radius-sm);
	overflow: hidden;
	padding: 2px;
}

.lavina-prais__qty button {
	background: transparent;
	border: 0;
	color: var(--lp-slate-500);
	padding: 4px;
	cursor: pointer;
	display: flex;
	font-family: inherit;
	transition: background .2s ease, color .2s ease;
}

.lavina-prais__qty button:hover {
	background: var(--lp-slate-50);
	color: var(--lp-slate-700);
}

.lavina-prais__qty-val {
	width: 24px;
	text-align: center;
	font-size: 12px;
	font-weight: 700;
	color: var(--lp-slate-800);
}

.lavina-prais__cart-item-total {
	width: 64px;
	text-align: right;
	font-size: 12px;
	font-weight: 700;
	color: var(--lp-slate-900);
}

.lavina-prais__cart-item-remove {
	background: transparent;
	border: 0;
	color: var(--lp-slate-300);
	padding: 4px;
	cursor: pointer;
	display: flex;
	font-family: inherit;
	transition: color .2s ease;
}

.lavina-prais__cart-item-remove:hover {
	color: var(--lp-red-500);
}

/* Totals */
.lavina-prais__cart-totals {
	background: rgba(248, 250, 252, .5);
	border-radius: var(--lp-radius-2xl);
	padding: 16px;
	border: 1px solid rgba(238, 242, 247, .6);
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 24px;
}

.lavina-prais__cart-total-row {
	display: flex;
	justify-content: space-between;
	font-size: 12px;
	color: var(--lp-slate-500);
}

.lavina-prais__cart-total-value {
	font-weight: 700;
	color: var(--lp-slate-700);
}

.lavina-prais__cart-discount {
	display: flex;
	justify-content: space-between;
	font-size: 12px;
	font-weight: 600;
	color: var(--lp-emerald-600);
	background: var(--lp-emerald-50);
	padding: 6px 8px;
	border-radius: var(--lp-radius);
	border: 1px solid var(--lp-emerald-100);
}

.lavina-prais__cart-total-final {
	border-top: 1px solid var(--lp-slate-100);
	padding-top: 10px;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}

.lavina-prais__cart-total-final > span:first-child {
	font-size: 14px;
	font-weight: 700;
	color: var(--lp-slate-800);
}

.lavina-prais__cart-total-final-value {
	font-size: 24px;
	font-weight: 900;
	color: var(--lp-slate-900);
}

/* Form */
.lavina-prais__form {
	display: flex;
	flex-direction: column;
	gap: 16px;
	border-top: 1px solid var(--lp-slate-100);
	padding-top: 20px;
	text-align: left;
}

.lavina-prais__form-title {
	font-weight: 700;
	font-size: 14px;
	color: var(--lp-slate-800);
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
}

.lavina-prais__form-row {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.lavina-prais__form-row--two {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.lavina-prais__form-label {
	font-size: 10px;
	font-weight: 700;
	color: var(--lp-slate-400);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.lavina-prais__form-input {
	width: 100%;
	background: var(--lp-slate-50);
	color: var(--lp-slate-800);
	font-size: 12px;
	font-family: inherit;
	padding: 10px 14px;
	border-radius: var(--lp-radius-xl);
	border: 1px solid var(--lp-slate-200);
	outline: none;
	transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.lavina-prais__form-input:focus {
	background: #fff;
	border-color: var(--lp-blue-500);
	box-shadow: 0 0 0 3px var(--lp-blue-100);
}

/* Checkbox */
.lavina-prais__form-checkbox {
	padding-top: 4px;
}

.lavina-prais__checkbox-label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-size: 12px;
	line-height: 1.4;
	color: var(--lp-slate-600);
	user-select: none;
	position: relative;
}

.lavina-prais__checkbox {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	pointer-events: none;
}

.lavina-prais__checkbox-mark {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border: 2px solid var(--lp-slate-300);
	background: #fff;
	flex-shrink: 0;
	transition: background .2s ease, border-color .2s ease;
}

.lavina-prais__checkbox:checked + .lavina-prais__checkbox-mark {
	background: #004999;
	border-color: #004999;
}

.lavina-prais__checkbox:checked + .lavina-prais__checkbox-mark::after {
	content: '';
	display: block;
	width: 5px;
	height: 9px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg) translateY(-1px);
}

.lavina-prais__checkbox-text {
	font-size: 11px;
	color: var(--lp-slate-500);
	line-height: 1.3;
}

/* Receipt */
.lavina-prais__receipt {
	background: var(--lp-slate-50);
	padding: 16px 20px;
	border-radius: var(--lp-radius-2xl);
	border: 1px solid var(--lp-slate-100);
	display: flex;
	flex-direction: column;
	gap: 16px;
	text-align: center;
	color: var(--lp-slate-800);
}

.lavina-prais__receipt-icon {
	width: 44px;
	height: 44px;
	border-radius: 0;
	background: var(--lp-emerald-50);
	color: var(--lp-emerald-700);
	border: 1px solid var(--lp-emerald-100);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}

.lavina-prais__receipt-title {
	font-weight: 800;
	color: var(--lp-slate-900);
	font-size: 14px;
	margin: 0;
}

.lavina-prais__receipt-text {
	font-size: 11px;
	color: var(--lp-slate-500);
	line-height: 1.6;
	max-width: 380px;
	margin: 0 auto;
}

.lavina-prais__receipt-code {
	background: #fff;
	padding: 14px;
	border-radius: var(--lp-radius-2xl);
	border: 1px solid var(--lp-slate-150);
	text-align: left;
	overflow-x: auto;
	font-size: 11px;
	font-family: 'JetBrains Mono', ui-monospace, monospace;
	white-space: pre-wrap;
	max-height: 240px;
	overflow-y: auto;
	color: var(--lp-slate-600);
}

.lavina-prais__receipt-actions {
	display: flex;
	gap: 8px;
	padding-top: 8px;
	flex-wrap: wrap;
}

.lavina-prais__send-block {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-top: 4px;
}

.lavina-prais__btn--send {
	background: #16a34a;
	color: #fff;
}

.lavina-prais__btn--send:hover {
	background: #15803d;
}

.lavina-prais__btn--send.is-loading {
	pointer-events: none;
	opacity: .7;
}

.lavina-prais__send-status {
	font-size: 11px;
	padding: 8px 12px;
	border-radius: 0;
	text-align: center;
	line-height: 1.5;
}

.lavina-prais__send-status.is-success {
	background: #f0fdf4;
	color: #166534;
	border: 1px solid #bbf7d0;
}

.lavina-prais__send-status.is-error {
	background: #fef2f2;
	color: #991b1b;
	border: 1px solid #fecaca;
}

.lavina-prais__drawer-footer {
	padding: 16px;
	background: var(--lp-slate-50);
	border-top: 1px solid var(--lp-slate-100);
	text-align: center;
}

.lavina-prais__drawer-footer p {
	font-size: 10px;
	color: var(--lp-slate-400);
	margin: 0;
}

/* ============== 8. Summary callout ============== */

.lavina-prais__summary-callout {
	background: var(--lp-slate-900);
	color: #fff;
	border-radius: var(--lp-radius-3xl);
	padding: 28px;
	box-shadow: var(--lp-shadow-xl);
	border: 1px solid var(--lp-slate-800);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}

.lavina-prais__summary-left {
	display: flex;
	align-items: center;
	gap: 16px;
}

.lavina-prais__summary-icon {
	width: 48px;
	height: 48px;
	border-radius: var(--lp-radius-2xl);
	background: rgba(59, 130, 246, .1);
	color: var(--lp-blue-400);
	border: 1px solid rgba(59, 130, 246, .2);
	display: flex;
	align-items: center;
	justify-content: center;
}

.lavina-prais__summary-title {
	font-weight: 700;
	font-size: 16px;
	margin: 0;
	color: #fff;
}

.lavina-prais__summary-text {
	font-size: 12px;
	color: var(--lp-slate-400);
	margin: 0;
}

.lavina-prais__summary-count {
	font-weight: 700;
	color: #fff;
	background: var(--lp-slate-800);
	padding: 2px 10px;
	border-radius: var(--lp-radius-sm);
}

.lavina-prais__summary-right {
	display: flex;
	align-items: center;
	gap: 24px;
}

.lavina-prais__summary-total-label {
	font-size: 10px;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: var(--lp-slate-400);
}

.lavina-prais__summary-total-value {
	font-size: 24px;
	font-weight: 900;
	color: var(--lp-blue-400);
}

/* ============== АДАПТИВ ============== */

@media (max-width: 1024px) {
	.lavina-prais__hero-title { font-size: 48px; }
	.lavina-prais__layout { grid-template-columns: 1fr; }
	.lavina-prais__filter-box { position: static; }
	.lavina-prais__steps-grid { grid-template-columns: repeat(2, 1fr); }
	.lavina-prais__faq-wrap { grid-template-columns: 1fr; gap: 32px; }
}

@media (max-width: 768px) {
	.lavina-prais__hero-inner { padding: 32px 16px 40px; }
	.lavina-prais__hero-title { font-size: 36px; }
	.lavina-prais__hero-header { gap: 16px; margin-bottom: 32px; }
	.lavina-prais__stats-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.lavina-prais__stat-card { padding: 16px; }
	.lavina-prais__main { padding-top: 32px; }
	.lavina-prais__items--grid { grid-template-columns: 1fr; }
	.lavina-prais__steps-grid { grid-template-columns: 1fr; }
	.lavina-prais__section-title { font-size: 24px; }
	.lavina-prais__steps-wrap, .lavina-prais__faq-wrap, .lavina-prais__partners-wrap { margin-top: 56px; }
	.lavina-prais__footer-cta { margin-top: 56px; padding: 32px 0; }
	.lavina-prais__cart-fab { padding: 14px 18px; font-size: 13px; }
	.lavina-prais__cart-fab-text { display: none; }
	.lavina-prais__summary-callout { padding: 20px; }
	.lavina-prais__summary-right { width: 100%; justify-content: space-between; }
	.lavina-prais__form-row--two { grid-template-columns: 1fr; }
	.lavina-prais__filter-bar { flex-direction: column; align-items: stretch; }
	.lavina-prais__partners-grid { gap: 24px 32px; }
}

@media (max-width: 480px) {
	.lavina-prais__hero-title { font-size: 32px; }
	.lavina-prais__stats-grid { grid-template-columns: 1fr; }
	.lavina-prais__card-included-grid { grid-template-columns: 1fr; }
	.lavina-prais__card-options-grid { grid-template-columns: 1fr; }
	.lavina-prais__drawer { max-width: 100%; }
}

/* ============== СКРЫТИЕ TITLE ТЕМЫ ============== */

/* Убираем стандартный заголовок страницы темы wescle, чтобы не было дубля с нашим H1. */
body.lavina-prais-hide-theme-title .entry-title,
body.lavina-prais-hide-theme-title .page-title,
body.lavina-prais-hide-theme-title h1.entry-title {
	display: none !important;
}
