.page-hero{position:relative;padding:96px 0 88px;background:linear-gradient(105deg,#edf5f2 0%,#fbf8f2 72%);overflow:hidden}.page-hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-100px;top:-180px;background:rgba(239,107,34,.08)}.page-hero .eyebrow{margin-bottom:14px}.page-hero h1{font-size:clamp(3.3rem,6vw,6.3rem);max-width:900px}.page-hero .lead{max-width:720px;font-size:1.23rem}.breadcrumb{font-size:.85rem;margin-bottom:24px}.breadcrumb a{color:var(--green);text-decoration:none}.content-section{padding:80px 0}.content-section.alt{background:var(--cream)}.content-section.mist{background:var(--mist)}.content-section h2{font-size:clamp(2rem,3.5vw,3.5rem)}.content-section h3{font-family:"DM Serif Display",serif;color:var(--green-dark);font-size:1.55rem}.content-image{border-radius:18px;width:100%;height:100%;min-height:390px;object-fit:cover}.feature-card{height:100%;padding:30px;border:1px solid #e7eee9;border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(20,70,58,.06)}.feature-card i{font-size:2rem;color:var(--orange)}.feature-card h3{margin:16px 0 10px}.feature-card p{color:var(--muted);margin:0}.price-card{height:100%;background:#fff;border:1px solid #e7e0d6;border-radius:18px;padding:32px;position:relative}.price-card.featured{border:2px solid var(--orange);box-shadow:var(--shadow)}.price-tag{font-family:"DM Serif Display",serif;font-size:2.7rem;color:var(--orange)}.price-card .badge{position:absolute;top:18px;right:18px;background:var(--green)}.spec-table{border-radius:14px;overflow:hidden;border:1px solid #e6ece8}.spec-table .row{margin:0;padding:13px 18px;border-bottom:1px solid #e6ece8}.spec-table .row:last-child{border:0}.spec-table .row:nth-child(odd){background:#f8faf9}.booking-form{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:clamp(24px,4vw,48px)}.form-control,.form-select{border:1px solid #d9e2de;border-radius:9px;padding:.82rem 1rem}.form-control:focus,.form-select:focus{border-color:var(--green);box-shadow:0 0 0 .2rem rgba(22,79,65,.12)}.form-label{font-weight:600;color:var(--green-dark)}.camping-card{height:100%;border:0;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(20,70,58,.08)}.camping-card img{height:220px;object-fit:cover}.camping-card .card-body{padding:24px}.region-pill{display:inline-block;border-radius:99px;padding:7px 13px;background:#edf5f2;color:var(--green);font-size:.8rem;font-weight:600}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:31px;top:20px;bottom:20px;width:2px;background:#cbdcd5}.timeline-item{position:relative;display:flex;gap:24px;margin-bottom:32px}.timeline-number{position:relative;z-index:1;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;flex:0 0 64px;background:var(--green);color:#fff;font-family:"DM Serif Display",serif;font-size:1.6rem}.timeline-copy{padding:8px 0}.timeline-copy h3{margin-bottom:6px}.contact-card{height:100%;border-radius:16px;background:var(--green);color:#fff;padding:32px}.contact-card h3{color:#fff}.contact-card a{color:#fff;text-decoration:none;display:block;margin:.8rem 0}.contact-card i{color:#f7a06d;margin-right:9px}.mini-cta{background:var(--green);color:#fff;border-radius:18px;padding:36px}.mini-cta h2{color:#fff;font-size:2.2rem}.sub-footer{margin-top:0}.legal-note{font-size:.84rem;color:var(--muted)}
@media(max-width:767.98px){.page-hero{padding:66px 0 58px}.page-hero h1{font-size:3.2rem}.content-section{padding:58px 0}.content-image{min-height:280px}.feature-card,.price-card{padding:24px}.timeline:before{left:25px}.timeline-number{width:52px;height:52px;flex-basis:52px}}

/* Rijkere subpagina-hero */
.page-hero{padding:28px 0 34px;background:linear-gradient(120deg,#e8f3ef 0%,#fbf8f2 58%,#f9eee4 100%)}
.page-hero:after{display:none}.page-hero .container-fluid{z-index:2}.page-hero-copy{padding:5px 0;width:100%}.page-hero h1{font-size:clamp(2.35rem,4vw,4rem)}.page-hero .lead{max-width:900px;font-size:1.08rem;margin-bottom:0}.page-hero .breadcrumb{margin-bottom:12px}.page-hero .page-hero-copy+.col-lg-5{display:none}.page-hero .hero-benefits{margin-top:16px}
.page-hero-visual{position:relative;height:330px;border-radius:28px 8px 28px 8px;overflow:hidden;box-shadow:0 22px 50px rgba(14,64,53,.2);transform:rotate(1.2deg)}
.page-hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(14,64,53,.24))}.page-hero-visual img{width:100%;height:100%;object-fit:cover}
.hero-float-badge{position:absolute;z-index:2;left:22px;bottom:20px;padding:10px 15px;border-radius:99px;background:rgba(255,255,255,.94);color:var(--green);font-size:.82rem;font-weight:700;box-shadow:0 7px 24px rgba(0,0,0,.12)}.hero-float-badge i{color:var(--orange)}
.hero-benefits{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;color:var(--green);font-size:.9rem;font-weight:600}.hero-benefits i{color:var(--orange);margin-right:5px}
.hero-shape{position:absolute;border-radius:50%;filter:blur(1px)}.hero-shape-one{width:240px;height:240px;right:34%;top:-150px;background:rgba(239,107,34,.1)}.hero-shape-two{width:180px;height:180px;left:-90px;bottom:-100px;background:rgba(22,79,65,.08)}

/* Kalender en detail-boeking */
.booking-section{background:linear-gradient(135deg,#eef6f3,#fbf8f2)}.booking-heading{max-width:760px}.availability-card,.detail-booking-form{background:#fff;border:1px solid #dde9e4;border-radius:20px;padding:clamp(22px,3vw,34px);box-shadow:var(--shadow)}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.calendar-toolbar h3{margin:0;font-family:"DM Serif Display",serif;font-size:1.8rem}.calendar-nav{width:42px;height:42px;border:1px solid #d9e4df;border-radius:50%;background:#fff;color:var(--green)}.calendar-nav:hover{background:var(--green);color:#fff}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-weekdays{margin-bottom:8px;text-align:center;color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase}.calendar-day{aspect-ratio:1;border:0;border-radius:10px;background:#f0f7f4;color:var(--green-dark);font-weight:600}.calendar-day:not(:disabled):hover{outline:2px solid var(--orange)}.calendar-day.other-month,.calendar-day:disabled{color:#aab7b2;background:#f6f7f6}.calendar-day.selected,.calendar-day.in-range{background:var(--orange);color:#fff}.calendar-day.in-range{border-radius:4px;background:#f7a06d}.calendar-day.unavailable{text-decoration:line-through;background:#f1eeeb;color:#aaa}
.calendar-legend{display:flex;flex-wrap:wrap;gap:18px;margin:22px 0 12px;font-size:.8rem}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px}.legend-dot.available{background:#d8ebe4}.legend-dot.selected{background:var(--orange)}.legend-dot.unavailable{background:#c8c3bd}.calendar-note{padding-top:12px;border-top:1px solid #e6ece9;color:var(--muted);font-size:.82rem}
.detail-booking-form{border-top:5px solid var(--orange)}.detail-booking-form h3{font-family:"DM Serif Display",serif;color:var(--green-dark);font-size:2rem}.booking-service{display:flex;justify-content:space-between;gap:15px;padding-bottom:18px;border-bottom:1px solid #e4ebe8}.booking-service strong{color:var(--orange);white-space:nowrap}.selected-period{padding:13px 15px;border-radius:9px;background:var(--mist);color:var(--green);font-weight:600}.addon-choice{padding:15px;border:1px solid #e0e8e4;border-radius:12px;background:#fbfaf7}.addon-choice label span{display:block;color:var(--muted);font-size:.84rem}.price-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding:15px 0;border-top:1px solid #e4ebe8}.price-summary strong{font-size:1.55rem;color:var(--orange)}.trailer-price{display:flex;align-items:baseline;gap:8px;color:var(--green)}.trailer-price strong{font-family:"DM Serif Display",serif;font-size:3rem;color:var(--orange)}
@media(max-width:991.98px){.page-hero-visual{height:290px}.page-hero-copy{padding-bottom:0}}
@media(max-width:767.98px){.page-hero{padding:24px 0 28px}.page-hero h1{font-size:2.45rem}.page-hero-visual{height:240px}.calendar-weekdays,.calendar-grid{gap:4px}.calendar-day{font-size:.78rem;border-radius:7px}.booking-service{display:block}.booking-service strong{display:block;margin-top:4px}}

/* Detailgalerij en complete inventaris */
.detail-gallery-section{padding-top:68px}.gallery-intro{max-width:520px;color:var(--muted)}.detail-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:220px 220px;gap:14px}.detail-gallery figure{position:relative;margin:0;border-radius:16px;overflow:hidden;background:#dfe9e5;box-shadow:0 8px 26px rgba(20,70,58,.08)}.detail-gallery-main{grid-row:1/3}.detail-gallery figure:nth-child(4){grid-column:2/4}.detail-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.detail-gallery figure:hover img{transform:scale(1.025)}.detail-gallery figcaption{position:absolute;inset:auto 0 0;padding:34px 17px 14px;background:linear-gradient(transparent,rgba(10,38,32,.86));color:#fff;font-size:.86rem}.detail-gallery figcaption strong,.detail-gallery figcaption span{display:block}.detail-gallery figcaption strong{font-size:1rem}.detail-gallery figcaption span{color:#dce8e4;font-size:.75rem}
.inventory-section{background:#fff}.inventory-heading{max-width:760px}.inventory-card{height:100%;padding:28px;border:1px solid #e0e9e5;border-radius:16px;background:linear-gradient(145deg,#fff,#f8fbfa);box-shadow:0 8px 25px rgba(20,70,58,.055)}.inventory-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--green);color:#fff;font-size:1.4rem}.inventory-card h3{margin:18px 0 14px}.inventory-card ul{list-style:none;margin:0;padding:0}.inventory-card li{display:flex;gap:8px;margin:.55rem 0;color:#4f625c;font-size:.9rem}.inventory-card li i{color:var(--orange);font-weight:700}.addon-choice+.addon-choice{margin-top:10px}
@media(max-width:991.98px){.detail-gallery{grid-template-columns:1fr 1fr;grid-template-rows:330px 210px 210px}.detail-gallery-main{grid-column:1/3;grid-row:auto}.detail-gallery figure:nth-child(4){grid-column:1/3}}
@media(max-width:575.98px){.detail-gallery{display:block}.detail-gallery figure{height:230px;margin-bottom:12px}.detail-gallery-main{height:280px!important}}
