:root {
  --gold:#C9A84C; --gold-light:#E2C97E; --gold-dark:#9E7A2A;
  --black:#0A0A0A; --deep:#111318; --surface:#16191F; --surface2:#1E2028;
  --border:rgba(201,168,76,0.18); --border-soft:rgba(255,255,255,0.07);
  --text:#F0EDE8; --text-muted:#8A8480; --text-dim:rgba(240,237,232,0.55);
}
/* Coming Soon card — mantém fundo escuro no light mode para contraste */
/* Melhor contraste geral no light mode */

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Jost',sans-serif;background:var(--black);color:var(--text);overflow-x:hidden;}

/* ── PAGES ── */
.page{display:none;}
.page.active{display:block;}

/* ── WA FLOAT ── */
.wa-float{position:fixed;bottom:32px;right:32px;z-index:999;width:58px;height:58px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px rgba(37,211,102,0.45);text-decoration:none;transition:transform 0.3s;animation:pulse-wa 2.5s ease-in-out infinite;}
.wa-float:hover{transform:scale(1.1);}
@keyframes pulse-wa{0%,100%{box-shadow:0 8px 32px rgba(37,211,102,0.45);}50%{box-shadow:0 8px 48px rgba(37,211,102,0.7),0 0 0 10px rgba(37,211,102,0.08);}}

/* ── NAVBAR ── */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:10px 72px;background:rgba(10,10,10,0.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);transition:padding 0.3s;}
.logo{font-family:'Playfair Display',serif;font-size:1.55rem;font-weight:500;letter-spacing:0.06em;color:var(--text);text-decoration:none;cursor:pointer;}
.logo span{color:var(--gold);}
nav ul{list-style:none;display:flex;gap:38px;align-items:center;}
nav ul a{text-decoration:none;font-size:0.75rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-muted);transition:color 0.2s;cursor:pointer;}
nav ul a:hover{color:var(--gold);}
.btn-nav{color:var(--gold)!important;border:1px solid var(--gold)!important;padding:9px 24px;transition:all 0.25s!important;}
.btn-nav:hover{background:var(--gold)!important;color:var(--black)!important;}

/* ── HERO ── */
#hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;text-align:center;padding:120px 40px 60px;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:linear-gradient(160deg,#0A0A0A 0%,#111318 50%,#0D0F14 100%);}
.hero-bg::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 20%,rgba(201,168,76,0.08) 0%,transparent 70%);}
.hero-bg::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(201,168,76,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,0.04) 1px,transparent 1px);background-size:60px 60px;}
.hero-content{position:relative;z-index:2;max-width:800px;}
.hero-logo{
  width:420px;
  margin:0 auto 24px;
  opacity:0;
  animation:fadeUp 0.9s ease forwards 0.3s;
}
.hero-logo svg{
  width:100%;
  height:auto;
  display:block;
}
.hero-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);padding:6px 18px;font-size:0.7rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:32px;opacity:0;animation:fadeUp 0.8s ease forwards 0.2s;}
.hero-title{font-family:'Playfair Display',serif;font-size:clamp(3.2rem,7vw,6.5rem);font-weight:400;line-height:1.05;margin-bottom:24px;opacity:0;animation:fadeUp 0.8s ease forwards 0.4s;}
.hero-title em{font-style:italic;color:var(--gold);}
.hero-sub{font-size:1rem;color:var(--text-dim);line-height:1.8;max-width:520px;margin:0 auto 48px;font-weight:300;opacity:0;animation:fadeUp 0.8s ease forwards 0.6s;}

