/* ACERVOH — pele comercial: sacola, checkout e conta sobre o WooCommerce
   clássico (shortcodes). Simples, rápido, mobile-first. */

.comercial { padding-top: var(--espaco-4); padding-bottom: var(--espaco-5); }
.comercial-titulo {
	font-weight: 500; letter-spacing: -.02em;
	font-size: clamp(2.2rem, 5vw, 3.4rem); line-height: 1; margin: .75rem 0 2rem;
}

/* ---------- avisos do Woo, em toda parte ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.wc-block-components-notice-banner {
	list-style: none; margin: 1.5rem auto; max-width: var(--medida-conteudo);
	padding: 1rem 1.5rem; border: 1px solid var(--cor-linha);
	background: var(--cor-superficie); color: var(--cor-tinta);
	font-size: .9rem; line-height: 1.5;
}
.woocommerce-error { border-color: var(--cor-tinta); }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button {
	float: right; font-family: var(--mono); font-size: .64rem; letter-spacing: .1em;
	color: var(--cor-tinta); text-decoration: underline; text-underline-offset: 3px;
	background: none; border: none; padding: 0;
}

/* ---------- sacola ---------- */
.woocommerce-cart-form table.shop_table { border-collapse: collapse; width: 100%; }
.woocommerce-cart-form th {
	text-align: left; font-family: var(--mono); font-size: .62rem;
	letter-spacing: .12em; text-transform: uppercase; color: var(--cor-grafite);
	font-weight: 400; padding: 0 1rem .75rem 0; border-bottom: 1px solid var(--cor-linha);
}
.woocommerce-cart-form td { padding: 1.25rem 1rem 1.25rem 0; border-bottom: 1px solid var(--cor-linha); vertical-align: middle; }
.woocommerce-cart-form td.product-thumbnail { width: 6.5rem; }
.woocommerce-cart-form td.product-thumbnail img { width: 5.5rem; height: auto; display: block; }
.woocommerce-cart-form td.product-name { font-weight: 500; }
.woocommerce-cart-form td.product-name .variation {
	font-family: var(--mono); font-size: .66rem; color: var(--cor-grafite);
	display: flex; gap: .35rem; margin: .3rem 0 0;
}
.woocommerce-cart-form td.product-name .variation p { margin: 0; display: inline; }
.woocommerce-cart-form .product-price, .woocommerce-cart-form .product-subtotal { font-family: var(--mono); font-size: .8rem; }
.woocommerce-cart-form td.product-remove a {
	font-size: 1rem; color: var(--cor-grafite); text-decoration: none;
}
.woocommerce-cart-form .quantity .qty {
	width: 3.5rem; padding: .5rem; border: 1px solid var(--cor-linha);
	background: var(--cor-fundo); font-family: var(--mono); text-align: center;
}
.woocommerce-cart-form .coupon { display: flex; gap: .5rem; }
.woocommerce-cart-form .coupon .input-text {
	padding: .6rem .8rem; border: 1px solid var(--cor-linha); background: var(--cor-fundo);
	font-family: var(--mono); font-size: .74rem;
}
.woocommerce-cart-form td.actions { padding-top: 1.5rem; }
.woocommerce-cart-form button[name="update_cart"],
.woocommerce-cart-form button[name="apply_coupon"] {
	background: none; border: none; padding: 0; cursor: pointer;
	font-family: var(--mono); font-size: .64rem; letter-spacing: .1em;
	color: var(--cor-grafite); text-decoration: underline; text-underline-offset: 3px;
}

.cart-collaterals { margin-top: 2.5rem; display: grid; grid-template-columns: 1fr; gap: 3rem; }
@media (min-width: 960px) { .cart-collaterals { grid-template-columns: 1fr 24rem; align-items: start; } }
.cart_totals { width: 100%; max-width: 24rem; justify-self: end; }

