/*
Theme Name: Loja 3Dverso
Theme URI: https://3dverso.com.br
Author: 3Dverso
Description: Tema personalizado para loja de action figures e Funkos 3D impressos. Design dark com identidade visual dourada.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: loja-3dverso
Tags: e-commerce, dark, woocommerce, custom
*/

:root {
  --primary: #f2a60d;
  --primary-hover: #d99200;
  --bg-dark: #181611;
  --surface-dark: #24211a;
  --surface-highlight: #393328;
  --text-secondary: #bab09c;
  --accent-green: #2e4a3b;
  --bg-footer: #0f0e0b;
}

html { scroll-behavior: smooth; }

body {
  background-color: var(--bg-dark);
  color: #ffffff;
  font-family: 'Plus Jakarta Sans', sans-serif;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* Scrollbar */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--bg-dark); }
::-webkit-scrollbar-thumb { background: var(--surface-highlight); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: var(--primary); }

/* Selection */
::selection { background: var(--primary); color: #000; }

/* Material Icons */
.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* Links */
a { color: inherit; text-decoration: none; }

/* Imagens */
img { max-width: 100%; height: auto; display: block; }

/* =============================================
   WOOCOMMERCE OVERRIDES
   ============================================= */

/* Ocultar elementos padrão do WooCommerce que serão substituídos pelo tema */
.woocommerce-breadcrumb { display: none; }

/* Botão padrão WooCommerce */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background-color: var(--primary);
  color: #000;
  font-weight: 700;
  border-radius: 0.5rem;
  padding: 0.75rem 2rem;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.875rem;
  border: none;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background-color: var(--primary-hover);
  transform: translateY(-1px);
  color: #000;
}

/* Formulários WooCommerce */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  background: var(--surface-dark);
  border: 1px solid var(--surface-highlight);
  color: #fff;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  font-family: 'Plus Jakarta Sans', sans-serif;
  width: 100%;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--primary);
  outline: none;
  box-shadow: 0 0 0 2px rgba(242,166,13,0.2);
}

.woocommerce form .form-row label {
  color: var(--text-secondary);
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
  display: block;
}

/* Mensagens WooCommerce */
.woocommerce-message,
.woocommerce-info {
  background: var(--surface-dark);
  border-top-color: var(--primary);
  color: #fff;
}

.woocommerce-error {
  background: var(--surface-dark);
  border-top-color: #ef4444;
  color: #fff;
}

/* Tabela do carrinho */
.woocommerce table.shop_table {
  background: var(--surface-dark);
  border: 1px solid var(--surface-highlight);
  border-radius: 0.75rem;
  overflow: hidden;
  color: #fff;
}

.woocommerce table.shop_table th {
  background: var(--surface-highlight);
  color: var(--text-secondary);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 1rem;
  font-weight: 600;
}

.woocommerce table.shop_table td {
  border-top: 1px solid var(--surface-highlight);
  padding: 1rem;
  color: #fff;
}

.woocommerce table.shop_table td.product-name a {
  color: #fff;
  font-weight: 600;
}

.woocommerce table.shop_table td.product-price,
.woocommerce table.shop_table td.product-subtotal {
  color: var(--primary);
  font-weight: 700;
}

/* Totais do carrinho */
.woocommerce .cart_totals,
.woocommerce .checkout_coupon {
  background: var(--surface-dark);
  border: 1px solid var(--surface-highlight);
  border-radius: 0.75rem;
  padding: 1.5rem;
}

.woocommerce .cart_totals h2,
.woocommerce .checkout_coupon h3 {
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
  color: var(--text-secondary);
  border-bottom: 1px solid var(--surface-highlight);
  padding: 0.75rem 0;
}

.woocommerce .cart_totals table .order-total th,
.woocommerce .cart_totals table .order-total td {
  color: #fff;
  font-weight: 700;
  font-size: 1.125rem;
}

.woocommerce .cart_totals table .order-total td .amount {
  color: var(--primary);
}

/* Página do produto */
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--text-secondary);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--primary);
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  background: var(--surface-dark);
  border-bottom: 1px solid var(--surface-highlight);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent;
  border: none;
}
.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--surface-dark);
  border: 1px solid var(--surface-highlight);
  border-radius: 0 0 0.75rem 0.75rem;
  padding: 1.5rem;
  color: var(--text-secondary);
}

/* Preço */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--primary);
  font-size: 1.5rem;
  font-weight: 700;
}

/* Stars */
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
  color: var(--primary);
}