/* ── SEARCH BAR ── */
.search-bar{position:relative;z-index:2;background:var(--surface);border:1px solid var(--border);display:flex;align-items:stretch;max-width:920px;width:100%;margin:0 auto;box-shadow:0 24px 64px rgba(0,0,0,0.6);opacity:0;animation:fadeUp 0.8s ease forwards 0.8s;}
.search-field{flex:1;display:flex;flex-direction:column;padding:18px 26px;border-right:1px solid var(--border-soft);min-width:0;}
.search-label{font-size:0.6rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;white-space:nowrap;}
.search-field input,.search-field select{background:none;border:none;color:var(--text);font-family:'Jost',sans-serif;font-size:0.9rem;outline:none;width:100%;cursor:pointer;}
.search-field input[type="date"]{color:var(--text-muted);letter-spacing:0.02em;}
.search-field input[type="date"]:valid{color:var(--text);}
/* Tornar o ícone do calendário dourado e mais visível */
.search-field input[type="date"]::-webkit-calendar-picker-indicator{
  filter:invert(75%) sepia(50%) saturate(400%) hue-rotate(5deg) brightness(95%);
  cursor:pointer;
  opacity:1;
  width:18px;
  height:18px;
  padding:2px;
  border-radius:3px;
  transition:transform 0.15s,opacity 0.2s;
}
.search-field input[type="date"]::-webkit-calendar-picker-indicator:hover{
  transform:scale(1.2);
  opacity:0.85;
}
/* Hint tooltip pulsante no campo de data */
.search-field.date-hint::after{
  content:'Clique no 📅 para escolher';
  position:absolute;
  bottom:-28px;
  left:50%;
  transform:translateX(-50%);
  background:rgba(201,168,76,0.15);
  border:1px solid var(--border);
  color:var(--gold);
  font-size:0.62rem;
  letter-spacing:0.1em;
  padding:4px 10px;
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
  transition:opacity 0.2s;
  border-radius:2px;
}
.search-field.date-hint:hover::after{opacity:1;}
.search-field input::placeholder{color:var(--text-muted);}
/* Form groups date inputs */
.form-group.date-hint::after{
  content:'Clique no 📅 para escolher a data';
  position:absolute;
  bottom:-26px;left:0;
  background:rgba(201,168,76,0.12);
  border:1px solid var(--border);
  color:var(--gold);
  font-size:0.62rem;letter-spacing:0.08em;
  padding:3px 10px;white-space:nowrap;
  pointer-events:none;opacity:0;
  transition:opacity 0.2s;border-radius:2px;z-index:10;
}
.form-group.date-hint:hover::after{opacity:1;}
.form-group input[type="date"]::-webkit-calendar-picker-indicator{
  filter:invert(75%) sepia(50%) saturate(400%) hue-rotate(5deg) brightness(95%);
  cursor:pointer;opacity:1;width:16px;height:16px;
  transition:transform 0.15s;
}
.form-group input[type="date"]::-webkit-calendar-picker-indicator:hover{transform:scale(1.2);}
/* Sidebar date inputs */
.sf-field input[type="date"]::-webkit-calendar-picker-indicator{
  filter:invert(75%) sepia(50%) saturate(400%) hue-rotate(5deg) brightness(95%);
  cursor:pointer;opacity:1;width:14px;height:14px;
  transition:transform 0.15s;
}
.sf-field input[type="date"]::-webkit-calendar-picker-indicator:hover{transform:scale(1.2);}
.search-field select option{background:var(--surface);color:var(--text);}
.search-btn{background:var(--gold);color:var(--black);border:none;padding:0 36px;font-family:'Jost',sans-serif;font-size:0.74rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;cursor:pointer;transition:background 0.25s;white-space:nowrap;display:flex;align-items:center;gap:10px;flex-shrink:0;}
.search-btn:hover{background:var(--gold-light);}
.hero-stats{position:relative;z-index:2;display:flex;gap:60px;justify-content:center;margin-top:52px;padding-top:40px;border-top:1px solid var(--border-soft);opacity:0;animation:fadeUp 0.8s ease forwards 1s;}
.stat-num{font-family:'Playfair Display',serif;font-size:2.6rem;font-weight:400;color:var(--gold);}
.stat-label{font-size:0.68rem;color:var(--text-muted);letter-spacing:0.12em;text-transform:uppercase;margin-top:4px;}

/* ── RESULTS BAR ── */
#resultados{background:var(--surface2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:18px 72px;display:none;align-items:center;justify-content:space-between;}
#resultados.visible{display:flex;}
.result-text{font-size:0.85rem;color:var(--text-dim);}
.result-text strong{color:var(--gold);}
.result-clear{font-size:0.72rem;color:var(--text-muted);cursor:pointer;letter-spacing:0.1em;text-transform:uppercase;border-bottom:1px solid var(--border);transition:color 0.2s;}
.result-clear:hover{color:var(--gold);}

/* ── SHARED ── */
section{padding:110px 72px;}
.sec-tag{font-size:0.68rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.sec-tag::before{content:'';display:inline-block;width:28px;height:1px;background:var(--gold);}
.sec-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,3.4rem);font-weight:400;line-height:1.12;margin-bottom:18px;}
.sec-title em{font-style:italic;color:var(--gold);}
.sec-sub{font-size:0.92rem;color:var(--text-dim);line-height:1.8;max-width:520px;font-weight:300;}

