/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/

/* Só o que o Avada não cobre nativamente. */

/* Rodapé: e-mail e botão "Assinar" na mesma linha. */
.gmt-news .fluentform form { display: flex; gap: 10px; flex-wrap: wrap; }
.gmt-news .ff-el-group { flex: 1 1 240px; margin-bottom: 0; }
.gmt-news .ff-el-form-control { border-radius: 999px; padding: 14px 20px; background: #fff; border: 0; }
.gmt-news .ff_submit_btn_wrapper { margin: 0; }
.gmt-news .ff-btn-submit { border-radius: 999px !important; padding: 14px 28px !important; font-weight: 500; }
.gmt-news .ff-message-success { color: #fff; border: 0; background: transparent; padding: 0; }

/* Grade de variações do produto. */
.gmt-grade-tabela td, .gmt-grade-tabela th { vertical-align: middle; }
.gmt-grade-tabela small { color: #6b6b6b; }
.gmt-grade-qtd { width: 84px; border-radius: 999px; text-align: center; }
.gmt-grade-aviso { margin-left: 12px; font-size: 14px; }
@media (max-width: 640px) {
	.gmt-grade-tabela thead { display: none; }
	.gmt-grade-tabela tr { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px; padding: 12px 0; border-bottom: 1px solid #e3dfd6; }
	.gmt-grade-tabela td { border: 0; padding: 0; }
	.gmt-grade-tabela td::before { content: attr(data-label); display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: #6b6b6b; }
}

/* Preço "A partir de" no card. */
.gmt-a-partir small { display: block; font-size: 12px; color: #6b6b6b; font-weight: 400; }
.gmt-a-partir strong { font-family: "Ubuntu", sans-serif; font-weight: 700; }
.gmt-a-partir del { font-size: 13px; color: #8a8a8a; margin-left: 6px; }

/* Botão do formulário de novidades no dourado da marca. */
.gmt-news .ff-btn-submit { background: #f2c230 !important; color: #111 !important; border: 0 !important; }
.gmt-news .ff-btn-submit:hover { background: #fff !important; }

/* Ficha do produto (ACF). */
.gmt-ficha { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; margin: 0; padding: 16px 0; border-top: 1px solid #e3dfd6; border-bottom: 1px solid #e3dfd6; }
.gmt-ficha dt { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #6b6b6b; }
.gmt-ficha dd { margin: 2px 0 0; font-size: 15px; color: #111; }
.gmt-aviso-b2b { margin: 0; padding: 12px 16px; background: #fffbea; border-radius: 12px; }
.gmt-aviso-b2b a { text-decoration: underline; }

/* ---------- Header ---------- */
/* Busca em pílula: texto alinhado à esquerda, como um campo. */
.gmt-busca-pilula.fusion-button { justify-content: flex-start; font-weight: 400; }
/* Conta: ícone grande com duas linhas de texto. */
.gmt-hconta { display: inline-flex; align-items: center; gap: 10px; padding: 6px 12px 6px 8px; border-radius: 999px; color: #111; line-height: 1.15; white-space: nowrap; transition: background .2s; }
.gmt-hconta:hover { background: #f2efe8; color: #111; }
.gmt-hconta i { font-size: 28px; }
.gmt-hconta small { display: block; font-size: 11.5px; color: #6b6b6b; }
.gmt-hconta span { font-family: "Ubuntu", sans-serif; font-weight: 500; font-size: 14.5px; }
.gmt-hcarrinho a { display: inline-flex; padding: 10px; border-radius: 999px; transition: background .2s; }
.gmt-hcarrinho a:hover { background: #f2efe8; }
.gmt-hicone .fusion-button-icon-divider, .gmt-hicone i { font-size: 20px; }
@media (max-width: 800px) { .gmt-hconta span { display: none; } .gmt-hconta i { font-size: 26px; } }

/* Busca inteligente: atalhos de categoria. */
.gmt-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.gmt-chip { padding: 8px 16px; border: 1px solid #e3dfd6; border-radius: 999px; color: #111; font-size: 14px; transition: all .2s; }
.gmt-chip:hover { background: #111; border-color: #111; color: #fff; }
/* Cards compactos (busca e mega menu). */
.gmt-mini { transition: background .2s, box-shadow .2s; }
.gmt-mini:hover { background: #f2efe8 !important; }
.gmt-mini .fusion-post-card-image { flex: 0 0 64px; width: 64px; border-radius: 12px; overflow: hidden; }
.gmt-mini-preco .gmt-a-partir small { display: inline; margin-right: 4px; }
.gmt-link-seta { color: #111; font-weight: 500; text-decoration: underline; text-underline-offset: 4px; }
.gmt-link-seta::after { content: " →"; }

/* Busca inteligente: resultados por cima do painel, em cartão. */
.gmt-busca .fusion-search-form-content { position: relative; z-index: 30; }
.gmt-busca .fusion-search-results { background: #fff; border: 1px solid #e3dfd6; border-radius: 20px !important; margin-top: 8px; box-shadow: 0 24px 48px -16px rgba(17,17,17,.28); overflow: hidden; }
.gmt-busca .fusion-search-result { padding: 10px 16px; border-bottom: 1px solid #f2efe8; align-items: center; }
.gmt-busca .fusion-search-result:hover { background: #fbfaf7; }
.gmt-busca .fusion-search-image { width: 52px; height: 52px; border-radius: 12px; overflow: hidden; flex: 0 0 52px; }
.gmt-busca .fusion-search-post-title { font-family: "Ubuntu", sans-serif; font-weight: 500; font-size: 15px; color: #111; }
.gmt-busca .fusion-search-post-type { font-size: 13px; color: #6b6b6b; }
/* Pílula de busca do header numa linha só. */
.gmt-busca-pilula .fusion-button-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---------- Hero ---------- */
/* Vitrine: selo sobre a foto, foto em fundo creme. */
.gmt-vitrine-card > .fusion-column-wrapper { position: relative; background: #fff; border-radius: 22px; }
.gmt-vitrine-selo { position: absolute; top: 20px; left: 20px; z-index: 2; margin: 0 !important; }
.gmt-selo { display: inline-block; padding: 5px 11px; border-radius: 999px; background: #111; color: #fff; font: 700 12px/1 "Ubuntu", sans-serif; letter-spacing: .02em; }
.gmt-selo-oferta { background: #f2c230; color: #111; }
.gmt-vitrine-card .fusion-post-card-image { background: #f2efe8; border-radius: 17px; overflow: hidden; aspect-ratio: 1 / 1; }
.gmt-vitrine-card .fusion-post-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.gmt-vitrine-card:hover .fusion-post-card-image img { transform: scale(1.04); }
/* Big numbers (Counter Boxes): caixas arredondadas, número grande e "+" em dourado. */
.fusion-counters-box.gmt-numeros { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-left: 0; margin-right: 0; }
.fusion-counters-box.gmt-numeros::before, .fusion-counters-box.gmt-numeros::after, .fusion-counters-box.gmt-numeros > .fusion-clearfix { display: none !important; }
.fusion-counters-box.gmt-numeros .fusion-counter-box { width: auto; padding: 0; margin: 0; float: none; }
.fusion-counters-box.gmt-numeros .counter-box-container { background: #fff; border: 1px solid #e3dfd6 !important; border-radius: 18px; padding: 18px 20px !important; text-align: left; height: 100%; transition: transform .3s, box-shadow .3s; }
.fusion-counters-box.gmt-numeros .counter-box-container:hover { transform: translateY(-3px); box-shadow: 0 18px 30px -18px rgba(17,17,17,.25); }
.fusion-counters-box.gmt-numeros .content-box-percentage { font-family: "Ubuntu", sans-serif; font-weight: 700; letter-spacing: -0.03em; line-height: 1; margin-bottom: 6px; }
.fusion-counters-box.gmt-numeros .unit { color: #f2c230; margin-left: 2px; }
.fusion-counters-box.gmt-numeros .counter-box-content { padding: 0; }
@media (max-width: 640px) { .fusion-counters-box.gmt-numeros { gap: 8px; } .fusion-counters-box.gmt-numeros .counter-box-container { padding: 14px !important; } .fusion-counters-box.gmt-numeros .content-box-percentage { font-size: 32px !important; } }
/* Dots da vitrine sempre abaixo dos cards (fora da área deles). */
.gmt-vitrine .awb-swiper-carousel .swiper-pagination { position: static; margin-top: 22px; }

/* Ubuntu em todo o site: elementos de plugins que fixam outra fonte ou o peso 600 (que a Ubuntu não tem). */
.fluentform, .fluentform .ff-btn, .fluentform input, .fluentform textarea, .fluentform select,
#fkcart-modal, #fkcart-modal *, .fkcart-shortcode-container, .fkcart-shortcode-container * { font-family: "Ubuntu", sans-serif !important; }
.fkcart-title, .fkcart-drawer-header-heading, .fkcart-item-count, .fkcart-shortcode-count { font-weight: 700 !important; }

/* Mega menu: sem cor no hover dos itens; fotos com cantos arredondados (12px, padrão dos cards). */
.awb-menu__mega-wrap li, .awb-menu__mega-wrap li:hover, .awb-menu__mega-wrap li:focus-within,
.awb-menu__mega-wrap .gmt-mini, .awb-menu__mega-wrap .gmt-mini:hover { background: transparent !important; box-shadow: none !important; }
.gmt-mini .fusion-imageframe, .gmt-mini .fusion-imageframe img { border-radius: 12px !important; overflow: hidden; }

/* ---------- Marcas: linha só de logos sobre fundo creme ---------- */
.gmt-marca .gmt-marca-logo { height: 76px; display: flex; align-items: center; justify-content: center; width: 100%; }
.gmt-marca-img { display: block; max-height: 64px; max-width: 168px; width: auto; height: auto; object-fit: contain; filter: grayscale(1) contrast(1.15); opacity: .78; transition: filter .35s, opacity .35s, transform .35s; }
.gmt-marca:hover .gmt-marca-img { filter: none; opacity: 1; transform: scale(1.06); }
.gmt-marca-sigla { width: 64px; height: 64px; border-radius: 16px; display: grid; place-items: center; background: #fff; color: #111; font-weight: 700; }
@media (max-width: 640px) { .gmt-marca-img { max-height: 52px; max-width: 132px; } }
/* Bordas suaves nas laterais do carrossel, como se as marcas entrassem e saíssem. */
.gmt-marcas-col .awb-carousel { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%); padding: 6px 0; }
@media (max-width: 640px) { .gmt-marcas-col .awb-carousel { -webkit-mask-image: none; mask-image: none; } }
/* Logos muito horizontais (proporção > 3:1) ganham mais largura para ter o mesmo peso visual. */
.gmt-marca-img.gmt-larga { max-width: 210px; max-height: 40px; }
@media (max-width: 640px) { .gmt-marca-img.gmt-larga { max-width: 160px; max-height: 32px; } }
/* Mega menu: a linha interna não compensa espaçamento de coluna (respiro igual nos quatro lados). */
.gmt-mega > .fusion-builder-row { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; }

/* ---------- Categorias da Home ---------- */
.gmt-cat-card > .fusion-column-wrapper { position: relative; background: #fff; border-radius: 24px; transition: box-shadow .3s, border-color .3s, transform .3s; }
.gmt-cat-card:hover > .fusion-column-wrapper { border-color: #d6d0c4 !important; box-shadow: 0 24px 40px -28px rgba(17,17,17,.35); transform: translateY(-4px); }
.gmt-cat-card > .fusion-column-wrapper { height: 100%; }
.gmt-cat-foto, .gmt-cat-foto img { width: 100%; border-radius: 18px !important; overflow: hidden; }
.gmt-cat-foto img { transition: transform .6s ease; }
.gmt-cat-card:hover .gmt-cat-foto img { transform: scale(1.04); }
/* Etiqueta de quantidade: pequena, clara, sobre a foto. */
.gmt-cat-tag { position: absolute; top: 24px; left: 24px; z-index: 2; margin: 0 !important; }
.gmt-tag { display: inline-block; padding: 5px 11px; border-radius: 999px; background: rgba(255,255,255,.86); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: #2a2a2a; font-size: 12px; font-weight: 500; line-height: 1.2; letter-spacing: .01em; }
/* "Ver produtos" sempre no pé do card, alinhado com o texto. */
.gmt-cat-rodape { margin-top: auto !important; }
.gmt-cat-cta { color: #111; font-weight: 500; }
.gmt-cat-cta::after { content: "→"; display: inline-block; margin-left: 6px; transition: transform .25s; }
.gmt-cat-card:hover .gmt-cat-cta::after { transform: translateX(4px); }

/* ---------- Vitrine do hero: textos alinhados e botão "Comprar" leve ---------- */
.gmt-vitrine-card > .fusion-column-wrapper { height: 100%; }
.gmt-vit-titulo .fusion-title-heading { min-height: 2.6em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gmt-vit-preco { margin-top: auto !important; }
.gmt-vit-comprar.fusion-button { font-weight: 500; }
.gmt-vit-comprar.fusion-button i { font-size: 13px; }
/* Texto do card de categoria sempre com o mesmo recuo (12px) em qualquer largura. */
.gmt-cat-card .fusion-title, .gmt-cat-card .fusion-text:not(.gmt-cat-tag) { margin-left: 12px !important; margin-right: 12px !important; }

/* ---------- Card de produto (Seleção da casa e relacionados) ---------- */
/* Fundo, cantos e sombra no elemento interno (o externo inclui o espaçamento entre cards). */
.gmt-card-produto > .fusion-column-wrapper { height: 100%; position: relative; background: #fff; border-radius: 22px; transition: box-shadow .3s, transform .3s; }
.gmt-card-produto:hover > .fusion-column-wrapper { box-shadow: 0 22px 38px -26px rgba(17,17,17,.30); transform: translateY(-3px); }
.gmt-card-produto .fusion-post-card-image { background: #f2efe8; border-radius: 17px; overflow: hidden; aspect-ratio: 1 / 1; }
.gmt-card-produto .fusion-post-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.gmt-card-produto:hover .fusion-post-card-image img { transform: scale(1.04); }
.gmt-card-produto .gmt-card-txt, .gmt-vitrine-card .fusion-text:not(.gmt-vitrine-selo), .gmt-vitrine-card .fusion-title { margin-left: 10px !important; margin-right: 10px !important; }
.gmt-card-produto .gmt-preco-bloco { margin-top: auto; }
/* Volumes como etiquetas discretas, logo abaixo do nome. */
.gmt-volumes { display: flex; flex-wrap: wrap; gap: 6px; }
.gmt-vol { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 999px; border: 1px solid #e3dfd6; background: #fbfaf7; color: #2a2a2a; font-size: 12px; font-weight: 500; letter-spacing: .01em; }
.gmt-etiqueta { display: inline-block; padding: 3px 9px; border-radius: 999px; background: #f2efe8; color: #2a2a2a; font-size: 12px; }
.gmt-b2b-chamada strong { color: #111; font-weight: 500; }
.gmt-card-produto .fusion-builder-row-inner { margin-top: auto; }

/* Botão "Comprar" com o mesmo recuo lateral do texto. */
.gmt-card-produto .fusion-button-wrapper, .gmt-vitrine-card .fusion-button-wrapper { margin: 0 10px; }

/* ---------- Nossa história ---------- */
.gmt-hist-midia > .fusion-column-wrapper { position: relative; }
/* Moldura dourada fina, deslocada atrás da foto. */
.gmt-hist-midia > .fusion-column-wrapper::before { content: ""; position: absolute; top: 22px; left: 22px; right: 50px; bottom: -22px; border: 1.5px solid #f2c230; border-radius: 30px; z-index: 0; pointer-events: none; }
.gmt-hist-foto { position: relative; z-index: 1; display: block; box-shadow: 0 30px 60px -30px rgba(17,17,17,.45); border-radius: 28px; overflow: hidden; }
.gmt-hist-foto img { transition: transform 1.2s ease; }
.gmt-hist-midia:hover .gmt-hist-foto img { transform: scale(1.04); }
.gmt-hist-camadas { position: static !important; margin: 0 !important; }
/* Garrafa Gourmetum sobreposta no canto, com moldura branca. */
.gmt-hist-garrafa { position: absolute; z-index: 2; right: 24px; bottom: -40px; width: 34%; aspect-ratio: 3 / 4; background: #f2efe8; border: 6px solid #fff; border-radius: 22px; overflow: hidden; box-shadow: 0 24px 40px -22px rgba(17,17,17,.4); }
.gmt-hist-garrafa img { width: 100%; height: 100%; object-fit: cover; }
/* Selo giratório. */
.gmt-hist-selo { position: absolute; z-index: 3; left: -34px; top: -34px; width: 132px; height: 132px; border-radius: 50%; background: #111; display: grid; place-items: center; box-shadow: 0 16px 30px -16px rgba(17,17,17,.6); }
.gmt-hist-selo svg { position: absolute; inset: 0; width: 100%; height: 100%; animation: gmt-girar 26s linear infinite; }
.gmt-hist-selo text { fill: #f2c230; font: 500 13px "Ubuntu", sans-serif; letter-spacing: 2.4px; }
.gmt-hist-selo span { color: #fff; font: 700 22px/1 "Ubuntu", sans-serif; letter-spacing: -.01em; }
@keyframes gmt-girar { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .gmt-hist-selo svg { animation: none; } }
/* Citação com barra dourada. */
.gmt-citacao { margin: 0; padding: 4px 0 4px 20px; border-left: 3px solid #f2c230; }
.gmt-citacao p { margin: 0 0 8px; font: 500 19px/1.5 "Ubuntu", sans-serif; color: #111; }
.gmt-citacao cite { font-style: normal; font-size: 13px; color: #6b6b6b; }
.gmt-fato { border-left: 1px solid #e3dfd6; padding-left: 14px !important; }
.gmt-fato:first-child { border-left: 0; padding-left: 0 !important; }
@media (max-width: 800px) {
	.gmt-hist-midia > .fusion-column-wrapper::before { inset: 16px -10px -16px 16px; right: -10px; }
	.gmt-hist-selo { width: 104px; height: 104px; left: -10px; top: -26px; }
	.gmt-hist-selo text { font-size: 15px; }
	.gmt-hist-garrafa { right: 12px; bottom: -36px; width: 38%; }
}
