/*
 * Volvee — estilos do site.
 * Tudo fica dentro de .volvee para não depender nem interferir no tema. As cores dos cards
 * (--vv-card-*, --vv-faixa-* ...) vêm de Configurações > Layout e são anexadas logo após este arquivo.
 */

/* ---------- Fontes embutidas (SIL Open Font License, ver ../fonts/OFL-*.txt) ---------- */

@font-face {
	font-family: "Volvee Bricolage";
	src: url("../fonts/bricolage-grotesque-latin-wght-normal.woff2") format("woff2");
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Volvee DM Sans";
	src: url("../fonts/dm-sans-latin-wght-normal.woff2") format("woff2");
	font-weight: 100 1000;
	font-style: normal;
	font-display: swap;
}

/* ---------- Base ---------- */

.volvee {
	--vv-fonte-titulo: "Volvee Bricolage", "Volvee DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--vv-fonte-texto: "Volvee DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--vv-primaria: #D93A12;
	--vv-primaria-texto: #FFFFFF;
	--vv-escura: #0F4D2E;
	--vv-texto: #17261D;
	--vv-texto-suave: #56665D;
	--vv-borda: #E7E2D7;
	--vv-borda-forte: #CFC8B8;
	--vv-fundo-suave: #FFF7E8;
	--vv-painel: #FFFFFF;
	--vv-sucesso: #1E7A3E;
	--vv-erro: #B42318;
	--vv-raio: 28px;
	--vv-raio-painel: 20px;

	font-family: var(--vv-fonte-texto);
	font-size: 16px;
	line-height: 1.5;
	color: var(--vv-texto);
	-webkit-font-smoothing: antialiased;
	text-align: left;
}

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

.volvee :is(h1, h2, h3, h4, p, ul, ol, dl, dt, dd, figure, form) {
	margin: 0;
	padding: 0;
}

.volvee img {
	max-width: 100%;
	height: auto;
}

.volvee :is(button, input, select, textarea) {
	font: inherit;
	color: inherit;
	letter-spacing: normal;
	text-transform: none;
}

.volvee a {
	color: inherit;
}

.volvee-login,
.volvee-conta,
.volvee-checkout,
.volvee-pedido {
	max-width: 1120px;
	margin-inline: auto;
}

/* ---------- Componentes genéricos ---------- */

.volvee .volvee-painel {
	background: var(--vv-painel);
	border: 1px solid var(--vv-borda);
	border-radius: var(--vv-raio-painel);
	padding: 24px;
	margin-bottom: 20px;
}

.volvee .volvee-painel__topo {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 12px;
}

.volvee .volvee-painel__topo .volvee-titulo {
	margin-bottom: 4px;
}

.volvee .volvee-titulo {
	font-family: var(--vv-fonte-titulo);
	font-weight: 800;
	font-size: 22px;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--vv-escura);
	margin-bottom: 16px;
}

.volvee .volvee-subtitulo {
	font-family: var(--vv-fonte-titulo);
	font-weight: 700;
	font-size: 18px;
	color: var(--vv-escura);
	margin-bottom: 12px;
}

.volvee .volvee-texto-suave {
	color: var(--vv-texto-suave);
	font-size: 14px;
}

.volvee .volvee-vazio {
	color: var(--vv-texto-suave);
	text-align: center;
	padding: 16px 0;
}

.volvee .volvee-centro {
	display: block;
	text-align: center;
	margin: 12px auto 0;
}

.volvee .volvee-num {
	text-align: right;
}

.volvee .volvee-alerta-texto {
	color: var(--vv-erro);
}

/* Botões */

.volvee .volvee-botao {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 12px 28px;
	border: 2px solid var(--vv-primaria);
	border-radius: 999px;
	background: var(--vv-primaria);
	color: var(--vv-primaria-texto);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.2;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	transition: filter 0.15s ease, transform 0.15s ease;
}

.volvee .volvee-botao:hover {
	filter: brightness(0.94);
}

