/* ==========================================================================
   Carrinho Arquimobi — carrinho do WooCommerce revestido
   Reaproveita os tokens da Loja (areia/off-white, Raleway + Open Sans).
   Tudo escopado em .arq-carrinho para não colidir com o CSS do tema Stoni,
   que estiliza table/th/td/input/a globalmente — daí o uso cirúrgico de
   !important nas propriedades que o tema costuma forçar.
   ========================================================================== */

.arq-carrinho {  
	--arq-bg: #faf8f4 !important;
	--arq-surface: #ffffff !important;
	--arq-ink: #2a2622 !important;
	--arq-mute: #9a9186 !important;
	--arq-line: #e7e1d6 !important;
	--arq-accent: #cbbc9d !important;
	--arq-accent-deep: #b7a681 !important;

	--arq-head: "Raleway", "Helvetica Neue", Arial, sans-serif !important;
	--arq-num: "Open Sans", "Helvetica Neue", Arial, sans-serif !important;

	background: var(--arq-bg) !important;
	color: var(--arq-ink) !important;
	font-family: var(--arq-num) !important;
	-webkit-font-smoothing: antialiased !important;
	padding: 64px 0 96px !important;
}

.arq-carrinho *,
.arq-carrinho *::before,
.arq-carrinho *::after {
	box-sizing: border-box !important;
}

.arq-container {
	width: 100% !important;
	max-width: 1240px !important;
	margin: 0 auto !important;
	padding: 0 28px !important;
}

/* --------------------------------------------------------------------------
   Cabeçalho (idêntico à Loja para dar continuidade)
   -------------------------------------------------------------------------- */
.arq-head {
	text-align: center !important;
	padding-bottom: 48px !important;
	margin-bottom: 48px !important;
	border-bottom: 1px solid var(--arq-line) !important;
}

.arq-head__logo {
	display: block !important;
	height: auto !important;
	width: 190px !important;
	margin: 0 auto 26px !important;
}

.arq-carrinho .arq-head__eyebrow {
	font-family: var(--arq-head) !important;
	font-weight: 500 !important;
	font-size: 12px !important;
	line-height: 1.4 !important;
	letter-spacing: 0.42em !important;
	text-transform: uppercase !important;
	color: var(--arq-accent-deep) !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
}

.arq-carrinho .arq-head__title {
	font-family: var(--arq-head) !important;
	font-weight: 300 !important;
	font-size: clamp(26px, 4vw, 40px) !important;
	line-height: 1.18 !important;
	letter-spacing: 0.01em !important;
	text-transform: none !important;
	color: var(--arq-ink) !important;
	margin: 0 auto 18px !important;
	padding: 0 !important;
	max-width: 20ch !important;
}

.arq-head__meta {
	font-family: var(--arq-num) !important;
	margin: 0 !important;
	color: var(--arq-mute) !important;
	font-size: 13px !important;
	letter-spacing: 0.02em !important;
}

/* --------------------------------------------------------------------------
   Notices do WooCommerce (cupom aplicado, item removido, etc.)
   -------------------------------------------------------------------------- */
.arq-carrinho .woocommerce-message,
.arq-carrinho .woocommerce-info:not(.cart-empty),
.arq-carrinho .woocommerce-error {
	list-style: none !important;
	font-family: var(--arq-num) !important;
	font-size: 14px !important;
	color: var(--arq-ink) !important;
	background: var(--arq-surface) !important;
	border: 1px solid var(--arq-line) !important;
	border-left: 3px solid var(--arq-accent) !important;
	border-radius: 0 !important;
	padding: 16px 20px !important;
	margin: 0 0 28px !important;
	box-shadow: none !important;
}

.arq-carrinho .woocommerce-error {
	border-left-color: #b4504a !important;
}

.arq-carrinho .woocommerce-message .button,
.arq-carrinho .woocommerce-info .button {
	float: right !important;
}

/* --------------------------------------------------------------------------
   Layout de duas colunas (sobrescreve .row / .wgl_col-* do tema)
   Esquerda: linhas do carrinho. Direita: resumo sticky.
   -------------------------------------------------------------------------- */
.arq-carrinho .woocommerce {
	color: var(--arq-ink) !important;
}

/* Layout FLEX (grid não funciona com o .row deste tema). Desktop: carrinho à
   esquerda preenchendo o espaço, resumo à direita. As larguras 100%/50% com
   flex-shrink fazem os itens dividirem ~2/3 x 1/3. min-width:0 é essencial para
   a tabela poder encolher sem estourar a largura. Escopado em .arq-carrinho para
   não afetar outras colunas .wgl_col do tema nesta página. */