/* cross-sells da sacola: curadoria, com a cara dos cards do acervo */
.cross-sells h2 {
	font-family: var(--mono); font-size: .68rem; letter-spacing: .14em;
	text-transform: uppercase; font-weight: 400; color: var(--cor-grafite); margin: 0 0 1.25rem;
}
.cross-sells ul.products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.cross-sells ul.products li { margin: 0; }
.cross-sells ul.products img { width: 100%; height: auto; display: block; margin-bottom: .6rem; }
.cross-sells ul.products a { text-decoration: none; }
.cross-sells .woocommerce-loop-product__title {
	font-family: var(--sans); font-size: .85rem; font-weight: 500; display: block;
	text-transform: none; letter-spacing: 0; line-height: 1.3;
}
.cross-sells .price { font-family: var(--mono); font-size: .66rem; color: var(--cor-grafite); display: block; margin-top: .25rem; }
.cross-sells .add_to_cart_button, .cross-sells .added_to_cart { display: none; }
@media (max-width: 700px) { .cross-sells ul.products { grid-template-columns: repeat(2, 1fr); } }
.cart_totals h2 { font-size: .72rem; font-family: var(--mono); letter-spacing: .14em; text-transform: uppercase; font-weight: 400; color: var(--cor-grafite); }
.cart_totals table { width: 100%; border-collapse: collapse; }
.cart_totals th, .cart_totals td { text-align: left; padding: .6rem 0; border-bottom: 1px solid var(--cor-linha); font-size: .9rem; }
.cart_totals .order-total td { font-weight: 600; }
.wc-proceed-to-checkout { margin-top: 1.25rem; }
.wc-proceed-to-checkout .checkout-button {
	display: block; text-align: center;
	font-family: var(--sans); font-weight: 500; font-size: .74rem; letter-spacing: .16em;
	text-transform: uppercase; padding: 1rem 1.6rem;
	background: var(--cor-tinta); color: var(--cor-fundo); border: 1px solid var(--cor-tinta);
}
.wc-proceed-to-checkout .checkout-button:hover { background: var(--cor-grafite); }
.sacola-pagamentos {
	font-family: var(--mono); font-size: .62rem; letter-spacing: .08em;
	color: var(--cor-grafite); margin-top: .9rem; text-align: center;
}
.cart-empty.woocommerce-info { background: none; border: none; padding: 0; font-family: var(--serif); font-style: italic; font-size: 1.3rem; }
.return-to-shop .button {
	display: inline-block; font-family: var(--sans); font-weight: 500; font-size: .72rem;
	letter-spacing: .16em; text-transform: uppercase; padding: .9rem 1.6rem;
	border: 1px solid var(--cor-tinta); color: var(--cor-tinta); background: none;
}

/* ---------- checkout ---------- */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1fr; gap: 3rem; }
@media (min-width: 960px) { .woocommerce-checkout form.checkout { grid-template-columns: 1.2fr 1fr; align-items: start; } }
.woocommerce-checkout h3 {
	font-family: var(--mono); font-size: .72rem; letter-spacing: .14em;
	text-transform: uppercase; font-weight: 400; color: var(--cor-grafite); margin: 0 0 1.25rem;
}
.woocommerce-checkout .form-row { margin: 0 0 1rem; display: block; }
.woocommerce-checkout .form-row label { display: block; font-size: .78rem; letter-spacing: .04em; margin-bottom: .35rem; }
.woocommerce-checkout .form-row .required { color: var(--cor-grafite); text-decoration: none; }
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
	width: 100%; padding: .75rem .9rem; border: 1px solid var(--cor-linha);
	background: var(--cor-fundo); color: var(--cor-tinta);
	font-family: var(--sans); font-size: .95rem; border-radius: 0; -webkit-appearance: none;
}
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus { outline: none; border-color: var(--cor-tinta); }
.woocommerce-checkout .select2-container .select2-selection--single {
	height: auto; padding: .65rem .9rem; border: 1px solid var(--cor-linha); border-radius: 0; background: var(--cor-fundo);
}
.woocommerce-checkout .select2-container .select2-selection__arrow { top: 50%; transform: translateY(-50%); }

