/*
Theme Name:   Azua — Tema Elementor
Theme URI:    https://azua.com.br
Description:  Tema filho do Hello Elementor para a loja Azua. Dark theme com tokens de marca.
Author:       Asthros Digital
Template:     hello-elementor
Version:      1.0.0
Text Domain:  azua-theme
*/

/* ============================================================
   TOKENS DE MARCA
   ============================================================ */
:root {
  --azua-bg:       #0a0a0a;
  --azua-bg2:      #101010;
  --azua-bg3:      #161616;
  --azua-bg4:      #1c1c1c;
  --azua-line:     #1e1e1e;
  --azua-line2:    #141414;
  --azua-text:     #f0ece3;
  --azua-muted:    #5a5a5a;
  --azua-muted2:   #2a2a2a;
  --azua-gold:     #c8a84b;
  --azua-gold2:    #dfc07a;
  --azua-font:     'Barlow', sans-serif;
}

/* ============================================================
   BASE / RESET
   ============================================================ */
html,
body {
  background-color: var(--azua-bg) !important;
  color: var(--azua-text) !important;
  font-family: var(--azua-font) !important;
  -webkit-font-smoothing: antialiased;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

a {
  color: var(--azua-gold);
  text-decoration: none;
}
a:hover {
  color: var(--azua-gold2);
}

/* ============================================================
   ELEMENTOR — OVERRIDE DE CORES DE SEÇÃO
   ============================================================ */
.elementor-section,
.e-con,
.e-con-inner {
  background-color: var(--azua-bg);
}

/* ============================================================
   TIPOGRAFIA GLOBAL (Elementor usa estas classes)
   ============================================================ */
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title {
  font-family: var(--azua-font) !important;
  color: var(--azua-text);
}

.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-text-editor {
  font-family: var(--azua-font) !important;
  color: var(--azua-muted);
}

/* ============================================================
   WOOCOMMERCE — RESET GLOBAL
   ============================================================ */

/* Remove estilos padrão WooCommerce */
.woocommerce,
.woocommerce-page {
  background-color: var(--azua-bg) !important;
  color: var(--azua-text) !important;
}

.woocommerce a,
.woocommerce-page a {
  color: var(--azua-gold) !important;
}
.woocommerce a:hover,
.woocommerce-page a:hover {
  color: var(--azua-gold2) !important;
}

/* Título da página (ocultar — Elementor já tem o product title) */
.woocommerce-products-header__title,
.woocommerce .page-title,
h1.product_title.entry-title {
  display: none !important;
}

/* ============================================================
   WOOCOMMERCE — BREADCRUMB
   ============================================================ */
.woocommerce-breadcrumb {
  font-family: var(--azua-font) !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--azua-muted) !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-breadcrumb a {
  color: var(--azua-muted) !important;
}
.woocommerce-breadcrumb a:hover {
  color: var(--azua-gold) !important;
}

/* Último item (produto atual) em dourado */
.woocommerce-breadcrumb > *:last-child {
  color: var(--azua-gold) !important;
}

/* ============================================================
   WOOCOMMERCE — GALERIA DE IMAGENS
   ============================================================ */
.woocommerce-product-gallery {
  background: var(--azua-bg) !important;
}

.woocommerce-product-gallery .woocommerce-product-gallery__image img,
.woocommerce-product-gallery__image img {
  background: var(--azua-bg3) !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  width: 100%;
  transition: transform 0.55s ease;
}

.woocommerce-product-gallery__wrapper:hover img {
  transform: scale(1.04);
}

/* Thumbnails */
.flex-control-thumbs {
  display: flex !important;
  flex-direction: row !important;
  gap: 7px;
  padding: 9px 0 26px !important;
  margin: 0 !important;
}

.flex-control-thumbs li {
  width: 70px !important;
  height: 70px !important;
  flex-shrink: 0;
  overflow: hidden;
  border: 1.5px solid transparent !important;
  transition: border-color 0.2s;
  list-style: none !important;
}

.flex-control-thumbs li:hover,
.flex-control-thumbs .flex-active {
  border-color: var(--azua-gold) !important;
}

.flex-control-thumbs li img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.3s;
}

.flex-control-thumbs li:hover img {
  transform: scale(1.1);
}

/* ============================================================
   WOOCOMMERCE — TÍTULO DO PRODUTO
   ============================================================ */
.product_title,
.elementor-widget-woocommerce-product-title h1 {
  font-family: var(--azua-font) !important;
  font-size: 42px !important;
  font-weight: 700 !important;
  color: var(--azua-text) !important;
  line-height: 1.1 !important;
  margin: 0 0 8px !important;
}

