/* =========================================================
   Voniko — Landing Page
   Paleta: branco + azul da marca. Estilo minimalista.
   Tudo escopado em .vk para não conflitar com o tema.
   ========================================================= */

.vk {
	--vk-blue: #0167d5;
	--vk-blue-dark: #0154ab;
	--vk-blue-light: #1fa3ff;
	--vk-blue-50: #eff6ff;
	--vk-blue-100: #dceaf9;
	--vk-navy: #06254a;
	--vk-navy-deep: #041a35;

	--vk-ink: #0c1a2b;
	--vk-body: #45566a;
	--vk-muted: #7b8a9c;
	--vk-line: #e5ebf3;
	--vk-line-soft: #eef2f7;
	--vk-surface: #f6f9fc;
	--vk-white: #fff;

	--vk-radius: 20px;
	--vk-radius-sm: 12px;
	--vk-shadow-sm: 0 1px 2px rgba(12, 26, 43, .05), 0 6px 20px -12px rgba(12, 26, 43, .18);
	--vk-shadow: 0 2px 6px rgba(12, 26, 43, .05), 0 24px 60px -28px rgba(1, 103, 213, .3);

	/* Fonte da marca. Se a máquina tiver a Futura instalada ela é usada;
	   caso contrário entra a Jost, desenhada a partir da Futura, e por
	   último Helvetica. */
	--vk-font: "Futura BT", "Futura PT", Futura, "Jost", "Century Gothic", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--vk-gap: clamp(28px, 5vw, 56px);
	--vk-section-y: clamp(64px, 8vw, 120px);

	font-family: var(--vk-font);
	color: var(--vk-body);
	background: var(--vk-white);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* --------- reset local ---------
   Os seletores de elemento ficam dentro de :where() para não somar
   especificidade — assim as classes .vk-* sempre vencem o reset,
   mesmo estando escritas depois dele. */
.vk *,
.vk *::before,
.vk *::after { box-sizing: border-box; }

.vk :where(h1, h2, h3, h4, p, ul, li, dl, dt, dd, figure) {
	margin: 0;
	padding: 0;
}

.vk :where(ul) { list-style: none; }

.vk :where(img) {
	max-width: 100%;
	height: auto;
	display: block;
}

.vk :where(a) {
	color: inherit;
	text-decoration: none;
}

.vk :where(button) {
	font: inherit;
	color: inherit;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
}

.vk :where(input, select, textarea) { font: inherit; }

/* Temas de blocos (Twenty Twenty-Five e afins) aplicam a própria fonte
   diretamente em h1..h6 e vencem a herança. Este reforço garante a fonte
   da marca em toda a landing, seja qual for o tema ativo. */
.vk,
.vk * { font-family: var(--vk-font) !important; }

.vk :focus-visible {
	outline: 2px solid var(--vk-blue);
	outline-offset: 3px;
	border-radius: 4px;
}

.voniko-landing-body {
	margin: 0;
	padding: 0;
	background: #fff;
}

.vk-wrap {
	width: min(1180px, 100% - clamp(32px, 6vw, 80px));
	margin-inline: auto;
}

/* =========================================================
   Tipografia comum
   ========================================================= */
.vk-eyebrow {
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--vk-blue);
	margin-bottom: 14px !important;
}

.vk-eyebrow--light { color: #8ec8ff; }

.vk-h2 {
	font-size: clamp(1.9rem, 3.4vw, 2.9rem);
	line-height: 1.16;
	letter-spacing: -.014em;
	font-weight: 800;
	color: var(--vk-ink);
}

.vk-h2--light { color: #fff; }

.vk-lead {
	font-size: clamp(1.02rem, 1.35vw, 1.16rem);
	color: var(--vk-body);
	margin-top: 20px !important;
	max-width: 54ch;
}

.vk-p {
	margin-top: 18px !important;
	max-width: 58ch;
}

.vk-p--light { color: rgba(255, 255, 255, .78); }

.vk-section { padding-block: var(--vk-section-y); }

.vk-section__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .8fr);
	gap: clamp(20px, 4vw, 64px);
	align-items: end;
	margin-bottom: clamp(36px, 5vw, 60px);
}

.vk-section__head--center {
	grid-template-columns: 1fr;
	text-align: center;
	justify-items: center;
	max-width: 700px;
	margin-inline: auto;
}

.vk-section__desc {
	color: var(--vk-muted);
	font-size: 1rem;
	padding-bottom: 6px;
}

/* =========================================================
   Botões e links
   ========================================================= */
.vk-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px 28px;
	border-radius: 999px;
	font-size: .96rem;
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
	white-space: nowrap;
}

.vk-btn svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform .18s ease;
}

.vk-btn:hover svg { transform: translateX(3px); }

.vk-btn--primary {
	background: var(--vk-blue);
	color: #fff;
	box-shadow: 0 10px 24px -12px rgba(1, 103, 213, .75);
}

.vk-btn--primary:hover {
	background: var(--vk-blue-dark);
	transform: translateY(-1px);
}

.vk-btn--ghost {
	background: #fff;
	color: var(--vk-ink);
	border: 1px solid var(--vk-line);
}

.vk-btn--ghost:hover {
	border-color: var(--vk-blue);
	color: var(--vk-blue);
}

.vk-btn--sm { padding: 11px 20px; font-size: .875rem; }
.vk-btn--lg { padding: 18px 34px; font-size: 1rem; }
.vk-btn--block { width: 100%; }
.vk-btn[disabled] { opacity: .6; pointer-events: none; }

.vk-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 26px;
	font-weight: 700;
	color: var(--vk-blue);
	font-size: .95rem;
}

.vk-link svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform .18s ease;
}

.vk-link:hover svg { transform: translateX(4px); }

.vk-link--inline {
	margin: 0;
	padding: 0;
	font-size: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}

/* =========================================================
   Header
   ========================================================= */
.vk-header {
	position: sticky;
	top: 0;
	z-index: 60;
	background: rgba(255, 255, 255, .82);
	backdrop-filter: saturate(180%) blur(14px);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	border-bottom: 1px solid transparent;
	transition: border-color .25s ease, box-shadow .25s ease;
}

.vk-header.is-stuck {
	border-bottom-color: var(--vk-line-soft);
	box-shadow: 0 1px 24px -14px rgba(12, 26, 43, .4);
}

.vk-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 76px;
}

.vk-header__logo img {
	width: 126px;
	height: auto;
}

.vk-nav {
	display: flex;
	align-items: center;
	gap: clamp(18px, 2.2vw, 34px);
	margin-inline: auto;
}

.vk-nav a {
	font-size: .92rem;
	font-weight: 600;
	color: var(--vk-body);
	position: relative;
	padding-block: 6px;
	transition: color .18s ease;
}

.vk-nav a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 2px;
	border-radius: 2px;
	background: var(--vk-blue);
	transition: width .22s ease;
}

.vk-nav a:hover { color: var(--vk-ink); }
.vk-nav a:hover::after { width: 100%; }

.vk-header__actions {
	display: flex;
	align-items: center;
	gap: 12px;
}

.vk-burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	border: 1px solid var(--vk-line);
	padding: 0 11px;
}

.vk-burger span {
	display: block;
	height: 2px;
	border-radius: 2px;
	background: var(--vk-ink);
	transition: transform .22s ease, opacity .18s ease;
}

.vk-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.vk-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.vk-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* =========================================================
   Hero
   ========================================================= */
.vk-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(48px, 7vw, 96px) clamp(56px, 8vw, 110px);
	background:
		radial-gradient(120% 100% at 82% 18%, rgba(31, 163, 255, .13) 0%, rgba(31, 163, 255, 0) 58%),
		linear-gradient(180deg, #fbfdff 0%, #fff 62%);
}

.vk-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
}

.vk-hero__title {
	font-size: clamp(2.6rem, 6vw, 4.4rem);
	line-height: 1.05;
	letter-spacing: -.022em;
	font-weight: 800;
	color: var(--vk-ink);
}

.vk-hero__title span {
	color: var(--vk-blue);
	display: block;
}

.vk-hero__text {
	margin-top: 24px !important;
	font-size: clamp(1.03rem, 1.4vw, 1.19rem);
	max-width: 50ch;
	color: var(--vk-body);
}

