/* Casa Palma Vista — index specifieke stijlen */
/* Hero */
.hero{position:relative;min-height:min(92vh,900px);display:flex;align-items:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(160deg,rgba(58,45,26,.05) 0%,rgba(58,45,26,.65) 100%),url('../images/wk.webp') center/cover no-repeat;animation:zoom 10s ease-out both}
@keyframes zoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:58%;background:linear-gradient(to top,rgba(58,45,26,.72) 0%,transparent 100%);pointer-events:none}
.hero-content{position:relative;z-index:2;padding:0 var(--page-pad) clamp(44px,8vh,88px);max-width:min(700px,100%);animation:fadeup 1s ease .2s both}
@keyframes fadeup{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.hero-eyebrow{font-size:11px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:flex;align-items:center;gap:12px}
.hero-eyebrow::before{content:'';width:26px;height:1px;background:var(--gold);flex-shrink:0}
.hero h1{font-family:var(--font-serif);font-size:clamp(38px,7vw,80px);font-weight:400;color:#fff;line-height:1.08;margin-bottom:18px}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero-sub{font-size:clamp(14px,1.8vw,16px);font-weight:300;color:rgba(255,255,255,.84);line-height:1.8;max-width:480px;margin-bottom:34px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
/* Badges */
.badges-wrap{background:var(--sand-50);padding:0 var(--page-pad)}
.badges::-webkit-scrollbar{display:none}
.badge+.badge+.badge+.badge+.badge svg{width:18px;height:18px;color:#3A2D1A;flex-shrink:0}
/* Intro */
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5.5vw,88px);align-items:center}
.intro-img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--rl);box-shadow:var(--sh-lg)}
/* Features */
.feat-bg{background:var(--sand-100);padding:var(--sec-gap) var(--page-pad)}
.feat-inner{max-width:1320px;margin:0 auto}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--sand-200);border-radius:var(--rl);overflow:hidden}
.feat-card{background:var(--sand-50);padding:clamp(22px,3vw,38px) clamp(18px,2.5vw,30px);transition:background .25s}
.feat-card:hover{background:#fff}
.feat-icon{width:34px;height:34px;color:var(--terra-mid);margin-bottom:16px}
.feat-card h3{font-family:var(--font-serif);font-size:18px;font-weight:600;color:var(--wenge);margin-bottom:8px;line-height:1.25}
.feat-card p{font-size:13.5px;font-weight:300;color:var(--wenge-mid);line-height:1.7}
/* Gallery */
.gal-wrap{padding:var(--sec-gap) 0;overflow:hidden}
.gal-header{padding:0 var(--page-pad);margin-bottom:30px;display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:14px;max-width:1320px;margin-left:auto;margin-right:auto}
.gal-link{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--terra-dark);text-decoration:none;display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid currentColor;transition:gap .2s,color .2s}
.gal-link:hover{gap:14px;color:var(--wenge)}
#gal{display:flex;gap:14px;padding:0 var(--page-pad) 10px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--sand-300) var(--sand-100);cursor:grab;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}
#gal::-webkit-scrollbar{height:4px}
#gal::-webkit-scrollbar-thumb{background:var(--sand-300);border-radius:2px}
.gal-item{flex-shrink:0;width:clamp(220px,28vw,330px);height:clamp(280px,36vw,420px);border-radius:var(--rl);overflow:hidden;scroll-snap-align:start}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .55s}
.gal-item:hover img{transform:scale(1.04)}
/* Location */
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5.5vw,88px);align-items:start}
.map-wrap{border-radius:var(--rl);overflow:hidden;box-shadow:var(--sh-md);aspect-ratio:4/3;background:var(--sand-200)}
.map-wrap iframe{width:100%;height:100%;border:none;display:block}
.dist-list{list-style:none;margin-top:26px}
.dist-list li{display:flex;align-items:center;gap:13px;font-size:14px;font-weight:300;color:var(--wenge-mid);padding:11px 0;border-bottom:1px solid var(--sand-200)}
.dist-list li:last-child{border-bottom:none}
.dist-dot{width:8px;height:8px;border-radius:50%;background:#AFC2BC;flex-shrink:0}
.dist-name{font-weight:700;color:var(--wenge)}
/* Social */
.social-bar{display:none}






.soc-btn svg{width:20px;height:20px;flex-shrink:0}

/* Reviews */
.rev-bg{background:var(--sand-100);padding:var(--sec-gap) var(--page-pad)}
.rev-inner{max-width:1320px;margin:0 auto}
.rev-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:clamp(28px,4vw,44px)}
.g-badge{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--sand-200);border-radius:var(--rl);padding:12px 18px;box-shadow:var(--sh-sm);text-decoration:none;transition:box-shadow .2s,transform .18s}
.g-badge:hover{box-shadow:var(--sh-md);transform:translateY(-1px)}
.g-badge .score{font-family:var(--font-serif);font-size:22px;font-weight:600;color:var(--wenge);line-height:1}
.g-badge .stars{font-size:18px;color:#F59E0B;letter-spacing:2px;margin-top:2px}
.g-badge .lbl{font-size:11px;color:var(--stone-light)}
.g-circle{width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid #e0e0e0;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;font-family:serif;flex-shrink:0}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rev-card{background:#fff;border:1px solid var(--sand-200);border-radius:var(--rl);padding:24px;box-shadow:var(--sh-sm);transition:box-shadow .25s,transform .2s;display:flex;flex-direction:column}
.rev-card:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}
.rev-card:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}
.rev-stars{font-size:16px;color:#F59E0B;letter-spacing:2px;margin-bottom:12px;margin-top:0}
.rev-text{font-size:14px;font-weight:300;color:var(--wenge-mid);line-height:1.75;font-style:italic;flex:1}
.rev-text-inner{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;transition:all .3s ease}
.rev-text-inner.expanded{display:block;-webkit-line-clamp:unset;overflow:visible}
.rev-meer{background:none;border:none;color:var(--terra-dark);font-size:12px;font-weight:700;cursor:pointer;padding:6px 0 14px;font-family:var(--font-sans);letter-spacing:.04em;text-decoration:underline;text-underline-offset:2px;display:inline-block;transition:color .2s}
.rev-meer:hover{color:var(--wenge)}
.rev-text::before{content:'"'}.rev-text::after{content:'"'}
.rev-author{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.rev-av{width:36px;height:36px;border-radius:50%;background:#D0A096;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0}
.rev-name{font-size:13px;font-weight:700;color:var(--wenge)}
.rev-meta{font-size:11px;color:var(--stone-light)}
.rev-cta{text-align:center;margin-top:32px}
.rev-cta a{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--terra-dark);text-decoration:none;border-bottom:1px solid currentColor;transition:gap .2s,color .2s}
.rev-cta a:hover{gap:14px;color:var(--wenge)}
/* CTA band */
.cta-band{background:#C9A898;padding:clamp(56px,9vw,96px) var(--page-pad);text-align:center;position:relative;overflow:hidden}
.cta-band h2{font-family:var(--font-serif);font-size:clamp(30px,5.5vw,60px);font-weight:400;color:#3A2D1A;line-height:1.15;margin-bottom:16px;position:relative}
.cta-band h2 em{color:var(--wenge);font-style:italic}
.cta-band p{color:#3A2D1A;opacity:.85;font-size:clamp(13px,1.5vw,15px);font-weight:300;max-width:520px;margin:0 auto 34px;line-height:1.8;position:relative}
/* Responsive home */
@media(max-width:1024px){.intro-grid,.loc-grid{grid-template-columns:1fr}.feat-grid{grid-template-columns:repeat(2,1fr)}.rev-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.intro-img{aspect-ratio:16/9}}
@media(max-width:520px){.feat-grid{grid-template-columns:1fr}.rev-grid{grid-template-columns:1fr}.hero-actions .btn-ghost{display:none}}

.dist-icon{display:flex;align-items:center;color:var(--terra-mid);flex-shrink:0}
.cta-band .btn-primary{background:var(--wenge);border-color:var(--wenge);color:#fff}
.cta-band .btn-primary:hover{background:var(--wenge-mid);border-color:var(--wenge-mid)}
/* Reviews coming soon */
.rev-soon{
  text-align:center;
  padding:clamp(40px,6vw,64px) var(--page-pad);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}
.rev-soon svg:first-child{
  width:40px;height:40px;
  color:var(--terra-mid);
  opacity:.5;
}
.rev-soon p{
  font-family:var(--font-serif);
  font-size:clamp(16px,2vw,20px);
  font-style:italic;
  color:var(--wenge-mid);
  max-width:480px;
  line-height:1.6;
}
.rev-airbnb-link{
  display:inline-flex;align-items:center;gap:10px;
  margin-top:8px;
  padding:12px 22px;
  border:1px solid var(--sand-300);
  border-radius:var(--rl);
  background:#fff;
  text-decoration:none;
  font-size:13px;font-weight:600;
  color:var(--wenge);
  box-shadow:var(--sh-sm);
  transition:box-shadow .2s,transform .18s;
}
.rev-airbnb-link:hover{box-shadow:var(--sh-md);transform:translateY(-1px)}
.rev-airbnb-link svg{width:22px;height:22px;flex-shrink:0}

/* Badges */
.badges{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;flex-wrap:wrap;max-width:1320px;margin:0 auto;padding:0}
.badge{display:flex;align-items:center;gap:10px;padding:16px 20px;color:var(--wenge-mid);font-size:12.5px;white-space:nowrap;flex-shrink:0}
.badge:first-child{padding-left:0}
.badge svg{width:18px;height:18px;flex-shrink:0;color:var(--wenge-mid,#5C4630)}
@media(max-width:700px){
  .badges{flex-direction:column;gap:0}
  .badge{padding:10px 0;white-space:normal;flex-shrink:1}
  .badge:first-child{padding-left:0}
}
