/* ============================================================
   TAIOBA MUSIC — overrides para o markup do WordPress/WooCommerce
   Bridge entre o design system (taioba.css) e o HTML que o
   WooCommerce gera (quantity input, form de checkout, nav da
   minha-conta, paginação, notices, etc.).
   ============================================================ */

/* ---------- Larguras: bump para conforto em monitores wide ---------- */
:root{
	--maxw: 1320px;
}
body{ font-size: 17px; }

/* WC envelopa cart/checkout/myaccount em .woocommerce — força ocupar o container. */
.woocommerce,
.woocommerce .woocommerce-notices-wrapper,
.woocommerce form.checkout,
.woocommerce form.cart-form,
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content{
	width: 100%;
	max-width: 100%;
}

/* page.php detecta páginas WC (cart, checkout, my-account, shop) e renderiza
   the_content() direto, sem o seu próprio <main class="wrap"> nem .page-content.
   Cada template do WC (cart.php, my-account.php) traz seu próprio page-head + wrap.
   Não precisa de override aqui. */

/* ---------- Botão grande "Finalizar pedido" no resumo ---------- */
.checkout-cta{
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	margin-top: 18px;
	padding: 18px 22px;
	background: linear-gradient(135deg, var(--orange-bright) 0%, var(--orange) 55%, var(--orange-deep) 100%);
	color: #fff;
	border: 0;
	border-radius: var(--radius);
	font-family: 'Archivo', sans-serif;
	text-align: left;
	cursor: pointer;
	box-shadow: 0 14px 30px -12px rgba(221, 88, 40, .55);
	transition: transform .12s ease, box-shadow .2s ease, filter .2s ease;
	text-decoration: none;
}
.checkout-cta:hover{
	transform: translateY(-1px);
	box-shadow: 0 18px 38px -12px rgba(221, 88, 40, .65);
	filter: brightness(1.05);
}
.checkout-cta:active{ transform: translateY(0); }
.checkout-cta__label{
	display: block;
	font-weight: 900;
	font-size: 1.05rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: #fff;
}
.checkout-cta__sub{
	display: block;
	font-weight: 600;
	font-size: .82rem;
	letter-spacing: .02em;
	opacity: .92;
	color: #fff;
	margin-top: 2px;
}
.checkout-cta__arrow{
	width: 24px;
	height: 24px;
	margin-left: auto;
	flex-shrink: 0;
}
.checkout-cta--disabled{
	background: var(--surface);
	color: var(--muted);
	border: 1px dashed var(--border-strong);
	box-shadow: none;
	cursor: not-allowed;
}
.checkout-cta--disabled:hover{
	transform: none;
	filter: none;
	box-shadow: none;
}
.checkout-cta--disabled .checkout-cta__label{ color: var(--amber); }
.checkout-cta--disabled .checkout-cta__sub{ color: var(--muted); }

/* ---------- Banner DEV no checkout (gateway de teste) ---------- */
.taioba-dev-banner{
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 14px 18px;
	margin: 0 0 18px;
	background: rgba(230, 165, 43, .1);
	border: 1px dashed var(--amber);
	border-radius: var(--radius-sm);
	color: var(--cream);
}
.taioba-dev-banner svg{
	width: 22px;
	height: 22px;
	color: var(--amber);
	flex-shrink: 0;
	margin-top: 2px;
}
.taioba-dev-banner b{
	display: block;
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: .78rem;
	color: var(--amber);
	margin-bottom: 4px;
}
.taioba-dev-banner span{
	font-size: .84rem;
	color: var(--text);
	line-height: 1.5;
}

/* ---------- Carrinho em coluna única (wizard step 1) ---------- */
.cart-page{ padding: 0 24px 70px; }
.cart-form{ display: flex; flex-direction: column; gap: 30px; margin-top: 30px; }

.cart-block{
	padding: 28px 0 26px;
	border-top: 1px solid var(--border);
}
.cart-block:first-child{ border-top: 0; padding-top: 8px; }

.cart-block__head{
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 18px;
}
.cart-block__num{
	width: 30px;
	height: 30px;
	border-radius: 999px;
	background: var(--surface);
	border: 1px solid var(--border-strong);
	color: var(--muted);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	font-size: .82rem;
	flex-shrink: 0;
}
.cart-block__head h2{
	font-family: 'Archivo', sans-serif;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -.01em;
	font-size: 1.2rem;
	color: var(--cream);
	margin: 0;
}
.cart-block__lead{
	color: var(--muted);
	font-size: .9rem;
	margin: -8px 0 14px;
	max-width: 56ch;
}
.cart-block__actions{
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 18px;
}

/* Bloco do resumo em 2 colunas (subtotal | freight-box) — visualmente equilibrado */
.cart-summary-grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	align-items: start;
}
@media (max-width: 760px){
	.cart-summary-grid{ grid-template-columns: 1fr; }
}
.cart-summary-col .sum-row{
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 8px 0;
	border-bottom: 1px solid var(--border);
	font-size: .92rem;
}
.cart-summary-col .sum-row:last-child{ border-bottom: 0; }

/* Barra "A pagar agora" em destaque, full-width */
.pay-now--bar{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 18px 22px;
	margin-top: 26px;
	background: var(--surface);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-sm);
}
.pay-now--bar .lbl{
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: .82rem;
	color: var(--cream);
}
.pay-now--bar .lbl small{
	display: block;
	font-weight: 500;
	text-transform: none;
	letter-spacing: .01em;
	font-size: .76rem;
	color: var(--muted);
	margin-top: 4px;
	max-width: 60ch;
}
.pay-now--bar .amt{
	font-family: 'Archivo', sans-serif;
	font-weight: 900;
	font-size: 1.7rem;
	color: var(--orange-bright);
	letter-spacing: -.02em;
	font-variant-numeric: tabular-nums;
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
}
.pay-now--bar .amt-extra{
	font-family: 'Archivo', sans-serif;
	font-weight: 700;
	font-size: .82rem;
	color: var(--muted);
	text-transform: uppercase;
	letter-spacing: .14em;
}