.vk-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 36px;
}

.vk-hero__marks {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
	margin-top: 40px !important;
	padding-top: 26px;
	border-top: 1px solid var(--vk-line-soft);
}

.vk-hero__marks li {
	position: relative;
	padding-left: 22px;
	font-size: .875rem;
	font-weight: 600;
	color: var(--vk-muted);
}

.vk-hero__marks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 13px;
	height: 13px;
	margin-top: -6.5px;
	border-radius: 50%;
	background: var(--vk-blue-50);
	box-shadow: inset 0 0 0 2px var(--vk-blue);
}

/* --------- carrossel 3D das embalagens --------- */
.vk-hero__media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.vk-hero__glow {
	position: absolute;
	top: 42%;
	left: 50%;
	width: clamp(280px, 32vw, 430px);
	aspect-ratio: 1;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(31, 163, 255, .16) 0%, rgba(31, 163, 255, .04) 45%, rgba(31, 163, 255, 0) 70%);
	pointer-events: none;
}

.vk-stage {
	/* deslocamento lateral das embalagens vizinhas (ajustado no responsivo) */
	--vk-off: 92%;
	--vk-off-far: 124%;

	position: relative;
	width: 100%;
	height: clamp(340px, 40vw, 500px);
	perspective: 1500px;
	perspective-origin: 50% 45%;
	/* permite rolar a página verticalmente e arrastar o carrossel na horizontal */
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.vk-stage__track {
	position: absolute;
	inset: 0 0 84px;
	transform-style: preserve-3d;
}

/* Cada embalagem ocupa uma moldura de tamanho fixo. Como os produtos têm
   proporções muito diferentes (a cartela de CR2032 é bem mais alta que a de
   pilhas AA), a imagem se ajusta dentro da moldura em vez de esticar o layout
   e invadir o texto. */
.vk-slide {
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: clamp(150px, 18vw, 240px);
	height: clamp(230px, 27vw, 340px);
	margin: 0;
	transform: translate(-50%, -50%);
	transform-origin: 50% 50%;
	transition: transform 1s cubic-bezier(.22, .72, .18, 1), opacity .8s ease;
	will-change: transform, opacity;
	backface-visibility: hidden;
}

.vk-slide img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 26px 34px rgba(6, 37, 74, .16));
	transition: filter .8s ease;
}

.vk-slide.is-active img {
	filter: drop-shadow(0 40px 52px rgba(6, 37, 74, .24));
	animation: vkFloat 7s ease-in-out infinite;
}

@keyframes vkFloat {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-11px); }
}

/* reflexo discreto sob a embalagem em destaque */
.vk-stage::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 74px;
	width: clamp(150px, 17vw, 230px);
	height: 16px;
	transform: translateX(-50%);
	border-radius: 50%;
	background: radial-gradient(ellipse, rgba(6, 37, 74, .16) 0%, rgba(6, 37, 74, 0) 72%);
	pointer-events: none;
}

.vk-stage__caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 34px;
	margin: 0;
	text-align: center;
}

.vk-stage__caption strong {
	display: block;
	font-size: .98rem;
	font-weight: 800;
	letter-spacing: -.015em;
	color: var(--vk-ink);
}

.vk-stage__caption span {
	display: block;
	margin-top: 3px;
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--vk-blue);
}

.vk-stage__caption.is-swapping strong,
.vk-stage__caption.is-swapping span {
	opacity: 0;
	transition: opacity .18s ease;
}

.vk-stage__caption strong,
.vk-stage__caption span {
	transition: opacity .4s ease .1s;
}

.vk-stage__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	gap: 7px;
}

.vk-dot {
	width: 7px;
	height: 7px;
	padding: 0;
	border-radius: 999px;
	background: #cddcec;
	transition: width .35s ease, background-color .35s ease;
}

.vk-dot:hover { background: #a9c4e0; }

.vk-dot.is-active {
	width: 26px;
	background: var(--vk-blue);
}

/* =========================================================
   Pilares
   ========================================================= */
.vk-pillars {
	padding-block: clamp(40px, 5vw, 64px);
	border-block: 1px solid var(--vk-line-soft);
	background: var(--vk-surface);
}

.vk-pillars__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(20px, 3vw, 40px);
}

.vk-pillar h3 {
	font-size: 1rem;
	font-weight: 700;
	color: var(--vk-ink);
	margin-top: 16px !important;
	letter-spacing: -.012em;
}

.vk-pillar p {
	font-size: .9rem;
	color: var(--vk-muted);
	margin-top: 7px !important;
	line-height: 1.55;
}

.vk-pillar__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background: #fff;
	color: var(--vk-blue);
	box-shadow: var(--vk-shadow-sm);
}

/* =========================================================
   A marca
   ========================================================= */
.vk-about__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
	gap: clamp(36px, 6vw, 84px);
	align-items: center;
}

.vk-about__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.vk-stat {
	padding: clamp(22px, 2.6vw, 32px);
	border-radius: var(--vk-radius);
	border: 1px solid var(--vk-line);
	background: #fff;
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.vk-stat:hover {
	border-color: var(--vk-blue-100);
	transform: translateY(-2px);
	box-shadow: var(--vk-shadow-sm);
}

.vk-stat--wide { grid-column: 1 / -1; }

.vk-stat strong {
	display: block;
	font-size: clamp(2.1rem, 3.6vw, 2.9rem);
	line-height: 1;
	font-weight: 800;
	letter-spacing: -.04em;
	color: var(--vk-blue);
}

.vk-stat span {
	display: block;
	margin-top: 12px;
	font-size: .88rem;
	color: var(--vk-muted);
	line-height: 1.5;
}

/* =========================================================
   Produtos
   ========================================================= */
.vk-products { background: var(--vk-surface); }

.vk-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: clamp(28px, 3.5vw, 40px);
}

.vk-chip {
	padding: 10px 22px;
	border-radius: 999px;
	border: 1px solid var(--vk-line);
	background: #fff;
	font-size: .875rem;
	font-weight: 600;
	color: var(--vk-body);
	transition: all .18s ease;
}

.vk-chip:hover { border-color: var(--vk-blue-100); color: var(--vk-blue); }

.vk-chip.is-active {
	background: var(--vk-blue);
	border-color: var(--vk-blue);
	color: #fff;
}

.vk-grid {
	display: grid;
	gap: clamp(16px, 2vw, 24px);
}

