body { padding-top: 76px; }
.whatsapp-floating { position: fixed; bottom: 24px; z-index: 1030; }
.whatsapp-floating.right { right: 24px; }
.whatsapp-floating.left { left: 24px; }
.zoom-hover { overflow: hidden; }
.zoom-hover img, img.zoom-hover { transition: transform .25s ease; }
.zoom-hover:hover img, img.zoom-hover:hover { transform: scale(1.03); }
.navbar-brand-logo { width: auto; height: 40px; }
.scroll-top-btn { position: fixed; left: 24px; bottom: 96px; z-index: 1030; display: none; }
.scroll-top-btn.is-visible { display: inline-flex; }
.js-reveal { opacity: 1; transform: translateY(0); transition: opacity .4s ease, transform .4s ease; }
.js-reveal.is-visible { opacity: 1; transform: translateY(0); }
.carousel-hero { min-height: 260px; max-height: 460px; overflow: hidden; }
.carousel-hero img { height: 460px; object-fit: cover; }
@media (max-width: 991.98px) {
    .navbar-brand-logo { height: 10em; }
    .carousel-hero img { height: 280px; }
}


.product-detail-image { max-height: 560px; object-fit: cover; }
@media (min-width: 992px) {
    .product-detail-image { max-height: 520px; }
}


.footer-contact {
    margin-top: 3rem;
    color: #111;
    background-color: #f6f6f2;
    background-size: cover;
    background-position: center;
}
.footer-contact a { color: inherit; }
.footer-contact-panel {
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 1rem;
    backdrop-filter: blur(2px);
}

.footer-contact {
    min-height: 100vh;
    display: flex;
    align-items: stretch;
}
.footer-contact-inner {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.footer-map-wrap,
.footer-map-wrap iframe {
    width: 100%;
    min-height: 300px;
    border: 0;
    border-radius: 1rem;
}
.footer-socials {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.footer-social-link {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: #000;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
.footer-social-icon {
    width: 19px;
    height: 19px;
    background-color: #fff;
    display: inline-block;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
}
.footer-social-icon--instagram { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3zm11.5 1.5A1.5 1.5 0 1 1 17 7a1.5 1.5 0 0 1 1.5-1.5M12 7a5 5 0 1 1 0 10a5 5 0 0 1 0-10m0 2a3 3 0 1 0 0 6a3 3 0 0 0 0-6'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3zm11.5 1.5A1.5 1.5 0 1 1 17 7a1.5 1.5 0 0 1 1.5-1.5M12 7a5 5 0 1 1 0 10a5 5 0 0 1 0-10m0 2a3 3 0 1 0 0 6a3 3 0 0 0 0-6'/%3E%3C/svg%3E"); }
.footer-social-icon--facebook { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M13.5 8H16V4h-3a5 5 0 0 0-5 5v3H6v4h2v6h4v-6h3l1-4h-4V9a1 1 0 0 1 1-1'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M13.5 8H16V4h-3a5 5 0 0 0-5 5v3H6v4h2v6h4v-6h3l1-4h-4V9a1 1 0 0 1 1-1'/%3E%3C/svg%3E"); }
.footer-social-icon--youtube { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M23 12s0-3.5-.45-5.2a2.9 2.9 0 0 0-2.05-2C18.75 4.3 12 4.3 12 4.3s-6.75 0-8.5.5a2.9 2.9 0 0 0-2.05 2C1 8.5 1 12 1 12s0 3.5.45 5.2a2.9 2.9 0 0 0 2.05 2c1.75.5 8.5.5 8.5.5s6.75 0 8.5-.5a2.9 2.9 0 0 0 2.05-2C23 15.5 23 12 23 12m-13 3.5v-7l6 3.5z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M23 12s0-3.5-.45-5.2a2.9 2.9 0 0 0-2.05-2C18.75 4.3 12 4.3 12 4.3s-6.75 0-8.5.5a2.9 2.9 0 0 0-2.05 2C1 8.5 1 12 1 12s0 3.5.45 5.2a2.9 2.9 0 0 0 2.05 2c1.75.5 8.5.5 8.5.5s6.75 0 8.5-.5a2.9 2.9 0 0 0 2.05-2C23 15.5 23 12 23 12m-13 3.5v-7l6 3.5z'/%3E%3C/svg%3E"); }
.footer-social-icon--tiktok { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19.6 8.7a7.8 7.8 0 0 1-4.5-1.4v6.3a5.6 5.6 0 1 1-4.8-5.5v2.9a2.8 2.8 0 1 0 2 2.6V2h2.8a5 5 0 0 0 4.5 4.5z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19.6 8.7a7.8 7.8 0 0 1-4.5-1.4v6.3a5.6 5.6 0 1 1-4.8-5.5v2.9a2.8 2.8 0 1 0 2 2.6V2h2.8a5 5 0 0 0 4.5 4.5z'/%3E%3C/svg%3E"); }
.footer-social-icon--whatsapp { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 0 0-8.8 14.8L2 22l5.4-1.2A10 10 0 1 0 12 2m0 2a8 8 0 0 1 6.9 12l-.2.3l.7 2.9l-3-.7l-.3.2A8 8 0 1 1 12 4m-3.1 4.4c-.3 0-.7.1-.9.4c-.2.2-.8.8-.8 2s.8 2.4.9 2.5s1.5 2.3 3.7 3.3c1.8.8 2.2.7 2.6.7c.4-.1 1.2-.5 1.4-1s.2-.9.1-1c-.1-.1-.4-.2-.9-.5s-.9-.4-1-.2c-.2.2-.5.5-.6.7c-.1.1-.3.2-.7 0c-.4-.2-1.5-.6-2.8-2c-1-1.1-.9-1.4-.7-1.6s.4-.4.5-.6c.2-.2.2-.3.3-.5c.1-.1 0-.3 0-.5s-.7-1.7-1-2.2c-.2-.4-.5-.3-.7-.3z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 0 0-8.8 14.8L2 22l5.4-1.2A10 10 0 1 0 12 2m0 2a8 8 0 0 1 6.9 12l-.2.3l.7 2.9l-3-.7l-.3.2A8 8 0 1 1 12 4m-3.1 4.4c-.3 0-.7.1-.9.4c-.2.2-.8.8-.8 2s.8 2.4.9 2.5s1.5 2.3 3.7 3.3c1.8.8 2.2.7 2.6.7c.4-.1 1.2-.5 1.4-1s.2-.9.1-1c-.1-.1-.4-.2-.9-.5s-.9-.4-1-.2c-.2.2-.5.5-.6.7c-.1.1-.3.2-.7 0c-.4-.2-1.5-.6-2.8-2c-1-1.1-.9-1.4-.7-1.6s.4-.4.5-.6c.2-.2.2-.3.3-.5c.1-.1 0-.3 0-.5s-.7-1.7-1-2.2c-.2-.4-.5-.3-.7-.3z'/%3E%3C/svg%3E"); }
@media (max-width: 991.98px) {
    .footer-contact { min-height: 100vh; }
}
