/*
Theme Name: Aloha Beach Custom
Theme URI: https://alohabeach.nl/
Author: Aloha Beach
Description: Responsive Aloha Beach website with editable content and images through the WordPress Customizer.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: aloha-beach
*/
:root{--orange:#f7a21b;--green:#214c25;--cream:#f3efe5;--ink:#161616;--white:#fffaf0;--line:rgba(22,22,22,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.grain{position:fixed;inset:0;z-index:1000;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}.site-header{position:fixed;z-index:900;left:0;right:0;top:0;height:94px;display:flex;align-items:center;justify-content:space-between;padding:10px 28px;mix-blend-mode:normal;color:#fff;transition:.35s}.site-header.scrolled{background:rgba(243,239,229,.93);backdrop-filter:blur(14px);color:var(--ink);border-bottom:1px solid var(--line)}.brand{width:68px;height:68px;display:grid;place-items:center}.brand img{object-fit:contain;filter:drop-shadow(0 5px 12px rgba(0,0,0,.16))}.desktop-nav{display:flex;gap:30px;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.desktop-nav a,.round-link{position:relative}.desktop-nav a:after,.round-link:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:currentColor;transition:.25s}.desktop-nav a:hover:after,.round-link:hover:after{right:0}.header-actions{display:flex;align-items:center;gap:18px}.round-link{font-size:13px;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.cta{background:var(--orange);color:#151515;padding:15px 21px;border-radius:100px;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.menu-btn{display:none;background:none;border:0;width:42px;height:42px;position:relative}.menu-btn span{position:absolute;left:8px;right:8px;height:2px;background:currentColor;transition:.25s}.menu-btn span:first-child{top:15px}.menu-btn span:last-child{top:25px}.menu-btn.open span:first-child{transform:rotate(45deg);top:20px}.menu-btn.open span:last-child{transform:rotate(-45deg);top:20px}.mobile-menu{display:none}.hero{height:100svh;min-height:720px;position:relative;color:white;background:#111}.hero-img{position:absolute;inset:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.14) 58%,rgba(0,0,0,.1) 100%),linear-gradient(0deg,rgba(0,0,0,.4),transparent 45%)}.hero-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:0 5vw 6vh}.eyebrow{margin:0 0 16px;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.16em}.eyebrow.dark{color:var(--green)}h1,h2,h3{font-family:Impact,"Arial Black",sans-serif;font-weight:900;text-transform:uppercase;line-height:.85;letter-spacing:-.035em;margin:0}h1{font-size:clamp(72px,10.6vw,178px);max-width:1050px;text-shadow:0 4px 30px rgba(0,0,0,.17)}h1 em,h2 em{font-style:italic;font-family:Georgia,serif;text-transform:none;font-weight:500;letter-spacing:-.06em}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:28px;gap:30px}.hero-bottom p{margin:0;max-width:440px;font-size:20px;line-height:1.35}.sun-button{width:138px;height:138px;background:var(--orange);color:#111;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:900;text-transform:uppercase;transform:rotate(-5deg);transition:.25s}.sun-button:hover{transform:rotate(5deg) scale(1.04)}.sun-button b{font-size:20px}.scroll-tag{position:absolute;right:22px;bottom:118px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;letter-spacing:.18em;font-weight:900}.section-pad{padding:120px 6vw}.intro{position:relative;min-height:720px;background:var(--cream);overflow:hidden}.intro-sticker{position:absolute;right:7vw;top:80px;width:164px;height:164px;border:2px solid var(--green);color:var(--green);border-radius:50%;display:grid;place-items:center;text-align:center;font-family:Impact,sans-serif;font-size:23px;line-height:.9;transform:rotate(8deg)}.intro h2,.story h2,.gallery h2{font-size:clamp(64px,9.8vw,150px)}.intro h2 span,.story h2 span,.gallery h2 span{color:var(--orange);font-style:italic;font-family:Georgia,serif;text-transform:none;font-weight:500}.intro-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:13vw;margin-top:70px;max-width:1120px;margin-left:auto}.intro-grid p{font-size:18px;line-height:1.55;margin:0}.intro-grid .lead{font-size:28px;line-height:1.25;font-weight:700}.feature-grid{display:grid;grid-template-columns:1fr 1fr;min-height:780px}.feature{position:relative;min-height:780px;overflow:hidden;color:#fff}.feature img{transition:transform 1s cubic-bezier(.2,.8,.2,1)}.feature:hover img{transform:scale(1.045)}.feature-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65),rgba(0,0,0,.02) 70%)}.feature-copy{position:absolute;left:44px;right:44px;bottom:46px}.feature-copy span{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:900}.feature-copy h3{font-size:clamp(56px,5vw,88px);margin:12px 0 26px}.feature-copy a{display:inline-block;border-bottom:2px solid #fff;padding-bottom:5px;font-weight:900;text-transform:uppercase;font-size:13px}.marquee{background:var(--green);color:var(--white);overflow:hidden;padding:18px 0;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.marquee-track{display:flex;gap:28px;align-items:center;width:max-content;animation:marquee 25s linear infinite;font-family:Impact,sans-serif;font-size:38px;letter-spacing:.03em}.marquee i{color:var(--orange);font-style:normal}@keyframes marquee{to{transform:translateX(-50%)}}.story{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:center;background:#ece8dc;min-height:960px}.story-copy{align-self:center}.story-copy h2{font-size:clamp(65px,7vw,108px)}.story-copy>p:not(.eyebrow){max-width:530px;font-size:20px;line-height:1.55;margin:40px 0}.text-link{display:inline-flex;gap:18px;align-items:center;text-transform:uppercase;font-size:13px;font-weight:900;border-bottom:2px solid var(--ink);padding-bottom:6px}.story-stack{height:720px;position:relative}.photo-card{position:absolute;margin:0;background:#fff;padding:12px 12px 44px;box-shadow:0 24px 60px rgba(0,0,0,.16)}.photo-card img{height:100%}.photo-card figcaption{height:32px;display:flex;align-items:flex-end;font-family:Georgia,serif;font-style:italic;font-size:14px}.p1{width:52%;height:64%;left:0;top:4%;transform:rotate(-5deg)}.p2{width:50%;height:55%;right:0;top:16%;transform:rotate(7deg)}.p3{width:52%;height:54%;left:26%;bottom:0;transform:rotate(-1deg)}.orange-split{background:var(--orange);display:grid;grid-template-columns:1fr 1fr;min-height:860px}.orange-copy{padding:110px 6vw;display:flex;flex-direction:column;justify-content:center}.orange-copy h2{font-size:clamp(70px,8vw,132px)}.orange-copy h2 em{color:var(--green)}.orange-copy p:not(.eyebrow){font-size:20px;line-height:1.5;max-width:530px;margin:38px 0}.inverse-button{display:inline-block;align-self:flex-start;background:var(--green);color:white;border-radius:100px;padding:18px 23px;text-transform:uppercase;font-weight:900;font-size:12px;letter-spacing:.06em}.orange-photo{position:relative;min-height:760px;overflow:hidden}.orange-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.32),transparent 45%)}.scribble{position:absolute;z-index:2;right:6%;bottom:8%;font-family:Georgia,serif;font-style:italic;font-size:72px;color:white;line-height:.8;transform:rotate(-8deg)}.gallery{background:var(--cream)}.gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:64px}.gallery-head>p{max-width:430px;font-size:18px;line-height:1.5}.masonry{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:110px;gap:16px}.masonry figure{margin:0;overflow:hidden;grid-column:span 4;grid-row:span 4}.masonry figure.tall{grid-column:span 4;grid-row:span 6}.masonry figure.wide{grid-column:span 8;grid-row:span 5}.masonry img{transition:transform .8s}.masonry figure:hover img{transform:scale(1.04)}.menu-banner{min-height:900px;position:relative;color:white;display:grid;align-items:center;overflow:hidden}.menu-banner>img{position:absolute;inset:0}.menu-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.22) 72%)}.menu-banner-copy{position:relative;z-index:2;width:min(720px,90vw);padding:90px 6vw}.menu-banner h2{font-size:clamp(80px,10vw,160px)}.menu-links{margin-top:58px;display:grid;grid-template-columns:1fr 1fr;max-width:620px;border-top:1px solid rgba(255,255,255,.5)}.menu-links a{font-family:Impact,sans-serif;text-transform:uppercase;font-size:32px;padding:20px 8px;border-bottom:1px solid rgba(255,255,255,.5);display:flex;justify-content:space-between}.menu-links a:nth-child(odd){border-right:1px solid rgba(255,255,255,.5)}.reserve{background:var(--green);color:white;padding:130px 5vw 140px;text-align:center;position:relative;overflow:hidden}.reserve:before{content:"ALOHA";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:Impact,sans-serif;font-size:38vw;color:rgba(255,255,255,.035);white-space:nowrap}.reserve-inner{position:relative;z-index:2;max-width:950px;margin:auto}.reserve-logo{width:110px;height:110px;object-fit:contain;margin:0 auto 18px}.reserve h2{font-size:clamp(94px,13vw,200px)}.reserve h2 em{color:var(--orange)}.reserve-inner>p:not(.eyebrow){max-width:500px;margin:35px auto;font-size:19px;line-height:1.5}.big-book{width:190px;height:190px;border-radius:50%;background:var(--orange);color:#111;display:flex;align-items:center;justify-content:center;gap:18px;margin:45px auto 0;text-transform:uppercase;font-weight:900;transition:.25s}.big-book:hover{transform:scale(1.05) rotate(4deg)}.big-book span{font-size:18px;line-height:1.1}.big-book b{font-size:26px}footer{background:#151515;color:#f5f1e7;padding:80px 5vw 28px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1.3fr 1fr;gap:5vw;padding-bottom:70px}.footer-kicker{font-size:11px;font-weight:900;letter-spacing:.14em}.footer-top h3{font-size:72px;color:var(--orange)}.footer-col{display:flex;flex-direction:column;gap:12px;font-size:15px}.footer-col strong{text-transform:uppercase;font-size:11px;letter-spacing:.12em;margin-bottom:10px;color:var(--orange)}.footer-col a:hover{color:var(--orange)}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);padding-top:24px;display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.56)}
@media(max-width:900px){.site-header{height:78px;padding:8px 14px}.brand{width:56px;height:56px}.desktop-nav,.round-link{display:none}.menu-btn{display:block}.header-actions{gap:10px}.cta{padding:13px 16px}.mobile-menu{position:fixed;z-index:850;inset:78px 0 0;background:var(--green);color:white;padding:60px 24px;flex-direction:column;gap:18px;transform:translateX(100%);transition:.35s;display:flex;visibility:hidden}.mobile-menu.open{transform:none;visibility:visible}.mobile-menu a{font-family:Impact,sans-serif;text-transform:uppercase;font-size:44px;line-height:1}.mobile-menu .mobile-cta{font-family:Arial,sans-serif;font-size:13px;margin-top:30px;background:var(--orange);color:#111;padding:18px;border-radius:100px;text-align:center}.hero{min-height:690px}.hero-copy{padding:0 22px 45px}.hero h1{font-size:clamp(66px,20vw,105px)}.hero-bottom{align-items:center}.hero-bottom p{font-size:16px;max-width:250px}.sun-button{width:104px;height:104px;font-size:10px;flex-shrink:0}.scroll-tag{display:none}.section-pad{padding:82px 22px}.intro{min-height:650px}.intro-sticker{width:110px;height:110px;font-size:16px;right:16px;top:35px}.intro h2,.story h2,.gallery h2{font-size:clamp(58px,17vw,100px)}.intro-grid{grid-template-columns:1fr;gap:24px;margin-top:50px;margin-left:0}.intro-grid .lead{font-size:24px}.feature-grid{grid-template-columns:1fr}.feature,.feature-grid{min-height:auto}.feature{height:72vh;min-height:590px}.feature-copy{left:22px;right:22px;bottom:30px}.feature-copy h3{font-size:58px}.story{grid-template-columns:1fr;gap:55px;min-height:0}.story-stack{height:600px}.orange-split{grid-template-columns:1fr;min-height:0}.orange-copy{padding:86px 22px}.orange-copy h2{font-size:72px}.orange-photo{min-height:620px}.scribble{font-size:56px}.gallery-head{display:block}.gallery-head>p{margin-top:30px}.masonry{grid-auto-rows:80px;gap:10px}.masonry figure,.masonry figure.tall,.masonry figure.wide{grid-column:span 6;grid-row:span 4}.masonry figure:nth-child(2),.masonry figure:nth-child(5){grid-column:span 12;grid-row:span 4}.menu-banner{min-height:800px}.menu-banner-copy{padding:80px 22px}.menu-banner h2{font-size:82px}.menu-links{grid-template-columns:1fr}.menu-links a:nth-child(odd){border-right:0}.reserve{padding:90px 22px 100px}.reserve h2{font-size:92px}.big-book{width:165px;height:165px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.footer-top h3{font-size:62px}}
@media(max-width:560px){.hero-bottom p{display:none}.sun-button{margin-left:auto}.story-stack{height:480px}.photo-card{padding:8px 8px 34px}.p1{width:62%;height:60%}.p2{width:58%;height:52%}.p3{width:60%;height:52%;left:21%}.masonry figure,.masonry figure.tall,.masonry figure.wide,.masonry figure:nth-child(2),.masonry figure:nth-child(5){grid-column:1/-1;grid-row:span 4}.footer-top{grid-template-columns:1fr}.footer-top>div:first-child{grid-column:auto}.footer-bottom{gap:16px;flex-direction:column}}

.winter-note{max-width:410px;color:#fff;line-height:1.6;margin:12px 0 22px;font-size:15px}

/* Event pages and opening hours */
.footer-top{flex-wrap:wrap;gap:2.2rem}.aloha-hours{min-width:205px}.hours-row{display:flex;justify-content:space-between;gap:1.5rem;font-size:.88rem;line-height:1.9}.hours-row span:first-child{text-transform:capitalize}
.detail-hero{min-height:78vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#123d2b;color:#fff}.detail-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,28,22,.84),rgba(8,28,22,.06) 80%)}.detail-hero-overlay{position:relative;z-index:1;padding:9rem max(6vw,24px) 6rem;max-width:1100px}.detail-hero h1{font-size:clamp(4.4rem,11vw,10rem);line-height:.9;letter-spacing:-.06em;margin:1rem 0}.detail-hero h1 em{color:#ffac54}.detail-hero-overlay>p:last-child{font-size:clamp(1.1rem,2vw,1.5rem);max-width:620px}.detail-body{background:#f6f0e3;color:#173c2c;padding:7rem max(5vw,20px)}.detail-wrap{max-width:1250px;margin:auto}.detail-intro{max-width:930px;margin-bottom:6rem}.detail-intro h2,.detail-form h2{font-size:clamp(3.5rem,7vw,7rem);line-height:.98;letter-spacing:-.05em;margin:1rem 0 2rem}.detail-intro em,.detail-form em{color:#d86e34}.detail-intro>p:last-child{font-size:clamp(1.2rem,2vw,1.7rem);line-height:1.55}.detail-split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5vw;margin-bottom:6rem}.detail-split img{width:100%;height:580px;object-fit:cover;border-radius:4px}.detail-split h3{font-size:clamp(2.4rem,4vw,4.5rem);line-height:1.05;margin:0 0 1.5rem}.detail-split p{font-size:1.15rem;line-height:1.75;max-width:570px}.detail-price{font-weight:800;color:#c76530}.detail-link{display:inline-block;background:#17432e;color:#fff;padding:1.2rem 2rem;margin-top:1.5rem;text-decoration:none;border-radius:2px}.detail-info{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:7rem}.detail-info>div{border-top:2px solid #d76b38;padding-top:1.2rem}.detail-info h3{font-size:1.8rem;margin:.5rem 0}.detail-info p{line-height:1.7}.detail-form{background:#e4e8d5;padding:clamp(1.5rem,5vw,5rem);border-radius:5px}.detail-form>p{max-width:650px}.detail-form .wpforms-container{max-width:850px}.detail-form input:not([type=checkbox]):not([type=radio]),.detail-form textarea,.detail-form select{border:1px solid #b2bca9!important;border-radius:2px!important;padding:14px!important;max-width:100%!important}.detail-form .wpforms-submit{background:#e47739!important;color:#fff!important;border:0!important;padding:16px 34px!important;border-radius:2px!important}.aloha-form-notice{padding:1.5rem;background:#fff;border:1px dashed #a0a0a0}
@media(max-width:760px){.detail-hero{min-height:70vh}.detail-hero-overlay{padding:7rem 24px 4rem}.detail-body{padding:4rem 20px}.detail-split,.detail-info{grid-template-columns:1fr}.detail-split img{height:320px}.detail-intro,.detail-split,.detail-info{margin-bottom:4rem}.detail-form{padding:2rem 1.2rem}}

/* Fotoreeksen eigen Aloha Beach beeldmateriaal */
.aloha-photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:55px 0}.aloha-photo-strip img{width:100%;height:360px;object-fit:cover;display:block}@media(max-width:700px){.aloha-photo-strip{grid-template-columns:1fr 1fr;gap:8px;margin:30px 0}.aloha-photo-strip img{height:220px}.aloha-photo-strip img:last-child{grid-column:span 2;height:250px}}

/* WPForms contact section – Aloha V4 */
.aloha-contact-form{background:#f4ebdc;color:#193d35;padding:clamp(60px,9vw,130px) 6vw;}
.aloha-contact-form-inner{max-width:850px;margin:auto;}
.aloha-contact-form h2{font-size:clamp(48px,7vw,100px);line-height:.95;margin:18px 0 28px;}
.aloha-contact-form h2 em{font-family:Georgia,serif;font-weight:400;}
.aloha-contact-form .wpforms-container{margin-top:35px;}
.aloha-contact-form .wpforms-field-label{color:#193d35;}
.aloha-contact-form input:not([type=checkbox]):not([type=radio]),.aloha-contact-form textarea,.aloha-contact-form select{border-radius:0!important;border:1px solid #b8b6a8!important;background:#fffdf7!important;max-width:100%!important;}
.aloha-contact-form button[type=submit]{background:#e77840!important;color:#fff!important;border:0!important;border-radius:0!important;padding:14px 28px!important;}

/* Contactpagina – Aloha V5 */
.aloha-contact-hero{min-height:68vh}.aloha-contact-page{padding:clamp(70px,9vw,135px) 6vw;background:#f3efe5}.aloha-contact-layout{max-width:1360px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(35px,5vw,90px);align-items:center}.aloha-contact-details h2{font-family:Impact,sans-serif;font-size:clamp(65px,7vw,115px);line-height:.9;text-transform:uppercase;margin:22px 0 30px}.aloha-contact-details h2 em{font-family:Georgia,serif;text-transform:none;color:#d86e34;font-weight:400}.aloha-contact-details>p{font-size:18px;line-height:1.6;max-width:530px}.aloha-contact-facts{border-top:1px solid #c5c0b2;margin:36px 0}.aloha-contact-facts>div{padding:18px 0;border-bottom:1px solid #c5c0b2;display:grid;grid-template-columns:100px 1fr;gap:12px;line-height:1.5}.aloha-contact-facts strong{text-transform:uppercase;font-size:12px;letter-spacing:.09em}.aloha-contact-facts a:hover,.aloha-contact-events{color:#b65728;text-decoration:underline}.aloha-contact-map{min-height:470px;overflow:hidden;background:#d5d7ca}.aloha-contact-map iframe{width:100%;height:100%;min-height:470px;display:block}.aloha-contact-form{scroll-margin-top:80px}@media(max-width:800px){.aloha-contact-layout{grid-template-columns:1fr}.aloha-contact-map,.aloha-contact-map iframe{min-height:370px}.aloha-contact-hero{min-height:60vh}}

/* NL / DE language switch */
.aloha-lang{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:13px;font-weight:800;letter-spacing:.06em;line-height:1}
.aloha-lang a{color:inherit;text-decoration:none;opacity:.65;transition:opacity .2s}
.aloha-lang a[aria-current="page"],.aloha-lang a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.mobile-menu .aloha-lang{padding:12px 0 20px;justify-content:center;font-size:17px}
@media(max-width:900px){.header-actions .aloha-lang{margin-right:8px}}

/* V9 – Contact page layout and form polish */
.contact-page-v9{background:#f3efe5}.contact-hero-v9{height:min(74vh,740px);min-height:520px;position:relative;color:white;overflow:hidden}.contact-hero-v9>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%}.contact-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,33,25,.75),rgba(14,33,25,.1) 90%),linear-gradient(0deg,rgba(14,33,25,.35),transparent 60%)}.contact-hero-copy{position:absolute;z-index:1;bottom:12%;left:6vw;right:6vw}.contact-hero-copy h1{font-size:clamp(72px,11vw,170px);white-space:normal;line-height:.9;margin:15px 0 25px}.contact-hero-copy h1 em{color:#ffaf49}.contact-hero-copy>p:last-child{font-size:clamp(17px,2vw,23px);line-height:1.5;max-width:560px}.contact-info-v9{padding:clamp(75px,9vw,140px) 6vw}.contact-info-intro{max-width:800px;margin-bottom:65px}.contact-info-intro h2{font-size:clamp(62px,8vw,124px);margin:16px 0 26px}.contact-info-intro h2 em{color:#c76a36}.contact-info-intro>p:last-child{font-size:clamp(18px,2vw,23px);line-height:1.55;max-width:640px}.contact-info-grid{max-width:1400px;margin:auto;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:clamp(35px,6vw,95px);align-items:stretch}.contact-facts-v9{display:flex;flex-direction:column;justify-content:center}.contact-facts-v9>div{padding:25px 0;border-top:1px solid #c6c0b4}.contact-fact-label{font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#2e5a38}.contact-facts-v9 p{font-size:clamp(19px,2vw,26px);line-height:1.4;margin:9px 0 0;overflow-wrap:anywhere}.contact-facts-v9 a:hover{color:#b75d2c}.contact-directions-v9{align-self:flex-start;background:#214c25;color:#fff;padding:19px 29px;border-radius:100px;margin-top:28px;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.contact-directions-v9:hover{background:#f7a21b;color:#111}.contact-map-v9{height:530px;min-height:440px;overflow:hidden;border-radius:2px;background:#d6ddcc}.contact-map-v9 iframe{width:100%;height:100%;display:block;border:0}.contact-form-v9{background:#214c25;color:#fff;padding:clamp(80px,10vw,145px) 6vw}.contact-form-layout-v9{max-width:1400px;margin:auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(35px,7vw,110px);align-items:start}.contact-form-intro-v9 h2{font-size:clamp(62px,7.7vw,116px);margin:20px 0 35px}.contact-form-intro-v9 h2 em{color:#ffb75a}.contact-form-intro-v9 p:not(.eyebrow){font-size:19px;line-height:1.65;max-width:460px}.contact-form-intro-v9>a{display:block;width:fit-content;margin:20px 0;text-decoration:underline;text-underline-offset:6px;font-weight:800}.contact-form-card-v9{background:#f6f0e5;color:#1b3425;padding:clamp(26px,4vw,65px);border-radius:2px;min-width:0}.contact-form-card-v9 .wpforms-container{margin:0!important}.contact-form-card-v9 .wpforms-field{padding:0 0 22px!important}.contact-form-card-v9 .wpforms-field-label{font-size:13px!important;text-transform:uppercase;letter-spacing:.06em;font-weight:800!important;color:#214c25!important;margin-bottom:10px!important}.contact-form-card-v9 input:not([type=checkbox]):not([type=radio]),.contact-form-card-v9 textarea,.contact-form-card-v9 select{width:100%!important;max-width:100%!important;min-height:52px!important;border:1px solid #d2cabc!important;background:#fffdf9!important;border-radius:0!important;padding:13px 15px!important;box-shadow:none!important;font-size:16px!important;color:#182d22!important}.contact-form-card-v9 textarea{min-height:145px!important}.contact-form-card-v9 .wpforms-submit{border:0!important;border-radius:100px!important;background:#f7a21b!important;color:#151515!important;font-size:13px!important;font-weight:900!important;text-transform:uppercase!important;padding:18px 34px!important;min-height:54px!important}.contact-form-card-v9 .wpforms-submit:hover{background:#e48d09!important}.contact-form-card-v9 .wpforms-error{color:#a83124!important}.contact-form-card-v9 .wpforms-confirmation-container{color:#214c25!important}.footer-top{grid-template-columns:minmax(220px,1.5fr) minmax(110px,.7fr) minmax(180px,1fr) minmax(185px,1fr) minmax(100px,.6fr);gap:clamp(20px,3vw,60px)}.footer-col{min-width:0}.footer-col span{overflow-wrap:anywhere}@media(max-width:1100px){.footer-top{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-top>div:first-child{grid-column:1/-1}}@media(max-width:780px){.contact-hero-v9{height:65vh;min-height:470px}.contact-hero-copy{bottom:9%;left:22px;right:22px}.contact-hero-copy h1{font-size:clamp(65px,14vw,110px)}.contact-info-v9,.contact-form-v9{padding:75px 22px}.contact-info-intro{margin-bottom:35px}.contact-info-grid,.contact-form-layout-v9{grid-template-columns:1fr}.contact-map-v9{height:390px;min-height:390px}.contact-form-card-v9{padding:28px 20px}.footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.footer-top{grid-template-columns:1fr}.contact-map-v9{height:320px;min-height:320px}.contact-hero-copy h1{font-size:65px}.contact-info-intro h2,.contact-form-intro-v9 h2{font-size:62px}}

/* V10: compact contact layout; explicit sizing to prevent theme/plugin conflicts */
body .contact-page-v9 .contact-hero-v9{height:clamp(310px,37vw,470px)!important;min-height:0!important;max-height:470px;position:relative;isolation:isolate;overflow:hidden;background:#193d35}
body .contact-page-v9 .contact-hero-v9>img{position:absolute!important;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-2}
body .contact-page-v9 .contact-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,34,26,.72),rgba(10,34,26,.15))}
body .contact-page-v9 .contact-hero-copy{position:absolute;left:max(24px,6vw);right:max(24px,6vw);bottom:40px;max-width:1050px}
body .contact-page-v9 .contact-hero-copy h1{font-size:clamp(58px,7.8vw,112px)!important;line-height:.94;margin:10px 0 16px;max-width:none}
body .contact-page-v9 .contact-hero-copy>p:last-child{font-size:clamp(16px,1.45vw,20px);max-width:660px}
body .contact-page-v9 .contact-info-v9{padding:clamp(55px,6vw,88px) max(24px,6vw)}
body .contact-page-v9 .contact-info-intro{margin:0 0 38px}
body .contact-page-v9 .contact-info-intro h2{font-size:clamp(47px,5.5vw,78px);line-height:.98}
body .contact-page-v9 .contact-info-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,5vw,70px);align-items:stretch}
body .contact-page-v9 .contact-map-v9{height:420px;min-height:0;width:100%}
body .contact-page-v9 .contact-map-v9 iframe{display:block;width:100%!important;height:100%!important;min-height:420px;border:0}
body .contact-page-v9 .contact-form-v9{padding:clamp(55px,7vw,95px) max(24px,6vw)}
body .contact-page-v9 .contact-form-intro-v9 h2{font-size:clamp(50px,6vw,86px);line-height:.95}
body .contact-page-v9 .contact-form-layout-v9{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,5vw,75px)}
@media(max-width:800px){body .contact-page-v9 .contact-hero-v9{height:340px!important}body .contact-page-v9 .contact-hero-copy{bottom:28px}body .contact-page-v9 .contact-hero-copy h1{font-size:clamp(54px,11vw,82px)!important}body .contact-page-v9 .contact-info-grid,body .contact-page-v9 .contact-form-layout-v9{grid-template-columns:minmax(0,1fr)}body .contact-page-v9 .contact-map-v9{height:330px}body .contact-page-v9 .contact-map-v9 iframe{min-height:330px}}

/* V11: actuele openingstijden via Google Maps */
.aloha-hours p{margin:.8rem 0;color:inherit;opacity:.8;line-height:1.55}.aloha-hours-link{display:inline-block!important;text-decoration:underline;text-underline-offset:4px}.contact-hours-v11{margin:1.3rem 0;padding:1.2rem 1.4rem;border:1px solid rgba(25,58,42,.2);border-radius:8px}.contact-hours-v11 strong{display:block;margin-bottom:.35rem}.contact-hours-v11 p{margin:.25rem 0 .65rem}.contact-hours-v11 a{text-decoration:underline;text-underline-offset:4px;font-weight:700}

/* V12 — subtle hours information row on contact page */
body .contact-page-v9 .contact-facts-v9>div.contact-hours-v12{display:flex;align-items:flex-start;gap:16px;padding:23px 0 26px;margin:0;border:0;border-top:1px solid #c6c0b4;border-radius:0;background:transparent;box-shadow:none;max-width:100%;}
body .contact-page-v9 .contact-hours-icon{flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#e5e9da;color:#24512f;display:flex;align-items:center;justify-content:center;margin-top:1px;}
body .contact-page-v9 .contact-hours-icon svg{width:20px;height:20px;display:block;}
body .contact-page-v9 .contact-hours-content{min-width:0;flex:1;}
body .contact-page-v9 .contact-hours-content .contact-fact-label{display:block;margin:2px 0 7px;}
body .contact-page-v9 .contact-hours-content p{font-size:15px;line-height:1.5;font-weight:400;margin:0 0 10px;max-width:340px;overflow-wrap:normal;}
body .contact-page-v9 .contact-hours-content a{display:inline-flex;gap:8px;align-items:center;color:#214c25;font-size:14px;font-weight:800;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;transition:color .2s;}
body .contact-page-v9 .contact-hours-content a:hover,body .contact-page-v9 .contact-hours-content a:focus-visible{color:#b65728;}
@media(max-width:480px){body .contact-page-v9 .contact-facts-v9>div.contact-hours-v12{gap:12px;}body .contact-page-v9 .contact-hours-icon{flex-basis:34px;width:34px;height:34px;}}

/* V14 — Align contact introduction with the address/details column. */
@media (min-width: 801px) {
  body .contact-page-v9 .contact-info-intro {
    box-sizing: border-box;
    margin-left: clamp(0px, 15.2vw, 210px);
    margin-right: 0;
    max-width: min(800px, calc(100% - clamp(0px, 15.2vw, 210px)));
  }
}
@media (max-width: 800px) {
  body .contact-page-v9 .contact-info-intro {
    margin-left: 0;
    max-width: 100%;
  }
}

/* v15: losse links op de homepage, extra fotografie op detailpagina's */
.feature-copy .feature-links{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;max-width:100%}
.feature-copy .feature-links a{display:inline-flex;align-items:center;white-space:nowrap;line-height:1.4;margin:0;padding:0 0 5px;border-bottom:2px solid currentColor;font-size:clamp(12px,1vw,15px)}
.aloha-experience-gallery{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;margin:0 0 clamp(60px,7vw,110px)}
.aloha-experience-gallery figure{margin:0;overflow:hidden;height:clamp(250px,34vw,540px)}
.aloha-experience-gallery figure:nth-child(2){margin-top:55px;height:clamp(210px,27vw,420px)}
.aloha-experience-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.aloha-experience-gallery figure:hover img{transform:scale(1.035)}
@media(max-width:760px){.feature-copy .feature-links{gap:10px 17px}.aloha-experience-gallery{gap:8px}.aloha-experience-gallery figure{height:240px}.aloha-experience-gallery figure:nth-child(2){height:205px;margin-top:25px}}
@media(max-width:440px){.feature-copy .feature-links a{font-size:12px}}

/* Only the dedicated request form is displayed on BBQ and wedding pages. */
body:has(main #aanvragen.detail-form) .wpforms-container:not(#aanvragen .wpforms-container) { display: none !important; }

/* Aloha Winterkaart — dedicated page reader */
.aloha-menu-page{background:#f5f0e6;color:#173e32;min-height:75vh}
.aloha-menu-intro{max-width:1180px;margin:0 auto;padding:115px 28px 50px}
.aloha-menu-intro h1{font-family:Impact,'Arial Narrow',sans-serif;text-transform:uppercase;font-size:clamp(65px,10vw,150px);line-height:.9;letter-spacing:-.025em;margin:24px 0}
.aloha-menu-intro h1 em{font-family:Georgia,serif;font-weight:400;text-transform:none;color:#e58b20}
.aloha-menu-intro>p:not(.eyebrow){font-size:clamp(22px,3vw,36px);margin:16px 0}
.aloha-menu-intro .aloha-menu-intro-sub{font-size:17px!important;max-width:660px;line-height:1.6}
.aloha-menu-reader{max-width:1180px;margin:auto;padding:0 28px 100px}
.aloha-menu-toolbar{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-bottom:26px}
.aloha-menu-toolbar label{font-weight:700}
.aloha-menu-toolbar select{background:#fff;border:1px solid #b9c4b9;border-radius:4px;color:#173e32;padding:12px 20px;min-width:190px}
.aloha-menu-download{margin-left:auto;color:#173e32;font-weight:700;text-underline-offset:5px}
.aloha-menu-book{display:grid;grid-template-columns:60px minmax(0,1fr) 60px;gap:18px;align-items:center}
.aloha-menu-pages{display:flex;align-items:center;justify-content:center;min-width:0}
.aloha-menu-pages img{width:auto;max-width:100%;max-height:78vh;height:auto;object-fit:contain;box-shadow:0 16px 45px rgba(18,42,30,.19);background:white;user-select:none;-webkit-user-drag:none}
.aloha-menu-arrow,.aloha-menu-controls button{border:0;background:#173e32;color:#fff;cursor:pointer;border-radius:50%;width:54px;height:54px;font-size:36px;display:grid;place-items:center}
.aloha-menu-arrow:disabled,.aloha-menu-controls button:disabled{opacity:.3;cursor:default}
.aloha-menu-controls{display:flex;justify-content:center;align-items:center;gap:26px;margin:24px auto 15px;font-weight:700}
.aloha-menu-controls button{width:44px;height:44px;font-size:24px}
.aloha-menu-progress{height:4px;background:#d3d8cf;max-width:550px;margin:auto}
.aloha-menu-progress span{display:block;height:100%;background:#ec9823;transition:width .2s ease}
.aloha-menu-fallback{text-align:center;margin-top:24px;font-size:14px}
.aloha-menu-fallback a{color:inherit}
@media(max-width:720px){
.aloha-menu-intro{padding:95px 20px 25px}
.aloha-menu-reader{padding:0 12px 60px}
.aloha-menu-book{grid-template-columns:1fr;gap:0}
.aloha-menu-arrow{display:none}
.aloha-menu-pages img{max-height:70vh}
.aloha-menu-toolbar{padding:0 8px}
.aloha-menu-toolbar select{flex:1;min-width:120px}
.aloha-menu-download{width:100%;margin-left:0}
}

/* v22 Beach Moments: editorial triptych and compact clickable photo carousel */
.beach-collage{display:grid;grid-template-columns:1.12fr .9fr 1.12fr;gap:14px;margin:0 0 55px}
.beach-collage figure{margin:0;overflow:hidden;height:clamp(260px,36vw,520px);background:#ded7c7}
.beach-collage figure:nth-child(2){margin-top:38px;height:clamp(220px,30vw,450px)}
.beach-collage img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.beach-collage figure:hover img{transform:scale(1.035)}
.beach-slider{max-width:100%;outline-offset:6px}
.beach-slider-top,.beach-slider-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}
.beach-slider-top{margin-bottom:18px}
.beach-slider-label{font-size:12px;text-transform:uppercase;font-weight:900;letter-spacing:.12em;color:var(--green)}
.beach-slider-arrows{display:flex;gap:9px}
.beach-slider-arrows button{border:1px solid var(--green);background:transparent;color:var(--green);width:45px;height:45px;border-radius:50%;font-size:21px;cursor:pointer;transition:.2s}
.beach-slider-arrows button:hover{background:var(--green);color:#fff}
.beach-slider-window{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.beach-slider-window::-webkit-scrollbar{display:none}
.beach-slider-track{display:flex;gap:15px}
.beach-slide{flex:0 0 calc((100% - 30px)/3);min-width:0;scroll-snap-align:start;position:relative;display:block;appearance:none;background:transparent;border:0;padding:0;cursor:zoom-in;text-align:left}
.beach-slide-photo{display:block;width:100%;height:clamp(240px,25vw,370px);overflow:hidden;background:#ded7c7}
.beach-slide img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.beach-slide:hover img{transform:scale(1.05)}
.beach-slide-expand{position:absolute;right:15px;bottom:15px;background:var(--cream);color:var(--green);border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:19px}
.beach-slider-bottom{margin-top:17px;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--green)}
.beach-lightbox[hidden]{display:none!important}
.beach-lightbox{position:fixed;inset:0;z-index:3000;background:rgba(12,22,17,.96);display:grid;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;gap:8px;padding:35px 20px;color:#fff}
.beach-lightbox figure{margin:0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
.beach-lightbox img{width:auto;height:auto;max-width:100%;max-height:80vh;object-fit:contain}
.beach-lightbox figcaption{font-size:13px;text-align:center}
.beach-lightbox-close{position:absolute;right:28px;top:20px;border:0;background:none;color:#fff;font-size:27px;cursor:pointer;padding:12px}
.beach-lightbox-nav{background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff;width:50px;height:50px;border-radius:50%;font-size:23px;cursor:pointer}
@media(max-width:760px){
.beach-collage{gap:7px;margin-bottom:35px}
.beach-collage figure{height:clamp(160px,38vw,300px)}
.beach-collage figure:nth-child(2){margin-top:20px;height:clamp(140px,32vw,260px)}
.beach-slide{flex-basis:calc((100% - 12px)/2)}
.beach-slider-track{gap:12px}
.beach-slide-photo{height:260px}
.beach-lightbox{grid-template-columns:40px minmax(0,1fr) 40px;gap:4px;padding:25px 6px}
.beach-lightbox-nav{width:36px;height:36px;font-size:18px}
.beach-lightbox-close{right:10px;top:8px}
}
@media(max-width:480px){
.beach-collage{grid-template-columns:1fr 1fr 1fr}
.beach-collage figure{height:180px}
.beach-collage figure:nth-child(2){height:155px;margin-top:16px}
.beach-slide{flex-basis:80%}
.beach-slide-photo{height:300px}
.beach-slider-bottom{font-size:9px;gap:10px}
}

/* V23: one clean row, equal-sized aligned photographs */
.beach-collage{display:none!important}
.beach-slider{width:100%;margin-top:0}
.beach-slider-track{align-items:stretch}
.beach-slide{flex:0 0 calc((100% - 30px)/3);align-self:stretch}
.beach-slide-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;overflow:hidden;background:#ded7c7}
.beach-slide-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
@media(max-width:760px){.beach-slide{flex-basis:calc((100% - 12px)/2)}.beach-slide-photo{height:auto;aspect-ratio:4/3}}
@media(max-width:480px){.beach-slide{flex-basis:80%}.beach-slide-photo{height:auto;aspect-ratio:4/3}}

/* v24: discreet agency credit alongside the year */
.footer-bottom .footer-credit-link{color:inherit;text-decoration:none;opacity:.8;transition:opacity .2s ease}.footer-bottom .footer-credit-link:hover{text-decoration:underline;text-underline-offset:3px;opacity:1}.footer-credit-divider{margin:0 9px;opacity:.55}