/* ---------- CEP form (pílula com ícone + label flutuante + botão integrado) ---------- */
.cep-form{
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 520px;
}
.cep-field{
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-rows: auto auto;
	align-items: center;
	gap: 0 14px;
	padding: 14px 6px 14px 20px;
	background: var(--surface);
	border: 1px solid var(--border-strong);
	border-radius: 999px;
	transition: border-color .15s, box-shadow .2s;
}
.cep-field:focus-within{
	border-color: var(--orange);
	box-shadow: 0 0 0 4px rgba(221, 88, 40, .15);
}
.cep-field__ico{
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 22px;
	height: 22px;
	color: var(--orange-bright);
	flex-shrink: 0;
}
.cep-field__label{
	grid-column: 2;
	grid-row: 1;
	font-family: 'Archivo', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .18em;
	font-size: .62rem;
	color: var(--muted);
	cursor: text;
	user-select: none;
	margin-bottom: -2px;
}
.cep-field input{
	grid-column: 2;
	grid-row: 2;
	width: 100%;
	padding: 0;
	background: transparent;
	border: 0;
	color: var(--cream);
	font-family: 'Archivo', sans-serif;
	font-weight: 700;
	font-size: 1.05rem;
	letter-spacing: .04em;
	font-variant-numeric: tabular-nums;
}
.cep-field input::placeholder{
	color: var(--muted);
	font-weight: 500;
	letter-spacing: .04em;
}
.cep-field input:focus{ outline: none; }
.cep-field__btn{
	grid-column: 3;
	grid-row: 1 / span 2;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 12px 22px;
	background: var(--orange);
	color: #fff;
	border: 0;
	border-radius: 999px;
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: .8rem;
	cursor: pointer;
	transition: background .15s, transform .12s, box-shadow .2s;
	box-shadow: 0 8px 18px -8px rgba(221, 88, 40, .55);
}
.cep-field__btn:hover{
	background: var(--orange-bright);
	transform: translateY(-1px);
	box-shadow: 0 12px 22px -8px rgba(221, 88, 40, .7);
}
.cep-field__btn:active{ transform: translateY(0); }
.cep-field__btn svg{ width: 15px; height: 15px; }
@media (max-width: 540px){
	.cep-field__btn span{ display: none; }
	.cep-field__btn{ padding: 12px 14px; }
}
.cep-help{
	font-size: .78rem;
	color: var(--muted);
	text-decoration: underline;
	text-decoration-color: var(--border-strong);
	text-underline-offset: 3px;
	transition: color .15s;
	width: max-content;
}
.cep-help:hover{ color: var(--orange-bright); text-decoration-color: var(--orange-bright); }
.cep-feedback{
	font-size: .82rem;
	color: var(--muted);
}
.cep-feedback.is-err{ color: var(--amber); }

.freight-options{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 18px;
}
@media (max-width: 640px){ .freight-options{ grid-template-columns: 1fr; } }
.freight-opt{
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 18px;
	background: var(--surface);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-sm);
	cursor: pointer;
	transition: border-color .15s, background .15s;
}
.freight-opt:hover{ border-color: var(--orange); }
.freight-opt.sel{
	border-color: var(--orange);
	background: rgba(221, 88, 40, .08);
}
.freight-opt input{
	accent-color: var(--orange);
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}
.freight-opt__main{
	flex: 1;
	display: flex;
	flex-direction: column;
}
.freight-opt__main b{
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	font-size: .95rem;
	color: var(--cream);
	letter-spacing: .04em;
}
.freight-opt__days{
	font-size: .76rem;
	color: var(--muted);
	margin-top: 2px;
}
.freight-opt__price{
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	font-size: 1.05rem;
	color: var(--orange-bright);
	font-variant-numeric: tabular-nums;
	text-align: right;
}
.freight-opt__price small{
	display: block;
	font-weight: 500;
	font-size: .68rem;
	color: var(--muted);
	letter-spacing: .04em;
	margin-top: 2px;
}

/* ---------- Order-pane (resumo dinâmico em "cards" sequenciais) ---------- */
.order-breakdown{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
	margin-top: 6px;
}
@media (max-width: 820px){ .order-breakdown{ grid-template-columns: 1fr; } }

.order-pane{
	padding: 20px 22px;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
}
.order-pane--reserva{ border-left: 3px solid var(--amber); }
.order-pane--single{ margin-top: 8px; }