/* ============================================================
   WOOCOMMERCE — RATING (ESTRELAS)
   ============================================================ */
.woocommerce-product-rating {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 20px !important;
}

.star-rating {
  overflow: visible !important;
}

.star-rating::before,
.star-rating span::before {
  color: var(--azua-gold) !important;
  font-size: 13px !important;
}

.woocommerce-review-link {
  font-family: var(--azua-font) !important;
  font-size: 11px !important;
  color: var(--azua-muted) !important;
  text-decoration: none !important;
}
.woocommerce-review-link:hover {
  color: var(--azua-gold) !important;
}

/* ============================================================
   WOOCOMMERCE — PREÇO
   ============================================================ */
.woocommerce-Price-amount,
.price .woocommerce-Price-amount {
  font-family: var(--azua-font) !important;
  color: var(--azua-text) !important;
}

p.price,
.price {
  font-family: var(--azua-font) !important;
  color: var(--azua-text) !important;
  font-size: 38px !important;
  font-weight: 700 !important;
  margin: 0 0 4px !important;
}

/* Preço original riscado */
.price del,
.price del .woocommerce-Price-amount {
  color: var(--azua-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}

/* Preço de venda (em destaque) */
.price ins {
  text-decoration: none !important;
  background: transparent !important;
}

.price ins .woocommerce-Price-amount {
  font-size: 38px !important;
  font-weight: 700 !important;
  color: var(--azua-text) !important;
}

/* ============================================================
   WOOCOMMERCE — SELETOR DE VARIAÇÕES (COR / TAMANHO)
   ============================================================ */
.variations {
  width: 100% !important;
  border: none !important;
  margin: 0 !important;
}

.variations td,
.variations th {
  background: transparent !important;
  border: none !important;
  padding: 0 0 8px !important;
  vertical-align: top;
}

.variations label {
  font-family: var(--azua-font) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--azua-muted) !important;
  display: block;
  margin-bottom: 8px;
}

/* Select nativo de variações */
.variations select {
  background: var(--azua-bg3) !important;
  border: 1px solid var(--azua-line) !important;
  color: var(--azua-text) !important;
  font-family: var(--azua-font) !important;
  font-size: 12px !important;
  padding: 10px 14px !important;
  width: 100%;
  cursor: pointer;
  appearance: auto;
}

.variations select:focus {
  outline: 1px solid var(--azua-gold);
}

/* Reset variation reset link */
.reset_variations {
  font-family: var(--azua-font) !important;
  font-size: 10px !important;
  color: var(--azua-muted) !important;
}

/* ============================================================
   SWATCHES FOR WOOCOMMERCE (plugin de variações visuais)
   ============================================================ */

/* Container geral */
.wvs-style-squared .wvs-term,
.wvs-style-rounded .wvs-term {
  border: 1.5px solid var(--azua-line) !important;
  transition: border-color 0.2s !important;
}

.wvs-style-squared .wvs-term:hover,
.wvs-style-rounded .wvs-term:hover {
  border-color: var(--azua-muted) !important;
}

