/* Funil do WooCommerce: carrinho, finalização, pedido realizado, minha conta, login e criar conta.
   Medidas dos widgets do Elementor (cart, checkout-page, purchase-summary, my-account) e do JetBlocks
   (jet-login, jet-register) nas páginas 7, 8, 1313, 9, 1854 e 1867 em 14/10/2026. O CSS base do
   WooCommerce (woocommerce.css, layout e smallscreen) continua carregando nessas páginas. */

/* Cores globais do kit do Elementor: o botão do snippet 16 ([reset-cart]) usa essas variáveis. */
.fn-page {
	--e-global-color-primary: #0171d8;
	--e-global-color-secondary: #002b5c;
	--e-global-color-text: #303835;
	--e-global-color-accent: #0171d8;
	--e-global-color-45f69b7: #015bb1;
	--e-global-color-808e614: #f3f5f8;
	--e-global-color-f1d131e: #fff;
	--e-global-color-91275d5: #eb1f02;
	--fn-gray: #f3f5f8;
	--fn-line: #dedede;
}

/* Roboto local (cópia da do Elementor em assets/fonts; arquivo variável: todos os pesos). */
@font-face {
	font-family: Roboto;
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url(../fonts/roboto-0f7fcdc8.woff2) format("woff2");
}

:where(.fn) :where(button, input, select, textarea) { font-family: inherit; }
.fn h3 { margin: 0; }

/* Contêiner da página: largura máxima 1300px (kit), margens de 3rem. */
.fn__in {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: calc(1300px + 6rem);
	margin: 0 auto;
	padding: 3rem;
}

/* ---------- Carrinho ---------- */
/* Sem quantidade desde 14/10/2026 (pedido do Bruno): cada brinquedo entra uma vez e a tabela do
   WooCommerce vira uma lista de cartões (foto | nome | remover), igual no computador e no celular. */