.arq-carrinho .woocommerce .row {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 56px !important;
	align-items: flex-start !important;
	margin: 0 !important;
}

.arq-carrinho .wgl_col-8 {
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

.arq-carrinho .wgl_col-4 {
	width: 50% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

/* --------------------------------------------------------------------------
   Tabela de itens → "orçamento" leve com fios de cabelo
   -------------------------------------------------------------------------- */
.arq-carrinho .woocommerce-cart-form {
	margin: 0 !important;
}

.arq-carrinho table.shop_table {
	width: 100% !important;
	border: none !important;
	border-collapse: collapse !important;
	background: transparent !important;
	margin: 0 !important;
	border-radius: 0 !important;
	font-family: var(--arq-num) !important;
}

.arq-carrinho table.shop_table thead th {
	font-family: var(--arq-head) !important;
	font-size: 10.5px !important;
	font-weight: 500 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--arq-mute) !important;
	background: transparent !important;
	border: none !important;
	border-bottom: 1px solid var(--arq-line) !important;
	padding: 0 0 14px !important;
	text-align: left !important;
}

.arq-carrinho table.shop_table thead th.product-price,
.arq-carrinho table.shop_table thead th.product-subtotal {
	text-align: right !important;
}

.arq-carrinho table.shop_table thead th.product-remove,
.arq-carrinho table.shop_table thead th.product-thumbnail {
	width: 1px !important;
}

.arq-carrinho table.shop_table tbody td {
	border: none !important;
	border-bottom: 1px solid var(--arq-line) !important;
	background: transparent !important;
	padding: 22px 0 !important;
	vertical-align: middle !important;
	font-size: 15px !important;
	color: var(--arq-ink) !important;
}

/* Remover item — X discreto que aquece no hover */
.arq-carrinho td.product-remove {
	width: 34px !important;
	padding-right: 10px !important;
}

.arq-carrinho td.product-remove a.remove {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 26px !important;
	height: 26px !important;
	line-height: 1 !important;
	font-size: 20px !important;
	color: var(--arq-mute) !important;
	border-radius: 50% !important;
	background: transparent !important;
	text-decoration: none !important;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease !important;
}

.arq-carrinho td.product-remove a.remove:hover {
	color: #fff !important;
	background: #b4504a !important;
	border-color: #b4504a !important;
}

/* Miniatura */
.arq-carrinho td.product-thumbnail {
	width: 92px !important;
	padding-right: 20px !important;
}

.arq-carrinho td.product-thumbnail img {
	width: 72px !important;
	height: 72px !important;
	max-width: none !important;
	object-fit: cover !important;
	border-radius: 0 !important;
	border: 1px solid var(--arq-line) !important;
	display: block !important;
	margin: 0 !important;
}

/* Nome do produto */
.arq-carrinho td.product-name a {
	font-family: var(--arq-head) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	letter-spacing: 0.01em !important;
	color: var(--arq-ink) !important;
	text-decoration: none !important;
	text-transform: none !important;
	transition: color 0.2s ease !important;
}

.arq-carrinho td.product-name a:hover {
	color: var(--arq-accent-deep) !important;
}

.arq-carrinho td.product-name .backorder_notification {
	font-size: 12px !important;
	color: var(--arq-mute) !important;
	margin: 6px 0 0 !important;
}

/* Preço / subtotal alinhados à direita, números tabulares */
.arq-carrinho td.product-price,
.arq-carrinho td.product-subtotal {
	text-align: right !important;
	font-variant-numeric: tabular-nums !important;
	white-space: nowrap !important;
}

.arq-carrinho td.product-subtotal {
	font-weight: 600 !important;
}

.arq-carrinho td.product-price del,
.arq-carrinho td.product-subtotal del {
	color: var(--arq-mute) !important;
	font-weight: 400 !important;
	font-size: 13px !important;
}

.arq-carrinho td.product-price ins,
.arq-carrinho td.product-subtotal ins {
	text-decoration: none !important;
}

/* --------------------------------------------------------------------------
   Campo de quantidade
   -------------------------------------------------------------------------- */
.arq-carrinho td.product-quantity {
	text-align: center !important;
}

.arq-carrinho .quantity {
	display: inline-flex !important;
	align-items: center !important;
}

.arq-carrinho .quantity input.qty {
	width: 62px !important;
	height: auto !important;
	padding: 9px 8px !important;
	font-family: var(--arq-num) !important;
	font-size: 14px !important;
	font-variant-numeric: tabular-nums !important;
	color: var(--arq-ink) !important;
	text-align: center !important;
	background: var(--arq-surface) !important;
	border: 1px solid var(--arq-line) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	transition: border-color 0.2s ease !important;
}

.arq-carrinho .quantity input.qty:focus {
	outline: none !important;
	border-color: var(--arq-accent) !important;
}

/* --------------------------------------------------------------------------
   Linha de ações: cupom + atualizar carrinho
   -------------------------------------------------------------------------- */
.arq-carrinho td.actions {
	padding: 28px 0 0 !important;
	border-bottom: none !important;
}

.arq-carrinho td.actions .coupon {
	display: flex !important;
	align-items: stretch !important;
	gap: 10px !important;
	float: left !important;
	max-width: 420px !important;
}

.arq-carrinho td.actions .coupon label {
	display: none !important;
}

.arq-carrinho td.actions .coupon input#coupon_code {
	width: 200px !important;
	height: auto !important;
	padding: 11px 14px !important;
	font-family: var(--arq-num) !important;
	font-size: 14px !important;
	color: var(--arq-ink) !important;
	background: var(--arq-surface) !important;
	border: 1px solid var(--arq-line) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.arq-carrinho td.actions .coupon input#coupon_code:focus {
	outline: none !important;
	border-color: var(--arq-accent) !important;
}