.volvee .volvee-botao:active {
	transform: translateY(1px);
}

.volvee .volvee-botao--secundario {
	background: transparent;
	border-color: var(--vv-escura);
	color: var(--vv-escura);
}

.volvee .volvee-botao--bloco {
	display: flex;
	width: 100%;
}

.volvee .volvee-botao.is-desabilitado,
.volvee .volvee-botao:disabled {
	opacity: 0.5;
	pointer-events: none;
}

.volvee .volvee-link {
	padding: 0;
	border: 0;
	background: none;
	color: var(--vv-primaria);
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
	cursor: pointer;
}

.volvee .volvee-link:hover {
	text-decoration: underline;
}

.volvee .volvee-link--perigo {
	color: var(--vv-erro);
}

.volvee :is(.volvee-botao, .volvee-link, a, button, input, select, summary):focus-visible {
	outline: 3px solid var(--vv-escura);
	outline-offset: 2px;
}

/* Formulários */

.volvee .volvee-campo {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 16px;
}

.volvee .volvee-campo label {
	font-weight: 600;
	font-size: 14px;
	color: var(--vv-texto);
}

.volvee .volvee-campo :is(input, select) {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 1.5px solid var(--vv-borda-forte);
	border-radius: 12px;
	background: #FFFFFF;
	color: var(--vv-texto);
	font-size: 16px;
	box-shadow: none;
	appearance: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.volvee .volvee-campo select {
	background-image: linear-gradient(45deg, transparent 50%, var(--vv-texto-suave) 50%), linear-gradient(135deg, var(--vv-texto-suave) 50%, transparent 50%);
	background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%;
	background-size: 5px 5px;
	background-repeat: no-repeat;
	padding-right: 40px;
}

.volvee .volvee-campo :is(input, select):focus {
	border-color: var(--vv-escura);
	box-shadow: 0 0 0 3px rgba(15, 77, 46, 0.15);
	outline: none;
}

.volvee .volvee-campo :is(input, select):disabled {
	background: var(--vv-fundo-suave);
	color: var(--vv-texto-suave);
}

.volvee .volvee-grade-campos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 16px;
}

.volvee .volvee-campo--largo {
	grid-column: 1 / -1;
}

