/* Vitrusfer — Minha conta (entrada, painel, pedidos, endereços, dados, favoritos). Mobile-first. */

body.vf.woocommerce-account {
	--cx-ok: #0f6f36;
	--cx-ok-soft: #e6f4ea;
	--cx-chip: #eef1f6;
	--cx-shadow: 0 1px 2px rgba(10, 31, 68, .05), 0 6px 20px rgba(10, 31, 68, .06);
}

/* ---------- Página ---------- */
body.vf.woocommerce-account .main-page-wrapper { margin-top: 0; padding-top: 0; background: var(--vf-bg); }
body.vf.woocommerce-account .page-title { display: none; } /* O h1 vem do painel ou do cartão de entrada. */
body.vf.woocommerce-account .main-page-wrapper > .container { padding-bottom: 8px; }
body.vf.woocommerce-account .content-layout-wrapper > .elementor > .elementor-section:first-child { padding-top: 0 !important; }
body.vf.woocommerce-account .site-content { padding-block: 0; }
.vf.woocommerce-account .woocommerce { color: var(--vf-ink); font: 400 15px/1.55 var(--vf-font); }

/* ---------- Peças comuns ---------- */
.vf .vf-btn--block { width: 100%; }
.vf .vf-btn--sm { min-height: 44px; padding: 8px 14px; font-size: 14px; }
.vf .vf-btn--quiet, .vf a.vf-btn--quiet, .vf button.vf-btn--quiet { background: transparent; color: var(--vf-mut); border-color: transparent; }
.vf .vf-btn--quiet:is(:hover, :focus, :active), .vf a.vf-btn--quiet:is(:hover, :focus, :active), .vf button.vf-btn--quiet:is(:hover, :focus, :active) { background: var(--cx-chip); color: var(--vf-ink); }
.vf button.vf-btn--primary, .vf a.vf-btn--primary { background: var(--vf-blue); color: #fff; }
.vf button.vf-btn--primary:is(:hover, :focus, :active), .vf a.vf-btn--primary:is(:hover, :focus, :active) { background: var(--vf-blue-ink); color: #fff; }
.vf button.vf-btn--accent { background: var(--vf-orange-btn); color: #fff; }
.vf button.vf-btn--accent:is(:hover, :focus, :active) { background: var(--vf-orange-ink); color: #fff; }
.vf .vf-btn:is([disabled], [aria-disabled="true"]) { opacity: .65; cursor: not-allowed; }
.vf .vf-btn.is-busy { opacity: 1; cursor: progress; }

.vf .vf-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--vf-blue); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.vf .vf-link:hover { color: var(--vf-blue-ink); text-decoration-thickness: 2px; }
.vf .vf-back { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; margin: -6px 0 6px; color: var(--vf-blue); font-weight: 700; text-decoration: none; }
.vf .vf-back:hover { color: var(--vf-blue-ink); text-decoration: underline; }
.vf-back .vf-ico { width: 18px; height: 18px; }
.vf .vf-hint { display: block; margin-top: 6px; color: var(--vf-mut); font-size: 13px; line-height: 1.45; }

/* Campos */
.vf.woocommerce-account .form-row { float: none; width: auto; margin: 0 0 16px; padding: 0; }
.vf.woocommerce-account .form-row label { display: block; margin: 0 0 6px; font: 600 14px/1.3 var(--vf-font); color: var(--vf-ink); text-transform: none; letter-spacing: 0; }
.vf.woocommerce-account .form-row label.checkbox, .vf.woocommerce-account label.woocommerce-form__label-for-checkbox {
	display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin: 0; font-weight: 500; cursor: pointer;
}
.vf.woocommerce-account :is(.required, abbr.required) { color: var(--vf-err); text-decoration: none; border: 0; }
.vf.woocommerce-account .optional { color: var(--vf-mut); font-weight: 400; }
.vf.woocommerce-account .woocommerce input:is(.input-text, [type="text"], [type="email"], [type="tel"], [type="password"]),
.vf.woocommerce-account .woocommerce select,
.vf.woocommerce-account .woocommerce textarea,
.vf.woocommerce-account .woocommerce .select2-container .select2-selection--single {
	width: 100%; min-height: 48px; height: 48px; padding: 0 14px; border: 1px solid var(--vf-line-2); border-radius: var(--vf-r-sm) !important;
	background: #fff; color: var(--vf-ink); font: 400 16px/1.3 var(--vf-font); box-shadow: none; transition: border-color .15s, box-shadow .15s;
}
.vf.woocommerce-account .woocommerce textarea { height: auto; min-height: 104px; padding: 12px 14px; }
.vf.woocommerce-account .woocommerce input::placeholder { color: var(--vf-ph); opacity: 1; }
.vf.woocommerce-account .woocommerce :is(input, select, textarea):focus,
.vf.woocommerce-account .select2-container--open .select2-selection--single,
.vf.woocommerce-account .select2-container--focus .select2-selection--single {
	border-color: var(--vf-blue); box-shadow: 0 0 0 3px rgba(29, 63, 179, .2); outline: none;
}
.vf.woocommerce-account .woocommerce input[type="checkbox"] { width: 20px; height: 20px; min-height: 0; margin: 0; accent-color: var(--vf-blue); flex: none; }
.vf.woocommerce-account .woocommerce .select2-container { width: 100% !important; }
.vf.woocommerce-account .select2-container .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 46px; color: var(--vf-ink); }
.vf.woocommerce-account .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
.vf.woocommerce-account .select2-dropdown { border-color: var(--vf-line-2); border-radius: var(--vf-r-sm); font-family: var(--vf-font); }
.vf.woocommerce-account .select2-results__option { min-height: 44px; padding: 10px 14px; }
.vf.woocommerce-account .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--vf-blue); color: #fff; }
.vf.woocommerce-account .woocommerce-input-wrapper > strong { display: flex; align-items: center; min-height: 48px; padding: 0 14px; border-radius: var(--vf-r-sm); background: var(--cx-chip); font-weight: 600; }
.vf.woocommerce-account .woocommerce-invalid :is(input.input-text, .select2-selection) { border-color: var(--vf-err); box-shadow: 0 0 0 3px rgba(192, 38, 45, .12); }
.vf.woocommerce-account .woocommerce-invalid > label { color: var(--vf-err); }

/* Senha com botão mostrar/ocultar e medidor de força do WooCommerce */
.vf .vf-pass { position: relative; display: block; }
.vf .vf-pass input { padding-right: 52px !important; }
.vf .vf-pass__btn {
	position: absolute; top: 2px; right: 2px; display: grid; place-items: center; width: 44px; height: 44px; min-height: 0; padding: 0;
	border: 0; border-radius: 6px; background: transparent; color: var(--vf-mut); cursor: pointer;
}
.vf .vf-pass__btn:is(:hover, :focus, :active) { background: var(--cx-chip); color: var(--vf-ink); }
.vf .vf-pass__btn .vf-ico { width: 20px; height: 20px; }
.vf .woocommerce-password-strength {
	margin-top: 8px; padding: 6px 10px; border: 0; border-radius: 6px; font: 600 13px/1.35 var(--vf-font); text-align: left;
	background: var(--cx-chip); color: var(--vf-ink);
}
.vf .woocommerce-password-strength.short { background: var(--vf-err-soft); color: var(--vf-err); }
.vf .woocommerce-password-strength.bad { background: var(--vf-orange-soft); color: var(--vf-orange-ink); }
.vf .woocommerce-password-strength.good { background: var(--vf-blue-soft); color: var(--vf-blue-ink); }
.vf .woocommerce-password-strength.strong { background: var(--cx-ok-soft); color: var(--cx-ok); }
.vf .woocommerce-password-hint { display: block; margin-top: 6px; color: var(--vf-mut); font-size: 13px; line-height: 1.45; }

/* Avisos do WooCommerce */
.vf.woocommerce-account :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) {
	position: relative; display: block; margin: 0 0 16px; padding: 14px 16px 14px 48px; border: 1px solid var(--vf-line); border-left: 4px solid var(--vf-blue);
	border-radius: var(--vf-r-sm); background: #fff; color: var(--vf-ink); font: 500 14px/1.5 var(--vf-font); list-style: none; text-align: left;
}
.vf.woocommerce-account .woocommerce-error { border-color: #f3c9cb; border-left-color: var(--vf-err); background: var(--vf-err-soft); }
.vf.woocommerce-account .woocommerce-message { border-color: #bfe3cb; border-left-color: var(--cx-ok); background: var(--cx-ok-soft); }
.vf.woocommerce-account .woocommerce-error li { display: block !important; margin: 0 !important; padding: 2px 0 !important; list-style: none; }
.vf.woocommerce-account .woocommerce-error li::before { display: none; }
.vf.woocommerce-account :is(.woocommerce-error, .woocommerce-message, .woocommerce-info)::before {
	content: ""; position: absolute; left: 16px; top: 15px; width: 20px; height: 20px; background: var(--vf-blue);
	-webkit-mask: var(--i-info) center/contain no-repeat; mask: var(--i-info) center/contain no-repeat; font-size: 0;
}
.vf.woocommerce-account .woocommerce-error::before { background: var(--vf-err); }
.vf.woocommerce-account .woocommerce-message::before { background: var(--cx-ok); }
.vf.woocommerce-account :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) a:not(.button) { color: var(--vf-blue-ink); font-weight: 700; text-decoration: underline; }
.vf.woocommerce-account .woocommerce-error a:not(.button) { color: #8f1c22; }
.vf.woocommerce-account .woocommerce-message a:not(.button) { color: #0b5329; }
.vf.woocommerce-account :is(.woocommerce-message, .woocommerce-info) .button { float: none; display: inline-flex; margin: 8px 0 0; }
.vf.woocommerce-account .woocommerce-notices-wrapper:empty { display: none; }

/* ---------- Entrada (deslogado) ---------- */
.vf-auth { display: grid; gap: 16px; max-width: 1040px; margin: 0 auto; padding: 20px 0 32px; }
.vf-auth--solo { max-width: 520px; }
.vf-auth__card { min-width: 0; padding: 24px 20px; border: 1px solid var(--vf-line); border-radius: var(--vf-r-lg); background: #fff; box-shadow: var(--cx-shadow); }
.vf .vf-auth__title { margin: 0; font: 800 26px/1.15 var(--vf-font); color: var(--vf-ink); letter-spacing: -.02em; }
.vf-auth__sub { margin: 6px 0 20px; color: var(--vf-mut); font-size: 15px; }
.vf-auth__badge { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 14px; border-radius: 14px; background: var(--vf-blue-soft); color: var(--vf-blue); }
.vf-auth__badge .vf-ico { width: 24px; height: 24px; }
.vf-auth--solo .vf-auth__title { margin-bottom: 8px; }
.vf-auth--solo .vf-auth__card > p:not([class]) { color: var(--vf-mut); }

.vf-auth__tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin: 0 0 20px; padding: 4px; border-radius: var(--vf-r-pill); background: #e6eaf2; }
.vf-auth__tabs[hidden] { display: none; }
.vf .vf-auth__tabs button {
	min-height: 44px; padding: 0 12px; border: 0; border-radius: var(--vf-r-pill); background: transparent; color: var(--vf-ink);
	font: 600 15px var(--vf-font); text-transform: none; letter-spacing: 0; cursor: pointer; transition: background-color .2s, color .2s, box-shadow .2s;
}
.vf .vf-auth__tabs button:is(:hover, :focus) { background: rgba(255, 255, 255, .7); color: var(--vf-ink); }
.vf .vf-auth__tabs button[aria-selected="true"] { background: #fff; color: var(--vf-blue-ink); font-weight: 800; box-shadow: 0 1px 2px rgba(10, 31, 68, .08), 0 4px 10px rgba(10, 31, 68, .08); }

.vf .vf-auth__h { margin: 0 0 14px; font: 800 19px/1.25 var(--vf-font); color: var(--vf-ink); letter-spacing: -.01em; }
.vf-auth.is-tabs .vf-auth__h { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }
.vf-auth__panel + .vf-auth__panel { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--vf-line); }
.vf-auth.is-tabs .vf-auth__panel + .vf-auth__panel { margin-top: 0; padding-top: 0; border-top: 0; }
.vf-auth__panel[hidden] { display: none; }
.vf-auth__panel:focus { outline: none; }
.vf-auth .vf-form { margin: 0; padding: 0; border: 0; }
.vf-auth__label-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.vf-auth__label-row label { margin: 0 !important; }
.vf-auth__label-row .vf-link { min-height: 32px; padding-block: 6px; margin-block: -6px; font-size: 14px; }
.vf-auth__remember { margin-top: -4px !important; margin-bottom: 12px !important; }
.vf-auth__switch { margin: 16px 0 0; color: var(--vf-mut); font-size: 14px; text-align: center; }
.vf .vf-auth__switch a { display: inline-flex; align-items: center; min-height: 44px; color: var(--vf-blue); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.vf-auth .woocommerce-privacy-policy-text p { margin: 0 0 16px; color: var(--vf-mut); font-size: 13px; line-height: 1.5; }
.vf-auth .woocommerce-privacy-policy-text a { color: var(--vf-blue); text-decoration: underline; }
.vf .vf-auth__back { margin: 16px 0 0; text-align: center; }
.vf .vf-auth__back a { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; color: var(--vf-blue); font-weight: 700; text-decoration: none; }
.vf .vf-auth__back a:hover { text-decoration: underline; }
.vf-auth__back .vf-ico { width: 18px; height: 18px; }
.vf-auth--solo form { margin: 0; padding: 0; border: 0; }
.vf-auth--solo .woocommerce-form-row--first, .vf-auth--solo .woocommerce-form-row--last { width: 100%; }
.vf-auth--solo button[type="submit"] {
	width: 100%; min-height: 52px; border: 0; border-radius: var(--vf-r-pill); background: var(--vf-blue); color: #fff; font: 700 16px var(--vf-font); text-transform: none; cursor: pointer;
}
.vf-auth--solo button[type="submit"]:is(:hover, :focus) { background: var(--vf-blue-ink); color: #fff; }
.vf-auth--solo .clear { display: none; }

.vf-auth__perks {
	padding: 24px 20px; border-radius: var(--vf-r-lg); color: #fff;
	background: radial-gradient(120% 90% at 100% 0%, rgba(42, 85, 217, .55) 0%, transparent 60%), linear-gradient(160deg, var(--vf-navy) 0%, var(--vf-navy-2) 100%);
}
.vf .vf-auth__perks-t { margin: 0 0 16px; font: 800 19px/1.25 var(--vf-font); color: #fff; letter-spacing: -.01em; }
.vf-auth__perks ul { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.vf-auth__perks li { display: flex; gap: 14px; align-items: flex-start; margin: 0; }
.vf-auth__perks li > span { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 12px; background: rgba(255, 255, 255, .12); color: #fff; }
.vf-auth__perks li .vf-ico { width: 20px; height: 20px; }
.vf-auth__perks li p { margin: 0; color: #dfe6f5; font-size: 14px; line-height: 1.45; }
.vf-auth__perks li b { display: block; color: #fff; font-size: 15px; }
.vf-auth__help { display: flex; align-items: center; gap: 10px; margin: 20px 0 0; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .16); color: #dfe6f5; font-size: 14px; }
.vf-auth__help .vf-ico { flex: none; width: 20px; height: 20px; }
.vf .vf-auth__help a { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.vf .vf-auth__help a:hover { color: #fff; text-decoration-thickness: 2px; }

@media (min-width: 768px) {
	.vf-auth { padding-top: 32px; }
	.vf-auth__card { padding: 32px; }
	.vf-auth__perks { padding: 32px; }
}
@media (min-width: 1024px) {
	.vf-auth:not(.vf-auth--solo) { grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 24px; align-items: start; padding-top: 40px; }
	.vf-auth__card { padding: 40px; }
	.vf .vf-auth__title { font-size: 30px; }
	.vf-auth__perks { position: sticky; top: var(--vf-sticky-top, 140px); padding: 36px; }
}

/* ---------- Painel (logado) ---------- */
.vf-conta { padding: 16px 0 32px; }
.vf-conta__hero {
	position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 14px;
	padding: 20px 16px; border-radius: var(--vf-r-lg); color: #fff; overflow: hidden;
	background: radial-gradient(100% 140% at 100% 0%, rgba(42, 85, 217, .6) 0%, transparent 55%), linear-gradient(135deg, var(--vf-navy) 0%, var(--vf-navy-2) 100%);
}
.vf .vf-conta__avatar {
	display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #fff; color: var(--vf-navy); overflow: hidden;
	font: 800 19px/1 var(--vf-font); letter-spacing: .02em; text-decoration: none; box-shadow: 0 0 0 4px rgba(255, 255, 255, .16); transition: box-shadow .2s;
}
.vf .vf-conta__avatar:is(:hover, :focus) { color: var(--vf-navy); box-shadow: 0 0 0 4px rgba(255, 255, 255, .5); }
.vf .vf-conta__avatar img { display: block; border-radius: 50%; width: 100%; height: 100%; object-fit: cover; }
.vf-conta__who { min-width: 0; }
.vf-conta__eyebrow { margin: 0; color: #c9d4ee; font: 700 12px/1.3 var(--vf-font); letter-spacing: .08em; text-transform: uppercase; }
.vf .vf-conta__hello { margin: 2px 0 4px; color: #fff; font: 800 22px/1.15 var(--vf-font); letter-spacing: -.02em; overflow-wrap: anywhere; }
.vf-conta__meta { display: flex; flex-direction: column; gap: 2px; margin: 0; color: #dfe6f5; font-size: 13px; line-height: 1.4; }
.vf-conta__meta span { overflow-wrap: anywhere; }
@media (min-width: 768px) {
	.vf-conta__meta { flex-direction: row; flex-wrap: wrap; gap: 2px 12px; }
	.vf-conta__meta span + span::before { content: "·"; margin-right: 12px; color: #9fb0d6; }
}
.vf .vf-conta__out {
	grid-column: 1 / -1; justify-self: start; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 16px;
	border: 1.5px solid rgba(255, 255, 255, .55); border-radius: var(--vf-r-pill); color: #fff; font: 700 14px var(--vf-font); text-decoration: none;
}
.vf .vf-conta__out:is(:hover, :focus) { background: #fff; color: var(--vf-navy); border-color: #fff; }
.vf-conta__out .vf-ico { width: 18px; height: 18px; }

.vf-conta__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 12px; align-items: start; }
.vf.woocommerce-account .vf-conta__main { width: auto !important; max-width: none !important; min-width: 0; flex: none; float: none; margin: 0; padding: 0 !important; border: 0; }
.vf.woocommerce-account .vf-conta :is(.amount, bdi) { color: inherit; }
.vf-conta__main:focus { outline: none; }

/* Menu: faixa rolável no celular */
.vf .vf-conta-nav { min-width: 0; margin: 0; }
.vf.woocommerce-account .vf-conta-nav .vf-conta-nav__list {
	display: flex; gap: 8px; margin: 0 calc(-1 * var(--vf-gutter, 16px)); padding: 4px var(--vf-gutter, 16px) 8px; list-style: none;
	overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: none;
}
.vf .vf-conta-nav__list::-webkit-scrollbar { display: none; }
.vf .vf-conta-nav li { flex: none; margin: 0; scroll-snap-align: start; }
.vf .vf-conta-nav a {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 16px; border: 1px solid var(--vf-line-2); border-radius: var(--vf-r-pill);
	background: #fff; color: var(--vf-ink); font: 600 14px/1.2 var(--vf-font); text-decoration: none; white-space: nowrap; text-transform: none; letter-spacing: 0;
	transition: background-color .15s, color .15s, border-color .15s;
}
.vf .vf-conta-nav a .vf-ico { width: 18px; height: 18px; color: var(--vf-blue); }
.vf .vf-conta-nav a:hover { background: var(--cx-chip); color: var(--vf-ink); border-color: var(--vf-line-2); }
.vf .vf-conta-nav a[aria-current="page"] { background: var(--vf-navy); border-color: var(--vf-navy); color: #fff; }
.vf .vf-conta-nav a[aria-current="page"] .vf-ico { color: #fff; }
.vf .vf-conta-nav .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--vf-err); }
.vf .vf-conta-nav .woocommerce-MyAccount-navigation-link--customer-logout a .vf-ico { color: var(--vf-err); }
.vf .vf-conta-nav .woocommerce-MyAccount-navigation-link--customer-logout a:hover { background: var(--vf-err-soft); color: #9d1d23; }

@media (min-width: 768px) {
	.vf-conta { padding-top: 24px; }
	.vf-conta__hero { grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px; padding: 24px 28px; }
	.vf .vf-conta__avatar { width: 64px; height: 64px; font-size: 22px; }
	.vf .vf-conta__hello { font-size: 28px; }
	.vf .vf-conta__out { grid-column: auto; justify-self: end; }
	.vf .vf-conta-nav .woocommerce-MyAccount-navigation-link--customer-logout { display: none; } /* "Sair" já está no cabeçalho */
	.vf.woocommerce-account .vf-conta-nav .vf-conta-nav__list { margin: 0; padding: 4px 0 8px; flex-wrap: wrap; overflow: visible; }
}
@media (min-width: 1024px) {
	.vf-conta { padding-top: 32px; }
	.vf-conta__grid { grid-template-columns: 248px minmax(0, 1fr); gap: 24px; margin-top: 24px; }
	.vf .vf-conta-nav { position: sticky; top: var(--vf-sticky-top, 140px); padding: 8px; border: 1px solid var(--vf-line); border-radius: var(--vf-r-lg); background: #fff; box-shadow: var(--cx-shadow); }
	.vf.woocommerce-account .vf-conta-nav .vf-conta-nav__list { display: grid; gap: 2px; padding: 0; }
	.vf .vf-conta-nav a { display: flex; gap: 12px; width: 100%; min-height: 48px; padding: 10px 14px; border: 0; border-radius: var(--vf-r-sm); font-size: 15px; }
	.vf .vf-conta-nav a .vf-ico { width: 20px; height: 20px; }
	.vf .vf-conta-nav a[aria-current="page"] { background: var(--vf-blue-soft); color: var(--vf-blue-ink); font-weight: 700; box-shadow: inset 3px 0 0 var(--vf-blue); }
	.vf .vf-conta-nav a[aria-current="page"] .vf-ico { color: var(--vf-blue); }
	.vf .vf-conta-nav .woocommerce-MyAccount-navigation-link--customer-logout { display: block; margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--vf-line); }
	.vf .vf-conta__out { display: none; } /* "Sair" fica no menu lateral */
}

/* Seções e caixas */
.vf-conta-sec + .vf-conta-sec { margin-top: 24px; }
.vf-conta-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 4px 16px; margin: 0 0 14px; }
.vf .vf-conta-head__t { margin: 0; font: 800 20px/1.2 var(--vf-font); color: var(--vf-ink); letter-spacing: -.015em; text-transform: none; }
.vf-conta-head__d { margin: 4px 0 0; color: var(--vf-mut); font-size: 14px; line-height: 1.5; }
.vf-conta-head .vf-link { min-height: 32px; font-size: 14px; }
.vf-box { min-width: 0; padding: 20px 16px; border: 1px solid var(--vf-line); border-radius: var(--vf-r-lg); background: #fff; box-shadow: var(--cx-shadow); }
.vf-box + .vf-box, .vf-order-hd + .vf-box, .vf-order-cols, .vf-box--extra { margin-top: 16px; }
.vf .vf-box__t { margin: 0 0 16px; font: 800 17px/1.3 var(--vf-font); color: var(--vf-ink); letter-spacing: -.01em; text-transform: none; }
.vf .vf-box__sub { margin: 20px 0 10px; font: 700 15px/1.3 var(--vf-font); color: var(--vf-ink); text-transform: none; }
@media (min-width: 768px) { .vf-box { padding: 24px; } .vf .vf-conta-head__t { font-size: 22px; } }

/* Estado vazio */
.vf-conta-empty { display: grid; justify-items: center; gap: 4px; padding: 32px 20px; border: 1px dashed var(--vf-line-2); border-radius: var(--vf-r-lg); background: #fff; text-align: center; }
.vf-conta-empty__ico { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 8px; border-radius: 50%; background: var(--vf-blue-soft); color: var(--vf-blue); }
.vf-conta-empty__ico .vf-ico { width: 28px; height: 28px; }
.vf .vf-conta-empty__t { margin: 0; font: 800 18px/1.3 var(--vf-font); color: var(--vf-ink); text-transform: none; }
.vf-conta-empty p { max-width: 42ch; margin: 0 0 12px; color: var(--vf-mut); }

/* Pílula de status */
.vf-pill-status {
	display: inline-flex; align-items: center; gap: 6px; min-height: 26px; padding: 3px 10px; border-radius: var(--vf-r-pill);
	font: 700 12.5px/1.2 var(--vf-font); white-space: nowrap; background: var(--cx-chip); color: var(--vf-mut);
}
.vf-pill-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.vf-pill-status--warn { background: var(--vf-orange-soft); color: var(--vf-orange-ink); }
.vf-pill-status--info { background: var(--vf-blue-soft); color: var(--vf-blue-ink); }
.vf-pill-status--ok { background: var(--cx-ok-soft); color: var(--cx-ok); }
.vf-pill-status--bad { background: var(--vf-err-soft); color: #a8222a; }
.vf-pill-status--mut { background: var(--cx-chip); color: #4f5668; }

/* Miniaturas dos itens */
.vf-thumbs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.vf-thumbs li { display: grid; place-items: center; width: 48px; height: 48px; margin: 0; border: 1px solid var(--vf-line); border-radius: var(--vf-r-sm); background: #fff; overflow: hidden; }
.vf-thumbs img { display: block; width: 100%; height: 100%; object-fit: contain; }
.vf-thumbs__more { background: var(--cx-chip) !important; color: var(--vf-ink); font: 700 13px var(--vf-font); }

/* ---------- Início ---------- */
.vf-last { position: relative; padding: 20px 16px; border: 1px solid var(--vf-line); border-radius: var(--vf-r-lg); background: #fff; box-shadow: var(--cx-shadow); overflow: hidden; }
.vf-last::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--vf-blue), var(--vf-orange)); }
.vf-last__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.vf-last__eyebrow { margin: 0; color: var(--vf-mut); font: 700 12px/1.3 var(--vf-font); letter-spacing: .06em; text-transform: uppercase; }
.vf-last__num { margin: 8px 0 4px; color: var(--vf-ink); font: 800 22px/1.2 var(--vf-font); letter-spacing: -.02em; }
.vf-last__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 14px; margin: 0 0 14px; color: var(--vf-mut); font-size: 14px; }
.vf-last__meta strong { color: var(--vf-ink); font-size: 17px; }
.vf-last__actions { display: grid; gap: 8px; margin-top: 16px; }
@media (min-width: 560px) { .vf-last__actions { display: flex; flex-wrap: wrap; } }
@media (min-width: 768px) { .vf-last { padding: 24px 28px; } .vf-last__num { font-size: 26px; } }

.vf-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.vf-stats li { margin: 0; }
.vf .vf-stat {
	display: flex; flex-direction: column; justify-content: center; gap: 2px; height: 100%; min-height: 84px; padding: 12px 14px; border: 1px solid var(--vf-line);
	border-radius: var(--vf-r-md); background: #fff; color: var(--vf-mut); text-decoration: none; font-size: 13px; line-height: 1.3; transition: border-color .15s, box-shadow .2s;
}
.vf .vf-stat b { color: var(--vf-navy); font: 800 26px/1 var(--vf-font); letter-spacing: -.02em; }
.vf .vf-stat:hover { border-color: var(--vf-blue); color: var(--vf-ink); box-shadow: var(--cx-shadow); }
@media (min-width: 768px) { .vf-stats { gap: 12px; } .vf .vf-stat { padding: 16px 20px; font-size: 14px; } .vf .vf-stat b { font-size: 30px; } }

.vf-addr-mini { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.vf-addr-mini li {
	display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 12px; align-items: center; margin: 0; padding: 14px; border: 1px solid var(--vf-line);
	border-radius: var(--vf-r-md); background: #fff;
}
.vf-addr-mini__ico { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: var(--vf-blue-soft); color: var(--vf-blue); }
.vf-addr-mini__ico .vf-ico { width: 20px; height: 20px; }
.vf-addr-mini li > div { display: flex; flex-direction: column; min-width: 0; color: var(--vf-mut); font-size: 14px; line-height: 1.45; }
.vf-addr-mini li > div b { color: var(--vf-ink); font-size: 15px; }
.vf-addr-mini li > div span { overflow-wrap: anywhere; }
.vf-addr-mini .vf-btn { grid-column: 1 / -1; justify-self: stretch; margin-top: 6px; }
@media (min-width: 560px) {
	.vf-addr-mini li { grid-template-columns: auto minmax(0, 1fr) auto; }
	.vf-addr-mini .vf-btn { grid-column: auto; margin-top: 0; }
}
@media (min-width: 1200px) { .vf-addr-mini { grid-template-columns: 1fr 1fr; } }

.vf-shortcuts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin: 0; padding: 0; list-style: none; }
.vf-shortcuts li { margin: 0; }
.vf .vf-shortcut {
	display: flex; align-items: center; gap: 12px; height: 100%; min-height: 68px; padding: 12px 14px; border: 1px solid var(--vf-line); border-radius: var(--vf-r-md);
	background: #fff; color: var(--vf-ink); text-decoration: none; transition: border-color .15s, box-shadow .2s var(--vf-ease), transform .2s var(--vf-ease);
}
.vf-shortcut__ico { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 12px; background: var(--vf-blue-soft); color: var(--vf-blue); }
.vf-shortcut__ico .vf-ico { width: 22px; height: 22px; }
.vf-shortcut__txt { display: flex; flex-direction: column; min-width: 0; color: var(--vf-mut); font-size: 13px; line-height: 1.35; }
.vf-shortcut__txt b { color: var(--vf-ink); font-size: 15px; }
.vf .vf-shortcut .vf-shortcut__chev { flex: none; width: 18px; height: 18px; margin-left: auto; color: var(--vf-icon-mut); }
.vf .vf-shortcut:hover { border-color: var(--vf-blue); color: var(--vf-ink); box-shadow: var(--cx-shadow); transform: translateY(-1px); }
.vf .vf-shortcut:hover .vf-shortcut__txt b { color: var(--vf-blue-ink); }
@media (min-width: 560px) { .vf-shortcuts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
@media (min-width: 1200px) { .vf-shortcuts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }


/* ---------- Pedidos ---------- */
.vf.woocommerce-account .vf-chips { display: flex; gap: 8px; margin: 0 calc(-1 * var(--vf-gutter, 16px)) 16px; padding: 2px var(--vf-gutter, 16px); overflow-x: auto; scrollbar-width: none; }
.vf-chips::-webkit-scrollbar { display: none; }
.vf .vf-chip {
	flex: none; display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border: 1px solid var(--vf-line-2); border-radius: var(--vf-r-pill);
	background: #fff; color: var(--vf-ink); font: 600 14px/1.2 var(--vf-font); text-decoration: none; white-space: nowrap;
}
.vf .vf-chip:hover { background: var(--cx-chip); color: var(--vf-ink); }
.vf .vf-chip[aria-current="true"] { background: var(--vf-navy); border-color: var(--vf-navy); color: #fff; }
@media (min-width: 768px) { .vf.woocommerce-account .vf-chips { margin-inline: 0; padding-inline: 0; flex-wrap: wrap; overflow: visible; } }

.vf table.vf-orders { width: 100%; margin: 0; border: 0; border-collapse: separate; border-spacing: 0; background: none; }
.vf table.vf-orders thead { position: absolute; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }
.vf table.vf-orders tbody { display: grid; gap: 12px; }
.vf table.vf-orders tr.vf-orders__row {
	display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 16px; border: 1px solid var(--vf-line); border-radius: var(--vf-r-lg);
	background: #fff; box-shadow: var(--cx-shadow);
}
.vf table.vf-orders :is(th, td).vf-orders__c { display: block; padding: 0; border: 0; background: none; color: var(--vf-ink); font: 500 14px/1.45 var(--vf-font); text-align: left; vertical-align: middle; }
.vf .vf-orders__c--number { grid-column: 1; }
.vf .vf-orders__c--number a { display: inline-flex; align-items: center; min-height: 24px; color: var(--vf-ink); font: 800 17px/1.25 var(--vf-font); text-decoration: none; letter-spacing: -.01em; }
.vf .vf-orders__c--number a:hover { color: var(--vf-blue-ink); text-decoration: underline; }
.vf .vf-orders__date { display: block; color: var(--vf-mut); font-size: 13px; font-weight: 500; }
.vf table.vf-orders td.vf-orders__c--order-status { grid-column: 2; grid-row: 1; justify-self: end; align-self: start; }
.vf table.vf-orders td.vf-orders__c--vf-items { grid-column: 1 / -1; }
.vf table.vf-orders td.vf-orders__c--order-total { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding-top: 12px; border-top: 1px solid var(--vf-line); }
.vf .vf-orders__total { font-size: 17px; font-weight: 800; color: var(--vf-ink); }
.vf .vf-orders__count { color: var(--vf-mut); font-size: 13px; }
.vf table.vf-orders td.vf-orders__c--order-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.vf table.vf-orders td.vf-orders__c--order-actions .vf-btn { flex: 1 1 auto; }
/* Colunas de plugins (ex.: rastreio): rótulo visível no card */
.vf table.vf-orders td.vf-orders__c:not(.vf-orders__c--vf-items):not(.vf-orders__c--order-status):not(.vf-orders__c--order-total):not(.vf-orders__c--order-actions) { grid-column: 1 / -1; }
.vf table.vf-orders td.vf-orders__c:not(.vf-orders__c--vf-items):not(.vf-orders__c--order-status):not(.vf-orders__c--order-total):not(.vf-orders__c--order-actions)::before {
	content: attr(data-title) ": "; color: var(--vf-mut); font-weight: 700;
}
.vf table.vf-orders td.vf-orders__c a:not(.vf-btn) { color: var(--vf-blue); font-weight: 700; text-decoration: underline; }

@media (min-width: 900px) {
	.vf table.vf-orders { display: table; border: 1px solid var(--vf-line); border-radius: var(--vf-r-lg); background: #fff; box-shadow: var(--cx-shadow); overflow: hidden; }
	.vf table.vf-orders thead { position: static; clip: auto; width: auto; height: auto; overflow: visible; display: table-header-group; }
	.vf table.vf-orders tbody { display: table-row-group; }
	.vf table.vf-orders tr.vf-orders__row { display: table-row; padding: 0; border: 0; border-radius: 0; box-shadow: none; }
	.vf table.vf-orders thead th {
		padding: 12px 16px; border: 0; border-bottom: 1px solid var(--vf-line); background: #f7f8fb; color: var(--vf-mut);
		font: 700 12px/1.3 var(--vf-font); letter-spacing: .05em; text-transform: uppercase; text-align: left;
	}
	.vf table.vf-orders :is(th, td).vf-orders__c { display: table-cell; padding: 16px; border-bottom: 1px solid var(--vf-line); }
	.vf table.vf-orders tr:last-child :is(th, td).vf-orders__c { border-bottom: 0; }
	.vf table.vf-orders tr.vf-orders__row:hover :is(th, td) { background: #fafbfd; }
	.vf table.vf-orders td.vf-orders__c--order-total { display: table-cell; padding-top: 16px; border-top: 0; white-space: nowrap; }
	.vf .vf-orders__total { display: block; font-size: 15px; }
	.vf .vf-orders__count { display: block; }
	.vf table.vf-orders td.vf-orders__c--order-actions { display: table-cell; text-align: right; white-space: nowrap; }
	.vf table.vf-orders td.vf-orders__c--order-actions .vf-btn { margin: 2px 0 2px 6px; }
	.vf table.vf-orders td.vf-orders__c::before { display: none; }
	.vf .vf-thumbs li { width: 44px; height: 44px; }
}

.vf-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: 16px; }
.vf-pager__info { color: var(--vf-mut); font-size: 14px; }

/* ---------- Detalhe do pedido ---------- */
.vf-order-hd { padding: 20px 16px; border: 1px solid var(--vf-line); border-radius: var(--vf-r-lg); background: #fff; box-shadow: var(--cx-shadow); }
.vf-order-hd__main { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.vf .vf-order-hd__t { margin: 0; font: 800 22px/1.2 var(--vf-font); color: var(--vf-ink); letter-spacing: -.02em; text-transform: none; }
.vf-order-hd__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 14px; margin: 6px 0 0; color: var(--vf-mut); font-size: 14px; }
.vf-order-hd__meta strong { color: var(--vf-ink); font-size: 17px; }
.vf-order-hd__actions { display: grid; gap: 8px; margin-top: 16px; }
@media (min-width: 560px) { .vf-order-hd__actions { display: flex; flex-wrap: wrap; } }
@media (min-width: 768px) { .vf-order-hd { padding: 24px 28px; } .vf .vf-order-hd__t { font-size: 26px; } }

.vf-closed { display: flex; gap: 12px; align-items: flex-start; margin: 0; padding: 14px 16px; border-radius: var(--vf-r-md); background: var(--vf-err-soft); color: var(--vf-ink); }
.vf-closed .vf-ico { flex: none; width: 22px; height: 22px; color: var(--vf-err); }

.vf-timeline { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.vf-timeline__step { position: relative; display: flex; gap: 14px; margin: 0; padding: 0 0 18px; }
.vf-timeline__step:last-child { padding-bottom: 0; }
.vf-timeline__step::before { content: ""; position: absolute; left: 13px; top: 28px; bottom: 0; width: 2px; background: var(--vf-line-2); }
.vf-timeline__step:last-child::before { display: none; }
.vf-timeline__step.is-done::before { background: var(--vf-blue); }
.vf-timeline__dot {
	position: relative; z-index: 1; display: grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 50%;
	border: 2px solid var(--vf-line-2); background: #fff; color: #fff;
}
.vf-timeline__dot .vf-ico { width: 15px; height: 15px; stroke-width: 3; }
.vf-timeline__step.is-done .vf-timeline__dot { border-color: var(--vf-blue); background: var(--vf-blue); }
.vf-timeline__step.is-current .vf-timeline__dot { border-color: var(--vf-blue); box-shadow: 0 0 0 4px var(--vf-blue-soft); }
.vf-timeline__step.is-current .vf-timeline__dot::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--vf-blue); }
.vf-timeline__txt { display: flex; flex-direction: column; padding-top: 3px; color: var(--vf-mut); font-size: 14px; line-height: 1.4; }
.vf-timeline__txt b { color: var(--vf-mut); font-weight: 600; }
.vf-timeline__step:is(.is-done, .is-current) .vf-timeline__txt b { color: var(--vf-ink); font-weight: 700; }
.vf-timeline__step.is-current .vf-timeline__txt b { color: var(--vf-blue-ink); }
.vf-timeline__txt small { color: var(--vf-mut); font-size: 13px; }
@media (min-width: 768px) {
	.vf-timeline { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.vf-timeline__step { flex-direction: column; align-items: center; gap: 8px; padding: 0 4px; text-align: center; }
	.vf-timeline__step::before { left: calc(50% + 14px); right: calc(-50% + 14px); top: 13px; bottom: auto; width: auto; height: 2px; }
	.vf-timeline__txt { align-items: center; padding-top: 0; }
}

.vf-notes { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.vf-notes li { margin: 0; padding: 12px 14px; border-radius: var(--vf-r-md); background: var(--vf-bg); }
.vf-notes time { display: block; margin-bottom: 4px; color: var(--vf-mut); font: 700 12.5px var(--vf-font); }
.vf-notes p { margin: 0; color: var(--vf-ink); }
.vf-notes p + p { margin-top: 6px; }

.vf-box--extra { overflow-x: auto; }
.vf-box--extra :is(h2, h3) { margin: 0 0 12px; font: 800 17px/1.3 var(--vf-font); color: var(--vf-ink); text-transform: none; }
.vf-box--extra table { width: 100%; border-collapse: collapse; font-size: 14px; }
.vf-box--extra :is(th, td) { padding: 8px 10px; border-bottom: 1px solid var(--vf-line); text-align: left; }

.vf-items { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.vf-item { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 4px 14px; align-items: start; margin: 0; padding: 14px 0; border-bottom: 1px solid var(--vf-line); }
.vf-item:first-child { padding-top: 0; }
.vf-item__img { grid-row: span 2; display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid var(--vf-line); border-radius: var(--vf-r-sm); background: #fff; overflow: hidden; }
.vf-item__img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.vf-item__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.vf .vf-item__name { color: var(--vf-ink); font-weight: 700; font-size: 15px; line-height: 1.35; text-decoration: none; overflow-wrap: anywhere; }
.vf a.vf-item__name:hover { color: var(--vf-blue-ink); text-decoration: underline; }
.vf-item__meta { margin: 2px 0 0; padding: 0; list-style: none; color: var(--vf-mut); font-size: 13px; }
.vf-item__meta li, .vf-item__meta p { display: inline; margin: 0; }
.vf-item__meta strong { font-weight: 600; }
.vf-item__qty { color: var(--vf-mut); font-size: 13px; }
.vf-item__total { grid-column: 2; color: var(--vf-ink); font-size: 15px; }
@media (min-width: 560px) {
	.vf-item { grid-template-columns: 64px minmax(0, 1fr) auto; }
	.vf-item__img { grid-row: auto; }
	.vf-item__total { grid-column: auto; text-align: right; }
}

.vf-totals { display: grid; gap: 8px; margin: 16px 0 0; }
.vf-totals__row { display: flex; justify-content: space-between; gap: 16px; margin: 0; color: var(--vf-mut); font-size: 14px; }
.vf-totals__row dt { font-weight: 500; }
.vf-totals__row dd { margin: 0; color: var(--vf-ink); text-align: right; }
.vf-totals__row--order_total { margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--vf-line); color: var(--vf-ink); font-size: 16px; }
.vf-totals__row--order_total :is(dt, dd) { font-weight: 800; }
.vf-totals__row--order_total dd { font-size: 19px; }
.vf-totals__row small { display: block; color: var(--vf-mut); font-size: 12px; font-weight: 500; }
.vf-order-note { margin: 16px 0 0; padding: 12px 14px; border-radius: var(--vf-r-md); background: var(--vf-bg); font-size: 14px; }

.vf-facts { display: grid; gap: 16px; margin: 0; }
.vf-facts > div { margin: 0; }
.vf-facts dt { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; color: var(--vf-mut); font: 700 12px/1.3 var(--vf-font); letter-spacing: .05em; text-transform: uppercase; }
.vf-facts dt .vf-ico { width: 16px; height: 16px; color: var(--vf-blue); }
.vf-facts dd { margin: 0; color: var(--vf-ink); font-size: 14px; line-height: 1.55; overflow-wrap: anywhere; }
.vf.woocommerce-account .vf-facts address { margin: 0; font: 400 14px/1.55 var(--vf-font); font-style: normal; color: var(--vf-ink); }

.vf-orderhelp { border-color: #cdd8f6; background: linear-gradient(180deg, #f5f8ff 0%, #fff 100%); scroll-margin-top: calc(var(--vf-header-h, 112px) + 16px); }
.vf-orderhelp:focus { outline: none; }
.vf-orderhelp p { margin: -8px 0 14px; color: var(--vf-mut); font-size: 14px; }
.vf-orderhelp__actions { display: grid; gap: 8px; }

.vf-order-side { display: grid; gap: 16px; align-content: start; min-width: 0; }
.vf-order-side .vf-box + .vf-box { margin-top: 0; }
.vf-order-cols { display: grid; gap: 16px; }
@media (min-width: 1100px) { .vf-order-cols { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); align-items: start; } }

/* ---------- Endereços ---------- */
.vf-addrs { display: grid; gap: 16px; }
.vf-addr { display: flex; flex-direction: column; gap: 14px; padding: 20px 16px; border: 1px solid var(--vf-line); border-radius: var(--vf-r-lg); background: #fff; box-shadow: var(--cx-shadow); }
.vf-addr__hd { display: flex; gap: 12px; align-items: flex-start; }
.vf-addr__ico { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 12px; background: var(--vf-blue-soft); color: var(--vf-blue); }
.vf-addr__ico .vf-ico { width: 22px; height: 22px; }
.vf .vf-addr__t { margin: 0; font: 800 17px/1.3 var(--vf-font); color: var(--vf-ink); text-transform: none; }
.vf-addr__d { margin: 2px 0 0; color: var(--vf-mut); font-size: 13px; }
.vf-addr__body { flex: 1; margin: 0; padding: 14px; border-radius: var(--vf-r-md); background: var(--vf-bg); color: var(--vf-ink); font-size: 14.5px; font-style: normal; line-height: 1.6; overflow-wrap: anywhere; }
.vf-addr.is-empty .vf-addr__body { color: var(--vf-mut); }
.vf-addr .vf-btn { align-self: stretch; }
@media (min-width: 768px) { .vf-addrs { grid-template-columns: 1fr 1fr; } .vf-addr { padding: 24px; } .vf-addr .vf-btn { align-self: flex-start; } }

/* Formulários do painel (endereço, dados da conta) */
.vf-conta .vf-form { margin: 0; padding: 20px 16px; border: 1px solid var(--vf-line); border-radius: var(--vf-r-lg); background: #fff; box-shadow: var(--cx-shadow); }

.vf-fields { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 16px; }
.vf-fields .form-row { margin-bottom: 16px !important; }
.vf-fields::before, .vf-fields::after { display: none !important; }
.vf-form__actions { display: grid; gap: 8px; margin-top: 8px; padding-top: 16px; border-top: 1px solid var(--vf-line); }
.vf-conta .vf-fieldset { min-width: 0; margin: 0 0 20px; padding: 0; border: 0; }
.vf-fieldset__t + * { clear: both; }
.vf .vf-fieldset__t { float: left; display: flex; align-items: center; gap: 10px; width: 100%; margin: 0 0 14px; padding: 0 0 10px; border-bottom: 1px solid var(--vf-line); color: var(--vf-ink); font: 800 16px/1.3 var(--vf-font); text-transform: none; }
.vf-fieldset__t .vf-ico { width: 20px; height: 20px; color: var(--vf-blue); }
.vf-fieldset__d { margin: -4px 0 14px; color: var(--vf-mut); font-size: 14px; }
@media (min-width: 768px) {
	.vf-conta .vf-form { max-width: 880px; padding: 28px; }
	.vf-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vf-fields > .form-row-wide, .vf-fields > .woocommerce-form-row--wide, .vf-fields > [class*="form-row"]:not(.form-row-first):not(.form-row-last) { grid-column: 1 / -1; }
	.vf-form__actions { display: flex; align-items: center; flex-wrap: wrap; }
}

/* Foto do perfil */
.vf-conta .vf-avatar { margin-bottom: 16px; scroll-margin-top: calc(var(--vf-header-h, 112px) + 16px); }
.vf-avatar:focus { outline: none; }
.vf-avatar__top { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.vf .vf-avatar__t { margin-bottom: 4px; padding: 0; border: 0; }
.vf-avatar__top .vf-fieldset__d { margin: 0; }
.vf-avatar__pv { display: grid; place-items: center; flex: none; width: 80px; height: 80px; border-radius: 50%; background: var(--vf-navy); color: #fff; font: 800 26px/1 var(--vf-font); overflow: hidden; box-shadow: 0 0 0 4px var(--vf-blue-soft); }
.vf .vf-avatar__pv img { display: block; border-radius: 50%; width: 100%; height: 100%; object-fit: cover; }
.vf-avatar__pv [hidden] { display: none; }
.vf-avatar__opts { display: flex; flex-wrap: wrap; gap: 10px; min-width: 0; margin: 0 0 16px; padding: 0; border: 0; }
.vf-avatar__opt { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; margin: 0; cursor: pointer; }
.vf-avatar__opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.vf .vf-avatar__opt .vf-avatar__img { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; background: var(--cx-chip); border: 3px solid transparent; box-shadow: 0 0 0 1px var(--vf-line-2); transition: border-color .15s, box-shadow .15s; }
.vf .vf-avatar__opt .vf-avatar__img--ini { background: var(--vf-navy); color: #fff; font: 800 20px/1 var(--vf-font); }
.vf-avatar__lbl { color: var(--vf-mut); font: 600 12.5px/1.2 var(--vf-font); }
.vf .vf-avatar__opt:hover .vf-avatar__img { box-shadow: 0 0 0 1px var(--vf-blue); }
.vf .vf-avatar__opt input:checked ~ .vf-avatar__img { border-color: #fff; box-shadow: 0 0 0 3px var(--vf-blue); }
.vf-avatar__opt input:checked ~ .vf-avatar__lbl { color: var(--vf-blue-ink); }
.vf .vf-avatar__opt input:focus-visible ~ .vf-avatar__img { outline: 3px solid var(--vf-orange); outline-offset: 3px; }
.vf.woocommerce-account .vf-avatar__up input[type="file"] { display: block; width: 100%; min-height: 48px; padding: 10px; border: 1px dashed var(--vf-line-2); border-radius: var(--vf-r-sm); background: #fff; color: var(--vf-ink); font: 400 15px var(--vf-font); }
.vf-avatar__up input[type="file"]::file-selector-button { min-height: 36px; margin-right: 12px; padding: 6px 14px; border: 0; border-radius: 6px; background: var(--vf-blue-soft); color: var(--vf-blue-ink); font: 700 14px var(--vf-font); cursor: pointer; }
.vf-avatar__err { margin: 8px 0 0; padding: 8px 12px; border-radius: 6px; background: var(--vf-err-soft); color: #a8222a; font-size: 14px; font-weight: 600; }
.vf-avatar__err[hidden] { display: none; }
@media (min-width: 768px) { .vf-avatar__pv { width: 96px; height: 96px; font-size: 30px; } .vf .vf-avatar__opt .vf-avatar__img { width: 72px; height: 72px; } }

/* Aviso para escolher avatar (depois de adiar o tutorial 3 vezes) */
.vf-avnote { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0 0 16px; padding: 10px 14px; border: 1px solid #cdd8f6; border-radius: var(--vf-r-md); background: #f5f8ff; color: var(--vf-ink); font-size: 14px; }
.vf-avnote .vf-ico { flex: none; width: 20px; height: 20px; color: var(--vf-blue); }
.vf-avnote span { flex: 1 1 200px; }
.vf-avnote .vf-link { min-height: 44px; }

/* Tutorial do avatar */
html.vf-tour-open { overflow: hidden; }
.vf-tour { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: end center; padding: 0; }
.vf-tour[hidden] { display: none; }
.vf-tour__backdrop { position: absolute; inset: 0; background: rgba(10, 31, 68, .55); }
.vf-tour__box {
	position: relative; width: 100%; max-height: 92vh; overflow-y: auto; padding: 24px 20px calc(20px + env(safe-area-inset-bottom)); border-radius: 20px 20px 0 0;
	background: #fff; color: var(--vf-ink); box-shadow: 0 -8px 40px rgba(10, 31, 68, .25); text-align: center;
}
.vf-tour__box:focus { outline: none; }
.vf-tour__count { margin: 0 0 6px; color: var(--vf-mut); font: 700 12px/1.3 var(--vf-font); letter-spacing: .06em; text-transform: uppercase; }
.vf .vf-tour__t { margin: 0 0 6px; color: var(--vf-ink); font: 800 22px/1.2 var(--vf-font); letter-spacing: -.02em; text-transform: none; }
.vf-tour__t:focus { outline: none; }
.vf-tour__d { max-width: 40ch; margin: 0 auto 18px; color: var(--vf-mut); font-size: 15px; line-height: 1.5; }
.vf-tour__avs { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 16px; padding: 0; list-style: none; }
.vf-tour__avs li { margin: 0; }
.vf .vf-tour .vf-btn--ghost { border: 1.5px solid var(--vf-blue); }
.vf .vf-tour__av { display: block; width: 64px; height: 64px; min-height: 0; padding: 0; border: 3px solid transparent; border-radius: 50%; background: var(--cx-chip); box-shadow: 0 0 0 1px var(--vf-line-2); cursor: pointer; overflow: hidden; transition: box-shadow .15s, transform .15s; }
.vf .vf-tour__av img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.vf .vf-tour__av:is(:hover, :focus) { background: var(--cx-chip); box-shadow: 0 0 0 3px var(--vf-blue); }
.vf-tour__hint { margin: 6px 0 4px; color: var(--vf-mut); font-size: 13px; }
.vf-tour .vf-btn--quiet { margin-top: 8px; }
.vf-tour__pv { display: grid; place-items: center; width: 96px; height: 96px; margin: 8px auto 14px; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 4px var(--vf-blue-soft); }
.vf-tour__pv img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.vf-tour__box[aria-busy="true"] { cursor: progress; }
@media (min-width: 560px) {
	.vf-tour { place-items: center; padding: 24px; }
	.vf-tour__box { max-width: 480px; padding: 32px; border-radius: var(--vf-r-lg); }
	.vf .vf-tour__av { width: 72px; height: 72px; }
}
@media (prefers-reduced-motion: no-preference) {
	.vf-tour:not([hidden]) .vf-tour__box { animation: vf-tour-in .28s var(--vf-ease); }
	@keyframes vf-tour-in { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
	.vf .vf-tour__av:hover { transform: translateY(-2px); }
}

/* ---------- Favoritos ---------- */
.vf-favs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.vf-fav { display: flex; flex-direction: column; min-width: 0; margin: 0; }
.vf-fav .vf-card { flex: 1; }
.vf-fav .vf-card__tools { display: none; } /* O coração do WoodMart leva para a outra página; aqui remove pelo botão abaixo. */
.vf-fav__rm { margin: 6px 0 0; }
.vf .vf-fav__rm .vf-btn { width: 100%; border: 1px solid var(--vf-line-2); background: #fff; font-size: 13.5px; }
.vf-fav__rm .vf-ico { width: 16px; height: 16px; }
@media (min-width: 768px) { .vf-favs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
@media (min-width: 1280px) { .vf-favs { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ---------- Movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce) {
	.vf-conta *, .vf-auth * { transition: none !important; animation: none !important; }
	.vf .vf-shortcut:hover { transform: none; }
}