/* Checkout */
.woocommerce-checkout #payment {
  background: var(--surface-dark);
  border-radius: 0.75rem;
}

.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--surface-highlight);
}

.woocommerce-checkout #payment ul.payment_methods li label {
  color: #fff;
}

/* Notices */
.woocommerce-store-notice,
p.demo_store {
  background: var(--primary);
  color: #000;
}

/* Paginação de produtos */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  background: var(--surface-dark);
  border: 1px solid var(--surface-highlight);
  color: var(--text-secondary);
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--primary);
  color: #000;
  border-color: var(--primary);
}

/* Layout container */
.site-main {
  padding-top: 80px; /* compensar header fixo */
  min-height: 60vh;
}

.woocommerce-page .site-main,
.woocommerce .site-main {
  max-width: 1280px;
  margin: 0 auto;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 100px;
  padding-bottom: 3rem;
}

/* =============================================
   PÁGINA DE PRODUTO - single-product.php
   ============================================= */

/* Botão Adicionar ao Carrinho */
.woocommerce div.product form.cart .button {
  width: 100%;
  height: 56px;
  background: var(--primary);
  color: #000;
  font-size: 1.125rem;
  font-weight: 700;
  border-radius: 0.5rem;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  box-shadow: 0 0 15px rgba(242,166,13,0.3);
  transition: background 0.2s, box-shadow 0.2s;
  font-family: 'Plus Jakarta Sans', sans-serif;
  margin-top: 0.5rem;
}

.woocommerce div.product form.cart .button:hover {
  background: var(--primary-hover);
  box-shadow: 0 0 25px rgba(242,166,13,0.5);
  color: #000;
}

/* Quantidade */
.woocommerce div.product form.cart .qty {
  background: var(--surface-dark);
  border: 1px solid var(--surface-highlight);
  color: #fff;
  border-radius: 0.5rem;
  padding: 0.5rem 0.75rem;
  font-size: 1rem;
  font-family: 'Plus Jakarta Sans', sans-serif;
  width: 70px;
  text-align: center;
  -moz-appearance: textfield;
}
.woocommerce div.product form.cart .qty::-webkit-inner-spin-button,
.woocommerce div.product form.cart .qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.woocommerce div.product form.cart .quantity {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 0.75rem;
  background: var(--surface-dark);
  border: 1px solid var(--surface-highlight);
  border-radius: 0.5rem;
  overflow: hidden;
  width: fit-content;
}
.woocommerce div.product form.cart .quantity .qty {
  border: none;
  border-radius: 0;
  width: 56px;
  text-align: center;
}
/* Botões +/- de quantidade via JS */
.qty-btn {
  background: var(--surface-highlight);
  color: #fff;
  border: none;
  width: 36px;
  height: 44px;
  font-size: 1.25rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.qty-btn:hover { background: var(--primary); color: #000; }

/* Tabs de avaliação */
.woocommerce div.product .woocommerce-tabs {
  display: none; /* Substituído pelos tabs customizados */
}

/* Comentários / Avaliações */
#reviews #comments ol.commentlist li .comment-text {
  background: var(--surface-dark);
  border: 1px solid var(--surface-highlight);
  border-radius: 0.75rem;
  padding: 1rem;
  color: var(--text-secondary);
}

#reviews #comments ol.commentlist li img.avatar {
  border: 2px solid var(--primary);
  border-radius: 50%;
}

#reviews #reply-title {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

/* Prose (descrição do produto) */
.prose-invert h2, .prose-invert h3 {
  color: #fff;
  font-weight: 700;
  margin: 1rem 0 0.5rem;
}
.prose-invert p { margin-bottom: 0.75rem; }
.prose-invert ul { list-style: disc; padding-left: 1.5rem; }
.prose-invert li { margin-bottom: 0.25rem; }

/* =============================================
   CARRINHO E CHECKOUT - estilos globais
   ============================================= */

/* Tabela de totais do carrinho */
.woocommerce .cart_totals table {
  width: 100%;
  border-collapse: collapse;
}
.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--surface-highlight);
  color: var(--text-secondary);
  font-size: 0.875rem;
}
.woocommerce .cart_totals table .order-total th,
.woocommerce .cart_totals table .order-total td {
  color: #fff;
  font-weight: 700;
  font-size: 1.125rem;
  border-bottom: none;
}
.woocommerce .cart_totals table .order-total td .amount {
  color: var(--primary);
}

