/* ------------------- */
/*  CONFIGURAÇÕES GERAIS E VARIÁVEIS  */
/* ------------------- */
:root {
    --color-gold: #D4AF37;
    --color-gold-dark: #b89a2e;
    --color-black: #0D0D0D;
    --color-graphite: #1A1A1A;
    --color-gray: #aeaeae;
    --color-light-gray: #f0f0f0;
    --color-white: #ffffff;
    --font-heading: 'Bebas Neue', sans-serif;
    --font-body: 'Montserrat', sans-serif;
    --transition-fast: 0.3s ease-out;
    --transition-slow: 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { background-color: var(--color-black); color: var(--color-light-gray); font-family: var(--font-body); line-height: 1.6; -webkit-font-smoothing: antialiased; }
.textured-bg { background-image: linear-gradient(rgba(13, 13, 13, 0.98), rgba(13, 13, 13, 0.98)), url(https://www.transparenttextures.com/patterns/dark-denim-3.png); background-attachment: fixed; }
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }
h1, h2, h3 { font-family: var(--font-heading); color: var(--color-white); line-height: 1; letter-spacing: 2px; }
h2 { font-size: 3.5rem; } h3 { font-size: 2rem; color: var(--color-gold); }
p { color: var(--color-gray); } a { text-decoration: none; }
.section { padding: 5rem 0; overflow: hidden; }
.section-title { text-align: center; margin-bottom: 3.5rem; }
.section-subtitle { text-align: center; max-width: 600px; margin: -3rem auto 3rem; font-size: 1.1rem; }
.mobile-break { display: block; }

/* Animações e Botões */
.animate-on-scroll { opacity: 0; transform: translateY(40px); transition: opacity var(--transition-slow), transform var(--transition-slow); }
.animate-on-scroll.is-visible { opacity: 1; transform: translateY(0); }
.btn { padding: 16px 36px; border-radius: 4px; font-weight: 700; font-family: var(--font-body); text-transform: uppercase; font-size: 0.9rem; letter-spacing: 1.5px; transition: all var(--transition-fast); display: inline-block; cursor: pointer; border: none; text-align: center; }
.btn-primary { background: linear-gradient(145deg, var(--color-gold), var(--color-gold-dark)); color: var(--color-black); box-shadow: 0 4px 15px rgba(212, 175, 55, 0.2); }
.btn-primary:hover { transform: translateY(-3px) scale(1.03); box-shadow: 0 8px 25px rgba(212, 175, 55, 0.3); }
.btn-secondary { background: transparent; color: var(--color-gold); border: 2px solid var(--color-gold); }
.btn-secondary:hover { background: var(--color-gold); color: var(--color-black); }

/* Header & Navegação */
.header { position: fixed; width: 100%; top: 0; left: 0; z-index: 1000; transition: all var(--transition-fast); }
.header.scrolled { background-color: rgba(13, 13, 13, 0.85); backdrop-filter: blur(12px); box-shadow: 0 2px 10px rgba(0,0,0,0.5); }
.nav { display: flex; justify-content: space-between; align-items: center; height: 90px; }
.logo { font-family: var(--font-heading); font-size: 3.5rem; color: var(--color-white); letter-spacing: 3px; }
.logo:hover { color: var(--color-gold); }
.nav-menu { list-style: none; display: flex; align-items: center; gap: 2.5rem; }
.nav-menu a { color: var(--color-light-gray); text-transform: uppercase; font-weight: 500; font-size: 1rem; position: relative; }
.nav-menu a:not(.nav-cta)::after { content: ''; position: absolute; bottom: -5px; left: 0; width: 0; height: 2px; background: var(--color-gold); transition: width var(--transition-fast); }
.nav-menu a:not(.nav-cta):hover::after { width: 100%; }
.nav-cta { background: var(--color-gold); color: var(--color-black); padding: 10px 22px; border-radius: 4px; font-weight: 700; transition: all var(--transition-fast); }
.nav-cta:hover { background: var(--color-white); color: var(--color-black); }
.hamburger-menu { display: none; cursor: pointer; background: none; border: none; z-index: 1001; }
.hamburger-menu .bar { display: block; width: 30px; height: 3px; background-color: var(--color-white); margin: 6px 0; transition: all 0.4s ease; }

/* Hero Section */
.hero { height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; }
.hero-collage { display: flex; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -2; }
.hero-panel { flex: 1; background-size: cover; background-position: center; }
.hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle, rgba(13,13,13,0.3) 0%, rgba(13,13,13,0.99) 90%); z-index: -1; }
.hero-content { display: flex; flex-direction: column; align-items: center; }
.hero-content h1 { font-size: 4rem; line-height: 1.1; }
.hero-title-sub { display: block; font-family: var(--font-body); font-size: 1.2rem; font-weight: 400; text-transform: none; letter-spacing: 1px; color: var(--color-gold); margin-top: 0.5rem; }
.hero-content .subtitle { font-size: 1.1rem; max-width: 650px; margin: 1.5rem auto 0 auto; }
.hero-content .subtitle strong { color: var(--color-gold); font-weight: 500; }
.hero-cta-group { margin-top: 2.5rem; }