.wvs-style-squared .wvs-term.selected,
.wvs-style-rounded .wvs-term.selected {
  border-color: var(--azua-text) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Swatches de texto (tamanhos: P, M, G, GG, XGG) */
.wvs-style-squared.wvs-attribute-name-tamanho .wvs-term,
.wvs-style-button .wvs-term {
  background: var(--azua-bg3) !important;
  color: var(--azua-muted) !important;
  border: 1px solid var(--azua-line) !important;
  font-family: var(--azua-font) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  min-width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0 !important;
  cursor: pointer;
  transition: all 0.2s;
}

.wvs-style-button .wvs-term:hover {
  border-color: var(--azua-text) !important;
  color: var(--azua-text) !important;
}

.wvs-style-button .wvs-term.selected {
  border-color: var(--azua-text) !important;
  color: var(--azua-text) !important;
  background: var(--azua-bg) !important;
}

/* Esgotado */
.wvs-term.disabled {
  opacity: 0.3 !important;
  cursor: not-allowed !important;
  text-decoration: line-through !important;
}

/* ============================================================
   WOOCOMMERCE — BOTÃO ADICIONAR AO CARRINHO
   ============================================================ */
button.single_add_to_cart_button,
.single_add_to_cart_button.button {
  width: 100% !important;
  padding: 16px !important;
  background: transparent !important;
  border: 1.5px solid var(--azua-text) !important;
  color: var(--azua-text) !important;
  font-family: var(--azua-font) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  border-radius: 0 !important;
  transition: all 0.22s !important;
  margin-bottom: 9px;
  display: block;
}

button.single_add_to_cart_button:hover,
.single_add_to_cart_button.button:hover {
  background: rgba(240, 236, 227, 0.07) !important;
}

/* Estado loading */
.single_add_to_cart_button.loading::after {
  border-color: var(--azua-text) transparent !important;
}

/* ============================================================
   WOOCOMMERCE — STOCK / DISPONIBILIDADE
   ============================================================ */
.stock {
  font-family: var(--azua-font) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

.in-stock {
  color: var(--azua-gold) !important;
}

.out-of-stock {
  color: var(--azua-muted) !important;
}

/* ============================================================
   WOOCOMMERCE — TABS (Descrição, Informações adicionais, Reviews)
   ============================================================ */
.woocommerce-tabs ul.tabs {
  padding: 0 !important;
  background: transparent !important;
  border-bottom: 1px solid var(--azua-line) !important;
}

.woocommerce-tabs ul.tabs::before {
  border-bottom: none !important;
}

.woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.woocommerce-tabs ul.tabs li.active {
  border-bottom-color: var(--azua-gold) !important;
  background: transparent !important;
}

.woocommerce-tabs ul.tabs li a {
  font-family: var(--azua-font) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--azua-muted) !important;
  padding: 14px 20px !important;
}

.woocommerce-tabs ul.tabs li.active a {
  color: var(--azua-text) !important;
}

.woocommerce-tabs .panel {
  background: var(--azua-bg2) !important;
  border: none !important;
  padding: 28px !important;
  color: var(--azua-muted) !important;
  font-family: var(--azua-font) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

/* ============================================================
   WOOCOMMERCE — REVIEWS (comentários nativos)
   ============================================================ */
#reviews #comments ol.commentlist li {
  background: var(--azua-bg3) !important;
  border: 1px solid var(--azua-line) !important;
  padding: 20px !important;
  margin-bottom: 12px !important;
}

#reviews #comments ol.commentlist li img.avatar {
  display: none !important;
}

.comment-text .star-rating::before,
.comment-text .star-rating span::before {
  color: var(--azua-gold) !important;
}

.comment-text p.meta,
.comment-text p.meta strong {
  font-family: var(--azua-font) !important;
  color: var(--azua-text) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.comment-text .description p {
  font-family: var(--azua-font) !important;
  color: var(--azua-muted) !important;
  font-size: 13px !important;
  margin: 8px 0 0 !important;
}

/* ============================================================
   WOOCOMMERCE — FORMULÁRIO DE REVIEW
   ============================================================ */
#review_form input,
#review_form textarea {
  background: var(--azua-bg3) !important;
  border: 1px solid var(--azua-line) !important;
  color: var(--azua-text) !important;
  font-family: var(--azua-font) !important;
  border-radius: 0 !important;
}

#review_form input::placeholder,
#review_form textarea::placeholder {
  color: var(--azua-muted) !important;
}

#review_form input#submit {
  background: var(--azua-gold) !important;
  color: #050505 !important;
  border: none !important;
  font-family: var(--azua-font) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  padding: 14px 28px !important;
  border-radius: 0 !important;
  cursor: pointer !important;
}

/* ============================================================
   WOOCOMMERCE — CART / MINI-CART
   ============================================================ */
.widget_shopping_cart_content,
.woocommerce-mini-cart {
  background: var(--azua-bg2) !important;
  color: var(--azua-text) !important;
}

.woocommerce-mini-cart__total,
.woocommerce-mini-cart__buttons a {
  font-family: var(--azua-font) !important;
}

.woocommerce-mini-cart__buttons a.button {
  background: var(--azua-gold) !important;
  color: #050505 !important;
  border-radius: 0 !important;
  font-family: var(--azua-font) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  border: none !important;
}

.woocommerce-mini-cart__buttons a.checkout {
  background: var(--azua-text) !important;
  color: var(--azua-bg) !important;
}

/* ============================================================
   WOOCOMMERCE — NOTICES / MENSAGENS
   ============================================================ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: var(--azua-bg3) !important;
  border-top-color: var(--azua-gold) !important;
  color: var(--azua-text) !important;
  font-family: var(--azua-font) !important;
  font-size: 13px !important;
  border-radius: 0 !important;
}

.woocommerce-message a.button,
.woocommerce-info a.button {
  background: var(--azua-gold) !important;
  color: #050505 !important;
  border-radius: 0 !important;
  font-family: var(--azua-font) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
}

/* ============================================================
   HAPPY ADDONS — OVERRIDES
   ============================================================ */