.fn--cart .fn__in { min-height: 60vh; }
.fn-cart__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
}
.fn-cart__title {
	margin: 0;
	font-family: var(--fredoka);
	font-size: 30px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--navy);
}
.fn-cart__reset form { margin: 0; }
.fn-page .fn-cart__reset .reset-cart-button {
	padding: 6px 0;
	border: 0;
	background: none !important;
	font-family: var(--poppins);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	color: #5b6575;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.fn-page .fn-cart__reset .reset-cart-button:hover,
.fn-page .fn-cart__reset .reset-cart-button:focus-visible { color: #eb1f02; }
/* Removeu o último item por AJAX: o WooCommerce troca o carrinho pelo aviso de vazio. */
.fn__in:has(.wc-empty-cart-message) .fn-cart__reset { display: none; }

.fn-cart {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 30px;
	align-items: start;
}
.fn-cart .woocommerce-cart-form { margin: 0; }
.fn-cart .cart-collaterals {
	position: sticky;
	top: 7px;
	padding: 22px 24px 18px;
	border-radius: 12px;
	background: var(--fn-gray);
}

.woocommerce .fn-cart table.shop_table.cart {
	display: block;
	margin: 0;
	border: 0;
	border-radius: 0;
	font-family: var(--poppins);
	font-size: 15px;
	line-height: 1.4;
	color: #333;
}
.fn-cart table.cart thead { display: none; }
.fn-cart table.cart tbody { display: flex; flex-direction: column; gap: 12px; }
.woocommerce .fn-cart table.shop_table.cart tr.cart_item {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr) 40px;
	align-items: center;
	gap: 0 16px;
	padding: 12px;
	border: 1px solid #e3e8ef;
	border-radius: 12px;
	background: #fff;
}
.woocommerce .fn-cart table.shop_table.cart tr.cart_item td {
	display: block;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: left !important;
}
.woocommerce .fn-cart table.shop_table.cart tr.cart_item td::before { content: none; display: none; }
/* O woocommerce-smallscreen.css esconde a foto no celular; aqui ela volta. */
.woocommerce .fn-cart table.cart td.product-thumbnail { display: block !important; grid-area: 1 / 1; }
.woocommerce .fn-cart table.cart td.product-name { grid-area: 1 / 2; }
.woocommerce .fn-cart table.cart td.product-remove { grid-area: 1 / 3; justify-self: end; }
.woocommerce .fn-cart table.cart td.product-price,
.woocommerce .fn-cart table.cart td.product-quantity,
.woocommerce .fn-cart table.cart td.product-subtotal { display: none !important; }
.woocommerce .fn-cart table.cart img {
	display: block;
	width: 88px;
	height: 88px;
	object-fit: cover;
	border-radius: 8px;
	background: var(--fn-gray);
}
.woocommerce .fn-cart table.cart .product-name a {
	font-weight: 600;
	color: var(--navy);
	text-decoration: none;
}
.woocommerce .fn-cart table.cart .product-name a:hover { color: var(--blue); }
.woocommerce .fn-cart table.cart a.remove {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	font-family: var(--poppins);
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	color: #6b7587 !important;
	background: var(--fn-gray);
}
.woocommerce .fn-cart table.cart a.remove:hover,
.woocommerce .fn-cart table.cart a.remove:focus-visible { color: #fff !important; background: #eb1f02; }
/* Linha de ações (cupom e "Atualizar carrinho"): sem uso aqui. */
.fn-cart table.cart tr:has(> td.actions),
.fn-cart table.cart td.actions,
.fn-cart [name="update_cart"] { display: none; }

.woocommerce .fn-cart .cart-collaterals .cart_totals { float: none; width: 100%; }
.fn-cart .cart_totals > h2,
.fn-cart .cart_totals > table { display: none; }
.woocommerce .fn-cart .wc-proceed-to-checkout { padding: 0; }
.fn-cart__sum {
	margin: 0 0 14px;
	font-family: var(--poppins);
	font-size: 15px;
	line-height: 1.5;
	color: #444;
}
.fn-cart__sum strong { font-weight: 600; color: var(--navy); }
.woocommerce .fn-cart .wc-proceed-to-checkout a.checkout-button {
	display: block;
	margin: 0;
	padding: 17px 18px;
	border-radius: 30px;
	background: var(--blue);
	font-family: var(--fredoka);
	font-size: 19px;
	font-weight: 500;
	line-height: 1;
	color: #fff;
}
.woocommerce .fn-cart .wc-proceed-to-checkout a.checkout-button:hover { background: var(--blue-d); color: #fff; }
.fn-cart__more {
	display: block;
	margin: 14px 0 0;
	padding: 4px 0;
	font-family: var(--poppins);
	font-size: 14px;
	font-weight: 500;
	text-align: center;
	color: var(--blue);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.fn-cart__more:hover { color: var(--blue-d); }

/* Carrinho vazio: aviso e botão "Ver brinquedos" vêm do woo.css (cor, raio e tamanho com !important). */
.fn--cart .woocommerce { font-family: Roboto, sans-serif; }
.fn--cart .return-to-shop { margin: 0; }
.fn--cart .woocommerce .return-to-shop a.button { font-family: var(--fredoka); line-height: 1.2; }
/* O cart.js do WooCommerce põe o foco no aviso ("removido. Desfazer?") para o leitor de tela. */
.fn .woocommerce [tabindex="-1"]:focus { outline: none; }

/* O balão do carrinho lateral repete o que já está na tela no carrinho e na finalização. */
.fn-page--cart .xoo-wsc-basket,
.fn-page--checkout .xoo-wsc-basket { display: none !important; }

/* ---------- Finalização ---------- */
.fn--checkout { background: var(--fn-gray); }
.fn--checkout .fn__in { max-width: calc(1200px + 6rem); }
.fn-ck {
	display: grid;
	grid-template-columns: 56% auto;
	gap: 24px;
	align-items: stretch;
	font-family: Roboto, sans-serif;
	font-size: 14px;
	line-height: 1.5;
	color: #69727d;
}
.fn-ck__side { align-self: start; position: sticky; top: 15px; }
.woocommerce .fn-ck .col2-set .col-1,
.woocommerce .fn-ck .col2-set .col-2 { float: none; width: 100%; }
.fn-ck #customer_details .col-1,
.fn-ck__box,
.fn-ck #payment {
	padding: 16px 30px;
	border: 1px solid var(--fn-line);
	border-radius: 10px;
	background: #fff;
}
.fn-ck #customer_details .col-1 { margin-bottom: 24px; }
.fn-ck .woocommerce-additional-fields { display: none; }
.fn-ck__review { margin-bottom: 24px; }
/* "Editar orçamento" (volta ao carrinho): à direita, na linha do título do resumo e alinhado pela linha de base
   dele (grade de 2 colunas; o resto da caixa ocupa a largura toda). No celular fica só "Editar". */
.fn-ck__review:has(> .fn-ck__edit) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: baseline;
	column-gap: 12px;
}
.fn-ck__review:has(> .fn-ck__edit) > * { grid-column: 1 / -1; min-width: 0; }
.fn-ck__review:has(> .fn-ck__edit) > #order_review_heading { grid-column: 1; }
.fn-ck__review > .fn-ck__edit { grid-column: 2; grid-row: 1; }
.fn-ck__edit {
	font-family: var(--poppins);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	white-space: nowrap;
	color: var(--blue);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.fn-ck__edit:hover,
.fn-ck__edit:focus-visible { color: var(--blue-d); }
.fn-ck__edit svg { margin-right: 5px; vertical-align: -2px; }
.fn-ck h3,
.fn-ck #order_review_heading {
	margin: 0 0 30px;
	font-family: var(--fredoka);
	font-size: 25px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--navy);
}
.woocommerce .fn-ck .form-row {
	margin: 0 0 12px;
	padding: 3px 0;
}
.woocommerce .fn-ck .form-row-first,
.woocommerce .fn-ck .form-row-last { width: calc(50% - 12px); }
.woocommerce .fn-ck #customer_details .form-row label {
	margin: 0 0 5px;
	font-weight: 500;
	line-height: 2;
	color: var(--text);
}
.woocommerce .fn-ck .form-row .input-text,
.woocommerce .fn-ck .form-row select,
.woocommerce .fn-ck .form-row textarea {
	padding: 10px;
	border: 1px solid var(--fn-line);
	border-radius: 10px;
	background: var(--fn-gray);
	font-size: 14px;
	font-weight: 400;
	line-height: normal;
	color: var(--text);
}
.woocommerce .fn-ck .form-row select { display: block; width: auto; line-height: 1.5; }
.woocommerce .fn-ck .woocommerce-billing-fields__field-wrapper > .form-row:last-child { margin-bottom: 15px; }
.woocommerce .fn-ck .form-row .input-text::placeholder { color: var(--text); opacity: .6; }
/* Estado (select2): mesma altura dos outros campos (39px). */
.fn-ck .select2-container--default .select2-selection--single {
	height: 39px;
	margin: 0;
	border: 1px solid var(--fn-line);
	border-radius: 10px;
	background: var(--fn-gray);
	color: var(--text);
	transition: border-color .15s, box-shadow .15s;
}
.fn-ck .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0 36px 0 10px;
	font-size: 14px;
	line-height: 37px;
	color: var(--text);
}
.fn-ck .select2-container--default .select2-selection--single .select2-selection__arrow { top: 0; right: 8px; height: 37px; }
.fn-ck .select2-container--default .select2-selection--single .select2-selection__arrow b { border-color: var(--text) transparent transparent; }
.fn-ck .select2-container--default.select2-container--open .select2-selection--single,
.fn-ck .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce .fn-ck .form-row .input-text:focus,
.woocommerce .fn-ck .form-row textarea:focus { border-color: var(--blue); outline: 0; box-shadow: 0 0 0 3px rgba(1, 113, 216, .12); }
.fn-ck .select2-selection:focus { outline: 0; }

