/*
 Theme Name: Divi Child
 Theme URI: https://www.elegantthemes.com/gallery/divi/
 Description: Divi Child Theme
 Author: Elegant Themes
 Author URI: https://www.elegantthemes.com
 Template: Divi
 Version: 1.0.0
*/
 
/* =Theme customization starts here
------------------------------------------------------- */


.header-center #logo {  padding-left: 25px !important}
.rodape a {color: #fff !important}
.rodape a:hover {color: #ccc !important}



/* Largura Container */
@media (min-width: 1281px) {
  .et_pb_row {
    max-width: 1250px;
    width: 100%;
  }
}
@media (max-width: 1280px) {
  .et_pb_row {
    max-width: 90%;
    width: 90%;
  }
}

#top-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 30px;
  background: #000;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  z-index: 10000; /* acima do header */
}

/* Cabeçalho fixo */
#custom-header {
  position: fixed;
  top: 30px;
  left: 0;
  width: 100%;
  height: 100px; /* altura desktop */
  background: #fff;
  z-index: 9999;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 20px;
  border-bottom: 3px solid #6c1d15;
  box-sizing: border-box;
}


/* Mensagem enviada com sucesso formulario */

.et-pb-contact-message {
	text-align: center;
}

/* Ajuste do header quando houver admin bar */
body.admin-bar #top-bar {
  top: 32px; /* altura padrão admin bar desktop */
}
body.admin-bar #custom-header {
  top: 62px; /* altura padrão admin bar desktop */
}

/* Colunas */
.header-left, .header-center, .header-right {
  display: flex;
  align-items: center;
}

/* Logo central */

.header-center #logo {
  line-height: 100%; 
} 

.header-center img {
  max-height: 72px;
}

/* Ícones à direita */
.header-right {
  gap: 15px;
  display: flex;
  align-items: center;
}

/* Menu hamburguer – clicável inteiro */
.hamburger-menu {
  width: 40px;
  height: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  gap: 6px; /* espaço entre as linhas */
}

.hamburger-menu span {
  display: block;
  width: 30px;
  height: 4px;
  background: #6c1d15;
  transition: all 0.3s ease;
  border-radius: 5px; /* deixa arredondado */
}

/* Side Menu */
#side-menu {
  position: fixed;
  top: 0;
  left: -300px;
  width: 300px;
  height: 100%;
  background: #fff;
  z-index: 10000;
  box-shadow: 2px 0 8px rgba(0,0,0,0.2);
  transition: left 0.3s ease;
  padding: 70px 20px 20px; /* espaço para header desktop */
}
#side-menu ul { list-style: none; padding: 0; }
#side-menu ul li { margin-bottom: 15px; }

/* Overlay */
#menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
  display: none;
  z-index: 9999;
}

/* Ativar menu */
#side-menu.active { left: 0; }
#menu-overlay.active { display: block; }

/* Espaço no body para conteúdo não ficar atrás do header */
body {
  padding-top: 100px !important; /* header desktop */
}
body.admin-bar {
  padding-top: 128px !important; /* header + admin bar desktop */
}

/* Responsividade mobile */
@media (max-width: 980px) {
}

@media (max-width: 780px) {
	
p {
	font-size: 16px;	
	line-height: 1.6em;
}
#custom-header {
  height: 80px;
}

.header-center img {
  max-height: 52px;
}
	
  body {
    padding-top: 32px; /* header mobile */
  }
  body.admin-bar #top-bar {
 	 top: 46px; /* altura padrão admin bar desktop */
	}
  body.admin-bar #custom-header {
    top: 76px; /* admin bar mobile */
  }
  body.admin-bar {
    padding-top: 78px; /* header + admin bar mobile */
  }
  .header-right {
    gap: 10px;
  }
  #side-menu {
    width: 300px;
    padding-top: 80px; /* header mobile */
  }
}

/* animacao capa */

.animate-header h1,
.animate-header .et_pb_header_content_wrapper,
.animate-header .et_pb_button {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.8s ease-out;
}

/* estado visível */
.animate-header.visible h1 {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0s;
}

.animate-header.visible .et_pb_header_content_wrapper {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}

.animate-header.visible .et_pb_button {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.4s;
}