.arq-carrinho td.actions .coupon input#coupon_code::placeholder {
	color: #c3bcb0 !important;
}

/* Botões base do carrinho (aplicar cupom / atualizar) — contorno fino */
.arq-carrinho td.actions button.button {
	font-family: var(--arq-head) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--arq-ink) !important;
	background: transparent !important;
	border: 1px solid var(--arq-line) !important;
	border-radius: 0 !important;
	padding: 11px 20px !important;
	line-height: 1.2 !important;
	min-height: 0 !important;
	cursor: pointer !important;
	transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
}

.arq-carrinho td.actions button.button:hover {
	background: var(--arq-accent) !important;
	border-color: var(--arq-accent) !important;
	color: #fff !important;
}

.arq-carrinho td.actions button[name="update_cart"] {
	float: right !important;
}

.arq-carrinho td.actions button[name="update_cart"]:disabled,
.arq-carrinho td.actions button[name="update_cart"][disabled] {
	opacity: 0.45 !important;
	cursor: default !important;
}

/* --------------------------------------------------------------------------
   Resumo do pedido (cart_totals) — card sticky, assinatura no Total
   -------------------------------------------------------------------------- */
.arq-carrinho .cart-collaterals {
	width: 100% !important;
	float: none !important;
}

/* Neutraliza o float:right / width:48% que o CSS do core WooCommerce aplica em
   .cart_totals — sem isso ele escapa da coluna flex e cai para baixo. */
.arq-carrinho .cart_totals {
	position: sticky !important;
	top: 28px !important;
	float: none !important;
	width: 100% !important;
	background: var(--arq-surface) !important;
	border: 1px solid var(--arq-line) !important;
	padding: 30px 28px 32px !important;
}

.arq-carrinho .cart_totals h2 {
	font-family: var(--arq-head) !important;
	font-weight: 500 !important;
	font-size: 14px !important;
	letter-spacing: 0.24em !important;
	text-transform: uppercase !important;
	color: var(--arq-ink) !important;
	margin: 0 0 22px !important;
	padding: 0 0 20px !important;
	border-bottom: 1px solid var(--arq-line) !important;
}

.arq-carrinho .cart_totals table.shop_table,
.arq-carrinho .cart_totals table.shop_table tbody,
.arq-carrinho .cart_totals table.shop_table tr {
	display: block !important;
	width: 100% !important;
}

.arq-carrinho .cart_totals table.shop_table th,
.arq-carrinho .cart_totals table.shop_table td {
	display: block !important;
	border: none !important;
	background: transparent !important;
	padding: 0 !important;
}

.arq-carrinho .cart_totals table.shop_table tr {
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 16px !important;
	padding: 14px 0 !important;
	border-bottom: 1px solid var(--arq-line) !important;
}

.arq-carrinho .cart_totals th {
	font-family: var(--arq-head) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--arq-mute) !important;
	white-space: nowrap !important;
}

.arq-carrinho .cart_totals td {
	font-family: var(--arq-num) !important;
	font-size: 15px !important;
	color: var(--arq-ink) !important;
	text-align: right !important;
	font-variant-numeric: tabular-nums !important;
}

.arq-carrinho .cart_totals .woocommerce-shipping-methods,
.arq-carrinho .cart_totals .shipping ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: right !important;
	font-size: 14px !important;
}

.arq-carrinho .cart_totals .shipping-calculator-button {
	color: var(--arq-accent-deep) !important;
}