/* Especialidades (Soluções) */
.solutions.section { padding-top: 7rem; }
.solutions-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; }
.solution-card { background: var(--color-graphite); padding: 2.5rem 2rem; border-radius: 8px; border: 1px solid #222; text-align: center; display: flex; flex-direction: column; transition: transform var(--transition-fast), box-shadow var(--transition-fast); }
.solution-card:hover { transform: translateY(-10px); box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5); border-color: var(--color-gold); }
.solution-icon { width: 50px; height: 50px; margin: 0 auto 1.5rem auto; transition: transform 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6); }
.solution-card:hover .solution-icon { transform: scale(1.1) rotate(-10deg); }
.solution-card p { flex-grow: 1; margin-bottom: 2rem; font-size: 0.95rem; }
.btn-card-cta { color: var(--color-gold); background: transparent; border: 2px solid #444; padding: 12px 20px; border-radius: 4px; font-family: var(--font-body); font-weight: 700; text-transform: uppercase; font-size: 0.8rem; letter-spacing: 1px; align-self: center; }
.btn-card-cta:hover { background: var(--color-gold); color: var(--color-black); border-color: var(--color-gold); }

/* Resultados (Slider Antes/Depois) */
.before-after-slider { width: 100%; max-width: 800px; aspect-ratio: 16 / 10; margin: auto; overflow: hidden; border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,0.5); user-select: none; position: relative; }
.img-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; }
.img-after { width: 50%; }
.img-container img { width: 100%; height: 100%; object-fit: cover; }
.slider-handle { position: absolute; top: 0; left: 50%; width: 4px; height: 100%; cursor: ew-resize; z-index: 10; background: var(--color-white); }
.handle-circle { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 44px; height: 44px; border-radius: 50%; background: var(--color-white); color: black; font-size: 1.5rem; font-weight: bold; display: flex; align-items: center; justify-content: center; transform: translate(-50%,-50%) rotate(90deg); box-shadow: 0 0 15px rgba(0,0,0,0.4); }

/* Depoimentos */
.testimonials .swiper-slide { padding-bottom: 50px; height: auto; }
.testimonial-card { background: var(--color-graphite); padding: 2rem; border-radius: 8px; border: 1px solid #222; height: 100%; display: flex; flex-direction: column; }
.testimonial-card .author { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.testimonial-card .author img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; border: 2px solid var(--color-gold); }
.author strong { font-family: var(--font-body); font-weight: 700; color: var(--color-white); font-size: 1.1rem; }
.author span { display: block; color: var(--color-gray); font-size: 0.9rem; }
.testimonial-card .stars { color: var(--color-gold); font-size: 1.2rem; margin-bottom: 1rem; letter-spacing: 2px; }
.testimonial-card p { font-style: italic; flex-grow: 1; color: var(--color-light-gray); }
.testimonials .swiper-pagination-bullet-active { background: var(--color-gold); }

/* Estrutura (Localização) */
.location-content { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: center; }
.location-info .section-title { text-align: left; }
.location-image img { border-radius: 8px; width: 100%; height: 400px; object-fit: cover; }
.location-info address { font-style: normal; margin: 2rem 0; font-size: 1.1rem; }

/* CTA Final (Booking) & Footer */
.booking-wrapper { text-align: center; } /* CENTRALIZA O BOTÃO */
.booking { background: linear-gradient(rgba(13,13,13,0), var(--color-graphite), rgba(13,13,13,0)); }
.footer { background: #080808; padding: 4rem 0 2rem 0; border-top: 1px solid #222; }
.footer-content { display: grid; grid-template-columns: 1fr; gap: 2.5rem; text-align: center; }
.footer-bottom { border-top: 1px solid #222; padding-top: 2rem; text-align: center; font-size: 0.9rem; color: var(--color-gray); }

/* WhatsApp FAB */
.whatsapp-fab { position: fixed; bottom: 20px; right: 20px; background-color: #25D366; width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(0,0,0,0.4); z-index: 999; animation: whatsapp-pulse 2s infinite ease-out; }
.whatsapp-fab svg { width: 32px; height: 32px; }
@keyframes whatsapp-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } }

/* Media Queries (Mobile-First) */
@media (min-width: 769px) {
    h2 { font-size: 4.5rem; }
    .hero-collage { flex-direction: row; }
    .hero-content h1 { font-size: 5rem; }
    .hero-title-sub { font-size: 1.5rem; }
    .mobile-break { display: none; }
    .location-content { grid-template-columns: 1fr 1.2fr; gap: 4rem; }
    .footer-content { grid-template-columns: 2fr 1fr 1fr; text-align: left; }
}

@media (min-width: 1200px) {
    .solutions-grid { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 768px) {
    .nav-menu {
        position: fixed;
        left: -100%;
        top: 0;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        height: 100vh;
        background-color: rgba(13, 13, 13, 0.9);
        backdrop-filter: blur(10px);
        text-align: center;
        transition: 0.4s ease;
    }
    .nav-menu.active {
        left: 0;
    }
    .nav-menu li {
        margin: 2rem 0;
    }
    .nav-menu a {
        font-size: 1.5rem;
    }
    .nav-cta {
        font-size: 1.2rem;
        padding: 12px 24px;
    }
    .hamburger-menu {
        display: block;
    }
    .hamburger-menu.active .bar:nth-child(2) {
        opacity: 0;
    }
    .hamburger-menu.active .bar:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }
    .hamburger-menu.active .bar:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
    }
    .hero-collage { 
        display: none; 
    }
    #hero {
        background-image: url('https://images.pexels.com/photos/6872585/pexels-photo-6872585.jpeg');
        background-size: cover;
        background-position: center;
    }
    .container { padding: 0 1rem; }
    .section-title { font-size: 2.8rem; }
}