/* ── LOCALIZAÇÃO (agora primeiro — fundo black) ── */
#localizacao{background:var(--black);}
.local-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.map-ph{aspect-ratio:1;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;}
.map-ph p{font-family:'Playfair Display',serif;font-style:italic;color:var(--text-muted);}
.map-container{position:relative;overflow:hidden;border:1px solid var(--border);}
.map-container iframe{display:block;width:100%;height:380px;border:none;filter:grayscale(20%) contrast(1.05);}
.map-actions{display:flex;gap:10px;margin-top:14px;}
.map-action-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;font-family:'Jost',sans-serif;font-size:0.72rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;border:1px solid var(--border);color:var(--text-dim);transition:all 0.2s;cursor:pointer;}
.map-action-btn:hover{border-color:var(--gold);color:var(--gold);}
.map-action-btn.primary{background:var(--gold);color:var(--black);border-color:var(--gold);}
.map-action-btn.primary:hover{background:var(--gold-light);}
.features-list{list-style:none;display:flex;flex-direction:column;gap:16px;margin-top:36px;}
.features-list li{display:flex;align-items:center;gap:16px;font-size:0.88rem;color:var(--text-dim);padding-bottom:16px;border-bottom:1px solid var(--border-soft);}
.features-list li:last-child{border-bottom:none;}
.feat-icon{width:42px;height:42px;background:var(--surface);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem;}

/* ── OFERTAS (agora segundo — fundo deep) ── */
#ofertas{background:var(--deep);}
.ofertas-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:52px;}
.oferta-card{position:relative;overflow:hidden;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;padding:32px;cursor:pointer;}
.oferta-card::before{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.88) 0%,rgba(0,0,0,0.2) 60%,transparent 100%);z-index:1;transition:opacity 0.4s;}
.oferta-card:hover::before{opacity:0.6;}
.oferta-bg{position:absolute;inset:0;z-index:0;transition:transform 0.6s ease;}
.oferta-card:hover .oferta-bg{transform:scale(1.04);}
.oferta-bg-1{background:linear-gradient(135deg,#1a1408,#2d2010,#3d2e15);}
.oferta-bg-2{background:linear-gradient(135deg,#0d1420,#152030);}
.oferta-bg-3{background:linear-gradient(135deg,#0d1a0d,#152515);}
.oferta-tag{position:absolute;top:20px;left:20px;z-index:2;background:var(--gold);color:var(--black);font-size:0.64rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;padding:5px 12px;}
.oferta-content{position:relative;z-index:2;}
.oferta-title{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:400;margin-bottom:8px;}
.oferta-desc{font-size:0.8rem;color:var(--text-dim);margin-bottom:16px;font-weight:300;}
.oferta-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.oferta-price .from{font-size:0.68rem;color:var(--text-muted);letter-spacing:0.08em;text-transform:uppercase;}
.oferta-price .amount{font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--gold);}
.oferta-price .period{font-size:0.75rem;color:var(--text-muted);}
.oferta-price .old-price{font-size:0.88rem;color:var(--text-muted);text-decoration:line-through;}
.oferta-btn{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(201,168,76,0.35);padding-bottom:2px;transition:gap 0.2s;cursor:pointer;}
.oferta-btn:hover{gap:14px;}

/* ── ACOMODAÇÕES ── */
#acomodacoes{background:var(--black);}
.apt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-soft);}
.apt-card{background:var(--surface);overflow:hidden;cursor:pointer;transition:transform 0.35s;position:relative;}
.apt-card:hover{z-index:2;transform:scale(1.02);box-shadow:0 20px 60px rgba(0,0,0,0.7);}
.apt-card.hidden{display:none;}
.apt-img{width:100%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.apt-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.6) 0%,transparent 50%);}
.apt-num{position:absolute;top:14px;left:14px;background:rgba(0,0,0,0.75);color:var(--gold);font-size:0.62rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;padding:4px 10px;border:1px solid rgba(201,168,76,0.3);z-index:1;backdrop-filter:blur(6px);}
.apt-ac-badge{position:absolute;top:14px;right:14px;font-size:0.6rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;padding:4px 10px;z-index:1;backdrop-filter:blur(6px);}
.apt-ac-badge.has-ac{background:rgba(201,168,76,0.85);color:#000;border:1px solid rgba(201,168,76,1);font-weight:700;}
.apt-ac-badge.no-ac{background:rgba(40,40,40,0.9);color:#ccc;border:1px solid rgba(255,255,255,0.4);font-weight:600;}
.apt-info{padding:20px 22px 22px;}
.apt-name{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:400;margin-bottom:4px;}
.apt-detail{font-size:0.75rem;color:var(--text-muted);margin-bottom:14px;}
.apt-footer{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--border-soft);}
.apt-price{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--gold);}
.apt-price small{font-size:0.65rem;font-family:'Jost',sans-serif;color:var(--text-muted);}
.apt-btn{font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);text-decoration:none;border:1px solid rgba(201,168,76,0.4);padding:6px 14px;transition:all 0.2s;cursor:pointer;margin-left:12px;white-space:nowrap;flex-shrink:0;}
.apt-btn:hover{background:var(--gold);color:var(--black);}
.sec-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:52px;}