.vk-grid--products { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.vk-card {
	display: flex;
	flex-direction: column;
	border-radius: var(--vk-radius);
	border: 1px solid var(--vk-line);
	background: #fff;
	overflow: hidden;
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.vk-card:hover {
	border-color: var(--vk-blue-100);
	transform: translateY(-3px);
	box-shadow: var(--vk-shadow);
}

.vk-card.is-hidden { display: none; }

.vk-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 26px 22px 18px;
	background: linear-gradient(180deg, #fafcff 0%, #fff 100%);
	min-height: 210px;
}

/* Botão de adição também na página inicial.
 * O catálogo já carregava esta regra em catalog.css; a landing usa apenas
 * landing.css, portanto o botão ficava como um pequeno sinal de + sem estilo. */
.vk-card__media { position: relative; }

.vk-card__add {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 8;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid rgba(1, 103, 213, .13);
	border-radius: 15px;
	background: rgba(255, 255, 255, .96);
	color: var(--vk-blue-dark);
	font-family: inherit;
	font-size: 1.65rem;
	font-weight: 400;
	line-height: 1;
	box-shadow: 0 12px 28px -16px rgba(6, 37, 74, .5);
	cursor: pointer;
	transition: color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.vk-card__add:hover,
.vk-card__add:focus-visible {
	transform: translateY(-2px) scale(1.03);
	background: var(--vk-blue);
	color: #fff;
	box-shadow: 0 14px 30px -14px rgba(1, 103, 213, .7);
}

.vk-card__add.is-added {
	background: #e9f7ee;
	border-color: #bfe4ca;
	color: #23703c;
	transform: scale(1.05);
}

.vk-card__media img {
	width: auto;
	max-height: 180px;
	object-fit: contain;
	filter: drop-shadow(0 14px 20px rgba(6, 37, 74, .12));
	transition: transform .3s ease;
}

.vk-card:hover .vk-card__media img { transform: translateY(-4px) scale(1.02); }

.vk-card__body {
	padding: 4px 22px 24px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.vk-card__title {
	font-size: 1.06rem;
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--vk-ink);
}

.vk-card__code {
	margin-top: 3px !important;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--vk-blue);
}

.vk-card__desc-wrap {
	flex: 1;
	margin-top: 12px;
}

.vk-card__desc {
	margin-top: 0 !important;
	font-size: .875rem;
	line-height: 1.55;
	color: var(--vk-muted);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}

.vk-card__desc.is-expanded {
	display: block;
	overflow: visible;
}

.vk-card__desc-toggle {
	display: inline-flex;
	align-items: center;
	margin-top: 7px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--vk-blue-dark);
	font-family: inherit;
	font-size: .76rem;
	font-weight: 800;
	line-height: 1.3;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.vk-card__desc-toggle:hover,
.vk-card__desc-toggle:focus-visible {
	color: var(--vk-blue);
}

.vk-card__desc-toggle[hidden] { display: none; }

.vk-card__packs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 18px !important;
	padding-top: 16px;
	border-top: 1px solid var(--vk-line-soft);
}

.vk-card__packs li {
	padding: 5px 11px;
	border-radius: 8px;
	background: var(--vk-blue-50);
	color: var(--vk-blue-dark);
	font-size: .74rem;
	font-weight: 700;
}

.vk-products__note {
	margin-top: clamp(28px, 3vw, 40px) !important;
	font-size: .92rem;
	color: var(--vk-muted);
	text-align: center;
}

/* Condição comercial compacta para visitantes sem preço liberado — v1.8.10 */
.vk-card__public-commerce {
	display: grid;
	gap: 7px;
	margin-top: 18px;
	padding: 14px 15px;
	border: 1px solid var(--vk-blue-100);
	border-radius: 14px;
	background: var(--vk-blue-50);
}

.vk-card__public-box {
	display: block;
	font-size: .8rem;
	line-height: 1.35;
	font-weight: 850;
	color: var(--vk-blue-dark);
}

.vk-card__public-price {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: .76rem;
	line-height: 1.4;
	font-weight: 800;
	color: var(--vk-ink-soft, var(--vk-muted));
}

.vk-card__public-price svg {
	flex: 0 0 auto;
	color: var(--vk-blue);
}

.vk-card__public-commerce small {
	display: block;
	font-size: .7rem;
	line-height: 1.35;
	color: var(--vk-muted);
}

@media (max-width: 560px) {
	.vk-card__public-commerce {
		gap: 6px;
		padding: 12px;
		border-radius: 13px;
	}

	.vk-card__public-box { font-size: .74rem; }
	.vk-card__public-price { font-size: .7rem; }
	.vk-card__public-commerce small { font-size: .65rem; }
}

/* =========================================================
   Aplicações — container com imagens / coverflow mobile
   ========================================================= */
.vk-uses-container {
	--vk-blue: #076bd7;
	--vk-blue-50: #eef6ff;
	--vk-blue-100: #cce3fb;
	--vk-ink: #0c1a2b;
	--vk-line: #e2e9f0;
	--vk-radius: 18px;
	color: var(--vk-ink);
	margin-top: clamp(38px, 5vw, 64px);
}

.vk-cf { display: none; }

.vk-use-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.vk-use-grid li { min-width: 0; }

.vk-use-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-height: 100%;
	border: 1px solid var(--vk-line);
	border-radius: var(--vk-radius);
	background: #fff;
	padding: 28px 16px 22px;
	text-align: center;
	text-decoration: none;
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.vk-use-card:hover {
	border-color: var(--vk-blue-100);
	transform: translateY(-3px);
	box-shadow: 0 8px 28px -12px rgb(1 103 213 / 18%);
}

.vk-use-card__img-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 1;
	margin-bottom: 14px;
	padding: 6px;
}

.vk-use-card__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.vk-use-card__label,
.vk-cf__label {
	color: var(--vk-ink);
	font-size: .9rem;
	font-weight: 700;
	line-height: 1.3;
}

.vk-use-card__battery,
.vk-cf__battery {
	margin-top: 4px;
	color: var(--vk-blue);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .04em;
}

@media (max-width: 767px) {
	.vk-uses .vk-wrap {
		padding-inline: clamp(18px, 5vw, 26px);
	}

	.vk-uses-container { margin-top: 28px; }
	.vk-use-grid { display: none; }

	.vk-cf {
		display: block;
		width: 100%;
		overflow: hidden;
		padding: 10px 0 0;
		user-select: none;
		-webkit-user-select: none;
	}

	.vk-cf__stage {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 300px;
		perspective: 1100px;
		perspective-origin: 50% 50%;
		cursor: grab;
		touch-action: pan-y;
	}

	.vk-cf__stage:active { cursor: grabbing; }

	.vk-cf__card {
		position: absolute;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-end;
		width: min(220px, 58vw);
		height: 270px;
		overflow: hidden;
		border: 1px solid rgb(1 103 213 / 10%);
		border-radius: 22px;
		background: #fff;
		padding-bottom: 18px;
		box-shadow: 0 8px 32px -10px rgb(12 26 43 / 14%);
		text-decoration: none;
		transition: transform .48s cubic-bezier(.25,.8,.25,1), opacity .38s ease, border-color .2s ease;
		will-change: transform, opacity;
		backface-visibility: hidden;
		-webkit-backface-visibility: hidden;
		opacity: 0;
		pointer-events: none;
	}

	.vk-cf__card:first-child {
		opacity: 1;
		z-index: 20;
		pointer-events: auto;
	}

	.vk-cf__card:focus-visible {
		outline: 2px solid var(--vk-blue);
		outline-offset: 3px;
	}

	.vk-cf__img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 72%;
		object-fit: contain;
		padding: 16px 20px 0;
		pointer-events: none;
	}

	.vk-cf__info {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		gap: 2px;
		padding: 0 12px;
		text-align: center;
	}

	.vk-cf__controls {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 14px;
		margin-top: 18px;
	}

	.vk-cf__arrow {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		flex-shrink: 0;
		border: 1.5px solid var(--vk-line);
		border-radius: 50%;
		background: #fff;
		color: var(--vk-ink);
		cursor: pointer;
		transition: border-color .2s ease, color .2s ease, box-shadow .2s ease;
	}

	.vk-cf__arrow:hover,
	.vk-cf__arrow:focus-visible {
		border-color: var(--vk-blue);
		color: var(--vk-blue);
		box-shadow: 0 6px 20px -12px rgba(1, 103, 213, .55);
	}

	.vk-cf__arrow svg {
		width: 18px;
		height: 18px;
		fill: none;
		stroke: currentColor;
		stroke-linecap: round;
		stroke-linejoin: round;
		stroke-width: 2;
	}

	.vk-cf__dots {
		display: flex;
		align-items: center;
		gap: 6px;
	}

	.vk-cf__dot {
		width: 7px;
		height: 7px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: var(--vk-line);
		cursor: pointer;
		transition: background .2s ease, transform .2s ease;
	}

	.vk-cf__dot.is-active {
		background: var(--vk-blue);
		transform: scale(1.3);
	}

	.vk-cf__current-label {
		margin: 12px 0 0 !important;
		text-align: center;
	}

	.vk-cf__current-label a {
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		gap: 2px;
		color: var(--vk-ink);
		font-size: .95rem;
		font-weight: 700;
		text-decoration: none;
	}

	.vk-cf__current-label a small {
		color: var(--vk-blue);
		font-size: .75rem;
		font-weight: 600;
		letter-spacing: .04em;
	}
}

@media (max-width: 390px) {
	.vk-cf__stage { height: 285px; }
	.vk-cf__card {
		width: min(210px, 62vw);
		height: 258px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.vk-cf__card,
	.vk-use-card { transition: none; }
}

/* =========================================================
   Qualidade (faixa escura)
   ========================================================= */
.vk-quality {
	background:
		radial-gradient(110% 90% at 88% 12%, rgba(31, 163, 255, .22) 0%, rgba(31, 163, 255, 0) 55%),
		linear-gradient(150deg, var(--vk-navy) 0%, var(--vk-navy-deep) 100%);
	color: #fff;
}

.vk-quality__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
	gap: clamp(36px, 6vw, 80px);
	align-items: center;
}