/* Lista do Estado: cartão arredondado com sombra, busca com fundo cinza e itens com respiro. */
.fn-page--checkout .select2-container--default .select2-dropdown {
	overflow: hidden;
	border: 1px solid var(--fn-line);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(0, 43, 92, .16);
	font-family: Roboto, sans-serif;
}
.fn-page--checkout .select2-container--default .select2-dropdown--below { margin-top: 6px; border-top: 1px solid var(--fn-line); }
.fn-page--checkout .select2-container--default .select2-dropdown--above { margin-top: -6px; border-bottom: 1px solid var(--fn-line); }
.fn-page--checkout .select2-container--default .select2-search--dropdown { padding: 10px; }
.fn-page--checkout .select2-container--default .select2-search--dropdown .select2-search__field {
	padding: 9px 12px;
	border: 1px solid var(--fn-line);
	border-radius: 8px;
	background: var(--fn-gray);
	font-size: 14px;
	color: var(--text);
	outline: 0;
}
.fn-page--checkout .select2-container--default .select2-search--dropdown .select2-search__field:focus { border-color: var(--blue); background: #fff; }
.fn-page--checkout .select2-container--default .select2-results > .select2-results__options { max-height: 264px; padding: 0 6px 6px; }
.fn-page--checkout .select2-container--default .select2-results__option { margin: 1px 0; padding: 9px 12px; border-radius: 6px; font-size: 14px; line-height: 1.3; color: var(--text); }
.fn-page--checkout .select2-container--default .select2-results__option--highlighted[aria-selected],
.fn-page--checkout .select2-container--default .select2-results__option--highlighted[data-selected] { background: #e8f1fb; color: var(--navy); }
.fn-page--checkout .select2-container--default .select2-results__option[aria-selected="true"],
.fn-page--checkout .select2-container--default .select2-results__option[data-selected="true"] { background: var(--blue); color: #fff; }
.fn-page .select2-results__option { font-family: Roboto, sans-serif; font-size: 14px; color: var(--text); }

/* CEP: aviso discreto enquanto busca o endereço. */
.fn-ck #billing_postcode_field .woocommerce-input-wrapper { position: relative; display: block; }
.fn-ck #billing_postcode_field.is-busy .woocommerce-input-wrapper::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 12px;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	border: 2px solid rgba(1, 113, 216, .25);
	border-top-color: var(--blue);
	border-radius: 50%;
	animation: fn-spin .7s linear infinite;
}
@keyframes fn-spin { to { transform: rotate(360deg); } }

.woocommerce .fn-ck table.shop_table {
	margin: 0;
	border: 0;
	border-radius: 0;
	border-collapse: collapse;
	color: #69727d;
}
.woocommerce .fn-ck table.shop_table th {
	padding: 0 12px 9px 0;
	border: 0;
	font-weight: 700;
	color: var(--navy);
	text-align: left;
}
.woocommerce .fn-ck table.shop_table td {
	padding: 9px 0;
	border: 0;
	font-weight: 600;
	color: var(--navy);
}
.fn-ck .woocommerce-checkout-review-order-table .product-total,
.fn-ck .woocommerce-checkout-review-order-table tfoot { display: none; }
.fn-ck .product-thumbnail img { display: block; width: 100px; height: 100px; border-radius: 5px; }
.woocommerce .fn-ck .product-thumbnail img.alignleft { float: left; margin: 0 15px 0 0; }

.woocommerce-checkout .fn-ck #payment { margin: 0; }
.woocommerce .fn-ck #payment div.form-row.place-order {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
}
.woocommerce .fn-ck #payment .place-order .form-row { margin: 0 0 6px; padding: 3px; }
.fn-ck .place-order .woocommerce-terms-and-conditions-wrapper { display: none; }
.fn-ck #sender_newsletter_field label { line-height: 2; color: #69727d; }
.fn-ck #sender_newsletter_field .optional { display: none; }
/* País: só o Brasil, fica fora da vista (o valor continua indo no envio). */
.woocommerce .fn-ck #billing_country_field { display: none !important; } /* o address-i18n do WooCommerce põe display inline */
.fn-ck #sender_newsletter_field input[type="checkbox"] { margin: 0 5px 0 0; accent-color: var(--blue); }
.woocommerce .fn-ck #payment #place_order {
	float: none;
	width: 100%;
	margin: 0;
	padding: 18px;
	border: 0;
	border-radius: 3px;
	background: var(--blue);
	font-family: var(--fredoka);
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
	color: #fff;
}
.woocommerce .fn-ck #payment #place_order:hover { background: var(--blue-d); }

