/*
Theme Name: Lord Fitness Child
Theme URI: https://lordfitness.com.br/
Description: Tema filho do Hello Elementor para a Lord Fitness. Mantém o Elementor e adiciona identidade visual, catálogo/orçamento e integração com wp_mail/WP Mail SMTP.
Author: Lord Fitness
Template: hello-elementor
Version: 1.2.0
Text Domain: lord-fitness-child
*/

:root{
  --lf-black:#050505;
  --lf-black-2:#0a0a0a;
  --lf-black-3:#111111;
  --lf-orange:#ff8a00;
  --lf-orange-2:#ff6a00;
  --lf-white:#ffffff;
  --lf-gray:#b8b8b8;
  --lf-border:rgba(255,138,0,.22);
}

/* Base visual da Lord Fitness */
html,body{background:#050505;}
body{color:#fff;}

/* Home preta */
body.home,
body.home #page,
body.home .site,
body.home .site-content,
body.home .content-area,
body.home .site-main,
body.home main,
body.home article,
body.home .entry-content,
body.home .page-content,
body.home .wp-site-blocks{
  background:#050505!important;
  color:#fff;
}

/* Cabeçalho */
body header,
body #masthead,
body .site-header,
body .main-header-bar,
body .ast-primary-header-bar,
body .elementor-location-header,
body .elementor-location-header>div,
body .elementor-location-header section{
  background:#050505!important;
  color:#fff!important;
  border-color:rgba(255,138,0,.16)!important;
  box-shadow:none!important;
}

body header a,
body .site-header a,
body .elementor-location-header a,
body .elementor-nav-menu a{
  color:#fff!important;
}
body header a:hover,
body .site-header a:hover,
body .elementor-location-header a:hover,
body .elementor-nav-menu a:hover,
body .current-menu-item>a,
body .current_page_item>a{
  color:#ff8a00!important;
}

/* Rodapé */
body footer,
body #colophon,
body .site-footer,
body .footer,
body .footer-widgets,
body .elementor-location-footer,
body .elementor-location-footer>div,
body .elementor-location-footer section{
  background:#050505!important;
  color:#fff!important;
  border-color:rgba(255,138,0,.18)!important;
}
body footer a,
body .site-footer a,
body .elementor-location-footer a{color:#fff!important;}
body footer a:hover,
body .site-footer a:hover,
body .elementor-location-footer a:hover{color:#ff8a00!important;}

/* Elementor: não forçar fundo branco sobre as seções personalizadas */
body.home .elementor,
body.home .elementor-page,
body.home .elementor-section,
body.home .elementor-container,
body.home .elementor-widget-wrap,
body.home .elementor-location-header,
body.home .elementor-location-footer{background-color:transparent;}

/* Seleção e scrollbar */
::selection{background:#ff8a00;color:#050505;}
body::-webkit-scrollbar{width:10px;}
body::-webkit-scrollbar-track{background:#050505;}
body::-webkit-scrollbar-thumb{background:#262626;border-radius:10px;}
body::-webkit-scrollbar-thumb:hover{background:#ff8a00;}

/* Garante que o carrinho possa ficar acima de Elementor, header e widgets */
#lf-cart-fab,#lf-cart-overlay,#lf-cart-drawer{
  isolation:isolate;
}
#lf-cart-fab{z-index:2147483600!important;}
#lf-cart-overlay{z-index:2147483601!important;}
#lf-cart-drawer{z-index:2147483602!important;}

@media(max-width:767px){
  body.home,body.home #page,body.home main,body.home .site-content{background:#050505!important;}
}


/* =========================================================
   LORD FITNESS — CORREÇÃO RESPONSIVA DO CATÁLOGO / ELEMENTOR
   O shortcode pode estar dentro de containers "boxed" do Elementor.
   Estes seletores liberam SOMENTE a árvore que contém #lf-catalogo.
   ========================================================= */
html,
body,
#page,
.site,
.site-content,
.content-area,
.site-main {
  max-width: 100% !important;
  overflow-x: clip !important;
}

/* Flex/grid nunca deve forçar largura além da viewport */
body:has(#lf-catalogo) .elementor,
body:has(#lf-catalogo) .elementor-element,
body:has(#lf-catalogo) .elementor-widget,
body:has(#lf-catalogo) .elementor-widget-container,
body:has(#lf-catalogo) .e-con,
body:has(#lf-catalogo) .e-con-inner,
body:has(#lf-catalogo) .elementor-container,
body:has(#lf-catalogo) .elementor-row,
body:has(#lf-catalogo) .elementor-column,
body:has(#lf-catalogo) .elementor-column-wrap,
body:has(#lf-catalogo) .elementor-widget-wrap {
  min-width: 0 !important;
}

/* Libera apenas os ancestrais diretos do catálogo do limite "boxed" */
body:has(#lf-catalogo) .e-con:has(#lf-catalogo),
body:has(#lf-catalogo) .e-con-inner:has(#lf-catalogo),
body:has(#lf-catalogo) .elementor-section:has(#lf-catalogo),
body:has(#lf-catalogo) .elementor-section:has(#lf-catalogo) > .elementor-container,
body:has(#lf-catalogo) .elementor-column:has(#lf-catalogo),
body:has(#lf-catalogo) .elementor-column:has(#lf-catalogo) > .elementor-widget-wrap,
body:has(#lf-catalogo) .elementor-widget-shortcode:has(#lf-catalogo),
body:has(#lf-catalogo) .elementor-widget-shortcode:has(#lf-catalogo) > .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  flex-basis: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  --width: 100% !important;
  --max-width: none !important;
}

body:has(#lf-catalogo) #lf-catalogo {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  overflow-x: clip !important;
}

body:has(#lf-catalogo) #lf-catalogo .lf-wrap,
body:has(#lf-catalogo) #lf-catalogo .lf-heading,
body:has(#lf-catalogo) #lf-catalogo .lf-product-grid,
body:has(#lf-catalogo) #lf-catalogo .lf-product-card,
body:has(#lf-catalogo) #lf-catalogo .lf-product-media,
body:has(#lf-catalogo) #lf-catalogo .lf-product-body {
  min-width: 0 !important;
  max-width: 100%;
}

@media (max-width: 767px) {
  body:has(#lf-catalogo) #page,
  body:has(#lf-catalogo) .site,
  body:has(#lf-catalogo) .site-content,
  body:has(#lf-catalogo) .content-area,
  body:has(#lf-catalogo) .site-main,
  body:has(#lf-catalogo) main,
  body:has(#lf-catalogo) article,
  body:has(#lf-catalogo) .entry-content,
  body:has(#lf-catalogo) .page-content {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: clip !important;
  }

  body:has(#lf-catalogo) #lf-catalogo {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-inline: 0 !important;
  }
}