.vk-checks {
	display: grid;
	gap: 14px;
	margin-top: 34px !important;
}

.vk-checks li {
	position: relative;
	padding-left: 34px;
	font-size: .96rem;
	color: rgba(255, 255, 255, .88);
}

.vk-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 21px;
	height: 21px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .1);
	box-shadow: inset 0 0 0 1px rgba(142, 200, 255, .45);
}

.vk-checks li::after {
	content: "";
	position: absolute;
	left: 7px;
	top: 8px;
	width: 8px;
	height: 4px;
	border-left: 1.8px solid #8ec8ff;
	border-bottom: 1.8px solid #8ec8ff;
	transform: rotate(-45deg);
}

.vk-quality__seals {
	display: grid;
	gap: 16px;
}

.vk-seal {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 24px 26px;
	border-radius: var(--vk-radius);
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .12);
	backdrop-filter: blur(6px);
}

.vk-seal img {
	width: 54px;
	height: auto;
	flex: none;
	filter: brightness(0) invert(1);
	opacity: .92;
}

.vk-seal span {
	font-size: .9rem;
	font-weight: 600;
	line-height: 1.45;
	color: rgba(255, 255, 255, .84);
}

/* =========================================================
   Parceiro / CTA
   ========================================================= */
.vk-partner { background: var(--vk-surface); }

.vk-partner__box {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: center;
	padding: clamp(34px, 5vw, 68px);
	border-radius: clamp(24px, 3vw, 34px);
	background: #fff;
	border: 1px solid var(--vk-line);
	box-shadow: var(--vk-shadow);
	overflow: hidden;
}

.vk-partner__box::before {
	content: "";
	position: absolute;
	right: -8%;
	top: -30%;
	width: 60%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(31, 163, 255, .12) 0%, rgba(31, 163, 255, 0) 68%);
	pointer-events: none;
}

.vk-partner__text { position: relative; }

.vk-partner__text .vk-btn { margin-top: clamp(28px, 3.4vw, 40px); }

.vk-partner__hint {
	margin-top: 14px !important;
	font-size: .82rem;
	color: var(--vk-muted);
}

.vk-partner__media {
	position: relative;
	display: flex;
	justify-content: center;
}

.vk-partner__media img {
	width: clamp(200px, 24vw, 300px);
	filter: drop-shadow(0 26px 36px rgba(6, 37, 74, .18));
}

/* =========================================================
   Footer
   ========================================================= */
.vk-footer {
	background: var(--vk-navy-deep);
	color: rgba(255, 255, 255, .72);
	padding-top: clamp(48px, 6vw, 76px);
}

.vk-footer__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: clamp(32px, 5vw, 64px);
	padding-bottom: clamp(36px, 4vw, 52px);
}

.vk-footer__brand img {
	width: 168px;
	height: auto;
}

.vk-footer__brand p {
	margin-top: 20px !important;
	font-size: .92rem;
	max-width: 40ch;
	line-height: 1.6;
}

.vk-footer__nav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

.vk-footer__nav h4 {
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: #8ec8ff;
	margin-bottom: 16px !important;
}

.vk-footer__nav a,
.vk-footer__nav button {
	display: block;
	text-align: left;
	font-size: .92rem;
	padding-block: 6px;
	color: rgba(255, 255, 255, .72);
	transition: color .18s ease;
}

.vk-footer__nav a:hover,
.vk-footer__nav button:hover { color: #fff; }

.vk-footer__plain {
	display: block;
	padding-block: 6px;
	font-size: .92rem;
	color: rgba(255, 255, 255, .72);
}

.vk-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
	padding-block: 24px;
	border-top: 1px solid rgba(255, 255, 255, .1);
	font-size: .82rem;
	color: rgba(255, 255, 255, .5);
}

/* =========================================================
   WhatsApp oficial flutuante
   ========================================================= */
.vk-whatsapp-float {
	position: fixed;
	right: clamp(16px, 2.2vw, 28px);
	bottom: calc(18px + env(safe-area-inset-bottom, 0px));
	z-index: 280;
	display: inline-flex;
	align-items: center;
	gap: 11px;
	min-height: 58px;
	padding: 7px 9px 7px 8px;
	border-radius: 999px;
	background: #25d366;
	color: #fff;
	box-shadow: 0 16px 38px -14px rgba(0, 0, 0, .42);
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.vk-whatsapp-float:hover {
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 20px 42px -14px rgba(0, 0, 0, .5);
}

.vk-whatsapp-float:focus-visible {
	outline: 3px solid rgba(37, 211, 102, .28);
	outline-offset: 4px;
}

.vk-whatsapp-float__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex: none;
	border-radius: 50%;
	color: #fff;
}

.vk-whatsapp-float__icon svg {
	width: 34px;
	height: 34px;
	display: block;
}

.vk-whatsapp-float__label {
	display: flex;
	flex-direction: column;
	padding-right: 8px;
	line-height: 1.12;
	white-space: nowrap;
}

.vk-whatsapp-float__label strong {
	font-size: .78rem;
	font-weight: 800;
	color: #fff;
}

.vk-whatsapp-float__label small {
	margin-top: 3px;
	font-size: .7rem;
	font-weight: 600;
	color: rgba(255, 255, 255, .9);
}

body.vk-no-scroll .vk-whatsapp-float {
	opacity: 0;
	pointer-events: none;
	transform: translateY(8px) scale(.96);
}

@media (max-width: 640px) {
	.vk-whatsapp-float {
		right: 16px;
		bottom: calc(16px + env(safe-area-inset-bottom, 0px));
		width: 56px;
		height: 56px;
		min-height: 56px;
		padding: 6px;
		gap: 0;
		justify-content: center;
	}

	.vk-whatsapp-float__icon {
		width: 44px;
		height: 44px;
	}

	.vk-whatsapp-float__label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
		border: 0;
	}
}

/* =========================================================
   Modal do formulário
   ========================================================= */
.vk-modal {
	position: fixed;
	inset: 0;
	z-index: 999;
	display: flex;
	justify-content: flex-end;
}

.vk-modal[hidden] { display: none; }

.vk-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(6, 37, 74, .48);
	backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity .28s ease;
}

.vk-modal.is-open .vk-modal__backdrop { opacity: 1; }

.vk-modal__panel {
	position: relative;
	width: min(520px, 100%);
	height: 100%;
	background: #fff;
	box-shadow: -30px 0 80px -40px rgba(6, 37, 74, .6);
	transform: translateX(100%);
	transition: transform .34s cubic-bezier(.32, .72, 0, 1);
	display: flex;
	flex-direction: column;
}

.vk-modal.is-open .vk-modal__panel { transform: translateX(0); }

.vk-modal__scroll {
	overflow-y: auto;
	padding: clamp(28px, 4vw, 48px) clamp(24px, 4vw, 44px) 48px;
	-webkit-overflow-scrolling: touch;
}

.vk-modal__close {
	position: absolute;
	top: 18px;
	right: 18px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid var(--vk-line);
	color: var(--vk-ink);
	background: #fff;
	transition: background-color .18s ease, border-color .18s ease;
}

.vk-modal__close:hover { background: var(--vk-surface); border-color: var(--vk-blue-100); }
.vk-modal__close svg { width: 17px; height: 17px; }

.vk-modal__head { margin-bottom: 28px; padding-right: 40px; }

.vk-modal__head h2 {
	font-size: clamp(1.6rem, 3vw, 2rem);
	font-weight: 800;
	letter-spacing: -.03em;
	color: var(--vk-ink);
	line-height: 1.15;
}

.vk-modal__head p {
	margin-top: 12px !important;
	font-size: .94rem;
	color: var(--vk-muted);
}

/* --------- formulário --------- */
.vk-form { display: grid; gap: 18px; }

.vk-field { display: grid; gap: 8px; }

.vk-field-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.vk-field label {
	font-size: .85rem;
	font-weight: 700;
	color: var(--vk-ink);
}

/* asterisco de campo obrigatório (não vale para o texto do checkbox) */
.vk-field label:not(.vk-check) span { color: var(--vk-blue); }