/* Linha do Total — assinatura: fio com traço em areia crescendo por baixo */
.arq-carrinho .cart_totals tr.order-total {
	position: relative !important;
	border-bottom: none !important;
	margin-top: 4px !important;
	padding-top: 18px !important;
}

.arq-carrinho .cart_totals tr.order-total::before {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	top: 0 !important;
	height: 1px !important;
	background: var(--arq-line) !important;
}

.arq-carrinho .cart_totals tr.order-total::after {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	height: 1px !important;
	width: 40px !important;
	background: var(--arq-accent) !important;
	transition: width 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) !important;
}

.arq-carrinho .cart_totals:hover tr.order-total::after {
	width: 100% !important;
}

.arq-carrinho .cart_totals tr.order-total th {
	font-size: 12px !important;
	color: var(--arq-ink) !important;
	letter-spacing: 0.18em !important;
}

.arq-carrinho .cart_totals tr.order-total td {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: var(--arq-ink) !important;
}

.arq-carrinho .cart_totals tr.order-total td .woocommerce-Price-amount {
	font-weight: 700 !important;
}

/* Botão Finalizar compra — o único cheio, âncora da página */
.arq-carrinho .wc-proceed-to-checkout {
	padding: 26px 0 0 !important;
}

.arq-carrinho .wc-proceed-to-checkout a.checkout-button {
	display: block !important;
	width: 100% !important;
	font-family: var(--arq-head) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	text-align: center !important;
	color: #fff !important;
	background: var(--arq-ink) !important;
	border: 1px solid var(--arq-ink) !important;
	border-radius: 0 !important;
	padding: 17px 20px !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	transition: background 0.25s ease, border-color 0.25s ease !important;
}

.arq-carrinho .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--arq-accent-deep) !important;
	border-color: var(--arq-accent-deep) !important;
}

/* --------------------------------------------------------------------------
   Carrinho vazio
   -------------------------------------------------------------------------- */
.arq-carrinho .cart-empty,
.arq-carrinho .wc-empty-cart-message {
	text-align: center !important;
	font-family: var(--arq-head) !important;
	font-weight: 300 !important;
	font-size: clamp(22px, 3.4vw, 30px) !important;
	line-height: 1.25 !important;
	letter-spacing: 0.01em !important;
	color: var(--arq-ink) !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	list-style: none !important;
	margin: 0 0 8px !important;
	padding: 40px 20px 0 !important;
}

/* Traço em areia sob a mensagem de vazio — assinatura também no estado nulo */
.arq-carrinho .cart-empty::after {
	content: "" !important;
	display: block !important;
	width: 40px !important;
	height: 1px !important;
	background: var(--arq-accent) !important;
	margin: 22px auto 0 !important;
}

.arq-carrinho .return-to-shop {
	text-align: center !important;
	padding: 26px 20px 48px !important;
}

.arq-carrinho .return-to-shop a.button {
	display: inline-block !important;
	font-family: var(--arq-head) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: #fff !important;
	background: var(--arq-ink) !important;
	border: 1px solid var(--arq-ink) !important;
	border-radius: 0 !important;
	padding: 15px 34px !important;
	text-decoration: none !important;
	transition: background 0.25s ease, border-color 0.25s ease !important;
}

.arq-carrinho .return-to-shop a.button:hover {
	background: var(--arq-accent-deep) !important;
	border-color: var(--arq-accent-deep) !important;
}

/* Estado "indisponível" (sem WooCommerce) — reaproveita padrão da Loja */
.arq-empty {
	text-align: center !important;
	padding: 64px 20px !important;
	border: 1px solid var(--arq-line) !important;
	background: var(--arq-surface) !important;
}

.arq-empty__title {
	font-family: var(--arq-head) !important;
	font-weight: 400 !important;
	font-size: 22px !important;
	margin: 0 0 10px !important;
	color: var(--arq-ink) !important;
}

.arq-empty__text {
	margin: 0 !important;
	color: var(--arq-mute) !important;
	font-size: 14px !important;
}

/* --------------------------------------------------------------------------
   Responsivo
   -------------------------------------------------------------------------- */
/* Aperta o gap em telas médias antes de empilhar */
@media (max-width: 1080px) {
	.arq-carrinho .woocommerce .row {
		gap: 36px !important;
	}
}

/* Empilha as duas colunas (flex-direction: column — sem grid) */
@media (max-width: 980px) {
	.arq-carrinho .woocommerce .row {
		flex-direction: column !important;
		gap: 40px !important;
	}

	.arq-carrinho .wgl_col-8,
	.arq-carrinho .wgl_col-4 {
		width: 100% !important;
	}

	/* Resumo deixa de ser sticky quando está embaixo */
	.arq-carrinho .cart_totals {
		position: static !important;
	}
}