/* ---------- Pedido realizado (sem cabeçalho e rodapé, como a "Tela do Elementor") ---------- */
.fn-order__in {
	display: flex;
	flex-direction: column;
	gap: 20px;
	box-sizing: border-box;
	min-height: 100vh;
	max-width: calc(1300px + 100px);
	margin: 0 auto;
	padding: 50px;
	font-family: Roboto, sans-serif;
	font-size: 14px;
	color: #69727d;
}
#countdown,
.fn-order__wa { align-self: center; }
#countdown { font-size: 48px; animation: fn-fade 1s linear infinite; }
@keyframes fn-fade { 0%, 100% { opacity: 0; } 50% { opacity: 1; } }
.fn-order__summary .woocommerce-thankyou-order-received {
	margin: 0 0 35px;
	color: var(--blue);
}
.fn-order__summary .woocommerce .woocommerce-thankyou-order-details,
.fn-order__summary .woocommerce ul.order_details {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 35px;
	padding: 0;
	list-style: none;
}
.fn-order__summary .woocommerce ul.order_details li {
	float: none;
	margin: 0 4em 0 0;
	padding: 0 4em 0 0;
	border-right: 1px solid #d5d8dc;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	text-transform: capitalize;
	color: var(--blue);
}
.fn-order__summary .woocommerce ul.order_details li:last-of-type { border-right: 0; }
.fn-order__summary .woocommerce ul.order_details li strong {
	display: block;
	margin-top: 10px;
	font-size: 14px;
	font-weight: 400;
	text-transform: none;
	color: var(--navy);
}
.fn-order__summary h2 { margin: 0 0 15px; font-size: 17px; font-weight: 600; color: var(--navy); }
.fn-order__summary .woocommerce-order-details,
.fn-order__summary .woocommerce-customer-details { margin-bottom: 35px; }
.fn-order__summary .woocommerce table.shop_table {
	margin: 0;
	padding: 10px;
	border: 0;
	border-radius: 5px;
	font-size: 14px;
	color: var(--navy);
}
.fn-order__summary .woocommerce table.shop_table th,
.fn-order__summary .woocommerce table.shop_table td {
	padding: 9.5px 0;
	border: 0;
	border-top: 1px solid #d5d8dc;
	color: var(--navy);
}
.fn-order__summary .woocommerce table.shop_table thead th { border-top: 0; padding-top: 0; font-size: 15px; font-weight: 500; }
.fn-order__summary .woocommerce table.shop_table tfoot th,
.fn-order__summary .woocommerce table.shop_table tfoot td { font-size: 15px; font-weight: 500; }
.fn-order__summary .woocommerce table.shop_table a { color: var(--blue); }
.fn-order__summary .woocommerce address { padding: 10px; border: 0; color: var(--navy); }
.fn-order__summary .woocommerce .wc-item-meta { color: var(--navy); }
.fn-order__back { text-align: center; }
.fn-order__btn {
	display: inline-block;
	padding: 16px 35px;
	border-radius: 8px;
	background: var(--blue);
	font-family: Roboto, sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	color: #fff;
}
.fn-order__btn:hover, .fn-order__btn:focus { background: var(--blue); color: #fff; }

/* ---------- Minha conta (abas à esquerda, conteúdo à direita) ---------- */
.fn--account .fn__in { min-height: 68vh; justify-content: center; }
.fn-acct { font-family: Roboto, sans-serif; color: var(--text); }
.fn-acct .woocommerce::after { content: ""; display: table; clear: both; }
.fn-acct .woocommerce .woocommerce-MyAccount-navigation { float: left; width: 25%; }
.fn-acct .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.fn-acct .woocommerce-MyAccount-navigation li { margin: 4px 0; }
.fn-acct .woocommerce-MyAccount-navigation li:first-child { margin-top: 0; }
.fn-acct .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 12px 20px;
	border-radius: 5px;
	background: var(--fn-gray);
	font-size: 14px;
	font-weight: 700;
	color: var(--text);
}
.fn-acct .woocommerce-MyAccount-navigation a:hover { background: var(--blue-d); color: #fff; }
.fn-acct .woocommerce-MyAccount-navigation li.is-active a { background: var(--blue); color: #fff; }
.fn-acct .woocommerce .woocommerce-MyAccount-content { float: right; width: 75%; padding-left: 6%; }
.fn-acct__box { padding: 16px 30px; border-radius: 3px; background: var(--fn-gray); }
.fn-acct--orders .fn-acct__box, .fn-acct--downloads .fn-acct__box { padding-bottom: 3px; }
.fn-acct--edit-address .fn-acct__box, .fn-acct--view-order .fn-acct__box { padding: 0; background: none; }
.fn-acct .woocommerce-MyAccount-content p { color: var(--text); }
.fn-acct .woocommerce-MyAccount-content a { color: var(--blue); }
.fn-acct .woocommerce-MyAccount-content a:hover { color: var(--blue-d); }
.fn-acct h2, .fn-acct h3 { color: var(--navy); }
.fn-acct .woocommerce-Button.wc-forward.button {
	display: inline-block;
	padding: 10px 20px;
	border: 0 !important;
	border-radius: 5px;
	background: var(--blue) !important;
	font-weight: 700;
	color: #fff !important;
}
.fn-acct .woocommerce-Button.wc-forward.button:hover { background: var(--blue-d) !important; }
.fn-acct .woocommerce-MyAccount-content .button { border-radius: 3px; background: var(--blue); color: #fff; }
.fn-acct .woocommerce-MyAccount-content .button:hover { background: var(--blue-d); color: #fff; }
.fn-acct .woocommerce form .form-row .input-text,
.fn-acct .woocommerce form .form-row select {
	padding: 16px;
	border: 0;
	border-radius: 10px;
	background: #fff;
	font-size: 14px;
	color: var(--navy);
}
.fn-acct .woocommerce form .form-row label { line-height: 2; color: var(--navy); }
.fn-acct .woocommerce-Address address, .fn-acct .woocommerce-address-fields { padding: 16px 30px; background: var(--fn-gray); border-radius: 3px; }

/* Recuperar senha (sem login, em /minha-conta/lost-password/). */
.fn-acct--lost-password .woocommerce .woocommerce-ResetPassword,
.fn-acct--login .woocommerce .woocommerce-ResetPassword {
	width: 50%;
	margin: 0;
	padding: 16px 30px;
	border: 0;
	border-radius: 3px;
	background: var(--fn-gray);
	font-size: 14px;
	line-height: 1.5;
	color: var(--text);
}
.fn-acct .woocommerce-ResetPassword > p:first-child { margin: 0 0 14.4px; }
.fn-acct .woocommerce .woocommerce-ResetPassword .form-row { float: none; width: 100%; margin: 0 0 6px; padding: 3px 0; }
.fn-acct .woocommerce .woocommerce-ResetPassword .form-row:last-of-type { margin: 0; }
.fn-acct .woocommerce .woocommerce-ResetPassword label { line-height: 2; color: var(--navy); }
.fn-acct .woocommerce .woocommerce-ResetPassword .button {
	padding: 12px 32px;
	border: 0;
	border-radius: 3px;
	background: var(--blue);
	font-family: var(--fredoka);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	color: #fff;
}
.fn-acct .woocommerce .woocommerce-ResetPassword .button:hover { background: var(--blue-d); }

/* ---------- Login e criar conta ---------- */
.fn-auth {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 20px;
	min-height: 85vh;
	padding: 0 10px;
	text-align: center;
}
.fn-auth__title { margin: 0; font-family: Roboto, sans-serif; font-size: 24px; font-weight: 600; line-height: 1; color: var(--blue); }
.fn-auth__intro { margin: 0; font-family: Roboto, sans-serif; font-size: 16px; line-height: 1; color: var(--text); }
.fn-auth__card {
	width: 377px;
	max-width: 100%;
	padding: 24px;
	border-radius: 15px;
	background: #fff;
	text-align: left;
}
.fn-auth__form { margin: 0; }
.fn-auth__row { margin: 0; }
.fn-auth__row label {
	display: block;
	padding-top: 10px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	color: var(--text);
}
.fn-auth__form--register .fn-auth__row label { padding-top: 0; margin-top: 10px; }
.fn-auth__input {
	display: block;
	width: 100%;
	margin: 0;
	padding: 8px 16px;
	border: 1px solid #666;
	border-radius: 3px;
	background: #fff;
	font-size: 16px;
	line-height: 1.5;
	color: var(--text);
}
.fn-auth__input::placeholder { color: var(--text); opacity: 1; }
.fn-auth__pass { position: relative; display: block; }
.fn-auth__pass .fn-auth__input { padding-right: 44px; }
.fn-auth__eye {
	position: absolute;
	top: calc(50% - 10px);
	right: 10px;
	display: flex;
	width: 20px;
	height: 20px;
	padding: 0;
	border: 0;
	background: none;
	color: #333;
	cursor: pointer;
}
.fn-auth__eye svg { width: 20px; height: 20px; fill: currentColor; }
.fn-auth__eye-off, .fn-auth__eye.is-on .fn-auth__eye-on { display: none; }
.fn-auth__eye.is-on .fn-auth__eye-off { display: block; }
.fn-auth__remember { margin: 0; }
.fn-auth__remember label { display: block; padding-top: 10px; font-size: 16px; font-weight: 600; line-height: 1; color: var(--text); }
.fn-auth__remember input { margin: 0 4px 0 0; vertical-align: -1px; }
.fn-auth__submit { margin: 0; }
.fn-auth__btn {
	display: inline-block;
	margin-top: 24px;
	padding: 8px 16px;
	border: 1px solid var(--blue);
	border-radius: 3px;
	background: var(--blue);
	font-family: var(--fredoka);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	color: #fff;
	cursor: pointer;
	transition: background .3s;
}
.fn-auth__form--register .fn-auth__btn { margin-top: 25px; }
.fn-auth__btn:hover, .fn-auth__btn:focus { border-color: var(--blue-d); background: var(--blue-d); }
.fn-auth__lost { display: inline-block; margin-top: 15px; font-size: 15px; line-height: 1.5; color: var(--blue); }
.fn-auth__lost:hover { color: var(--blue-d); }
.fn-auth__error { margin: 0 0 15px; font-size: 15px; line-height: 1.5; color: #eb1f02; }
.fn-auth__error a { color: var(--blue); }
.fn-auth__done { margin: 0; font-size: 16px; color: var(--text); }
.fn-auth__alt { margin: 0; font-family: Roboto, sans-serif; font-size: 14px; font-weight: 600; line-height: 1; color: var(--text); }
.fn-auth__altbtn {
	display: inline-block;
	padding: 12px 24px;
	border-radius: 3px;
	background: var(--blue);
	font-family: Roboto, sans-serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
	color: #fff;
	transition: background .3s;
}
.fn-auth__altbtn:hover, .fn-auth__altbtn:focus { background: var(--blue-d); color: #fff; }

/* ---------- Tablet e celular (Elementor: até 1024px e até 767px) ---------- */
@media (max-width: 1023px) {
	.fn-cart .cart-collaterals { margin-bottom: 30px; }
}
@media (max-width: 1024px) {
	.fn-cart, .fn-ck { grid-template-columns: 100%; }
	.fn-cart { gap: 20px; }
	.fn-cart .cart-collaterals { position: static; }
	.fn-ck__side { position: static; }
	.fn--checkout .fn__in { padding: 2rem; }
	.fn-acct .woocommerce .woocommerce-MyAccount-navigation,
	.fn-acct .woocommerce .woocommerce-MyAccount-content { float: none; width: 100%; }
	.fn-acct .woocommerce .woocommerce-MyAccount-content { padding: 6% 0 0; }
	.fn-acct .woocommerce-MyAccount-navigation a { padding: 10px; }
	.fn-acct--lost-password .woocommerce .woocommerce-ResetPassword,
	.fn-acct--login .woocommerce .woocommerce-ResetPassword { width: 100%; }
}
@media (max-width: 767px) {
	.fn--cart .fn__in { min-height: 0; padding: 1.5rem 1rem 1rem; gap: 14px; }
	.fn-cart__title { font-size: 26px; }
	.woocommerce .fn-cart table.shop_table.cart tr.cart_item { grid-template-columns: 72px minmax(0, 1fr) 36px; gap: 0 12px; padding: 10px; }
	.woocommerce .fn-cart table.cart img { width: 72px; height: 72px; }
	.woocommerce .fn-cart table.cart a.remove { width: 34px; height: 34px; }
	.fn-cart .cart-collaterals { padding: 18px 16px 14px; }
	.fn--checkout .fn__in { padding: 1rem; gap: 0; }
	.fn-ck { gap: 0; }
	.fn-ck #customer_details .col-1,
	.fn-ck__review,
	.woocommerce-checkout .fn-ck #payment { margin: 7px 0 0; }
	.fn-ck h3, .fn-ck #order_review_heading { font-size: 22px; }
	.fn-ck__edit-more { display: none; }
	.woocommerce .fn-ck .form-row-first,
	.woocommerce .fn-ck .form-row-last { width: 100%; }
	.woocommerce .fn-ck #payment #place_order { margin-bottom: 18px; }
	.fn-auth { min-height: 0; padding: 24px 12px 100px; }
}
/* Celular estreito: o título do resumo e o "Editar" na mesma linha sem quebrar (375 px cabe com 20 px). */
@media (max-width: 420px) {
	.fn-ck h3, .fn-ck #order_review_heading { font-size: 20px; }
}
@media (max-width: 370px) {
	.fn-ck h3, .fn-ck #order_review_heading { font-size: 18px; }
}
@media (max-width: 340px) {
	.fn-ck__edit-text { display: none; }
	.fn-ck__edit svg { margin-right: 0; }
}
