/*
 * Zeus Painel — WooCommerce Template Styles
 * Aplicado via toggle nas configurações de Menu WooCommerce.
 * NÃO substitui templates — apenas estiliza as páginas nativas do WC.
 */

:root {
  --csm-primary:       #1e40af;
  --csm-primary-hover: #1d3a9a;
  --csm-primary-light: #eff6ff;
  --csm-primary-mid:   #3b82f6;
  --csm-success:       #059669;
  --csm-success-light: #ecfdf5;
  --csm-danger:        #dc2626;
  --csm-warning:       #d97706;
  --csm-text:          #1e293b;
  --csm-text-muted:    #64748b;
  --csm-border:        #e2e8f0;
  --csm-bg:            #f8fafc;
  --csm-radius:        8px;
  --csm-radius-sm:     5px;
  --csm-shadow:        0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.05);
  --csm-shadow-md:     0 4px 12px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.06);
}

/* ═══ PADDING TOP — empurra só o conteúdo, não o header ════════════ */
/* Valor padrão 120px; ajustável via slider no painel Zeus             */
.woocommerce #page,
.woocommerce-page #page,
.woocommerce #content,
.woocommerce-page #content,
.woocommerce .site-content,
.woocommerce-page .site-content,
.woocommerce main,
.woocommerce-page main,
.woocommerce [role="main"],
.woocommerce-page [role="main"],
#main.woocommerce,
#content.woocommerce,
.woocommerce-page #main,
.woocommerce-page #content {
  padding-top: var(--csm-wc-pad-top, 120px) !important;
}

/* ═══ TIPOGRAFIA GERAL ═══════════════════════════════════════════════ */
.woocommerce,
.woocommerce-page {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--csm-text);
}

/* Título da página */
.woocommerce h1.page-title,
.woocommerce-page h1.page-title,
.woocommerce h1,
.woocommerce-page h1 {
  font-size: 22px;
  font-weight: 700;
  color: var(--csm-primary);
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--csm-border);
}

/* ═══ BOTÕES ═════════════════════════════════════════════════════════ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background: var(--csm-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--csm-radius-sm) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 10px 20px !important;
  transition: background .2s, transform .15s, box-shadow .2s !important;
  box-shadow: 0 1px 3px rgba(30,64,175,.25) !important;
  text-decoration: none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--csm-primary-hover) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(30,64,175,.3) !important;
}
/* Botão finalizar compra — verde */
.woocommerce #place_order,
.woocommerce button#place_order {
  background: var(--csm-success) !important;
  box-shadow: 0 1px 3px rgba(5,150,105,.25) !important;
}
.woocommerce #place_order:hover,
.woocommerce button#place_order:hover {
  background: #047857 !important;
  box-shadow: 0 4px 10px rgba(5,150,105,.3) !important;
}

/* ═══ TABELA DO CARRINHO ═════════════════════════════════════════════ */
.woocommerce table.shop_table,
.woocommerce-cart table.cart {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: var(--csm-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--csm-shadow-md) !important;
  font-size: 14px !important;
  border: none !important;
}
.woocommerce table.shop_table thead tr,
.woocommerce-cart table.cart thead tr {
  background: linear-gradient(135deg, var(--csm-primary) 0%, #2563eb 100%) !important;
}
.woocommerce table.shop_table th,
.woocommerce-cart table.cart th {
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  padding: 13px 16px !important;
  border: none !important;
  background: transparent !important;
}
.woocommerce table.shop_table td,
.woocommerce-cart table.cart td {
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--csm-border) !important;
  border-top: none !important;
  vertical-align: middle !important;
  background: #fff !important;
}
.woocommerce table.shop_table tr:last-child td,
.woocommerce-cart table.cart tr:last-child td {
  border-bottom: none !important;
}
.woocommerce-cart table.cart tbody tr:hover td {
  background: var(--csm-primary-light) !important;
}
/* Preços na tabela */
.woocommerce table.shop_table .amount,
.woocommerce-cart table.cart .amount {
  color: var(--csm-primary) !important;
  font-weight: 700 !important;
}
/* Botão remover item */
.woocommerce-cart table.cart a.remove {
  color: var(--csm-danger) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  opacity: .7 !important;
  transition: opacity .15s !important;
}
.woocommerce-cart table.cart a.remove:hover {
  background: none !important;
  color: var(--csm-danger) !important;
  opacity: 1 !important;
}