.order-pane__head{
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--border);
}
.order-pane__num{
	width: 24px;
	height: 24px;
	border-radius: 999px;
	background: var(--orange);
	color: #fff;
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	font-size: .72rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.order-pane--reserva .order-pane__num{ background: var(--amber); color: #161413; }
.order-pane__head h3{
	flex: 1;
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	color: var(--cream);
	font-size: .9rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	margin: 0;
}
.order-pane__when{
	font-size: .68rem;
	color: var(--muted);
	text-transform: uppercase;
	letter-spacing: .14em;
	font-family: 'Archivo', sans-serif;
	font-weight: 700;
}

.order-pane .sum-row{
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 8px 0;
	font-size: .92rem;
}
.order-pane .sum-row + .sum-row{ border-top: 1px solid var(--border); }
.order-pane .sum-row--total{
	margin-top: 6px;
	padding-top: 12px;
	border-top: 2px solid var(--border-strong) !important;
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	color: var(--cream);
	font-size: 1.05rem;
}
.order-pane .sum-row--total > span:last-child{
	color: var(--orange-bright);
	font-weight: 900;
	font-size: 1.2rem;
	font-variant-numeric: tabular-nums;
}
.order-pane .sum-row--note{
	font-size: .82rem;
	color: var(--muted);
	border-top: 1px dashed var(--border) !important;
	margin-top: 8px;
	padding-top: 10px;
}

/* CTA footer — botão grande à direita, voltar à esquerda */
.cart-block__cta{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	gap: 16px;
	margin-top: 22px;
}
.cart-block__cta .btn{ align-self: center; }
.cart-block__cta .checkout-cta{
	flex: 0 1 420px;
	margin-top: 0;
}
@media (max-width: 760px){
	.cart-block__cta{ flex-direction: column-reverse; }
	.cart-block__cta .checkout-cta{ flex: 1; }
}

/* Stepper do checkout (Carrinho → Pagamento → Confirmação) */
/* ---------- Stepper do checkout (Carrinho → Pagamento → Confirmação) ---------- */
.wizard-steps{
	border-bottom: 1px solid var(--border);
	background: var(--bg-elev);
	padding: 18px 0;
}
.wizard-list{
	display: flex;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
.wizard-step{
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--muted);
}
.wizard-step a,
.wizard-step > span{
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: inherit;
	text-decoration: none;
	transition: color .15s;
}
.wizard-step.is-done a:hover{ color: var(--cream); }
.wizard-step__num{
	width: 32px;
	height: 32px;
	border-radius: 999px;
	border: 1.5px solid var(--border-strong);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	font-size: .9rem;
	flex-shrink: 0;
}
.wizard-step__num svg{ width: 16px; height: 16px; }
.wizard-step__label{
	font-family: 'Archivo', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .14em;
	font-size: .78rem;
}
.wizard-step__sep{
	flex: 1;
	height: 1.5px;
	background: var(--border);
	margin: 0 18px;
	min-width: 32px;
}
.wizard-step.is-done{ color: var(--cream); }
.wizard-step.is-done .wizard-step__num{
	border-color: var(--orange);
	background: var(--orange);
	color: #fff;
}
.wizard-step.is-active{ color: var(--cream); }
.wizard-step.is-active .wizard-step__num{
	border-color: var(--orange-bright);
	background: rgba(242, 107, 51, .12);
	color: var(--orange-bright);
}
.wizard-step.is-active ~ li .wizard-step__sep,
.wizard-step.is-active .wizard-step__sep{ background: var(--border); }
@media (max-width: 640px){
	.wizard-step__label{ display: none; }
	.wizard-step.is-active .wizard-step__label{ display: inline; }
	.wizard-step__sep{ margin: 0 10px; min-width: 18px; }
}

/* ---------- Reserva — tratamento editorial (sem caixinhas tintadas) ----------
   Substitui o estilo "boxy AI" do .reserva-callout original por uma régua
   âmbar no topo, tipografia grande nos %, e divisor vertical entre as
   metades. Aplica também ao CTA "Finalizar minhas reservas" da thankyou. */

.reserva-callout{
	background: transparent;
	border: 0;
	border-top: 2px solid var(--amber);
	border-radius: 0;
	padding: 22px 0 4px;
	margin-top: 8px;
}
.reserva-callout .rc-title{
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .2em;
	font-size: .7rem;
	color: var(--amber);
	margin-bottom: 12px;
}
.reserva-callout .rc-title svg{ width: 14px; height: 14px; stroke: currentColor; }
.reserva-callout .rc-text{
	font-size: .9rem;
	color: var(--text);
	line-height: 1.6;
	max-width: 52ch;
}
.reserva-callout .rc-split{
	display: flex;
	align-items: stretch;
	gap: 28px;
	margin-top: 22px;
}
.reserva-callout .rc-half{
	flex: 1;
	background: transparent;
	border-radius: 0;
	padding: 0;
}
.reserva-callout .rc-half + .rc-half{
	padding-left: 28px;
	border-left: 1px solid var(--border);
}
.reserva-callout .rc-half .h-pct{
	font-family: 'Archivo', sans-serif;
	font-weight: 900;
	color: var(--amber);
	font-size: 1.7rem;
	line-height: 1;
	letter-spacing: -.02em;
}
.reserva-callout .rc-half .h-when{
	font-size: .7rem;
	color: var(--muted);
	text-transform: uppercase;
	letter-spacing: .14em;
	margin-top: 8px;
}
.reserva-callout .rc-half .h-val{
	font-size: .95rem;
	color: var(--cream);
	font-weight: 600;
	margin-top: 6px;
	font-variant-numeric: tabular-nums;
}

/* Data prevista de envio — dentro do reserva-callout (single product).
   Cresce horizontalmente até o limite do callout, fica entre o título e o
   parágrafo introdutório. */
.reserva-callout .rc-ship-date{
	display: flex;
	align-items: center;
	gap: 10px;
	margin: -4px 0 14px;
	padding: 8px 12px;
	background: rgba(245, 158, 11, .08);
	border-left: 2px solid var(--amber);
	border-radius: 0 4px 4px 0;
	font-size: .88rem;
	color: var(--text);
}
.reserva-callout .rc-ship-date svg{
	width: 16px; height: 16px;
	stroke: var(--amber);
	flex-shrink: 0;
}
.reserva-callout .rc-ship-date strong{
	color: var(--cream);
	font-weight: 700;
}

/* Data de envio em outras superfícies (cart, thankyou, /minha-conta/) */
.cr-ship-date,
.oi-ship-date{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 6px;
	font-size: .8rem;
	color: var(--text);
}
.cr-ship-date strong,
.oi-ship-date strong{
	color: var(--cream);
	font-weight: 700;
}
.oi-ship-date{ display: flex; }
.oi-ship-date svg{
	width: 14px; height: 14px;
	stroke: var(--amber);
	flex-shrink: 0;
}

/* CTA "Finalizar minhas reservas" no thankyou — mesma linguagem editorial */
.reserva-cta{
	margin-bottom: 28px;
	padding: 22px 0 0;
	border-top: 2px solid var(--amber);
}
.reserva-cta .rc-eyebrow{
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .2em;
	font-size: .7rem;
	color: var(--amber);
	margin-bottom: 8px;
}
.reserva-cta h3{
	font-family: 'Archivo', sans-serif;
	font-weight: 900;
	color: var(--cream);
	font-size: 1.4rem;
	line-height: 1.1;
	margin: 0 0 10px;
	text-transform: uppercase;
	letter-spacing: -.02em;
}
.reserva-cta p{
	font-size: .92rem;
	color: var(--text);
	line-height: 1.6;
	margin-bottom: 16px;
	max-width: 52ch;
}
.reserva-cta--info{ border-top-color: var(--green); }
.reserva-cta--info .rc-eyebrow{ color: var(--green); }

/* Variante "prominent": full-width após o slot do gateway, 2 colunas
   (texto à esquerda, CTA à direita). Usada quando o pedido é split-parent
   e o cliente precisa avançar pra finalizar as reservas. */
.reserva-cta--prominent{
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 32px;
	align-items: end;
	margin: 0 0 36px;
	padding: 24px 0;
	border-top: 2px solid var(--amber);
	border-bottom: 1px solid var(--border);
}
.reserva-cta--prominent .reserva-cta__text > *:last-child{ margin-bottom: 0; }
.reserva-cta--prominent .checkout-cta{
	width: auto;
	margin-top: 0;
	padding: 18px 26px;
	min-width: 280px;
}
@media (max-width: 720px){
	.reserva-cta--prominent{
		grid-template-columns: 1fr;
		gap: 18px;
		align-items: stretch;
	}
	.reserva-cta--prominent .checkout-cta{ width: 100%; min-width: 0; }
}

/* ---------- Frete pago (linha destacada antes do "Pago neste pedido") ---------- */
.freight-paid{
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 18px;
	margin: 18px 0 0;
	background: var(--surface);
	border: 1px solid var(--border-strong);
	border-left: 3px solid var(--orange-bright);
	border-radius: var(--radius-sm);
}
.freight-paid__ico{
	width: 22px;
	height: 22px;
	color: var(--orange-bright);
	flex-shrink: 0;
}
.freight-paid__main{ flex: 1; }
.freight-paid__eyebrow{
	font-family: 'Archivo', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .16em;
	font-size: .68rem;
	color: var(--muted);
	margin-bottom: 2px;
}
.freight-paid__service{
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	font-size: 1rem;
	color: var(--cream);
	letter-spacing: .02em;
}
.freight-paid__days{
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: .82rem;
	color: var(--muted);
	letter-spacing: 0;
	margin-left: 4px;
}
.freight-paid__amount{
	font-family: 'Archivo', sans-serif;
	font-weight: 900;
	font-size: 1.15rem;
	color: var(--orange-bright);
	letter-spacing: -.01em;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

/* ---------- Resumo de pagamento (thankyou + order-view) ---------- */
.payment-summary{ margin-top: 18px; }
.payment-summary__bars{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-top: 18px;
}
@media (max-width: 760px){ .payment-summary__bars{ grid-template-columns: 1fr; } }
.payment-summary__bar{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
	padding: 18px 22px;
	border-radius: var(--radius-sm);
}
.payment-summary__bar--paid{
	background: var(--surface);
	border: 1px solid var(--border-strong);
}
.payment-summary__bar--pending{
	background: rgba(230, 165, 43, .06);
	border: 1px solid rgba(230, 165, 43, .35);
}
.payment-summary .psb-lbl{
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: .8rem;
	color: var(--cream);
}
.payment-summary__bar--pending .psb-lbl{ color: var(--amber); }
.payment-summary .psb-lbl small{
	display: block;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	font-size: .76rem;
	color: var(--muted);
	margin-top: 4px;
	max-width: 32ch;
}
.payment-summary .psb-amt{
	font-family: 'Archivo', sans-serif;
	font-weight: 900;
	font-size: 1.5rem;
	color: var(--orange-bright);
	letter-spacing: -.02em;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.payment-summary .psb-amt--pending{ color: var(--amber); }
.payment-summary .psb-amt small{
	display: block;
	font-family: 'Archivo', sans-serif;
	font-weight: 700;
	font-size: .72rem;
	color: var(--muted);
	text-transform: uppercase;
	letter-spacing: .14em;
	margin-top: 2px;
}

/* ---------- Freight callout (split mode) — explica os 2 fretes ---------- */
.freight-callout{
	background: transparent;
	border: 0;
	border-top: 2px solid var(--orange-bright);
	padding: 22px 0 4px;
	margin: 0;
}
.freight-callout .fc-title{
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .14em;
	font-size: .76rem;
	color: var(--orange-bright);
	margin-bottom: 10px;
	line-height: 1.3;
}
.freight-callout .fc-title svg{ width: 16px; height: 16px; stroke: currentColor; flex-shrink: 0; }
.freight-callout .fc-text{
	font-size: .88rem;
	color: var(--text);
	line-height: 1.6;
	max-width: 56ch;
}
.freight-callout .fc-split{
	display: flex;
	align-items: stretch;
	gap: 24px;
	margin-top: 18px;
}
.freight-callout .fc-half{ flex: 1; }
.freight-callout .fc-half + .fc-half{
	padding-left: 24px;
	border-left: 1px solid var(--border);
}
.freight-callout .fc-when{
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	color: var(--orange-bright);
	font-size: 1.05rem;
	letter-spacing: -.01em;
	margin-bottom: 4px;
}
.freight-callout .fc-label{
	font-size: .82rem;
	color: var(--cream);
	font-weight: 600;
	margin-bottom: 4px;
}
.freight-callout .fc-detail{
	font-size: .78rem;
	color: var(--muted);
	line-height: 1.55;
}

/* ---------- Menu principal: wp_nav_menu emite <li> sem <ul>;
   remove os bullets e mantém o layout flex herdado de .main-nav ---------- */
.main-nav li{
	list-style: none;
	display: inline-flex;
	align-items: center;
}
.main-nav ul{
	display: contents;
}
.main-nav .menu-item a{
	font-size: .92rem;
	font-weight: 500;
	color: var(--text);
	padding: 6px 0;
	transition: color .15s;
}
.main-nav .menu-item a:hover{ color: var(--cream); }
.main-nav .current-menu-item > a,
.main-nav .current_page_item > a{ color: var(--orange-bright); }


/* ---------- Form do single product (variações + qty + add to cart) ---------- */
.product-info form.cart{
	display:flex;align-items:stretch;gap:12px;flex-wrap:wrap;
	margin:0 0 14px;
}
.product-info form.cart .variations,
.product-info form.cart .variations_button{
	width:100%;
}
.product-info form.cart .variations{
	display:grid;gap:10px;margin-bottom:10px;
}
.product-info form.cart .variations label{
	font-family:'Archivo',sans-serif;font-weight:700;text-transform:uppercase;
	letter-spacing:.18em;font-size:.72rem;color:var(--cream);
}
.product-info form.cart select{
	width:100%;padding:11px 14px;border-radius:var(--radius-sm);
	background:var(--surface);color:var(--cream);
	border:1px solid var(--border-strong);
	font-family:inherit;font-size:.95rem;
}
.product-info .quantity{
	display:inline-flex;align-items:stretch;border:1px solid var(--border-strong);
	border-radius:var(--radius-sm);overflow:hidden;background:var(--surface);
}
.product-info .quantity input.qty{
	width:64px;text-align:center;border:0;background:transparent;color:var(--cream);
	font-family:'Archivo',sans-serif;font-weight:700;font-size:1rem;padding:10px 0;
}
.product-info .quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none;margin:0; }
.product-info .single_add_to_cart_button{
	flex: 1 1 220px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 17px 34px;
	background: var(--orange);
	color: #fff;
	border: 0;
	border-radius: var(--radius-sm);
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
	font-size: .92rem;
	cursor: pointer;
	transition: background .15s, transform .12s, box-shadow .2s;
	box-shadow: 0 10px 24px -10px rgba(221, 88, 40, .55);
}
.product-info .single_add_to_cart_button:hover{
	background: var(--orange-bright);
	transform: translateY(-2px);
	box-shadow: 0 14px 30px -10px rgba(221, 88, 40, .7);
}
.product-info .single_add_to_cart_button:disabled{
	background: var(--surface-2);
	color: var(--muted);
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

/* Produto em reserva — usa o tom âmbar pra diferenciar visualmente */
.taioba-status-reserva .product-info .single_add_to_cart_button{
	background: var(--amber);
	color: #161413;
	box-shadow: 0 10px 24px -10px rgba(230, 165, 43, .5);
}
.taioba-status-reserva .product-info .single_add_to_cart_button:hover{
	background: #f2bb52;
	box-shadow: 0 14px 30px -10px rgba(230, 165, 43, .65);
}

/* ---------- Quantity input padrão (loop + cart) ---------- */
.woocommerce .quantity .qty{
	width:64px;padding:8px;text-align:center;
	background:var(--surface);color:var(--cream);
	border:1px solid var(--border-strong);border-radius:var(--radius-sm);
}

/* ---------- Notices ---------- */
.woocommerce-notices-wrapper{
	max-width:var(--maxw);margin:18px auto;padding:0 24px;
}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
	background:var(--surface);color:var(--cream);
	border:1px solid var(--border-strong);border-radius:var(--radius-sm);
	padding:14px 18px;margin-bottom:10px;list-style:none;
}
.woocommerce-error{ border-color:#cc4a3e; color:#ffd9d4; background:rgba(204,74,62,.08); }
.woocommerce-message{ border-color:var(--green); color:#bff5d4; background:rgba(47,172,102,.08); }

/* ============================================================
   CHECKOUT — branding completo (override do WC padrão)
   ============================================================ */
.checkout-page{ padding: 0 24px 70px; margin-top: 24px; }

.checkout-grid{
	display: grid;
	grid-template-columns: 1fr 420px;
	gap: 40px;
	align-items: start;
}
@media (max-width: 980px){
	.checkout-grid{ grid-template-columns: 1fr; }
}

.checkout-grid__col{ display: flex; flex-direction: column; gap: 18px; }
.checkout-grid__aside{
	position: sticky;
	top: 90px;
	padding: 24px;
	background: var(--surface);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius);
}
@media (max-width: 980px){ .checkout-grid__aside{ position: static; } }
.checkout-grid__aside h3{
	font-family: 'Archivo', sans-serif;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -.01em;
	font-size: 1.1rem;
	color: var(--cream);
	margin: 0 0 16px;
}

/* Fieldsets (Detalhes de cobrança / Endereço de entrega) */
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3{
	font-family: 'Archivo', sans-serif;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -.01em;
	color: var(--cream);
	font-size: 1.2rem;
	margin: 0 0 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--border);
}
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields{
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 24px;
}

/* WC sempre imprime <div class="woocommerce-shipping-fields"> mesmo quando
   `needs_shipping_address()` é false — fica um card vazio acima do resumo.
   Mesmo problema com woocommerce-additional-fields: o wrapper sempre sai, e
   quando o `enable_order_notes_field` retorna false (caso nosso), fica vazio.
   `:has(*)` testa se há QUALQUER filho de elemento (whitespace não conta).
   Suporta Chrome 105+, Safari 15.4+, Firefox 121+. */
.woocommerce-checkout .woocommerce-shipping-fields:not(:has(*)),
.woocommerce-checkout .woocommerce-additional-fields:not(:has(*)){
	display: none;
}

/* Form fields */
.woocommerce-checkout .form-row{
	margin-bottom: 14px;
	display: flex;
	flex-direction: column;
}
/* Layout em grid 2 colunas. WC's address-i18n.js sobrescreve as classes
   form-row-first/last/wide quando o country=BR carrega — então fixamos os
   posicionamentos por ID (specificity 0,1,0,0 — vence qualquer class). */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper{
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 14px 16px;
}
.woocommerce-checkout .form-row{ margin-bottom: 0; width: auto !important; float: none !important; clear: none !important; }

/* Defaults por class (caso o WC respeite) */
.woocommerce-checkout .form-row.form-row-wide{ grid-column: 1 / -1 !important; }
.woocommerce-checkout .form-row.form-row-first{ grid-column: 1 !important; }
.woocommerce-checkout .form-row.form-row-last{ grid-column: 2 !important; }

/* Overrides por ID — vencem o address-i18n.js do WooCommerce */
#billing_first_name_field,
#shipping_first_name_field { grid-column: 1 !important; }
#billing_last_name_field,
#shipping_last_name_field  { grid-column: 2 !important; }

#billing_postcode_field,
#billing_address_1_field,
#billing_neighborhood_field,
#billing_city_field,
#billing_state_field,
#billing_phone_field,
#billing_email_field,
#billing_ie_field,
#shipping_postcode_field,
#shipping_address_1_field,
#shipping_neighborhood_field,
#shipping_city_field,
#shipping_state_field { grid-column: 1 / -1 !important; }

/* Inscrição Estadual: escondido por default; JS revela quando documento é
   CNPJ (14 dígitos). Sem isso, há um flash do campo entre o load e o JS
   rodar. */
#billing_ie_field { display: none; }
#billing_ie_field.is-visible { display: flex; }

/* Número + Complemento na mesma linha */
#billing_number_field,
#shipping_number_field   { grid-column: 1 !important; }
#billing_address_2_field,
#shipping_address_2_field{ grid-column: 2 !important; }

@media (max-width: 640px){
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-additional-fields__field-wrapper{
		grid-template-columns: 1fr;
	}
	#billing_first_name_field, #shipping_first_name_field,
	#billing_last_name_field,  #shipping_last_name_field,
	#billing_number_field,     #shipping_number_field,
	#billing_address_2_field,  #shipping_address_2_field{ grid-column: 1 / -1 !important; }
}

.woocommerce-checkout .form-row label{
	display: block;
	margin-bottom: 6px;
	font-size: .68rem;
	text-transform: uppercase;
	letter-spacing: .18em;
	color: var(--muted);
	font-family: 'Archivo', sans-serif;
	font-weight: 700;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container--default .select2-selection--single{
	width: 100%;
	padding: 13px 16px;
	border-radius: var(--radius-sm);
	background: var(--bg-elev);
	color: var(--cream);
	border: 1px solid var(--border-strong);
	font-family: 'Archivo', sans-serif;
	font-weight: 600;
	font-size: 1rem;
	height: auto;
	letter-spacing: .01em;
	transition: border-color .15s, box-shadow .15s;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus{
	outline: none;
	border-color: var(--orange);
	box-shadow: 0 0 0 4px rgba(221, 88, 40, .12);
}
.woocommerce-checkout .form-row .required{ color: var(--orange-bright); text-decoration: none; }
/* Esconde o "(opcional)" que o WC adiciona em labels de campos não-required —
   a ausência do asterisco já indica que o campo é opcional. */
.woocommerce-checkout .form-row label .optional{ display: none; }
.woocommerce-checkout .form-row .description{
	font-size: .82rem;
	color: var(--muted);
	margin-top: 6px;
}

/* Review order table */
.woocommerce-checkout-review-order-table{
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 14px;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td{
	padding: 12px 4px;
	border-bottom: 1px solid var(--border);
	font-size: .9rem;
	color: var(--text);
}
.woocommerce-checkout-review-order-table th{ text-align: left; }
.woocommerce-checkout-review-order-table td{ text-align: right; }
/* Linha do produto: nome à esquerda mesmo sendo <td> */
.woocommerce-checkout-review-order-table .product-name,
.woocommerce-checkout-review-order-table td.product-name{ text-align: left; }
.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table th.product-total{ text-align: right; }
.woocommerce-checkout-review-order-table thead th{
	font-family: 'Archivo', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .14em;
	font-size: .72rem;
	color: var(--muted);
	text-align: left;
}
.woocommerce-checkout-review-order-table .product-name{ color: var(--cream); }
.woocommerce-checkout-review-order-table .order-total td,
.woocommerce-checkout-review-order-table .order-total th{
	font-family: 'Archivo', sans-serif;
	font-weight: 900;
	color: var(--cream);
	font-size: 1.05rem;
	border-bottom: 0;
	border-top: 2px solid var(--border-strong);
	padding-top: 16px;
}
.woocommerce-checkout-review-order-table .order-total .amount{
	color: var(--orange-bright);
	font-size: 1.3rem;
}

/* "Você pagará no envio" — bloco âmbar com total + breakdown em sub-rows */
.woocommerce-checkout-review-order-table .taioba-pending-row th,
.woocommerce-checkout-review-order-table .taioba-pending-row td{
	background: rgba(230, 165, 43, .06);
	border-bottom: 0 !important;
}
.woocommerce-checkout-review-order-table .taioba-pending-row--total th,
.woocommerce-checkout-review-order-table .taioba-pending-row--total td{
	border-top: 2px solid var(--amber) !important;
	padding: 14px 8px 6px !important;
}
.woocommerce-checkout-review-order-table .taioba-pending-row--total th{
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: .78rem;
	color: var(--amber);
}
.woocommerce-checkout-review-order-table .taioba-pending-row--total td strong{
	font-family: 'Archivo', sans-serif;
	font-weight: 900;
	font-size: 1.2rem;
	color: var(--amber);
	font-variant-numeric: tabular-nums;
}

.woocommerce-checkout-review-order-table .taioba-pending-row--sub th,
.woocommerce-checkout-review-order-table .taioba-pending-row--sub td{
	padding: 4px 8px !important;
	font-size: .84rem;
	color: var(--muted);
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
}
.woocommerce-checkout-review-order-table .taioba-pending-row--sub th{
	padding-left: 22px !important;
}
.woocommerce-checkout-review-order-table .taioba-pending-row--sub:last-of-type th,
.woocommerce-checkout-review-order-table .taioba-pending-row--sub:last-of-type td{
	padding-bottom: 14px !important;
}
.woocommerce-checkout-review-order-table .taioba-pending-row--sub td{
	font-variant-numeric: tabular-nums;
	color: var(--text);
}

/* Payment methods */
.woocommerce-checkout #payment{
	background: transparent;
	border: 0;
}
.woocommerce-checkout #payment ul.payment_methods{
	padding: 0;
	margin: 18px 0 14px;
	border: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.woocommerce-checkout #payment ul.payment_methods li{
	background: var(--bg-elev);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-sm);
	padding: 14px 18px;
	transition: border-color .15s, background .15s;
}
.woocommerce-checkout #payment ul.payment_methods li:hover{ border-color: var(--orange); }
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]{
	accent-color: var(--orange);
	margin-right: 10px;
}
.woocommerce-checkout #payment ul.payment_methods li label{
	font-family: 'Archivo', sans-serif;
	font-weight: 700;
	color: var(--cream);
	font-size: .95rem;
}
.woocommerce-checkout #payment .payment_box{
	background: transparent !important;
	color: var(--text);
	padding: 10px 0 0 26px;
	margin: 8px 0 0;
	font-size: .85rem;
	line-height: 1.5;
}
.woocommerce-checkout #payment .payment_box::before{ display: none; }