/* --- Correção para Woocommerce e Pagina Loja--- */
body.woocommerce-page {
  padding-top: 128px !important; 
}

/* === Corrige largura da loja (sobrescreve regra do Divi Theme Builder) === */
.et-db #et-boc .et-l .et_pb_row {
  width: 100% !important;
  max-width: 1250px !important;
  margin: 0 auto !important;
}

/* Responsivo */
@media (max-width: 1280px) {
  .et-db #et-boc .et-l .et_pb_row {
    width: 90% !important;
    max-width: 90% !important;
  }
}


/* Ajusta para telas menores */
@media (max-width: 780px) {
  body.woocommerce-page {
    padding-top: 106px !important;
  }
  body.woocommerce-page.admin-bar {
    padding-top: 106px !important;
  }
}


/* Remove o overlay do Divi ao passar o mouse sobre o produto */
.et_shop_image .et_overlay,
.et_shop_image:hover .et_overlay {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Remove o escurecimento da imagem no hover */
.et_shop_image:hover img {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

/* Mantém o link clicável */
.et_shop_image a {
  pointer-events: auto !important;
}

/* Woocommerce Loja */

.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	text-align: center !important;
}

h2.woocommerce-loop-product__title {
	font-family: 'Montserrat', Verdana, sans-serf !important;
	color: #000 !important;
}
.woocommerce-Price-amount {
	font-weight: 700 !important;
	font-size: 22px !important;
	color: #6c1d15;
}


/* Estilo para o label e campo de variações do WooCommerce */
.variations_form .variations td.label {
  display: block;
  width: 100%;
  margin-bottom: 5px;
}

.variations_form .variations td.value {
  display: block;
  width: 100%;
}

/* Faz o select ocupar 100% da largura */
.variations_form .variations select {
  width: 100%;
  max-width: 100%;
  padding: 10px;
  border-radius: 6px;
  border: 1px solid #ddd;
  box-sizing: border-box;
}
.woocommerce div.product form.cart .variations td {
    padding: 0 20px 10px 0 !important;
    max-width: none !important;
    line-height: 1.3em;
}
.orderby, .woocommerce div.product form.cart .variations td select {
    background-color: #fff;
    border: 1px solid #ccc !important;
    border-radius: 0px;
    border-width: 0;
    color: #000 !important;
    font-size: 16px;
    padding: 12px 12px;
    font-weight: 400;
    font-family: 'Montserrat', Arial, sans-serif;
}
.single-product div.product form.cart .quantity input.qty {
    width: 100%;
    text-align: center;
    padding: 8px 10px;
    border: 1px solid #ccc !important;
    box-sizing: border-box;
    background: #fff !important;
    color: #000 !important;
}

.et_pb_wc_price {
	margin-bottom: 20px !important;
}

/* Espaçamento entre as variações (caso tenha mais de uma) */
.variations_form .variations tr {
  display: block;
  margin-bottom: 0px;
}

.reset_variations {
	display: none;
	visibility: none;
}

.et_pb_wc_add_to_cart form.cart .variations td.value span:after {
	display: none;
}
.woocommerce div.product form.cart .variations {
	margin-bottom: 0;
}
.woocommerce div.product form.cart .variations label {
	font-weight: 400;
}
/* === Força o layout vertical do formulário de compra === */
.single-product div.product form.cart {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 15px !important;
}

/* Rótulo "Quantidade" acima do campo */
.single-product div.product form.cart .quantity::before {
  content: "Quantidade";
  display: block;
  font-weight: 400;
  margin-bottom: 5px;
  color: #000;
}

/* Campo de quantidade estilizado */
.single-product div.product form.cart .quantity {
  width: 100%;
  max-width: 150px;
}

.single-product div.product form.cart .quantity input.qty {
  width: 100%;
  text-align: center;
  padding: 8px 10px;
  border: 1px solid #ddd;
  box-sizing: border-box;
}

/* Botão adicionar ao carrinho ocupa 100% abaixo do campo */
.single-product div.product form.cart button.single_add_to_cart_button {
	width: 100% !important;
	padding: 14px 20px;
	color: #fff;
	background: #6c1d15;
	text-transform: uppercase;
	font-weight: 600;
	text-align: center;
	transition: all 0.2s ease-in-out;
	margin-top: 30px;
}

.single-product div.product form.cart button.single_add_to_cart_button:hover {
  opacity: 0.9;
}

/* Remove margens e bordas extras */
.et_pb_wc_tabs {
  border: none !important;
}
ul.et_pb_tabs_controls {
    border: none;
    background-color: #fff;
}
.et_pb_tabs_controls li {
	border-right: 0;
}
.et_pb_tabs_controls li a {
	padding: 4px 20px 4px 20px;
}
.et_pb_tabs_controls li.et_pb_tab_active {
    background-color: #fff;
    border-bottom: 2px solid #000;
}
.et_pb_tab {
	padding: 20px 0;
}

.woofc-area.woofc-style-02 .woofc-area-bot .woofc-action .woofc-action-inner > div a, .woofc-area.woofc-style-04 .woofc-area-bot .woofc-action .woofc-action-inner > div a {
    border-color: #6c1d15;
    background: #6c1d15;
    color: #fff;
}
.woofc-area.woofc-style-01 .woofc-inner, .woofc-area.woofc-style-03 .woofc-inner, .woofc-area.woofc-style-02 .woofc-area-bot .woofc-action .woofc-action-inner > div a:hover, .woofc-area.woofc-style-04 .woofc-area-bot .woofc-action .woofc-action-inner > div a:hover {
    background: #6c1d15;
    opacity: 0.9;
}


/* Checkout */

.woocommerce-checkout {
	margin-bottom: 50px;	
}

.select2-container .select2-selection {
    -webkit-appearance: none;
    background-color: #fff !important;
    max-width: 100%;
    border: 1px solid #ccc !important;
    border-radius: 0 !important;
    color: #000 !important;
    font-size: 16px !important;
    padding: 10px 8px;
    border-style: solid;
}
.select2-container .select2-selection--single .select2-selection__rendered {
	color: #000 !important;
}

.woocommerce .quantity input.qty, .woocommerce-page .quantity input.qty, .woocommerce #content .quantity input.qty, .woocommerce-page #content .quantity input.qty, .woocommerce-cart table.cart td.actions .coupon .input-text, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .et_pb_wc_cart_totals .select2-container--default .select2-selection--single, .et_pb_wc_checkout_billing .select2-container--default .select2-selection--single, .et_pb_wc_checkout_shipping .select2-container--default .select2-selection--single {
	
	-webkit-appearance: none;
    background-color: #fff !important;
    max-width: 100%;
    border: 1px solid #ccc !important;
    border-radius: 0 !important;
    color: #000 !important;
    font-size: 16px !important;
    padding: 16px;
    line-height: 1.2em;
    border-style: solid;
}
#order_review_heading {
	padding-top: 30px;
}


