/* Lokale systeemfonts: geen externe fontverzoeken */
:root{--ink:#123b46;--teal:#1e626b;--sand:#f7f0e5;--cream:#fffdf8;--coral:#c59b62;--muted:#637579;--line:#e4ded2;--shadow:0 20px 50px #173d4614}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:var(--cream);line-height:1.65}a{color:inherit}.site-header{height:88px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:#fffdf8f5;position:sticky;top:0;z-index:20;border-bottom:1px solid #e8e1d6;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:13px;letter-spacing:2px;font-weight:500}.brand img{height:55px;width:65px;object-fit:contain}.brand b,.footer-brand b{font-weight:700;color:var(--coral)}nav{display:flex;align-items:center;gap:28px}nav>a{text-decoration:none;font-size:13px;font-weight:600}nav>a:hover{color:var(--coral)}.languages{display:flex;gap:5px;margin-left:8px}.languages button{border:1px solid transparent;background:transparent;border-radius:8px;padding:7px 8px;font-size:18px;cursor:pointer}.languages button.active,.languages button:hover{background:var(--sand);border-color:var(--line)}.menu-toggle{display:none;border:0;background:transparent;font-size:26px;color:var(--ink)}.hero{position:relative;min-height:clamp(300px,54vw,650px);display:flex;align-items:center;overflow:hidden;background:#244f51;color:white}.hero-image{position:absolute;inset:0;background:url('assets/carihuela-breeze-brand-hero.jpg') center center/cover no-repeat}.hero-shade{display:none}.hero-copy{position:relative;z-index:1;max-width:700px;padding:90px clamp(24px,9vw,140px)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;color:var(--coral);text-transform:uppercase;margin:0 0 16px}.hero .eyebrow{color:#f1b596}.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(42px,6vw,76px);line-height:1.08;max-width:670px;margin:0 0 22px;letter-spacing:-1.3px}.hero-text{font-size:17px;max-width:490px;color:#f7f4ec;margin-bottom:34px}.button{display:inline-flex;align-items:center;gap:25px;padding:15px 22px;text-decoration:none;font-weight:700;font-size:13px;border-radius:3px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-light{background:var(--cream);color:var(--ink)}.button-dark{background:var(--ink);color:white}.hero-note{position:absolute;bottom:26px;right:clamp(20px,5vw,75px);display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.6px}.sun-icon{font-size:30px;color:#f1b596}.section-wrap{width:min(1160px,88%);margin:auto}.intro{text-align:center;padding:95px 0 80px;max-width:790px}.intro h2,.section-heading h2,.area h2,.contact h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,4vw,46px);line-height:1.15;font-weight:500;margin:0 0 20px}.intro>p:last-child{color:var(--muted);font-size:16px;max-width:650px;margin:0 auto}.stays{padding:25px 0 95px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-heading h2{max-width:570px;margin-bottom:0}.section-heading>p{max-width:280px;color:var(--muted);font-size:14px}.stay-card{display:grid;grid-template-columns:1.04fr .96fr;gap:0;background:white;border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:35px}.stay-card.reverse .stay-gallery{order:2}.stay-gallery{min-width:0;background:#e6e5dc;padding:12px}.gallery-main{width:100%;height:100%;min-height:440px;max-height:620px;object-fit:cover;display:block}.gallery-thumbs{display:flex;gap:7px;overflow-x:auto;padding-top:8px}.gallery-thumbs img{width:70px;height:54px;object-fit:cover;cursor:pointer;opacity:.72;border:2px solid transparent;flex:0 0 auto}.gallery-thumbs img:hover,.gallery-thumbs img.selected{opacity:1;border-color:var(--coral)}.stay-info{padding:clamp(25px,4vw,48px)}.stay-info h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(25px,2.5vw,33px);line-height:1.2;font-weight:500;margin:0 0 16px}.stay-info>p:not(.eyebrow):not(.rules){font-size:14px;color:var(--muted)}.feature-chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 26px}.feature-chips>span{background:var(--sand);padding:7px 10px;font-size:11px;border-radius:2px}.stay-info h4{font-size:13px;text-transform:uppercase;letter-spacing:1.3px;margin:24px 0 10px}.amenities{padding:0;list-style:none;color:var(--muted);font-size:13px}.amenities li{margin:8px 0}.amenities li::first-letter{color:var(--teal)}.sleep{display:grid;gap:4px;border-top:1px solid var(--line);margin-top:22px;padding-top:17px;font-size:13px}.sleep b{font-size:12px;text-transform:uppercase;letter-spacing:1px}.rules{font-size:12px;color:#7b6d61;margin-top:16px}.booking-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.booking-links a{font-size:12px;font-weight:700;text-decoration:none;border:1px solid var(--teal);padding:10px 12px;color:var(--teal)}.booking-links a:hover{background:var(--teal);color:white}.booking-note{text-align:center;color:var(--muted);font-size:12px;max-width:750px;margin:10px auto 0}.area{background:var(--sand);padding:90px 0}.area-inner{width:min(1160px,88%);margin:auto;display:grid;grid-template-columns:1fr .82fr;gap:70px;align-items:center}.area h2{max-width:520px}.area-inner>div>p:not(.eyebrow){color:var(--muted);font-size:15px}.area-list{list-style:none;margin:28px 0 0;padding:0}.area-list li{display:flex;gap:18px;border-top:1px solid #ded5c7;padding:16px 0}.area-list li>span{color:var(--coral);font-family:'Playfair Display',serif;font-size:20px}.area-list b{font-size:14px}.area-list p{margin:4px 0 0;color:var(--muted);font-size:12px}.area-photo{position:relative}.area-photo img{width:100%;display:block;box-shadow:var(--shadow)}.area-photo>span{position:absolute;bottom:16px;left:16px;background:var(--cream);padding:10px 14px;font-size:12px;font-weight:700}.contact{text-align:center;padding:95px 0}.contact h2{max-width:700px;margin:0 auto 18px}.contact>p:not(.eyebrow){color:var(--muted);font-size:14px}.contact .button{margin-top:15px}.contact .small-note{font-size:11px;margin-top:15px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px clamp(20px,5vw,76px);background:var(--ink);color:#f8f4eb;font-size:11px}footer a{text-decoration:none}.footer-brand{font-size:12px;letter-spacing:1.5px}.footer-brand b{color:#f1b596}footer>span{color:#d5e0dc}footer a:last-of-type{text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.site-header{height:75px}.brand img{height:48px;width:52px}.menu-toggle{display:block}nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--cream);padding:22px;box-shadow:0 15px 20px #00000012;align-items:flex-start;gap:20px;flex-direction:column}nav.open{display:flex}.languages{margin:0}.hero{min-height:570px}.hero-copy{padding:75px 7%}.hero-image{position:absolute;inset:0;background:url('assets/carihuela-breeze-brand-hero.jpg') center center/cover no-repeat}.hero-note{left:7%;right:auto}.section-heading{display:block}.section-heading>p{margin-bottom:0}.stay-card{grid-template-columns:1fr}.stay-card.reverse .stay-gallery{order:0}.gallery-main{min-height:300px;height:55vw;max-height:470px}.stay-info{padding:28px}.area-inner{grid-template-columns:1fr;gap:35px}.area-photo{max-width:560px}footer{flex-wrap:wrap} }
@media(max-width:460px){.hero h1{font-size:43px}.hero-text{font-size:15px}.intro{padding:70px 0 55px}.stays{padding-bottom:65px}.stay-info{padding:24px 20px}.gallery-main{min-height:250px}.area{padding:65px 0}.contact{padding:70px 0}footer{align-items:flex-start;flex-direction:column;gap:10px}}

.privacy{padding:65px 0 100px;max-width:850px}.privacy h1{font:500 clamp(34px,5vw,52px) "Playfair Display",Georgia,serif}.privacy p,.privacy li{color:var(--muted);font-size:14px}.privacy h2{font:500 24px "Playfair Display",Georgia,serif;margin-top:35px}
.address-line{font-size:12px!important;color:var(--teal)!important;font-weight:700;letter-spacing:.2px;margin-top:-8px;margin-bottom:12px}

/* Versie 4: leidende merkvisual, leesbare volledige beschrijvingen en gegroepeerde galerijen */
.hero-copy,.hero-note{display:none}
.intro{padding-top:58px;padding-bottom:60px}
.intro-cta{margin-top:22px}
.full-description p{font-size:14px;color:var(--muted);margin:0 0 13px}
.stay-gallery{display:flex;flex-direction:column}
.gallery-main{height:clamp(280px,38vw,500px);min-height:280px;max-height:500px;object-fit:cover}
.gallery-thumbs{flex-wrap:nowrap;scrollbar-width:thin}
.gallery-thumbs img{width:82px;height:62px}
.address-line{font-size:12px!important;color:var(--teal)!important;font-weight:700;letter-spacing:.2px;margin-top:-8px;margin-bottom:12px}
@media(max-width:760px){.hero{min-height:280px}.intro{padding-top:42px;padding-bottom:42px}.gallery-main{height:300px;min-height:300px}.stay-card.reverse .stay-gallery{order:0}}

.gallery-main.map-image{object-fit:contain;background:#f7f0e5}

/* Flag-only language selector: always visible on desktop and mobile */
.site-header>.languages{display:flex;align-items:center;gap:5px;margin-left:auto;padding-left:14px;flex-shrink:0}
.site-header>.languages button{display:grid;place-items:center;width:39px;height:36px;padding:5px;border:1px solid transparent;background:transparent;border-radius:7px;cursor:pointer}
.site-header>.languages button img{display:block;width:27px;height:19px;object-fit:cover;border-radius:2px;box-shadow:0 1px 3px #0002}
.site-header>.languages button.active,.site-header>.languages button:hover{background:var(--sand);border-color:var(--line)}
@media(max-width:800px){.site-header>.languages{margin-left:auto;padding-left:4px;margin-right:12px}.site-header>.languages button{width:34px;padding:3px}.site-header>.languages button img{width:25px;height:17px}}

/* Gecentreerde navigatie en sectiekoppen */
.site-header{position:sticky}.site-header nav{position:absolute;left:50%;transform:translateX(-50%);justify-content:center}.site-header>.languages{margin-left:auto}.section-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px}.section-heading h2{max-width:none}.section-heading>p{max-width:650px;margin:0 auto}.contact{text-align:center}.contact>p{margin-left:auto;margin-right:auto;max-width:720px}
.booking-panel{margin-top:24px;padding-top:4px}.booking-links{margin-top:8px}.booking-disabled{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d8d9d5;background:#f6f5f1;color:#7e898b;border-radius:4px;padding:10px 12px;font-size:12px;font-weight:700;cursor:not-allowed;opacity:.8}.calendar-panel{margin-top:25px;border:1px solid var(--line);border-radius:8px;padding:18px;background:#faf9f5}.calendar-panel h4{margin:0 0 14px}.calendar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.calendar-top strong{text-transform:capitalize;font-size:14px}.calendar-top button{background:white;border:1px solid var(--line);width:32px;height:32px;cursor:pointer;border-radius:5px;font-size:20px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.calendar-weekday{font-size:10px;font-weight:bold;color:var(--muted)}.calendar-day{padding:7px 0;font-size:12px;color:#879091;background:#f0f0eb;border-radius:3px}.calendar-pending{font-size:11px;color:#816b4d;margin:14px 0 0;line-height:1.5}.smoobu-frame{border:0;width:100%;min-height:400px}
@media(max-width:800px){.site-header nav{position:absolute;left:0;right:0;transform:none;top:74px;justify-content:flex-start}.site-header nav.open{display:flex}.section-heading{text-align:center}}

/* Fotogalerijen: alle miniaturen direct zichtbaar in een overzichtelijk rooster. */
.gallery-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;overflow:visible;flex-wrap:unset;padding-top:10px;align-content:start}
.gallery-thumbs img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;min-width:0;cursor:pointer;opacity:.85;border:2px solid transparent;border-radius:4px;transition:opacity .15s,border-color .15s}
.gallery-thumbs img:hover,.gallery-thumbs img.selected{opacity:1;border-color:var(--coral)}
@media(max-width:800px){.gallery-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.gallery-main{height:clamp(240px,55vw,420px);min-height:240px}}
@media(max-width:460px){.gallery-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.gallery-main{height:250px;min-height:250px}.stay-gallery{padding:8px}.site-header{padding-left:12px;padding-right:12px}.brand{letter-spacing:.5px;font-size:11px}.brand img{width:43px;height:43px}.site-header>.languages{gap:1px;margin-right:6px}}

/* Landscape photo presentation: compact main image + complete desktop overview. */
.stay-gallery{align-self:start;gap:0}
.gallery-main{width:100%;height:clamp(220px,37vh,340px)!important;min-height:0!important;max-height:none!important;aspect-ratio:16/9;object-fit:cover}
.gallery-thumbs{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:5px!important;padding-top:7px}
.gallery-thumbs img{aspect-ratio:4/3;border-radius:3px}
.gallery-expand{display:none;margin:10px auto 0;border:1px solid var(--teal);background:white;color:var(--teal);font-weight:700;font-size:13px;border-radius:5px;padding:10px 16px;cursor:pointer}
@media(min-width:801px) and (max-height:700px){.gallery-main{height:clamp(190px,32vh,260px)!important}.gallery-thumbs{gap:4px!important}}
@media(max-width:800px){.gallery-main{height:clamp(190px,38vh,300px)!important}.gallery-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))!important}.gallery-thumbs:not(.expanded) img:nth-child(n+9){display:none}.gallery-expand{display:block}}
@media(max-width:460px){.gallery-main{height:clamp(175px,34vh,245px)!important}.gallery-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))!important}.gallery-thumbs:not(.expanded) img:nth-child(n+7){display:none}}