.vk-field input[type="text"],
.vk-field input[type="email"],
.vk-field input[type="tel"] {
	width: 100%;
	padding: 14px 16px;
	border-radius: var(--vk-radius-sm);
	border: 1px solid var(--vk-line);
	background: #fff;
	font-family: inherit;
	font-size: .95rem;
	color: var(--vk-ink);
	transition: border-color .18s ease, box-shadow .18s ease;
}

.vk-field input::placeholder { color: #adb9c7; }

.vk-field input:focus {
	outline: none;
	border-color: var(--vk-blue);
	box-shadow: 0 0 0 4px rgba(1, 103, 213, .12);
}

.vk-field.has-error input { border-color: #d93a3a; }
.vk-field.has-error input:focus { box-shadow: 0 0 0 4px rgba(217, 58, 58, .12); }

.vk-error {
	display: none;
	font-size: .8rem;
	color: #d93a3a;
}

.vk-hint {
	font-size: .78rem;
	line-height: 1.45;
	color: var(--vk-muted);
}

.vk-field.has-error .vk-error { display: block; }

.vk-field__label {
	font-size: .85rem;
	font-weight: 700;
	color: var(--vk-ink);
}

.vk-field__label b { color: var(--vk-blue); }

.vk-preference-options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.vk-preference {
	display: flex !important;
	align-items: flex-start;
	gap: 10px;
	padding: 13px;
	border: 1px solid var(--vk-line);
	border-radius: var(--vk-radius-sm);
	cursor: pointer;
	transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.vk-preference:hover { border-color: var(--vk-blue-100); background: var(--vk-surface); }
.vk-preference:has(input:checked) { border-color: var(--vk-blue); background: #f1f7ff; box-shadow: 0 0 0 3px rgba(1, 103, 213, .08); }
.vk-preference input { width: 17px; height: 17px; margin-top: 2px; accent-color: var(--vk-blue); }
.vk-preference span { display: grid; gap: 3px; color: var(--vk-ink) !important; }
.vk-preference strong { font-size: .84rem; }
.vk-preference small { font-size: .73rem; font-weight: 400; color: var(--vk-muted); line-height: 1.35; }
.vk-field--preference.has-error .vk-preference-options { border-radius: var(--vk-radius-sm); box-shadow: 0 0 0 2px rgba(217, 58, 58, .15); }

.vk-check {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	cursor: pointer;
	font-weight: 500 !important;
	font-size: .875rem !important;
	color: var(--vk-body) !important;
	line-height: 1.5;
}

.vk-check input {
	flex: none;
	width: 18px;
	height: 18px;
	margin-top: 2px;
	accent-color: var(--vk-blue);
	cursor: pointer;
}

.vk-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.vk-form__note {
	font-size: .78rem;
	color: var(--vk-muted);
	text-align: center;
	line-height: 1.5;
}

.vk-alert {
	padding: 13px 16px;
	border-radius: var(--vk-radius-sm);
	background: #fdf0f0;
	border: 1px solid #f6d5d5;
	color: #a72a2a;
	font-size: .875rem;
}

.vk-alert[hidden] { display: none; }

/* --------- sucesso --------- */
.vk-success { text-align: center; padding-block: clamp(30px, 8vw, 60px); }
.vk-success[hidden] { display: none; }

.vk-success__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--vk-blue-50);
	color: var(--vk-blue);
	margin-bottom: 26px;
}

.vk-success__icon svg { width: 32px; height: 32px; }

.vk-success h3 {
	font-size: 1.5rem;
	font-weight: 800;
	letter-spacing: -.03em;
	color: var(--vk-ink);
}

.vk-success p {
	margin-top: 12px !important;
	margin-bottom: 28px !important;
	color: var(--vk-muted);
	font-size: .95rem;
}

body.vk-no-scroll { overflow: hidden; }

/* =========================================================
   Animação de entrada
   ========================================================= */
.vk-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .7s cubic-bezier(.2, .7, .3, 1), transform .7s cubic-bezier(.2, .7, .3, 1);
}

.vk-reveal.is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.vk *,
	.vk *::before,
	.vk *::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
	}
	.vk-reveal { opacity: 1; transform: none; }
}

/* =========================================================
   Responsivo
   ========================================================= */
@media (max-width: 1080px) {
	.vk-grid--products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
	.vk-nav {
		position: fixed;
		inset: 76px 0 auto;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		margin: 0;
		padding: 12px 24px 26px;
		background: #fff;
		border-bottom: 1px solid var(--vk-line);
		box-shadow: 0 24px 40px -30px rgba(12, 26, 43, .5);
		transform: translateY(-14px);
		opacity: 0;
		visibility: hidden;
		transition: opacity .22s ease, transform .22s ease, visibility .22s;
	}

	.vk-nav.is-open {
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.vk-nav a {
		padding-block: 14px;
		border-bottom: 1px solid var(--vk-line-soft);
		font-size: 1rem;
	}

	.vk-nav a::after { display: none; }

	.vk-burger { display: flex; }

	.vk-hero__inner { grid-template-columns: 1fr; }

	.vk-hero__media { order: -1; }

	.vk-stage {
		--vk-off: 78%;
		--vk-off-far: 108%;
		height: clamp(330px, 62vw, 430px);
	}

	.vk-pillars__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.vk-about__inner,
	.vk-quality__inner,
	.vk-partner__box,
	.vk-footer__inner { grid-template-columns: 1fr; }

	.vk-quality__seals { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.vk-partner__media { display: none; }

	.vk-section__head { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 720px) {
	.vk-grid--products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vk-about__stats { grid-template-columns: 1fr; }
	.vk-stat--wide { grid-column: auto; }

	.vk-header__actions .vk-btn { display: none; }
	.vk-header__inner { min-height: 68px; }
	.vk-nav { inset-block-start: 68px; }

	.vk-hero__cta .vk-btn { flex: 1 1 100%; }
	.vk-modal__panel { width: 100%; }
	.vk-field-row { grid-template-columns: 1fr; }
	.vk-preference-options { grid-template-columns: 1fr; }
	.vk-footer__bottom { flex-direction: column; }
}

@media (max-width: 480px) {
	.vk-stage {
		--vk-off: 72%;
		--vk-off-far: 100%;
		height: 330px;
	}

	.vk-slide {
		width: 146px;
		height: 218px;
	}

	.vk-card__media { min-height: 168px; padding: 20px 16px 12px; }
	.vk-card__media img { max-height: 140px; }
	.vk-card__add { width: 39px; height: 39px; border-radius: 13px; top: 10px; right: 10px; }
	.vk-card__body { padding: 4px 16px 20px; }
	.vk-quality__seals { grid-template-columns: 1fr; }
}

/* =========================================================
   Ajustes 1.6 — carrossel da marca, Nico mobile e rodapé
   ========================================================= */
body.voniko-landing-body {
	min-height: 100vh;
	min-height: 100dvh;
	background: #041a35 !important;
}

body.voniko-landing-body > .vk {
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	background: var(--vk-white);
}

.vk-footer {
	margin-top: auto;
	padding-bottom: max(0px, env(safe-area-inset-bottom));
}

.vk-about__inner {
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: clamp(38px, 6vw, 88px);
}

.vk-about-carousel {
	position: relative;
	min-width: 0;
	outline: none;
}

.vk-about-carousel__viewport {
	overflow: hidden;
	border: 1px solid var(--vk-line);
	border-radius: clamp(22px, 2.6vw, 34px);
	background: var(--vk-surface);
	box-shadow: var(--vk-shadow);
	aspect-ratio: 16 / 9;
}

.vk-about-carousel__track {
	display: flex;
	height: 100%;
	transform: translate3d(0, 0, 0);
	transition: transform .65s cubic-bezier(.22, .74, .25, 1);
	will-change: transform;
}

.vk-about-slide {
	position: relative;
	flex: 0 0 100%;
	height: 100%;
	margin: 0;
	background: #eaf3fc;
}

.vk-about-slide::after {
	content: "";
	position: absolute;
	inset: 45% 0 0;
	background: linear-gradient(180deg, transparent 0%, rgba(4, 26, 53, .74) 100%);
	pointer-events: none;
}

.vk-about-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1.018);
	transition: transform 6s ease;
}

.vk-about-slide.is-active img { transform: scale(1.035); }
.vk-about-slide--visual::after { display: none; }
.vk-about-slide:first-child img { object-position: center; }
.vk-about-slide:nth-child(2) img { object-position: center; }
.vk-about-slide:nth-child(3) img { object-position: 50% center; }
.vk-about-slide:nth-child(4) img { object-position: 58% center; }

.vk-about-slide figcaption {
	position: absolute;
	z-index: 2;
	left: clamp(20px, 3vw, 34px);
	right: clamp(20px, 3vw, 34px);
	bottom: clamp(18px, 2.8vw, 30px);
	color: #fff;
	text-shadow: 0 2px 16px rgba(0, 16, 39, .34);
}

.vk-about-slide figcaption strong {
	display: block;
	font-size: clamp(1.05rem, 1.8vw, 1.38rem);
	line-height: 1.2;
	letter-spacing: -.015em;
}

.vk-about-slide figcaption span {
	display: block;
	margin-top: 5px;
	font-size: clamp(.82rem, 1.2vw, .95rem);
	color: rgba(255, 255, 255, .82);
}

.vk-about-carousel__controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-top: 18px;
}