/* ── CALENDÁRIO ── */
#calendario{background:var(--deep);}
.calendar-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:52px;background:var(--border-soft);}
.cal-card{background:var(--surface);padding:40px;position:relative;overflow:hidden;}
.cal-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;}
.cal-booking::before{background:linear-gradient(90deg,#003580,#0053D6);}
.cal-airbnb::before{background:linear-gradient(90deg,#FF5A5F,#FF385C);}
.cal-header{display:flex;align-items:center;gap:16px;margin-bottom:10px;}
.cal-logo{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.9rem;color:white;flex-shrink:0;}
.cal-logo-booking{background:#003580;} .cal-logo-airbnb{background:#FF5A5F;}
.cal-title{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:400;}
.cal-desc{font-size:0.82rem;color:var(--text-dim);line-height:1.7;margin:12px 0 22px;font-weight:300;}
.cal-link{display:inline-flex;align-items:center;gap:8px;font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(201,168,76,0.3);padding-bottom:2px;transition:gap 0.2s;}
.cal-link:hover{gap:14px;}
.cal-visual{margin-top:28px;border:1px solid var(--border-soft);padding:18px;}
.cal-month{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.cal-month-name{font-family:'Playfair Display',serif;font-size:0.95rem;}
.cal-nav{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1rem;padding:4px 8px;transition:color 0.2s;}
.cal-nav:hover{color:var(--gold);}
.cal-days-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:0.65rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;}
.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:0.76rem;border-radius:1px;cursor:pointer;transition:background 0.15s;}
.cal-day:hover:not(.occupied):not(.empty){background:var(--surface2);}
.cal-day.occupied{background:rgba(201,168,76,0.2);color:var(--gold);cursor:not-allowed;}
.cal-day.today{border:1px solid var(--gold);color:var(--gold);font-weight:600;}
.cal-day.empty{cursor:default;}

/* ── FAQ ── */
#faq{background:var(--black);}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:52px;background:var(--border-soft);}
.faq-item{background:var(--surface);padding:28px 32px;cursor:pointer;transition:background 0.2s;}
.faq-item:hover{background:var(--surface2);}
.faq-q{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;font-size:0.92rem;font-weight:500;color:var(--text);}
.faq-icon{width:22px;height:22px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.9rem;color:var(--gold);flex-shrink:0;transition:transform 0.3s;}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-a{font-size:0.83rem;color:var(--text-dim);line-height:1.75;font-weight:300;max-height:0;overflow:hidden;transition:max-height 0.4s ease,margin-top 0.3s;}
.faq-item.open .faq-a{max-height:200px;margin-top:14px;}

/* ── WHATSAPP SECTION ── */
#whatsapp{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:72px;display:flex;align-items:center;justify-content:space-between;gap:40px;}
.wa-left{max-width:580px;}
.wa-left .sec-title{font-size:clamp(1.6rem,2.5vw,2.4rem);margin-bottom:12px;}
.wa-left p{font-size:0.9rem;color:var(--text-dim);font-weight:300;line-height:1.8;}
.wa-btn{display:inline-flex;align-items:center;gap:14px;background:#25D366;color:white;text-decoration:none;padding:18px 36px;font-family:'Jost',sans-serif;font-size:0.82rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;transition:background 0.25s,transform 0.2s;white-space:nowrap;flex-shrink:0;}
.wa-btn:hover{background:#1EBF5A;transform:translateY(-3px);}

/* ── CONTATO ── */
#contato{background:var(--deep);text-align:center;}
.contato-form{max-width:680px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--border-soft);border:1px solid var(--border);}
.form-group{display:flex;flex-direction:column;gap:6px;padding:22px 24px;background:var(--surface);text-align:left;}
.form-group.full{grid-column:1/-1;}
.form-group label{font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);}
.form-group input,.form-group select,.form-group textarea{background:none;border:none;color:var(--text);font-family:'Jost',sans-serif;font-size:0.9rem;outline:none;}
.form-group input::placeholder{color:var(--text-muted);}
.form-group select option{background:var(--surface);}
.form-group textarea{resize:vertical;min-height:90px;}
.form-submit{grid-column:1/-1;background:var(--gold);color:var(--black);border:none;padding:20px;font-family:'Jost',sans-serif;font-size:0.78rem;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;cursor:pointer;transition:background 0.25s;}
.form-submit:hover{background:var(--gold-light);}

/* ── FOOTER ── */
footer{background:var(--deep);border-top:1px solid var(--border);padding:44px 72px;display:flex;justify-content:space-between;align-items:center;font-size:0.76rem;color:var(--text-muted);}
footer a{color:var(--text-muted);text-decoration:none;transition:color 0.2s;}
footer a:hover{color:var(--gold);}
footer .logo{font-size:1.3rem;color:var(--text);}
.footer-links{display:flex;gap:24px;}

/* ═══════════════════════════════════════
   ── PÁGINA DE DETALHE DO APARTAMENTO ──
═══════════════════════════════════════ */
#page-apt{min-height:100vh;}

.apt-detail-hero{position:relative;height:70vh;overflow:hidden;background:var(--surface);}
.gallery-main{width:100%;height:100%;object-fit:cover;display:block;}
.gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.65) 0%,transparent 50%);}
.gallery-thumbs{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:2;}
.g-thumb{width:56px;height:40px;border:2px solid transparent;cursor:pointer;overflow:hidden;opacity:0.6;transition:all 0.2s;background:var(--surface2);display:flex;align-items:center;justify-content:center;font-size:0.6rem;color:var(--text-muted);}
.g-thumb.active{border-color:var(--gold);opacity:1;}
.g-thumb:hover{opacity:1;}
.gallery-counter{position:absolute;top:24px;right:24px;z-index:2;background:rgba(0,0,0,0.6);backdrop-filter:blur(8px);border:1px solid var(--border);padding:6px 14px;font-size:0.72rem;letter-spacing:0.1em;color:var(--gold);}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:rgba(0,0,0,0.5);backdrop-filter:blur(8px);border:1px solid var(--border);color:var(--gold);width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;transition:background 0.2s;}
.gallery-arrow:hover{background:rgba(201,168,76,0.2);}
.gallery-arrow.prev{left:24px;}
.gallery-arrow.next{right:24px;}