.volvee .volvee-acoes {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.volvee .volvee-expansivel {
	margin-top: 20px;
}

.volvee .volvee-expansivel > summary {
	list-style: none;
}

.volvee .volvee-expansivel > summary::-webkit-details-marker {
	display: none;
}

.volvee .volvee-expansivel[open] > summary {
	margin-bottom: 20px;
}

/* Avisos */

.volvee .volvee-aviso {
	padding: 14px 18px;
	border-left: 4px solid;
	border-radius: 12px;
	margin-bottom: 16px;
	font-size: 15px;
}

.volvee .volvee-aviso--erro {
	background: #FDECEA;
	border-color: var(--vv-erro);
	color: #7A1A12;
}

.volvee .volvee-aviso--sucesso {
	background: #E8F5EC;
	border-color: var(--vv-sucesso);
	color: #14522A;
}

.volvee .volvee-aviso--info {
	background: #FFF4DB;
	border-color: #C98A00;
	color: #5C4400;
}

/* Modo de testes (Sandbox): faixa listrada para não ser confundida com um aviso comum. */
.volvee .volvee-aviso--teste {
	background: repeating-linear-gradient(-45deg, #FFF4DB, #FFF4DB 12px, #FDEBC2 12px, #FDEBC2 24px);
	border-color: #B26B00;
	color: #4A3300;
}

.volvee .volvee-aviso--compacto {
	margin: 16px 0 0;
	font-size: 14px;
}

/* Status */

.volvee .volvee-badge {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}

.volvee .volvee-badge--aguardando_pagamento { background: #FCF3D7; color: #7A5B00; }
.volvee .volvee-badge--pagamento_confirmado { background: #DDF3EF; color: #0B6B5C; }
.volvee .volvee-badge--aguardando_envio     { background: #E3EEF9; color: #135E96; }
.volvee .volvee-badge--em_transporte        { background: #EEE7FA; color: #5B3A9E; }
.volvee .volvee-badge--finalizado           { background: #E3F4E8; color: #14662F; }
.volvee .volvee-badge--cancelado            { background: #FCE8E8; color: #B32D2E; }

/* Tabelas */

.volvee .volvee-tabela-rolagem {
	overflow-x: auto;
}

.volvee .volvee-tabela {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}

.volvee .volvee-tabela :is(th, td) {
	padding: 12px 10px;
	border: 0;
	border-bottom: 1px solid var(--vv-borda);
	text-align: left;
	vertical-align: middle;
}

.volvee .volvee-tabela th {
	font-size: 13px;
	font-weight: 700;
	color: var(--vv-texto-suave);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.volvee .volvee-tabela .volvee-num {
	text-align: right;
}

/* ---------- [volvee_produtos]: grade e cards (referência: seção #cestas) ---------- */

.volvee .volvee-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: start;
	gap: 24px;
}

.volvee .volvee-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--vv-raio);
	background: var(--vv-card-fundo, #FFFFFF);
	color: var(--vv-card-texto, #3D4F44);
	box-shadow: 0 0 0 1px rgba(15, 77, 46, 0.06);
	transition: translate 0.25s ease, box-shadow 0.25s ease;
}

.volvee .volvee-card:hover {
	translate: 0 -8px;
	box-shadow: 0 18px 40px rgba(15, 77, 46, 0.16);
}

.volvee .volvee-card__midia img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.volvee .volvee-card__faixa {
	padding: 28px 32px;
	background: var(--vv-faixa-fundo, #F58A1F);
	color: var(--vv-faixa-texto, #17261D);
}

.volvee .volvee-card__subtitulo {
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.volvee .volvee-card__titulo {
	margin: 6px 0 0;
	font-family: var(--vv-fonte-titulo);
	font-weight: 800;
	font-size: 32px;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: inherit;
}

.volvee .volvee-card__corpo {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 20px;
	padding: 28px 32px 32px;
}

.volvee .volvee-card__precos {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}

.volvee .volvee-card__linha-preco {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
}

.volvee .volvee-card__preco-de {
	font-size: 16px;
	color: var(--vv-preco-antigo, #6B7A70);
	text-decoration: line-through;
}

.volvee .volvee-card__tag {
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--vv-tag-fundo, #D93A12);
	color: var(--vv-tag-texto, #FFFFFF);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.volvee .volvee-card__preco {
	font-family: var(--vv-fonte-titulo);
	font-weight: 800;
	font-size: 40px;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--vv-preco, #0F4D2E);
}

.volvee .volvee-card__lista {
	position: relative;
	display: flex;
	flex-direction: column;
}

.volvee .volvee-card__lista ul {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding-left: 20px;
	list-style: disc;
	font-size: 17px;
	color: var(--vv-item, #56665D);
}

.volvee .volvee-card__lista ul.volvee-card__extra {
	margin-top: 6px;
}

.volvee .volvee-card__item {
	margin: 0;
}

.volvee .volvee-card__item :is(b, strong) {
	color: var(--vv-item-negrito, #17261D);
}

.volvee .volvee-card__grupo {
	margin: 8px 0 0 -20px;
	list-style: none;
	font-weight: 800;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--vv-destaque, #D93A12);
}

.volvee .volvee-card__lista ul > .volvee-card__grupo:first-child {
	margin-top: 0;
}

/* "Ver mais itens" sem JavaScript */
.volvee .volvee-card__chk {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.volvee .volvee-card__chk:not(:checked) ~ .volvee-card__extra,
.volvee .volvee-card__chk:checked ~ .volvee-card__mais .volvee-card__mais-texto,
.volvee .volvee-card__chk:not(:checked) ~ .volvee-card__mais .volvee-card__menos-texto {
	display: none;
}

.volvee .volvee-card__mais {
	display: flex;
	align-items: center;
	min-height: 44px;
	margin-top: 4px;
	font-weight: 700;
	font-size: 16px;
	color: var(--vv-destaque, #D93A12);
	cursor: pointer;
}

.volvee .volvee-card__mais:hover {
	text-decoration: underline;
}

.volvee .volvee-card__chk:focus-visible ~ .volvee-card__mais {
	outline: 3px solid currentColor;
	outline-offset: 2px;
	border-radius: 8px;
}

.volvee .volvee-card__botao {
	display: block;
	margin-top: auto;
	padding: 14px 24px;
	border-radius: 999px;
	background: var(--vv-botao-fundo, #D93A12);
	color: var(--vv-botao-texto, #FFFFFF);
	font-weight: 700;
	font-size: 17px;
	text-align: center;
	text-decoration: none;
	transition: filter 0.15s ease;
}

.volvee .volvee-card__botao:hover {
	filter: brightness(0.94);
	color: var(--vv-botao-texto, #FFFFFF);
}

/* ---------- [volvee_login] ---------- */

.volvee .volvee-login__colunas {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	align-items: start;
}

.volvee .volvee-login__colunas .volvee-painel {
	margin-bottom: 0;
	padding: 32px;
}

.volvee .volvee-login__colunas .volvee-botao,
.volvee .volvee-login__recuperar .volvee-botao {
	width: 100%;
}

.volvee .volvee-login__recuperar {
	max-width: 520px;
	margin-inline: auto;
	padding: 32px;
}

.volvee .volvee-login__link {
	margin-top: 16px;
	text-align: center;
	font-size: 15px;
}

.volvee .volvee-login__link a {
	color: var(--vv-primaria);
	font-weight: 700;
	text-decoration: none;
}

.volvee .volvee-login__intro {
	margin-bottom: 20px;
	padding: 14px 18px;
	border-radius: 12px;
	background: var(--vv-fundo-suave);
	text-align: center;
}

/* ---------- [volvee_conta] ---------- */

.volvee .volvee-conta__layout {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

.volvee .volvee-conta__menu {
	position: sticky;
	top: 24px;
	padding: 20px;
	border: 1px solid var(--vv-borda);
	border-radius: var(--vv-raio-painel);
	background: var(--vv-painel);
}

.volvee .volvee-conta__ola {
	margin-bottom: 12px;
	font-family: var(--vv-fonte-titulo);
	font-weight: 800;
	font-size: 20px;
	color: var(--vv-escura);
}

.volvee .volvee-conta__menu nav {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.volvee .volvee-conta__menu nav a,
.volvee .volvee-conta__sair {
	display: block;
	width: 100%;
	padding: 10px 14px;
	border: 0;
	border-radius: 10px;
	background: none;
	font-weight: 600;
	font-size: 15px;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
}

.volvee .volvee-conta__menu nav a:hover,
.volvee .volvee-conta__sair:hover {
	background: var(--vv-fundo-suave);
}

.volvee .volvee-conta__menu nav a.is-ativo {
	background: var(--vv-fundo-suave);
	box-shadow: inset 3px 0 0 var(--vv-primaria);
	color: var(--vv-escura);
}

.volvee .volvee-conta__sair {
	margin-top: 8px;
	color: var(--vv-erro);
}

.volvee .volvee-enderecos {
	display: grid;
	gap: 12px;
}

.volvee .volvee-endereco {
	padding: 16px;
	border: 1px solid var(--vv-borda);
	border-radius: 14px;
}

.volvee .volvee-endereco__acoes {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: 10px;
}

/* ---------- [volvee_checkout] ---------- */

.volvee .volvee-etapas ol {
	display: flex;
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
}

.volvee .volvee-etapas li {
	position: relative;
	flex: 1;
	margin: 0;
	text-align: center;
}

.volvee .volvee-etapas li + li::before {
	content: "";
	position: absolute;
	top: 17px;
	right: 50%;
	width: 100%;
	height: 2px;
	background: var(--vv-borda);
	z-index: 0;
}

.volvee .volvee-etapas li:is(.is-feita, .is-atual)::before {
	background: var(--vv-escura);
}

.volvee .volvee-etapas :is(a, span:not([class])) {
	position: relative;
	z-index: 1;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-decoration: none;
	color: var(--vv-texto-suave);
}

.volvee .volvee-etapas__numero {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 2px solid var(--vv-borda-forte);
	border-radius: 50%;
	background: var(--vv-painel);
	font-weight: 800;
	font-size: 15px;
}

.volvee .volvee-etapas__rotulo {
	font-weight: 600;
	font-size: 14px;
}

.volvee .volvee-etapas .is-feita .volvee-etapas__numero {
	border-color: var(--vv-escura);
	background: var(--vv-escura);
	color: #FFFFFF;
}

.volvee .volvee-etapas .is-atual .volvee-etapas__numero {
	border-color: var(--vv-primaria);
	background: var(--vv-primaria);
	color: var(--vv-primaria-texto);
}

.volvee .volvee-etapas .is-atual :is(a, span) {
	color: var(--vv-texto);
}

.volvee .volvee-etapas a:hover .volvee-etapas__rotulo {
	text-decoration: underline;
}

.volvee .volvee-checkout__grade {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 24px;
	align-items: start;
}

.volvee .volvee-resumo {
	position: sticky;
	top: 24px;
}

.volvee .volvee-totais {
	display: grid;
	grid-template-columns: 1fr auto;
	row-gap: 10px;
	margin-bottom: 20px;
}

.volvee .volvee-totais dd {
	padding-left: 16px;
	text-align: right;
	font-weight: 600;
}

.volvee .volvee-totais .volvee-totais__total {
	padding-top: 12px;
	border-top: 1px solid var(--vv-borda);
	font-family: var(--vv-fonte-titulo);
	font-weight: 800;
	font-size: 20px;
	color: var(--vv-escura);
}

.volvee .volvee-carrinho {
	margin: 0;
	padding: 0;
	list-style: none;
}

.volvee .volvee-carrinho__item {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 16px 0;
	border-bottom: 1px solid var(--vv-borda);
}

.volvee .volvee-carrinho__item:last-child {
	border-bottom: 0;
}

/* Produto sem thumbnail: o texto ocupa a linha toda. */
.volvee .volvee-carrinho__item--sem-imagem {
	grid-template-columns: minmax(0, 1fr) auto;
}

.volvee .volvee-carrinho__midia {
	width: 72px;
	height: 72px;
	overflow: hidden;
	border-radius: 12px;
	background: var(--vv-fundo-suave);
}

.volvee .volvee-carrinho__midia img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.volvee .volvee-carrinho__info {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.volvee .volvee-carrinho__subtotal {
	font-size: 17px;
	white-space: nowrap;
}

.volvee .volvee-quantidade {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 6px;
}

.volvee .volvee-quantidade button:not(.volvee-link) {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1.5px solid var(--vv-borda-forte);
	border-radius: 50%;
	background: var(--vv-painel);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}

.volvee .volvee-quantidade button:not(.volvee-link):hover {
	border-color: var(--vv-escura);
}

.volvee .volvee-quantidade button:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.volvee .volvee-quantidade span {
	min-width: 20px;
	text-align: center;
	font-weight: 700;
}

.volvee .volvee-quantidade .volvee-link {
	margin-left: 8px;
	font-size: 14px;
}

.volvee .volvee-opcoes {
	display: grid;
	gap: 12px;
	margin-bottom: 20px;
}

.volvee .volvee-opcoes--lado {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.volvee .volvee-opcao {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px;
	border: 1.5px solid var(--vv-borda-forte);
	border-radius: 14px;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.volvee .volvee-opcao:has(input:checked) {
	border-color: var(--vv-primaria);
	background: #FFF5F1;
}

.volvee .volvee-opcao.is-desabilitada {
	opacity: 0.55;
	cursor: not-allowed;
}

.volvee .volvee-opcao input {
	flex: none;
	width: 20px;
	height: 20px;
	margin: 2px 0 0;
	accent-color: var(--vv-primaria);
}

.volvee .volvee-opcao__conteudo {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.volvee .volvee-pagamento {
	margin: 4px 0 8px;
}

.volvee .volvee-lista-itens {
	margin: 0;
	padding: 0;
	list-style: none;
}

.volvee .volvee-lista-itens li {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin: 0;
	padding: 10px 0;
	border-bottom: 1px solid var(--vv-borda);
}

.volvee .volvee-lista-itens li:last-child {
	border-bottom: 0;
}

/* ---------- [volvee_pedido] ---------- */

.volvee .volvee-sucesso {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 20px;
	padding: 24px;
	border-radius: var(--vv-raio-painel);
	background: #E8F5EC;
}

.volvee .volvee-sucesso .volvee-titulo {
	margin-bottom: 4px;
}

.volvee .volvee-sucesso__icone {
	display: grid;
	flex: none;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--vv-sucesso);
	color: #FFFFFF;
	font-size: 26px;
	font-weight: 800;
}

.volvee .volvee-linha-tempo {
	display: grid;
	grid-auto-columns: minmax(0, 1fr);
	grid-auto-flow: column;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.volvee .volvee-linha-tempo li {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin: 0;
	text-align: center;
	font-size: 14px;
	color: var(--vv-texto-suave);
}

.volvee .volvee-linha-tempo li + li::before {
	content: "";
	position: absolute;
	top: 8px;
	right: 50%;
	width: 100%;
	height: 2px;
	background: var(--vv-borda);
}

.volvee .volvee-linha-tempo li:is(.is-feita, .is-atual)::before {
	background: var(--vv-sucesso);
}

.volvee .volvee-linha-tempo__ponto {
	position: relative;
	z-index: 1;
	width: 18px;
	height: 18px;
	border: 2px solid var(--vv-borda-forte);
	border-radius: 50%;
	background: var(--vv-painel);
}

.volvee .volvee-linha-tempo .is-feita .volvee-linha-tempo__ponto {
	border-color: var(--vv-sucesso);
	background: var(--vv-sucesso);
}

.volvee .volvee-linha-tempo .is-atual .volvee-linha-tempo__ponto {
	border-color: var(--vv-sucesso);
	box-shadow: 0 0 0 5px rgba(30, 122, 62, 0.18);
}

.volvee .volvee-linha-tempo .is-atual {
	color: var(--vv-texto);
	font-weight: 700;
}

.volvee .volvee-historico {
	margin: 0;
	padding: 0;
	list-style: none;
}

.volvee .volvee-historico li {
	display: flex;
	gap: 16px;
	margin: 0;
	padding: 8px 0;
	border-bottom: 1px solid var(--vv-borda);
	font-size: 15px;
}

.volvee .volvee-historico time {
	flex: none;
	min-width: 150px;
	color: var(--vv-texto-suave);
}

/* ---------- Pagamento pendente (Pix / análise) ---------- */

.volvee .volvee-pagar {
	border: 2px solid var(--vv-escura);
}

.volvee .volvee-pix {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 24px;
}

.volvee .volvee-pix__qr {
	flex: none;
	width: 220px;
	height: 220px;
	padding: 8px;
	border: 1px solid var(--vv-borda);
	border-radius: 14px;
	background: #FFFFFF;
	image-rendering: pixelated;
}

.volvee .volvee-pix__instrucoes {
	flex: 1 1 280px;
	min-width: 0;
}

.volvee .volvee-pix__instrucoes ol {
	margin: 0 0 16px;
	padding-left: 20px;
}

.volvee .volvee-pix__instrucoes li {
	margin-bottom: 4px;
}

.volvee .volvee-pix__codigo {
	width: 100%;
	padding: 10px 12px;
	border: 1.5px solid var(--vv-borda-forte);
	border-radius: 12px;
	background: var(--vv-fundo-suave);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 13px;
	word-break: break-all;
	resize: none;
}

.volvee .volvee-pagar__prazo {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--vv-borda);
}

.volvee .volvee-pagar__prazo strong {
	font-family: var(--vv-fonte-titulo);
	font-size: 26px;
	font-variant-numeric: tabular-nums;
	color: var(--vv-primaria);
}

.volvee .volvee-gerando {
	display: flex;
	align-items: center;
	gap: 12px;
}

.volvee .volvee-carregando {
	flex: none;
	width: 20px;
	height: 20px;
	border: 3px solid rgba(92, 68, 0, 0.25);
	border-top-color: #5C4400;
	border-radius: 50%;
	animation: volvee-girar 0.8s linear infinite;
}

@keyframes volvee-girar {
	to {
		transform: rotate(360deg);
	}
}

/* ---------- Responsivo ---------- */

@media (max-width: 1024px) {
	.volvee .volvee-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.volvee .volvee-checkout__grade {
		grid-template-columns: minmax(0, 1fr);
	}

	.volvee .volvee-resumo {
		position: static;
	}
}

@media (max-width: 768px) {
	.volvee .volvee-grid,
	.volvee .volvee-login__colunas,
	.volvee .volvee-conta__layout,
	.volvee .volvee-grade-campos,
	.volvee .volvee-opcoes--lado {
		grid-template-columns: minmax(0, 1fr);
	}

	.volvee .volvee-painel,
	.volvee .volvee-login__colunas .volvee-painel,
	.volvee .volvee-login__recuperar {
		padding: 20px;
	}

	.volvee .volvee-conta__menu {
		position: static;
	}

	.volvee .volvee-card__faixa {
		padding: 24px;
	}

	.volvee .volvee-card__corpo {
		padding: 24px;
	}

	.volvee .volvee-card__titulo {
		font-size: 28px;
	}

	.volvee .volvee-card__preco {
		font-size: 36px;
	}

	.volvee .volvee-etapas__rotulo {
		font-size: 12px;
	}

	.volvee .volvee-carrinho__item {
		grid-template-columns: 56px minmax(0, 1fr);
	}

	.volvee .volvee-carrinho__midia {
		width: 56px;
		height: 56px;
	}

	.volvee .volvee-carrinho__subtotal {
		grid-column: 2;
	}

	.volvee .volvee-carrinho__item--sem-imagem {
		grid-template-columns: minmax(0, 1fr);
	}

	.volvee .volvee-carrinho__item--sem-imagem .volvee-carrinho__subtotal {
		grid-column: 1;
	}

	/* Tabelas viram cartões empilhados */
	.volvee .volvee-tabela thead {
		display: none;
	}

	.volvee .volvee-tabela tr {
		display: block;
		padding: 12px 0;
		border-bottom: 1px solid var(--vv-borda);
	}

	.volvee .volvee-tabela td {
		display: flex;
		justify-content: space-between;
		gap: 12px;
		padding: 4px 0;
		border: 0;
		text-align: right;
	}

	.volvee .volvee-tabela td[data-rotulo]::before {
		content: attr(data-rotulo);
		color: var(--vv-texto-suave);
		font-weight: 600;
		text-align: left;
	}

	.volvee .volvee-linha-tempo {
		grid-auto-flow: row;
		gap: 14px;
	}

	.volvee .volvee-linha-tempo li {
		flex-direction: row;
		text-align: left;
	}

	.volvee .volvee-linha-tempo li + li::before {
		display: none;
	}

	.volvee .volvee-historico li {
		flex-direction: column;
		gap: 2px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.volvee *,
	.volvee *::before,
	.volvee *::after {
		transition: none !important;
	}

	.volvee .volvee-card:hover {
		translate: none;
	}
}