.vk-about-carousel__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid var(--vk-line);
	border-radius: 50%;
	background: #fff;
	color: var(--vk-blue);
	box-shadow: var(--vk-shadow-sm);
	transition: transform .18s ease, border-color .18s ease, background-color .18s ease;
}

.vk-about-carousel__arrow:hover {
	transform: translateY(-1px);
	border-color: var(--vk-blue-100);
	background: var(--vk-blue-50);
}

.vk-about-carousel__arrow svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.vk-about-carousel__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
}

.vk-about-carousel__dot {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: #cbd9e8;
	transition: width .28s ease, background-color .28s ease;
}

.vk-about-carousel__dot.is-active {
	width: 28px;
	background: var(--vk-blue);
}

.vk-partner__media img {
	width: clamp(220px, 25vw, 320px);
	max-height: 380px;
	object-fit: contain;
}

@media (max-width: 980px) {
	.vk-about__inner { grid-template-columns: 1fr; }
	.vk-about-carousel { margin-top: 4px; }

	.vk-partner__box {
		grid-template-columns: minmax(0, 1fr) minmax(160px, .42fr);
		align-items: end;
	}

	.vk-partner__media {
		display: flex;
		align-items: flex-end;
		justify-content: center;
		align-self: stretch;
	}

	.vk-partner__media img {
		width: min(34vw, 240px);
		max-height: 300px;
	}
}

@media (max-width: 720px) {
	.vk-about-carousel__viewport {
		aspect-ratio: 16 / 10;
		border-radius: 22px;
	}

	.vk-about-slide:first-child img { object-position: center; }
	.vk-about-slide:nth-child(2) img { object-position: 54% center; }
	.vk-about-slide:nth-child(3) img { object-position: 52% center; }
	.vk-about-slide:nth-child(4) img { object-position: 60% center; }

	.vk-partner__box {
		grid-template-columns: 1fr;
		padding-bottom: 0;
		overflow: hidden;
	}

	.vk-partner__media {
		display: flex;
		margin-top: 8px;
		min-height: 190px;
		align-items: flex-end;
	}

	.vk-partner__media img {
		width: min(70vw, 280px);
		max-height: 270px;
		margin-bottom: -18px;
	}

	.vk-footer {
		padding-bottom: calc(14px + env(safe-area-inset-bottom));
	}
}

@media (max-width: 480px) {
	.vk-about-carousel__viewport { aspect-ratio: 16 / 10; }
	.vk-about-slide:first-child img { object-position: center; }
	.vk-about-slide figcaption { left: 18px; right: 18px; bottom: 16px; }
	.vk-about-carousel__arrow { width: 40px; height: 40px; }
}

/* =========================================================
   Componentes do carrinho também disponíveis na página inicial
   ========================================================= */
/* =========================================================
   Pedido / carrinho
   ========================================================= */
.vk-cart-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	padding: 8px 13px;
	border: 1px solid var(--vk-blue-100);
	border-radius: 14px;
	background: #fff;
	color: var(--vk-ink);
	font-size: .82rem;
	font-weight: 800;
	box-shadow: 0 8px 24px -18px rgba(5, 38, 73, .45);
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.vk-cart-button:hover {
	transform: translateY(-1px);
	border-color: var(--vk-blue);
	box-shadow: 0 12px 24px -16px rgba(1, 103, 213, .45);
}

.vk-cart-button svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.vk-cart-button b {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding-inline: 6px;
	border-radius: 999px;
	background: var(--vk-blue);
	color: #fff;
	font-size: .7rem;
	line-height: 1;
}

.vk-cart-button b.is-empty { background: var(--vk-blue-100); color: var(--vk-blue-dark); }

.vk-cart-button.is-pulsing {
	animation: vk-cart-pulse 1.15s ease both;
}

@keyframes vk-cart-pulse {
	0%, 100% { transform: translateY(0) scale(1); box-shadow: 0 8px 24px -18px rgba(5, 38, 73, .45); }
	35% { transform: translateY(-2px) scale(1.08); box-shadow: 0 12px 30px -12px rgba(1, 103, 213, .55); }
	65% { transform: translateY(0) scale(.98); }
}

.vk-cart-toast {
	position: fixed;
	top: 92px;
	right: clamp(16px, 3vw, 30px);
	z-index: 290;
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: min(360px, calc(100vw - 32px));
	padding: 14px 18px 14px 14px;
	border: 1px solid var(--vk-blue-100);
	border-radius: 18px;
	background: rgba(255, 255, 255, .98);
	color: var(--vk-ink);
	box-shadow: 0 22px 55px -24px rgba(3, 24, 48, .58);
	opacity: 0;
	transform: translateY(-10px) scale(.98);
	pointer-events: none;
	transition: opacity .22s ease, transform .22s ease;
}

.vk-cart-toast[hidden] { display: none; }
.vk-cart-toast.is-visible {
	opacity: 1;
	transform: translateY(0) scale(1);
	pointer-events: auto;
	animation: vk-reminder-blink 1.45s ease 2;
}

@keyframes vk-reminder-blink {
	0%, 100% { box-shadow: 0 22px 55px -24px rgba(3, 24, 48, .58); }
	50% { box-shadow: 0 18px 48px -14px rgba(1, 103, 213, .72); }
}

.vk-cart-toast__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	flex: none;
	border-radius: 13px;
	background: var(--vk-blue);
	color: #fff;
}

.vk-cart-toast__icon svg {
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.vk-cart-toast > span:last-child { display: grid; gap: 2px; text-align: left; }
.vk-cart-toast strong { font-size: .88rem; line-height: 1.25; }
.vk-cart-toast small { color: var(--vk-muted); font-size: .73rem; line-height: 1.35; }

.vk-card__media { position: relative; }

.vk-card__add.is-added {
	background: #e9f7ee;
	border-color: #bfe4ca;
	color: #23703c;
	transform: scale(1.05);
}

.vk-card__add {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(1, 103, 213, .13);
	border-radius: 15px;
	background: rgba(255, 255, 255, .96);
	color: var(--vk-blue-dark);
	font-size: 1.65rem;
	font-weight: 400;
	line-height: 1;
	box-shadow: 0 12px 28px -16px rgba(6, 37, 74, .5);
	transition: color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.vk-card__add:hover,
.vk-card__add:focus-visible {
	transform: translateY(-2px) scale(1.03);
	background: var(--vk-blue);
	color: #fff;
	box-shadow: 0 14px 30px -14px rgba(1, 103, 213, .7);
}

.vk-product-purchase {
	margin-top: clamp(26px, 3.4vw, 38px);
	padding: clamp(22px, 2.8vw, 30px);
	border: 1px solid var(--vk-blue-100);
	border-radius: var(--vk-radius);
	background: #fff;
	box-shadow: var(--vk-shadow-sm);
}

.vk-product-purchase__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 22px;
	padding-bottom: 19px;
	border-bottom: 1px solid var(--vk-line-soft);
}

.vk-product-purchase__top > div { display: grid; gap: 4px; }
.vk-product-purchase__label { font-size: .9rem; font-weight: 800; color: var(--vk-ink); }
.vk-product-purchase__top small { font-size: .76rem; color: var(--vk-muted); }
.vk-product-purchase__price { font-size: clamp(1.8rem, 3vw, 2.35rem); line-height: 1; letter-spacing: -.045em; color: var(--vk-ink); }

.vk-product-purchase__actions {
	display: grid;
	grid-template-columns: 138px minmax(0, 1fr);
	gap: 12px;
	margin-top: 20px;
}

.vk-product-qty {
	display: grid;
	grid-template-columns: 40px 1fr 40px;
	align-items: center;
	min-height: 48px;
	border: 1px solid var(--vk-line);
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
}

.vk-product-qty button {
	height: 100%;
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--vk-blue-dark);
}

