/*
 Theme Name:   Hello Elementor Child (XCodigos)
 Theme URI:    https://xcodigos.com
 Description:  Tema filho Hello Elementor customizado para XCodigos - baseado em designs do CodigoXP/Sonadio.
 Author:       XCodigos
 Author URI:   https://xcodigos.com
 Template:     hello-elementor
 Version:      1.0.1 (2026-09-29 - TASK T6: Responsividade Mobile / E-commerce touch)
 License:      GNU General Public License v3
 License URI:  https://www.gnu.org/licenses/gpl-3.0.html
 Text Domain:  hello-elementor-child-xc
 Tags:         e-commerce, woocommerce, elementor, digital-license-manager
*/

/* ---------- REGRAS PERSONALIZADAS XCODIGOS ABAIXO ---------- */

/* Ajustes gerais de tipografia */
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* Garante que símbolo R$ sempre apareça em parágrafos de preço (fallback do MU plugin) */
.woocommerce-Price-currencySymbol::before,
.price .woocommerce-Price-currencySymbol::before,
span.woocommerce-Price-currencySymbol {
  content: none !important;
}

/* Ocultar no front-end o aviso de produto com stock = 0 (se tiver alguma licença zerada) */
.stock.out-of-stock { opacity: 0.75; font-size: 0.9em; }

/* Home: destacar grid de produtos da loja em dispositivos móveis */
@media (max-width: 768px) {
  .woocommerce ul.products li.product {
    margin-bottom: 30px !important;
  }
}

/* =============================================================
 * TASK T6 (2026-09-29) - Responsividade Logo + E-commerce Touch
 * Resolve:
 *  - Logo enorme no mobile (qualquer widget image Elementor, header/footer/home)
 *  - Botões Comprar com tamanho de toque mínimo 48px (WCAG)
 *  - 1 coluna no grid de produtos mobile < 414px
 *  - Overflow horizontal proibido (home / carrinho)
 * ============================================================= */

/* P4: impede logotipo enorme no mobile (qualquer widget image Elementor / footer / header / home) */
.elementor img,
.footer-logo img,
.xc-footer-logo img,
.cxf img,
.cx-faq img,
.cx-hero img,
.xc-sec img,
.xc-topo-card img,
.xc-cat-sec img,
.woocommerce ul.products li.product img,
.site-branding img,
.custom-logo,
img.header-image,
img.site-logo {
  max-width: 100% !important;
  height: auto !important;
  display: block;
}
.escondido-no-mobile { display: none !important; }

/* P5: Botões comprar / CTA mínimo 48px toque */
.woocommerce a.button.add_to_cart_button,
.woocommerce a.button.alt,
.woocommerce a.button.added_to_cart,
.woocommerce button.button,
button.single_add_to_cart_button,
input[type="submit"].checkout-button,
.woocommerce #respond input#submit,
.woocommerce button.button.alt,
.woocommerce input.button,
.woocommerce input.button.alt,
.xc-sec a.button,
.xc-cat-woo a.button,
a.wc-forward,
.button.product_type_simple,
.xc-topo-card a {
  min-height: 48px;
  min-width: 48px;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 18px !important;
  line-height: 1.3 !important;
  box-sizing: border-box !important;
  border-radius: 12px;
  text-decoration: none !important;
}

/* P5: Home grid produtos mobile < 414px: 1 coluna + padding reduzido */
@media (max-width: 414px) {
  html, body { overflow-x: hidden; }
  .xc-sec { padding: 30px 14px !important; }
  .xc-topo-cat { grid-template-columns: 1fr !important; gap: 14px !important; }
  .xc-cat-woo ul.products { grid-template-columns: 1fr !important; gap: 14px 12px !important; }
  .xc-cat-woo li.product { padding: 16px 12px !important; }
  .xc-cat-woo h2.woocommerce-loop-product__title { font-size: 13.5px !important; }
  .xc-cat-woo span.price { font-size: 16px !important; }
  .xc-cat-woo img.attachment-woocommerce_thumbnail { max-width: 120px !important; margin: 0 auto; }
  .xc-h2 { font-size: 20px !important; margin-bottom: 8px; }
  .xc-sub { font-size: 14px !important; margin-bottom: 24px; }
  .xc-cat-tit h3 { font-size: 18px !important; }
  .xc-cat-sec { padding: 22px 14px !important; border-radius: 16px !important; }
  .woocommerce ul.products[class*="columns-"] li.product { width: 100% !important; float: none !important; }
}

/* P5: Mobile 415px ~ 560px: 2 colunas (padrão existente mantido) mas com padding amigavel */
@media (min-width: 415px) and (max-width: 560px) {
  html, body { overflow-x: hidden; }
  .xc-sec { padding: 30px 16px !important; }
  .xc-cat-sec { padding: 24px 18px !important; }
}

/* P5: Tablet 561px ~ 896px: 2 colunas produtos */
@media (min-width: 561px) and (max-width: 896px) {
  .xc-cat-woo ul.products.columns-3,
  .xc-cat-woo ul.products { grid-template-columns: 1fr 1fr !important; }
}

/* Container root: bloqueia overflow horizontal (qualquer elemento) */
html,
body,
#page,
.site,
.elementor,
.elementor-inner,
.elementor-section-wrap,
.elementor-section,
.elementor-container,
.xc-sec,
.xc-cat-sec,
.cx-hero-produtos,
.cx-faq {
  overflow-x: hidden !important;
  max-width: 100%;
}

/* Ajuste: Carrinho Elementor PRO Menu Cart: não esconder botão em mobile */
.elementor-menu-cart__toggle_button {
  min-height: 44px !important;
  min-width: 44px !important;
  padding: 8px !important;
  box-sizing: border-box;
}
.elementor-menu-cart__toggle_wrapper { padding: 0 !important; }

/* Ajuste: FiboSearch input mobile */
.dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
  min-height: 44px !important;
  padding: 10px 48px 10px 14px !important;
  font-size: 15px !important;
}
