.jdv-booking-form{max-width:900px;margin:30px auto;padding:30px;background:#fff;border:1px solid #dfe4ed;border-radius:14px;box-shadow:0 8px 28px rgba(4,27,64,.08);color:#071735}.jdv-booking-form h2{margin:0 0 8px;color:#052b70}.jdv-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.jdv-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700}.jdv-wide{grid-column:1/-1}.jdv-booking-form input,.jdv-booking-form select,.jdv-booking-form textarea{width:100%;padding:12px;border:1px solid #8793a5;border-radius:6px;background:#fff;font:inherit;color:#071735}.jdv-booking-form input:focus,.jdv-booking-form select:focus,.jdv-booking-form textarea:focus{outline:3px solid rgba(93,165,45,.25);border-color:#5da52d}.jdv-availability{padding:12px 14px;border-radius:7px;background:#eef3f8;font-weight:700}.jdv-availability.available{background:#e9f6df;color:#315f13}.jdv-availability.unavailable{background:#fdeaea;color:#a21b1b}.jdv-consent{display:flex;align-items:flex-start;gap:10px;margin:0 0 18px}.jdv-consent input{width:auto;margin-top:4px}.jdv-booking-form button{border:0;border-radius:7px;padding:14px 22px;background:#5da52d;color:#fff;font-size:17px;font-weight:800;cursor:pointer}.jdv-booking-form button:hover{background:#477f22}.jdv-booking-form button:disabled{opacity:.55;cursor:not-allowed}.jdv-notice{max-width:900px;margin:20px auto;padding:14px;border-radius:7px;font-weight:700}.jdv-notice.success{background:#e9f6df;color:#315f13}.jdv-notice.error{background:#fdeaea;color:#a21b1b}.jdv-hp{position:absolute!important;left:-9999px!important}@media(max-width:650px){.jdv-booking-form{padding:20px;margin:18px 0}.jdv-grid{grid-template-columns:1fr}.jdv-wide{grid-column:auto}}
.jdv-toiletwagens{max-width:1400px;margin:0 auto;padding:36px 20px;text-align:center;color:#071735}.jdv-section-label{margin:0 0 7px;color:#5da52d;font-size:13px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase}.jdv-toiletwagens h2{margin:0 0 10px;color:#052b70;font-size:clamp(28px,3vw,38px)}.jdv-section-intro{max-width:760px;margin:0 auto 28px;color:#526078;line-height:1.6}.jdv-toiletwagen-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;text-align:left}.jdv-toiletwagen-card{display:flex;min-width:0;overflow:hidden;flex-direction:column;border:1px solid #dfe4ed;border-radius:13px;background:#fff;box-shadow:0 6px 20px rgba(4,27,64,.08)}.jdv-photo-placeholder{display:flex;min-height:150px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border-bottom:4px solid #5da52d;background:#052b70;color:#fff}.jdv-photo-placeholder span{font-size:21px;font-weight:900}.jdv-photo-placeholder small{color:#dce7f7}.jdv-toiletwagen-content{display:flex;flex:1;flex-direction:column;padding:18px}.jdv-toiletwagen-content h3{margin:0 0 8px;color:#052b70;font-size:19px}.jdv-toiletwagen-content p{margin:0 0 18px;color:#526078;line-height:1.5}.jdv-toiletwagen-content a{display:block;margin-top:auto;padding:12px 10px;border-radius:7px;background:#5da52d;color:#fff;font-weight:800;text-align:center;text-decoration:none}.jdv-toiletwagen-content a:hover,.jdv-toiletwagen-content a:focus{background:#477f22;color:#fff}@media(max-width:1100px){.jdv-toiletwagen-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.jdv-toiletwagens{padding:26px 0}.jdv-toiletwagen-grid{grid-template-columns:1fr}.jdv-photo-placeholder{min-height:130px}}
.jdv-toiletwagens{position:relative;left:50%;width:min(1400px,calc(100vw - 40px));max-width:none;margin-left:0;transform:translateX(-50%)}.jdv-toiletwagen-grid{grid-template-columns:repeat(5,minmax(180px,1fr));gap:22px}.jdv-toiletwagen-card{width:100%}.jdv-product-description{margin:0 0 18px;border-top:1px solid #dfe4ed;border-bottom:1px solid #dfe4ed}.jdv-product-description summary{padding:11px 0;color:#052b70;font-weight:800;cursor:pointer}.jdv-product-description[open] summary{color:#5da52d}.jdv-product-description p{margin:0;padding:0 0 13px;font-size:14px;line-height:1.55}@media(max-width:1050px){.jdv-toiletwagen-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}}@media(max-width:650px){.jdv-toiletwagens{width:calc(100vw - 28px)}.jdv-toiletwagen-grid{grid-template-columns:1fr}}
.jdv-card-link{display:flex;min-height:100%;flex-direction:column;color:inherit;text-decoration:none}.jdv-card-link .jdv-toiletwagen-content{flex:1}.jdv-view-product{display:block;margin-top:auto;padding:12px 10px;border-radius:7px;background:#5da52d;color:#fff;text-align:center}.jdv-card-link:hover .jdv-view-product,.jdv-card-link:focus .jdv-view-product{background:#477f22}.jdv-product-page{position:relative;left:50%;width:min(1250px,calc(100vw - 40px));margin:30px 0 50px;transform:translateX(-50%);color:#071735}.jdv-back-link{display:inline-block;margin-bottom:22px;color:#052b70;font-weight:800;text-decoration:none}.jdv-product-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:42px;align-items:start}.jdv-product-gallery{min-width:0}.jdv-gallery-main{display:flex;min-height:430px;align-items:center;justify-content:center;flex-direction:column;gap:8px;border-bottom:5px solid #5da52d;border-radius:14px;background:#052b70;color:#fff}.jdv-gallery-main strong{font-size:34px}.jdv-gallery-main span{font-size:16px;color:#dce7f7}.jdv-gallery-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.jdv-gallery-thumbs span{display:flex;min-height:90px;align-items:center;justify-content:center;border-radius:8px;background:#e8edf4;color:#526078;font-weight:700}.jdv-product-info{padding:16px 0}.jdv-product-info h1{margin:4px 0 18px;color:#052b70;font-size:clamp(32px,4vw,48px);line-height:1.1}.jdv-product-lead{font-size:18px;line-height:1.7;color:#526078}.jdv-product-facts{margin:25px 0;border-top:1px solid #dfe4ed}.jdv-product-facts p{display:grid;grid-template-columns:140px 1fr;gap:18px;margin:0;padding:14px 0;border-bottom:1px solid #dfe4ed}.jdv-product-facts span{color:#526078}.jdv-product-note{line-height:1.6;color:#526078}.jdv-reserve-button{display:inline-block;margin-top:12px;padding:15px 24px;border-radius:8px;background:#5da52d;color:#fff;font-size:17px;font-weight:900;text-decoration:none}.jdv-reserve-button:hover,.jdv-reserve-button:focus{background:#477f22;color:#fff}@media(max-width:850px){.jdv-product-layout{grid-template-columns:1fr;gap:20px}.jdv-gallery-main{min-height:300px}}@media(max-width:650px){.jdv-product-page{width:calc(100vw - 28px)}.jdv-gallery-main{min-height:230px}.jdv-gallery-thumbs span{min-height:65px}.jdv-product-facts p{grid-template-columns:1fr;gap:4px}}
.jdv-inline-booking{margin-top:45px;padding-top:28px;border-top:4px solid #5da52d}.jdv-inline-booking .jdv-booking-form{max-width:100%;margin:0}.jdv-selected-product{display:flex;flex-direction:column;gap:6px}.jdv-selected-product span{padding:13px;border:1px solid #8793a5;border-radius:6px;background:#eef3f8;color:#052b70;font-weight:800}
.jdv-availability:empty{display:none}
.jdv-calendar{max-width:1050px;margin:34px auto 0;padding:22px;border:1px solid #dfe4ed;border-radius:14px;background:#fff;box-shadow:0 8px 28px rgba(4,27,64,.07)}.jdv-calendar-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:16px}.jdv-calendar-heading h2{margin:4px 0 0;color:#052b70;font-size:25px}.jdv-calendar-controls{display:flex;align-items:center;gap:12px}.jdv-calendar-controls button{width:36px;height:36px;border:0;border-radius:50%;background:#052b70;color:#fff;font-size:25px;line-height:1;cursor:pointer}.jdv-calendar-title{min-width:140px;color:#052b70;text-align:center;text-transform:capitalize}.jdv-calendar-period{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin:0 0 14px;padding:14px;border-radius:10px;background:#f3f7fb}.jdv-calendar-period label{display:flex;flex-direction:column;gap:5px;color:#052b70;font-size:14px;font-weight:800}.jdv-calendar-period input{min-height:44px;padding:9px 11px;border:1px solid #8793a5;border-radius:7px;background:#fff;color:#071735;font:inherit}.jdv-calendar-check{min-height:44px;padding:10px 17px;border:0;border-radius:7px;background:#5da52d;color:#fff;font-weight:900;cursor:pointer}.jdv-calendar-check:hover,.jdv-calendar-check:focus{background:#477f22}.jdv-calendar-check:disabled{opacity:.55;cursor:wait}.jdv-calendar-result{display:none;margin:0 0 14px;padding:11px 13px;border-radius:7px;font-weight:800}.jdv-calendar-result.available,.jdv-calendar-result.unavailable{display:block}.jdv-calendar-result.available{background:#e9f6df;color:#315f13}.jdv-calendar-result.unavailable{background:#fdeaea;color:#a21b1b}.jdv-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;transition:opacity .2s}.jdv-calendar-grid.loading{opacity:.45}.jdv-cal-weekday{padding:5px;color:#526078;font-size:12px;font-weight:800;text-align:center}.jdv-cal-empty{min-height:52px}.jdv-cal-day{display:flex;min-height:52px;align-items:center;justify-content:center;flex-direction:column;gap:2px;border:0;border-radius:7px;color:#071735}.jdv-cal-day strong{font-size:16px}.jdv-cal-day small{font-size:10px}.jdv-cal-day.free{background:#dff2d2;color:#28560e;cursor:pointer}.jdv-cal-day.free:hover,.jdv-cal-day.free:focus{outline:3px solid #5da52d;background:#c9eab3}.jdv-cal-day.booked{background:#f8d8d8;color:#991b1b}.jdv-cal-day.past{background:#edf0f4;color:#8992a0}.jdv-calendar-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:14px;color:#526078;font-size:13px;font-weight:700}.jdv-calendar-legend span{display:flex;align-items:center;gap:7px}.jdv-calendar-legend i{width:15px;height:15px;border-radius:4px}.jdv-calendar-legend i.free{background:#5da52d}.jdv-calendar-legend i.booked{background:#d43b3b}.jdv-calendar-legend i.past{background:#c7ccd4}.jdv-calendar-error{grid-column:1/-1;padding:20px;background:#fdeaea;color:#a21b1b;font-weight:700}@media(max-width:750px){.jdv-calendar-period{grid-template-columns:1fr 1fr}.jdv-calendar-check{grid-column:1/-1}}@media(max-width:650px){.jdv-calendar{padding:16px 10px}.jdv-calendar-heading{align-items:flex-start;flex-direction:column}.jdv-calendar-controls{width:100%;justify-content:space-between}.jdv-calendar-title{min-width:0}.jdv-calendar-period{grid-template-columns:1fr;padding:12px}.jdv-calendar-check{grid-column:auto}.jdv-calendar-grid{gap:3px}.jdv-cal-day{min-height:47px;padding:3px}.jdv-cal-day small{display:none}.jdv-cal-empty{min-height:47px}.jdv-calendar-legend{gap:10px 16px}}
.jdv-product-note{color:#c62828;font-size:19px;font-weight:800;line-height:1.6}
.jdv-toiletwagens{position:relative;left:auto;width:100vw;max-width:none;margin-left:calc(50% - 50vw);padding:36px max(20px,calc((100vw - 1400px)/2));transform:none}.jdv-toiletwagens .jdv-toiletwagen-grid{width:100%;margin-right:auto;margin-left:auto}.jdv-toiletwagens .jdv-section-intro{margin-right:auto;margin-left:auto}@media(max-width:650px){.jdv-toiletwagens{width:100vw;margin-left:calc(50% - 50vw);padding:26px 14px}}
.jdv-overview-title{width:100%;margin:0 0 14px;color:#052b70;font-size:clamp(32px,3.5vw,46px);line-height:1.15;text-align:center}.jdv-overview-intro{max-width:980px;margin:0 auto 54px;color:#071735;font-size:18px;font-weight:700;line-height:1.65;text-align:center}
.jdv-toiletwagens{position:relative;left:auto;width:min(1400px,calc(100vw - 40px));max-width:none;margin-right:0;margin-left:0;padding:36px 0;transform:none}@media(max-width:650px){.jdv-toiletwagens{width:calc(100vw - 28px);margin-left:0;padding:26px 0}}
.jdv-rental-overview .jdv-toiletwagen-grid.jdv-count-1{grid-template-columns:minmax(280px,360px);justify-content:center}.jdv-rental-overview .jdv-toiletwagen-grid.jdv-count-2{grid-template-columns:repeat(2,minmax(280px,360px));justify-content:center}
.jdv-return-page{width:min(1000px,calc(100% - 32px));margin:45px auto 70px;color:#071735}.jdv-return-heading{max-width:800px;margin:0 auto 28px;text-align:center}.jdv-return-heading h1{margin:5px 0 14px;color:#052b70;font-size:clamp(38px,5vw,58px);line-height:1.05}.jdv-return-heading>p:last-child{font-size:18px;line-height:1.65;color:#526078}.jdv-return-form{max-width:780px}.jdv-return-help{display:flex;max-width:780px;align-items:center;justify-content:space-between;gap:20px;margin:20px auto 0;padding:20px 24px;border-radius:10px;background:#eaf5e3;color:#071735}.jdv-return-help strong{color:#052b70;font-size:17px}.jdv-return-help a{color:#477f22;font-weight:900}@media(max-width:650px){.jdv-return-help{align-items:flex-start;flex-direction:column}.jdv-return-heading>p:last-child{font-size:16px}}
.jdv-return-divider{display:flex;align-items:center;gap:14px;color:#5da52d;font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.jdv-return-divider:before,.jdv-return-divider:after{height:1px;flex:1;background:#d7e0ea;content:""}.jdv-return-form label small{font-size:12px;font-weight:600;color:#6c7890}
.jdv-return-products{display:grid;gap:13px;margin:22px 0 25px}.jdv-return-product{display:flex!important;align-items:center;gap:16px;padding:18px 20px!important;border:2px solid #dce4ed;border-radius:10px;background:#f8fafc;cursor:pointer}.jdv-return-product:hover{border-color:#5da52d;background:#f3faee}.jdv-return-product:has(input:checked){border-color:#5da52d;background:#eaf5e3;box-shadow:0 4px 12px rgba(55,115,25,.12)}.jdv-return-product input{width:22px!important;height:22px!important;flex:0 0 22px}.jdv-return-product span{display:flex;flex-direction:column;gap:4px}.jdv-return-product strong{color:#052b70;font-size:19px}.jdv-return-product small{color:#526078!important;font-size:14px!important;line-height:1.35}
.jdv-return-date-note{display:block!important;margin-top:9px;padding:12px 14px;border-left:5px solid #5da52d;background:#eef7e8;color:#052b70!important;font-size:14px!important;font-weight:800!important;line-height:1.45}
.jdv-return-liability{display:flex!important;align-items:flex-start;gap:13px;padding:16px 18px!important;border:2px solid #e1b448;border-radius:9px;background:#fff8e5;color:#2f2a1c!important;line-height:1.5}.jdv-return-liability input{width:21px!important;height:21px!important;flex:0 0 21px;margin-top:2px}.jdv-return-liability span{font-size:14px}.jdv-return-liability strong{display:block;margin-bottom:3px;color:#8a4d00;font-size:16px}
.jdv-return-liability .jdv-liability-warning{display:block;margin:8px 0;color:#d40000!important;font-size:17px!important;font-weight:900;line-height:1.55}.jdv-return-liability .jdv-liability-warning+small{display:block;color:#526078!important;font-size:13px!important;font-weight:700}
.jdv-card-product-image{display:block;width:100%;height:210px;border-bottom:4px solid #5da52d;object-fit:cover;object-position:center}.jdv-gallery-main-photo{display:block;min-height:0;overflow:hidden;background:#edf1f5}.jdv-gallery-main-photo img{display:block;width:100%;height:430px;object-fit:cover;object-position:center}.jdv-gallery-photo-thumbs a{display:block;overflow:hidden;border:2px solid transparent;border-radius:8px;background:#e8edf4}.jdv-gallery-photo-thumbs a:hover{border-color:#5da52d}.jdv-gallery-photo-thumbs img{display:block;width:100%;height:105px;object-fit:cover;object-position:center}@media(max-width:850px){.jdv-gallery-main-photo img{height:360px}}@media(max-width:650px){.jdv-card-product-image{height:190px}.jdv-gallery-main-photo img{height:250px}.jdv-gallery-photo-thumbs img{height:72px}}
.jdv-gallery-main-photo{position:relative}.jdv-gallery-current{transition:opacity .2s}.jdv-gallery-arrow{position:absolute;top:50%;z-index:2;width:48px;height:58px;transform:translateY(-50%);border:0;border-radius:8px;background:rgba(0,31,88,.88);color:#fff;font-size:38px;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.25)}.jdv-gallery-arrow:hover{background:#5da52d}.jdv-gallery-prev{left:14px}.jdv-gallery-next{right:14px}.jdv-gallery-photo-thumbs button{display:block;overflow:hidden;padding:0;border:3px solid transparent;border-radius:8px;background:#e8edf4;cursor:pointer}.jdv-gallery-photo-thumbs button:hover,.jdv-gallery-photo-thumbs button.active{border-color:#5da52d;box-shadow:0 3px 10px rgba(55,115,25,.2)}.jdv-gallery-photo-thumbs button.active{transform:translateY(-2px)}@media(max-width:650px){.jdv-gallery-arrow{width:38px;height:48px;font-size:30px}.jdv-gallery-prev{left:8px}.jdv-gallery-next{right:8px}}
.jdv-gallery-current{cursor:zoom-in}.jdv-gallery-lightbox[hidden]{display:none!important}.jdv-gallery-lightbox{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:35px;background:rgba(0,12,35,.92)}.jdv-gallery-lightbox img{display:block;max-width:94vw;max-height:90vh;border:4px solid #fff;border-radius:10px;object-fit:contain;box-shadow:0 18px 60px rgba(0,0,0,.5)}.jdv-lightbox-close{position:fixed;top:18px;right:24px;z-index:2;width:54px;height:54px;border:2px solid #fff;border-radius:50%;background:#052b70;color:#fff;font-size:38px;line-height:1;cursor:pointer}.jdv-lightbox-close:hover{background:#5da52d}.jdv-lightbox-open{overflow:hidden}@media(max-width:650px){.jdv-gallery-lightbox{padding:15px}.jdv-gallery-lightbox img{max-width:98vw;max-height:86vh}.jdv-lightbox-close{top:10px;right:10px;width:46px;height:46px;font-size:32px}}
.jdv-lightbox-arrow{position:fixed;top:50%;z-index:2;width:64px;height:78px;transform:translateY(-50%);border:2px solid #fff;border-radius:10px;background:rgba(5,43,112,.92);color:#fff;font-size:54px;line-height:1;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.35)}.jdv-lightbox-arrow:hover,.jdv-lightbox-arrow:focus{background:#5da52d}.jdv-lightbox-prev{left:24px}.jdv-lightbox-next{right:24px}@media(max-width:650px){.jdv-lightbox-arrow{width:46px;height:60px;font-size:40px}.jdv-lightbox-prev{left:8px}.jdv-lightbox-next{right:8px}}
.jdv-product-info .jdv-split-product-title{color:#052b70;text-align:center}.jdv-split-product-title span{display:block;color:#052b70}.jdv-split-product-title span+span{margin-top:3px}.jdv-product-info .jdv-brand-name{color:#5da52d}
.jdv-gallery-photo-thumbs:has(>button:nth-child(4)){grid-template-columns:repeat(4,1fr)}@media(max-width:650px){.jdv-gallery-photo-thumbs:has(>button:nth-child(4)){grid-template-columns:repeat(2,1fr)}}
.jdv-end-unknown{display:flex!important;align-items:center!important;flex-direction:row!important;gap:10px!important;margin-top:-6px;padding:12px 14px;border-radius:7px;background:#eef3f8;color:#052b70}.jdv-end-unknown input{width:auto!important;margin:0!important}
.jdv-whatsapp-confirm{display:flex;max-width:900px;align-items:center;gap:14px;margin:16px auto 24px;padding:18px 20px;border:2px solid #25d366;border-radius:12px;background:#eefcf3;color:#071735}.jdv-whatsapp-confirm strong{color:#075e54;font-size:18px}.jdv-whatsapp-confirm span{flex:1;color:#526078}.jdv-whatsapp-confirm a{display:inline-block;padding:13px 18px;border-radius:8px;background:#25d366;color:#fff;font-weight:900;text-decoration:none}.jdv-whatsapp-confirm a:hover,.jdv-whatsapp-confirm a:focus{background:#128c7e;color:#fff}@media(max-width:650px){.jdv-whatsapp-confirm{align-items:stretch;flex-direction:column}.jdv-whatsapp-confirm a{text-align:center}}
.jdv-submission-confirmation{margin:0 0 22px}.jdv-submission-confirmation .jdv-notice{max-width:none;margin:0 0 14px}.jdv-submission-confirmation .jdv-whatsapp-confirm{max-width:none;margin:0}
.jdv-public-portal{max-width:1050px;margin:35px auto;padding:0 18px}.jdv-portal-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.jdv-portal-heading h1{margin:4px 0 0;color:#052b70}.jdv-portal-logout{padding:10px 16px;border:1px solid #052b70;border-radius:7px;color:#052b70;font-weight:800;text-decoration:none}.jdv-public-portal .jdv-booking-form{max-width:none;margin:24px 0}.jdv-portal-login{max-width:520px;margin:50px auto;padding:30px;border:1px solid #dfe4ed;border-radius:14px;background:#fff;box-shadow:0 8px 28px rgba(4,27,64,.08);color:#071735}.jdv-portal-login h1{color:#052b70}.jdv-portal-login label{display:block;margin:14px 0 6px;font-weight:700}.jdv-portal-login input[type=text],.jdv-portal-login input[type=password]{width:100%;padding:12px;border:1px solid #8793a5;border-radius:6px}.jdv-portal-login input[type=submit]{padding:12px 20px;border:0;border-radius:7px;background:#5da52d;color:#fff;font-weight:800;cursor:pointer}@media(max-width:650px){.jdv-portal-heading{align-items:flex-start;flex-direction:column}.jdv-public-portal{padding:0 10px}.jdv-portal-login{margin:25px 10px;padding:22px}}
.jdv-portal-bookings{margin:24px 0;padding:22px;border:1px solid #dfe4ed;border-radius:14px;background:#fff;box-shadow:0 8px 28px rgba(4,27,64,.07)}.jdv-portal-bookings-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.jdv-portal-bookings-heading h2{margin:4px 0 0;color:#052b70}.jdv-portal-table-wrap{overflow-x:auto}.jdv-portal-bookings table{width:100%;border-collapse:collapse;color:#071735}.jdv-portal-bookings th,.jdv-portal-bookings td{padding:12px 10px;border-bottom:1px solid #dfe4ed;text-align:left}.jdv-portal-bookings th{color:#526078;font-size:13px}.jdv-portal-status{display:inline-block;padding:5px 9px;border-radius:999px;background:#eef3f8;font-size:12px;font-weight:800}.jdv-portal-status.confirmed{background:#e9f6df;color:#315f13}.jdv-portal-status.pending{background:#fff4dd;color:#8a5100}.jdv-portal-status.return_requested{background:#e6f2ff;color:#052b70}@media(max-width:700px){.jdv-portal-bookings-heading{align-items:flex-start;flex-direction:column}.jdv-portal-bookings table,.jdv-portal-bookings tbody,.jdv-portal-bookings tr,.jdv-portal-bookings td{display:block}.jdv-portal-bookings thead{display:none}.jdv-portal-bookings tr{margin-bottom:12px;padding:10px;border:1px solid #dfe4ed;border-radius:9px}.jdv-portal-bookings td{display:grid;grid-template-columns:105px 1fr;gap:8px;padding:7px;border:0}.jdv-portal-bookings td:before{content:attr(data-label);color:#526078;font-weight:800}}
.jdv-footer-portal{padding:18px 20px;background:#071735;color:#fff}.jdv-footer-portal>div{display:flex;max-width:1100px;align-items:center;justify-content:flex-end;gap:18px;margin:0 auto}.jdv-footer-portal span{font-weight:700}.jdv-footer-portal a{display:inline-block;padding:10px 16px;border-radius:7px;background:#5da52d;color:#fff;font-weight:900;text-decoration:none}.jdv-footer-portal a:hover,.jdv-footer-portal a:focus{background:#477f22;color:#fff}@media(max-width:600px){.jdv-footer-portal>div{align-items:stretch;flex-direction:column;text-align:center}.jdv-footer-portal a{text-align:center}}

/* Versie 6.3: rode periodevelden en officiële weeknummers. */
.jdv-calendar-period label{color:#c62828;font-weight:900}.jdv-calendar-period input{border-color:#d94a4a}.jdv-calendar-grid{grid-template-columns:42px repeat(7,minmax(0,1fr))}.jdv-cal-week-heading{color:#c62828}.jdv-cal-week-number{display:flex;min-height:52px;align-items:center;justify-content:center;border-radius:7px;background:#052b70;color:#fff;font-size:13px;font-weight:900}@media(max-width:650px){.jdv-calendar-grid{grid-template-columns:32px repeat(7,minmax(0,1fr))}.jdv-cal-week-number{min-height:47px;font-size:12px}}

/* Versie 6.4: gekozen begin- en einddatum rood in de kalender. */
.jdv-cal-day.selected-start,.jdv-cal-day.selected-end,.jdv-cal-day.selected-start:hover,.jdv-cal-day.selected-end:hover,.jdv-cal-day.selected-start:focus,.jdv-cal-day.selected-end:focus{outline:3px solid #9f1717;background:#c62828;color:#fff}.jdv-cal-day.selected-start small,.jdv-cal-day.selected-end small{color:#fff}

/* Versie 6.5: de volledige gekozen huurperiode rood. */
.jdv-cal-day.selected-range,.jdv-cal-day.selected-range:hover,.jdv-cal-day.selected-range:focus{outline:2px solid #b51f1f;background:#d93636;color:#fff}.jdv-cal-day.selected-range small{color:#fff}

#jdv-reserveringsaanvraag{scroll-margin-top:20px}

.jdv-calendar-result.limit{display:block;background:#eef3f8;color:#052b70}

.jdv-address-status:empty{display:none}.jdv-address-status{padding:11px 13px;border-radius:7px;font-weight:700}.jdv-address-status.loading{background:#eef3f8;color:#526078}.jdv-address-status.found{background:#e9f6df;color:#315f13}.jdv-address-status.error{background:#fff4dd;color:#8a5100}

/* Versie 6.32: aanklikbare boekingen met volledige klantgegevens. */
.jdv-portal-booking-row{cursor:pointer;transition:background .18s}.jdv-portal-booking-row:hover,.jdv-portal-booking-row:focus,.jdv-portal-booking-row.open{outline:none;background:#f2f7ec}.jdv-portal-click-hint{display:block;margin-top:3px;color:#477f22;font-size:11px;font-weight:800}.jdv-portal-booking-detail[hidden]{display:none!important}.jdv-portal-booking-detail>td{padding:0!important;border-bottom:1px solid #dfe4ed;background:#f7fafc}.jdv-portal-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;padding:22px}.jdv-portal-detail-grid p{display:flex;min-width:0;flex-direction:column;gap:4px;margin:0}.jdv-portal-detail-grid span{color:#526078;font-size:12px;font-weight:800;text-transform:uppercase}.jdv-portal-detail-grid strong{overflow-wrap:anywhere;color:#071735}.jdv-portal-detail-wide{grid-column:1/-1}@media(max-width:700px){.jdv-portal-booking-detail{margin-top:-13px!important;padding:0!important;border-top:0!important}.jdv-portal-booking-detail>td{display:block!important;padding:0!important}.jdv-portal-booking-detail>td:before{display:none}.jdv-portal-detail-grid{grid-template-columns:1fr;padding:17px}.jdv-portal-detail-wide{grid-column:auto}}


/* JDV 6.33.6: boekingsportaalplanning uit Header Fix. */
/* Beveiligde weekplanning in het boekingsportaal. */
html body .jdv-portal-actions {
    width: min(1180px, calc(100% - 32px));
    margin: 24px auto 16px;
}
html body .jdv-planning-button,
html body .jdv-week-navigation a,
html body .jdv-planning-close {
    text-decoration: none !important;
}
html body .jdv-planning-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    gap: 9px;
    padding: 11px 20px;
    border-radius: 9px;
    background: #5aaa2a;
    color: #fff !important;
    font-weight: 800;
    box-shadow: 0 7px 18px rgba(45, 104, 19, .2);
}
html body .jdv-planning-button:hover,
html body .jdv-planning-button:focus {
    background: #438d1b;
}
html body .jdv-portal-planning {
    width: min(1180px, calc(100% - 32px));
    margin: 16px auto 28px;
    padding: clamp(18px, 3vw, 30px);
    border: 1px solid #d7e0ed;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(7, 42, 98, .09);
    color: #263650;
}
html body .jdv-planning-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}
html body .jdv-planning-heading h2 {
    margin: 2px 0 3px !important;
    color: #082f73 !important;
    font-size: clamp(27px, 4vw, 38px) !important;
}
html body .jdv-planning-heading p {
    margin: 0;
}
html body .jdv-planning-eyebrow {
    color: #579e27;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}
html body .jdv-planning-close {
    color: #66748a !important;
    font-size: 14px;
    font-weight: 700;
}
html body .jdv-week-navigation {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 22px 0 18px;
}
html body .jdv-week-navigation a {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border: 2px solid #0b3478;
    border-radius: 8px;
    color: #0b3478 !important;
    font-weight: 800;
}
html body .jdv-week-navigation a:hover,
html body .jdv-week-navigation a:focus,
html body .jdv-week-navigation .jdv-current-week {
    background: #0b3478;
    color: #fff !important;
}
html body .jdv-planning-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid #d7e0ed;
    border-radius: 10px;
}
html body .jdv-planning-table {
    width: 100%;
    min-width: 820px;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse;
}
html body .jdv-planning-table th {
    padding: 12px 14px;
    border: 0;
    background: #0b3478;
    color: #fff;
    font-size: 14px;
    text-align: left;
}
html body .jdv-planning-table td {
    padding: 13px 14px;
    border: 0;
    border-bottom: 1px solid #e0e6ef;
    color: #273850;
    vertical-align: top;
}
html body .jdv-planning-table tbody tr:nth-child(even) td {
    background: #f5f8fc;
}
html body .jdv-planning-table a {
    color: #0b3478;
    font-weight: 800;
}
html body .jdv-address-share {
    min-width: 225px;
}
html body .jdv-address-share summary {
    color: #0b3478;
    font-weight: 750;
    text-decoration: underline;
    text-decoration-color: #5aaa2a;
    text-underline-offset: 3px;
    cursor: pointer;
}
html body .jdv-address-share summary:hover,
html body .jdv-address-share summary:focus {
    color: #397f18;
}
html body .jdv-whatsapp-choice {
    display: flex;
    align-items: stretch;
    flex-direction: column;
    gap: 7px;
    margin-top: 10px;
    padding: 11px;
    border: 1px solid #cfe2c5;
    border-radius: 9px;
    background: #f4fbf0;
}
html body .jdv-whatsapp-choice span {
    color: #40516a;
    font-size: 12px;
    font-weight: 700;
}
html body .jdv-whatsapp-choice a {
    display: flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    border-radius: 7px;
    background: #22a85a;
    color: #fff !important;
    font-size: 13px;
    text-decoration: none !important;
}
html body .jdv-whatsapp-choice a:hover,
html body .jdv-whatsapp-choice a:focus {
    background: #168847;
}
html body .jdv-booking-address-link {
    display: inline-block;
    color: #0b3478 !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    text-decoration-color: #5aaa2a !important;
    text-underline-offset: 3px !important;
    cursor: pointer !important;
}
html body .jdv-booking-address-link::after {
    margin-left: 6px;
    content: "↗";
    color: #5aaa2a;
}
html body .jdv-booking-route-choices {
    display: flex;
    max-width: 390px;
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
    padding: 12px;
    border: 1px solid #cfe2c5;
    border-radius: 9px;
    background: #f4fbf0;
}
html body .jdv-booking-route-choices[hidden] {
    display: none !important;
}
html body .jdv-booking-route-choices span {
    color: #40516a;
    font-size: 12px;
    font-weight: 800;
}
html body .jdv-booking-route-choices a {
    display: flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 8px 11px;
    border-radius: 7px;
    background: #22a85a;
    color: #fff !important;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
    text-decoration: none !important;
}
html body .jdv-booking-route-choices a:hover,
html body .jdv-booking-route-choices a:focus {
    background: #168847;
}

html body .jdv-planning-empty {
    padding: 22px;
    border-radius: 10px;
    background: #f1f5fa;
    color: #40516a;
    font-weight: 700;
}
@media (max-width: 620px) {
    html body .jdv-planning-heading {
        flex-direction: column;
    }
    html body .jdv-week-navigation {
        align-items: stretch;
        flex-direction: column;
    }
    html body .jdv-week-navigation a {
        width: 100%;
    }
}

/* 6.33.7: kalender eerst, controleknop eronder, datumvelden daarna */
.jdv-calendar-action{display:flex;justify-content:center;margin:14px 0}.jdv-calendar-action .jdv-calendar-check{min-width:260px}.jdv-calendar-period{grid-template-columns:1fr 1fr;margin-top:0}@media(max-width:650px){.jdv-calendar-action .jdv-calendar-check{width:100%;min-width:0}.jdv-calendar-period{grid-template-columns:1fr}}


/* JDV 6.33.9 - logische veldparen op desktop */
@media (min-width: 651px) {
  .jdv-booking-form .jdv-pair-start { grid-column: 1; grid-row: auto; }
  .jdv-booking-form .jdv-pair-end { grid-column: 2; grid-row: auto; }
  .jdv-booking-form .jdv-pair-name { grid-column: 1; grid-row: auto; }
  .jdv-booking-form .jdv-pair-surname { grid-column: 2; grid-row: auto; }
  .jdv-booking-form .jdv-pair-postal { grid-column: 1; grid-row: auto; }
  .jdv-booking-form .jdv-pair-house { grid-column: 2; grid-row: auto; }
}


/* JDV 6.34.0 - definitieve volgorde persoonsgegevens op desktop */
@media (min-width: 651px) {
  .jdv-booking-form .jdv-pair-start { grid-column: 1; grid-row: 2; }
  .jdv-booking-form .jdv-pair-end { grid-column: 2; grid-row: 2; }
  .jdv-booking-form .jdv-pair-name { grid-column: 1; grid-row: 3; }
  .jdv-booking-form .jdv-pair-surname { grid-column: 2; grid-row: 3; }
  .jdv-booking-form .jdv-pair-postal { grid-column: 1; grid-row: 4; }
  .jdv-booking-form .jdv-pair-house { grid-column: 2; grid-row: 4; }
}

.jdv-transport{display:grid;gap:10px;padding:16px;border:1px solid #cdd9e5;border-radius:8px;background:#f7fbff}
.jdv-transport label{display:flex;align-items:flex-start;gap:8px;font-weight:normal}
.jdv-transport label input{width:auto;margin-top:4px;flex:none}
.jdv-transport-result{margin:2px 0 0;font-weight:600;color:#052b70}