.vk-product-qty button:hover { background: var(--vk-blue-50); }

.vk-product-qty input {
	width: 100%;
	min-width: 0;
	border: 0;
	background: transparent;
	text-align: center;
	font-weight: 800;
	color: var(--vk-ink);
	appearance: textfield;
}

.vk-product-qty input::-webkit-outer-spin-button,
.vk-product-qty input::-webkit-inner-spin-button { margin: 0; appearance: none; }

.vk-product-purchase__button { width: 100%; min-height: 48px; }
.vk-product-purchase__note { margin-top: 13px !important; font-size: .76rem; line-height: 1.5; color: var(--vk-muted); }

.vk-cart {
	position: fixed;
	inset: 0;
	z-index: 300;
	display: grid;
	grid-template-columns: 1fr minmax(340px, 470px);
	width: 100%;
	height: var(--vk-cart-viewport-height, 100dvh);
	max-height: var(--vk-cart-viewport-height, 100dvh);
	visibility: hidden;
	pointer-events: none;
	overflow: hidden;
}

.vk-cart[hidden] { display: none; }

.vk-cart.is-open {
	visibility: visible;
	pointer-events: auto;
}

.vk-cart__backdrop {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background: rgba(4, 20, 38, .58);
	backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity .3s ease;
}

.vk-cart.is-open .vk-cart__backdrop { opacity: 1; }

.vk-cart__panel {
	position: relative;
	grid-column: 2;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	min-height: 0;
	max-height: 100%;
	overflow: hidden;
	background: #fff;
	box-shadow: -24px 0 70px -35px rgba(3, 24, 48, .65);
	transform: translateX(104%);
	transition: transform .32s cubic-bezier(.22, .8, .24, 1);
	outline: 0;
}

.vk-cart.is-open .vk-cart__panel { transform: translateX(0); }

.vk-cart__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	padding: 28px clamp(22px, 4vw, 34px) 20px;
	border-bottom: 1px solid var(--vk-line-soft);
}

.vk-cart__header h2 { margin-top: 3px; font-size: 1.45rem; line-height: 1.15; letter-spacing: -.03em; color: var(--vk-ink); }

.vk-cart__header-actions {
	display: flex;
	align-items: center;
	gap: 9px;
	flex: none;
}

.vk-cart__back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 42px;
	padding: 9px 14px;
	border: 1px solid var(--vk-blue-100);
	border-radius: 14px;
	background: var(--vk-blue-50);
	color: var(--vk-blue-dark);
	font-size: .78rem;
	font-weight: 800;
	white-space: nowrap;
	transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.vk-cart__back:hover {
	transform: translateY(-1px);
	border-color: var(--vk-blue);
	background: #fff;
}

.vk-cart__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	flex: none;
	border: 1px solid var(--vk-line);
	border-radius: 14px;
	background: #fff;
	color: var(--vk-muted);
	font-size: 1.65rem;
	line-height: 1;
}

.vk-cart__close:hover { color: var(--vk-ink); border-color: var(--vk-blue-100); }
.vk-cart__body { flex: 1 1 auto; min-height: 0; overflow-x: hidden; overflow-y: auto; padding: 18px clamp(18px, 4vw, 30px) 28px; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; }
.vk-cart__items { display: grid; gap: 12px; }

.vk-cart__empty {
	display: grid;
	place-items: center;
	align-content: center;
	min-height: 320px;
	padding: 30px;
	text-align: center;
	color: var(--vk-muted);
}

.vk-cart__empty[hidden] { display: none; }

.vk-cart__empty-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	margin-bottom: 16px;
	border-radius: 18px;
	background: var(--vk-blue-50);
	color: var(--vk-blue);
}

.vk-cart__empty-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.vk-cart__empty strong { color: var(--vk-ink); font-size: 1rem; }
.vk-cart__empty p { max-width: 31ch; margin-top: 7px !important; font-size: .84rem; line-height: 1.5; }

.vk-cart-item {
	position: relative;
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) auto;
	gap: 13px;
	align-items: center;
	padding: 13px 40px 13px 13px;
	border: 1px solid var(--vk-line-soft);
	border-radius: 18px;
	background: #fff;
}

.vk-cart-item__media {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 82px;
	padding: 7px;
	border-radius: 13px;
	background: var(--vk-surface);
}