/* ═══ TOTAIS DO CARRINHO ══════════════════════════════════════════════ */
.woocommerce .cart_totals,
.woocommerce-page .cart_totals {
  background: #fff !important;
  border: 1px solid var(--csm-border) !important;
  border-radius: var(--csm-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--csm-shadow-md) !important;
}
.woocommerce .cart_totals h2,
.woocommerce-page .cart_totals h2 {
  background: linear-gradient(135deg, var(--csm-primary) 0%, #2563eb 100%) !important;
  color: #fff !important;
  padding: 14px 18px !important;
  margin: 0 !important;
  font-size: 15px !important;
  border: none !important;
}
.woocommerce .cart_totals table,
.woocommerce-page .cart_totals table {
  box-shadow: none !important;
  border-radius: 0 !important;
}
.woocommerce .cart_totals table th,
.woocommerce-page .cart_totals table th {
  background: var(--csm-bg) !important;
  color: var(--csm-text-muted) !important;
  font-size: 13px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 600 !important;
}
.woocommerce .cart_totals table .order-total th,
.woocommerce .cart_totals table .order-total td {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--csm-primary) !important;
  background: var(--csm-primary-light) !important;
}

/* ═══ CUPOM ══════════════════════════════════════════════════════════ */
.woocommerce .coupon input[type="text"] {
  border: 1px solid var(--csm-border) !important;
  border-radius: var(--csm-radius-sm) !important;
  padding: 9px 12px !important;
  font-size: 13px !important;
  color: var(--csm-text) !important;
}
.woocommerce .coupon input[type="text"]:focus {
  outline: none !important;
  border-color: var(--csm-primary-mid) !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,.15) !important;
}

/* ═══ CAMPOS DO CHECKOUT ═════════════════════════════════════════════ */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--csm-primary) 0%, #2563eb 100%) !important;
  padding: 12px 16px !important;
  border-radius: var(--csm-radius-sm) var(--csm-radius-sm) 0 0 !important;
  margin-bottom: 0 !important;
}
.woocommerce form .form-row label {
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .4px !important;
  color: var(--csm-text-muted) !important;
  margin-bottom: 4px !important;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1px solid var(--csm-border) !important;
  border-radius: var(--csm-radius-sm) !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
  color: var(--csm-text) !important;
  background: #fff !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color .2s, box-shadow .2s !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  outline: none !important;
  border-color: var(--csm-primary-mid) !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,.15) !important;
}

/* ═══ RESUMO DO PEDIDO (CHECKOUT) ════════════════════════════════════ */
.woocommerce-checkout-review-order table {
  box-shadow: var(--csm-shadow) !important;
  border-radius: var(--csm-radius) !important;
  overflow: hidden !important;
}
.woocommerce-checkout #order_review .shop_table .order-total td,
.woocommerce-checkout #order_review .shop_table .order-total th {
  font-weight: 700 !important;
  color: var(--csm-primary) !important;
  font-size: 16px !important;
  background: var(--csm-primary-light) !important;
}

/* ═══ MÉTODOS DE PAGAMENTO ═══════════════════════════════════════════ */
.woocommerce-checkout #payment {
  border-radius: var(--csm-radius) !important;
  border: 1px solid var(--csm-border) !important;
  overflow: hidden !important;
  background: #fff !important;
}
.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--csm-border) !important;
  padding: 12px 16px !important;
  background: var(--csm-bg) !important;
}
.woocommerce-checkout #payment div.payment_box {
  background: var(--csm-primary-light) !important;
  border-top: 1px solid #bfdbfe !important;
  color: var(--csm-text) !important;
  font-size: 13px !important;
}
.woocommerce-checkout #payment div.place-order {
  padding: 16px !important;
  background: #fff !important;
}
.woocommerce-checkout #payment div.place-order #place_order {
  width: 100% !important;
  font-size: 15px !important;
  min-height: 48px !important;
}

