/* ═══════════════════════════════════════
   Theme: Pretty Pink
   Override op style.css — alleen afwijkingen
   Basis: Summer Breeze — wit & champagne (herontwerp 17-07-2026)
   Font: Marcellus + DM Sans
   Rust, wit en champagne; subtiel goud als accent
   ═══════════════════════════════════════ */

:root {
  --accent:    #c8b47e;
  --accent-lt: #e8d4b8;
  /* Donkerder goud voor hover op warme (tan) vlakken — leesbaar contrast */
  --accent-dk: #6f571f;
  --bg:        #ffffff;
  --bg2:       #f7f1e6;
  --bg3:       #efe6d4;
  --border:    #e8dfcc;
  --text:      #2e2a25;
  --muted:     #6e645c;
  --sage:      #c8b47e;
  --r:         20px;
  --r-lg:      24px;
  --nav-bg:    rgba(255,255,255,.96);
  --nav-link:  #9e9187;
  /* Historische variabelenaam; sinds het herontwerp champagne i.p.v. roze */
  --pink:      #ded4b9;
}

/* ── Nav — transparant aan de top, champagne (#ded4b9) bij scrollen ── */
nav { padding:1.6rem 5rem; background:transparent; transition:background .5s, box-shadow .5s, padding .4s; }
nav.scrolled { background:rgba(222,212,185,.96) !important; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); box-shadow:0 1px 0 rgba(0,0,0,.05); padding:1.2rem 5rem; }
/* Desktop-nav: menu altijd zichtbaar + gecentreerd (zie blok verderop) */
@media(max-width:768px){
  /* Balk altijd zichtbaar op mobiel zodat het logo altijd in beeld is */
  nav { padding:1.2rem 1.4rem; background:rgba(222,212,185,.96) !important; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); box-shadow:0 1px 0 rgba(0,0,0,.05); }
}
.nav-logo-img { height:75px; }
@media(min-width:769px){
  /* Casita Sand: menu altijd zichtbaar op desktop; logo + menu gecentreerd */
  nav, nav.scrolled {
    flex-direction:row; gap:2.4rem; justify-content:center !important;
    padding:1.05rem 2rem !important;
    background:rgba(222,212,185,.96) !important;
    backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
    box-shadow:0 1px 0 rgba(0,0,0,.05);
  }
  nav.scrolled { padding:.7rem 2rem !important; gap:2rem; }
  nav:not(.scrolled) .nav-logo,
  nav:not(.scrolled) .nav-links { display:flex !important; }
  .nav-links { justify-content:center; gap:2.2rem; }
  .nav-lang { position:absolute; top:1.3rem; right:2.2rem; }
  .nav-logo-img { height:64px; }
  nav.scrolled .nav-logo-img { height:54px; }
  .nav-logo-merk { height:58px; }
}
.nav-logo-text { letter-spacing:.06em; }
.nav-links a { font-weight:500; color:#3a3a3a !important; font-size:.98rem; letter-spacing:.15em; }
@media(hover:hover){ .nav-links a:hover { color:var(--accent-dk) !important; } }
nav.scrolled .nav-links a { color:#3a3a3a !important; font-size:.94rem; }
@media(hover:hover){ nav.scrolled .nav-links a:hover { color:var(--accent-dk) !important; } }
.nav-hamburger span { width:22px; height:1.5px; background:#3a3a3a; }
.nav-lang-trigger { background:rgba(255,255,255,.4); border:1px solid rgba(0,0,0,.08); color:var(--text); }

/* ── Drawer ── */
.nav-drawer { background:var(--pink); gap:.1rem; padding-top:1.4rem; }
.nav-drawer a { font-size:.95rem; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--text); width:100%; max-width:300px; text-align:center; padding:.95rem 0 1.05rem; position:relative; }
.nav-drawer a + a { border-top:1px solid rgba(46,42,37,.10); }
.nav-drawer a::after { content:''; position:absolute; left:50%; bottom:.55rem; transform:translateX(-50%); width:0; height:1.5px; background:var(--accent); transition:width .28s ease; }
@media(hover:hover){ .nav-drawer a:hover { color:var(--accent-dk); } }
@media(hover:hover){ .nav-drawer a:hover::after { width:30px; } }
.nav-drawer-close { border-color:var(--text); color:var(--text); }

/* ── Hero — schermvullende foto met scroll-pijltje ── */
@media(min-width:769px){ .hero { height:100vh; height:100svh; min-height:680px; } }
@media(max-width:768px){ .hero { height:92vh; height:92svh; min-height:560px; } }
.hero-scroll-arrow {
  position:absolute; bottom:2rem; left:50%; transform:translateX(-50%);
  z-index:2; color:#fff; font-size:1.8rem; line-height:1;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
  animation:pinkBounce 1.8s infinite;
}
@keyframes pinkBounce { 0%,100%{transform:translate(-50%,0)} 50%{transform:translate(-50%,10px)} }
@media(prefers-reduced-motion:reduce){ .hero-scroll-arrow { animation:none; } }
.hero-logo { filter:drop-shadow(0 4px 20px rgba(0,0,0,.15)); }
.hero-overlay { background:linear-gradient(to bottom, rgba(46,42,37,.15) 0%, rgba(46,42,37,.45) 100%); }
.hero-content { animation:pinkFade 1.2s .3s both; }
@keyframes pinkFade { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:translateY(0)} }
.hero-tag { color:rgba(255,255,255,.85); font-weight:300; }
.hero-title em { color:var(--accent-lt); }
.hero-sub { color:rgba(255,255,255,.95); text-shadow:0 1px 8px rgba(0,0,0,.3); }
.hero-cta { background:rgba(255,255,255,.9); border:none; color:var(--text); font-weight:400; border-radius:50px; }
@media(hover:hover){ .hero-cta:hover { background:#fff; } }

/* ── Stats — gebroken wit, donkergrijze teksten ── */
.stats-bar { background:#faf8f4; border-bottom:1px solid var(--border); }
.stat-item { border-right:1px solid var(--border); }
.stat-item:last-child { border-right:none; }
.stat-item svg { stroke:var(--text) !important; opacity:.7; }
.stat-num { color:var(--text); }
.stat-label { color:var(--text); opacity:.7; }

/* ── Intro — breder, grotere tekst ── */
.intro-text { background:var(--bg); padding:8rem 4rem 8rem 7.5rem; }
@media(max-width:768px){
  .intro-body-wrap:not(.expanded) .intro-body::after { background:linear-gradient(transparent, var(--bg)); }
}
.intro-body { font-size:1.15rem; line-height:1.95; max-width:52ch; }
/* Paragraaftekst zoals Casa Hero-site: grootte + DM Sans */
.intro-body, .location-body, .vz-subtekst, .feature-desc, .location-list li, .faq-item p { font-family:'DM Sans',sans-serif; font-size:clamp(1.15rem,1.6vw,1.4rem); }
/* Eenheid: alle resterende serif-elementen (titels/cijfers/koppen) in DM Sans */
.stat-num, .dist, .cal-result-price, .score-num, .feature-name, .faq-item h3, .seo-block h4, .cal-book-title, .cal-month-title, .cal-result-title, .text-popup-title, .text-popup-body h2 { font-family:'DM Sans',sans-serif; font-weight:700; letter-spacing:-.02em; }
/* Logo's, menu en knoppen: DM Sans, eigen gewicht behouden */
.nav-drawer a, .gallery-more-btn, .footer-logo, .review-avatar-placeholder { font-family:'DM Sans',sans-serif; }
/* Huisnaam — strak & luxe boutique-serif (Marcellus) */
.hero-title, .nav-logo-text, .hero-logo-text { font-family:'Marcellus',serif; font-weight:400; letter-spacing:.03em; }
.hero-title { text-shadow:0 1px 16px rgba(0,0,0,.28); }
/* Stats-cijfers en afstanden iets minder dik (medium i.p.v. bold) */
.stat-num, .dist { font-weight:500; }
/* Afstanden 1px kleiner zodat bredere waarden (bijv. 800 m) netjes uitlijnen */
.dist { font-size:1.74rem; }
/* In de buurt-tekst 1px groter; tip-teksten gelijk daaraan */
.location-body, .tip-card p { font-size:clamp(1.21rem,1.6vw,1.46rem); }
.intro { grid-template-columns:1fr 1fr; }
@media(max-width:768px){
  .intro-lees-meer, .intro-lees-minder { border-radius:50px; }
  .intro-body-wrap:not(.expanded) .intro-body::after { background:linear-gradient(transparent, var(--bg)); }
}

/* ══════════════════════════════════════
   GALLERY — Costa-style 4-kolom grid
   ══════════════════════════════════════ */
.gallery { padding:5rem 3rem; background:#fff; }
.gallery-grid { grid-template-columns:repeat(4,1fr); gap:.5rem; }
.gallery-item:nth-child(1), .gallery-item:nth-child(2) { grid-column:span 2; }
.gallery-item { border-radius:var(--r); }
.gallery-item img { transition:transform 1s cubic-bezier(.25,.46,.45,.94); }
@media(hover:hover){ .gallery-item:hover img { transform:scale(1.03); } }
@media(hover:hover){ .gallery-item:hover { transform:none; box-shadow:none; } }
.gallery-more-btn { background:transparent; border:1.5px solid var(--text); color:var(--text); border-radius:50px; font-size:calc(1.15rem + 1px); font-weight:400; letter-spacing:.12em; padding:1.4rem 5rem; }
@media(hover:hover){ .gallery-more-btn:hover { background:var(--text); color:#fff; } }
.gallery-more-btn svg { width:16px; height:16px; }

/* ── Lightbox ── */
.lightbox { background:rgba(255,255,255,.97); }
.lb-img { border-radius:var(--r); box-shadow:0 20px 80px rgba(46,42,37,.1); }
.lb-close { background:var(--pink); border:none; color:var(--text); }
@media(hover:hover){ .lb-close:hover { background:var(--bg3); } }
.lb-prev, .lb-next { background:#fff; border:1px solid var(--border); color:var(--text); }
@media(hover:hover){ .lb-prev:hover, .lb-next:hover { background:var(--pink); } }

/* ── Features — wit met champagne rand ── */
.features { background:#fff; }
.feature-card { background:#fff; border:1.5px solid var(--pink); }
@media(hover:hover){ .feature-card:hover { background:var(--pink); border-color:var(--pink); } }

/* ══════════════════════════════════════
   VOORZIENINGEN — Costa-style: tekst links, grid rechts 3 kolommen
   ══════════════════════════════════════ */
.voorzieningen-section { padding:5rem 3rem; background:var(--pink); }
.voorzieningen-inner { display:grid; grid-template-columns:1.2fr 2fr; gap:3rem; align-items:start; max-width:1200px; }
.voorzieningen-inner > div:first-child { text-align:left !important; }
.voorzieningen-inner > div:first-child .section-label { text-align:left !important; }
.voorzieningen-inner > div:first-child .section-heading { text-align:left !important; white-space:nowrap; font-size:clamp(1.8rem,3.5vw,3rem); }
.vz-site-grid { grid-template-columns:repeat(3,1fr); }
.vz-site-item { background:#fff; font-size:1.05rem; color:var(--text); font-weight:400; }
.kamer-card { background:#fff; }
.kamer-icon { background:var(--pink); }
.vz-site-item span:last-child { color:#2e2a25; }
#vzMeerWrap { grid-column:2; text-align:center; margin-top:.8rem; }
.vz-meer-btn { border:none; border-radius:50px; font-weight:400; letter-spacing:.15em; color:var(--text); background:#fff; box-shadow:0 2px 12px rgba(46,42,37,.08); }
@media(hover:hover){ .vz-meer-btn:hover { background:#fff; color:var(--accent-dk); box-shadow:0 4px 16px rgba(46,42,37,.14); } }

/* ── Location — gebroken wit, afscheiding met sectie erboven ── */
.location { border-top:1px solid var(--border); }
.location-text { background:#faf8f4; padding:4rem 4rem; }
.location-image { min-height:400px; }

/* ── Tips — witte achtergrond met champagne rand ── */
.tips { background:#fff; }
.tip-card { text-align:left; background:#fff; border:1.5px solid var(--pink); }
.tip-card:last-child { border-bottom:1.5px solid var(--pink); }
.tip-card p { text-align:left; }

/* ── Calendar — wit, gouden lijn erboven ── */
.calendar-section { background:#fff; position:relative; }
.calendar-section::before { content:''; display:block; width:60px; height:1.5px; background:var(--accent); margin:0 auto 3rem; }
.cal-month { background:#fff; border:1px solid var(--border); border-radius:var(--r); }
.cal-day.today { background:rgba(200,180,126,.16); border:none; color:var(--text); font-weight:400; }
.cal-day.today.selected { background:var(--accent); border:none; color:#fff; }
.leg-dot.today { background:rgba(200,180,126,.5); border:none; }
.cal-day.selected { background:var(--accent); color:#fff; }
.cal-day.in-range { background:rgba(200,180,126,.12); }
.cal-result-title { color:var(--text); }
.cal-result-nights { color:var(--muted); }
.cal-result-price { color:var(--text); }
.cal-result-price small { color:var(--muted); }
.excl-row strong { color:var(--text); }

/* ── Reviews ── */
.reviews-section { background:var(--pink); }
.review-card { background:#fff; border:none; border-radius:var(--r-lg); box-shadow:0 4px 20px rgba(46,42,37,.05); }
.score-stars { color:var(--accent); }
.review-stars { color:var(--accent); }
.reviews-arrow { background:#fff; border:1px solid var(--border); }
@media(hover:hover){ .reviews-arrow:hover { background:var(--accent); color:#fff; border-color:var(--accent); } }
.reviews-dot.active::before { background:var(--accent); }

/* ── Contact — witte invoervelden ── */
.contact-section { background:#fff; }
.contact-card { border:1px solid var(--border); }
.contact-btn { border-radius:50px; }
.form-group input, .form-group textarea { background:#fff !important; }
/* Placeholder: standaard --border (#edd6c2) is te licht op wit → donkerder */
.form-group input::placeholder, .form-group textarea::placeholder { color:rgba(46,42,37,.42); }

/* Section-label: goud (#c8b47e) heeft te weinig contrast op roze secties → muted bruin */
.section-label { color:var(--muted); }

/* ── FAQ ── */
.faq-section { background:var(--pink); }
.faq-item { background:#fff; }
/* FAQ-pijltje wit en iets dikker */
.faq-toggle svg, .faq-item.open .faq-toggle svg { stroke:#fff; stroke-width:2.5; }

/* ── SEO ── */
.seo-section { background:#fff; }

/* ── Address ── */
.address-section { background:var(--pink); }
.address-map { border-radius:var(--r); }

/* ── Footer — champagne achtergrond, logo ── */
footer { background:var(--pink); color:var(--text); border-top:1px solid var(--border); }
.footer-logo { color:var(--text); }
.footer-logo-img { height:120px; width:auto; display:block; margin:0 auto 1rem; }
footer a { color:var(--text); opacity:.7; }
@media(hover:hover){ footer a:hover { color:var(--accent-dk); opacity:1; } }
.footer-copyright { color:var(--text); opacity:.6; }
.footer-branding a { color:var(--text); opacity:.7; }
footer a[aria-label="Instagram"] { color:#E1306C !important; opacity:1 !important; }
@media(hover:hover){ footer a[aria-label="Instagram"]:hover { color:#C13584 !important; } }
footer a[aria-label="Facebook"] { color:var(--text) !important; opacity:.7 !important; }
/* Taalkiezer — donkere pills op roze footer */
.lang-pill { background:rgba(0,0,0,.06); color:var(--text); opacity:.75; }
@media(hover:hover){ .lang-pill:hover { background:rgba(0,0,0,.12); color:var(--accent-dk); opacity:1; } }
.lang-pill.is-active { background:rgba(0,0,0,.16); color:var(--text); opacity:1; }

/* ── WhatsApp ── */
.wa-float { box-shadow:0 4px 20px rgba(0,0,0,.1); }

/* ══════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════ */
@media(max-width:768px){
  /* Hero: inhoud iets omhoog zodat het scroll-pijltje zichtbaar blijft */
  .hero-content { padding-bottom:5.5rem; }

  /* Intro: 1 kolom, afbeelding boven tekst */
  .intro { grid-template-columns:1fr; }
  .intro-image { order:-1; min-height:260px; }
  .intro-text { padding:3.5rem 1.5rem; }

  /* Gallery button: kleiner op mobiel */
  .gallery-more-btn { padding:1rem 2.2rem; font-size:1rem; letter-spacing:.08em; }

  .gallery { padding:4rem 1rem; }
  .gallery-grid { grid-template-columns:1fr 1fr; gap:.4rem; }
  .gallery-item:nth-child(1), .gallery-item:nth-child(2) { grid-column:auto; }

  /* Voorzieningen: uniforme items */
  .voorzieningen-section { padding:4rem 1.5rem; }
  .voorzieningen-inner { grid-template-columns:1fr; gap:1.5rem; }
  .voorzieningen-inner > div:first-child { text-align:center !important; }
  .voorzieningen-inner > div:first-child .section-label { text-align:center !important; }
  .voorzieningen-inner > div:first-child .section-heading { text-align:center !important; white-space:normal; }
  .vz-site-grid { grid-template-columns:repeat(2,1fr); }
  #vzMeerWrap { grid-column:1 / -1; }

  /* Locatie: bredere tekst en afstanden op mobiel */
  .location-text { padding:3rem .8rem; }

  /* Footer logo: binnen viewport houden */
  .footer-logo-img { height:auto; max-height:100px; max-width:100%; object-fit:contain; }
}