.vk-cart-item__media img { width: 100%; height: 100%; object-fit: contain; }
.vk-cart-item__info { display: grid; gap: 4px; min-width: 0; }
.vk-cart-item__info strong { overflow: hidden; color: var(--vk-ink); font-size: .88rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.vk-cart-item__info span { color: var(--vk-muted); font-size: .72rem; }
.vk-cart-item__controls { display: grid; justify-items: end; gap: 8px; }

.vk-cart-item__qty {
	display: grid;
	grid-template-columns: 28px 28px 28px;
	align-items: center;
	border: 1px solid var(--vk-line);
	border-radius: 10px;
	overflow: hidden;
}

.vk-cart-item__qty button { height: 30px; color: var(--vk-blue-dark); font-size: 1rem; }
.vk-cart-item__qty button:hover { background: var(--vk-blue-50); }
.vk-cart-item__qty b { text-align: center; color: var(--vk-ink); font-size: .78rem; }
.vk-cart-item__subtotal { color: var(--vk-ink); font-size: .82rem; white-space: nowrap; }

.vk-cart-item__remove {
	position: absolute;
	top: 9px;
	right: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 8px;
	color: var(--vk-muted);
	font-size: 1.15rem;
}

.vk-cart-item__remove:hover { background: #fff1f1; color: #a72a2a; }

.vk-cart__footer {
	position: relative;
	z-index: 3;
	flex: 0 0 auto;
	padding: 16px clamp(22px, 4vw, 34px) max(16px, env(safe-area-inset-bottom));
	border-top: 1px solid var(--vk-line-soft);
	background: #fff;
	box-shadow: 0 -18px 36px -32px rgba(3, 24, 48, .8);
}

.vk-cart__total { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.vk-cart__total span { color: var(--vk-muted); font-size: .82rem; font-weight: 600; }
.vk-cart__total strong { color: var(--vk-ink); font-size: 1.55rem; letter-spacing: -.035em; }
.vk-cart__disclaimer { margin-top: 7px !important; font-size: .7rem; line-height: 1.45; color: var(--vk-muted); }
.vk-cart__checkout { width: 100%; margin-top: 15px; min-height: 50px; }
.vk-cart__checkout:disabled { opacity: .48; cursor: not-allowed; transform: none; }
.vk-cart__contact { margin-top: 10px !important; text-align: center; color: var(--vk-muted); font-size: .68rem; }

@media (max-width: 720px) {
	.vk-cart-button span { display: none; }
	.vk-cart-button { padding: 8px 10px; gap: 5px; }
	.vk-card__add { width: 39px; height: 39px; border-radius: 13px; }
	.vk-product-purchase__actions { grid-template-columns: 1fr; }
	.vk-cart { grid-template-columns: 1fr; }
	.vk-cart__panel { grid-column: 1; max-width: none; height: 100%; min-height: 0; }
	.vk-cart__header { padding-top: max(22px, env(safe-area-inset-top)); }
	.vk-cart__header { align-items: center; flex-wrap: wrap; gap: 12px; }
	.vk-cart__header > div:first-child { order: 2; width: 100%; }
	.vk-cart__header-actions { order: 1; width: 100%; justify-content: space-between; gap: 6px; }
	.vk-cart__back { min-height: 40px; padding: 8px 11px; font-size: .74rem; }
	.vk-cart__close { width: 40px; height: 40px; }
	.vk-cart-toast { top: 96px; right: 12px; left: 12px; max-width: none; }
	.vk-cart__body { padding-bottom: 24px; }
	.vk-cart__footer { padding-top: 13px; padding-bottom: max(12px, env(safe-area-inset-bottom)); }
	.vk-cart__total strong { font-size: 1.3rem; }
	.vk-cart__disclaimer { display: none; }
	.vk-cart__checkout { min-height: 48px; margin-top: 10px; }
	.vk-cart__contact { margin-top: 6px !important; }
	.vk-cart-item { grid-template-columns: 62px minmax(0, 1fr); }
	.vk-cart-item__media { width: 62px; height: 72px; }
	.vk-cart-item__controls { grid-column: 2; grid-template-columns: auto 1fr; align-items: center; justify-items: start; }
	.vk-cart-item__subtotal { justify-self: end; }
}


/* Guia de pilhas na Home */
.vk-home-guide{background:#f7fbff}.vk-home-guide__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.vk-home-guide__grid>a{display:flex;flex-direction:column;gap:9px;padding:22px;border:1px solid #dce9f5;border-radius:20px;background:#fff;color:#0b1d32;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.vk-home-guide__grid>a:hover{transform:translateY(-3px);border-color:#bcdaf5;box-shadow:0 12px 28px rgba(5,70,130,.08)}.vk-home-guide__grid strong{font-size:17px;line-height:1.3}.vk-home-guide__grid span{color:#64788e;font-size:14px;line-height:1.5}.vk-home-guide__more{margin:24px 0 0}@media(max-width:900px){.vk-home-guide__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.vk-home-guide__grid{grid-template-columns:1fr}}

/* Links internos de segmentos */
.vk-segments-mini{background:#fff}.vk-segments-mini__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vk-segments-mini__grid>a{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:18px 20px;border:1px solid #dde9f4;border-radius:18px;background:#f8fbff;color:#0c2945;font-weight:700;text-decoration:none}.vk-segments-mini__grid>a:after{content:'→';color:#0167d5}.vk-segments-mini__grid>a:hover{border-color:#b9daf5;background:#f1f8ff}@media(max-width:760px){.vk-segments-mini__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.vk-segments-mini__grid{grid-template-columns:1fr}}

/* =========================================================
   Ajustes 1.8.4 — cards compactos e responsivos no celular
   ========================================================= */
@media (max-width: 720px) {
	.vk-grid--products { gap: 12px; }
	.vk-card__body { padding-inline: 15px; }
	.vk-card__title { font-size: 1rem; line-height: 1.25; }
	.vk-card__code { font-size: .74rem; letter-spacing: .055em; }
	.vk-card__desc {
		font-size: .82rem;
		line-height: 1.48;
		-webkit-line-clamp: 3;
	}
	.vk-card__desc.is-expanded { display: block; }
	.vk-card__desc-toggle { font-size: .73rem; }
}

@media (max-width: 480px) {
	.vk-grid--products { gap: 10px; }
	.vk-card__body { padding: 4px 13px 17px; }
	.vk-card__media { padding-inline: 12px; }
}

@media (max-width: 380px) {
	.vk-grid--products { grid-template-columns: 1fr; }
	.vk-card__media { min-height: 190px; }
	.vk-card__media img { max-height: 160px; }
}


/* =========================================================
   Kits e Repositores — v1.8.5
   ========================================================= */
.vk-kits{margin-top:clamp(42px,6vw,72px);padding-top:clamp(30px,4vw,44px);border-top:1px solid var(--vk-line-soft)}
.vk-kits__head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.vk-kits__head>div{min-width:0}.vk-kits__head .vk-h2{margin-top:4px}.vk-kits__intro{max-width:620px;margin:0;color:var(--vk-muted);font-size:.95rem;line-height:1.58}
.vk-kits__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}.vk-kit-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-width:0;border:1px solid var(--vk-line);border-radius:20px;background:#fff;box-shadow:0 10px 34px rgba(8,45,78,.05);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.vk-kit-card:hover{transform:translateY(-3px);box-shadow:0 16px 42px rgba(8,45,78,.09);border-color:#cbdcec}.vk-kit-card__media{position:relative;display:grid;place-items:center;aspect-ratio:1/1;padding:16px;background:linear-gradient(180deg,#fff,#f8fbfe);border-bottom:1px solid #eef4f9}.vk-kit-card__media img{width:100%;height:100%;object-fit:contain}.vk-kit-card__add{top:12px;right:12px}.vk-kit-card__body{display:flex;flex-direction:column;gap:7px;padding:16px;min-width:0}.vk-kit-card__badge{display:inline-flex;align-self:flex-start;padding:4px 8px;border-radius:999px;background:#eaf4ff;color:var(--vk-blue-dark);font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.vk-kit-card h3{margin:1px 0 0;color:var(--vk-ink);font-size:1.08rem;line-height:1.25;letter-spacing:-.02em}.vk-kit-card__count{margin:0;color:var(--vk-blue);font-size:.85rem;font-weight:800}.vk-kit-card__desc{margin:1px 0 2px;color:var(--vk-muted);font-size:.79rem;line-height:1.45}.vk-kit-card__price{display:flex;align-items:baseline;gap:6px;margin-top:4px;padding:11px 12px;border-radius:13px;background:var(--vk-blue-50);color:var(--vk-ink)}.vk-kit-card__price strong{font-size:1.28rem;line-height:1;font-weight:800;letter-spacing:-.03em}.vk-kit-card__price span{font-size:.76rem;font-weight:700;color:var(--vk-muted)}.vk-kit-card__locked{display:flex;align-items:center;gap:6px;margin:5px 0 0;padding:10px 11px;border-radius:12px;background:#f3f7fb;color:var(--vk-muted);font-size:.75rem;font-weight:700;line-height:1.4}.vk-kit-card__gift{margin:0;color:#39704e;font-size:.72rem;font-weight:700}.vk-kit-card__details{margin-top:5px;border-top:1px solid var(--vk-line-soft);padding-top:9px}.vk-kit-card__details summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;cursor:pointer;color:var(--vk-blue-dark);font-size:.78rem;font-weight:800}.vk-kit-card__details summary::-webkit-details-marker{display:none}.vk-kit-card__details summary span{transition:transform .2s ease}.vk-kit-card__details[open] summary span{transform:rotate(90deg)}.vk-kit-card__composition{margin-top:10px;padding-top:2px}.vk-kit-card__composition ul{display:grid;gap:0;max-height:260px;overflow:auto;margin:0;padding:0;list-style:none;border:1px solid var(--vk-line-soft);border-radius:11px;background:#fbfdff}.vk-kit-card__composition li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;border-bottom:1px solid var(--vk-line-soft);font-size:.69rem}.vk-kit-card__composition li:last-child{border-bottom:0}.vk-kit-card__composition li span{display:grid;min-width:0;color:var(--vk-ink)}.vk-kit-card__composition li small{overflow:hidden;text-overflow:ellipsis;color:var(--vk-muted);font-size:.62rem}.vk-kit-card__composition li strong{flex:none;color:var(--vk-blue-dark);font-size:.65rem}
@media(max-width:1080px){.vk-kits__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.vk-kits{margin-top:34px;padding-top:26px}.vk-kits__head{display:grid;gap:8px;margin-bottom:16px}.vk-kits__intro{font-size:.84rem}.vk-kits__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vk-kit-card{border-radius:16px}.vk-kit-card__media{padding:10px}.vk-kit-card__body{padding:12px;gap:6px}.vk-kit-card__badge{font-size:.58rem;padding:3px 6px}.vk-kit-card h3{font-size:.9rem}.vk-kit-card__count{font-size:.72rem}.vk-kit-card__desc{font-size:.69rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.vk-kit-card__price{padding:9px 8px}.vk-kit-card__price strong{font-size:1.02rem}.vk-kit-card__price span{font-size:.66rem}.vk-kit-card__locked{font-size:.66rem;padding:8px}.vk-kit-card__gift{font-size:.64rem}.vk-kit-card__details summary{font-size:.69rem}.vk-kit-card__composition li{align-items:flex-start;flex-direction:column;gap:2px;padding:7px;font-size:.64rem}.vk-kit-card__composition li strong{font-size:.62rem}}
@media(max-width:380px){.vk-kits__grid{grid-template-columns:1fr}}