/* Botão Finalizar Compra */
.woocommerce .wc-proceed-to-checkout a.checkout-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 1rem;
  background: var(--primary);
  color: #000;
  font-weight: 700;
  font-size: 1rem;
  border-radius: 0.75rem;
  text-decoration: none;
  box-shadow: 0 0 20px rgba(242,166,13,0.3);
  transition: background 0.2s, box-shadow 0.2s;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--primary-hover);
  box-shadow: 0 0 30px rgba(242,166,13,0.5);
  color: #000;
}

/* Campos do checkout */
.woocommerce form .form-row {
  margin-bottom: 0;
}
.woocommerce form .form-row label {
  color: var(--text-secondary);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.35rem;
  display: block;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  background: var(--bg-dark);
  border: 1px solid var(--surface-highlight);
  color: #fff;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.875rem;
  width: 100%;
  transition: border-color 0.2s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--primary);
  outline: none;
  box-shadow: 0 0 0 2px rgba(242,166,13,0.15);
}

/* Métodos de pagamento */
.wc_payment_methods li {
  background: var(--bg-dark);
  border: 1px solid var(--surface-highlight);
  border-radius: 0.75rem;
  padding: 1rem;
  list-style: none;
  transition: border-color 0.2s;
}
.wc_payment_methods li:has(input:checked) {
  border-color: var(--primary);
  background: rgba(242,166,13,0.05);
}
.wc_payment_methods li label {
  color: #fff !important;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  cursor: pointer;
}
.wc_payment_methods li input[type="radio"] {
  accent-color: var(--primary);
  width: 18px;
  height: 18px;
}
.payment_box {
  background: var(--surface-dark) !important;
  border-radius: 0.5rem;
  padding: 1rem;
  margin-top: 0.75rem;
  color: var(--text-secondary) !important;
  font-size: 0.875rem;
}

/* Ocultar a sidebar padrão do WooCommerce no checkout */
.woocommerce-checkout .col2-set { width: 100%; }

/* =============================================
   INPUTS E SELECTS DARK GLOBAL
   ============================================= */

/* Select2 (usado pelo WooCommerce no checkout) */
.select2-container--default .select2-selection--single {
  background: #181611 !important;
  border: 1px solid #393328 !important;
  border-radius: 0.5rem !important;
  height: auto !important;
  padding: 0.6rem 1rem !important;
  color: #fff !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #fff !important;
  line-height: 1.5 !important;
  padding-left: 0 !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #bab09c transparent transparent !important;
}
.select2-dropdown {
  background: #181611 !important;
  border: 1px solid #393328 !important;
  border-radius: 0.5rem !important;
}
.select2-container--default .select2-results__option {
  color: #bab09c !important;
  padding: 0.5rem 1rem !important;
}
.select2-container--default .select2-results__option--highlighted {
  background: #393328 !important;
  color: #fff !important;
}
.select2-container--default .select2-results__option[aria-selected=true] {
  background: #f2a60d !important;
  color: #000 !important;
}
.select2-search--dropdown .select2-search__field {
  background: #24211a !important;
  border: 1px solid #393328 !important;
  color: #fff !important;
  border-radius: 0.25rem !important;
}

/* Textarea no checkout */
.woocommerce-checkout textarea,
.woocommerce textarea {
  background: #181611 !important;
  border: 1px solid #393328 !important;
  color: #fff !important;
  border-radius: 0.5rem !important;
  padding: 0.75rem 1rem !important;
  resize: vertical !important;
}
.woocommerce-checkout textarea:focus,
.woocommerce textarea:focus {
  border-color: #f2a60d !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(242,166,13,0.15) !important;
}

/* Ocultar botão padrão do WooCommerce no checkout (usamos o nosso) */
.woocommerce-checkout #payment div.place-order { display: none !important; }