/* Finale galerij: complete foto zonder uitsnede; alleen de miniaturen scrollen. */
.stay-gallery{min-width:0;overflow:hidden;display:flex;flex-direction:column;gap:0}
.gallery-main{display:block;width:100%;height:clamp(210px,49vh,460px)!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center;background:#f3f0e9}
.gallery-thumbs,.gallery-thumbs:not(.expanded){display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;max-height:clamp(100px,19vh,170px)!important;padding:7px 5px 7px 2px;scrollbar-width:thin;align-content:start}
.gallery-thumbs img,.gallery-thumbs:not(.expanded) img:nth-child(n){display:block!important;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;min-width:0}
.gallery-expand{display:none!important}
@media(max-width:800px){.gallery-main{height:clamp(180px,43vh,340px)!important}.gallery-thumbs,.gallery-thumbs:not(.expanded){grid-template-columns:repeat(4,minmax(0,1fr))!important;max-height:clamp(95px,18vh,150px)!important}}
@media(max-width:460px){.gallery-main{height:clamp(165px,39vh,280px)!important}.gallery-thumbs,.gallery-thumbs:not(.expanded){grid-template-columns:repeat(3,minmax(0,1fr))!important;max-height:clamp(95px,19vh,145px)!important}}

/* Beide accommodatiekaarten: fotogalerij boven kalender, identieke indeling. */
.stay-gallery{display:flex;flex-direction:column;align-self:stretch}
.stay-gallery .calendar-panel{margin-top:18px;background:#fff;border-radius:8px;padding:16px;flex-shrink:0}
.stay-gallery .gallery-main{object-fit:contain!important}
.stay-gallery .gallery-thumbs{overflow-y:auto!important;overflow-x:hidden!important}
@media(max-width:800px){.stay-gallery .calendar-panel{margin-top:12px;padding:12px}}

/* Desktop: de complete accommodatiekaart past in een scherm; links foto's + kalender, rechts tekst. */
@media (min-width: 901px) {
 .stay-card {grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);height:calc(100dvh - 104px);min-height:590px;max-height:900px;overflow:hidden;}
 .stay-card.reverse .stay-gallery {order:0;}
 .stay-gallery {height:100%;min-height:0;overflow:hidden;padding:10px;display:grid;grid-template-rows:minmax(0,1fr) minmax(70px,17%) auto;gap:7px;}
 .stay-gallery .gallery-main {height:100%!important;min-height:0!important;max-height:100%!important;object-fit:contain!important;}
 .stay-gallery .gallery-thumbs {height:100%;max-height:none!important;min-height:0;overflow-y:auto!important;overflow-x:hidden!important;padding:2px;grid-template-columns:repeat(6,minmax(0,1fr))!important;align-content:start;}
 .stay-gallery .calendar-panel {margin:0;padding:9px 12px;min-height:0;}
 .stay-gallery .calendar-panel h4 {margin:0 0 5px;font-size:11px;}
 .stay-gallery .calendar-top {margin-bottom:4px;}
 .stay-gallery .calendar-top button {width:24px;height:24px;font-size:16px;}
 .stay-gallery .calendar-grid {gap:2px;}
 .stay-gallery .calendar-day {padding:2px 0;font-size:10px;}
 .stay-gallery .calendar-pending {font-size:10px;margin:5px 0 0;line-height:1.2;}
 .stay-info {height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:clamp(15px,2.2vw,30px);scrollbar-width:thin;}
 .stay-info h3 {font-size:clamp(22px,2vw,29px);margin-bottom:8px;}
 .stay-info .full-description p {margin:6px 0;font-size:12px;line-height:1.45;}
 .stay-info .feature-chips {margin:12px 0;}
 .stay-info h4 {margin:12px 0 6px;}
 .stay-info .amenities li {margin:4px 0;}
 .stay-info .sleep {margin-top:12px;padding-top:10px;}
 .stay-info .booking-panel {margin-top:10px;}
}
@media (min-width:901px) and (max-height:730px) {
 .stay-card {min-height:0;}
 .stay-gallery {grid-template-rows:minmax(0,1fr) minmax(58px,14%) auto;}
 .stay-gallery .calendar-panel {padding:6px 9px;}
 .stay-gallery .calendar-day {padding:1px 0;}
}
@media (max-width:900px) {
 .stay-card {display:flex;flex-direction:column;}
 .stay-gallery {order:0!important;}
 .stay-info {order:1;}
 .stay-gallery .calendar-panel {margin-top:12px;}
}

/* Gelijke schermhelften: alle miniaturen en de volledige tekst zonder interne scrollbalken.
   De kaart mag op lage schermen groeien: leesbaarheid gaat boven afsnijden. */
@media (min-width: 901px) {
 .stay-card {grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;height:auto;min-height:0;max-height:none;overflow:visible;align-items:stretch;}
 .stay-gallery {height:auto;min-height:0;overflow:visible;display:flex;flex-direction:column;gap:6px;padding:9px;}
 .stay-gallery .gallery-main {height:clamp(130px,22vh,220px)!important;max-height:none!important;flex:0 0 auto;object-fit:contain!important;}
 .stay-gallery .gallery-thumbs {display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px!important;height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;padding:2px;align-content:start;}
 .stay-gallery .gallery-thumbs img {aspect-ratio:4/3;object-fit:cover;}
 .stay-gallery .calendar-panel {margin-top:2px;padding:8px 12px;flex:0 0 auto;}
 .stay-info {height:auto;min-height:0;overflow:visible;padding:clamp(14px,1.8vw,24px);}
 .stay-info .full-description p {font-size:clamp(11px,.82vw,13px);line-height:1.35;margin:5px 0;}
 .stay-info>p:not(.eyebrow):not(.rules) {font-size:12px;}
 .stay-info .feature-chips {gap:5px;margin:9px 0;}
 .stay-info .feature-chips>span {padding:4px 7px;font-size:10px;}
 .stay-info h4 {margin:9px 0 4px;}
 .stay-info .amenities {font-size:11px;line-height:1.3;}
 .stay-info .amenities li {margin:3px 0;}
 .stay-info .sleep {margin-top:8px;padding-top:7px;font-size:11px;}
 .stay-info .booking-panel {margin-top:8px;}
 .stay-info .booking-disabled {padding:6px 8px;font-size:10px;}
 .stay-info .booking-links {gap:5px;margin-top:5px;}
}
@media (min-width:901px) and (max-height:720px) {
 .stay-gallery .gallery-main {height:clamp(105px,18vh,145px)!important;}
 .stay-gallery .gallery-thumbs {gap:2px!important;}
 .stay-gallery .calendar-panel {padding:5px 9px;}
 .stay-info {padding:12px 15px;}
}

/* Grotere hoofdfoto en toegankelijk schermvullend fotovenster. */
@media (min-width:901px){.stay-gallery .gallery-main{height:clamp(225px,32vh,350px)!important;cursor:zoom-in;}.stay-gallery{justify-content:flex-start}}
@media (min-width:901px) and (max-height:720px){.stay-gallery .gallery-main{height:clamp(180px,27vh,240px)!important}}
.gallery-main{cursor:zoom-in}
.photo-lightbox[hidden]{display:none!important}
.photo-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(8,16,18,.96);display:flex;align-items:center;justify-content:center;padding:55px 65px 65px}
.photo-lightbox img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 6px 35px #0007}
.photo-lightbox button{position:absolute;background:#fffdf2e8;color:#182e30;border:0;border-radius:50%;width:43px;height:43px;font-size:27px;line-height:1;cursor:pointer;display:grid;place-items:center}
.photo-lightbox .lightbox-close{top:14px;right:17px}.photo-lightbox .lightbox-prev{left:12px;top:50%;transform:translateY(-50%)}.photo-lightbox .lightbox-next{right:12px;top:50%;transform:translateY(-50%)}
.photo-lightbox .lightbox-counter{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);color:white;font-size:13px;letter-spacing:.05em}
@media(max-width:600px){.photo-lightbox{padding:60px 8px 65px}.photo-lightbox button{width:38px;height:38px}.photo-lightbox .lightbox-prev{left:5px}.photo-lightbox .lightbox-next{right:5px}}

