/* ============================================================
    VARIÁVEIS DE COR
============================================================ */
:root {
    --azul-principal: #0088FF;
    --azul-escuro: #0078E8;
    --azul-claro: #00A0FF;
    --azul-hover: #006FCC;
    --azul-fundo: #E6F3FF;

    --cinza-suave: #adb5bd;
    --cinza-industrial: #4d5154;
    --cinza-claro: #f2f2f2;
    --cinza-texto: #555;
}

/* ============================================================
    AJUSTES GERAIS
============================================================ */
body {
    padding-top: 160px; /* altura ajustada do header */
    font-family: 'Montserrat', sans-serif;
}

/* ============================================================
    HEADER FIXO
============================================================ */
.header-fixo {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    display: block !important;
}


/* O NAV NÃO PODE HERDAR FLEX DO HEADER */
.header-fixo nav {
    display: block !important;
}

/* ============================================================
    BARRA SUPERIOR
============================================================ */
.barra-topo {
    width: 100%;
    background: linear-gradient(to right, #007BFF, #00BFFF);
    color: #fff;
    font-size: 14px;
    padding: 2px 10px;
}

.conteudo-barra {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    text-align: center;
}


/* ============================================================
   BANNER PRINCIPAL
============================================================ */


.banner-responsivo {
    width: 100%;
    height: 25vw;        /* altura proporcional à largura da tela */
    min-height: 300px;   /* altura mínima */
    max-height: 480px;   /* altura máxima (igual ao banner deles) */
    background-image: url('http://localhost:8050/lojaeletrolift2026/view/img/banner2.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* CONTAINER DO CARROSSEL */
.banner-carrossel {
    position: relative;
    width: 100%;
    height: 25vw;        /* altura proporcional */
    min-height: 300px;
    max-height: 480px;   /* igual ao banner da Proesi */
    overflow: hidden;
}

/* SLIDES */
.banner-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: var(--banner-desktop);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    opacity: 0;
    transition: opacity 1s ease;
}

.banner-slide.ativo {
    opacity: 1;
}

/* INDICADORES (bolinhas) */
.banner-indicadores {
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
}

.banner-indicadores .indicador {
    width: 12px;
    height: 12px;
    background: rgba(255,255,255,0.6);
    border-radius: 50%;
    cursor: pointer;
    transition: background .3s;
}

.banner-indicadores .indicador.ativo {
    background: #fff;
}






/* ============================================================
    HEADER PRINCIPAL (LOGO + BUSCA + ÍCONES)
============================================================ */
.container-header {
    background: #fff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    padding: 8px 20px; /* altura ajustada */
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    padding-left: 60px;
    padding-right: 60px;
}

.container-header form {
    flex: 1;
    max-width: 700px;
}

.container-header .logo {
    margin-right: 55px;
}

.container-header .logo img {
    height: 80px;
}

/* ============================================================
    CAMPO DE BUSCA MODERNO COM LUPA
============================================================ */
.campo-busca {
    position: relative;
    flex: 1;
}

.campo-busca input {
    width: 100%;
    padding: 6px 50px 6px 18px; /* altura reduzida */
    border-radius: 12px;
    border: 1px solid #ccc;
    font-size: 15px;
    color: var(--cinza-texto);
    transition: 0.25s;
    background: #fff;
}

.campo-busca input:focus {
    border-color: var(--azul-principal);
    box-shadow: 0 0 0 3px rgba(0,136,255,0.15);
    outline: none;
}

.icone-lupa {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    opacity: 0.6;
    cursor: pointer;
    transition: 0.2s;
}

.icone-lupa svg {
    width: 100%;
    height: 100%;
    fill: var(--cinza-texto);
}

.icone-lupa:hover {
    opacity: 1;
}

/* ============================================================
    ÍCONES LOGIN + CARRINHO
============================================================ */
.acoes {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-right: 20px;
}

.acoes img {
    width: 32px;
    transition: 0.2s;
}

.acoes img:hover {
    transform: scale(1.15);
}

/* "bolinha" com a quantidade de itens no carrinho */
.link-carrinho {
    position: relative;
}

.badge-carrinho {
    position: absolute;
    top: -6px;
    right: -8px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ff3b30;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    border-radius: 999px;
    border: 2px solid #fff;
    box-sizing: border-box;
}

/* ============================================================
    MENU SUPERIOR
============================================================ */
.menu-eletrolift {
    background: #f2f2f2;
    width: 100%;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    font-family: 'Montserrat', sans-serif;
    /* Antes era "position: fixed; top: 120px;", um valor fixo que
       assumia sempre a mesma altura pro cabeçalho. No mobile a barra
       de cima e a área da logo/busca quebram em mais de uma linha e
       ficam mais altas, então esse menu (fixo em 120px) passava a
       flutuar por cima do resto do cabeçalho. Agora ele fica no fluxo
       normal, dentro do .header-fixo (que já é fixed), então sempre
       aparece logo abaixo do que vier antes dele, em qualquer tamanho
       de tela. */
}

/* AGORA NÃO DEPENDE MAIS DO .container DO BOOTSTRAP */
.menu-eletrolift-container {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    white-space: nowrap;
    gap: 25px;
    padding: 2px 20px;
    box-sizing: border-box;
}

.menu-eletrolift a {
    display: inline-block;
    white-space: nowrap;
    flex-shrink: 0;
    font-weight: 100;
    font-size: 15px;
    color: #000000;
    text-decoration: none;
    padding: 8px 14px;
    transition: background 0.4s, color 0.4s;
    border-radius: 6px;
}

/* ============================================================
    BOTÃO HAMBÚRGUER (SÓ APARECE NO MOBILE, ver media query)
============================================================ */
.menu-hamburguer {
    display: none;
    align-items: center;
    gap: 12px;
    width: 100%;
    background: none;
    border: none;
    padding: 10px 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    cursor: pointer;
    text-align: left;
}

.menu-hamburguer-riscos,
.menu-hamburguer-riscos::before,
.menu-hamburguer-riscos::after {
    content: "";
    display: block;
    width: 22px;
    height: 2px;
    background: #333;
    border-radius: 2px;
}

.menu-hamburguer-riscos {
    position: relative;
}

.menu-hamburguer-riscos::before {
    position: absolute;
    top: -7px;
}

.menu-hamburguer-riscos::after {
    position: absolute;
    top: 7px;
}

.menu-fechar {
    display: none;
}

/* fundo escurecido atrás do menu, quando aberto no mobile */
.menu-overlay {
    display: none;
}

.menu-eletrolift a:hover {
    background: #0078E8;
    color: #fff;
}



/* ============================================================
    TÍTULO DE CATEGORIA
============================================================ */
.categoria-titulo {
    font-size: 22px;
    font-weight: 700;
    padding: 2px 22px;
    color: #333;

    border-radius: 2px;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
    margin-top: 10px;
}



/* cores individuais */
.cat-promocao {
    background: linear-gradient(90deg, #ffcc0b 0%, #fff2b3 100%);
    border-left: 6px solid black;
}

.cat-empilhadeiras {
    background: linear-gradient(90deg, #00A0FF 0%, #33B8FF 40%, #99DDFF 100%);
    border-left: 6px solid black;
}

.cat-carregadores { background: #0078E8; border-left: 6px solid darkorange; }    /* azul */
.cat-instrumentos { background: #4CAF50; border-left: 6px solid darkorange; }    /* verde */

/* ============================================================
    CARROSSEL
============================================================ */
.carrossel-wrapper {
    position: relative;
    width: 100%;
    padding: 0 40px;
}

.carrossel {
    display: flex;
    gap: 30px;
    overflow-x: hidden;
    scroll-behavior: smooth;
    padding: 20px 0;
}

.carrossel-item {
    flex: 0 0 260px;
}

@media (max-width: 768px) {
    .carrossel-item {
        flex: 0 0 260px;
    }
}

/* ============================================================
    CARD DE PRODUTO
============================================================ */
.card-produto {
    width: 100%;
    border: 1px solid #eee;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
    transition: 0.3s;
    text-decoration: none !important;
}


.card-produto:hover {
    transform: scale(1.03);
    box-shadow: 0 6px 15px rgba(0,0,0,0.15);
}

.card-produto img {
    width: 100%;
    height: 230px;
    object-fit: contain;
    background: #fff;
}

.card-produto .titulo {
    font-size: 16px;
    font-weight: 600;
    padding: 10px;
    height: 55px;
    overflow: hidden;
}


.link-produto {
    text-decoration: none !important;
    color: inherit !important;
    display: block;          /* garante clique no card inteiro */
}
.link-produto:visited,
.link-produto:hover,
.link-produto:active,
.link-produto:focus {
    text-decoration: none !important;
    color: inherit !important;
}






/* ============================================================
    PREÇOS
============================================================ */
.preco-bloco {
    padding: 0 10px 10px;
    text-align: left;
}

.preco-de {
    font-size: 14px;
    color: #888;
    text-decoration: line-through;
}

.preco-valor {
    font-size: 26px;
    font-weight: 700;
    color: var(--azul-principal);
    text-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

.preco-avista {
    font-size: 13px;
    color: var(--azul-principal);
    font-weight: 600;
}

.preco-parcelado {
    font-size: 13px;
    color: #555;
}

.preco-parcelado strong {
    color: var(--azul-principal);
}

/* ============================================================
    BOTÃO COMPRAR
============================================================ */
.btn-comprar {
    background: #fff;
    color: var(--azul-principal);
    width: 80%;
    margin: 12px auto 18px;
    padding: 12px;
    border-radius: 12px;
    border: 2px solid var(--azul-principal);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: block;
    text-align: center;
    transition: 0.25s;
}

.btn-comprar:hover {
    background: var(--azul-principal);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.btn-comprar:active {
    transform: scale(0.97);
}

.botao-indisponivel {
    background: #c6acae;
    color: #fff;
    width: 80%;
    margin: 12px auto 18px;
    padding: 12px;
    border-radius: 12px;

    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: block;
    text-align: center;
    transition: 0.25s;
}

/* ============================================================
    SETAS DO CARROSSEL
============================================================ */
.seta {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #fff;
    border-radius: 50%;
    width: 48px;
    height: 48px;
    border: none;
    box-shadow: 0 2px 5px rgba(0,0,0,0.3);
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}

.seta:hover {
    background: #f2f2f2;
}

.seta-esq {
    left: 10px;
}

.seta-dir {
    right: 10px;
}

/* ============================================================
    RODAPÉ PREMIUM
============================================================ */
.rodape {
    background: linear-gradient(90deg, #0078E8, #0088FF);
    color: #fff;
    padding: 40px 60px 20px;
    margin-top: 60px;
    font-size: 14px;
}

.rodape-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 40px;
}

.rodape-col {
    flex: 1;
    min-width: 220px;
}

.rodape-col h3 {
    font-size: 18px;
    margin-bottom: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

/* ÍCONES DO RODAPÉ — NOVA CLASSE */
.rodape-icone {
    width: 20px;
    height: 20px;
    fill: #fff;
    flex-shrink: 0;
}

.rodape-col ul {
    list-style: none;
    padding: 0;
}

.rodape-col li {
    margin-bottom: 8px;
    font-size: 14px;
}

.rodape-col a {
    color: #fff;
    text-decoration: none;
    transition: 0.2s;
    font-size: 14px;

}

.rodape-col a:hover {
    transform: translateX(4px);
}

.rodape-copy {
    text-align: center;
    margin-top: 40px;
    font-size: 10px;
}




/* ============================================================
    LISTAGEM DE PRODUTOS
============================================================ */

/* GRID DE PRODUTOS */

.lista-produtos {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 25px;
    padding: 10px;
}
/* ============================================================
    PAGINAS DO RODAPE
============================================================ */
/* CONTAINER PADRÃO DAS PÁGINAS INSTITUCIONAIS */
.pagina-institucional {
    max-width: 900px;
    margin: 40px auto;
    padding: 20px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.05);
}

/* TÍTULOS */
.pagina-institucional h3,
.pagina-institucional h2,
.pagina-institucional h1 {
    font-size: 26px;
    margin-bottom: 20px;
    color: #333;
    font-weight: 600;
}

/* PARÁGRAFOS */
.pagina-institucional p {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 15px;
    color: #444;
}

/* LISTAS */
.pagina-institucional ul {
    margin: 15px 0;
    padding-left: 20px;
}

.pagina-institucional ul li {
    margin-bottom: 8px;
    font-size: 16px;
}

/* LINKS */
.pagina-institucional a {
    color: #007bff;
    text-decoration: underline;
}

.pagina-institucional a:hover {
    color: #0056b3;
}




.faixa-desconto {
    background: #FF6A00;
    color: #fff;
    font-weight: bold;
    font-size: 14px;
    padding: 5px 10px;
    text-align: center;
    border-radius: 6px 6px 0 0;
    min-height: 32px; /* mantém o espaço mesmo sem texto */
}


/* Quando tiver desconto */
.faixa-laranja {
    background: #ff7a00; /* laranja */
}

/* Quando NÃO tiver desconto */
.faixa-azul {
    /*background: #007bff; /* azul padrão do site */
    background: #fff;
}



/* ============================================================
    MARCA DAGUA NAS IMAGENS DOS PRODUTOS
============================================================ */

.imagem-wrapper {
    position: relative;
}

.marca-dagua {
    position: absolute;
    bottom: 15px;     /* espaço da borda inferior */
    right: 15px;      /* espaço da borda direita */
    width: 80px !important;   /* força o tamanho */
    height: auto !important;  /* mantém proporção */
    opacity: 0.30;    /* transparência */
    display: block;   /* impede herança de width */
    pointer-events: none; /* não atrapalha clique */
    z-index: 20;
}


/* ============================================================
    BREADCRUMB DAS CATEGORIAS
============================================================ */
#breadcrumb {
    text-align: left;
    padding-top: 10px;
    font-size: 12px;
    color: #444;
}

#breadcrumb a {
    color: #6c757d;
    text-decoration: none;
    font-weight: 500;
}

#breadcrumb a:hover {
    text-decoration: underline;
}

.erro {
    color: red;
    font-size: 12px;
}


/* ============================================================
    PADRÃO VISUAL DAS PÁGINAS INSTITUCIONAIS
    (Sobre, Política de Privacidade, Termos, Trocas, Pagamento, Prazo)
============================================================ */

/* HERO / BANNER DO TOPO */
.inst-hero {
    position: relative;
    width: 100%;
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
}

.inst-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,30,60,.45) 0%, rgba(0,60,120,.8) 100%);
}

/* usar esta classe extra nas páginas sem foto própria (termos, política, trocas...) */
.inst-hero.inst-hero-sem-foto {
    background-image: linear-gradient(120deg, var(--azul-escuro), var(--azul-claro)) !important;
}

.inst-hero-conteudo {
    position: relative;
    z-index: 2;
    max-width: 720px;
    padding: 20px;
}

.inst-badge {
    display: inline-block;
    background: rgba(255,255,255,0.18);
    border: 1px solid rgba(255,255,255,0.4);
    padding: 4px 14px;
    border-radius: 20px;
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.inst-hero-conteudo h1 {
    font-size: 36px;
    font-weight: 700;
    margin: 0 0 10px;
    text-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

.inst-hero-conteudo p {
    font-size: 15px;
    opacity: 0.95;
    margin: 0;
}

/* BREADCRUMB */
.inst-breadcrumb {
    max-width: 900px;
    margin: 16px auto 0;
    padding: 0 20px;
    font-size: 13px;
    color: #888;
}

.inst-breadcrumb a {
    color: var(--azul-principal);
    text-decoration: none;
}

.inst-breadcrumb a:hover {
    text-decoration: underline;
}

.inst-breadcrumb span {
    margin: 0 6px;
}

/* ESTATÍSTICAS / DESTAQUES */
.inst-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 28px;
}

.inst-stat {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--azul-fundo);
    border-radius: 10px;
    padding: 14px 16px;
}

.inst-stat-icone {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

.inst-stat-icone svg {
    width: 20px;
    height: 20px;
    fill: var(--azul-principal);
}

.inst-stat strong {
    display: block;
    font-size: 15px;
    color: #333;
    line-height: 1.2;
}

.inst-stat small {
    display: block;
    font-size: 12px;
    color: #777;
    margin-top: 2px;
}

/* GALERIA DE FOTOS */
.inst-galeria {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin: 26px 0;
}

.inst-galeria-item {
    display: block;
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.inst-galeria-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}

.inst-galeria-item:hover img {
    transform: scale(1.08);
}

/* LOCALIZAÇÃO / ENDEREÇO */
.inst-endereco {
    background: var(--cinza-claro);
    border-radius: 10px;
    padding: 22px 24px;
    margin: 26px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.inst-endereco h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 17px;
    color: #333;
    margin-bottom: 6px;
}

.inst-endereco h3 svg {
    width: 20px;
    height: 20px;
    fill: var(--azul-principal);
}

.inst-endereco p {
    margin: 0;
    color: #555;
    font-size: 14px;
}

/* BOTÕES DE AÇÃO */
.inst-cta-btn {
    display: inline-block;
    background: linear-gradient(90deg, var(--azul-escuro), var(--azul-principal));
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 14px;
    padding: 12px 26px;
    border-radius: 30px;
    white-space: nowrap;
    transition: 0.25s;
    box-shadow: 0 4px 10px rgba(0,120,232,0.25);
}

.inst-cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,120,232,0.35);
}

.inst-cta-final {
    text-align: center;
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid #eee;
}

.inst-cta-final p {
    margin-bottom: 12px;
    color: #444;
    font-weight: 600;
}

/* RESPONSIVO */
@media (max-width: 900px) {
    .inst-stats { grid-template-columns: repeat(2, 1fr); }
    .inst-galeria { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
    .inst-hero { min-height: 240px; }
    .inst-hero-conteudo h1 { font-size: 26px; }
    .inst-stats { grid-template-columns: 1fr; }
    .inst-galeria { grid-template-columns: 1fr; }
    .inst-endereco { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
    CABEÇALHO NO MOBILE
    (logo + busca + login/carrinho não cabem lado a lado numa tela
    estreita, e a barra azul de cima também precisa encolher)
============================================================ */
@media (max-width: 768px) {
    .container-header {
        flex-wrap: wrap;
        justify-content: center;
        padding: 10px 15px;
        gap: 10px;
    }

    .container-header .logo {
        margin-right: 0;
        order: 1;
    }

    .container-header .logo img {
        height: 46px;
    }

    .container-header .acoes {
        order: 2;
        margin-right: 0;
        gap: 16px;
    }

    .container-header form {
        order: 3;
        flex: 1 1 100%;
        max-width: 100%;
    }

    .barra-topo {
        font-size: 12px;
        padding: 4px 8px;
    }

    .conteudo-barra {
        gap: 10px;
    }

    /* no mobile fica só o ícone do WhatsApp, sem o texto, pra não
       forçar a barra a quebrar em várias linhas */
    .botao-whatsapp span:last-child {
        display: none;
    }

    /* na barra de cima, no celular, fica só telefone + ícone do
       WhatsApp — horário e mensagem de entrega somem pra não
       quebrar em várias linhas e tomar espaço da tela */
    .conteudo-barra span:nth-child(2),
    .conteudo-barra span:nth-child(3) {
        display: none;
    }

    /* BANNER PRINCIPAL NO MOBILE
       As imagens atuais são bem panorâmicas (1600x400px, proporção 4:1).
       No celular, a altura mínima de 300px (pensada pro desktop) obrigava
       a caixa a ficar bem mais "quadrada" que a imagem, e o background
       cover cortava quase tudo, sobrando só uma faixa do centro.
       Aqui a altura passa a seguir a proporção real da imagem (4:1),
       então o banner aparece inteiro, sem cortar texto nem logo.
       *** Se um dia trocar por banners próprios pro mobile com outra
       proporção, ajusta o valor do aspect-ratio abaixo. *** */
    .banner-carrossel,
    .banner-responsivo {
        height: auto;
        min-height: 0;
        max-height: none;
        aspect-ratio: 4 / 1;
    }

    /* usa a versão "-mobile" do banner quando ela existir
       (ver view/index.php); se não existir, cai na imagem normal */
    .banner-slide {
        background-image: var(--banner-mobile, var(--banner-desktop));
    }

    .banner-indicadores {
        bottom: 10px;
        gap: 14px;
    }

    /* aumenta a área de toque das bolinhas sem mudar o tamanho visual
       (mais fácil de acertar com o dedo) */
    .banner-indicadores .indicador {
        position: relative;
    }

    .banner-indicadores .indicador::before {
        content: "";
        position: absolute;
        inset: -10px;
    }

    /* MENU DE CATEGORIAS NO MOBILE
       Em vez da lista rolando na horizontal, agora aparece um botão
       "☰ Categorias" que abre um painel deslizando da esquerda, com a
       lista de categorias na vertical (mais fácil de ler e tocar) */
    .menu-hamburguer {
        display: flex;
    }

    .menu-eletrolift-container {
        display: flex;
        position: fixed;
        top: 0;
        left: -280px;
        width: 260px;
        max-width: 80vw;
        height: 100vh;
        flex-direction: column;
        flex-wrap: nowrap;
        overflow-x: hidden;
        overflow-y: auto;
        white-space: normal;
        background: #fff;
        gap: 0;
        padding: 60px 0 20px;
        box-shadow: 2px 0 16px rgba(0,0,0,0.25);
        transition: left 0.3s ease;
        z-index: 10001;
    }

    /* classe ligada/desligada pelo JS quando clica no botão hambúrguer */
    .menu-eletrolift-container.aberto {
        left: 0;
    }

    .menu-eletrolift a {
        width: 100%;
        font-size: 15px;
        padding: 14px 20px;
        border-radius: 0;
        border-bottom: 1px solid #eee;
    }

    .menu-fechar {
        display: block;
        position: absolute;
        top: 12px;
        right: 12px;
        width: 32px;
        height: 32px;
        border: none;
        border-radius: 50%;
        background: #f2f2f2;
        color: #333;
        font-size: 20px;
        line-height: 1;
        cursor: pointer;
    }

    .menu-overlay {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.45);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease;
        z-index: 10000;
    }

    .menu-overlay.visivel {
        opacity: 1;
        pointer-events: auto;
    }
}

@media (max-width: 420px) {
    .container-header .logo img {
        height: 40px;
    }

    .acoes img {
        width: 26px;
    }
}
