/* Dorpsgarage brand: shared colours, type and illustration with karstenhave.nl. */
@font-face{font-family:Figtree;src:url('assets/fonts/figtree.woff2') format('woff2');font-style:normal;font-weight:300 900;font-display:swap}
@font-face{font-family:Caveat;src:url('assets/fonts/caveat.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
:root{--green:#275643;--dark:#204b3a;--cream:#f0efe1;--ink:#275643;--muted:#53695d;--line:#d5d9c9;--gold:#75c8a4;--orange:#b24b01;--mint:#b6e4cd}
body{font-family:Figtree,Arial,sans-serif}button,input,select,textarea{font-family:inherit}h1,h2,h3{font-family:Figtree,Arial,sans-serif;font-weight:800;letter-spacing:-.035em;line-height:1.1}h1{font-size:clamp(42px,4.2vw,64px)}h2{font-size:clamp(34px,3.4vw,50px)}h3{font-weight:750}em{font-family:Caveat,cursive;font-weight:600;font-style:normal;letter-spacing:-.025em;color:var(--mint);line-height:1.05;font-size:1.18em}.eyebrow{font-size:11px;letter-spacing:.13em}.dot{background:var(--mint)}
.topline{background:var(--dark);color:var(--cream)}header{background:var(--green);color:var(--cream);border-bottom:1px solid #ffffff20;padding-top:22px;padding-bottom:22px}.brand img{background:none;padding:0;width:105px;height:72px}.brand>span{font-size:20px;letter-spacing:.1em}.brand small{letter-spacing:.22em}nav{font-size:15px;font-weight:700;gap:26px}.btn{font-size:15px;font-weight:750;border-radius:7px;min-height:51px;padding:14px 22px;transition:background-color .15s}.dark,.cream{background:var(--orange);color:#fff}.btn:hover{filter:none;background:#d15f0d;color:white}.text-link{font-size:14px}.hero{position:relative;grid-template-columns:1fr 1fr;gap:5%;padding:54px 6% 158px;min-height:650px;align-items:center;overflow:hidden}.hero-copy{padding:0;position:relative;z-index:1}.hero .intro{color:var(--cream);font-size:17px;max-width:440px}.hero-actions{gap:24px}.hero-note{border-top-color:#ffffff35;margin-top:30px;padding-top:20px}.hero-note small{color:var(--mint);font-size:12px}.seal{border-color:var(--mint);color:var(--mint);font-family:Figtree,sans-serif;font-weight:800}.hero-photo{min-height:0;height:390px;border-radius:12px;box-shadow:0 8px 16px #00000014;z-index:1}.hero-photo>img{object-position:center}.hero-photo:after{background:linear-gradient(transparent 45%,#163629bd)}.photo-caption{bottom:24px;left:28px}.photo-caption>p{font-family:Caveat,cursive;font-weight:600;font-size:48px;letter-spacing:-.025em}.brand-skyline{position:absolute;width:100%;height:auto;bottom:0;left:0;pointer-events:none;opacity:.75;mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent)}
.promise-strip{background:var(--mint);border:0;font-size:14px;font-weight:650;padding-top:22px;padding-bottom:22px}.section{max-width:1400px}.section-head>p,.vehicle p,.steps article p,.questions details p,.intro.small{font-size:16px}.filters button{font-family:inherit;font-size:13px;font-weight:650;border-radius:6px}.filters button:hover{background:var(--mint)}.filters button.active{background:var(--green)}.vehicle,.vehicle-empty{background:#f8f8f2;border-radius:12px;box-shadow:0 4px 16px #27564308}.vehicle h3{font-size:34px}.specs span{background:var(--cream);font-size:12px;border-radius:5px}.price{font-weight:800}.price small{font-size:13px}.contact-strip strong{font-size:18px}.steps-section{background:#e2e9d9}.steps{gap:28px}.steps article{border:0;background:var(--cream);padding:28px;border-radius:10px}.steps article>span{color:var(--green);font-weight:750;font-size:12px}.steps h3{font-size:29px}.questions summary{font-size:17px;font-weight:700}.questions summary span{color:var(--green)}.closing{padding:70px 20px 78px}.closing h2{font-size:clamp(40px,5vw,68px)}.footer-brand strong{font-family:Figtree,sans-serif;font-size:25px;font-weight:800}footer p{font-size:14px}footer span{font-size:11px}.copyright{font-size:12px}
/* Apply the same house style to the existing, shared booking module. */
.native-account{background:#e2e9d9;border-color:var(--line)}.primary,.secondary{font-family:Figtree,Arial,sans-serif;font-size:14px;font-weight:700;border-radius:6px}.primary{background:var(--orange);border-color:var(--orange);color:white}.primary:hover:not(:disabled){background:#d15f0d;border-color:#d15f0d}.secondary{background:#f8f8f2;border-color:#b9cbbb}.secondary:hover:not(:disabled){background:var(--mint)}.panel{background:#f8f8f2}.rental-price-box,#rental-options-price{background:#e2e9d9}.rental-calendar button{font-family:inherit}.rental-calendar button:not(:disabled):hover{outline:2px solid var(--green);outline-offset:1px}.rental-calendar button.selected,.rental-calendar button.in-range,.rental-calendar button.range{background:var(--green);color:#fff}.native-rental .status{background:var(--mint)}.native-account input:focus,.portal-form input:focus,.portal-form select:focus,.portal-form textarea:focus{outline:2px solid var(--green);outline-offset:2px}.booking-head h2{font-weight:800}.native-rental .muted{color:var(--muted)}
@media(min-width:1500px){.hero{max-height:none;padding-left:max(6%,calc((100vw - 1250px)/2));padding-right:max(6%,calc((100vw - 1250px)/2))}.hero-copy{padding-top:0}}
@media(max-width:1000px){nav{gap:16px;font-size:13px}.hero{gap:4%;padding-top:40px;padding-bottom:125px}.hero-copy{padding:0}.hero-photo{height:350px}.hero-actions{gap:15px}.brand img{width:90px}.vehicle h3{font-size:29px}}
@media(max-width:720px){header{padding:16px 5%;gap:12px}.brand img{width:80px;height:58px}.brand>span{font-size:16px}.brand small{font-size:8px}header>.btn{font-size:12px;padding:10px 13px}.hero{grid-template-columns:1fr;padding:35px 6% 84px;gap:30px;min-height:0}.hero-copy{padding:0}h1{font-size:clamp(38px,9.5vw,58px);margin:20px 0 25px}.hero .intro{font-size:16px;max-width:100%}.hero-photo{height:310px;min-height:0}.photo-caption>p{font-size:42px}.photo-caption{left:22px;bottom:20px}.promise-strip{font-size:11px;gap:12px}.steps article{padding:24px}.steps h3{font-size:28px}.questions summary{font-size:16px}.hero .eyebrow{font-size:9px}.brand-skyline{min-width:700px;width:140%;max-width:none;left:-20%;opacity:.6}.btn{font-size:14px}.vehicle-content{padding:25px}.section-head>p,.vehicle p,.steps article p,.questions details p,.intro.small{font-size:15px}.closing{padding:54px 20px 60px}}
@media(prefers-reduced-motion:reduce){.btn{transition:none}}

/* Original supplied Dorpsgarage Verhuur logo, unmodified. */
header .brand{display:block;flex:none;background:var(--cream);padding:4px 12px;border-radius:8px;line-height:0}header .brand img{display:block;width:170px;height:auto;padding:0;background:none;border-radius:0}.footer-logo{display:inline-block;line-height:0}.footer-logo img{width:210px;max-width:100%;height:auto}.footer-brand p{margin-top:12px}
@media(max-width:1000px){header{gap:18px}header .brand img{width:145px}nav{gap:14px}}
@media(max-width:720px){header .brand{padding:3px 8px}header .brand img{width:120px}.footer-logo img{width:190px}header>.btn{white-space:nowrap}}

.local-rental>p:not(.eyebrow){max-width:850px}.local-rental-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:35px}.local-rental-grid h3{font-size:28px}.local-rental-grid p{color:var(--muted)}@media(max-width:720px){.local-rental-grid{grid-template-columns:1fr;gap:24px}}

.rental-search{margin:20px 0 28px}.rental-search h2{font-size:26px}.rental-search input,.rental-search select{font:inherit;color:inherit;min-height:44px;width:100%;padding:10px;border:1px solid #b9cbbb;border-radius:6px;background:#fff}.rental-search .field{flex:1 1 180px}.rental-search .form-row{display:flex;gap:16px;flex-wrap:wrap}.rental-search-price{display:block;margin-top:12px}.public-search{background:#e2e9d9;padding:24px;border-radius:10px}.public-search .primary,.public-search .secondary{margin-right:10px}@media(max-width:720px){.rental-search .form-row{gap:12px}.rental-search .field{flex-basis:100%}}

.rental-search [hidden]{display:none!important}.rental-search .search-type{max-width:460px;margin-bottom:20px}.rental-search .search-type select{font-weight:700}

.pickup-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:22px 0}.pickup-map-card{padding:20px;background:#f8f8f2;border:1px solid #d5d9c9;border-radius:10px}.pickup-map-card h3{font-size:23px;line-height:1.25;margin-top:0}.pickup-map-card p{font-size:14px}.pickup-map-card iframe{display:block;position:static;width:100%;height:240px;min-height:0;max-height:240px;border:0;border-radius:8px;background:#e2e9d9;margin:16px 0}.pickup-route{display:inline-block;text-decoration:none!important}.pickup-locations>summary{font-weight:700;cursor:pointer}.pickup-locations>h2{margin-bottom:30px}@media(max-width:720px){.pickup-map-grid{grid-template-columns:1fr}.pickup-map-card{padding:16px}}

.whatsapp-float{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:20;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:14px 20px;border-radius:30px;background:#275643;color:#fff;font:700 15px Figtree,Arial,sans-serif;border:2px solid #f0efe1;box-shadow:0 4px 18px #0003;text-decoration:none}.whatsapp-float:hover{background:#204b3a}.whatsapp-float:focus-visible{outline:3px solid #b24b01;outline-offset:4px}body:has(dialog[open]) .whatsapp-float{display:none}footer{padding-bottom:100px}@media(max-width:720px){.whatsapp-float{right:14px;bottom:max(14px,env(safe-area-inset-bottom));padding:12px 16px;min-height:48px;font-size:14px}}

.hero .echopper-cta{background:#b6e4cd;color:#204b3a;border:2px solid #f0efe1;box-shadow:0 4px 16px #0002;font-size:17px;font-weight:800;padding:17px 23px}.hero .echopper-cta:hover{background:#d2f0df;color:#204b3a}.hero-actions{gap:16px}.hero-actions .echopper-cta{flex-basis:100%;max-width:310px}#public-search-form{scroll-margin-top:24px}@media(max-width:720px){.hero-actions .echopper-cta{max-width:none;width:100%}}

/* Soft lower corners finish the mint strip against the cream page. */
.promise-strip{border-radius:0 0 clamp(32px,5vw,80px) clamp(32px,5vw,80px);padding-bottom:30px;overflow:hidden}@media(max-width:720px){.promise-strip{border-radius:0 0 32px 32px;padding-bottom:24px;padding-left:7%;padding-right:7%;gap:12px;flex-wrap:wrap;justify-content:center;text-align:center}}