/* A tabela de itens vira cartões empilhados — display block (responsive table
   clássica), SEM grid. Miniatura à esquerda; remover no topo direito;
   preço/quantidade/total ganham legenda via data-title. */
@media (max-width: 600px) {
	.arq-carrinho table.shop_table thead {
		display: none !important;
	}

	.arq-carrinho table.shop_table tbody tr.woocommerce-cart-form__cart-item {
		display: block !important;
		position: relative !important;
		border: 1px solid var(--arq-line) !important;
		padding: 18px 16px 18px 92px !important;
		margin: 0 0 14px !important;
		min-height: 92px !important;
	}

	.arq-carrinho table.shop_table tbody tr.woocommerce-cart-form__cart-item td {
		display: block !important;
		border: none !important;
		padding: 3px 0 !important;
		text-align: left !important;
		white-space: normal !important;
	}

	/* Miniatura fixa à esquerda do cartão */
	.arq-carrinho td.product-thumbnail {
		position: absolute !important;
		left: 16px !important;
		top: 18px !important;
		width: 60px !important;
		padding: 0 !important;
	}

	.arq-carrinho td.product-thumbnail img {
		width: 60px !important;
		height: 60px !important;
	}

	/* Botão remover no canto superior direito do cartão */
	.arq-carrinho td.product-remove {
		position: absolute !important;
		right: 10px !important;
		top: 12px !important;
		width: auto !important;
		padding: 0 !important;
	}

	.arq-carrinho td.product-name {
		padding-right: 34px !important;
		margin-bottom: 4px !important;
	}

	/* Legendas (Preço / Quantidade / Total) via data-title do WooCommerce */
	.arq-carrinho td.product-price,
	.arq-carrinho td.product-quantity,
	.arq-carrinho td.product-subtotal {
		text-align: left !important;
	}

	.arq-carrinho td.product-price::before,
	.arq-carrinho td.product-quantity::before,
	.arq-carrinho td.product-subtotal::before {
		content: attr(data-title) ": " !important;
		font-family: var(--arq-head) !important;
		font-size: 10px !important;
		letter-spacing: 0.12em !important;
		text-transform: uppercase !important;
		color: var(--arq-mute) !important;
		margin-right: 6px !important;
	}

	/* Linha de ações empilhada */
	.arq-carrinho td.actions {
		padding: 18px 0 0 !important;
	}

	.arq-carrinho td.actions .coupon {
		display: flex !important;
		float: none !important;
		max-width: none !important;
		margin-bottom: 12px !important;
	}

	.arq-carrinho td.actions .coupon input#coupon_code {
		flex: 1 !important;
		width: auto !important;
	}

	.arq-carrinho td.actions button.button,
	.arq-carrinho td.actions button[name="update_cart"] {
		float: none !important;
		width: 100% !important;
	}
}

@media (max-width: 520px) {
	.arq-carrinho {
		padding: 40px 0 64px !important;
	}

	.arq-container {
		padding: 0 18px !important;
	}
}

/* Cupom empilha na vertical nos aparelhos mais estreitos */
@media (max-width: 400px) {
	.arq-carrinho td.actions .coupon {
		flex-direction: column !important;
	}

	.arq-carrinho td.actions .coupon input#coupon_code {
		width: 100% !important;
	}
}

/* --------------------------------------------------------------------------
   Acessibilidade
   -------------------------------------------------------------------------- */
.arq-carrinho a:focus-visible,
.arq-carrinho button:focus-visible,
.arq-carrinho input:focus-visible {
	outline: 2px solid var(--arq-accent-deep) !important;
	outline-offset: 3px !important;
}

@media (prefers-reduced-motion: reduce) {
	.arq-carrinho *,
	.arq-carrinho *::before,
	.arq-carrinho *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}

/* --------------------------------------------------------------------------
   Cabeçalho do tema visível SOMENTE nesta página
   Mesmo tratamento da Loja: o header transparente/sobreposto some sobre o
   fundo claro; damos fundo escuro só no header fixo e removemos o overlap.
   -------------------------------------------------------------------------- */
body.arq-carrinho-page .wgl-theme-header .wgl-site-header,
body.arq-carrinho-page .wgl-theme-header .wgl-site-header .wgl-header-row {
	background-color: #3d3d3d !important;
}

body.arq-carrinho-page #main {
	padding: 0 !important;
}

body.arq-carrinho-page .wgl-theme-header.header_overlap {
	position: relative !important;
	top: 0 !important;
}