/* Place order button — grande, gradiente, igual ao checkout-cta do carrinho */
.woocommerce-checkout .place-order{ margin-top: 20px; }
.woocommerce-checkout .place-order .button{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	padding: 18px 24px;
	background: linear-gradient(135deg, var(--orange-bright) 0%, var(--orange) 55%, var(--orange-deep) 100%);
	color: #fff;
	font-family: 'Archivo', sans-serif;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .04em;
	font-size: 1rem;
	border: 0;
	border-radius: var(--radius);
	cursor: pointer;
	transition: transform .12s, box-shadow .2s, filter .2s;
	box-shadow: 0 14px 30px -12px rgba(221, 88, 40, .55);
}
.woocommerce-checkout .place-order .button:hover{
	transform: translateY(-1px);
	filter: brightness(1.05);
	box-shadow: 0 18px 38px -12px rgba(221, 88, 40, .7);
}
.woocommerce-checkout .place-order .button:active{ transform: translateY(0); }

/* Login form opcional (quando cliente não logado) */
.woocommerce-checkout .woocommerce-form-login-toggle{
	background: rgba(221, 88, 40, .08);
	border: 1px solid rgba(221, 88, 40, .3);
	border-radius: var(--radius-sm);
	padding: 14px 18px;
	margin-bottom: 18px;
	color: var(--cream);
	font-size: .9rem;
}
.woocommerce-checkout .woocommerce-form-login-toggle a{
	color: var(--orange-bright);
	font-weight: 700;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle{ margin-bottom: 14px; }

/* Terms / privacy */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{
	font-size: .82rem;
	color: var(--muted);
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px dashed var(--border);
	line-height: 1.6;
}

/* País — escondido (vendemos só para BR) mas mantém o value submetido */
.woocommerce-checkout .taioba-hidden-row{
	display: none !important;
}

/* Campos autocompletáveis (Endereço, Bairro, Cidade, Estado) —
   permanecem travados (readonly) o tempo todo. Só o CEP libera/refila.
   Texto LEGÍVEL no estado travado: opacity só na borda/label, valor em
   cream cheio pra manter contraste. */
.woocommerce-checkout .cep-dependent.is-locked input,
.woocommerce-checkout .cep-dependent.is-locked select,
.woocommerce-checkout .cep-dependent.is-locked textarea,
.woocommerce-checkout .cep-dependent input[readonly],
.woocommerce-checkout .cep-dependent textarea[readonly]{
	cursor: not-allowed;
	background: var(--surface);
	border-style: dashed;
	border-color: var(--border-strong);
	color: var(--cream);
}
.woocommerce-checkout .cep-dependent.is-locked select,
.woocommerce-checkout .cep-dependent.is-locked .select2-container,
.woocommerce-checkout .cep-dependent.is-locked .select2-selection{
	pointer-events: none;
}
.woocommerce-checkout .cep-dependent.is-locked .select2-selection{
	background: var(--surface) !important;
	border-style: dashed !important;
	border-color: var(--border-strong) !important;
	cursor: not-allowed !important;
}
.woocommerce-checkout .cep-dependent.is-locked .select2-selection__rendered{
	color: var(--cream) !important;
}
.woocommerce-checkout .cep-dependent.is-locked .select2-selection__arrow b{
	opacity: .4;
}
.woocommerce-checkout .cep-dependent.is-locked label{
	opacity: .8;
}

/* Feedback abaixo do CEP */
.taioba-cep-feedback{
	margin-top: 8px;
	font-size: .82rem;
	color: var(--muted);
	font-family: 'Poppins', sans-serif;
	display: flex;
	align-items: center;
	gap: 6px;
}
.taioba-cep-feedback.is-ok{ color: var(--green); }
.taioba-cep-feedback.is-err{ color: var(--amber); }

/* ---------- Minha Conta: forms padrão do WooCommerce (login/registro) ---------- */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account .woocommerce-form-lost-password{
	max-width: 520px;
	margin: 0 auto 28px;
	padding: 32px;
	background: var(--surface);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius);
}
.woocommerce-account .woocommerce-form-login h2,
.woocommerce-account .woocommerce-form-register h2,
.woocommerce-account .woocommerce-form-lost-password h2{
	font-family: 'Archivo', sans-serif;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -.01em;
	color: var(--cream);
	margin: 0 0 16px;
	font-size: 1.2rem;
}
.woocommerce-account .woocommerce-form-row,
.woocommerce-account form.lost_reset_password .form-row{
	margin-bottom: 14px;
	display: flex;
	flex-direction: column;
}
.woocommerce-account .woocommerce-form-row label,
.woocommerce-account form.lost_reset_password label{
	display: block;
	margin-bottom: 6px;
	font-family: 'Archivo', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .18em;
	font-size: .68rem;
	color: var(--muted);
}
.woocommerce-account .woocommerce-form-row input.input-text,
.woocommerce-account .woocommerce-form-row input[type="text"],
.woocommerce-account .woocommerce-form-row input[type="email"],
.woocommerce-account .woocommerce-form-row input[type="password"],
.woocommerce-account form.lost_reset_password input.input-text,
.woocommerce-account .woocommerce-EditAccountForm input.input-text,
.woocommerce-account .woocommerce-EditAccountForm input[type="email"]{
	width: 100%;
	padding: 13px 16px;
	background: var(--bg-elev);
	color: var(--cream);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-sm);
	font-family: 'Archivo', sans-serif;
	font-weight: 600;
	font-size: 1rem;
	transition: border-color .15s, box-shadow .15s;
}
.woocommerce-account .woocommerce-form-row input:focus,
.woocommerce-account form.lost_reset_password input:focus,
.woocommerce-account .woocommerce-EditAccountForm input:focus{
	outline: none;
	border-color: var(--orange);
	box-shadow: 0 0 0 4px rgba(221, 88, 40, .12);
}
.woocommerce-account .woocommerce-form-login__rememberme{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 4px 0 14px;
	font-size: .88rem;
	color: var(--text);
}
.woocommerce-account .woocommerce-form-login__rememberme input{
	accent-color: var(--orange);
}
.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register__submit,
.woocommerce-account form.lost_reset_password button[type="submit"],
.woocommerce-account .woocommerce-EditAccountForm button[type="submit"]{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 26px;
	background: linear-gradient(135deg, var(--orange-bright) 0%, var(--orange) 55%, var(--orange-deep) 100%);
	color: #fff;
	font-family: 'Archivo', sans-serif;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .04em;
	font-size: .92rem;
	border: 0;
	border-radius: var(--radius-sm);
	cursor: pointer;
	box-shadow: 0 10px 22px -10px rgba(221, 88, 40, .55);
	transition: transform .12s, filter .2s, box-shadow .2s;
}
.woocommerce-account .woocommerce-form-login__submit:hover,
.woocommerce-account .woocommerce-form-register__submit:hover,
.woocommerce-account form.lost_reset_password button:hover,
.woocommerce-account .woocommerce-EditAccountForm button:hover{
	transform: translateY(-1px);
	filter: brightness(1.05);
}
.woocommerce-account .lost_password{ margin-top: 12px; text-align: center; }
.woocommerce-account .lost_password a{
	font-size: .82rem;
	color: var(--orange-bright);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.woocommerce-account .lost_password a:hover{ color: var(--cream); }

/* Dashboard, addresses, account details — h2 / panel-lead consistência */
.woocommerce-account .woocommerce-MyAccount-content h2:not(.panel-title){
	font-family: 'Archivo', sans-serif;
	font-weight: 900;
	color: var(--cream);
	text-transform: uppercase;
	letter-spacing: -.01em;
	font-size: 1.3rem;
	margin: 0 0 16px;
}

/* Forms internos do account (edit address, edit account) */
.woocommerce-account .woocommerce-Address,
.woocommerce-account .woocommerce-MyAccount-content > p,
.woocommerce-account address{
	color: var(--text);
	line-height: 1.6;
}
.woocommerce-account .woocommerce-EditAccountForm{
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 24px;
}

/* Notices in account */
.woocommerce-account .woocommerce-notices-wrapper{ margin-bottom: 16px; }

/* ---------- Magic Login: tela da Minha Conta ---------- */
.taioba-magic-login{
	max-width: 520px;
	margin: 60px auto;
	padding: 32px;
	background: var(--surface);
	border: 1px solid var(--border-strong);
	border-top: 3px solid var(--orange);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
}
.taioba-magic-login__head{
	display: flex;
	gap: 16px;
	align-items: flex-start;
	margin-bottom: 22px;
}
.taioba-magic-login__head svg{
	width: 36px;
	height: 36px;
	color: var(--orange-bright);
	flex-shrink: 0;
}
.taioba-magic-login__head h2{
	font-family: 'Archivo', sans-serif;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -.01em;
	font-size: 1.3rem;
	color: var(--cream);
	margin: 0 0 6px;
}
.taioba-magic-login__head p{
	font-size: .9rem;
	color: var(--text);
	line-height: 1.55;
	margin: 0;
}

/* Wrapper do shortcode [magic_login_form] dentro dos containers do tema.
   O plugin estrutura o output assim:
     <div id="magic-login-wrapper">                        ← wrapper externo
       <div class="magic-login-form-header"> ... </div>   ← header com info/erros (mensagens do PLUGIN em EN)
       <form class="magic-login-inline-login-form">
         <label></label>                                   ← passamos vazio
         <input type="text" name="log">
         <input type="submit">
       </form>
     </div>
   Escondemos o header (mensagem default do plugin em inglês) e o label vazio.
   Estilizamos o input e botão pra bater com o branding Taioba. */

.taioba-magic-login #magic-login-wrapper,
.taioba-magic-thankyou #magic-login-wrapper{
	background: transparent;
	padding: 0;
	border: 0;
}
.taioba-magic-login .magic-login-form-header,
.taioba-magic-thankyou .magic-login-form-header{
	display: none !important;
}
.taioba-magic-login .magic-login-inline-login-form,
.taioba-magic-thankyou .magic-login-inline-login-form{
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
}
.taioba-magic-login .magic-login-inline-login-form > label,
.taioba-magic-thankyou .magic-login-inline-login-form > label{
	display: none !important;
}
.taioba-magic-login .magic-login-inline-login-form input[type="text"],
.taioba-magic-login .magic-login-inline-login-form input.input,
.taioba-magic-thankyou .magic-login-inline-login-form input[type="text"],
.taioba-magic-thankyou .magic-login-inline-login-form input.input{
	width: 100% !important;
	padding: 14px 18px !important;
	background: var(--bg-elev) !important;
	color: var(--cream) !important;
	border: 1px solid var(--border-strong) !important;
	border-radius: var(--radius-sm) !important;
	font-family: 'Archivo', sans-serif !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	letter-spacing: .01em !important;
	box-shadow: none !important;
	transition: border-color .15s, box-shadow .15s !important;
}
.taioba-magic-login .magic-login-inline-login-form input[type="text"]::placeholder,
.taioba-magic-thankyou .magic-login-inline-login-form input[type="text"]::placeholder{
	color: var(--muted) !important;
}
.taioba-magic-login .magic-login-inline-login-form input[type="text"]:focus,
.taioba-magic-thankyou .magic-login-inline-login-form input[type="text"]:focus{
	outline: none !important;
	border-color: var(--orange) !important;
	box-shadow: 0 0 0 4px rgba(221, 88, 40, .12) !important;
}
.taioba-magic-login .magic-login-inline-login-form input[type="submit"],
.taioba-magic-thankyou .magic-login-inline-login-form input[type="submit"]{
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	margin-top: 4px !important;
	padding: 16px 24px !important;
	background: var(--orange) !important;
	color: #fff !important;
	font-family: 'Archivo', sans-serif !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: .04em !important;
	font-size: .92rem !important;
	border: 0 !important;
	border-radius: var(--radius-sm) !important;
	cursor: pointer !important;
	box-shadow: none !important;
	transition: background-color .15s !important;
	text-shadow: none !important;
}
.taioba-magic-login .magic-login-inline-login-form input[type="submit"]:hover,
.taioba-magic-thankyou .magic-login-inline-login-form input[type="submit"]:hover{
	background: var(--orange-bright) !important;
}
.taioba-magic-login .magic-login-inline-login-form input[type="submit"]:active,
.taioba-magic-thankyou .magic-login-inline-login-form input[type="submit"]:active{
	background: var(--orange-deep) !important;
}

