/* Holiday Booking – front-end stijl */
.hb-booking-form{max-width:560px;border:1px solid #e3e3e3;border-radius:12px;padding:24px;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.05)}
.hb-form .hb-field{margin-bottom:14px}
.hb-form label{display:block;font-weight:600;margin-bottom:5px;font-size:14px}
.hb-form input,.hb-form select,.hb-form textarea{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:8px;font-size:15px;box-sizing:border-box}
.hb-form .hb-row{display:flex;gap:14px}
.hb-form .hb-row .hb-field{flex:1}
.hb-submit{width:100%;padding:13px;border:0;border-radius:8px;background:#1f6feb;color:#fff;font-size:16px;font-weight:600;cursor:pointer;margin-top:8px}
.hb-submit:hover{background:#1a5fd0}
.hb-submit:disabled{opacity:.6;cursor:not-allowed}

.hb-guests-section{margin:4px 0 16px}
.hb-guests-heading{display:block;font-weight:600;font-size:14px;margin-bottom:8px}
.hb-guest-group{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.hb-guest-row{display:flex;align-items:center;gap:8px;background:#f6f8fa;border:1px solid #e8ecf1;border-radius:8px;padding:8px}
.hb-guest-tag{flex:0 0 92px;font-size:12px;font-weight:600;color:#5b6b7e}
.hb-guest-row input{flex:1;min-width:0;padding:8px 10px;border:1px solid #ccc;border-radius:6px;font-size:14px}
.hb-guest-row .hb-g-age{flex:0 0 96px}
@media(max-width:480px){.hb-guest-row{flex-wrap:wrap}.hb-guest-tag{flex-basis:100%}}

.hb-price-box{background:#f6f8fa;border-radius:8px;padding:14px;margin:6px 0 16px}
.hb-price-row{display:flex;justify-content:space-between;padding:3px 0;font-size:15px}
.hb-price-total{border-top:1px solid #ddd;margin-top:6px;padding-top:8px;font-weight:700;font-size:17px}

.hb-message{margin-top:12px;padding:10px 12px;border-radius:8px;font-size:14px}
.hb-message:empty{display:none}
.hb-success{background:#e6f6ea;color:#1a7f37;border:1px solid #b7e0c2}
.hb-error{background:#fdecea;color:#b42318;border:1px solid #f5c2bd}

/* Kalender */
.hb-calendar{max-width:680px}
.hb-cal-legend{display:flex;gap:18px;margin-bottom:10px;font-size:13px}
.hb-dot{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle;margin-right:4px}
.hb-dot-free{background:#d7f5dd}
.hb-dot-booked{background:#f3c5c0}
.hb-cal-grid{display:flex;flex-wrap:wrap;gap:24px}
.hb-cal-month{flex:1;min-width:280px}
.hb-cal-title{font-weight:700;text-transform:capitalize;margin-bottom:8px}
.hb-cal-week,.hb-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.hb-cal-dow{text-align:center;font-size:12px;color:#777;padding:3px 0}
.hb-cal-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-align:center;padding:6px 0 5px;border-radius:6px;font-size:13px;min-height:38px}
.hb-cal-d{line-height:1}
.hb-cal-price{font-size:10px;opacity:.75;font-weight:600}
.hb-free{background:#d7f5dd;color:#13662a}
.hb-booked{background:#f3c5c0;color:#7a221a}
.hb-booked .hb-cal-d{text-decoration:line-through}
.hb-past{background:#f3f4f6;color:#b8c0c8}
.hb-cal-empty{padding:8px 0}
.hb-cal-selectable .hb-free{cursor:pointer;transition:background .12s,box-shadow .12s}
.hb-cal-selectable .hb-free:hover{background:#bff0cb;box-shadow:inset 0 0 0 2px rgba(31,111,235,.3)}
.hb-sel-start,.hb-sel-end{background:#1f6feb !important;color:#fff !important}
.hb-sel-in{background:#cfe0fb !important;color:#143a7a !important}

/* Woningenoverzicht */
.hb-accommodations{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.hb-accommodations.hb-cols-1{grid-template-columns:1fr}
.hb-accommodations.hb-cols-2{grid-template-columns:repeat(2,1fr)}
.hb-accommodations.hb-cols-3{grid-template-columns:repeat(3,1fr)}
.hb-accommodations.hb-cols-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:782px){.hb-accommodations.hb-cols-2,.hb-accommodations.hb-cols-3,.hb-accommodations.hb-cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.hb-accommodations,.hb-accommodations.hb-cols-2,.hb-accommodations.hb-cols-3,.hb-accommodations.hb-cols-4{grid-template-columns:1fr}}
.hb-acc-card{border:1px solid #e3e3e3;border-radius:12px;overflow:hidden;background:#fff}
.hb-acc-card img{width:100%;height:180px;object-fit:cover;display:block}
.hb-acc-card h3{margin:14px 16px 4px;font-size:18px}
.hb-acc-card h3 a{text-decoration:none;color:inherit}
.hb-acc-card p{margin:4px 16px}
.hb-acc-meta{color:#1f6feb;font-weight:600}
.hb-acc-button{display:inline-block;margin:12px 16px 16px;padding:9px 16px;background:#1f6feb;color:#fff;border-radius:8px;text-decoration:none;font-weight:600}

/* ===== Losse woningpagina ===== */
.hb-single{max-width:1140px;margin:0 auto;padding:24px 16px}
.hb-single-head{margin-bottom:20px}
.hb-single-type{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#1f6feb;background:#eaf1fe;padding:4px 12px;border-radius:20px}
.hb-single-title{margin:10px 0 4px;font-size:32px;line-height:1.15}
.hb-single-address{margin:0;color:#5b6b7e;font-size:15px}
.hb-single-grid{display:grid;grid-template-columns:1fr 380px;gap:32px;align-items:start}
@media(max-width:900px){.hb-single-grid{grid-template-columns:1fr}}

.hb-gallery{margin-bottom:20px}
.hb-gallery-main{border-radius:14px;overflow:hidden;background:#eef2f7}
.hb-gallery-main img,.hb-gallery-current{width:100%;height:auto;max-height:460px;object-fit:cover;display:block}
.hb-gallery-thumbs{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.hb-gallery-thumb{padding:0;border:2px solid transparent;border-radius:9px;overflow:hidden;cursor:pointer;background:none;line-height:0}
.hb-gallery-thumb img{width:84px;height:64px;object-fit:cover;display:block}
.hb-gallery-thumb.is-active{border-color:#1f6feb}

.hb-single-facts{display:flex;flex-wrap:wrap;gap:10px 18px;margin:6px 0 18px;font-size:15px;color:#33414f}
.hb-single-facts span{background:#f4f6f9;border:1px solid #e8ecf1;border-radius:8px;padding:6px 12px}
.hb-single-desc{font-size:16px;line-height:1.7;color:#2b3542;margin-bottom:24px}
.hb-single-h2{font-size:22px;margin:8px 0 14px}

.hb-single-side{position:sticky;top:24px}
.hb-book-card{border:1px solid #e3e3e3;border-radius:14px;background:#fff;box-shadow:0 6px 24px rgba(15,35,54,.08);overflow:hidden}
.hb-price-hero{padding:22px 24px;background:linear-gradient(135deg,#1f6feb,#0f2336);color:#fff}
.hb-price-amount{display:flex;align-items:baseline;gap:2px;font-weight:800;line-height:1}
.hb-price-cur{font-size:24px}
.hb-price-num{font-size:46px;font-variant-numeric:tabular-nums}
.hb-price-unit{font-size:14px;opacity:.85;margin-top:2px}
.hb-price-extra{font-size:13px;opacity:.8;margin-top:8px}
.hb-book-card .hb-booking-form{border:0;border-radius:0;box-shadow:none;max-width:none;padding:20px 24px 24px}
.hb-book-card .hb-watch-wrap{padding:0 24px 22px;margin-top:-8px}

/* ===== Prijswijziging-melding ===== */
.hb-price-watch{margin-top:14px}
.hb-watch-toggle{background:none;border:1px solid #d7dde6;border-radius:8px;padding:9px 14px;font-size:14px;font-weight:600;color:#1f6feb;cursor:pointer;width:100%}
.hb-watch-toggle:hover{background:#f4f8ff}
.hb-watch-panel{margin-top:10px;background:#f6f8fa;border:1px solid #e8ecf1;border-radius:8px;padding:14px}
.hb-watch-intro{font-size:13px;color:#5b6b7e;margin:0 0 10px}
.hb-watch-row{display:flex;gap:8px}
.hb-watch-email{flex:1;min-width:0;padding:9px 11px;border:1px solid #ccc;border-radius:7px;font-size:14px}
.hb-watch-submit{background:#1f6feb;color:#fff;border:0;border-radius:7px;padding:9px 16px;font-weight:600;cursor:pointer;white-space:nowrap}
.hb-watch-submit:hover{background:#1a5fd0}
.hb-watch-submit:disabled{opacity:.6;cursor:not-allowed}
.hb-watch-message{margin-top:8px;font-size:13px}
.hb-watch-message.hb-success{color:#1a7f37}
.hb-watch-message.hb-error{color:#b42318}