/* Alleen de twee locatieknoppen */
.map-location{margin:0 0 15px}.map-location-link{display:inline-block;color:var(--teal);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.map-location-link:hover{text-decoration-thickness:2px}

/* Payment and cancellation terms: isolated styling */
.booking-terms{padding:clamp(36px,5vw,70px) 20px;background:#f7f7f4;color:#25302e}
.booking-terms-inner{max-width:900px;margin:0 auto}
.booking-terms h2{font-size:clamp(24px,3vw,34px);line-height:1.2;margin:0 0 25px}
.booking-terms h3{font-size:18px;margin:23px 0 8px}
.booking-terms p{font-size:15px;line-height:1.75;margin:0 0 12px}
.booking-terms .booking-terms-note{font-size:13px;opacity:.82;margin-top:22px}

/* Compacte prijsinformatie onder de bestaande Smoobu-kalender */
.smoobu-pricing{padding:12px 14px;margin:10px 0 18px;border:1px solid rgba(110,110,110,.22);border-radius:10px}
.smoobu-pricing h4{margin:0 0 8px;font-size:1rem}.smoobu-pricing p{margin:5px 0;font-size:.88rem}
.smoobu-price-note{opacity:.75}.smoobu-price-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(75px,1fr));gap:5px}
.smoobu-price-day{display:flex;flex-direction:column;gap:3px;text-align:center;padding:6px;border:1px solid rgba(110,110,110,.18);border-radius:6px;font-size:.78rem}
.smoobu-price-day.unavailable{opacity:.45;text-decoration:line-through}