/* Fallback (login tradicional escondido por padrão) */
.taioba-magic-fallback{
	max-width: 520px;
	margin: 6px auto 28px;
	text-align: center;
}
.taioba-magic-fallback summary{
	cursor: pointer;
	font-size: .82rem;
	color: var(--muted);
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	padding: 8px;
	text-decoration: underline;
	text-decoration-color: var(--border-strong);
	text-underline-offset: 3px;
	list-style: none;
}
.taioba-magic-fallback summary::-webkit-details-marker{ display: none; }
.taioba-magic-fallback summary:hover{ color: var(--orange-bright); }

/* Magic Login no thank-you (Pedido 1 split-parent) */
.taioba-magic-thankyou{
	padding: 22px 0 0;
	margin-top: 24px;
	border-top: 2px solid var(--orange);
}
.taioba-magic-thankyou h3{
	font-family: 'Archivo', sans-serif;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -.01em;
	font-size: 1.1rem;
	color: var(--cream);
	margin: 0 0 6px;
}
.taioba-magic-thankyou p{
	font-size: .88rem;
	color: var(--text);
	line-height: 1.55;
	margin-bottom: 14px;
}

/* Notice "logged in already" */
.taioba-login-required{
	padding: 20px;
	background: var(--surface);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius);
	color: var(--cream);
}

