/* Custom Styles - Adicione apenas customizações além do Tailwind */
html{scroll-behavior:smooth;scroll-padding-top:80px}

/* Skip Link for Accessibility */
.skip-link{position:absolute;top:-40px;left:0;background:#0077B6;color:#fff;padding:8px 16px;z-index:10000;transition:top .3s}
.skip-link:focus{top:0}

/* Back to Top Button */
#back-to-top-btn.visible{opacity:1;visibility:visible;transform:translateY(0)}
#back-to-top-btn:hover{background-color:#0271a8;transform:scale(1.1);box-shadow:0 6px 16px rgba(0,0,0,.3);color:#fff}
#back-to-top-btn i{color:inherit;margin:0;line-height:1}

/* Header Custom Styles */
.header{background:linear-gradient(135deg, #0077B6 0%, #00B4D8 100%);transition:all .3s ease}
.header.scrolled{box-shadow:0 4px 30px rgba(0,0,0,.15)}
.nav-link{position:relative;color:#fff;text-decoration:none;font-weight:500;padding:.5rem 1rem;transition:color .3s ease}
.nav-link::after{content:'';position:absolute;bottom:0;left:50%;width:0;height:2px;background:#FF6B35;transition:all .3s ease;transform:translateX(-50%)}
.nav-link:hover::after{width:80%}
.nav-link:hover{color:#FFBF69}

/* Buttons */
.btn-primary{background:linear-gradient(135deg, #FF6B35 0%, #E85A2B 100%);color:#fff;padding:.875rem 2rem;border-radius:50px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s ease;box-shadow:0 4px 15px rgba(255,107,53,.4)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(255,107,53,.5)}

.btn-whatsapp{background:#25D366;color:#fff;padding:.875rem 2rem;border-radius:50px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s ease;box-shadow:0 4px 15px rgba(37,211,102,.4)}
.btn-whatsapp:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(37,211,102,.5)}

/* Hero */
.hero{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(180deg, #0077B6 0%, #00B4D8 50%, #2D6A4F 100%)}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.7)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,119,182,.3) 0%, rgba(0,180,216,.2) 40%, rgba(45,106,79,.3) 100%)}
.hero-content{position:relative;z-index:10;text-align:center;color:#fff;padding:2rem}

/* Wave Dividers */
.wave-divider{position:absolute;bottom:0;left:0;width:100%;overflow:hidden;line-height:0}
.wave-divider svg{position:relative;display:block;width:calc(100% + 1.3px);height:80px}

/* Cards */
.card-ocean{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 10px 40px rgba(0,119,182,.15);transition:all .4s ease;position:relative}
.card-ocean::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg, #00B4D8, #FF6B35)}
.card-ocean:hover{transform:translateY(-10px);box-shadow:0 20px 60px rgba(0,119,182,.25)}
.card-ocean img{width:100%;height:220px;object-fit:cover;transition:transform .5s ease}
.card-ocean:hover img{transform:scale(1.1)}
.card-body-ocean{padding:1.5rem}

/* Promotion Badge */
.promotion-badge{background:linear-gradient(135deg, #FF6B35 0%, #E85A2B 100%);color:#fff;padding:1rem 2rem;border-radius:50px;display:inline-flex;align-items:center;gap:.5rem;font-weight:700;animation:pulse-glow 2s ease-in-out infinite;box-shadow:0 4px 20px rgba(255,107,53,.5)}
@keyframes pulse-glow{0%,100%{box-shadow:0 0 20px rgba(255,107,53,.4)}50%{box-shadow:0 0 40px rgba(255,107,53,.8)}}

/* Stats */
.stat-card{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border-radius:20px;padding:2rem;text-align:center;border:1px solid rgba(255,255,255,.2);transition:all .3s ease}
.stat-card:hover{background:rgba(255,255,255,.2);transform:translateY(-5px)}
.stat-number{font-family:Georgia,serif;font-size:2rem;font-weight:800;color:#FFBF69;line-height:1;margin-bottom:.5rem}
@media (min-width:768px){.stat-number{font-size:3.5rem}}
.stat-label{font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;opacity:.9}

/* Testimonials */
.testimonial-card{background:#fff;border-radius:24px;padding:2rem;box-shadow:0 10px 40px rgba(0,0,0,.1);height:100%;position:relative;overflow:hidden}
.testimonial-card::before{content:'"';position:absolute;top:-20px;right:20px;font-family:Georgia,serif;font-size:150px;color:#CAF0F8;opacity:.5;line-height:1}
.stars{color:#FF9F1C}

/* FAQ */
.faq-item{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:1rem}
.faq-question{width:100%;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;background:#fff;border:none;cursor:pointer;font-size:1.1rem;font-weight:600;color:#023047;text-align:left;transition:all .3s ease}
.faq-question:hover{background:#CAF0F8}
.faq-icon{font-size:1.5rem;color:#00B4D8;transition:transform .3s ease}
.faq-item.active .faq-icon{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease;background:#FEF9EF}
.faq-item.active .faq-answer{max-height:500px}
.faq-answer p{padding:1.5rem;padding-top:0;color:#023047;opacity:.85;line-height:1.7}

/* Gallery */
.gallery-item{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/3}
.gallery-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:16px;padding-bottom:16px}
.gallery-carousel::-webkit-scrollbar{display:none}
.gallery-carousel .gallery-slide{min-width:100%;scroll-snap-align:center;flex-shrink:0}
.gallery-carousel .gallery-item{width:100%;height:250px}
@media (min-width:768px){.gallery-carousel{display:grid;grid-template-columns:repeat(3,1fr);overflow-x:visible;gap:0;padding-bottom:0}.gallery-carousel .gallery-slide{min-width:auto;flex-shrink:1}.gallery-carousel .gallery-item{height:auto}.carousel-dots,.carousel-arrow{display:none!important}}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gallery-item:hover img{transform:scale(1.15)}
.gallery-overlay{position:absolute;inset:0;background:linear-gradient(180deg, transparent 50%, rgba(2,48,71,.8) 100%);opacity:0;transition:opacity .4s ease;display:flex;align-items:flex-end;padding:1.5rem}
.gallery-item:hover .gallery-overlay{opacity:1}

/* Price Cards */
.price-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.1);transition:all .4s ease;position:relative}
.price-card:hover{transform:translateY(-10px);box-shadow:0 20px 60px rgba(0,119,182,.2)}
.price-card.featured{border:3px solid #FF6B35}
.price-card.featured::before{content:'Mais Popular';position:absolute;top:15px;right:-35px;background:#FF6B35;color:#fff;padding:.25rem 3rem;font-size:.75rem;font-weight:700;text-transform:uppercase;transform:rotate(45deg);z-index:10}

/* Footer */
.footer{background:#023047;color:#fff;padding:4rem 0 2rem;position:relative}
.footer::before{content:'';position:absolute;top:0;left:0;right:0;height:0;background:#023047}
.footer a{color:#90E0EF;text-decoration:none;transition:color .3s ease}
.footer a:hover{color:#FF6B35}

/* Mobile Menu */
.mobile-menu-btn{background:transparent;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem;display:none}
@media(max-width:767px){.mobile-menu-btn{display:block}}
.mobile-menu{position:fixed;top:0;left:0;width:100%;height:100%;background:#023047;z-index:9999;display:none;flex-direction:column}
.mobile-menu.active{display:flex}
.mobile-menu-close{position:absolute;top:0;right:0;background:transparent;border:none;color:#fff;font-size:28px;cursor:pointer;padding:15px}
.mobile-menu-content{display:flex;flex-direction:column;height:100%;overflow-y:auto}
.mobile-menu-content a{color:#fff;text-decoration:none;font-size:16px;padding:14px 16px;border-bottom:1px solid #03506f}
.mobile-menu-content a:hover{background:#004a6e}

/* Text Gradient */
.text-gradient{color:#00B4D8}

/* Animations */
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.animate-slide-up{animation:slideInUp .8s ease forwards}
@keyframes slideInUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
.animate-delay-1{animation-delay:.1s;opacity:0}
.animate-delay-2{animation-delay:.2s;opacity:0}
.animate-delay-3{animation-delay:.3s;opacity:0}
.animate-delay-4{animation-delay:.4s;opacity:0}
.animate-delay-5{animation-delay:.5s;opacity:0}

/* CTA Float */
.cta-float{position:fixed;bottom:100px;right:30px;z-index:998;animation:float 3s ease-in-out infinite}

/* Spin Animation */
@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}

/* Section Colors */
.section-ocean{background:linear-gradient(180deg, #FEF9EF 0%, #CAF0F8 100%);position:relative;padding:6rem 0}
.section-coral{background:linear-gradient(135deg, #FF7F2C 0%, #FF7F2C 100%);position:relative;padding:6rem 0;color:#fff}
.section-navy{background:linear-gradient(180deg, #023047 0%, #0077B6 100%);position:relative;padding:6rem 0;color:#fff}
.section-tropical{background:linear-gradient(180deg, #FDF5E6 0%, #FEF9EF 100%);position:relative;padding:6rem 0}

/* Custom Scrollbar */
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:#FEF9EF}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg, #00B4D8, #0077B6);border-radius:5px}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg, #0077B6, #023047)}

/* Footer */
.footer {
    padding: 5rem 1.5rem 2rem;
    background: linear-gradient(180deg, #0EA5E9 0%, #0C4A6E 100%);
    color: white;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
}

.footer-main {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 3rem;
    padding: 1.5rem 1.5rem 3rem;
    border-bottom: 2px solid rgba(255,255,255,0.3);
    max-width: 1200px;
    margin: 0 auto;
}

.footer-brand {
    padding-right: 2rem;
}

.footer-logo-img {
    height: 50px;
    width: auto;
    margin-bottom: 1.5rem;
    filter: brightness(0) invert(1);
    opacity: 0.95;
}

.footer-tagline {
    font-size: 0.9375rem;
    opacity: 0.9;
    margin-bottom: 1.5rem;
    line-height: 1.5;
}

.footer-rating {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.footer-stars {
    font-size: 1rem;
    color: #F59E0B;
    letter-spacing: 2px;
}

.footer-rating-text {
    font-size: 0.875rem;
    opacity: 0.85;
}

.footer-links-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
}

.footer-section-title {
    font-family: 'Fredoka', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: 1.5rem;
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.footer-links {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.footer-link {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    color: rgba(255,255,255,0.85);
    font-size: 0.9375rem;
    text-decoration: none;
    transition: all 0.2s;
}

.footer-link:hover {
    color: #F59E0B;
    transform: translateX(4px);
}

.footer-link-icon {
    font-size: 1rem;
}

.footer-link-whatsapp:hover {
    color: #25D366;
}

.footer-bottom {
    padding: 1.5rem 1.5rem 0.5rem;
    max-width: 1200px;
    margin: 0 auto;
}

.footer-bottom-content {
    text-align: center;
}

.footer-copyright {
    font-size: 0.9375rem;
    font-weight: 600;
}

.footer-disclaimer {
    font-size: 0.8125rem;
    opacity: 0.7;
    max-width: 600px;
    margin: 0 auto;
}