.apt-breadcrumb{padding:20px 72px;border-bottom:1px solid var(--border-soft);display:flex;align-items:center;gap:10px;font-size:0.76rem;color:var(--text-muted);}
.apt-breadcrumb a,.apt-breadcrumb span{text-decoration:none;cursor:pointer;transition:color 0.2s;}
.apt-breadcrumb a:hover{color:var(--gold);}
.apt-breadcrumb .sep{color:var(--border);}
.apt-breadcrumb .current{color:var(--text-dim);}

.apt-detail-body{display:grid;grid-template-columns:1fr 380px;gap:60px;padding:60px 72px;max-width:1400px;margin:0 auto;}
.apt-detail-header{margin-bottom:40px;padding-bottom:40px;border-bottom:1px solid var(--border-soft);}
.apt-detail-tag{font-size:0.68rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.apt-detail-tag::before{content:'';display:inline-block;width:20px;height:1px;background:var(--gold);}
.apt-detail-name{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:400;line-height:1.1;margin-bottom:16px;}
.apt-detail-badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px;}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:0.72rem;letter-spacing:0.08em;padding:6px 14px;border:1px solid var(--border-soft);color:var(--text-dim);}
.badge.gold{border-color:rgba(201,168,76,0.4);color:var(--gold);}
.apt-detail-desc{font-size:0.95rem;color:var(--text-dim);line-height:1.85;font-weight:300;}

.apt-amenities{margin-bottom:40px;padding-bottom:40px;border-bottom:1px solid var(--border-soft);}
.apt-amenities h3{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:400;margin-bottom:24px;}
.amenities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.amenity{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--border-soft);}
.amenity-icon{font-size:1.1rem;flex-shrink:0;}
.amenity-text{font-size:0.8rem;color:var(--text-dim);}

.apt-policies h3{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:400;margin-bottom:24px;}
.policy-list{display:flex;flex-direction:column;gap:12px;}
.policy-item{display:flex;align-items:flex-start;gap:14px;padding:16px;background:var(--surface);border-left:2px solid var(--gold);}
.policy-label{font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:4px;}
.policy-value{font-size:0.85rem;color:var(--text-dim);}

