/*
Theme Name: Capaztec Loja
Theme URI: https://loja.capaztec.com.br
Description: Identidade visual Capaztec (dark/futurista, gradiente ciano-violeta) para a loja WooCommerce. Child theme de Storefront.
Author: Capaztec Informática
Author URI: https://capaztec.com.br
Template: storefront
Version: 1.0.0
Text Domain: capaztec-loja
*/

/* ===== Tokens da marca ===== */
:root {
  --cz-bg: #05070d;
  --cz-panel: #0c1322;
  --cz-panel2: #111a2e;
  --cz-line: #1e2a44;
  --cz-fg: #e7eef9;
  --cz-muted: #93a2bd;
  --cz-brand: #22c2f5;
  --cz-brand2: #8b5cf6;
  --cz-ok: #34d399;
  --cz-grad: linear-gradient(90deg, #22c2f5, #8b5cf6);
  --cz-radius: 14px;
}

/* ===== Base ===== */
body,
body.woocommerce,
.site,
.site-content {
  background: var(--cz-bg) !important;
  color: var(--cz-fg);
  font-family: "Inter", system-ui, -apple-system, sans-serif;
}
body { line-height: 1.6; }
a { color: var(--cz-brand); }
a:hover { color: var(--cz-brand2); }
::selection { background: rgba(34, 194, 245, .3); }

h1, h2, h3, h4, h5, .storefront-sorting,
.site-title, .page-title, .product_title, .entry-title {
  font-family: "Space Grotesk", "Inter", sans-serif !important;
  color: var(--cz-fg);
  letter-spacing: -.01em;
}

/* gradiente reutilizável */
.cz-gradient,
.site-branding .site-title a { background: var(--cz-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ===== Header ===== */
.site-header {
  background: linear-gradient(180deg, #0a1120, #070b14) !important;
  border-bottom: 1px solid var(--cz-line);
  padding-top: 1.2em; padding-bottom: 1.2em;
}
.site-header, .site-header a:not(.button) { color: var(--cz-fg); }
.site-branding .site-title { font-weight: 800; font-size: 1.6em; }
.main-navigation ul li a { color: var(--cz-muted) !important; font-weight: 600; }
.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a { color: var(--cz-fg) !important; }
.main-navigation ul.menu ul.sub-menu,
.main-navigation ul.nav-menu ul.children { background: var(--cz-panel); border: 1px solid var(--cz-line); }
.site-search .widget_product_search input[type="search"],
.site-header .widget_product_search input { background: var(--cz-panel2); border: 1px solid var(--cz-line); color: var(--cz-fg); border-radius: 10px; }

/* carrinho no header */
.site-header-cart .cart-contents { color: var(--cz-fg); }
.site-header-cart .widget_shopping_cart { background: var(--cz-panel); border: 1px solid var(--cz-line); }

/* ===== Botões ===== */
a.button, button, input[type="submit"], .button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce #respond input#submit,
.added_to_cart {
  background: var(--cz-grad) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  padding: .7em 1.4em !important;
  transition: filter .15s, transform .15s;
  box-shadow: 0 0 0 1px rgba(34,194,245,.25), 0 0 30px -10px rgba(34,194,245,.5);
}
a.button:hover, button:hover, input[type="submit"]:hover, .button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover {
  filter: brightness(1.1); transform: translateY(-1px); color: #fff !important;
}
/* botão secundário (ex.: ver carrinho) */
.woocommerce a.button.wc-backward,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width: auto; }

/* ===== Catálogo (grid de produtos) ===== */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: var(--cz-panel);
  border: 1px solid var(--cz-line);
  border-radius: var(--cz-radius);
  padding: 14px !important;
  transition: transform .25s, border-color .25s, box-shadow .25s;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  border-color: rgba(34,194,245,.5);
  box-shadow: 0 0 40px -12px rgba(34,194,245,.45);
}
.woocommerce ul.products li.product a img { border-radius: 10px; margin-bottom: .8em; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 { color: var(--cz-fg); font-size: 1em; font-weight: 600; padding: 0; }
.woocommerce ul.products li.product .price { color: var(--cz-brand) !important; font-weight: 700; }
.woocommerce ul.products li.product .price del { color: var(--cz-muted); opacity: .7; font-weight: 400; }

/* selo de promoção */
.woocommerce span.onsale {
  background: var(--cz-grad); color: #fff; border-radius: 999px;
  min-height: auto; min-width: auto; padding: .3em .8em; font-weight: 700; line-height: 1.4;
}

/* ===== Página do produto ===== */
.single-product div.product .price,
.single-product div.product p.price { color: var(--cz-brand); font-weight: 800; }
.single-product .product_title { font-size: 2em; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: var(--cz-panel2); border-color: var(--cz-line); border-radius: 10px 10px 0 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--cz-panel); }
.woocommerce div.product .woocommerce-tabs .panel { background: var(--cz-panel); border: 1px solid var(--cz-line); border-radius: 0 var(--cz-radius) var(--cz-radius); padding: 1.5em; }
.woocommerce .quantity .qty { background: var(--cz-panel2); border: 1px solid var(--cz-line); color: var(--cz-fg); border-radius: 8px; }
.woocommerce-product-gallery { border: 1px solid var(--cz-line); border-radius: var(--cz-radius); overflow: hidden; }

/* ===== Formulários / inputs ===== */
input[type="text"], input[type="email"], input[type="password"], input[type="tel"],
input[type="number"], input[type="search"], textarea, select,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single {
  background: var(--cz-panel2) !important;
  border: 1px solid var(--cz-line) !important;
  color: var(--cz-fg) !important;
  border-radius: 10px !important;
}
input:focus, textarea:focus, select:focus { border-color: var(--cz-brand) !important; box-shadow: 0 0 0 3px rgba(34,194,245,.18) !important; outline: none; }
::placeholder { color: #5b6b85; }
label { color: var(--cz-fg); }

/* ===== Carrinho / Checkout / Conta ===== */
.woocommerce table.shop_table,
.woocommerce-cart table.cart,
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #payment,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--cz-panel) !important;
  border: 1px solid var(--cz-line) !important;
  border-radius: var(--cz-radius);
  color: var(--cz-fg);
}
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--cz-line); color: var(--cz-fg); }
.woocommerce-checkout #payment { padding: 1em; }
.woocommerce-checkout #payment ul.payment_methods { border-color: var(--cz-line); }
.woocommerce-info, .woocommerce-message, .woocommerce-noreviews, p.no-comments {
  background: var(--cz-panel2); border-top: 3px solid var(--cz-brand); color: var(--cz-fg);
}
.woocommerce-error { background: var(--cz-panel2); border-top: 3px solid #f87171; color: var(--cz-fg); }
.woocommerce-MyAccount-navigation ul li a { color: var(--cz-muted); }
.woocommerce-MyAccount-navigation ul li.is-active a { color: var(--cz-fg); }

/* ===== Widgets / sidebar ===== */
.widget { background: var(--cz-panel); border: 1px solid var(--cz-line); border-radius: var(--cz-radius); padding: 1.2em; }
.widget-title, .widget h2 { color: var(--cz-fg); border: 0; }
.widget a { color: var(--cz-muted); }
.widget a:hover { color: var(--cz-brand); }

/* ===== Breadcrumb / títulos de página ===== */
.woocommerce-breadcrumb { color: var(--cz-muted); }
.woocommerce-breadcrumb a { color: var(--cz-brand); }
.storefront-sorting select { background: var(--cz-panel2); border: 1px solid var(--cz-line); color: var(--cz-fg); border-radius: 8px; }

/* ===== Footer ===== */
.site-footer { background: linear-gradient(180deg, #070b14, #05070d) !important; border-top: 1px solid var(--cz-line); color: var(--cz-muted); }
.site-footer a { color: var(--cz-muted); }
.site-footer a:hover { color: var(--cz-brand); }
.capaztec-credit { text-align: center; padding: 1em 0; color: var(--cz-muted); font-size: .85em; }
.capaztec-credit a { color: var(--cz-brand); }

/* ===== Detalhes ===== */
.storefront-handheld-footer-bar { background: var(--cz-panel); border-top: 1px solid var(--cz-line); }
.storefront-handheld-footer-bar a { color: var(--cz-fg); }
hr { border-color: var(--cz-line); }
mark { background: rgba(34,194,245,.25); color: var(--cz-fg); }