/* Alleen typografie van beide accommodatie-omschrijvingen vergroten. */
.stay-info .full-description p {font-size:16px;line-height:1.6;}
.stay-info>p:not(.eyebrow):not(.rules) {font-size:16px;}
.stay-info .amenities {font-size:15px;line-height:1.55;}
.stay-info .sleep {font-size:15px;line-height:1.5;}
.stay-info .sleep b {font-size:13px;}
.stay-info .rules {font-size:14px;}
.stay-info .feature-chips>span {font-size:13px;}
.stay-info h4 {font-size:16px;}
.stay-info .booking-links a,.stay-info .booking-disabled {font-size:14px;}
.stay-info .address-line {font-size:14px!important;}
.stay-info .map-location-link {font-size:15px;}
@media (min-width:901px) {
 .stay-info .full-description p {font-size:16px;line-height:1.6;margin:10px 0;}
 .stay-info>p:not(.eyebrow):not(.rules) {font-size:16px;}
 .stay-info .amenities {font-size:15px;line-height:1.55;}
 .stay-info .sleep {font-size:15px;}
 .stay-info .feature-chips>span {font-size:13px;}
 .stay-info .booking-disabled {font-size:14px;}
}
.smoobu-pricing[hidden]{display:none!important;}

/* Gelijke linker- en rechterkolom voor beide accommodaties; inhoud blijft ongewijzigd. */
@media (min-width:801px) {
 .stay-card,.stay-card.reverse {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;}
 .stay-card>.stay-gallery,.stay-card>.stay-info {min-width:0;width:100%;height:100%;box-sizing:border-box;align-self:stretch;}
 .stay-card>.stay-gallery {display:flex!important;flex-direction:column!important;justify-content:flex-start!important;overflow:visible!important;}
 .stay-card>.stay-info {overflow-wrap:break-word;}
 .stay-card .stay-gallery .gallery-main {width:100%;height:clamp(225px,32vh,350px)!important;flex:0 0 auto;}
 .stay-card .stay-gallery .gallery-thumbs {flex:0 0 auto;height:auto!important;max-height:180px!important;overflow-y:auto!important;}
 .stay-card .stay-gallery .calendar-panel {flex:0 0 auto;}
}
@media (max-width:800px) {
 .stay-card,.stay-card.reverse {grid-template-columns:minmax(0,1fr)!important;height:auto!important;}
 .stay-card>.stay-gallery,.stay-card>.stay-info {height:auto!important;}
}