.apt-sidebar{}
.sidebar-card{background:var(--surface);border:1px solid var(--border);padding:32px;position:sticky;top:100px;}
.sidebar-price{display:flex;align-items:baseline;gap:8px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-soft);}
.sidebar-price .amount{font-family:'Playfair Display',serif;font-size:2.4rem;color:var(--gold);}
.sidebar-price .period{font-size:0.8rem;color:var(--text-muted);}
.sidebar-form{display:flex;flex-direction:column;gap:2px;background:var(--border-soft);margin-bottom:16px;}
.sf-row{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.sf-field{background:var(--surface);padding:14px 16px;display:flex;flex-direction:column;gap:4px;}
.sf-field.full{grid-column:1/-1;}
.sf-label{font-size:0.58rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);}
.sf-field input,.sf-field select{background:none;border:none;color:var(--text);font-family:'Jost',sans-serif;font-size:0.85rem;outline:none;width:100%;}
.sf-field select option{background:var(--surface);}
.sf-field input::placeholder{color:var(--text-muted);}
.sidebar-reserve-btn{width:100%;background:var(--gold);color:var(--black);border:none;padding:16px;font-family:'Jost',sans-serif;font-size:0.8rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;cursor:pointer;transition:background 0.25s;margin-bottom:12px;}
.sidebar-reserve-btn:hover{background:var(--gold-light);}
.sidebar-wa-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:transparent;color:#25D366;border:1px solid rgba(37,211,102,0.4);padding:14px;font-family:'Jost',sans-serif;font-size:0.78rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:all 0.2s;}
.sidebar-wa-btn:hover{background:rgba(37,211,102,0.08);}
.sidebar-note{font-size:0.72rem;color:var(--text-muted);text-align:center;margin-top:14px;line-height:1.6;}
.sidebar-features{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-soft);display:flex;flex-direction:column;gap:10px;}
.sf-feat{display:flex;align-items:center;gap:10px;font-size:0.78rem;color:var(--text-dim);}
.sf-feat svg{color:var(--gold);flex-shrink:0;}

.apt-gallery-section{padding:60px 72px;border-top:1px solid var(--border-soft);}
.apt-gallery-section h3{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:400;margin-bottom:32px;}
.full-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;}
.full-gal-item{aspect-ratio:4/3;background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative;transition:transform 0.3s;}
.full-gal-item:hover{transform:scale(1.02);z-index:1;}
.full-gal-item:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:unset;}
.full-gal-item svg{opacity:0.2;}

/* ── APT HIGHLIGHTS ── */
.apt-highlights{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid var(--border-soft);}
.highlights-list{display:flex;flex-direction:column;gap:14px;margin-top:16px;}
.highlight-item{display:flex;align-items:flex-start;gap:14px;padding:16px;background:var(--surface);border-left:2px solid var(--gold);}
.highlight-icon{font-size:1.2rem;flex-shrink:0;margin-top:1px;}
.highlight-text{font-size:0.88rem;color:var(--text-dim);line-height:1.5;}

/* ── APT BEDS ── */
.apt-beds{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid var(--border-soft);}
.apt-beds h3{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:400;margin-bottom:20px;}
.beds-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.bed-card{background:var(--surface);border:1px solid var(--border-soft);padding:18px 16px;}
.bed-room{font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;}
.bed-desc{font-size:0.82rem;color:var(--text-dim);}
.bed-photo{height:160px;width:100%;background:var(--surface2);}

/* ── RATING SUMMARY ── */
.apt-rating-summary{margin-bottom:12px;display:flex;align-items:center;gap:12px;}
.apt-rating-big{font-family:'Playfair Display',serif;font-size:2rem;color:var(--gold);}
.apt-rating-stars{font-size:0.9rem;color:var(--gold);}
.apt-rating-count{font-size:0.78rem;color:var(--text-muted);}
.ratings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:40px;}
.rating-item{background:var(--surface);border:1px solid var(--border-soft);padding:14px 16px;}
.rating-label{font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;}
.rating-val{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--gold);}

