/*
 * ELEMENTAR — WooCommerce (carrinho, checkout clássico e em blocos, pedido
 * recebido, Minha conta). Apenas aparência: campos, validações e componentes
 * do gateway continuam os oficiais.
 */

/* Botões */
body.el-site .woocommerce :is(a.button, button.button, input.button, #respond input#submit),
body.el-site .woocommerce :is(a.button.alt, button.button.alt, input.button.alt),
body.el-site #place_order,
body.el-site .wc-block-components-button:not(.is-link) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 15px 24px;
	border: 0;
	border-radius: 6px;
	background: var(--el-cta);
	color: #111;
	font: 600 12px/1.4 'Inter', 'Segoe UI', Arial, sans-serif;
	letter-spacing: .3px;
	text-transform: uppercase;
	text-decoration: none;
	transition: background .15s;
}

body.el-site .woocommerce :is(a.button, button.button, input.button, #respond input#submit):hover,
body.el-site .woocommerce :is(a.button.alt, button.button.alt, input.button.alt):hover,
body.el-site #place_order:hover,
body.el-site .wc-block-components-button:not(.is-link):hover {
	background: var(--el-cta-hover);
	color: #111;
}

body.el-site .woocommerce :is(button.button, input.button):disabled,
body.el-site .woocommerce :is(button.button, input.button).disabled {
	opacity: .6;
	cursor: not-allowed;
}

body.el-site #place_order { width: 100%; }

/* Campos */
body.el-site .woocommerce form .form-row :is(input.input-text, textarea, select),
body.el-site .woocommerce :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"]),
body.el-site .select2-container .select2-selection--single {
	min-height: 46px;
	padding: 11px 14px;
	border: 1px solid var(--el-border-light);
	border-radius: 6px;
	background: #fff;
	color: var(--el-title-dark);
	font: 400 14px/1.4 'Inter', 'Segoe UI', Arial, sans-serif;
}

body.el-site .select2-container .select2-selection--single .select2-selection__rendered { line-height: 22px; padding: 0; }
body.el-site .select2-container .select2-selection--single .select2-selection__arrow { top: 10px; right: 8px; }

body.el-site .woocommerce form .form-row label {
	font-size: 13px;
	font-weight: 500;
	color: var(--el-title-dark);
	margin-bottom: 6px;
}

body.el-site .woocommerce form .form-row .required { color: #a3361f; }

/* Avisos */
body.el-site :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice) {
	border-radius: 8px;
	border-top-width: 3px;
	background: #fff;
	color: var(--el-title-dark);
	font-size: 14px;
}

body.el-site :is(.woocommerce-message, .woocommerce-info) { border-top-color: var(--el-orange); }
body.el-site :is(.woocommerce-message, .woocommerce-info)::before { color: #926300; }

/* Cartões: resumo do pedido, tabelas, endereços */
body.el-site .woocommerce :is(table.shop_table, .woocommerce-order-details, .woocommerce-customer-details address) {
	background: #fff;
	border: 1px solid var(--el-border-light);
	border-radius: 10px;
}

body.el-site .woocommerce table.shop_table { border-collapse: separate; overflow: hidden; }
body.el-site .woocommerce table.shop_table :is(th, td) { padding: 14px 16px; border-color: #eee8dc; }
body.el-site .woocommerce table.shop_table .order-total .amount {
	font-family: 'Manrope', 'Segoe UI', Arial, sans-serif;
	font-size: 20px;
	font-weight: 800;
}

/* Checkout clássico: formulário à esquerda, resumo à direita */
@media (min-width: 801px) {
	body.el-site .woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: 1.12fr .88fr;
		column-gap: 44px;
		align-items: start;
	}

	body.el-site .woocommerce-checkout form.checkout > * { grid-column: 1 / -1; }
	body.el-site .woocommerce-checkout form.checkout > .woocommerce-NoticeGroup { grid-row: 1; }
	body.el-site .woocommerce-checkout form.checkout > #customer_details { grid-column: 1; grid-row: 2 / span 3; }
	body.el-site .woocommerce-checkout form.checkout > #order_review_heading { grid-column: 2; grid-row: 2; margin-top: 0; }
	body.el-site .woocommerce-checkout form.checkout > #order_review { grid-column: 2; grid-row: 3; }
}

body.el-site .woocommerce-checkout #customer_details :is(.col-1, .col-2) {
	float: none;
	width: 100%;
	max-width: none;
}

body.el-site .woocommerce-checkout #payment {
	background: #fff;
	border: 1px solid var(--el-border-light);
	border-radius: 10px;
}

body.el-site .woocommerce-checkout #payment div.payment_box {
	background: var(--el-cream);
	color: var(--el-body-dark);
}

body.el-site .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--el-cream); }

/* Checkout e carrinho em blocos */
body.el-site :is(.wc-block-checkout, .wc-block-cart) {
	font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
	color: var(--el-title-dark);
}

body.el-site :is(.wc-block-checkout__sidebar, .wc-block-cart__sidebar) .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: 'Manrope', 'Segoe UI', Arial, sans-serif;
	font-weight: 800;
}

/* Pedido recebido: situação da compra e do acesso */
.el-order-status {
	margin: 0 0 32px;
	padding: 26px 28px;
	border-radius: 10px;
	border-left: 4px solid var(--el-orange);
	background: #fff;
}

body.el-site .el-order-status__title { font-size: 20px; margin: 0 0 8px; }
body.el-site .el-order-status__text { margin: 0 0 4px; }
body.el-site .el-order-status .el-site-button { margin-top: 14px; }

.el-order-status--ready { border-left-color: #2f7d32; }
.el-order-status--failed { border-left-color: #a3361f; }

/* Minha conta */
@media (min-width: 801px) {
	body.el-site .woocommerce-account .woocommerce {
		display: grid;
		grid-template-columns: 240px 1fr;
		gap: 40px;
		align-items: start;
	}

	body.el-site .woocommerce-account .woocommerce > :not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content) { grid-column: 1 / -1; }
	body.el-site .woocommerce-account :is(.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content) { float: none; width: auto; }
}

body.el-site .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 8px;
	background: var(--el-black);
	border-radius: 10px;
}

body.el-site .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 10px 14px;
	border-radius: 6px;
	color: #ddd;
	font-size: 13px;
	text-decoration: none;
}

body.el-site .woocommerce-MyAccount-navigation a:hover { color: var(--el-yellow); }
body.el-site .woocommerce-MyAccount-navigation a:focus-visible { outline-color: var(--el-yellow); }
body.el-site .woocommerce-MyAccount-navigation .is-active a {
	background: #211e15;
	color: var(--el-yellow);
}

/* Login e cadastro */
body.el-site .woocommerce :is(form.login, form.register, form.lost_reset_password) {
	background: #fff;
	border: 1px solid var(--el-border-light);
	border-radius: 10px;
	padding: 26px;
}

@media (max-width: 590px) {
	.el-order-status { padding: 22px; }
	body.el-site .woocommerce :is(form.login, form.register, form.lost_reset_password) { padding: 20px; }
}
