/* css/style.css */

/* Reset e Fontes */
@font-face { font-family: 'Mont'; src: url('../assets/fonts/Mont-Regular.otf') format('opentype'); font-weight: normal; font-style: normal; font-display: swap; }
@font-face { font-family: 'Mont'; src: url('../assets/fonts/Mont-Bold.otf') format('opentype'); font-weight: bold; font-style: normal; font-display: swap; }
@font-face { font-family: 'Mont'; src: url('../assets/fonts/Mont-SemiBold.otf') format('opentype'); font-weight: 600; font-style: normal; font-display: swap; }

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
    font-family: 'Mont', 'Helvetica Neue', Arial, sans-serif;
    background-color: #f4f6f8;
    color: #2c3e50;
    line-height: 1.7;
    display: flex; flex-direction: column; min-height: 100vh;
    overflow-x: hidden;
    transition: padding-top 0.35s ease-in-out;
}
main { flex-grow: 1; }

/* Variáveis CSS Globais */
:root {
    --header-altura: 60px;
    --barra-pesquisa-altura-fixa: 70px;
    --carrinho-header-altura: 50px;
}


/* HEADER */
.site-header {
    background-color: #fff;
    padding: 0.9rem 1.5rem;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.07);
    position: sticky; top: 0; z-index: 1010; width: 100%;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}
.header-container { max-width: 1200px; margin: 0 auto; }
.logo-faciclean { max-height: 40px; width: auto; vertical-align: middle; display: inline-block; }