/* ═══ PRODUTO SINGLE ═════════════════════════════════════════════════ */
.woocommerce div.product .woocommerce-product-gallery__image img {
  border-radius: var(--csm-radius) !important;
  box-shadow: var(--csm-shadow-md) !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--csm-primary) !important;
  font-size: 26px !important;
  font-weight: 700 !important;
}
.woocommerce div.product .quantity input.qty {
  border: 1px solid var(--csm-border) !important;
  border-radius: var(--csm-radius-sm) !important;
  padding: 8px 12px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-align: center !important;
}
.woocommerce div.product form.cart .button {
  font-size: 15px !important;
  min-height: 46px !important;
  padding: 10px 28px !important;
}
/* Abas do produto */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid var(--csm-border) !important;
  padding: 0 !important;
  background: var(--csm-bg) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--csm-text-muted) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: .4px !important;
  padding: 12px 20px !important;
  display: block !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom: 2px solid var(--csm-primary) !important;
  margin-bottom: -2px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--csm-primary) !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
  border: 1px solid var(--csm-border) !important;
  border-top: none !important;
  border-radius: 0 0 var(--csm-radius) var(--csm-radius) !important;
  padding: 20px !important;
  background: #fff !important;
}

/* ═══ LOJA — GRID DE PRODUTOS ════════════════════════════════════════ */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.woocommerce ul.products li.product {
  background: #fff !important;
  border: 1px solid var(--csm-border) !important;
  border-radius: var(--csm-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--csm-shadow) !important;
  transition: box-shadow .2s, transform .2s !important;
  margin: 0 !important;
  padding: 0 0 16px !important;
  float: none !important;
  width: auto !important;
}
.woocommerce ul.products li.product:hover {
  box-shadow: var(--csm-shadow-md) !important;
  transform: translateY(-2px) !important;
}
.woocommerce ul.products li.product img {
  border-radius: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--csm-text) !important;
  padding: 10px 14px 4px !important;
  line-height: 1.4 !important;
}
.woocommerce ul.products li.product .price {
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--csm-primary) !important;
  padding: 0 14px 10px !important;
  display: block !important;
}
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.button {
  margin: 0 14px !important;
  display: block !important;
  text-align: center !important;
}

/* Ordering / result count */
.woocommerce .woocommerce-result-count {
  color: var(--csm-text-muted) !important;
  font-size: 13px !important;
}
.woocommerce .woocommerce-ordering select {
  border: 1px solid var(--csm-border) !important;
  border-radius: var(--csm-radius-sm) !important;
  padding: 8px 12px !important;
  font-size: 13px !important;
  color: var(--csm-text) !important;
}

/* ═══ MENSAGENS / NOTICES ════════════════════════════════════════════ */
.woocommerce-message,
.woocommerce-info {
  background: var(--csm-primary-light) !important;
  border-top-color: var(--csm-primary) !important;
  color: var(--csm-primary) !important;
  border-radius: var(--csm-radius-sm) !important;
}
.woocommerce-error {
  background: #fef2f2 !important;
  border-top-color: var(--csm-danger) !important;
  color: #991b1b !important;
  border-radius: var(--csm-radius-sm) !important;
}

/* ═══ BREADCRUMB ═════════════════════════════════════════════════════ */
.woocommerce .woocommerce-breadcrumb {
  font-size: 12px !important;
  color: var(--csm-text-muted) !important;
  margin-bottom: 20px !important;
}
.woocommerce .woocommerce-breadcrumb a {
  color: var(--csm-primary) !important;
  text-decoration: none !important;
}