/* Métodos de pagamento */
.wc_payment_method { list-style: none !important; }
.wc_payment_method > label {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  cursor: pointer !important;
  padding: 0.75rem !important;
  background: #181611 !important;
  border: 1px solid #393328 !important;
  border-radius: 0.75rem !important;
  transition: border-color 0.2s !important;
}
.wc_payment_method > label:hover { border-color: #f2a60d !important; }
.wc_payment_method input[type=radio] { accent-color: #f2a60d !important; width: 18px !important; height: 18px !important; }
.wc_payment_method input[type=radio]:checked + label,
.wc_payment_method.active > label { border-color: #f2a60d !important; background: rgba(242,166,13,0.05) !important; }

/* Tabela do pedido no checkout */
.woocommerce-checkout-review-order-table {
  width: 100% !important;
  border-collapse: collapse !important;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 0.6rem 0 !important;
  border-bottom: 1px solid #393328 !important;
  color: #bab09c !important;
  font-size: 0.875rem !important;
}
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  border-bottom: none !important;
}
.woocommerce-checkout-review-order-table .order-total td .amount { color: #f2a60d !important; }

/* Totais do carrinho */
.cart_totals table { width: 100% !important; border-collapse: collapse !important; }
.cart_totals table th,
.cart_totals table td {
  padding: 0.6rem 0 !important;
  border-bottom: 1px solid #393328 !important;
  color: #bab09c !important;
  font-size: 0.875rem !important;
}
.cart_totals .order-total th,
.cart_totals .order-total td { color: #fff !important; font-weight: 700 !important; border-bottom: none !important; }
.cart_totals .order-total td .amount { color: #f2a60d !important; font-size: 1.125rem !important; }

/* Ocultar o botão padrão de "Finalizar compra" do WooCommerce no carrinho */
.wc-proceed-to-checkout { display: none !important; }

/* =============================================
   MINHA CONTA - INPUTS DARK GLOBAL
   ============================================= */
.woocommerce-MyAccount-content input[type=text],
.woocommerce-MyAccount-content input[type=email],
.woocommerce-MyAccount-content input[type=password],
.woocommerce-MyAccount-content input[type=tel],
.woocommerce-MyAccount-content select,
.woocommerce-address-fields input[type=text],
.woocommerce-address-fields input[type=email],
.woocommerce-address-fields input[type=tel],
.woocommerce-address-fields select,
.woocommerce-EditAccountForm input {
  background: #181611 !important;
  border: 1px solid #393328 !important;
  color: #fff !important;
  border-radius: 0.5rem !important;
  padding: 0.75rem 1rem !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.875rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
  outline: none !important;
  transition: border-color 0.2s !important;
}
.woocommerce-MyAccount-content input:focus,
.woocommerce-address-fields input:focus,
.woocommerce-EditAccountForm input:focus { border-color: #f2a60d !important; }

.woocommerce-MyAccount-content select option,
.woocommerce-address-fields select option { background: #181611 !important; color: #fff !important; }

.woocommerce-MyAccount-content label,
.woocommerce-address-fields label,
.woocommerce-EditAccountForm label {
  color: #bab09c !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin-bottom: 0.35rem !important;
  display: block !important;
}

/* Botões da conta */
.woocommerce-MyAccount-content .woocommerce-Button,
.woocommerce-MyAccount-content button[type=submit] {
  background: #f2a60d !important;
  color: #000 !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 0.5rem !important;
  padding: 0.75rem 1.5rem !important;
  cursor: pointer !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* Navegação sidebar */
.woocommerce-MyAccount-navigation ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.woocommerce-MyAccount-navigation ul li { margin: 0 !important; }
.woocommerce-MyAccount-navigation ul li a {
  display: block !important;
  padding: 0.65rem 0.875rem !important;
  color: #bab09c !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-radius: 0.5rem !important;
  transition: all 0.2s !important;
  margin-bottom: 0.2rem !important;
}
.woocommerce-MyAccount-navigation ul li a:hover { background: #393328 !important; color: #fff !important; }
.woocommerce-MyAccount-navigation ul li.is-active a { background: rgba(242,166,13,0.1) !important; color: #f2a60d !important; }

/* Select2 na conta */
.woocommerce-MyAccount-content .select2-container--default .select2-selection--single,
.woocommerce-address-fields .select2-container--default .select2-selection--single {
  background: #181611 !important;
  border: 1px solid #393328 !important;
  border-radius: 0.5rem !important;
  height: auto !important;
  padding: 0.65rem 1rem !important;
}
.woocommerce-MyAccount-content .select2-container--default .select2-selection--single .select2-selection__rendered,
.woocommerce-address-fields .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #fff !important; line-height: 1.5 !important; padding: 0 !important;
}

/* Notices da conta */
.woocommerce-MyAccount-content .woocommerce-message { background: rgba(242,166,13,0.1); border-top: 3px solid #f2a60d; color: #fff; border-radius: 0.5rem; padding: 0.875rem 1rem; margin-bottom: 1rem; }
.woocommerce-MyAccount-content .woocommerce-error { background: rgba(239,68,68,0.1); border-top: 3px solid #ef4444; color: #fff; border-radius: 0.5rem; padding: 0.875rem 1rem; margin-bottom: 1rem; }