/* ── REVIEWS ── */
.apt-reviews{padding:60px 72px;border-top:1px solid var(--border-soft);}
.apt-reviews h3{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:400;margin-bottom:32px;}
.reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-soft);}
.review-card{background:var(--surface);padding:28px 30px;}
.review-header{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.review-avatar{width:44px;height:44px;border-radius:50%;background:var(--surface2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--gold);flex-shrink:0;}
.review-meta{}
.review-name{font-size:0.9rem;font-weight:500;margin-bottom:2px;}
.review-info{font-size:0.72rem;color:var(--text-muted);}
.review-stars{color:var(--gold);font-size:0.8rem;margin-bottom:10px;}
.review-stay{font-size:0.7rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;}
.review-text{font-size:0.85rem;color:var(--text-dim);line-height:1.7;font-weight:300;}

/* ── DYNAMIC POLICIES ── */
.apt-policies{margin-bottom:40px;padding-bottom:40px;border-bottom:1px solid var(--border-soft);}
.apt-policies h3{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:400;margin-bottom:24px;}
.policy-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-soft);}
.policy-col{background:var(--surface);padding:24px;}
.policy-col-icon{font-size:1.4rem;margin-bottom:10px;}
.policy-col-title{font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.policy-col-list{display:flex;flex-direction:column;gap:6px;}
.policy-col-list li{font-size:0.82rem;color:var(--text-dim);list-style:none;display:flex;align-items:flex-start;gap:6px;}
.policy-col-list li::before{content:'·';color:var(--gold);flex-shrink:0;}
.policy-saiba-mais{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:#25D366;text-decoration:none;border-bottom:1px solid rgba(37,211,102,0.3);padding-bottom:2px;transition:gap 0.2s;}
.policy-saiba-mais:hover{gap:14px;}

/* ── LIGHTBOX ── */
#lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,0.96);display:none;align-items:center;justify-content:center;flex-direction:column;}
#lightbox.open{display:flex;animation:fadeIn 0.2s ease;}
.lb-img{max-width:92vw;max-height:85vh;object-fit:contain;box-shadow:0 0 80px rgba(0,0,0,0.8);}
.lb-close{position:absolute;top:24px;right:32px;font-size:2rem;color:var(--text-muted);cursor:pointer;line-height:1;transition:color 0.2s;}
.lb-close:hover{color:var(--gold);}
.lb-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);color:var(--text);width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;cursor:pointer;transition:all 0.2s;user-select:none;}
.lb-arrow:hover{background:var(--gold);color:var(--black);}
.lb-arrow.prev{left:24px;}
.lb-arrow.next{right:24px;}
.lb-caption{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-size:0.75rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;}
.lb-counter{position:absolute;top:28px;left:50%;transform:translateX(-50%);font-size:0.7rem;letter-spacing:0.14em;color:var(--text-muted);}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.7s ease,transform 0.7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:0.1s;}.reveal-delay-2{transition-delay:0.2s;}
.reveal-delay-3{transition-delay:0.3s;}.reveal-delay-4{transition-delay:0.4s;}

/* ── FILTER ROW ── */
.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px;}
.filter-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:8px 22px;font-family:'Jost',sans-serif;font-size:0.72rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;transition:all 0.2s;}
.filter-btn:hover{border-color:var(--gold);color:var(--gold);}
.filter-btn.active{background:var(--gold);border-color:var(--gold);color:#000;}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  nav{padding:18px 24px;}
  .logo{font-size:1.3rem;}
  nav ul{display:none;}
  section{padding:80px 28px;} #hero{padding:100px 24px 60px;}
  .search-bar{flex-direction:column;} .search-field{border-right:none;border-bottom:1px solid var(--border-soft);}
  .search-btn{padding:18px;width:100%;justify-content:center;}
  .apt-grid{grid-template-columns:1fr 1fr;} .calendar-grid{grid-template-columns:1fr;}
  .local-grid{grid-template-columns:1fr;} .sec-header{flex-direction:column;align-items:flex-start;gap:20px;}
  #whatsapp{flex-direction:column;text-align:center;padding:60px 28px;} .wa-left{max-width:100%;}
  .contato-form{grid-template-columns:1fr;} .ofertas-grid{grid-template-columns:1fr;}
  .faq-grid{grid-template-columns:1fr;} footer{flex-direction:column;gap:20px;text-align:center;padding:36px 24px;}
  #resultados{padding:16px 24px;}
  #resultados{flex-direction:column;align-items:flex-start;gap:6px;}
  .result-clear{margin-top:6px;}
  .hero-stats{flex-wrap:wrap;gap:28px;row-gap:18px;}
  .apt-detail-hero{height:56vh;}
  .local-grid{gap:40px;}
  .oferta-card{min-height:260px;}
  .wa-float{bottom:20px;right:20px;}
  .apt-detail-body{grid-template-columns:1fr;padding:40px 24px;}
  .apt-breadcrumb{padding:16px 24px;}
  .amenities-grid{grid-template-columns:1fr 1fr;}
  .full-gallery-grid{grid-template-columns:1fr 1fr;}
  .apt-gallery-section{padding:40px 24px;}
  .sidebar-card{position:static;}
}