/* ---------- Account nav ---------- */
.account-layout{
	display:grid;grid-template-columns:240px 1fr;gap:28px;margin:30px 0 70px;
}
@media (max-width:780px){ .account-layout{grid-template-columns:1fr} }
.account-nav{display:flex;flex-direction:column;gap:4px}
.account-nav a{
	display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--radius-sm);
	color:var(--text);font-weight:500;border:1px solid transparent;
}
.account-nav a:hover{background:var(--surface);color:var(--cream)}
.account-nav a.woocommerce-MyAccount-navigation-link--is-active{
	background:var(--surface);color:var(--cream);border-color:var(--border-strong);
}

/* ---------- Quick order ---------- */
.quick-order{ max-width:760px;margin:30px auto 60px; }
.quick-order textarea{
	width:100%;min-height:170px;padding:12px 14px;border-radius:var(--radius-sm);
	background:var(--surface);color:var(--cream);
	border:1px solid var(--border-strong);font-family:'Menlo','SF Mono',monospace;font-size:.92rem;
}
.qo-feedback{font-size:.88rem;color:var(--muted)}
.qo-feedback.qo-ok{color:var(--green)}
.qo-feedback.qo-err{color:var(--amber)}

/* ---------- Paginação ---------- */
.taioba-pagination{
	display:flex;gap:8px;justify-content:center;margin:40px 0 10px;
}
.taioba-pagination a, .taioba-pagination span{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:38px;height:38px;padding:0 12px;border-radius:var(--radius-sm);
	border:1px solid var(--border-strong);color:var(--cream);font-weight:600;
}
.taioba-pagination .current{background:var(--orange);border-color:var(--orange);color:#fff}

/* ---------- Toast (controlado pelo taioba.js) ---------- */
.taioba-toast{
	position:fixed;left:50%;bottom:30px;transform:translate(-50%,18px);
	background:var(--surface);color:var(--cream);
	padding:11px 16px;border-radius:999px;border:1px solid var(--border-strong);
	font-family:'Archivo',sans-serif;font-weight:700;font-size:.85rem;
	display:inline-flex;align-items:center;gap:10px;
	box-shadow:var(--shadow);opacity:0;pointer-events:none;
	transition:opacity .2s, transform .2s;z-index:99;
}
.taioba-toast.show{opacity:1;transform:translate(-50%,0)}
.taioba-toast svg{width:18px;height:18px;color:var(--green)}

/* ---------- Conteúdo de página interna ---------- */
.page-content{ max-width:760px;margin:30px auto 60px;color:var(--text);font-size:1rem;line-height:1.7 }
.page-content p+p{margin-top:14px}
.prose p+p{margin-top:12px}

/* ---------- Stepper compat com cart ---------- */
.cart-row .quantity{
	display:inline-flex;align-items:stretch;border:1px solid var(--border-strong);
	border-radius:var(--radius-sm);overflow:hidden;background:var(--surface);
}
.cart-row .quantity .qty{
	width:54px;text-align:center;border:0;background:transparent;color:var(--cream);
	font-family:'Archivo',sans-serif;font-weight:700;padding:6px 0;
}
