:root {
    --green: #006b12;
    --lime: #aed251;
    --dark: #0a1a0b;
    --light: #f5f9f0;
    --white: #ffffff;
    --overlay: rgba(0,40,5,0.55);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Montserrat', sans-serif; color: #222; overflow-x:hidden; }

/* ===== NAVBAR ===== */
nav {
    position: fixed; top:0; width:100%; z-index:1000;
    background: rgba(0,30,5,0.92);
    backdrop-filter: blur(8px);
    border-bottom: 2px solid var(--lime);
    display:flex; align-items:center; justify-content:space-between;
    padding: 0 2.5rem; height:68px;
    transition: all .3s;
}
nav.scrolled { background: rgba(0,20,3,0.98); height:58px; }
.nav-logo {
    display:flex; align-items:center; gap:12px;
    text-decoration:none;
}
.nav-logo-icon {
    width:42px; height:42px; border-radius:50%;
    background: linear-gradient(135deg, var(--green), var(--lime));
    display:flex; align-items:center; justify-content:center;
    font-size:1.3rem; color:#fff;
    box-shadow: 0 0 12px rgba(174,210,81,.4);
}
.nav-logo-text { color:#fff; line-height:1.1; }
.nav-logo-text strong { display:block; font-family:'Playfair Display', serif; font-size:1.05rem; color:var(--lime); }
.nav-logo-text span { font-size:.7rem; letter-spacing:2px; color:rgba(255,255,255,.7); text-transform:uppercase; }
.nav-links { display:flex; gap:.2rem; list-style:none; }
.nav-links a {
    color:rgba(255,255,255,.85); text-decoration:none;
    font-size:.78rem; font-weight:600; letter-spacing:1px; text-transform:uppercase;
    padding:.45rem .8rem; border-radius:4px;
    transition: all .25s;
}
.nav-links a:hover, .nav-links a.active { color:var(--lime); }
.nav-flags { display:flex; gap:.5rem; align-items:center; }
.flag-btn {
    background:none; border:2px solid transparent; cursor:pointer;
    border-radius:5px; padding:2px; overflow:hidden;
    transition: border-color .2s, transform .2s;
    width:32px; height:22px; display:flex; align-items:center;
}
.flag-btn:hover { border-color:var(--lime); transform:scale(1.1); }
.flag-btn.active { border-color:var(--lime); }
.flag-btn img { width:100%; height:100%; object-fit:cover; border-radius:2px; }
.nav-mobile { display:none; background:none; border:none; color:#fff; font-size:1.5rem; cursor:pointer; }

/* ===== HERO SLIDER ===== */
#inicio {
    position:relative; height:100vh; overflow:hidden;
}
.slides { position:relative; width:100%; height:100%; }
.slide {
    position:absolute; inset:0;
    background-size:cover; background-position:center;
    opacity:0; transition: opacity 1.2s ease;
}
.slide.active { opacity:1; }
.slide::after {
    content:''; position:absolute; inset:0;
    background: linear-gradient(to bottom, rgba(0,20,5,.3) 0%, rgba(0,40,10,.65) 60%, rgba(0,15,3,.85) 100%);
}
.slide:nth-child(1) { background-image: url('layout/01.jpg'); }
.slide:nth-child(2) { background-image: url('layout/02.jpg'); }
.slide:nth-child(3) { background-image: url('layout/03.jpg'); }
.slide:nth-child(4) { background-image: url('layout/04.jpg'); }

.hero-content {
    position:absolute; inset:0; z-index:5;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; padding:0 2rem;
}
.hero-badge {
    background: rgba(174,210,81,.15);
    border: 1px solid var(--lime);
    color:var(--lime); font-size:.7rem; letter-spacing:3px; text-transform:uppercase;
    padding:.4rem 1.2rem; border-radius:30px; margin-bottom:1.5rem;
}
.hero-content h1 {
    font-family:'Playfair Display', serif;
    font-size:clamp(2.8rem,6vw,5.5rem);
    color:#fff; line-height:1.1; font-weight:900;
    text-shadow: 0 2px 20px rgba(0,0,0,.5);
    margin-bottom:.8rem;
}
.hero-content h1 span { color:var(--lime); }
.hero-content p {
    color:rgba(255,255,255,.85); font-size:clamp(1rem,2vw,1.25rem);
    max-width:600px; margin-bottom:2.5rem; font-weight:300; letter-spacing:.5px;
}
.hero-btns { display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; }
.btn-primary {
    background: var(--green);
    border: 2px solid var(--lime);
    color:#fff; padding:.8rem 2rem; border-radius:50px;
    font-weight:700; font-size:.88rem; letter-spacing:1px; text-transform:uppercase;
    text-decoration:none; cursor:pointer;
    transition: all .3s;
    display:flex; align-items:center; gap:.5rem;
    box-shadow: 0 4px 20px rgba(0,107,18,.4);
}
.btn-primary:hover { background:var(--lime); color:#0a1a0b; box-shadow:0 6px 25px rgba(174,210,81,.5); transform:translateY(-2px); }
.btn-outline {
    background:transparent; border:2px solid rgba(255,255,255,.6);
    color:#fff; padding:.8rem 2rem; border-radius:50px;
    font-weight:600; font-size:.88rem; letter-spacing:1px; text-transform:uppercase;
    text-decoration:none; cursor:pointer;
    transition: all .3s; display:flex; align-items:center; gap:.5rem;
}
.btn-outline:hover { border-color:var(--lime); color:var(--lime); }

.slider-dots {
    position:absolute; bottom:2rem; left:50%; transform:translateX(-50%);
    z-index:10; display:flex; gap:.6rem;
}
.dot {
    width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.4);
    cursor:pointer; transition: all .3s;
}
.dot.active { background:var(--lime); transform:scale(1.3); }
.slider-arrows {
    position:absolute; top:50%; transform:translateY(-50%);
    z-index:10; width:100%; display:flex; justify-content:space-between; padding:0 1.5rem;
    pointer-events:none;
}
.arrow {
    pointer-events:all; width:46px; height:46px; border-radius:50%;
    background:rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.3);
    color:#fff; display:flex; align-items:center; justify-content:center;
    cursor:pointer; transition: all .3s; font-size:1rem;
    backdrop-filter:blur(4px);
}
.arrow:hover { background:var(--green); border-color:var(--lime); }
.scroll-hint {
    position:absolute; bottom:4.5rem; left:50%; transform:translateX(-50%);
    z-index:10; display:flex; flex-direction:column; align-items:center; gap:.3rem;
    color:rgba(255,255,255,.6); font-size:.65rem; letter-spacing:2px; text-transform:uppercase;
    animation: bounce 2s infinite;
}
@keyframes bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(6px)} }