@media(max-width:480px){
  nav{padding:14px 18px;}
  .logo{font-size:1rem;}
  #hero{padding:90px 18px 50px;min-height:auto;}
  .hero-title{font-size:clamp(2rem,10vw,3rem);}
  .hero-sub{font-size:0.85rem;}
  section{padding:60px 18px;}
  .sec-title{font-size:clamp(1.6rem,7vw,2.4rem);}
  .apt-grid{grid-template-columns:1fr;}
  .beds-grid{grid-template-columns:1fr;}
  .amenities-grid{grid-template-columns:1fr;}
  .full-gallery-grid{grid-template-columns:1fr;}
  #gallery-thumbs{gap:6px;}
  .g-thumb{width:52px;height:38px;}
  .apt-detail-body{padding:28px 18px;gap:32px;}
  .apt-detail-name{font-size:clamp(1.6rem,7vw,2.4rem);}
  .apt-detail-badges{gap:6px;}
  .badge{font-size:0.62rem;padding:5px 10px;}
  .apt-breadcrumb{padding:12px 18px;font-size:0.7rem;}
  .apt-gallery-section{padding:32px 18px;}
  .apt-detail-hero{height:52vw;min-height:220px;}
  .reviews-grid{grid-template-columns:1fr;}
  .sidebar-card{padding:24px 18px;}
  footer{padding:28px 18px;gap:14px;font-size:0.78rem;flex-direction:column;text-align:center;}
  .footer-links{flex-wrap:wrap;justify-content:center;gap:10px;}
  .wa-float{bottom:16px;right:16px;width:50px;height:50px;}
  .wa-float svg{width:22px;height:22px;}
  #resultados{padding:12px 18px;flex-direction:column;align-items:flex-start;gap:4px;}
  .result-text{font-size:0.8rem;}
  .hero-stats{gap:18px;row-gap:10px;flex-wrap:wrap;}
  .hero-stats > div{min-width:44%;text-align:center;}
  .stat-num{font-size:2rem;}
  .stat-label{font-size:0.62rem;}
  .ofertas-grid{gap:8px;}
  .oferta-card{min-height:220px;padding:22px;}
  #whatsapp{padding:48px 18px;gap:24px;}
  .cal-card{padding:28px 20px;}
  .contato-form{border-width:0;}
  .gallery-arrow{width:38px;height:38px;}
}

/* ═══ SEÇÃO DE PAGAMENTOS ═══ */
#pagamentos{padding:96px 72px;background:var(--deep);border-top:1px solid var(--border-soft);}
.pagamentos-header{text-align:center;margin-bottom:60px;}
.pagamentos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-soft);margin-bottom:1px;align-items:stretch;}
.pagamento-card{background:var(--surface);padding:32px 28px;display:flex;flex-direction:column;gap:14px;transition:background 0.2s;}
.pagamento-card .cripto-btn{margin-top:auto;}
.pagamento-card:hover{background:var(--surface2);}
.pagamento-icon{font-size:2.4rem;line-height:1;}
.pagamento-title{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:400;color:var(--text);}
.pagamento-desc{font-size:0.92rem;color:var(--text-dim);line-height:1.75;font-weight:300;}
/* Cripto section */
.cripto-section{background:var(--surface);border:1px solid var(--border);padding:40px 48px;margin-top:1px;}
.cripto-header{display:flex;flex-direction:column;gap:6px;margin-bottom:32px;}
.cripto-title{font-family:'Playfair Display',serif;font-size:1.65rem;font-weight:400;color:var(--text);}
.cripto-title em{color:var(--gold);font-style:italic;}
.cripto-subtitle{font-size:0.92rem;color:var(--text-dim);font-weight:300;}
.cripto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.cripto-card{background:var(--surface2);padding:28px 24px;display:flex;align-items:center;gap:20px;transition:background 0.2s,border-color 0.2s;border:1px solid transparent;}
.cripto-card:hover{background:var(--deep);border-color:var(--border);}
.cripto-logo{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cripto-logo svg{width:32px;height:32px;}
.cripto-info{display:flex;flex-direction:column;gap:3px;}
.cripto-name{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:400;color:var(--text);}
.cripto-ticker{font-size:0.75rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);}
.cripto-note{font-size:0.85rem;color:var(--text-dim);line-height:1.5;margin-top:4px;}
.cripto-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(201,168,76,0.1);border:1px solid rgba(201,168,76,0.25);padding:5px 14px;font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-top:20px;width:fit-content;}
.cripto-btn{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:12px;
  padding:9px 16px;
  font-family:'Jost',sans-serif;font-size:0.78rem;font-weight:600;
  letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;
  color:var(--black);background:var(--gold);
  border:none;transition:background 0.2s,transform 0.15s;
  width:fit-content;
}
.cripto-btn:hover{background:var(--gold-light);transform:translateX(3px);}
@media(max-width:900px){
  #pagamentos{padding:60px 28px;}
  .pagamentos-grid{grid-template-columns:1fr;}
  .cripto-grid{grid-template-columns:1fr;}
  .cripto-section{padding:28px 20px;}
}