/* ===== Menu "Minha Conta" - WooCommerce com Divi ===== */

.woocommerce-MyAccount-navigation {
	margin-bottom: 30px;
	padding-right: 30px;
}

/* Remove bullets e força coluna */
.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

/* Cada item como bloco */
.woocommerce-MyAccount-navigation ul li {
  margin: 0 !important;
}

/* Estilo de botão */
.woocommerce-MyAccount-navigation ul li a {
  display: block;
  background-color: #fff; /* Fundo */
  color: #000;
  border: 1px solid #ccc;
  padding: 12px 18px;
  text-decoration: none;
  font-weight: 500;
  text-align: center;
  transition: all 0.3s ease;
}

/* Hover */
.woocommerce-MyAccount-navigation ul li a:hover {
  background-color: #6c1d15;
  color: #fff;
  border-color: #6c1d15;
}

/* Aba ativa */
.woocommerce-MyAccount-navigation ul li.is-active a {
  background-color: #6c1d15;
  color: #fff;
  border-color: #6c1d15;
}

/* Responsivo — opcional: centraliza */
@media (max-width: 767px) {
	
.woocommerce-MyAccount-navigation {
	margin-bottom: 30px;
	padding-right: 0px;
}
.woocommerce-MyAccount-navigation ul li a {
	font-size: 15px;
  }
	
.woocommerce ul.products[class*=columns-] li.product, .woocommerce-page ul.products[class*=columns-] li.product {
	width: 100% !important;
	}
}





@media (max-width:767px) {  
	.et_pb_tabs_controls li a {
	padding: 4px 0 !important;
}
}

