a {
    color          : #7e028a;
    text-decoration: none;
    transition     : 0.2s ease-in-out color;
}

a:active,
a:focus {
    color: #E0428A;
}

/* Fontes
============================================================== */

.poppins-light {
    font-family: "Poppins", sans-serif;
    font-weight: 300;
    font-style : normal;
}

.poppins-bold {
    font-family: "Poppins", sans-serif;
    font-weight: 700;
    font-style : normal;
}

/* Cabeçalho
============================================================== */
header.cabecalho {
    background-color: #3A003F;
}

header.cabecalho .logomarca {
    display: inline-block;
    width  : 80px;
}

/* base existente (seu tema) */
nav.navbar {
    background-color: #E0428A;
}

nav.navbar .navbar-nav .nav-item .nav-link {
    font-family   : "Poppins", sans-serif;
    font-weight   : 700;
    text-transform: uppercase;
    color         : rgba(255, 255, 255, 0.8);
    transition    : color 0.25s ease;
}

nav.navbar .navbar-nav .nav-item:hover .nav-link {
    color: rgba(255, 255, 255, 1);
}

@media (min-width: 768px) {

    /* comportamento padrão dos dropdowns (pequenos) — animação cima->baixo */
    .navbar .dropdown-menu {
        display         : block;
        opacity         : 0;
        visibility      : hidden;
        transform       : translateY(-12px);
        transition      : opacity 0.28s ease, transform 0.28s ease;
        border          : none;
        background-color: #fff;
        box-shadow      : 0 6px 18px rgba(0, 0, 0, 0.12);
    }

    .navbar .nav-item.dropdown:hover>.dropdown-menu {
        opacity   : 1;
        visibility: visible;
        transform : translateY(0);
    }

    .navbar .megamenu {
        position: static !important;
    }

    .navbar .megamenu .dropdown-menu {
        left            : 0;
        right           : 0;
        padding         : 0;
        background-color: transparent;
        box-shadow      : none;
    }
}


.dptos ul {
    list-style: none;
    margin    : 0;
    padding   : 0;
    position  : relative;
}

.dptos ul ul {
    margin-left: .4em;
}

.dptos ul ul li {
    margin  : 0;
    padding : 0 .7em;
    position: relative;
}

.dptos ul ul li:before {
    content   : "";
    display   : block;
    width     : 7px;
    /* same with indentation */
    height    : 0;
    border-top: 1px solid #00C853;
    margin-top: -1px;
    /* border top width */
    position  : absolute;
    top       : 0.9em;
    /* (line-height/2) */
    left      : 0;
}

.dptos ul ul li:last-child:before {
    background: white;
    /* same with body background */
    height    : auto;
    top       : 0.9em;
    /* (line-height/2) */
    bottom    : 0;
}

.dptos ul ul:before {
    content    : "";
    display    : block;
    width      : 0;
    position   : absolute;
    top        : 0;
    bottom     : 0;
    left       : 0;
    border-left: 1px solid #00C853;
}

.dptos ul li a {
    font-size      : 9pt;
    color          : #0F0F1E;
    text-decoration: none;
    transition     : 0.2s ease-in-out color;
}

.dptos ul li a:hover {
    text-decoration: none;
    color          : #E0428A;
}

.dptos>ul>li>a {
    text-transform: uppercase;
    font-weight   : bolder;
    color         : #3A003F;
}


/* Páginas
============================================================== */

/* Titulo das páginas */

.titulo {
    padding-top   : 60px;
    padding-bottom: 30px;
}

.titulo h1 {
    color         : #3A003F;
    font-family   : "Poppins", sans-serif;
    font-weight   : 700;
    font-style    : normal;
    text-transform: uppercase;
    margin        : 0;
}

.titulo .lead {
    color: #E0428A;
}

.titulo h1 i {
    color       : #00C853;
    margin-right: 15px;
}

/* Botões */
.btn-lamalu {
    background-color: #3A003F;
    color           : #ffffff;
    font-family     : "Poppins", sans-serif;
    font-weight     : 700;
    font-style      : normal;
    text-transform  : uppercase;
    position        : relative;
    padding-left    : 60px;
    /* Espaço para o ícone */
    display         : flex;
    align-items     : center;
    word-break      : break-all;
}

.btn-lamalu.btn-lg {
    padding-left: 90px;
    /* Espaço para o ícone */
}

.btn-lamalu i {
    color           : #00C853;
    font-weight     : normal;
    font-size       : 1.5em;
    background-color: rgba(0, 0, 0, .3);
    position        : absolute;
    display         : flex;
    align-items     : center;
    /* Alinha verticalmente o ícone */
    justify-content : center;
    /* Centraliza horizontalmente */
    height          : 100%;
    width           : 50px;
    /* largura fixa para o fundo do ícone */
    left            : 0;
    top             : 0;
}

.btn-lamalu.btn-lg i {
    width: 70px;
    /* largura fixa para o fundo do ícone */
}

.btn-lamalu small {
    font-weight   : normal;
    text-transform: none;
    display       : block;
    color         : #E0428A;
}