/* Progress Bar (urgência de estoque) */
.ha-progressbar .ha-progressbar-track {
  background: var(--azua-line) !important;
}

.ha-progressbar .ha-progressbar-fill {
  background: var(--azua-gold) !important;
}

.ha-progressbar .ha-progressbar-title,
.ha-progressbar .ha-progressbar-count {
  font-family: var(--azua-font) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--azua-muted) !important;
}

/* Accordion */
.ha-accordion .ha-accordion__title {
  background: var(--azua-bg) !important;
  border-bottom: 1px solid var(--azua-line) !important;
  color: var(--azua-text) !important;
  font-family: var(--azua-font) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
}

.ha-accordion .ha-accordion__icon {
  color: var(--azua-gold) !important;
}

.ha-accordion .ha-accordion__content {
  background: var(--azua-bg2) !important;
  color: var(--azua-muted) !important;
  font-family: var(--azua-font) !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  border-bottom: 1px solid var(--azua-line) !important;
}

/* Review Card */
.ha-review .ha-review__name {
  color: var(--azua-text) !important;
  font-family: var(--azua-font) !important;
  font-weight: 600 !important;
}

.ha-review .ha-review__designation {
  color: var(--azua-gold) !important;
  font-family: var(--azua-font) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

.ha-review .ha-review__content {
  color: var(--azua-muted) !important;
  font-family: var(--azua-font) !important;
  font-size: 13px !important;
}

.ha-review .ha-review__star i {
  color: var(--azua-gold) !important;
}

/* ============================================================
   ELEMENTOR PRO — FORM
   ============================================================ */
.elementor-form .elementor-field {
  background: var(--azua-bg3) !important;
  border: 1px solid var(--azua-line) !important;
  color: var(--azua-text) !important;
  font-family: var(--azua-font) !important;
  font-size: 13px !important;
  border-radius: 0 !important;
}

.elementor-form .elementor-field::placeholder {
  color: var(--azua-muted) !important;
}

.elementor-form .elementor-field:focus {
  outline: 1px solid var(--azua-gold) !important;
  border-color: var(--azua-gold) !important;
}

.elementor-form .elementor-button {
  background: var(--azua-gold) !important;
  color: #050505 !important;
  font-family: var(--azua-font) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  border: none !important;
}

.elementor-form .elementor-button:hover {
  background: var(--azua-gold2) !important;
}

/* ============================================================
   ELEMENTOR — ICON LIST
   ============================================================ */
.elementor-icon-list-item .elementor-icon-list-text {
  font-family: var(--azua-font) !important;
  color: var(--azua-muted);
}

.elementor-icon-list-item .elementor-icon-list-icon i,
.elementor-icon-list-item .elementor-icon-list-icon svg {
  color: var(--azua-gold) !important;
  fill: var(--azua-gold) !important;
}

/* ============================================================
   ELEMENTOR — SOCIAL ICONS
   ============================================================ */
.elementor-social-icon {
  background: var(--azua-bg3) !important;
  color: var(--azua-muted) !important;
  border-radius: 0 !important;
  transition: background 0.2s, color 0.2s;
}

.elementor-social-icon:hover {
  background: var(--azua-gold) !important;
  color: #050505 !important;
}

/* ============================================================
   ELEMENTOR — MENU CART (ícone do carrinho no header)
   ============================================================ */
.elementor-menu-cart__toggle .elementor-button-badge {
  background: var(--azua-gold) !important;
  color: #050505 !important;
  font-family: var(--azua-font) !important;
  font-size: 8px !important;
  font-weight: 700 !important;
}

/* ============================================================
   GOOGLE MAPS — FILTRO DARK
   ============================================================ */
.elementor-google-map iframe {
  filter: invert(90%) hue-rotate(180deg) contrast(0.88) brightness(0.95);
}

/* ============================================================
   RESPONSIVO — MOBILE (até 767px)
   ============================================================ */
@media (max-width: 767px) {
  .product_title,
  .elementor-widget-woocommerce-product-title h1 {
    font-size: 28px !important;
  }

  .price,
  .price ins .woocommerce-Price-amount {
    font-size: 30px !important;
  }

  .flex-control-thumbs {
    gap: 5px;
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .flex-control-thumbs li {
    width: 58px !important;
    height: 58px !important;
  }
}

/* ============================================================
   RESPONSIVO — TABLET (768px–1024px)
   ============================================================ */
@media (min-width: 768px) and (max-width: 1024px) {
  .product_title,
  .elementor-widget-woocommerce-product-title h1 {
    font-size: 34px !important;
  }
}