/* Correctie: gelijke breedte, alle miniaturen zonder intern scrollen. */
.stay-card,.stay-card.reverse{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important;height:auto!important;max-height:none!important;overflow:visible!important}
.stay-card>.stay-gallery,.stay-card>.stay-info{min-width:0!important;box-sizing:border-box!important;align-self:stretch!important;height:auto!important;max-height:none!important}
.stay-card .gallery-thumbs,.stay-card .gallery-thumbs:not(.expanded){display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:4px!important;height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;scrollbar-width:none!important;align-content:start!important}
.stay-card .gallery-thumbs img,.stay-card .gallery-thumbs:not(.expanded) img:nth-child(n){display:block!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important}
.stay-card .stay-gallery{overflow:visible!important;justify-content:flex-start!important}
/* Geen lege prijsbalk onder de kalender zolang prijsdata ontbreken. */
.smoobu-pricing:empty,.smoobu-pricing[hidden]{display:none!important;padding:0!important;margin:0!important;border:0!important}
@media(max-width:800px){.stay-card,.stay-card.reverse{grid-template-columns:minmax(0,1fr)!important}.stay-card .gallery-thumbs,.stay-card .gallery-thumbs:not(.expanded){grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:460px){.stay-card .gallery-thumbs,.stay-card .gallery-thumbs:not(.expanded){grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* Alleen de noodzakelijke cookietoestemmingsbalk; overige vormgeving blijft intact. */
.cb-cookie-banner[hidden]{display:none!important}
.cb-cookie-banner{position:fixed;bottom:16px;left:16px;right:16px;max-width:680px;margin:auto;z-index:99999;background:#fffdf8;border:1px solid #e4ded2;box-shadow:0 12px 35px #173d4630;border-radius:12px;padding:18px 20px;font-size:14px;line-height:1.5}
.cb-cookie-banner p{margin:0 0 12px}.cb-cookie-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.cb-cookie-actions button{border:1px solid #1e626b;background:transparent;color:#123b46;padding:8px 16px;border-radius:6px;cursor:pointer;font:inherit}
.cb-cookie-actions [data-cookie-accept]{background:#1e626b;color:white}
.cb-cookie-settings{background:transparent;border:0;text-decoration:underline;cursor:pointer;color:inherit;font:inherit;padding:0}

/* Zelfstandige kalender, behoud van de bestaande galerij- en kaartindeling. */
.stay-gallery .local-calendar{margin-top:12px;background:#fff;border-radius:8px;padding:10px 12px;color:#00394b;flex-shrink:0;}
.local-calendar-heading{font-size:12px;font-weight:700;margin-bottom:7px;}
.local-calendar-controls{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 7px;}
.local-calendar-controls strong{font-size:12px;font-weight:700;text-transform:capitalize;}
.local-calendar-controls button{border:1px solid #d9d7d1;border-radius:5px;background:#fff;color:#00394b;cursor:pointer;width:28px;height:25px;font-size:19px;line-height:1;}
.local-calendar-controls button:hover,.local-calendar-controls button:focus-visible{background:#f1eee7;outline-color:#bd8b4c;}
.local-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center;}
.local-calendar-weekday{font-size:10px;font-weight:700;color:#5f7077;padding:3px 0;}
.local-calendar-day{font-size:11px;line-height:1.4;padding:4px 0;border-radius:3px;background:#f3f2ed;color:#344a53;}
.local-calendar-today{outline:1px solid #bc8d4d;font-weight:700;}
.local-calendar-note{font-size:10px;line-height:1.35;color:#6a6b66;margin:8px 0 0;}
@media(min-width:801px){.stay-gallery .local-calendar{margin-top:6px;padding:7px 10px;}.local-calendar-day{padding:2px 0;}.local-calendar-heading{margin-bottom:3px;}.local-calendar-controls{margin-bottom:3px;}.local-calendar-note{margin-top:5px;}}

/* Beschikbaarheidsmarkering binnen de bestaande kalender */
.local-calendar-day.local-calendar-busy { background:#c46c63; color:#fff; border-radius:5px; font-weight:700; }

/* Kalendergedeelte vult op brede schermen de linker kolom tot de hoogte van de rechter kolom. */
@media (min-width:801px) {
  .stay-card > .stay-gallery { height:100%!important; }
  .stay-card .stay-gallery .local-calendar { flex:1 1 auto!important; min-height:310px; display:flex; flex-direction:column; }
  .stay-card .stay-gallery .local-calendar-grid { flex:1 1 auto; grid-template-rows:repeat(7,minmax(27px,1fr)); align-content:stretch; }
  .stay-card .stay-gallery .local-calendar-day { display:flex; align-items:center; justify-content:center; }
}

/* Smoobu within the original accommodation calendar cards; no extra section */
.smoobu-official:empty{display:none}.smoobu-official .calendarContent:empty{display:none}
.smoobu-prices-button{display:block;margin:10px 0 0;padding:10px 14px;background:#00394b;color:white;border:0;border-radius:5px;font:inherit;font-weight:700;cursor:pointer}
.smoobu-fallback[hidden]{display:none!important}
#smoobu-prices-dialog{width:min(960px,95vw);max-height:88vh;border:0;border-radius:12px;padding:20px;background:white;color:#00394b;box-shadow:0 15px 60px #0004}
#smoobu-prices-dialog::backdrop{background:#0008}.smoobu-dialog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:20px}
#smoobu-dialog-close{background:transparent;border:0;font-size:30px;cursor:pointer}
#apartmentIframeAll{min-height:350px}#apartmentIframeAll iframe{width:100%;border:0}

/* Compact price calculator in the original accommodation calendar column. */
.stay-price-tool{margin-top:10px;border-top:1px solid #d9d7d1;padding-top:10px;font-size:12px;color:#00394b}
.stay-price-tool .price-title{font-weight:700;margin:0 0 8px;font-size:13px}
.stay-price-tool .price-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.stay-price-tool label{display:block;font-size:11px;font-weight:600}
.stay-price-tool input{display:block;box-sizing:border-box;width:100%;min-width:0;margin-top:4px;padding:7px 4px;border:1px solid #bbbcb9;border-radius:5px;background:white;color:#00394b;font:inherit}
.stay-price-tool .price-result{margin-top:9px;line-height:1.55}
.stay-price-tool .price-row{display:flex;justify-content:space-between;gap:8px}
.stay-price-tool .price-total{border-top:1px solid #d9d7d1;margin-top:5px;padding-top:5px;font-weight:800;font-size:14px}
.stay-price-tool .price-warning{color:#99502b;font-weight:600}
.stay-price-tool .price-disclaimer{margin:7px 0 0;color:#68767a;font-size:10px;line-height:1.4}
.local-calendar-day .cal-night-price{display:block;font-size:9px;font-weight:600;line-height:1.1}
.local-calendar-day:has(.cal-night-price){display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:29px}

/* Show only the Smoobu calendar once its content has arrived. */
.local-calendar:has(.smoobu-official .calendarContent > *) > .smoobu-fallback {display:none!important;}
