/* Loja Alarm System — visual do site aplicado ao WooCommerce */
:root {
	--as-azul: #22305a;
	--as-azul-2: #273357;
	--as-laranja: #f58220;
	--as-texto: #575757;
	--as-borda: #e3e5ea;
	--as-fundo: #f4f4f4;
}

/* Base */
.woocommerce-page .site-main,
.woocommerce .site-main { font-family: "Open Sans", sans-serif; color: var(--as-texto); padding-bottom: 60px; }
.woocommerce-page .site-main a { color: var(--as-azul); }

/* Títulos como nas páginas de serviço: Exo 600 + linha pontilhada */
.woocommerce-products-header__title.page-title,
.woocommerce-page .page-header .entry-title,
.woocommerce div.product .product_title {
	font-family: "Exo", sans-serif; font-weight: 600; color: #000; font-size: 32px; line-height: 1.2;
	margin: 30px 0 18px; padding-bottom: 6px; border-bottom: 1px dotted #000;
}
.woocommerce div.product .product_title { border-bottom: 0; margin-top: 0; padding-bottom: 0; }
.woocommerce-page .page-header { max-width: 1140px; margin: 0 auto; }
.as-loja-intro { font-size: 18px; margin: 0 0 24px; }
.woocommerce .woocommerce-breadcrumb { font-size: 13px; color: #8a8f99; margin: 24px 0 0; }
.woocommerce .woocommerce-breadcrumb a { color: #8a8f99; }
.woocommerce .woocommerce-result-count { font-size: 14px; color: #8a8f99; margin-top: 8px; }
.woocommerce .woocommerce-ordering select {
	border: 1px solid var(--as-borda); border-radius: 6px; padding: 8px 12px; font-size: 14px; background: #fff;
}

/* Vitrine: cards como os cards de serviço */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; margin: 10px 0 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important;
	display: flex; flex-direction: column; text-align: center;
	background: #fff; border-radius: 25px; padding: 0 0 22px;
	box-shadow: 0 6px 22px rgba(34, 48, 90, .08); transition: transform .2s, box-shadow .2s;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(34, 48, 90, .14); }
.woocommerce ul.products li.product a img { border-radius: 25px 25px 0 0; margin: 0 0 18px; aspect-ratio: 1; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: "Exo", sans-serif; font-weight: 700; font-size: 22px; letter-spacing: -.5px; color: #000;
	padding: 0 18px; margin-bottom: 6px;
}
.woocommerce ul.products li.product .price { color: var(--as-azul); font-weight: 700; font-size: 20px; margin-bottom: 16px; }
.woocommerce ul.products li.product .button { margin: auto auto 0; }

/* Botões no estilo do botão CONTATO */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce #payment #place_order {
	font-family: "Open Sans", sans-serif; font-weight: 700; font-size: 15px; text-transform: uppercase; letter-spacing: .3px;
	color: var(--as-laranja); background: #fff; border: 2px solid var(--as-laranja); border-radius: 6px;
	padding: .8em 1.6em; line-height: 1.2; transition: background .2s, color .2s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover {
	background: var(--as-laranja); color: #fff; border-color: var(--as-laranja);
}
/* Ações principais em laranja cheio */
.woocommerce div.product form.cart .button,
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce #payment #place_order,
.woocommerce a.button.alt, .woocommerce button.button.alt {
	background: var(--as-laranja); color: #fff; border-color: var(--as-laranja);
}
.woocommerce div.product form.cart .button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce #payment #place_order:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover {
	background: #dd6f10; border-color: #dd6f10; color: #fff;
}
.woocommerce a.added_to_cart { display: block; margin-top: 8px; font-size: 14px; color: var(--as-azul); }

/* Página do produto */
.woocommerce div.product { margin-top: 10px; }
.woocommerce div.product div.images img { border-radius: 25px; }
.woocommerce div.product p.price, .woocommerce div.product span.price {
	color: var(--as-azul); font-size: 30px; font-weight: 700; margin-bottom: 12px;
}
.woocommerce div.product .woocommerce-product-details__short-description { font-size: 17px; line-height: 1.6; }
.woocommerce div.product .stock { color: #2e7d32; font-weight: 600; }
.as-retirada {
	display: flex; flex-direction: column; gap: 2px; margin: 18px 0 22px; padding: 14px 18px;
	background: var(--as-fundo); border-left: 4px solid var(--as-laranja); border-radius: 6px; font-size: 15px;
}
.as-retirada strong { color: var(--as-azul); font-family: "Exo", sans-serif; font-size: 17px; }
.woocommerce div.product form.cart { display: flex; gap: 12px; align-items: stretch; }
.woocommerce .quantity .qty {
	width: 4.2em; height: 100%; min-height: 46px; border: 1px solid var(--as-borda); border-radius: 6px; font-size: 16px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin-bottom: 18px; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--as-borda); }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: #fff; border-color: var(--as-borda); border-radius: 6px 6px 0 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-family: "Exo", sans-serif; color: var(--as-azul); }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-family: "Exo", sans-serif; color: #000; font-size: 24px; }
.woocommerce div.product .product_meta { font-size: 13px; color: #8a8f99; }
.woocommerce .related.products > h2 { font-family: "Exo", sans-serif; font-weight: 600; color: #000; font-size: 26px; margin-top: 40px; }

/* Carrinho e checkout */
.woocommerce table.shop_table { border: 1px solid var(--as-borda); border-radius: 12px; overflow: hidden; }
.woocommerce table.shop_table th { font-family: "Exo", sans-serif; color: var(--as-azul); }
.woocommerce table.shop_table img { border-radius: 10px; width: 64px; }
.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3, .woocommerce-checkout #order_review_heading,
.woocommerce-account h2 { font-family: "Exo", sans-serif; font-weight: 600; color: #000; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
	border: 1px solid var(--as-borda); border-radius: 6px; padding: 10px 12px; min-height: 44px; font-size: 15px; background: #fff;
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: 22px; padding: 0; }
.woocommerce form .form-row label { font-weight: 600; color: var(--as-azul); font-size: 14px; }
.woocommerce-checkout #payment { background: var(--as-fundo); border-radius: 12px; }
.woocommerce-checkout #payment div.payment_box { background: #fff; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }

/* Avisos */
.woocommerce-message, .woocommerce-info { border-top-color: var(--as-laranja); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--as-laranja); }

/* Selo "Oferta" */
.woocommerce span.onsale { background: var(--as-laranja); min-width: 3.4em; min-height: 3.4em; line-height: 3.4em; }

/* Carrinho lateral (versão C — compacto) */
body .elementor-location-header .elementor-menu-cart__main {
	width: 380px; max-width: 100vw; padding: 26px 24px !important; font-family: "Open Sans", sans-serif;
}
body .elementor-location-header .elementor-menu-cart__main::before {
	content: "Carrinho"; display: block; font-family: "Exo", sans-serif; font-weight: 600; font-size: 24px; color: #000;
	padding-bottom: 14px; border-bottom: 1px dotted #000; margin-bottom: 6px;
}
body .elementor-location-header .elementor-menu-cart__close-button { position: absolute; top: 26px; right: 22px; margin: 0; width: 22px; height: 22px; }
body .elementor-location-header .elementor-menu-cart__close-button::before,
body .elementor-location-header .elementor-menu-cart__close-button::after { background: var(--as-laranja); }
body .elementor-location-header .elementor-menu-cart__product { padding: 14px 0; border-bottom: 1px solid var(--as-borda); }
body .elementor-location-header .elementor-menu-cart__product-image img { border-radius: 8px; background: var(--as-fundo); }
body .elementor-location-header .elementor-menu-cart__product-name a { color: #000; font-weight: 600; font-size: 15px; }
body .elementor-location-header .elementor-menu-cart__product-price { color: var(--as-azul); font-weight: 700; font-size: 15px; }
body .elementor-location-header .elementor-menu-cart__product-price .product-quantity { color: #8a8f99; font-weight: 400; }
body .elementor-location-header .elementor-menu-cart__product-remove { border: 0; width: 20px; height: 20px; }
body .elementor-location-header .elementor-menu-cart__product-remove::before,
body .elementor-location-header .elementor-menu-cart__product-remove::after { background: #b3b7c0; height: 2px; }
body .elementor-location-header .elementor-menu-cart__product-remove:hover::before,
body .elementor-location-header .elementor-menu-cart__product-remove:hover::after { background: var(--as-laranja); }
body .elementor-location-header .elementor-menu-cart__subtotal {
	display: flex; justify-content: space-between; align-items: baseline; border: 0; margin: 10px 0 18px; padding: 8px 0;
	font-size: 22px; font-weight: 700; color: #000; text-align: left;
}
body .elementor-location-header .elementor-menu-cart__subtotal strong { font-size: 15px; font-weight: 600; color: var(--as-texto); text-transform: uppercase; letter-spacing: .8px; }
body .elementor-location-header .elementor-menu-cart__footer-buttons { display: flex; flex-direction: column-reverse; gap: 6px; }
body .elementor-location-header .elementor-button--checkout {
	background: var(--as-laranja); color: #fff; border-radius: 8px; font-weight: 700; font-size: 16px;
	text-transform: uppercase; padding: 17px; width: 100%; text-align: center;
}
body .elementor-location-header .elementor-button--checkout:hover { background: #dd6f10; }
body .elementor-location-header .elementor-button--view-cart {
	background: none; color: var(--as-azul); font-weight: 600; font-size: 14px; text-decoration: underline;
	padding: 10px; width: 100%; text-align: center;
}
body .elementor-location-header .elementor-button--view-cart:hover { color: var(--as-laranja); background: none; }

/* ================= Finalizar compra (versão B) ================= */
body.woocommerce-checkout .as-retirada--checkout{ margin: 18px 0; }
body.woocommerce-checkout .woocommerce-checkout #payment{ background: transparent; border-radius: 0; }
body.woocommerce-checkout #payment ul.payment_methods{ border-bottom: 0; padding: 0; }
body.woocommerce-checkout #payment ul.payment_methods li{
	background: #fff; border: 1px solid var(--as-borda); border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; list-style: none;
}
body.woocommerce-checkout #payment ul.payment_methods li label{ font-weight: 700; color: var(--as-azul); }
body.woocommerce-checkout #payment .place-order{ padding: 6px 0 0 !important; }
body.woocommerce-checkout #payment #place_order{ width: 100%; font-size: 17px; padding: 18px; border-radius: 8px; float: none; }
body.woocommerce-checkout .woocommerce-privacy-policy-text{ font-size: 13px; color: #8a8f99; }
body.woocommerce-checkout table.shop_table{ border: 0; border-radius: 0; background: transparent; }
body.woocommerce-checkout table.shop_table th, body.woocommerce-checkout table.shop_table td{ border-color: var(--as-borda); padding: 12px 4px; background: transparent; }
body.woocommerce-checkout table.shop_table .order-total .amount{ font-size: 22px; color: #000; }
body.woocommerce-checkout #shipping_method li{ margin: 0; }

/* Layout: dados à esquerda, resumo fixo à direita */
body.woocommerce-checkout form.checkout {
	display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 0 48px; align-items: start;
}
body.woocommerce-checkout form.checkout > * { grid-column: 1; }
body.woocommerce-checkout #customer_details { grid-row: 1 / span 3; }
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 { float: none; width: 100%; }
body.woocommerce-checkout #customer_details .col-2 { margin-top: 20px; }
body.woocommerce-checkout #order_review_heading {
	grid-column: 2; grid-row: 1; margin: 0; padding: 22px 24px 0; background: var(--as-fundo);
	border-radius: 16px 16px 0 0; font-size: 22px;
}
body.woocommerce-checkout #order_review {
	grid-column: 2; grid-row: 2; position: sticky; top: 20px;
	background: var(--as-fundo); border-radius: 0 0 16px 16px; padding: 8px 24px 24px;
}
body.woocommerce-checkout .woocommerce-billing-fields h3, body.woocommerce-checkout .woocommerce-additional-fields h3 { font-size: 22px; margin-top: 0; }
@media (max-width: 1024px) {
	body.woocommerce-checkout form.checkout { display: block; }
	body.woocommerce-checkout #order_review_heading { margin-top: 30px; }
	body.woocommerce-checkout #order_review { position: static; }
}

/* Grade dos campos do checkout: cada campo no tamanho do que se digita */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
	display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 4px 16px;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row {
	float: none; width: auto; margin: 0 0 10px; padding: 0; grid-column: span 12;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::before,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::after { display: none; }
body.woocommerce-checkout #billing_country_field { display: none !important; } /* só Brasil */
body.woocommerce-checkout #billing_first_name_field,
body.woocommerce-checkout #billing_last_name_field,
body.woocommerce-checkout #billing_persontype_field,
body.woocommerce-checkout #billing_cpf_field,
body.woocommerce-checkout #billing_cnpj_field { grid-column: span 6; }
body.woocommerce-checkout #billing_postcode_field { grid-column: span 4; }
body.woocommerce-checkout #billing_address_1_field { grid-column: span 8; }
body.woocommerce-checkout #billing_number_field { grid-column: span 3; }
body.woocommerce-checkout #billing_address_2_field { grid-column: span 9; }
body.woocommerce-checkout #billing_neighborhood_field { grid-column: span 4; }
body.woocommerce-checkout #billing_city_field { grid-column: span 5; }
body.woocommerce-checkout #billing_state_field { grid-column: span 3; }
body.woocommerce-checkout #billing_phone_field { grid-column: span 5; }
body.woocommerce-checkout #billing_email_field { grid-column: span 7; }
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row .woocommerce-input-wrapper,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row input,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row select { width: 100%; }
@media (max-width: 767px) {
	body.woocommerce-checkout #billing_persontype_field,
	body.woocommerce-checkout #billing_cpf_field,
	body.woocommerce-checkout #billing_cnpj_field { grid-column: span 6; }
	body.woocommerce-checkout #billing_postcode_field { grid-column: span 6; }
	body.woocommerce-checkout #billing_address_1_field { grid-column: span 12; }
	body.woocommerce-checkout #billing_number_field { grid-column: span 4; }
	body.woocommerce-checkout #billing_address_2_field { grid-column: span 8; }
	body.woocommerce-checkout #billing_neighborhood_field { grid-column: span 12; }
	body.woocommerce-checkout #billing_city_field { grid-column: span 8; }
	body.woocommerce-checkout #billing_state_field { grid-column: span 4; }
	body.woocommerce-checkout #billing_phone_field,
	body.woocommerce-checkout #billing_email_field { grid-column: span 12; }
}

/* Tablet */
@media (max-width: 1024px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 24px; }
	.woocommerce-page .site-main { padding-left: 20px; padding-right: 20px; }
}
/* Celular */
@media (max-width: 767px) {
	.woocommerce ul.products { grid-template-columns: 1fr; }
	.woocommerce-products-header__title.page-title, .woocommerce-page .page-header .entry-title { font-size: 28px; }
	.woocommerce div.product .product_title { font-size: 26px; }
	.woocommerce div.product form.cart { flex-wrap: wrap; }
}

/* Busca pelo CEP */
.as-cep-aviso { display: block; margin-top: 4px; font-size: 13px; }
.as-cep-aviso--info { color: #8a8f99; }
.as-cep-aviso--erro { color: #c62828; }
.as-cep-buscando input { background-image: linear-gradient(90deg, #fff 0%, #f4f4f4 50%, #fff 100%); background-size: 200% 100%; animation: as-cep 1s linear infinite; }
@keyframes as-cep { from { background-position: 100% 0; } to { background-position: -100% 0; } }