.btn-lamalu:hover {
    background-color: #E0428A;
    color           : #3A003F;
}

.btn-lamalu:hover small {
    color: #3A003F;
}

/* Galeria de imagens */

/* Garante que o container da galeria tenha altura e flexbox */
.gallery-wrapper {
    display: flex;
    height : 500px;
    /* Ajuste a altura conforme necessário */
    gap    : 10px;
    width  : 100%;
}

/* Coluna dos Thumbs (Esquerda) */
.gallery-product-thumbs {
    width     : 100px;
    /* Largura fixa */
    height    : 100%;
    box-sizing: border-box;
    overflow  : hidden;
}

/* Thumbs individuais */
.gallery-product-thumbs .swiper-slide {
    height    : 100px !important;
    /* Altura fixa do thumb */
    width     : 100% !important;
    opacity   : 0.6;
    transition: opacity 0.3s;
    cursor    : pointer;
}

.gallery-product-thumbs .swiper-slide-thumb-active {
    opacity      : 1;
    border       : 2px solid #0d6efd;
    /* Azul destaque */
    border-radius: 4px;
}

/* Galeria Principal (Direita) */
.gallery-product {
    flex  : 1;
    /* Ocupa o resto do espaço */
    height: 100%;
    width : 0;
    /* Hack para flexbox funcionar bem com Swiper */
}

.gallery-product .swiper-slide img {
    width     : 100%;
    height    : 100%;
    object-fit: contain;
    /* ou cover, dependendo do gosto */
}

/* Formulário de Contato */
#frm_contato #txt_msn_contato {
    height: 260px;
}

/* Mapa de localização */
#map {
    height       : 500px;
    border-radius: 5px;
    margin-bottom: 30px;
}

/* Rodapé
============================================================== */
.barra-contato {
    position      : fixed;
    top           : 50%;
    transform     : translateY(-50%);
    right         : calc((100vw - 1140px)/2 - 150px);
    /* alinhado ao lado do container */
    display       : flex;
    flex-direction: column;
    gap           : 10px;
    z-index       : 1050;
}

.barra-contato a {
    width           : 50px;
    height          : 50px;
    background-color: #25d366;
    /* WhatsApp verde como base */
    color           : white;
    border-radius   : 50%;
    display         : flex;
    justify-content : center;
    align-items     : center;
    font-size       : 22px;
    text-decoration : none;
    box-shadow      : 0 0 5px rgba(0, 0, 0, 0.2);
    transition      : all 0.3s ease;
}

.barra-contato a.telegram {
    background-color: #0088cc;
}

.barra-contato a.messenger {
    background-color: #006AFF;
}

.barra-contato a:hover {
    transform: scale(1.1);
}

@media (max-width: 1200px) {
    .barra-contato {
        right: 10px;
    }
}

.whatsapp-popover {
    --bs-popover-border-color  : #25d366;
    --bs-popover-header-bg     : #25d366;
    --bs-popover-header-color  : var(--bs-white);
    --bs-popover-body-padding-x: 1rem;
    --bs-popover-body-padding-y: .6rem;
}

.popover-body {
    font-size: 1.3em;
}

.footer_1 {
    background: #3A003F;
    color     : var(--bs-white);
}

.footer_2 {
    background: var(--bs-black);
    color     : var(--bs-white);
}

.footer_1 h6 {
    color    : #E0428A;
    font-size: 18pt;
}

.menus {
    list-style: none;
    margin    : 0;
    padding   : 0;
}

.menus li a {
    text-decoration: none;
    color          : var(--bs-white);
}

.menus li a:hover {
    color: #E0428A;
}

.footer_1 i,
.menus li a i {
    color: #00C853;
}

.menus.midias li {
    display: inline-block;
}

.menus.midias li a i {
    font-size: 28pt;
    color    : var(--bs-white);
}


/* Grid de Produtos (página produtos.php)
============================================================== */

/* Card de produto com efeito hover */
.card.hover-shadow {
    transition: all 0.3s ease;
}

.card.hover-shadow:hover {
    transform : translateY(-5px);
    box-shadow: 0 10px 30px rgba(224, 66, 138, 0.2) !important;
}

.card.hover-shadow .card-img-top {
    transition: transform 0.3s ease;
    overflow  : hidden;
}

.card.hover-shadow:hover .card-img-top img {
    transform: scale(1.05);
}

.card.hover-shadow .card-title {
    color             : #3A003F;
    font-weight       : 600;
    overflow          : hidden;
    display           : -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp        : 2;
    -webkit-box-orient: vertical;
    min-height        : 50px;
}

/* Ajustes específicos após remoção do aside: grid mais ampla e imagens maiores */
.produtos-grid .card-img-top {
    height         : 260px;
    overflow       : hidden;
    display        : flex;
    align-items    : center;
    justify-content: center;
}

.produtos-grid .card-img-top img {
    width     : 100%;
    height    : 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

@media (min-width: 1200px) {
    .produtos-grid .card-img-top {
        height: 300px;
    }
}

/* Garantir boa leitura dos títulos em layout mais amplo */
.produtos-grid .card-title {
    min-height: 56px;
    /* duas linhas visíveis */
}