:root {
    --primary-brown: #8c7264;
    --dark-brown: #4a3f35;
    --bg-cream: #fdfaf7;
    --soft-brown: #d4c3b5;
}

body {
    font-family: 'Montserrat', sans-serif;
    background-color: var(--bg-cream);
    color: var(--dark-brown);
    overflow-x: hidden;
}

.font-serif { font-family: 'Playfair Display', serif; }

/* Estilo da barra de menu ativa */
.nav-link.active::after {
    transform: scaleX(1);
}
.nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--primary-brown);
    transform: scaleX(0);
    transition: transform 0.3s ease;
    transform-origin: left;
}

/* Máscara de transparência do carrossel */
.carousel-mask {
    mask-image: linear-gradient(to right, black 80%, transparent 100%);
    -webkit-mask-image: linear-gradient(to right, black 80%, transparent 100%);
}
@media (min-width: 768px) {
    .carousel-mask {
        mask-image: linear-gradient(to right, black 82%, transparent 100%);
        -webkit-mask-image: linear-gradient(to right, black 82%, transparent 100%);
    }
}

/* Cursor de arraste */
.cursor-grab { cursor: grab; }
.cursor-grabbing { cursor: grabbing; }

/* Estilo customizado para botões de depoimento */
.btn-nav:active {
    background-color: var(--primary-brown) !important;
    color: white !important;
    transform: translateY(-50%) !important;
}

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Pattern de folhas para o fundo do contato */
.leaf-pattern {
    background-color: #fdfaf7;
    background-image: url("data:image/svg+xml,%3Csvg width='300' height='300' viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M150,50 C180,100 180,150 150,200 C120,150 120,100 150,50' fill='%238c7264' opacity='0.04' transform='translate(20, 20) rotate(-15)'/%3E%3Cpath d='M150,50 C180,100 180,150 150,200 C120,150 120,100 150,50' fill='%238c7264' opacity='0.04' transform='translate(180, 140) rotate(45) scale(0.7)'/%3E%3C/svg%3E");
}

@media (max-width: 768px) {
  #inicio {
     background-position: 70% center;
  }
  .transparency-mobile-banner {
    background-color: rgb(253 250 247 / 0.8) !important;
  }
}