/* HERO SECTION V4 */
.hero-section-v4 {
    background: linear-gradient(135deg, var(--cor-principal) 0%, color-mix(in srgb, var(--cor-principal) 75%, var(--cor-secundaria)) 100%);
    color: var(--cor-texto-hero, #FFFFFF);
    padding: 3.5rem 1.5rem 4.5rem 1.5rem;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.hero-section-v4::before, .hero-section-v4::after { content: ""; position: absolute; opacity: 0.08; border-radius: 50%; filter: blur(10px); z-index: 1; }
.hero-section-v4::before { bottom: -70px; left: -90px; width: 220px; height: 220px; background: var(--cor-secundaria); }
.hero-section-v4::after { top: -90px; right: -110px; width: 280px; height: 280px; background: var(--cor-secundaria); border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;}
.hero-content-v4 { position: relative; z-index: 2; max-width: 680px; margin: 0 auto; }
.hero-title-v4 { font-size: 2.6rem; font-weight: bold; line-height: 1.2; margin-bottom: 0.6rem; text-shadow: 0 1px 5px rgba(0,0,0,0.15); }
.hero-subtitle-v4 { font-size: 1.2rem; font-weight: normal; margin-bottom: 2rem; opacity: 0.95; line-height: 1.5; max-width: 550px; margin-left: auto; margin-right: auto; }
.hero-cta-container-v4 { display: flex; justify-content: center; gap: 1rem; flex-wrap: wrap; }
.hero-cta-v4 { padding: 0.7rem 1.6rem; border-radius: 50px; text-decoration: none; font-weight: 600; font-size: 0.95rem; transition: all 0.2s ease; border: 2px solid transparent; display: inline-flex; align-items: center; gap: 0.7em; }
.hero-cta-v4:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,0.18); }
.hero-cta-v4.primary { background-color: #fff; color: var(--cor-principal); box-shadow: 0 3px 10px rgba(0,0,0,0.08); }
.hero-cta-v4.primary:hover { background-color: #f5f5f5; }
.hero-cta-v4.secondary { background-color: transparent; color: var(--cor-texto-hero, #FFFFFF); border-color: var(--cor-texto-hero, #FFFFFF); }
.hero-cta-v4.secondary:hover { background-color: var(--cor-texto-hero, #FFFFFF); color: var(--cor-principal); }
.hero-cta-v4 .fas, .hero-cta-v4 .fab { font-size: 1em; }

/* SEÇÃO NOSSA LOJA - V3 */
.nossa-loja-section-v3 { padding: 3rem 1.5rem; background-color: #ffffff; }
.nossa-loja-container-v3 { max-width: 1000px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 2.5rem; }
.nossa-loja-imagem-v3 { flex: 1 1 400px; min-width: 280px; }
.nossa-loja-imagem-v3 img { width: 100%; height: auto; border-radius: 8px; box-shadow: 0 8px 20px rgba(44, 62, 80, 0.08); }
.nossa-loja-info-v3 { flex: 1 1 420px; }
.nossa-loja-info-v3 h2 { font-size: 1.8rem; font-weight: bold; color: var(--cor-secundaria); margin-bottom: 0.5rem; line-height: 1.2; }
.nossa-loja-info-v3 p.loja-subtitulo { font-size: 1rem; color: #525f7f; margin-bottom: 1.5rem; line-height: 1.6; }
.nossa-loja-info-v3 .info-group { margin-bottom: 1.2rem; }
.nossa-loja-info-v3 .info-item-v3 { display: flex; align-items: flex-start; margin-bottom: 0.6rem; font-size: 0.95rem; color: #525f7f; }
.nossa-loja-info-v3 .info-icon-v3 { flex-shrink: 0; width: 24px; font-size: 1.1rem; color: var(--cor-principal); margin-right: 0.8rem; text-align: center; line-height: 1.6; }
.nossa-loja-info-v3 .info-item-v3 strong { display: block; font-weight: 600; color: #2c3e50; margin-bottom: 0.1rem; }
.nossa-loja-info-v3 .info-item-v3 span, .nossa-loja-info-v3 .info-item-v3 a { line-height: 1.5; color: #525f7f; text-decoration: none; }
.nossa-loja-info-v3 .info-item-v3 a:hover { color: var(--cor-principal); text-decoration: underline; }

.info-link-button, .info-cta-button { display: inline-flex; align-items: center; gap: 0.6em; padding: 0.6rem 1.1rem; border-radius: 50px; text-decoration: none; font-weight: 600; font-size: 0.9rem; margin-right: 0.7rem; margin-top: 0.5rem; transition: all 0.2s ease; border: 1px solid transparent; }
.info-link-button .fas, .info-cta-button .fas, .info-cta-button .fab { font-size: 1em; }
.info-link-button { background-color: #e9ecef; color: #343a40; border-color: #dee2e6; }
.info-link-button:hover { background-color: #dde2e7; box-shadow: 0 2px 5px rgba(0,0,0,0.08); }
.info-cta-button.whatsapp { background-color: #25D366; color: white; }
.info-cta-button.whatsapp:hover { background-color: color-mix(in srgb, #25D366 85%, black); }
.info-cta-button.google-review { background-color: #4285F4; color: white; }
.info-cta-button.google-review:hover { background-color: color-mix(in srgb, #4285F4 85%, black); }
.info-cta-button.instagram {
    background-color: var(--cor-principal);
    color: white;
    border-color: transparent;
}
.info-cta-button.instagram:hover { opacity: 0.9; box-shadow: 0 2px 5px rgba(0,0,0,0.12); }
.loja-contato-botoes { margin-top: 1.2rem; display: flex; flex-wrap: wrap; gap: 0.7rem; }

/* TAGS DE CATEGORIA - V2 */
.tags-categorias-container-v2 { padding-bottom: 2rem; text-align: center; margin-bottom: 2rem; }
.tags-categorias-container-v2 h3 { font-size: 1.4rem; font-weight: bold; color: #1f2937; margin-bottom: 1rem; display: flex; align-items: center; justify-content: center; gap: 0.5em; }
.tags-wrapper { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem 0.7rem; }
.tag-categoria { background-color: #f0f2f5; color: #4b5563; padding: 0.5rem 1rem; border-radius: 16px; text-decoration: none; font-size: 0.85rem; font-weight: 600; transition: background-color 0.2s, color 0.2s, border-color 0.2s; border: 1px solid #e5e7eb; }
.tag-categoria:hover { background-color: var(--cor-secundaria); color: white; border-color: var(--cor-secundaria); }
.btn-ver-mais-tags { background-color: transparent; color: var(--cor-principal); border: 1px solid var(--cor-principal); padding: 0.5rem 1rem; border-radius: 16px; cursor: pointer; font-weight: 600; margin-top: 1.5rem; transition: background-color 0.2s, color 0.2s; }
.btn-ver-mais-tags:hover { background-color: var(--cor-principal); color: white; }
.btn-ver-mais-tags .fa-chevron-down, .btn-ver-mais-tags .fa-chevron-up { margin-left: 0.5em; }
.tags-wrapper-oculto { display: none; margin-top: 1rem; flex-wrap: wrap; justify-content: center; gap: 0.5rem 0.7rem; }
.tags-wrapper-oculto.visivel { display: flex; }

/* BARRA DE PESQUISA */
.barra-pesquisa-wrapper { min-height: 70px; transition: height 0.3s ease-in-out; }
.barra-pesquisa { margin-bottom: 2.5rem; background-color: #fff; z-index: 990; border-radius: 8px; padding: 0.8rem 0; transition: top 0.35s ease-in-out, padding 0.3s ease-in-out, background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out, border-radius 0.3s ease-in-out; }
.barra-pesquisa.fixed { position: fixed; left: 0; width: 100%; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); padding: 0.8rem 1.5rem; background-color: rgba(255, 255, 255, 0.97); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-bottom: 1px solid #e0e0e0; border-radius: 0; }
.barra-pesquisa input[type="text"] { width: 100%; padding: 0.9rem 1.1rem; border: 1px solid #ced4da; border-radius: 6px; font-size: 1rem; font-family: 'Mont', sans-serif; transition: border-color 0.2s, box-shadow 0.2s; }
.barra-pesquisa input[type="text"]:focus { border-color: var(--cor-principal); box-shadow: 0 0 0 3px color-mix(in srgb, var(--cor-principal) 25%, transparent); }

/* CATÁLOGO E PRODUTOS */
.container-catalogo { max-width: 1100px; margin: 2.5rem auto; padding: 2rem 1.5rem; background-color: #fff; border-radius: 12px; box-shadow: 0 8px 25px rgba(44,62,80,0.07); }
.categoria-titulo { background-color: var(--cor-principal); color: white; padding: 0.9rem 1.5rem; margin-bottom: 1.8rem; border-radius: 8px; font-size: 1.7rem; font-weight: bold; text-align: center; scroll-margin-top: calc(var(--header-altura, 60px) + var(--barra-pesquisa-altura-fixa, 70px) + 20px); }
.categoria-container + .categoria-container .categoria-titulo { margin-top: 3rem; }
.produtos-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 1.5rem; }
.produto { border: 1px solid #e9ecef; background-color: #fff; border-radius: 8px; overflow: hidden; transition: box-shadow 0.25s ease, transform 0.25s ease; display: flex; flex-direction: column; }
.produto:hover { box-shadow: 0 10px 20px rgba(44,62,80,0.1); transform: translateY(-4px); }
.produto-imagem-container { width: 100%; padding-top: 70%; position: relative; overflow: hidden; background-color: #f8f9fa; }
.produto img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; transition: transform 0.3s ease; }
.produto:hover img { transform: scale(1.03); }
.produto-info { padding: 1rem 1.1rem; flex-grow: 1; display: flex; flex-direction: column; }
.produto h3.nome-produto { margin-top: 0; margin-bottom: 0.4rem; color: var(--cor-secundaria); font-size: 1.15rem; font-weight: bold; line-height: 1.3; }
.produto h3 .marca { font-size: 0.75em; color: #6b7280; font-weight: normal; display: block; margin-top: 0.1rem; }
.produto p.descricao-produto { font-size: 0.85rem; color: #4b5563; margin-bottom: 0.8rem; line-height: 1.5; }
.produto p.produto-detalhe { font-size: 0.8rem; color: #525f7f; margin-bottom: 0.5rem; line-height: 1.4; }
.produto p.produto-detalhe strong { color: #343a40; font-weight: 600; }
.produto .variacoes { background-color: #f8f9fa; border: 1px solid #e9ecef; padding: 0.4rem 0.7rem; font-size: 0.78rem; color: #374151; border-radius: 4px; margin-top: 0.5rem; text-align: center; align-self: flex-start; }
.produto.hidden { display: none; }

/* BOTÕES DE AÇÃO NO PRODUTO */
.produto-acoes { padding: 1rem 1.1rem; margin-top: auto; border-top: 1px solid #f0f2f5; display: flex; flex-direction: column; gap: 0.75rem; }
.btn-produto { width: 100%; padding: 0.7rem 0.8rem; border: 1px solid transparent; border-radius: 6px; font-size: 0.88rem; font-weight: 600; cursor: pointer; text-align: center; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 0.6em; transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.1s ease; line-height: 1.3; }
.btn-produto:active { transform: scale(0.97); }
.btn-add-carrinho { background-color: var(--cor-secundaria); color: white; border-color: var(--cor-secundaria); }
.btn-add-carrinho:hover { background-color: color-mix(in srgb, var(--cor-secundaria) 85%, black); border-color: color-mix(in srgb, var(--cor-secundaria) 85%, black); }
.btn-whatsapp-individual { background-color: #25D366; color: white; border-color: #25D366; }
.btn-whatsapp-individual:hover { background-color: color-mix(in srgb, #25D366 85%, black); border-color: color-mix(in srgb, #25D366 85%, black); }

@media (min-width: 400px) and (max-width: 767px) {
    .produto-acoes { flex-direction: row; justify-content: space-between; }
    .btn-produto { flex-basis: calc(50% - 0.375rem); }
}
@media (min-width: 1000px) {
     .produtos-lista.grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
     .produto-acoes { flex-direction: row; justify-content: space-between; }
    .btn-produto { flex-basis: calc(50% - 0.375rem); }
}

/* CARRINHO DE ORÇAMENTO FIXO */
.carrinho-orcamento-fixo { position: fixed; bottom: 0; left: 0; width: 100%; background-color: #fff; box-shadow: 0 -5px 20px rgba(0, 0, 0, 0.12); z-index: 1005; border-top-left-radius: 16px; border-top-right-radius: 16px; max-height: 65vh; display: flex; flex-direction: column; transform: translateY(100%); opacity: 0; visibility: hidden; transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.3s ease, visibility 0.3s; }
.carrinho-orcamento-fixo.dragging { transition: none; /* Desabilita transição durante o arrasto */ }
.carrinho-orcamento-fixo.existe { visibility: visible; opacity: 1; }
.carrinho-orcamento-fixo.existe.visivel { transform: translateY(calc(100% - var(--carrinho-header-altura, 50px))); }
.carrinho-orcamento-fixo.existe.aberto { transform: translateY(0); }

.carrinho-header { display: flex; justify-content: space-between; align-items: center; padding: 0.9rem 1.3rem; background-color: var(--cor-principal); color: white; cursor: grab; /* Indica que é arrastável */ border-top-left-radius: 16px; border-top-right-radius: 16px; touch-action: none; /* Para evitar scroll da página ao arrastar no touch */ }
.carrinho-header:active { cursor: grabbing; }
.carrinho-header h3 { margin: 0; font-size: 1.05rem; font-weight: 600; pointer-events: none; /* Para não interferir no drag */ }
.carrinho-header h3 .fas { margin-right: 0.6em; }
.toggle-carrinho-btn { background: none; border: none; color: white; font-size: 1.2rem; cursor: pointer; transition: transform 0.3s ease; padding: 0.3rem; line-height: 1;}
.toggle-carrinho-btn .fas { transition: transform 0.3s ease-in-out; }
.carrinho-orcamento-fixo.aberto .toggle-carrinho-btn .fa-chevron-up { transform: rotate(180deg); }
.carrinho-orcamento-fixo:not(.aberto) .toggle-carrinho-btn .fa-chevron-down { transform: rotate(180deg); }

.carrinho-corpo { padding: 1rem; overflow-y: auto; flex-grow: 1; background-color: #fdfdfd; display: none; flex-direction: column; }
.carrinho-orcamento-fixo.aberto .carrinho-corpo { display: flex; }
#lista-itens-carrinho { margin-bottom: 1rem; flex-grow: 1; }
.item-carrinho { display: flex; align-items: center; padding: 0.7rem 0.2rem; border-bottom: 1px solid #f0f2f5; gap: 0.8rem;}
.item-carrinho:last-child { border-bottom: none; }
.item-carrinho img, .item-carrinho-sem-img { width: 45px; height: 45px; object-fit: contain; border-radius: 4px; background-color: #fff; padding:2px; border: 1px solid #eee; flex-shrink: 0;}
.item-carrinho-info { flex-grow: 1; display: flex; flex-direction: column; gap: 0.3rem;}
.item-carrinho-info .nome { font-size: 0.88rem; font-weight: 600; color: #343a40; display: block; }
.item-carrinho-info .marca { font-size: 0.73rem; color: #6c757d; display: block; }
.item-carrinho-quantidade { display: flex; align-items: center; margin-top: 0.3rem; }
.btn-qtd { background-color: #e9ecef; color: #495057; border: 1px solid #ced4da; width: 28px; height: 28px; font-size: 0.9rem; font-weight: bold; cursor: pointer; border-radius: 4px; display: flex; align-items: center; justify-content: center; transition: background-color 0.15s ease, border-color 0.15s ease; }
.btn-qtd:hover { background-color: #dee2e6; border-color: #adb5bd; }
.input-qtd { width: 40px; height: 28px; text-align: center; border: 1px solid #ced4da; margin: 0 0.3rem; border-radius: 4px; font-size: 0.9rem; -moz-appearance: textfield; }
.input-qtd::-webkit-outer-spin-button, .input-qtd::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.btn-remover-item-carrinho { background: none; border: none; color: #e74c3c; font-size: 1.1rem; cursor: pointer; margin-left: 0.5rem; padding: 0.3rem; line-height: 1; transition: color 0.2s; }
.btn-remover-item-carrinho:hover { color: #c0392b; }
.carrinho-vazio-msg { text-align: center; color: #6c757d; padding: 1.5rem 0; font-style: italic; font-size:0.9rem; }
.carrinho-acoes { padding-top: 1rem; border-top: 1px solid #e9ecef; display: none; flex-direction: column; gap: 0.75rem; }
.carrinho-acoes.tem-itens { display: flex; }
.btn-carrinho-acao { padding: 0.75rem 1rem; border: none; border-radius: 6px; font-size: 0.9rem; font-weight: 600; cursor: pointer; text-align: center; transition: background-color 0.2s ease, transform 0.1s ease; display: flex; align-items: center; justify-content: center; gap: 0.6em; line-height: 1.3; }
.btn-carrinho-acao:active { transform: scale(0.98); }
.btn-carrinho-acao.limpar { background-color: #e74c3c; color: white; }
.btn-carrinho-acao.limpar:hover { background-color: #c0392b; }
.btn-carrinho-acao.whatsapp { background-color: #25D366; color: white; }
.btn-carrinho-acao.whatsapp:hover { background-color: #1DA851; }
.btn-carrinho-acao.contato { background-color: var(--cor-secundaria); color: white; }
.btn-carrinho-acao.contato:hover { background-color: color-mix(in srgb, var(--cor-secundaria) 85%, black); }

@media (min-width: 768px) {
    .carrinho-acoes { flex-direction: row; justify-content: space-between; }
    .btn-carrinho-acao { flex-grow: 1; margin: 0 0.25rem; }
    .btn-carrinho-acao:first-child { margin-left: 0; }
    .btn-carrinho-acao:last-child { margin-right: 0; }
}

/* MODAIS */
.modal-orcamento { display: none; position: fixed; z-index: 2000; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.6); align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; }
.modal-orcamento.aberto { display: flex; opacity: 1; visibility: visible; }
.modal-conteudo { background-color: #fff; margin: auto; padding: 25px 30px; border-radius: 10px; box-shadow: 0 5px 20px rgba(0,0,0,0.2); width: 90%; max-width: 500px; position: relative; transform: scale(0.95); transition: transform 0.3s ease; }
.modal-orcamento.aberto .modal-conteudo { transform: scale(1); }
.fechar-modal { color: #aaa; position: absolute; top: 10px; right: 15px; font-size: 28px; font-weight: bold; cursor: pointer; line-height: 1; }
.fechar-modal:hover, .fechar-modal:focus { color: #333; text-decoration: none; }
.modal-conteudo h3 { margin-top: 0; margin-bottom: 1rem; color: var(--cor-principal); font-size: 1.5rem; text-align: center; }
.modal-conteudo p { margin-bottom: 1.5rem; font-size: 0.95rem; color: #555; text-align: center; }
.form-grupo { margin-bottom: 1.2rem; }
.form-grupo label { display: block; margin-bottom: 0.4rem; font-weight: 600; font-size: 0.9rem; color: #444; }
.form-grupo input[type="text"], .form-grupo input[type="email"], .form-grupo input[type="tel"] { width: 100%; padding: 0.7rem 0.8rem; border: 1px solid #ccc; border-radius: 6px; font-size: 0.95rem; font-family: 'Mont', sans-serif; }
.form-grupo input[type="text"]:focus, .form-grupo input[type="email"]:focus, .form-grupo input[type="tel"]:focus { border-color: var(--cor-principal); outline: none; box-shadow: 0 0 0 2px color-mix(in srgb, var(--cor-principal) 20%, transparent); }
.form-grupo h4 { font-size: 1rem; font-weight: 600; color: #333; margin-bottom: 0.5rem; border-top: 1px solid #eee; padding-top: 1rem; }
#modal-lista-itens { list-style: none; padding-left: 0; max-height: 150px; overflow-y: auto; font-size: 0.85rem; background-color: #f9f9f9; padding: 0.5rem; border-radius: 4px; }
#modal-lista-itens li { padding: 0.3rem 0; border-bottom: 1px dotted #eee; }
#modal-lista-itens li:last-child { border-bottom: none; }
.btn-modal-enviar { background-color: var(--cor-secundaria); color: white; padding: 0.8rem 1.5rem; border: none; border-radius: 6px; font-size: 1rem; font-weight: 600; cursor: pointer; display: block; width: 100%; transition: background-color 0.2s; }
.btn-modal-enviar:hover { background-color: color-mix(in srgb, var(--cor-secundaria) 85%, black); }
.modal-feedback { margin-top: 1rem; text-align: center; font-weight: 600; }
.modal-feedback.sucesso { color: #27ae60; } .modal-feedback.erro { color: #e74c3c; }

/* Modal de Confirmação - Ações */
.modal-acoes-confirmacao { display: flex; justify-content: space-around; margin-top: 1.5rem; gap: 1rem; }
.btn-modal-acao { padding: 0.7rem 1.2rem; border: none; border-radius: 6px; font-size: 0.95rem; font-weight: 600; cursor: pointer; transition: background-color 0.2s, transform 0.1s; flex-grow: 1; }
.btn-modal-acao:active { transform: scale(0.98); }
.btn-modal-acao.confirmar { background-color: var(--cor-principal); color: white; }
.btn-modal-acao.confirmar:hover { background-color: color-mix(in srgb, var(--cor-principal) 85%, black); }
.btn-modal-acao.cancelar { background-color: #6c757d; color: white; }
.btn-modal-acao.cancelar:hover { background-color: #5a6268; }


/* MENSAGENS E FOOTER */
.mensagem-aviso, .mensagem-erro { text-align: center; padding: 2rem; font-size: 1.1rem; font-weight: 600; }
.mensagem-erro { color: #ef4444; } .mensagem-aviso { color: #6b7280; }
.site-footer-bottom { text-align: center; padding: 1.5rem; background-color: #2c3e50; color: #e5e7eb; font-size: 0.9rem; margin-top: 3rem; }

/* RESPONSIVIDADE */
@media (max-width: 992px) {
    .hero-title-v4 { font-size: 2.5rem; }
    .hero-subtitle-v4 { font-size: 1.2rem; }
    .nossa-loja-info-v3 h2 { font-size: 1.75rem; }
    .produtos-lista { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
}
@media (max-width: 767px) {
    html { font-size: 15px; }
    .site-header { padding: 0.7rem 1rem; text-align: center; }
    .header-container { justify-content: center; }
    .logo-faciclean { max-height: 36px; }
    .hero-section-v4 { padding: 2.5rem 1rem 3.5rem 1rem; }
    .hero-title-v4 { font-size: 1.8rem; }
    .hero-subtitle-v4 { font-size: 1.05rem; }
    .hero-cta-v4 { padding: 0.6rem 1.3rem; font-size: 0.9rem; }
    .nossa-loja-section-v3 { padding: 2.5rem 1rem; }
    .nossa-loja-container-v3 { flex-direction: column; gap: 2rem; }
    .nossa-loja-imagem-v3 { order: 1; max-width: 400px; margin: 0 auto; }
    .nossa-loja-info-v3 { order: 2; text-align: center; }
    .nossa-loja-info-v3 h2 { font-size: 1.6rem; }
    .nossa-loja-info-v3 .info-item-v3 { justify-content: center; text-align: left; }
    .loja-contato-botoes { justify-content: center; flex-direction: column; align-items: center; }
    .info-cta-button, .info-link-button { margin-right: 0; width: 90%; max-width: 280px; justify-content: center; }
    .tags-categorias-container-v2 h3 { font-size: 1.3rem; }
    .tags-wrapper, .tags-wrapper-oculto.visivel { gap: 0.4rem 0.6rem; }
    .tag-categoria { padding: 0.4rem 0.8rem; font-size: 0.8rem; }
    .btn-ver-mais-tags { font-size: 0.9rem; padding: 0.4rem 0.8rem;}
    .carrinho-orcamento-fixo { max-height: 60vh; border-top-left-radius: 12px; border-top-right-radius: 12px; }
    .carrinho-header { padding: 0.8rem 1.1rem; }
    .carrinho-header h3 { font-size: 1rem; }
    .toggle-carrinho-btn { font-size: 1.1rem; }
    .carrinho-corpo { padding: 0.8rem; }
    .modal-conteudo { padding: 20px; width: 95%; }
    .modal-conteudo h3 { font-size: 1.3rem; }
    .modal-conteudo p { font-size: 0.9rem; }
    .form-grupo input[type="text"], .form-grupo input[type="email"], .form-grupo input[type="tel"] { padding: 0.6rem; font-size: 0.9rem; }
    .btn-modal-enviar { padding: 0.7rem; font-size: 0.95rem; }
    .produtos-lista { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem;}
    .produto-acoes { flex-direction: column; }
    .btn-produto { flex-basis: auto; width: 100%; }
}
@media (max-width: 480px) {
    .hero-title-v4 { font-size: 1.7rem; }
    .hero-subtitle-v4 { font-size: 0.95rem; }
    .hero-cta-container-v4 { flex-direction: column; align-items: center; gap: 0.7rem; }
    .hero-cta-v4 { width: 100%; max-width:280px; text-align: center; justify-content: center;}
    .nossa-loja-info-v3 h2 { font-size: 1.5rem; }
    .produtos-lista { grid-template-columns: 1fr; }
}

/* ESTILOS DE IMPRESSÃO */
@media print {
    body { font-size: 10pt; color: #000 !important; background-color: #fff !important; padding-top: 0 !important; }
    .site-header, .hero-section-v4, .nossa-loja-section-v3, .carrinho-orcamento-fixo, .modal-orcamento,
    .tags-categorias-container-v2, .barra-pesquisa-wrapper, .barra-pesquisa,
    .site-footer-bottom, .nao-imprimir { display: none !important; }
    main { flex-grow: unset; }
    .container-catalogo { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
    .categoria-titulo { background-color: #eaeaea !important; color: #000 !important; border: 1px solid #ccc !important; padding: 8px !important; margin-bottom: 10px !important; font-size: 14pt !important; text-align: left !important; -webkit-print-color-adjust: exact; color-adjust: exact; }
    .produtos-lista { display: block !important; }
    .produto { border: 1px solid #ccc !important; padding: 10px !important; margin-bottom: 10px !important; box-shadow: none !important; transform: none !important; page-break-inside: avoid !important; display: block !important; }
    .produto-imagem-container { display: none !important; }
    .produto-info { padding: 0 !important; }
    .produto h3.nome-produto { font-size: 12pt !important; color: #000 !important; margin-bottom: 5px !important; }
    .produto h3 .marca { display: inline !important; font-size:0.9em !important; }
    .produto p.descricao-produto, .produto p.produto-detalhe { font-size: 9pt !important; margin-bottom: 5px !important; -webkit-line-clamp: unset !important; }
    .produto .variacoes { font-size: 8pt !important; padding: 3px 5px !important; background-color: #f0f0f0 !important; border: 1px solid #ddd !important; -webkit-print-color-adjust: exact; color-adjust: exact; }
    .produto-acoes { display: none !important; }
}