/* ===== SECTION DEFAULTS ===== */
section { position:relative; }
.section-label {
    display:inline-block;
    color:var(--lime); font-size:.7rem; font-weight:700; letter-spacing:3px; text-transform:uppercase;
    margin-bottom:.6rem;
}
.section-title {
    font-family:'Playfair Display', serif;
    font-size:clamp(1.8rem,3.5vw,2.8rem);
    font-weight:700; line-height:1.15;
}
.section-divider {
    width:60px; height:3px;
    background: linear-gradient(to right, var(--green), var(--lime));
    border-radius:2px; margin:1rem 0 1.5rem;
}
.container { max-width:1200px; margin:0 auto; padding:0 2rem; }

/* ===== SOBRE A POUSADA ===== */
#pousada {
    padding:100px 0; background:var(--light);
}
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.about-text .section-title { color:var(--dark); }
.about-text p { color:#555; line-height:1.9; margin-bottom:1rem; font-size:.95rem; }
.about-features { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:2rem 0; }
.feature-item {
    display:flex; align-items:flex-start; gap:.8rem; padding:1rem;
    background:#fff; border-radius:10px; border-left:3px solid var(--green);
    box-shadow:0 2px 12px rgba(0,0,0,.06);
}
.feature-icon { color:var(--green); font-size:1.2rem; margin-top:.1rem; }
.feature-text strong { display:block; font-size:.82rem; color:#222; margin-bottom:.2rem; }
.feature-text span { font-size:.75rem; color:#777; }
.about-image { position:relative; }
.about-img-main {
    width:100%; height:480px; object-fit:cover;
    border-radius:20px; box-shadow:0 20px 60px rgba(0,107,18,.2);
}
.about-img-badge {
    position:absolute; bottom:-20px; right:-20px;
    background: var(--green); color:#fff;
    width:120px; height:120px; border-radius:50%;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    box-shadow:0 8px 30px rgba(0,107,18,.4);
    border:4px solid var(--lime);
}
.about-img-badge strong { font-size:2rem; font-family:'Playfair Display',serif; line-height:1; }
.about-img-badge span { font-size:.6rem; letter-spacing:1px; text-align:center; text-transform:uppercase; }

/* ===== PARALLAX ===== */
.parallax-block {
    min-height:500px; display:flex; align-items:center; justify-content:center;
    text-align:center; background-attachment:fixed;
    background-size:cover; background-position:center;
    position:relative;
}
.parallax-block::before {
    content:''; position:absolute; inset:0;
    background: linear-gradient(135deg, rgba(0,40,5,.75) 0%, rgba(0,107,18,.5) 100%);
}
.parallax-1 { background-image:url('layout/01.jpg'); }
.parallax-2 { background-image:url('layout/02.jpg'); }
.parallax-content { position:relative; z-index:2; padding:3rem 2rem; max-width:700px; }
.parallax-content h2 {
    font-family:'Playfair Display',serif; font-size:clamp(2rem,4vw,3.5rem);
    color:#fff; margin-bottom:1rem; font-weight:900;
}
.parallax-content p { color:rgba(255,255,255,.85); font-size:1.05rem; margin-bottom:2rem; line-height:1.8; }
.parallax-stats { display:flex; gap:3rem; justify-content:center; flex-wrap:wrap; }
.stat { text-align:center; }
.stat-num { font-family:'Playfair Display',serif; font-size:3rem; color:var(--lime); font-weight:900; line-height:1; }
.stat-label { color:rgba(255,255,255,.7); font-size:.75rem; letter-spacing:2px; text-transform:uppercase; margin-top:.3rem; }

/* ===== GALERIA ===== */
#fotos { padding:100px 0; background:#0a1a0b; }
#fotos .section-title { color:#fff; }
#fotos .section-label { color:var(--lime); }
.gallery-header { text-align:center; margin-bottom:3rem; }
.gallery-grid {
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: auto;
    gap:8px;
}
.gallery-item {
    overflow:hidden; border-radius:6px; cursor:pointer; position:relative;
    background:#1a2e1b;
}
.gallery-item:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.gallery-item:nth-child(6) { grid-column: span 2; }
.gallery-item img {
    width:100%; height:100%; object-fit:cover; min-height:220px;
    transition: transform .5s ease, filter .3s;
}
.gallery-item:hover img { transform:scale(1.08); filter:brightness(1.1); }
.gallery-item::after {
    content:''; position:absolute; inset:0;
    background:linear-gradient(to top, rgba(0,107,18,.7) 0%, transparent 60%);
    opacity:0; transition: opacity .3s;
}
.gallery-item:hover::after { opacity:1; }
.gallery-item .gallery-overlay {
    position:absolute; bottom:0; left:0; right:0; z-index:2;
    padding:.8rem 1rem; color:#fff; transform:translateY(100%);
    transition: transform .35s;
}
.gallery-item:hover .gallery-overlay { transform:translateY(0); }
.gallery-overlay-icon {
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) scale(0);
    z-index:3; color:var(--lime); font-size:2rem;
    transition: transform .3s;
}
.gallery-item:hover .gallery-overlay-icon { transform:translate(-50%,-50%) scale(1); }
.gallery-btn-wrap { text-align:center; margin-top:2.5rem; }

/* ===== ATIVIDADES ===== */
#atividades { padding:100px 0; background:#fff; }
.activities-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-top:3rem; }
.activity-card {
    border-radius:16px; overflow:hidden;
    box-shadow:0 8px 30px rgba(0,0,0,.09);
    transition: transform .3s, box-shadow .3s;
    position:relative;
}
.activity-card:hover { transform:translateY(-8px); box-shadow:0 20px 50px rgba(0,107,18,.15); }
.activity-img { height:220px; overflow:hidden; }
.activity-img img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.activity-card:hover .activity-img img { transform:scale(1.06); }
.activity-body { padding:1.5rem; background:#fff; }
.activity-badge {
    display:inline-block; background:rgba(0,107,18,.1); color:var(--green);
    font-size:.65rem; font-weight:700; letter-spacing:2px; text-transform:uppercase;
    padding:.25rem .8rem; border-radius:30px; margin-bottom:.7rem;
}
.activity-body h3 { font-family:'Playfair Display',serif; font-size:1.2rem; color:#1a1a1a; margin-bottom:.5rem; }
.activity-body p { font-size:.82rem; color:#666; line-height:1.7; }

/* ===== WHATSAPP BLOCK ===== */
.whatsapp-block {
    padding:80px 0;
    background: linear-gradient(135deg, #003b07 0%, var(--green) 50%, #005510 100%);
    position:relative; overflow:hidden;
}
.whatsapp-block::before {
    content:''; position:absolute; top:-50%; right:-10%;
    width:500px; height:500px; border-radius:50%;
    background:rgba(174,210,81,.06);
    border:80px solid rgba(174,210,81,.05);
}
.whatsapp-inner {
    display:flex; align-items:center; justify-content:space-between;
    flex-wrap:wrap; gap:2rem; position:relative; z-index:2;
}
.whatsapp-text h2 {
    font-family:'Playfair Display',serif; font-size:clamp(1.8rem,3vw,2.6rem);
    color:#fff; margin-bottom:.8rem;
}
.whatsapp-text p { color:rgba(255,255,255,.8); max-width:480px; line-height:1.8; }
.whatsapp-info { display:flex; flex-direction:column; gap:1rem; margin-top:1.5rem; }
.whatsapp-info-item { display:flex; align-items:center; gap:.8rem; color:rgba(255,255,255,.85); font-size:.9rem; }
.whatsapp-info-item i { color:var(--lime); font-size:1rem; width:20px; }
.btn-whatsapp {
    background:#25D366; color:#fff;
    padding:1.1rem 2.8rem; border-radius:50px;
    font-weight:700; font-size:1rem; text-decoration:none;
    display:flex; align-items:center; gap:.8rem;
    box-shadow:0 6px 30px rgba(37,211,102,.4);
    transition: all .3s; white-space:nowrap;
    border:none; cursor:pointer;
}
.btn-whatsapp:hover { background:#128C7E; transform:translateY(-3px) scale(1.03); box-shadow:0 10px 40px rgba(37,211,102,.5); }
.btn-whatsapp i { font-size:1.4rem; }
.btn-whatsapp-wrap { display:flex; flex-direction:column; align-items:center; gap:1rem; }
.btn-whatsapp-sub { color:rgba(255,255,255,.6); font-size:.75rem; letter-spacing:1px; }

/* ===== NOTICIAS ===== */
#noticias { padding:100px 0; background:var(--light); }
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-top:3rem; }
.news-card {
    background:#fff; border-radius:14px; overflow:hidden;
    box-shadow:0 4px 20px rgba(0,0,0,.07);
    transition: transform .3s, box-shadow .3s;
}
.news-card:hover { transform:translateY(-6px); box-shadow:0 12px 40px rgba(0,107,18,.12); }
.news-img { height:200px; overflow:hidden; }
.news-img img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.news-card:hover .news-img img { transform:scale(1.05); }
.news-body { padding:1.5rem; }
.news-date { font-size:.72rem; color:var(--green); font-weight:600; letter-spacing:1px; margin-bottom:.6rem; }
.news-body h3 { font-family:'Playfair Display',serif; font-size:1.1rem; margin-bottom:.6rem; color:#1a1a1a; line-height:1.35; }
.news-body p { font-size:.8rem; color:#777; line-height:1.7; margin-bottom:1rem; }
.news-read { color:var(--green); font-weight:700; font-size:.8rem; text-decoration:none; display:flex; align-items:center; gap:.4rem; }
.news-read:hover { color:var(--lime); }

/* ===== COMO CHEGAR ===== */
#como-chegar { padding:100px 0; background:#fff; }
.map-section { display:grid; grid-template-columns:1fr 1.5fr; gap:4rem; align-items:start; margin-top:3rem; }
.map-info h3 { font-family:'Playfair Display',serif; font-size:1.4rem; color:var(--dark); margin-bottom:1.5rem; }
.route-steps { list-style:none; }
.route-steps li {
    display:flex; align-items:flex-start; gap:1rem;
    padding:1.2rem 0; border-bottom:1px solid #e8e8e8;
}
.route-steps li:last-child { border-bottom:none; }
.step-num {
    min-width:32px; height:32px; border-radius:50%;
    background:var(--green); color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-weight:700; font-size:.8rem;
}
.step-text strong { display:block; color:#222; font-size:.9rem; margin-bottom:.2rem; }
.step-text span { color:#888; font-size:.8rem; line-height:1.6; }
.map-wrap {
    border-radius:16px; overflow:hidden;
    box-shadow:0 12px 40px rgba(0,107,18,.15);
    border:3px solid var(--lime);
    height:420px;
}
.map-wrap iframe { width:100%; height:100%; border:none; }

/* ===== CONTATO ===== */
#contato { padding:100px 0; background:#0a1a0b; }
#contato .section-title { color:#fff; }
.contact-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:4rem; margin-top:3rem; }
.contact-info h3 { font-family:'Playfair Display',serif; font-size:1.4rem; color:#fff; margin-bottom:1.5rem; }
.contact-details { display:flex; flex-direction:column; gap:1.2rem; }
.contact-item { display:flex; align-items:flex-start; gap:1rem; }
.contact-icon {
    width:42px; height:42px; border-radius:10px;
    background:rgba(174,210,81,.12); border:1px solid rgba(174,210,81,.25);
    display:flex; align-items:center; justify-content:center;
    color:var(--lime); font-size:1rem; flex-shrink:0;
}
.contact-item-text strong { color:#fff; font-size:.88rem; display:block; margin-bottom:.2rem; }
.contact-item-text span { color:rgba(255,255,255,.6); font-size:.8rem; line-height:1.6; }
.contact-form { background:rgba(255,255,255,.05); border-radius:16px; padding:2.5rem; border:1px solid rgba(174,210,81,.15); }
.contact-form h3 { color:#fff; font-family:'Playfair Display',serif; font-size:1.3rem; margin-bottom:1.8rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-group { margin-bottom:1rem; }
.form-group label { display:block; color:rgba(255,255,255,.7); font-size:.78rem; letter-spacing:1px; text-transform:uppercase; margin-bottom:.4rem; }
.form-group input, .form-group select, .form-group textarea {
    width:100%; padding:.8rem 1rem;
    background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15);
    border-radius:8px; color:#fff; font-family:'Montserrat',sans-serif; font-size:.88rem;
    transition: border-color .25s;
    outline:none;
}
.form-group input::placeholder, .form-group textarea::placeholder { color:rgba(255,255,255,.3); }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--lime); }
.form-group select option { background:#0a1a0b; }
.form-group textarea { height:100px; resize:vertical; }
.btn-form {
    width:100%; padding:.9rem; border-radius:50px;
    background: linear-gradient(135deg, var(--green), #009e1a);
    border:none; color:#fff; font-weight:700; font-size:.9rem;
    letter-spacing:1px; cursor:pointer; margin-top:.5rem;
    transition: all .3s;
    box-shadow:0 4px 20px rgba(0,107,18,.4);
}
.btn-form:hover { background:linear-gradient(135deg, var(--lime), #c8e86b); color:#0a1a0b; transform:translateY(-2px); }

/* ===== FOOTER ===== */
footer {
    background:#050e06; padding:50px 0 20px;
    border-top:2px solid rgba(174,210,81,.2);
}
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem; margin-bottom:3rem; }
.footer-brand .nav-logo { margin-bottom:1rem; }
.footer-brand p { color:rgba(255,255,255,.5); font-size:.8rem; line-height:1.8; max-width:260px; }
.footer-social { display:flex; gap:.7rem; margin-top:1.2rem; }
.social-btn {
    width:36px; height:36px; border-radius:8px;
    background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1);
    color:rgba(255,255,255,.6); display:flex; align-items:center; justify-content:center;
    text-decoration:none; font-size:.9rem; transition: all .25s;
}
.social-btn:hover { background:var(--green); color:#fff; border-color:var(--lime); }
.footer-col h4 { color:#fff; font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; margin-bottom:1.2rem; }
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:.6rem; }
.footer-col ul li a { color:rgba(255,255,255,.5); text-decoration:none; font-size:.82rem; transition:color .2s; }
.footer-col ul li a:hover { color:var(--lime); }
.footer-bottom {
    border-top:1px solid rgba(255,255,255,.08); padding-top:1.5rem;
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;
}
.footer-bottom p { color:rgba(255,255,255,.35); font-size:.75rem; }
.footer-bottom span { color:var(--lime); }

/* ===== FLOATING WHATSAPP ===== */
.float-wa {
    position:fixed; bottom:2rem; right:2rem; z-index:999;
    width:58px; height:58px; border-radius:50%;
    background:#25D366; color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-size:1.6rem; text-decoration:none;
    box-shadow:0 6px 30px rgba(37,211,102,.5);
    animation: pulse-wa 2.5s infinite;
    transition: transform .3s;
}
.float-wa:hover { transform:scale(1.1); }
@keyframes pulse-wa {
    0%,100%{ box-shadow:0 6px 30px rgba(37,211,102,.5); }
    50%{ box-shadow:0 6px 40px rgba(37,211,102,.8), 0 0 0 12px rgba(37,211,102,.1); }
}

/* ===== LIGHTBOX ===== */
.lightbox {
    display:none; position:fixed; inset:0; z-index:9999;
    background:rgba(0,0,0,.92); align-items:center; justify-content:center;
}
.lightbox.open { display:flex; }
.lightbox img { max-width:90vw; max-height:90vh; border-radius:8px; }
.lightbox-close {
    position:absolute; top:1.5rem; right:2rem;
    color:#fff; font-size:2rem; cursor:pointer; background:none; border:none;
    opacity:.7; transition:opacity .2s;
}
.lightbox-close:hover { opacity:1; color:var(--lime); }

/* ===== BACK TO TOP ===== */
.back-top {
    position:fixed; bottom:2rem; left:2rem; z-index:999;
    width:42px; height:42px; border-radius:50%;
    background:var(--green); color:#fff; border:none; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 4px 20px rgba(0,107,18,.4);
    opacity:0; pointer-events:none; transition:opacity .3s, transform .3s;
    font-size:.9rem;
}
.back-top.show { opacity:1; pointer-events:all; }
.back-top:hover { transform:translateY(-3px); background:var(--lime); color:#0a1a0b; }

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
    .about-grid,.contact-grid,.map-section { grid-template-columns:1fr; }
    .about-image { order:-1; }
    .about-img-main { height:350px; }
    .about-img-badge { bottom:-15px; right:10px; width:100px; height:100px; }
    .footer-grid { grid-template-columns:1fr 1fr; }
    .gallery-grid { grid-template-columns:repeat(3,1fr); }
    .gallery-item:nth-child(1) { grid-column:span 2; }
    .gallery-item:nth-child(6) { grid-column:span 1; }
}
@media(max-width:768px){
    .nav-links,.nav-flags { display:none; }
    .nav-links.open {
        display:flex; flex-direction:column;
        position:absolute; top:68px; left:0; right:0;
        background:rgba(0,20,3,.98); padding:1rem 2rem;
        border-bottom:2px solid var(--lime);
    }
    .nav-flags.open { display:flex; padding:0 2rem 1rem; position:absolute; top:calc(68px + 280px); left:0; background:rgba(0,20,3,.98); width:100%; }
    .nav-mobile { display:block; }
    .activities-grid,.news-grid { grid-template-columns:1fr 1fr; }
    .gallery-grid { grid-template-columns:1fr 1fr; }
    .gallery-item:nth-child(1) { grid-column:span 2; }
    .gallery-item:nth-child(6) { grid-column:span 2; }
    .about-features { grid-template-columns:1fr; }
    .form-row { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr; }
    .map-section { grid-template-columns:1fr; }
    .parallax-stats { gap:2rem; }
    .whatsapp-inner { flex-direction:column; text-align:center; }
    .footer-bottom { flex-direction:column; text-align:center; }
}
@media(max-width:480px){
    .activities-grid,.news-grid { grid-template-columns:1fr; }
    .hero-btns { flex-direction:column; }
}
Aqui está exclusivamente o CSS novo/inserido (as classes e regras que foram
                                              criadas especificamente para essa página e que não existiam no arquivo
                                              original):

/* ===== VARIÁVEIS E MODIFICADORES GERAIS EXTRAS ===== */
:root {
                                                           --green-dark: #004d0d;
                                                           --dark-alt: #0e2210;
                                                           --text-muted: #555555;
                                                       }
.section-label.light { color: var(--lime); }
.section-title.light { color: #fff; }
.section-divider.center { margin: 1rem auto 1.8rem; }
.section-desc { font-size: .95rem; color: var(--text-muted); line-height: 1.9; }

/* ===== CABEÇALHO DA PÁGINA (PAGE HEADER) ===== */
.page-header {
    position: relative;
    padding: 160px 2rem 100px;
    background: linear-gradient(to bottom, rgba(0,20,5,.55) 0%, rgba(0,40,10,.85) 100%),
    url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?w=1600&q=80') center/cover no-repeat;
    text-align: center;
    color: #fff;
}
.header-badge {
    display: inline-block;
    background: rgba(174,210,81,.18);
    border: 1px solid var(--lime);
    color: var(--lime); font-size: .75rem;
    letter-spacing: 3px; text-transform: uppercase;
    padding: .4rem 1.4rem; border-radius: 30px; margin-bottom: 1.2rem;
}
.page-header h1 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.4rem, 5vw, 4rem);
    font-weight: 900; line-height: 1.15;
    margin-bottom: 1rem;
}
.page-header h1 span { color: var(--lime); }
.page-header p {
    max-width: 680px; margin: 0 auto;
    color: rgba(255,255,255,.85); font-size: 1.05rem; font-weight: 300; line-height: 1.8;
}

/* ===== 1) SEÇÃO 1 FOTO: APRESENTAÇÃO / CONFORTO & NATUREZA ===== */
#apresentacao { padding: 90px 0; background: #fff; }
.single-layout {
    display: grid; grid-template-columns: 1.15fr 1fr;
    gap: 4.5rem; align-items: center;
}
.single-photo-box {
    position: relative; border-radius: 20px;
    overflow: hidden; box-shadow: 0 20px 50px rgba(0,107,18,.18);
    border: 3px solid var(--lime);
    height: 480px; cursor: pointer;
}
.single-photo-box img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .5s ease;
}
.single-photo-box:hover img { transform: scale(1.04); }
.photo-zoom-hint {
    position: absolute; bottom: 15px; right: 15px;
    background: rgba(0,30,5,0.75); color: #fff;
    padding: .4rem .8rem; border-radius: 20px;
    font-size: .75rem; display: flex; align-items: center; gap: .4rem;
    backdrop-filter: blur(4px);
}
.feature-pill-list {
    margin-top: 2rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;
}
.pill-item {
    display: flex; align-items: center; gap: .8rem;
    background: var(--light); padding: .8rem 1rem;
    border-radius: 10px; border-left: 3px solid var(--green);
    font-size: .85rem; font-weight: 600; color: #222;
}
.pill-item i { color: var(--green); font-size: 1.1rem; }

/* ===== 2) E 3) SEÇÕES COM 3 FOTOS (ACOMODAÇÕES E RESTAURANTE) ===== */
#acomodacoes { padding: 90px 0; background: var(--light); }
#restaurante { padding: 90px 0; background: #fff; }
.grid-3-photos {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 1.8rem; margin-top: 2.5rem;
}
.photo-card {
    background: #fff; border-radius: 16px;
    overflow: hidden; box-shadow: 0 8px 25px rgba(0,0,0,.06);
    transition: transform .3s, box-shadow .3s;
    cursor: pointer; position: relative;
}
.photo-card:hover { transform: translateY(-6px); box-shadow: 0 15px 35px rgba(0,107,18,.15); }
.photo-card-img { height: 260px; overflow: hidden; position: relative; }
.photo-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.photo-card:hover .photo-card-img img { transform: scale(1.07); }
.photo-card-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,30,5,.8) 0%, transparent 60%);
    display: flex; align-items: flex-end; padding: 1.2rem;
    color: #fff;
}
.photo-card-overlay strong { font-size: 1rem; font-weight: 600; }
.photo-card-body { padding: 1.2rem 1.5rem; }
.badge-tag {
    display: inline-block; background: rgba(0,107,18,.1);
    color: var(--green); font-size: .7rem; font-weight: 700;
    text-transform: uppercase; padding: .25rem .7rem; border-radius: 20px; margin-bottom: .4rem;
}
.restaurant-header {
    display: grid; grid-template-columns: 1.2fr 1fr;
    gap: 3rem; align-items: flex-end; margin-bottom: 2.5rem;
}
.amenities-badges {
    display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1rem;
}
.amenity-chip {
    background: #fff; border: 1px solid #d5e6cb;
    color: var(--green); font-weight: 600; font-size: .8rem;
    padding: .4rem .9rem; border-radius: 30px;
    display: flex; align-items: center; gap: .5rem;
}

/* ===== 4) SEÇÃO 1 FOTO: BAR ALL INCLUSIVE ===== */
#bar { padding: 90px 0; background: var(--dark); color: #fff; }
.bar-grid {
    display: grid; grid-template-columns: 1fr 1.2fr;
    gap: 4rem; align-items: center;
}
.bar-photo-wrap {
    position: relative; height: 420px;
    border-radius: 20px; overflow: hidden;
    border: 2px solid var(--lime);
    box-shadow: 0 15px 40px rgba(0,0,0,.4);
    cursor: pointer;
}
.bar-photo-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.bar-photo-wrap:hover img { transform: scale(1.05); }
.bar-badge-floating {
    position: absolute; top: 1.5rem; left: 1.5rem;
    background: var(--lime); color: var(--dark);
    font-weight: 700; font-size: .75rem; letter-spacing: 1px;
    padding: .4rem 1rem; border-radius: 30px; text-transform: uppercase;
    box-shadow: 0 4px 15px rgba(0,0,0,.3);
}
.all-inclusive-list {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 1rem; margin-top: 2rem;
}
.drink-item {
    display: flex; align-items: center; gap: .9rem;
    background: rgba(255,255,255,.05); border: 1px solid rgba(174,210,81,.2);
    padding: 1rem; border-radius: 12px;
}
.drink-icon {
    width: 38px; height: 38px; border-radius: 8px;
    background: rgba(174,210,81,.15); color: var(--lime);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.1rem;
}
.drink-text strong { display: block; font-size: .88rem; color: #fff; }
.drink-text span { font-size: .75rem; color: rgba(255,255,255,.6); }

/* ===== 5) SEÇÃO 2 FOTOS: SALA DE TV E PISCINA ===== */
#lazer { padding: 90px 0; background: var(--light); }
.grid-2-photos {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 2rem; margin-top: 2.5rem;
}
.duo-card {
    background: #fff; border-radius: 18px;
    overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,.07);
    cursor: pointer; transition: transform .3s, box-shadow .3s;
}
.duo-card:hover { transform: translateY(-6px); box-shadow: 0 18px 45px rgba(0,107,18,.15); }
.duo-img { height: 320px; overflow: hidden; position: relative; }
.duo-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.duo-card:hover .duo-img img { transform: scale(1.06); }
.duo-content { padding: 1.6rem 1.8rem; }
.duo-content h3 { font-family: 'Playfair Display', serif; font-size: 1.3rem; margin-bottom: .5rem; color: var(--dark); }
.duo-content p { font-size: .85rem; color: #666; line-height: 1.7; }

/* ===== REGRAS RESPONSIVAS PARA AS NOVAS CLASSES ===== */
@media(max-width: 992px){
    .single-layout, .restaurant-header, .bar-grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .grid-3-photos { grid-template-columns: 1fr 1fr; }
    .grid-2-photos { grid-template-columns: 1fr; }
}
@media(max-width: 768px){
    .grid-3-photos { grid-template-columns: 1fr; }
    .feature-pill-list, .all-inclusive-list { grid-template-columns: 1fr; }
}