#order_review_heading { margin-top: 0; }
#order_review { border: 1px solid var(--cor-linha); padding: 1.5rem; background: var(--cor-superficie); }
#order_review table { width: 100%; border-collapse: collapse; }
#order_review th, #order_review td { text-align: left; padding: .55rem 0; border-bottom: 1px solid var(--cor-linha); font-size: .88rem; }
#order_review .order-total td, #order_review .order-total th { font-weight: 600; border-bottom: none; }
#order_review .woocommerce-checkout-payment { margin-top: 1.25rem; }
#order_review .wc_payment_methods { list-style: none; margin: 0 0 1rem; padding: 0; }
#order_review .wc_payment_method { padding: .5rem 0; }
#order_review .wc_payment_method label { font-size: .9rem; font-weight: 500; }
#order_review .payment_box { font-size: .82rem; color: var(--cor-grafite); padding: .5rem 0 0 1.4rem; }
#order_review .woocommerce-privacy-policy-text { font-size: .78rem; color: var(--cor-grafite); }
#place_order {
	display: block; width: 100%;
	font-family: var(--sans); font-weight: 500; font-size: .74rem; letter-spacing: .16em;
	text-transform: uppercase; padding: 1rem 1.6rem; margin-top: 1rem;
	background: var(--cor-tinta); color: var(--cor-fundo); border: 1px solid var(--cor-tinta); cursor: pointer;
}
#place_order:hover { background: var(--cor-grafite); }

/* confirmação do pedido */
.woocommerce-order .woocommerce-thankyou-order-received {
	font-family: var(--serif); font-style: italic; font-weight: 300;
	font-size: 1.5rem; margin: 0 0 1.5rem;
}
.woocommerce-order-overview {
	list-style: none; margin: 0 0 2rem; padding: 1.25rem 1.5rem;
	border: 1px solid var(--cor-linha); background: var(--cor-superficie);
	display: flex; flex-wrap: wrap; gap: 1rem 2.5rem;
}
.woocommerce-order-overview li { font-family: var(--mono); font-size: .7rem; letter-spacing: .06em; color: var(--cor-grafite); }
.woocommerce-order-overview strong { display: block; color: var(--cor-tinta); font-size: .85rem; margin-top: .25rem; }

/* ---------- conta ---------- */
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 1.25rem; border-bottom: 1px solid var(--cor-linha); padding-bottom: 1rem; }
.woocommerce-MyAccount-navigation a { font-family: var(--mono); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: var(--cor-grafite); }
.woocommerce-MyAccount-navigation .is-active a { color: var(--cor-tinta); border-bottom: 1px solid var(--cor-tinta); padding-bottom: .2rem; }
.woocommerce-MyAccount-content { margin-top: 2rem; font-size: .95rem; line-height: 1.65; max-width: 44rem; }
.woocommerce-MyAccount-content .woocommerce-Button,
.woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-form-register .woocommerce-form-register__submit {
	font-family: var(--sans); font-weight: 500; font-size: .72rem; letter-spacing: .16em;
	text-transform: uppercase; padding: .9rem 1.6rem;
	background: var(--cor-tinta); color: var(--cor-fundo); border: 1px solid var(--cor-tinta); cursor: pointer;
}
.woocommerce-form-login, .woocommerce-form-register { max-width: 26rem; }
.woocommerce-form-login .form-row, .woocommerce-form-register .form-row { margin: 0 0 1rem; }
.woocommerce-form-login label, .woocommerce-form-register label { display: block; font-size: .78rem; margin-bottom: .35rem; }
.woocommerce-form-login .input-text, .woocommerce-form-register .input-text {
	width: 100%; padding: .75rem .9rem; border: 1px solid var(--cor-linha);
	background: var(--cor-fundo); border-radius: 0; -webkit-appearance: none;
}
.woocommerce-form-login .input-text:focus, .woocommerce-form-register .input-text:focus { outline: none; border-color: var(--cor-tinta); }
#customer_login h2 { font-weight: 500; font-size: 1.3rem; letter-spacing: -.01em; }
.woocommerce-LostPassword { font-size: .8rem; }
.woocommerce-LostPassword a { text-decoration: underline; text-underline-offset: 3px; color: var(--cor-grafite); }

/* mobile: tabela da sacola empilha */
@media (max-width: 700px) {
	.woocommerce-cart-form thead { display: none; }
	.woocommerce-cart-form table, .woocommerce-cart-form tbody,
	.woocommerce-cart-form tr, .woocommerce-cart-form td { display: block; width: 100%; }
	.woocommerce-cart-form tr { border-bottom: 1px solid var(--cor-linha); padding: 1.25rem 0; position: relative; }
	.woocommerce-cart-form td { border: none; padding: .2rem 0; }
	.woocommerce-cart-form td.product-thumbnail { width: auto; }
	.woocommerce-cart-form td.product-remove { position: absolute; top: 1.25rem; right: 0; width: auto; }
	.cart-collaterals { justify-content: stretch; }
	.cart_totals { max-width: none; }
}
