:root{--ma-green:#17753f;--ma-green-dark:#0f5d32;--ma-blue:#0f6077;--ma-ink:#12233a;--ma-muted:#657184;--ma-line:#dde4e9;--ma-soft:#f7f3ea;--ma-good:#edf8f1;--ma-busy:#f9d9d5;--ma-na:#eef1f3;--ma-warn:#fff5dd;--ma-white:#fff}
.ma-availability,.ma-booking{max-width:1180px;margin:26px auto;color:var(--ma-ink);font-family:inherit}.ma-availability *,.ma-booking *{box-sizing:border-box}.ma-kicker{display:block;color:var(--ma-green);font-size:12px;line-height:1;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-bottom:7px}.ma-section-head{display:flex;gap:24px;align-items:end;justify-content:space-between;margin-bottom:20px}.ma-section-head.compact{display:block}.ma-section-head h2,.ma-main h2{font-size:31px;line-height:1.12;margin:0 0 7px}.ma-section-head p,.ma-lead{margin:0;color:var(--ma-muted);font-size:16px;line-height:1.55}.ma-month-nav{display:grid;grid-template-columns:42px minmax(145px,1fr) 42px;align-items:center;border:1px solid var(--ma-line);border-radius:12px;background:#fff;overflow:hidden;min-width:230px}.ma-month-nav button{border:0;background:#fff;height:42px;font:inherit;font-size:24px;cursor:pointer;color:var(--ma-ink)}.ma-month-nav strong{text-align:center;font-size:14px;text-transform:capitalize}.ma-month-nav.large{width:100%;margin:10px 0 14px}.ma-home-cards{display:grid;gap:12px}.ma-property-card{display:grid;grid-template-columns:150px minmax(0,1fr) 210px 190px;gap:17px;align-items:center;background:#fff;border:1px solid var(--ma-line);border-radius:18px;padding:10px 12px;box-shadow:0 7px 22px rgba(19,34,56,.05)}.ma-property-photo{height:104px;border-radius:13px;background:#e8edf0 center/cover no-repeat}.ma-property-main{display:flex;gap:18px;align-items:center;justify-content:space-between;min-width:0}.ma-property-main h3{font-size:22px;margin:0 0 8px}.ma-meta{display:flex;flex-wrap:wrap;gap:5px 13px;color:var(--ma-muted);font-size:13px}.ma-card-availability{min-width:140px}.ma-card-availability small{display:block;color:var(--ma-muted);font-size:12px}.ma-card-availability strong{display:block;margin-top:4px;font-size:14px}.ma-card-prices{border-left:1px solid var(--ma-line);padding-left:18px}.ma-card-prices div{display:flex;justify-content:space-between;gap:14px;padding:4px 0;font-size:14px}.ma-card-prices span{color:var(--ma-muted)}.ma-card-prices .is-muted{opacity:.55}.ma-card-actions{display:grid;gap:8px}.ma-primary,.ma-secondary{display:inline-flex;justify-content:center;align-items:center;border-radius:999px;padding:10px 16px;font:inherit;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;transition:.18s ease}.ma-primary{background:var(--ma-green);color:#fff;border:1px solid var(--ma-green)}.ma-primary:hover{background:var(--ma-green-dark);color:#fff}.ma-primary:disabled,.ma-primary.disabled{opacity:.45;cursor:not-allowed}.ma-secondary{background:#fff;color:var(--ma-ink);border:1px solid var(--ma-line)}.ma-info-note{margin-top:14px;padding:14px 16px;border:1px solid #d7e5ef;background:#f0f7fb;border-radius:14px;display:grid;gap:3px}.ma-info-note strong{font-size:14px}.ma-info-note span{color:var(--ma-muted);font-size:13px}
.ma-property-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.ma-calendar-panel,.ma-rate-panel,.ma-next-periods,.ma-card{background:#fff;border:1px solid var(--ma-line);border-radius:18px;box-shadow:0 7px 22px rgba(19,34,56,.05)}.ma-calendar-panel{padding:17px}.ma-rate-panel{padding:20px;position:sticky;top:24px}.ma-rate-panel h3{font-size:20px;margin:3px 0 15px}.ma-stay-tabs{display:flex;gap:7px;flex-wrap:wrap}.ma-stay-tabs button{border:1px solid var(--ma-line);background:#fff;border-radius:999px;padding:8px 16px;font:inherit;font-weight:700;font-size:14px;cursor:pointer}.ma-stay-tabs button.active{background:#eef9f2;border-color:var(--ma-green);color:var(--ma-green-dark)}.ma-calendar{min-height:330px}.ma-calendar-loading{padding:38px 10px;color:var(--ma-muted);text-align:center}.ma-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.ma-cal-head{text-align:center;font-size:12px;color:var(--ma-muted);font-weight:700;padding:5px 0}.ma-cal-empty{min-height:58px}.ma-cal-day{min-height:58px;border:1px solid transparent;border-radius:11px;background:#fff;color:var(--ma-ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:inherit}.ma-cal-day span{font-weight:700}.ma-cal-day small{font-size:9px;line-height:1;color:var(--ma-green-dark)}.ma-cal-day.free{border-color:#cfe4d6;background:#f1fbf4;cursor:pointer}.ma-cal-day.free:hover,.ma-cal-day.free.selected{background:var(--ma-green);border-color:var(--ma-green);color:#fff}.ma-cal-day.free.selected small,.ma-cal-day.free:hover small{color:#fff}.ma-cal-day.busy{background:var(--ma-busy);color:#965954}.ma-cal-day.na{background:var(--ma-na);color:#a1a9b2}.ma-cal-day.error{background:#fff1e8;color:#a0642f}.ma-cal-day:disabled{cursor:default}.ma-calendar-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:13px;color:var(--ma-muted);font-size:12px}.ma-calendar-legend span{display:flex;align-items:center;gap:5px}.ma-calendar-legend i{width:10px;height:10px;border-radius:50%}.ma-calendar-legend i.free{background:#5ab66e}.ma-calendar-legend i.busy{background:#e9aaa4}.ma-calendar-legend i.na{background:#cbd2d8}.ma-rate-list{display:grid;gap:7px;margin-bottom:14px}.ma-rate-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #edf0f2;font-size:14px}.ma-rate-row span{color:var(--ma-muted)}.ma-rate-choice{width:100%;border:1px solid var(--ma-line);background:#fff;border-radius:12px;padding:11px 12px;display:flex;justify-content:space-between;align-items:center;text-align:left;font:inherit;cursor:pointer}.ma-rate-choice span{font-weight:700}.ma-rate-choice span small{display:block;font-weight:400;color:var(--ma-muted);font-size:11px;margin-top:3px}.ma-rate-choice strong{white-space:nowrap}.ma-rate-choice:hover,.ma-rate-choice.selected{border-color:var(--ma-green);background:#f2fbf5}.ma-rate-choice.unavailable{opacity:.5;cursor:not-allowed}.ma-rate-choice.no-rate{background:#fff9ee}.ma-wide{width:100%}.ma-small,.ma-muted{color:var(--ma-muted);font-size:12px;line-height:1.5}.ma-next-periods{padding:18px;margin-top:18px}.ma-next-periods h3{margin:0 0 10px;font-size:20px}.ma-next-row{width:100%;display:grid;grid-template-columns:1fr 90px 110px 24px;gap:10px;align-items:center;border:0;border-top:1px solid var(--ma-line);background:#fff;padding:11px 5px;text-align:left;font:inherit;cursor:pointer}.ma-next-row:first-child{border-top:0}.ma-next-row span:nth-child(2){color:var(--ma-muted);font-size:13px}.ma-next-row strong{text-align:right}
.ma-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 25px}.ma-progress>div{display:flex;align-items:center;gap:8px;color:#7d8792;font-size:13px;font-weight:600}.ma-progress>div span{width:31px;height:31px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e8edf1}.ma-progress>div.active{color:var(--ma-ink)}.ma-progress>div.active span{background:var(--ma-green);color:#fff}.ma-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px}.ma-card{padding:20px;margin-bottom:16px}.ma-step{display:none}.ma-step.active{display:block}.ma-sticky{position:sticky;top:24px}.ma-summary h3{font-size:24px;margin:5px 0 17px}.ma-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin:0}.ma-summary dt{color:var(--ma-muted)}.ma-summary dd{margin:0;text-align:right;font-weight:700}.ma-price{display:flex;justify-content:space-between;gap:12px;align-items:end;border-top:1px solid var(--ma-line);margin-top:17px;padding-top:17px}.ma-price span{color:var(--ma-muted)}.ma-price strong{font-size:23px;white-space:nowrap}.ma-mini-lines{margin-top:15px;border-top:1px solid var(--ma-line);padding-top:8px}.ma-mini-lines div{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:3px 0}.ma-mini-lines span{color:var(--ma-muted)}.ma-cash{margin-top:10px;background:var(--ma-warn);color:#7a5100;border-radius:10px;padding:10px 11px;font-size:12px}.ma-selection-line{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid #edf0f2}.ma-selection-line:last-child{border-bottom:0}.ma-selection-line span{color:var(--ma-muted)}.ma-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ma-card label,.ma-form label{display:block;font-weight:600;margin:10px 0}.ma-card input,.ma-card textarea,.ma-inline-contact input,.ma-inline-contact textarea{width:100%;border:1px solid #cfd8df;border-radius:11px;padding:11px 12px;font:inherit;background:#fff}.ma-visitor-block{background:#f7f9fa;padding:13px;border-radius:13px;margin-top:13px}.ma-visitor-block h4{margin:0 0 4px}.ma-visitor-block p{margin:0;color:var(--ma-muted);font-size:12px}.ma-required-row{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 0;border-bottom:1px solid #edf0f2}.ma-required-row span{color:var(--ma-muted);font-size:12px}.ma-required-row b{grid-column:2;grid-row:1/3;align-self:center}.ma-options summary{font-weight:800;cursor:pointer}.ma-extra-options{margin-top:12px}.ma-extra-options label{display:grid;grid-template-columns:1fr 90px;gap:3px 10px;align-items:center;padding:9px 0;border-bottom:1px solid #edf0f2}.ma-extra-options label small{color:var(--ma-muted);font-weight:400}.ma-extra-options label input{grid-column:2;grid-row:1/3;margin:0}.ma-check{display:flex!important;gap:9px;align-items:flex-start}.ma-check input{width:auto;margin-top:3px}.ma-actions{display:flex;justify-content:space-between;gap:10px;margin-top:20px}.ma-message{border-radius:12px;margin:13px 0}.ma-message.good,.ma-message.bad,.ma-message.info,.ma-message.warn{padding:12px 14px}.ma-message.good{background:var(--ma-good);color:#17683a}.ma-message.bad{background:#fff0f0;color:#982c2c}.ma-message.info{background:#eef6fb;color:#245a7e}.ma-message.warn{background:var(--ma-warn);color:#7a5100}.ma-inline-contact{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.ma-inline-contact textarea{grid-column:1/-1}.ma-inline-contact button{justify-self:start}.ma-quote-line{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #edf0f2}.ma-quote-line small{display:block;color:var(--ma-muted);font-size:11px}.ma-quote-total{display:flex;justify-content:space-between;align-items:center;font-size:18px;padding-top:14px}.ma-quote-total strong{font-size:22px}.ma-quote-cash{margin-top:9px;padding:9px 11px;background:var(--ma-warn);border-radius:10px;color:#7a5100;font-size:12px}
@media(max-width:980px){.ma-property-card{grid-template-columns:130px 1fr 180px}.ma-card-actions{grid-column:2/4;grid-template-columns:1fr 1fr}.ma-property-grid,.ma-layout{grid-template-columns:1fr}.ma-rate-panel,.ma-sticky{position:static}.ma-summary{order:-1}}
@media(max-width:720px){.ma-availability,.ma-booking{margin:16px 0}.ma-section-head{align-items:stretch;flex-direction:column}.ma-month-nav{width:100%}.ma-property-card{grid-template-columns:92px 1fr;padding:10px}.ma-property-photo{height:82px}.ma-property-main{display:block}.ma-card-availability{margin-top:8px}.ma-card-prices{grid-column:1/3;border-left:0;border-top:1px solid var(--ma-line);padding:10px 0 0}.ma-card-actions{grid-column:1/3}.ma-section-head h2,.ma-main h2{font-size:26px}.ma-property-grid{gap:13px}.ma-calendar-panel,.ma-rate-panel,.ma-next-periods,.ma-card{border-radius:15px}.ma-calendar-panel{padding:12px}.ma-calendar{min-height:280px}.ma-cal-day{min-height:48px;border-radius:9px}.ma-cal-day small{display:none}.ma-next-row{grid-template-columns:1fr 70px 90px 18px;font-size:13px}.ma-progress{overflow:auto;grid-template-columns:repeat(4,max-content);padding-bottom:4px}.ma-grid2,.ma-inline-contact{grid-template-columns:1fr}.ma-inline-contact textarea{grid-column:1}.ma-actions{flex-direction:column-reverse}.ma-actions .ma-primary,.ma-actions .ma-secondary{width:100%}}
@media(max-width:460px){.ma-home-cards{gap:9px}.ma-property-main h3{font-size:19px}.ma-card-actions{grid-template-columns:1fr}.ma-calendar-grid{gap:3px}.ma-cal-day{min-height:43px;font-size:13px}.ma-stay-tabs button{padding:7px 12px;font-size:13px}.ma-rate-panel{padding:15px}.ma-next-row{grid-template-columns:1fr 75px 18px}.ma-next-row span:nth-child(2){display:none}.ma-summary h3{font-size:21px}.ma-price strong{font-size:20px}}
/* v1.2 Zoek & Boek routing */
.ma-search-card{background:#fff;border:1px solid var(--ma-line);border-radius:18px;padding:16px 18px;margin:0 0 16px;box-shadow:0 7px 22px rgba(19,34,56,.05)}
.ma-search-stay{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.ma-search-stay button{border:1px solid var(--ma-line);background:#fff;border-radius:999px;padding:9px 18px;font:inherit;font-weight:700;cursor:pointer}.ma-search-stay button.active{background:#eef9f2;border-color:var(--ma-green);color:var(--ma-green-dark)}
.ma-search-fields{display:grid;grid-template-columns:minmax(170px,1.3fr) minmax(120px,.8fr) minmax(105px,.6fr) minmax(105px,.6fr) auto;gap:10px;align-items:end}.ma-search-fields label{display:grid;gap:5px;font-weight:700;font-size:13px}.ma-search-fields input,.ma-search-fields select,.ma-weeks-control select{width:100%;min-height:42px;border:1px solid #cfd8df;border-radius:11px;padding:8px 10px;background:#fff;font:inherit;color:var(--ma-ink)}.ma-search-submit{min-height:42px;white-space:nowrap}.ma-search-help{margin:10px 0 0;color:var(--ma-muted);font-size:12px;line-height:1.5}.ma-home-status:empty{display:none}
.ma-property-card{grid-template-columns:150px minmax(260px,1fr) 250px 190px}.ma-result-period{display:block;margin-top:3px;color:var(--ma-muted);font-size:12px}.ma-card-prices .ma-exact-price{padding:0 0 8px;margin-bottom:5px;border-bottom:1px solid var(--ma-line)}.ma-card-prices .ma-exact-price b{font-size:18px;color:var(--ma-green-dark)}.ma-card-prices .ma-range-line{font-size:12px}.ma-property-card.is-unavailable{opacity:.73}.ma-property-card.is-warning .ma-exact-price b{color:#9a6500}
.ma-property-controls{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:0 0 12px}.ma-weeks-control{display:grid;gap:5px;min-width:150px;font-size:12px;font-weight:700}.ma-period-list{max-height:480px;overflow:auto;padding-right:2px}.ma-period-choice{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--ma-line);border-radius:12px;background:#fff;padding:10px 11px;text-align:left;font:inherit;cursor:pointer}.ma-period-choice span{display:grid;gap:2px}.ma-period-choice small{font-size:11px;color:var(--ma-muted)}.ma-period-choice b{white-space:nowrap}.ma-period-choice:hover,.ma-period-choice.selected{border-color:var(--ma-green);background:#f2fbf5}.ma-selected-period{display:grid;grid-template-columns:1fr auto;gap:3px 12px;margin:12px 0;padding:12px;background:#f2fbf5;border-radius:12px}.ma-selected-period span{grid-column:1/-1;color:var(--ma-muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.ma-selected-period strong{font-size:13px}.ma-selected-period b{color:var(--ma-green-dark)}
@media(max-width:1050px){.ma-search-fields{grid-template-columns:1fr 1fr 1fr}.ma-search-submit{grid-column:1/-1}.ma-property-card{grid-template-columns:130px 1fr 210px}.ma-card-actions{grid-column:2/4;grid-template-columns:1fr 1fr}}
@media(max-width:720px){.ma-search-card{padding:14px}.ma-search-fields{grid-template-columns:1fr 1fr}.ma-search-submit{grid-column:1/-1;width:100%}.ma-property-card{grid-template-columns:92px 1fr}.ma-card-prices{grid-column:1/3}.ma-card-actions{grid-column:1/3}.ma-property-controls{align-items:stretch;flex-direction:column}.ma-weeks-control{width:100%}.ma-stay-tabs{width:100%}.ma-stay-tabs button{flex:1}.ma-period-list{max-height:none}}
@media(max-width:460px){.ma-search-fields{grid-template-columns:1fr}.ma-search-fields label,.ma-search-submit{grid-column:1}.ma-search-stay button{flex:1}.ma-card-prices .ma-range-line{display:flex}.ma-property-card{padding:9px}.ma-card-actions{grid-template-columns:1fr}}
.ma-search-date-field{position:relative}.ma-date-display{width:100%;min-height:42px;border:1px solid #cfd8df;border-radius:11px;padding:8px 10px;background:#fff;color:var(--ma-ink);font:inherit;text-align:left;cursor:pointer}.ma-search-calendar-pop{position:absolute;z-index:40;top:68px;left:0;width:310px;background:#fff;border:1px solid var(--ma-line);border-radius:14px;padding:10px;box-shadow:0 18px 45px rgba(19,34,56,.18)}.ma-search-calendar-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;margin-bottom:8px}.ma-search-calendar-head button{border:0;background:#fff;font:inherit;font-size:22px;cursor:pointer}.ma-search-calendar-head strong{text-align:center;text-transform:capitalize}.ma-search-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.ma-search-cal-grid button{border:1px solid transparent;border-radius:8px;background:#f7f9fa;min-height:36px;font:inherit;cursor:pointer}.ma-search-cal-grid button:hover,.ma-search-cal-grid button.selected{background:var(--ma-green);color:#fff}.ma-search-cal-grid button.past{opacity:.35;cursor:default}.ma-search-cal-grid>span{min-height:36px}
@media(max-width:460px){.ma-search-calendar-pop{position:fixed;left:14px;right:14px;top:18%;width:auto;max-width:360px;margin:auto}}
/* v1.3 routing discipline */
[data-search-weeks-wrap][hidden], [data-search-weeks-wrap].is-hidden { display:none !important; }
.ma-property-card.is-unavailable .ma-card-actions .ma-primary.disabled { pointer-events:none; }

/* v1.4 availability-first interface */
.ma-search-calendar-pop{width:350px;padding:14px;border-radius:18px;box-shadow:0 22px 55px rgba(19,34,56,.22)}
.ma-search-calendar-head{grid-template-columns:42px 1fr 42px;margin-bottom:10px}
.ma-search-calendar-head button{min-height:38px;border:1px solid var(--ma-line);border-radius:10px;color:var(--ma-ink);background:#fff}
.ma-search-calendar-head button:hover{background:#f3f7f8}
.ma-search-cal-grid{display:block}
.ma-search-cal-grid-inner{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.ma-search-cal-grid-inner .ma-cal-head{color:#506173;font-size:11px;padding:6px 0}
.ma-search-cal-grid-inner button{min-height:39px;border:1px solid #edf0f2;border-radius:9px;background:#f8fafb;color:var(--ma-ink);font:inherit;font-weight:650;cursor:pointer}
.ma-search-cal-grid-inner button.weekend:not(.selected){background:#fbf7ef}
.ma-search-cal-grid-inner button.today:not(.selected){box-shadow:inset 0 0 0 2px #84a7b9}
.ma-search-cal-grid-inner button:hover:not(:disabled),.ma-search-cal-grid-inner button.selected{background:var(--ma-green);border-color:var(--ma-green);color:#fff}
.ma-search-cal-grid-inner button.past{opacity:.28;color:#6d7882;cursor:default}
.ma-search-empty{min-height:39px}
.ma-search-calendar-help{margin:11px 2px 0;padding-top:10px;border-top:1px solid var(--ma-line);font-size:11px;line-height:1.45;color:var(--ma-muted)}
.ma-result-period{display:grid;gap:5px}.ma-result-period>span{display:block}.ma-forward{display:block;font-size:11px;line-height:1.4;color:var(--ma-green-dark);font-weight:500}.ma-forward b{font-weight:800}
.ma-forward-block{display:grid;gap:7px;margin-top:12px;padding-top:12px;border-top:1px solid var(--ma-line)}.ma-forward-block>strong{font-size:12px;color:var(--ma-green-dark);text-transform:uppercase;letter-spacing:.04em}.ma-period-choice.compact{padding:8px 9px}
.ma-cal-day.free{box-shadow:inset 0 0 0 1px rgba(39,126,74,.08)}.ma-cal-day.busy{background:#fbe7e4;border-color:#f4d0cc}.ma-cal-day.na{background:#f6f7f8;color:#a9b0b7}.ma-cal-day.error{background:#fff6e9;border-color:#f2ddbd}
@media(max-width:460px){.ma-search-calendar-pop{top:12%;left:10px;right:10px;max-width:390px;padding:12px}.ma-search-cal-grid-inner{gap:4px}.ma-search-cal-grid-inner button{min-height:42px}.ma-search-calendar-help{font-size:12px}}


/* v1.4.4 visuele verfijning zoekkalender en last-minute */
.ma-search-calendar-pop{
  width:390px;
  max-width:calc(100vw - 28px);
  padding:16px;
  border:1px solid #d5e1dd;
  background:linear-gradient(180deg,#ffffff 0%,#fffdf8 100%);
  box-shadow:0 24px 60px rgba(18,35,58,.22);
}
.ma-search-calendar-head{
  margin:-2px -2px 12px;
  padding:4px;
  border-radius:13px;
  background:#f3f7f5;
}
.ma-search-calendar-head strong{
  font-size:15px;
  color:var(--ma-ink);
  font-weight:800;
}
.ma-search-calendar-head button{
  min-width:42px;
  width:42px;
  min-height:42px;
  border:0;
  border-radius:11px;
  background:#fff;
  box-shadow:0 1px 4px rgba(18,35,58,.08);
  color:var(--ma-green-dark);
  font-size:24px;
  font-weight:800;
}
.ma-search-calendar-head button:hover{
  background:#eaf6ee;
  color:var(--ma-green-dark);
}
.ma-search-cal-grid-inner{
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:6px;
}
.ma-search-cal-grid-inner .ma-cal-head{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  padding:7px 0 5px;
  color:#526476;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.ma-search-cal-grid-inner button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  aspect-ratio:1 / 1;
  min-height:42px;
  padding:0;
  border:1px solid #e5ece8;
  border-radius:11px;
  background:#f8fbf9;
  color:#1d3345;
  box-shadow:0 1px 2px rgba(18,35,58,.03);
  font-size:14px;
  font-weight:800;
  line-height:1;
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  text-align:center;
}
.ma-search-cal-grid-inner button.weekend:not(.selected){
  background:#fff8ec;
  border-color:#f0e5d2;
}
.ma-search-cal-grid-inner button.today:not(.selected){
  background:#eef7fb;
  border-color:#8db8c8;
  box-shadow:inset 0 0 0 1px #8db8c8;
}
.ma-search-cal-grid-inner button:hover:not(:disabled):not(.selected){
  background:#eaf6ee;
  border-color:#8fc3a3;
  color:var(--ma-green-dark);
  transform:translateY(-1px);
}
.ma-search-cal-grid-inner button.selected{
  background:linear-gradient(180deg,#21834a 0%,#126b3a 100%);
  border-color:#126b3a;
  color:#fff;
  box-shadow:0 5px 12px rgba(23,117,63,.25);
}
.ma-search-cal-grid-inner button.past{
  background:#f4f5f5;
  border-color:#f0f1f1;
  color:#aeb5b8;
  opacity:.48;
}
.ma-search-empty{aspect-ratio:1 / 1;min-height:42px}
.ma-search-calendar-help{
  margin-top:13px;
  padding:11px 12px 0;
  border-top:1px solid #e4eae7;
  color:#5f6f7f;
  font-size:11px;
}
.ma-property-card.is-promo{
  border-color:#d8bd78;
  box-shadow:0 8px 26px rgba(151,103,23,.08);
}
.ma-property-card.is-promo .ma-exact-price{
  margin:-2px -4px 6px;
  padding:7px 8px 9px;
  border-radius:10px;
  background:#fff7e6;
  border-bottom:0;
}
.ma-property-card.is-promo .ma-exact-price span{
  color:#8a5400;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.ma-property-card.is-promo .ma-exact-price b{
  color:#0f6a39;
  font-size:20px;
  font-weight:900;
}
@media(max-width:460px){
  .ma-search-calendar-pop{left:8px;right:8px;width:auto;max-width:none;padding:13px}
  .ma-search-cal-grid-inner{gap:4px}
  .ma-search-cal-grid-inner button,.ma-search-empty{min-height:40px}
  .ma-search-cal-grid-inner button{font-size:13px;border-radius:9px}
}


/* v1.4.5 testomgeving: contrast actieknoppen en stabiele prijsweergave */
.ma-availability a.ma-primary,
.ma-availability a.ma-primary:link,
.ma-availability a.ma-primary:visited,
.ma-availability a.ma-primary:hover,
.ma-availability a.ma-primary:focus,
.ma-booking a.ma-primary,
.ma-booking a.ma-primary:link,
.ma-booking a.ma-primary:visited,
.ma-booking a.ma-primary:hover,
.ma-booking a.ma-primary:focus,
.ma-availability button.ma-primary,
.ma-booking button.ma-primary {
  color:#fff !important;
  text-decoration:none !important;
  text-shadow:none !important;
}
.ma-availability a.ma-primary:hover,
.ma-availability a.ma-primary:focus,
.ma-booking a.ma-primary:hover,
.ma-booking a.ma-primary:focus,
.ma-availability button.ma-primary:hover,
.ma-booking button.ma-primary:hover {
  background:var(--ma-green-dark) !important;
  border-color:var(--ma-green-dark) !important;
  color:#fff !important;
}
.ma-primary.disabled,
.ma-primary:disabled {
  color:#fff !important;
}
.ma-card-actions .ma-primary {
  min-height:44px;
  line-height:1.25;
  text-align:center;
}
.ma-exact-price {
  align-items:center;
}
.ma-exact-price b,
.ma-property-card.is-promo .ma-exact-price b {
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  flex:0 0 auto;
}
.ma-property-card.is-promo .ma-exact-price {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:10px;
  align-items:center;
}
.ma-property-card.is-promo .ma-exact-price span {
  line-height:1.25;
}
@media(max-width:720px){
  .ma-card-actions .ma-primary{min-height:46px}
  .ma-property-card.is-promo .ma-exact-price{grid-template-columns:1fr auto}
}

/* v1.4.6 Huurkalender visuele controle en live optieprijzen */
.ma-hk-confirm-calendar{margin-top:18px;border:1px solid #dbe5e1;border-radius:22px;background:#fff;padding:20px;box-shadow:0 12px 28px rgba(24,54,48,.07)}
.ma-hk-confirm-calendar[hidden]{display:none!important}
.ma-hk-confirm-head h3{margin:.2rem 0 .35rem}
.ma-hk-confirm-head p{margin:0 0 14px;color:#5e6f79}
.ma-hk-embed{overflow:hidden;border-radius:16px;background:#fff}
.ma-hk-embed iframe{display:block;width:100%;min-height:520px;border:0;background:#fff}
.ma-extra-options label small{display:block;margin:.2rem 0 .35rem;color:#5f6f79;font-weight:500}
.ma-quote-line small{display:block;margin-top:2px;color:#6b7780;font-weight:400}
@media(max-width:700px){.ma-hk-confirm-calendar{padding:14px;border-radius:16px}.ma-hk-embed iframe{min-height:600px}}

/* v1.4.7 vaste koers: 31-daagse horizontale beschikbaarheid en compacte aanvraag */
.ma-property-card-simple{
  grid-template-columns:150px minmax(0,1fr) 230px;
  align-items:center;
}
.ma-property-card-simple .ma-card-actions{
  display:grid;
  gap:8px;
}
.ma-property-card-simple .ma-card-availability strong{
  font-size:16px;
}

.ma-property-horizontal .ma-section-head.compact{
  margin-bottom:14px;
}
.ma-horizontal-controls{
  display:grid;
  grid-template-columns:auto 170px minmax(240px,320px);
  align-items:end;
  gap:12px;
  margin-bottom:14px;
}
.ma-horizontal-controls .ma-stay-tabs{
  align-self:end;
}
.ma-property-date-field{
  min-width:0;
}
.ma-property-date-field>span,
.ma-weeks-control>span{
  display:block;
  margin:0 0 6px;
  color:var(--ma-muted);
  font-size:12px;
  font-weight:800;
}
.ma-window-card{
  border:1px solid var(--ma-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 28px rgba(19,34,56,.07);
  overflow:hidden;
}
.ma-window-head{
  display:grid;
  grid-template-columns:46px 1fr 46px;
  align-items:center;
  gap:10px;
  padding:13px 14px;
  background:linear-gradient(180deg,#f6faf8 0%,#fff 100%);
  border-bottom:1px solid var(--ma-line);
}
.ma-window-head>div{
  text-align:center;
}
.ma-window-head span{
  display:block;
  color:var(--ma-muted);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.ma-window-head strong{
  display:block;
  margin-top:2px;
  color:var(--ma-ink);
  font-size:15px;
}
.ma-window-nav{
  width:42px;
  height:42px;
  border:1px solid #d7e0dd;
  border-radius:999px;
  background:#fff;
  color:var(--ma-green-dark);
  font-size:24px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(18,35,58,.06);
}
.ma-window-nav:hover{
  background:#eaf6ee;
}
.ma-window-status{
  margin:12px 14px 0;
  padding:8px 11px;
  border-radius:10px;
  font-size:12px;
  font-weight:700;
}
.ma-window-status.good{background:#edf8f0;color:#176b3b}
.ma-window-status.info{background:#f2f6f8;color:#526476}
.ma-window-status.bad{background:#fff0ee;color:#913a31}
.ma-window-scroller{
  overflow-x:auto;
  overflow-y:hidden;
  padding:13px 14px 16px;
  scrollbar-width:thin;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x proximity;
}
.ma-window-strip{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:68px;
  gap:7px;
  width:max-content;
  min-width:100%;
}
.ma-window-loading{
  min-width:320px;
  padding:22px 10px;
  color:var(--ma-muted);
}
.ma-window-day{
  min-height:94px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  padding:7px 4px;
  border:1px solid #e5e9e8;
  border-radius:14px;
  background:#f7f8f8;
  color:#84909a;
  font:inherit;
  scroll-snap-align:start;
}
.ma-window-day small{
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}
.ma-window-day strong{
  font-size:22px;
  line-height:1;
}
.ma-window-day span{
  font-size:11px;
  text-transform:lowercase;
}
.ma-window-day em{
  min-height:16px;
  margin-top:3px;
  font-size:10px;
  font-style:normal;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.ma-window-day.na{
  background:#f7f8f8;
  border-color:#eceeee;
  color:#9ca4aa;
}
.ma-window-day.busy{
  background:#fff0ed;
  border-color:#f0c9c2;
  color:#99463b;
}
.ma-window-day.error{
  background:#fff8e9;
  border-color:#ecd7ab;
  color:#8d681d;
}
.ma-window-day.free{
  background:#eef8f1;
  border-color:#9acbad;
  color:#176c3d;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(23,108,61,.07);
}
.ma-window-day.free:hover{
  transform:translateY(-2px);
  background:#e2f3e7;
  border-color:#65ad81;
}
.ma-window-day.free.selected{
  background:linear-gradient(180deg,#21834a 0%,#126b3a 100%);
  border-color:#126b3a;
  color:#fff;
  box-shadow:0 7px 18px rgba(23,117,63,.24);
}
.ma-window-day:disabled{
  cursor:default;
  opacity:1;
}
.ma-window-legend{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  padding:0 14px 14px;
  color:var(--ma-muted);
  font-size:11px;
}
.ma-window-legend span{
  display:flex;
  align-items:center;
  gap:6px;
}
.ma-window-legend i{
  width:11px;
  height:11px;
  border-radius:4px;
  border:1px solid transparent;
}
.ma-window-legend i.free{background:#eef8f1;border-color:#9acbad}
.ma-window-legend i.busy{background:#fff0ed;border-color:#f0c9c2}
.ma-window-legend i.na{background:#f2f3f3;border-color:#e1e4e4}
.ma-horizontal-selection{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:14px;
  padding:14px 16px;
  border:1px solid #b8d8c4;
  border-radius:16px;
  background:#f1f9f3;
}
.ma-horizontal-selection>div{
  display:grid;
  gap:2px;
}
.ma-horizontal-selection strong{
  color:var(--ma-ink);
  font-size:18px;
}
.ma-horizontal-selection small{
  color:var(--ma-muted);
}
.ma-source-note{
  margin:10px 3px 0;
}

.ma-booking-compact .ma-section-head{
  margin-bottom:14px;
}
.ma-booking-compact .ma-layout{
  align-items:start;
}
.ma-booking-compact .ma-main{
  display:grid;
  gap:12px;
}
.ma-booking-compact .ma-main>.ma-card,
.ma-booking-compact .ma-main>details.ma-card{
  margin:0;
}
.ma-selected-stay-card{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.ma-selected-stay-card .ma-selection-line{
  display:grid;
  gap:3px;
  border-right:1px solid var(--ma-line);
  padding-right:10px;
}
.ma-selected-stay-card .ma-selection-line:last-child{
  border-right:0;
}
.ma-compact-details{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid var(--ma-line);
}
.ma-compact-details summary,
.ma-services-compact summary{
  cursor:pointer;
  color:var(--ma-green-dark);
  font-weight:850;
}
.ma-services-compact .ma-extra-options{
  margin-top:12px;
}
.ma-price-safe strong{
  font-size:20px;
}
.ma-price-pending{
  display:grid !important;
  gap:3px;
  padding:10px 0;
  border-bottom:1px solid var(--ma-line);
}
.ma-price-pending strong{
  color:var(--ma-ink);
}
.ma-price-pending span{
  color:var(--ma-muted);
  font-size:12px;
  line-height:1.4;
}

@media(max-width:900px){
  .ma-property-card-simple{grid-template-columns:120px 1fr}
  .ma-property-card-simple .ma-card-actions{grid-column:1/3;grid-template-columns:1fr 1fr}
  .ma-horizontal-controls{grid-template-columns:1fr 1fr}
  .ma-horizontal-controls .ma-stay-tabs{grid-column:1/-1}
  .ma-property-date-field{grid-column:1/-1}
}
@media(max-width:620px){
  .ma-property-card-simple{grid-template-columns:92px 1fr}
  .ma-property-card-simple .ma-card-actions{grid-template-columns:1fr}
  .ma-horizontal-controls{grid-template-columns:1fr}
  .ma-horizontal-controls .ma-stay-tabs,.ma-property-date-field{grid-column:1}
  .ma-window-strip{grid-auto-columns:62px;gap:5px}
  .ma-window-day{min-height:88px;border-radius:12px}
  .ma-horizontal-selection{align-items:stretch;flex-direction:column}
  .ma-horizontal-selection .ma-primary{width:100%}
  .ma-selected-stay-card{grid-template-columns:1fr}
  .ma-selected-stay-card .ma-selection-line{border-right:0;border-bottom:1px solid var(--ma-line);padding:0 0 8px}
  .ma-selected-stay-card .ma-selection-line:last-child{border-bottom:0;padding-bottom:0}
}

/* ==========================================================
   MijnAmeland Reserveren 1.5.0
   Visuele herbouw op basis van het oorspronkelijke concept
   ========================================================== */
.ma150-booking-shell,
.ma150-home{
  --ma150-navy:#12384a;
  --ma150-teal:#0f6478;
  --ma150-green:#1c7b45;
  --ma150-green-dark:#125e35;
  --ma150-cream:#f7f3ea;
  --ma150-paper:#ffffff;
  --ma150-text:#183042;
  --ma150-muted:#667789;
  --ma150-line:#e1e8e6;
  --ma150-soft-green:#eef8f1;
  --ma150-soft-gold:#fff7e8;
  --ma150-soft-red:#fff1ee;
  max-width:1180px;
  margin:28px auto;
  color:var(--ma150-text);
}
.ma150-booking-shell *,.ma150-home *{box-sizing:border-box}
.ma150-booking-shell{background:var(--ma150-paper);border-radius:28px;overflow:hidden;box-shadow:0 18px 50px rgba(25,48,60,.09);border:1px solid rgba(22,64,78,.08)}
.ma150-hero{height:190px;background-position:center;background-size:cover;position:relative;display:flex;align-items:center;padding:28px 38px}
.ma150-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,52,66,.02),rgba(13,52,66,.22));pointer-events:none}
.ma150-hero-copy{position:relative;z-index:1;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.28);display:grid;gap:3px;font-family:inherit}
.ma150-hero-copy span{font-size:25px;font-style:italic;font-weight:500}
.ma150-hero-copy strong{font-size:31px;line-height:1.05;font-weight:800}

.ma150-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:18px 34px 16px;background:#fff;border-bottom:1px solid #edf1ef}
.ma150-steps span{display:flex;align-items:center;gap:10px;position:relative;color:#72808e;font-size:13px;font-weight:700;min-width:0}
.ma150-steps span:not(:last-child):after{content:"";height:1px;background:#dfe6e4;position:absolute;left:48px;right:14px;bottom:-8px}
.ma150-steps b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eaf0f2;color:#667789;font-size:14px;flex:0 0 34px}
.ma150-steps span.active{color:var(--ma150-text)}
.ma150-steps span.active b{background:var(--ma150-green);color:#fff;box-shadow:0 6px 16px rgba(28,123,69,.22)}

.ma150-title{padding:28px 36px 18px}
.ma150-title h2{margin:0 0 7px;color:var(--ma150-text);font-size:32px;line-height:1.12;font-weight:800}
.ma150-title p{margin:0;color:var(--ma150-muted);font-size:15px;line-height:1.55}

.ma150-booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;padding:0 36px 28px;align-items:start}
.ma150-booking-main{display:grid;gap:16px;min-width:0}
.ma150-date-row{display:grid;grid-template-columns:minmax(240px,1.35fr) minmax(120px,.6fr) minmax(120px,.6fr);gap:12px;padding:15px 16px;border:1px solid var(--ma150-line);border-radius:18px;background:#fbfdfc}
.ma150-date-row label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#56697a;position:relative}
.ma150-date-row select,.ma150-date-row .ma-date-display{min-height:46px;border:1px solid #d7e1df;border-radius:12px;background:#fff;padding:10px 12px;color:var(--ma150-text);font:inherit;font-size:14px;box-shadow:none}
.ma150-date-row .ma-date-display{display:flex;align-items:center}

.ma150-calendar-card{border:1px solid var(--ma150-line);border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(23,50,62,.07);overflow:hidden}
.ma150-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px 13px;background:linear-gradient(180deg,#f7fbf9 0%,#fff 100%);border-bottom:1px solid #edf1ef}
.ma150-calendar-head>div:first-child{display:grid;gap:2px}
.ma150-calendar-head span{font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:var(--ma150-green);font-weight:900}
.ma150-calendar-head strong{font-size:17px;color:var(--ma150-text)}
.ma150-calendar-nav{display:flex;gap:8px}
.ma150-calendar-nav .ma-window-nav{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid #d6e2df;background:#fff;color:var(--ma150-green-dark);font-size:23px;line-height:1;box-shadow:0 3px 10px rgba(26,55,66,.06);transition:.18s ease}
.ma150-calendar-nav .ma-window-nav:hover{background:var(--ma150-soft-green);border-color:#add1b9;transform:translateY(-1px)}
.ma150-calendar-card .ma-window-status{margin:12px 16px 2px;padding:10px 12px;border-radius:12px;font-size:12px;font-weight:750}
.ma150-calendar-card .ma-window-status.good{background:var(--ma150-soft-green);color:#176c3d}
.ma150-calendar-card .ma-window-status.info{background:#f2f6f8;color:#526778}
.ma150-calendar-card .ma-window-status.bad{background:var(--ma150-soft-red);color:#963b34}
.ma150-window-scroller{overflow-x:auto;overflow-y:hidden;padding:12px 16px 16px;scrollbar-width:thin;scrollbar-color:#a8b8b7 transparent;overscroll-behavior-inline:contain}
.ma150-window-strip{display:grid;grid-auto-flow:column;grid-auto-columns:64px;gap:7px;width:max-content;min-width:100%}
.ma150-window-day{min-height:96px!important;border:1px solid #e8edeb!important;border-radius:15px!important;background:#f7f9f9!important;color:#83909a!important;display:grid!important;grid-template-rows:auto 1fr auto auto;place-items:center;padding:8px 4px!important;font:inherit;transition:.16s ease;position:relative}
.ma150-window-day small{font-size:10px!important;font-weight:900!important;letter-spacing:.05em;color:inherit!important}
.ma150-window-day strong{font-size:22px!important;line-height:1!important;color:inherit!important}
.ma150-window-day span{font-size:10px!important;text-transform:lowercase;color:inherit!important}
.ma150-window-day em{min-height:14px;font-size:9px!important;font-style:normal!important;font-weight:900;text-transform:uppercase;color:inherit!important}
.ma150-window-day.week-start{margin-left:7px}
.ma150-window-day.free{background:#effaf2!important;border-color:#a8d3b5!important;color:#176d3d!important;cursor:pointer!important;box-shadow:inset 0 0 0 1px rgba(28,123,69,.04)}
.ma150-window-day.free:hover{transform:translateY(-2px);border-color:var(--ma150-green)!important;box-shadow:0 8px 17px rgba(28,123,69,.14)}
.ma150-window-day.free.selected{background:linear-gradient(180deg,#26874f 0%,#176c3d 100%)!important;border-color:#176c3d!important;color:#fff!important;box-shadow:0 8px 20px rgba(28,123,69,.25)}
.ma150-window-day.busy{background:#fff1ee!important;border-color:#f1ccc6!important;color:#aa6159!important}
.ma150-window-day.na{background:#f5f7f8!important;border-color:#edf0f1!important;color:#aab2b8!important}
.ma150-window-day.error{background:#fff8eb!important;border-color:#eeddbb!important;color:#997040!important}
.ma150-legend{display:flex!important;gap:16px!important;flex-wrap:wrap;padding:0 17px 14px;margin:0!important;color:#6c7b87!important;font-size:11px!important}
.ma150-legend i{width:10px!important;height:10px!important;border-radius:50%!important;display:inline-block}

.ma150-stay-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(200px,.65fr);gap:18px;padding:18px;border:1px solid var(--ma150-line);border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(24,48,58,.05)}
.ma150-label{display:block;margin:0 0 9px;color:#526678;font-size:12px;font-weight:900}
.ma150-stay-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important}
.ma150-stay-cards button{min-height:76px!important;border-radius:15px!important;border:1px solid #dfe7e4!important;background:#fff!important;display:grid!important;place-items:center;padding:9px!important;color:var(--ma150-text)!important;box-shadow:0 3px 10px rgba(25,48,60,.03)}
.ma150-stay-cards button b{font-size:14px}
.ma150-stay-cards button small{display:block;font-size:10px;color:#72808c;font-weight:600}
.ma150-stay-cards button.active{background:var(--ma150-soft-green)!important;border-color:var(--ma150-green)!important;color:var(--ma150-green-dark)!important;box-shadow:inset 0 0 0 1px rgba(28,123,69,.07)}
.ma150-week-pills{display:flex;flex-wrap:wrap;gap:7px}
.ma150-week-pills button{border:1px solid #dfe7e4;background:#fff;border-radius:999px;padding:9px 13px;color:#596c7c;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.ma150-week-pills button.active{background:var(--ma150-green);border-color:var(--ma150-green);color:#fff;box-shadow:0 5px 13px rgba(28,123,69,.18)}

.ma150-feedback{display:grid;gap:10px}
.ma150-good{display:flex;gap:12px;align-items:center;padding:13px 15px;border-radius:15px;background:var(--ma150-soft-green);border:1px solid #d6ecdc;color:#176b3c}
.ma150-good>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#d9efdf;font-size:18px;font-weight:900}
.ma150-good strong{display:block;font-size:13px}.ma150-good p{margin:2px 0 0;font-size:12px;color:#4f715d}
.ma150-longer{padding:14px 15px;border-radius:16px;background:var(--ma150-soft-gold);border:1px solid #f0dfb9}.ma150-longer>strong{color:#9a6215;font-size:13px}.ma150-longer>p{margin:3px 0 10px;color:#7d6d54;font-size:11px}.ma150-longer [data-longer-options]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ma150-longer button{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;border:1px solid #e9d9b6;background:#fff;border-radius:999px;padding:9px 12px;text-align:left;color:var(--ma150-text);font:inherit;cursor:pointer}.ma150-longer button b{font-size:11px}.ma150-longer button small{font-size:10px;color:#7d7465}.ma150-longer button span{grid-column:2;grid-row:1/3;font-size:20px;color:#8e6b2d}

.ma150-property-summary{position:sticky;top:24px;border:1px solid var(--ma150-line);border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 15px 35px rgba(22,48,60,.10)}
.ma150-property-image{height:185px;background:#e6ecec center/cover no-repeat}
.ma150-summary-body{padding:17px 18px 18px}
.ma150-summary-body h3{margin:0 0 10px;font-size:24px;color:var(--ma150-text)}
.ma150-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px;color:#667789;font-size:11px}.ma150-summary-body hr{border:0;border-top:1px solid #edf0ef;margin:15px 0}.ma150-summary-title{margin-bottom:8px;color:var(--ma150-text);font-size:13px}.ma150-summary-body dl{display:grid;grid-template-columns:1fr 1.2fr;gap:8px 10px;margin:0}.ma150-summary-body dt{color:#6c7a88;font-size:12px}.ma150-summary-body dd{margin:0;text-align:right;color:var(--ma150-text);font-size:12px;font-weight:800}.ma150-summary-status{display:flex;gap:9px;align-items:center;margin:15px 0;padding:11px 12px;border-radius:13px;background:#f2f6f8;color:#4f6574}.ma150-summary-status>span{font-size:18px}.ma150-summary-status strong{display:block;font-size:11px}.ma150-summary-status small{display:block;margin-top:2px;font-size:10px;color:#71808b}.ma150-summary-status:has(> span:first-child:not(:only-child)){ }
.ma150-summary-cta{width:100%;min-height:46px!important;font-size:12px!important}
.ma150-summary-cta:disabled{opacity:.48!important}

.ma150-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #edf1ef;background:#fbfdfc}.ma150-trust>span{display:grid;grid-template-columns:34px 1fr;column-gap:9px;padding:17px 20px;align-items:center}.ma150-trust>span:not(:last-child){border-right:1px solid #edf1ef}.ma150-trust b{grid-row:1/3;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--ma150-soft-green);color:var(--ma150-green);font-size:15px}.ma150-trust strong{font-size:11px;color:#385064}.ma150-trust small{font-size:10px;color:#7b8993}

/* Reservation request */
.ma150-request{padding-top:0;overflow:visible;background:transparent;border:0;box-shadow:none}
.ma150-request .ma150-steps{border:1px solid var(--ma150-line);border-radius:20px 20px 0 0}
.ma150-request .ma150-title{background:#fff;border-left:1px solid var(--ma150-line);border-right:1px solid var(--ma150-line)}
.ma150-request-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;background:var(--ma150-cream);border:1px solid var(--ma150-line);border-top:0;border-radius:0 0 22px 22px;padding:22px}
.ma150-request-main{display:grid;gap:14px}.ma150-request-card{margin:0!important;border-radius:18px!important;border:1px solid #dde6e3!important;box-shadow:0 8px 20px rgba(25,48,60,.05)!important}.ma150-card-head{display:flex;gap:10px;align-items:center;margin-bottom:12px}.ma150-card-head>span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--ma150-green);color:#fff;font-weight:900;font-size:12px}.ma150-card-head strong{display:block;font-size:15px}.ma150-card-head small{display:block;color:#73808a;font-size:11px;margin-top:2px}.ma150-stay-overview{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 14px;padding:10px 0 4px}.ma150-stay-overview>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #eef1ef}.ma150-stay-overview span{color:#6b7985;font-size:12px}.ma150-stay-overview b{font-size:12px;text-align:right}.ma150-request .ma-services-compact summary{display:flex;gap:10px;align-items:center;list-style:none;cursor:pointer}.ma150-request .ma-services-compact summary::-webkit-details-marker{display:none}.ma150-summary-icon{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#eef4f2;color:var(--ma150-green);font-size:20px}.ma150-request .ma-services-compact summary strong{display:block;font-size:15px}.ma150-request .ma-services-compact summary small{display:block;color:#73808a;font-size:11px;margin-top:2px}.ma150-request .ma-extra-options{margin-top:14px}.ma150-request-summary{position:sticky;top:24px}.ma150-request-summary .ma-price{margin-top:15px;padding-top:13px}.ma150-confirm .ma-actions{align-items:center}

/* Zoek & Boek 1.5.0 */
.ma150-home-heading{margin-bottom:18px}.ma150-home-heading h2{font-size:32px;margin:0 0 7px;color:var(--ma150-text)}.ma150-home-heading p{margin:0;color:var(--ma150-muted)}.ma150-search-panel{background:#fff;border:1px solid var(--ma150-line);border-radius:22px;padding:18px;box-shadow:0 12px 30px rgba(22,48,60,.06);margin-bottom:14px}.ma150-stay-pills{margin-bottom:14px!important}.ma150-stay-pills button{display:grid;gap:2px;min-width:135px;padding:10px 16px!important}.ma150-stay-pills button b{font-size:13px}.ma150-stay-pills button small{font-size:9px;font-weight:600;color:#7a8790}.ma150-stay-pills button.active small{color:#4c715b}.ma150-search-fields{grid-template-columns:minmax(200px,1.3fr) 125px 115px 115px auto!important}.ma150-home-cards{gap:13px!important}.ma150-result-card{border-radius:20px!important;padding:10px!important;box-shadow:0 8px 24px rgba(22,48,60,.05)!important}.ma150-result-card .ma-property-photo{height:112px}.ma150-result-title p{margin:0 0 8px;color:#6c7b87;font-size:11px}.ma150-result-card .ma-card-actions .ma-primary{min-height:44px}

/* Hide legacy blocks that should not visually compete */
.ma150-booking-shell .ma-horizontal-selection,.ma150-booking-shell .ma-source-note{display:none!important}

@media(max-width:980px){
  .ma150-booking-grid,.ma150-request-grid{grid-template-columns:1fr}
  .ma150-property-summary,.ma150-request-summary{position:relative;top:auto;display:grid;grid-template-columns:230px 1fr}.ma150-property-image{height:100%;min-height:230px}.ma150-summary-body{padding:20px}
  .ma150-date-row{grid-template-columns:1.3fr .7fr .7fr}
  .ma150-stay-card{grid-template-columns:1fr}
  .ma150-search-fields{grid-template-columns:1fr 1fr 1fr!important}.ma150-search-submit{grid-column:1/-1}
}
@media(max-width:720px){
  .ma150-booking-shell{border-radius:18px;margin:14px auto}.ma150-hero{height:145px;padding:20px}.ma150-hero-copy span{font-size:19px}.ma150-hero-copy strong{font-size:24px}
  .ma150-steps{padding:13px 14px;gap:5px}.ma150-steps span{font-size:10px;gap:5px;justify-content:center;text-align:center;flex-direction:column}.ma150-steps span:not(:last-child):after{display:none}.ma150-steps b{width:28px;height:28px;flex-basis:28px;font-size:11px}
  .ma150-title{padding:22px 18px 14px}.ma150-title h2{font-size:25px}.ma150-booking-grid{padding:0 16px 18px}.ma150-date-row{grid-template-columns:1fr 1fr}.ma150-date-row .ma-search-date-field{grid-column:1/-1}
  .ma150-window-strip{grid-auto-columns:58px}.ma150-window-day{min-height:88px!important}.ma150-window-day strong{font-size:20px!important}
  .ma150-stay-cards{grid-template-columns:1fr!important}.ma150-stay-cards button{min-height:58px!important;grid-template-columns:1fr;place-items:start;padding-left:14px!important}.ma150-week-pills button{flex:1;min-width:90px}
  .ma150-property-summary,.ma150-request-summary{grid-template-columns:1fr}.ma150-property-image{height:210px;min-height:0}
  .ma150-trust{grid-template-columns:1fr}.ma150-trust>span:not(:last-child){border-right:0;border-bottom:1px solid #edf1ef}
  .ma150-longer [data-longer-options]{grid-template-columns:1fr}
  .ma150-request-grid{padding:14px}.ma150-stay-overview{grid-template-columns:1fr}.ma150-search-fields{grid-template-columns:1fr 1fr!important}
  .ma150-result-card{grid-template-columns:90px 1fr!important}.ma150-result-card .ma-card-actions{grid-column:1/-1!important}
}
@media(max-width:480px){
  .ma150-date-row{grid-template-columns:1fr}.ma150-date-row .ma-search-date-field{grid-column:auto}.ma150-title h2{font-size:23px}.ma150-booking-grid{padding-left:12px;padding-right:12px}.ma150-search-fields{grid-template-columns:1fr!important}.ma150-search-fields>*{grid-column:1!important}.ma150-meta-grid{grid-template-columns:1fr}.ma150-calendar-head{padding:12px}.ma150-window-scroller{padding-left:10px;padding-right:10px}.ma150-window-strip{grid-auto-columns:55px;gap:5px}.ma150-window-day{border-radius:12px!important}.ma150-steps span{font-size:9px}.ma150-hero{height:130px}.ma150-hero-copy span{font-size:17px}.ma150-hero-copy strong{font-size:21px}
}
.ma150-summary-status.good{background:var(--ma150-soft-green);color:#176b3c}.ma150-summary-status.good small{color:#4f715d}.ma150-summary-status.good>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#d8efdf;font-size:14px;font-weight:900}


/* ==========================================================
   MijnAmeland Reserveren 1.5.3
   Echt 31-daags maandblok, 7 kolommen, geen horizontale strip
   ========================================================== */
.ma150-month-block{
  padding:10px 16px 16px;
  background:#fff;
  overflow:visible;
}
.ma150-window-weekdays{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:7px;
  margin:0 0 7px;
  width:100%;
}
.ma150-window-weekdays span{
  display:block;
  min-width:0;
  text-align:center;
  color:#788690;
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:4px 0;
}
.ma150-month-block .ma150-window-strip{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  grid-auto-flow:row !important;
  grid-auto-columns:auto !important;
  gap:7px !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  overflow:visible !important;
}
.ma150-month-block .ma150-window-day{
  width:100% !important;
  min-width:0 !important;
  min-height:70px !important;
  margin:0 !important;
  border-radius:13px !important;
  padding:8px 4px !important;
  display:grid !important;
  grid-template-rows:1fr auto auto !important;
  place-items:center !important;
}
.ma150-month-block .ma150-window-day small{display:none !important}
.ma150-month-block .ma150-window-day strong{font-size:19px !important;line-height:1 !important}
.ma150-month-block .ma150-window-day span{font-size:9px !important;text-transform:lowercase !important}
.ma150-month-block .ma150-window-day em{font-size:8px !important;min-height:10px !important}
.ma150-month-block .ma-window-loading{
  grid-column:1/-1;
  width:100%;
  padding:34px 10px;
  text-align:center;
  color:var(--ma150-muted);
}
/* hidden moet ook verborgen blijven als een component zelf display:grid heeft */
.ma150-feedback[hidden],
.ma150-longer[hidden]{display:none !important}

@media(max-width:720px){
  .ma150-month-block{padding:8px 9px 12px}
  .ma150-window-weekdays{gap:4px;margin-bottom:4px}
  .ma150-window-weekdays span{font-size:8px}
  .ma150-month-block .ma150-window-strip{gap:4px !important}
  .ma150-month-block .ma150-window-day{
    min-height:59px !important;
    border-radius:10px !important;
    padding:5px 2px !important;
  }
  .ma150-month-block .ma150-window-day strong{font-size:16px !important}
  .ma150-month-block .ma150-window-day span{font-size:8px !important}
  .ma150-month-block .ma150-window-day em{font-size:7px !important}
}

/* v1.5.4 prijs, opties, NAW-wizard en verfijnde kalender */
.ma-weeks-control[hidden],
.ma154-summary-quote[hidden],
.ma154-wizard-panel[hidden]{display:none!important}

.ma150-calendar-card{box-shadow:0 14px 34px rgba(21,55,49,.08)!important}
.ma150-calendar-head{background:linear-gradient(180deg,#fff,#fbfdfc)}
.ma150-window-weekdays{padding:0 2px}
.ma150-window-weekdays span{color:#60717b;font-size:9px;letter-spacing:.08em}
.ma150-month-block .ma150-window-day{box-shadow:inset 0 0 0 1px rgba(20,49,42,.012)}
.ma150-month-block .ma150-window-day.free{background:linear-gradient(180deg,#f1fbf4,#e9f7ee)!important;border-color:#9fceb0!important}
.ma150-month-block .ma150-window-day.free strong{color:#0f6c39!important}
.ma150-month-block .ma150-window-day.busy{background:#fff4f2!important;border-color:#efc8c1!important}
.ma150-month-block .ma150-window-day.na{background:#f5f7f7!important;color:#a6afb4!important}
.ma150-month-block .ma150-window-day.selected{outline:3px solid rgba(22,124,68,.18);outline-offset:1px}
.ma-window-status.good{border:1px solid #d4eadb;background:#eef9f2!important;color:#176b3c!important;font-weight:800}

.ma154-summary-quote{margin-top:14px;padding-top:14px;border-top:1px solid #edf0ef}
.ma154-summary-price-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:9px}
.ma154-summary-price-head span{font-size:12px;font-weight:900;color:#667789;text-transform:uppercase;letter-spacing:.05em}
.ma154-summary-price-head strong{font-size:22px;color:#173a35;white-space:nowrap}
.ma154-summary-lines{display:grid;gap:0;border-top:1px solid #eef1ef}
.ma154-summary-lines>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:8px 0;border-bottom:1px solid #eef1ef;align-items:start}
.ma154-summary-lines span{font-size:11px;color:#5d6d78}
.ma154-summary-lines span small{display:block;margin-top:2px;font-size:9px;color:#87939b;line-height:1.3}
.ma154-summary-lines b{font-size:11px;color:#173a35;white-space:nowrap}
.ma154-summary-cash{margin:9px 0;padding:8px 10px;border-radius:10px;background:#fff6e8;color:#8b5b16;font-size:10px;font-weight:700}
.ma154-options-btn{width:100%;margin-top:11px;min-height:40px!important;font-size:11px!important}
.ma154-price-pending{display:grid;gap:3px;padding:10px;border-radius:11px;background:#f4f7f8;color:#5f707b;font-size:10px}.ma154-price-pending strong{color:#173a35;font-size:11px}

.ma150-longer [data-longer-options]{grid-template-columns:1fr!important}
.ma150-longer button{border-radius:15px!important;grid-template-columns:minmax(0,1fr) auto!important;padding:11px 13px!important}
.ma150-longer button b{font-size:12px!important}
.ma150-longer button small{display:block;font-size:10px!important;color:#7d7465;margin-top:3px}
.ma150-longer button strong{font-size:13px;color:#173a35;justify-self:end;align-self:center}
.ma150-longer button span{grid-column:2!important;grid-row:1/4!important;align-self:center}

.ma154-promo-badge{position:absolute;left:10px;top:9px;z-index:2;background:#b32720;color:#fff;padding:5px 10px 6px;border-radius:999px;transform:rotate(-5deg);font-family:"Segoe Print","Bradley Hand",cursive;font-size:14px;font-weight:800;line-height:1;box-shadow:0 4px 12px rgba(120,25,20,.22)}
.ma-property-photo{position:relative}
.ma154-promo-price{display:inline-block;margin-left:8px;color:#b32720;font-size:14px}
.ma-property-card.is-promo{border-color:#e6b4ae!important;box-shadow:0 8px 22px rgba(165,49,40,.08)}

.ma154-wizard-panel{display:grid;gap:14px}
.ma154-wizard-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 2px 2px}
.ma154-wizard-actions .ma-primary,.ma154-wizard-actions .ma-secondary{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.ma154-wizard-actions .ma-primary{min-width:230px}
.ma154-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;border-top:1px solid #edf1ef;margin-top:8px}
.ma154-review-grid>div{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #edf1ef}
.ma154-review-grid span{font-size:11px;color:#6b7985}.ma154-review-grid b{font-size:12px;color:#173a35;text-align:right;overflow-wrap:anywhere}
.ma154-request-note{padding:12px 14px;border-radius:13px;background:#fff8ea;border:1px solid #f0dfb6;color:#725a2f;font-size:11px;line-height:1.5}
.ma154-wizard-panel input.ma-invalid,.ma154-wizard-panel select.ma-invalid{border-color:#c33!important;background:#fff6f6!important;box-shadow:0 0 0 2px rgba(190,42,35,.08)}
.ma154-wizard-panel label>select{width:100%;min-height:46px;border:1px solid #d4dddf;border-radius:11px;padding:9px 11px;background:#fff;color:var(--ma-ink);font:inherit}
.ma-mini-lines span small{display:block;color:#87939b;font-size:9px;margin-top:2px;line-height:1.3}

@media(max-width:760px){
  .ma154-summary-price-head strong{font-size:19px}
  .ma154-wizard-actions{flex-direction:column-reverse;align-items:stretch}
  .ma154-wizard-actions .ma-primary,.ma154-wizard-actions .ma-secondary{width:100%;min-width:0}
  .ma154-review-grid{grid-template-columns:1fr}
  .ma154-review-grid>div{grid-template-columns:95px 1fr}
}
.ma154-no-period-card{padding:24px;background:#fff;border:1px solid var(--ma150-line);border-radius:0 0 20px 20px;text-align:center}.ma154-no-period-card .ma-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px}

/* ==========================================================
   MijnAmeland Reserveren 1.5.5
   Compact responsief maandblok en robuuste prijskaart
   ========================================================== */

/* Desktop: maandblok compacter zonder informatie te verliezen */
.ma150-booking-main{gap:12px}
.ma150-calendar-head{padding:12px 14px 10px}
.ma150-calendar-nav .ma-window-nav{width:38px;height:38px;font-size:21px}
.ma150-calendar-card .ma-window-status{margin:9px 12px 0;padding:8px 10px;font-size:11px}
.ma150-month-block{padding:7px 12px 11px!important}
.ma150-window-weekdays{gap:5px;margin-bottom:4px}
.ma150-window-weekdays span{font-size:8px;padding:2px 0}
.ma150-month-block .ma150-window-strip{gap:5px!important}
.ma150-month-block .ma150-window-day{
  min-height:50px!important;
  border-radius:10px!important;
  padding:4px 2px!important;
  grid-template-rows:1fr 9px 9px!important;
}
.ma150-month-block .ma150-window-day strong{font-size:16px!important}
.ma150-month-block .ma150-window-day span{font-size:7px!important;line-height:1!important;min-height:7px}
.ma150-month-block .ma150-window-day em{font-size:6.5px!important;line-height:1!important;min-height:7px!important}
.ma150-legend{padding:0 13px 10px!important;gap:12px!important;font-size:9px!important}
.ma150-legend i{width:8px!important;height:8px!important}

/* Prijskaart: pending tekst mag nooit in een smalle gridkolom worden geperst */
.ma154-summary-quote,.ma154-summary-lines{min-width:0;width:100%}
.ma154-summary-lines>div:not(.ma154-price-pending){
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid #eef1ef;
  align-items:start;
}
.ma154-summary-lines>.ma154-price-pending{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  padding:11px 12px!important;
  border:0!important;
  border-radius:11px!important;
  background:#f4f7f8!important;
  color:#5f707b!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.ma154-price-pending strong,
.ma154-price-pending span{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  writing-mode:horizontal-tb!important;
}
.ma154-price-pending strong{margin-bottom:4px;color:#173a35;font-size:11px;line-height:1.25}
.ma154-price-pending span{font-size:10px;line-height:1.4;color:#657681}
.ma154-summary-price-head{align-items:center}
.ma154-options-btn{white-space:normal!important;line-height:1.25}

/* Middelgrote desktop en tablet landscape */
@media (max-width:1100px) and (min-width:981px){
  .ma150-booking-grid{grid-template-columns:minmax(0,1fr) 290px;gap:16px;padding:0 22px 22px}
  .ma150-title{padding-left:22px;padding-right:22px}
  .ma150-summary-body{padding:15px}
  .ma150-property-image{height:155px}
  .ma150-month-block .ma150-window-day{min-height:47px!important}
}

/* Tablet: kalender volle breedte, samenvatting horizontaal eronder */
@media (max-width:980px) and (min-width:641px){
  .ma150-booking-grid{grid-template-columns:1fr!important;gap:14px;padding:0 18px 20px}
  .ma150-property-summary,.ma150-request-summary{
    position:relative!important;
    top:auto!important;
    display:grid!important;
    grid-template-columns:190px minmax(0,1fr)!important;
    border-radius:18px!important;
  }
  .ma150-property-image{height:100%!important;min-height:190px!important}
  .ma150-summary-body{padding:17px!important}
  .ma150-month-block .ma150-window-day{min-height:46px!important}
  .ma150-month-block .ma150-window-day strong{font-size:15px!important}
  .ma150-date-row{grid-template-columns:minmax(220px,1.2fr) 1fr 1fr!important}
}

/* Mobiel: 7 kolommen blijven zichtbaar, maar zeer compact */
@media (max-width:640px){
  .ma150-booking-shell{margin:8px auto!important;border-radius:14px!important}
  .ma150-title{padding:18px 12px 10px!important}
  .ma150-title h2{font-size:22px!important}
  .ma150-title p{font-size:12px!important;line-height:1.4!important}
  .ma150-booking-grid{padding:0 9px 12px!important;gap:10px!important}
  .ma150-date-row{padding:10px!important;gap:8px!important}
  .ma150-calendar-head{padding:9px 10px 7px!important}
  .ma150-calendar-head strong{font-size:14px!important}
  .ma150-calendar-head span{font-size:8px!important}
  .ma150-calendar-nav .ma-window-nav{width:34px;height:34px;font-size:19px}
  .ma150-calendar-card .ma-window-status{margin:7px 8px 0;padding:7px 8px;font-size:9.5px;line-height:1.3}
  .ma150-month-block{padding:6px 7px 8px!important}
  .ma150-window-weekdays{gap:3px;margin-bottom:3px}
  .ma150-window-weekdays span{font-size:7px!important;letter-spacing:0!important}
  .ma150-month-block .ma150-window-strip{gap:3px!important}
  .ma150-month-block .ma150-window-day{
    min-height:39px!important;
    border-radius:8px!important;
    padding:3px 1px!important;
    grid-template-rows:1fr 7px!important;
  }
  .ma150-month-block .ma150-window-day strong{font-size:13px!important}
  .ma150-month-block .ma150-window-day span{font-size:6px!important;min-height:6px!important}
  .ma150-month-block .ma150-window-day em{display:none!important}
  .ma150-legend{padding:0 8px 8px!important;gap:8px!important;font-size:8px!important}
  .ma150-property-summary,.ma150-request-summary{display:grid!important;grid-template-columns:1fr!important}
  .ma150-property-image{height:135px!important;min-height:0!important}
  .ma150-summary-body{padding:14px!important}
  .ma150-summary-body h3{font-size:21px!important}
  .ma150-stay-card{padding:11px!important;gap:10px!important}
  .ma150-stay-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
  .ma150-stay-cards button{min-height:54px!important;padding:6px 3px!important;place-items:center!important;text-align:center!important}
  .ma150-stay-cards button b{font-size:11px!important}
  .ma150-stay-cards button small{font-size:7px!important;line-height:1.2!important}
  .ma150-week-pills{gap:5px!important}
  .ma150-week-pills button{min-width:0!important;flex:1 1 calc(50% - 5px)!important;padding:7px 8px!important;font-size:10px!important}
  .ma150-longer{padding:10px!important}
  .ma150-longer button{padding:9px 10px!important}
  .ma154-summary-price-head strong{font-size:18px!important}
}

/* v1.5.7 Huurkalender-achtige periodeweergave: hele verblijfskalender groen/rood, aankomstdagen als interactielaag */
.ma150-month-block .ma150-window-day.occupancy-available{
  background:#dff5cf!important;
  border-color:#b4dda0!important;
  color:#245d28!important;
}
.ma150-month-block .ma150-window-day.occupancy-occupied{
  background:#f29a8e!important;
  border-color:#dc7468!important;
  color:#7b2a24!important;
}
.ma150-month-block .ma150-window-day.occupancy-turn-in{
  background:linear-gradient(135deg,#dff5cf 0 48%,#f29a8e 49% 100%)!important;
  border-color:#c8b48f!important;
  color:#4f4434!important;
}
.ma150-month-block .ma150-window-day.occupancy-turn-out{
  background:linear-gradient(135deg,#f29a8e 0 48%,#dff5cf 49% 100%)!important;
  border-color:#c8b48f!important;
  color:#4f4434!important;
}
.ma150-month-block .ma150-window-day.occupancy-unknown{
  background:#f4f6f7!important;
  border-color:#e5eaec!important;
  color:#9aa5ab!important;
}
/* Geldige aankomstdag: donkere rand en kleine stip, zonder de bezettingkleur te vervangen. */
.ma150-month-block .ma150-window-day.arrival-candidate::after{
  content:"";
  position:absolute;
  right:7px;
  top:7px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#0f7a42;
  box-shadow:0 0 0 2px rgba(255,255,255,.8);
}
.ma150-month-block .ma150-window-day.arrival-candidate{
  border-width:2px!important;
}
.ma150-month-block .ma150-window-day.arrival-blocked::after{
  background:#a64139;
}
.ma150-month-block .ma150-window-day.bookable:hover{
  transform:translateY(-2px);
  box-shadow:0 7px 16px rgba(23,105,58,.16)!important;
}
.ma150-month-block .ma150-window-day.bookable.selected{
  outline:3px solid rgba(13,103,55,.32)!important;
  outline-offset:2px;
  box-shadow:0 8px 20px rgba(23,105,58,.2)!important;
}
.ma150-month-block .ma150-window-day.occupancy-available strong,
.ma150-month-block .ma150-window-day.occupancy-turn-in strong,
.ma150-month-block .ma150-window-day.occupancy-turn-out strong{color:#185d2e!important}
.ma150-month-block .ma150-window-day.occupancy-occupied strong{color:#7b2a24!important}
.ma150-month-block .ma150-window-day em{font-size:7px!important;letter-spacing:.02em}
.ma150-legend .ma-vis-free{background:#dff5cf!important;border:1px solid #9fcd8f!important}
.ma150-legend .ma-vis-busy{background:#f29a8e!important;border:1px solid #dc7468!important}
.ma150-legend .ma-vis-arrival{background:#0f7a42!important;border:2px solid #fff!important;box-shadow:0 0 0 1px #0f7a42!important}

@media(max-width:720px){
  .ma150-month-block .ma150-window-day.arrival-candidate::after{right:4px;top:4px;width:5px;height:5px}
  .ma150-month-block .ma150-window-day em{display:none!important}
}
/* 1.5.8: vier verblijfskeuzes inclusief maatwerk */
.ma150-stay-cards{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.ma150-stay-cards .ma-stay-other{border-style:dashed!important;background:#fbfcfc!important;color:#34505d!important}
.ma150-stay-cards .ma-stay-other:hover{border-color:#7fa696!important;background:#f3f8f5!important}
.ma158-extra-options label{min-height:58px}
@media(max-width:720px){
  .ma150-stay-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ma158-extra-options{display:grid;grid-template-columns:1fr;gap:0}
}
@media(max-width:460px){
  .ma150-stay-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ma150-stay-cards button{min-height:58px!important}
}

/* 1.6.0 – automatische Zoek & Boek route, vanafprijs en compacte criteria */
.ma160-search-panel{padding:18px 20px}
.ma160-search-fields{display:grid!important;grid-template-columns:minmax(185px,1.35fr) minmax(105px,.65fr) minmax(88px,.5fr) minmax(118px,.68fr) minmax(92px,.52fr)!important;gap:10px;align-items:end}
.ma160-search-fields label{min-width:0}
.ma160-search-date .ma-date-display{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ma160-auto-help{margin:9px 2px 0;color:var(--ma-muted);font-size:11px}
.ma160-stay-pills button{flex:0 1 145px}
.ma150-result-title h3{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.ma160-from-price{font-family:inherit;font-size:12px;line-height:1;font-weight:800;color:var(--ma-green);background:#eef8f1;border:1px solid #cfe6d6;border-radius:999px;padding:5px 8px;white-space:nowrap}
.ma160-temp-label{font-family:inherit;font-size:11px;line-height:1;font-weight:800;color:#697780;background:#eef1f2;border-radius:999px;padding:5px 8px;white-space:nowrap}
.ma160-temp-unavailable{opacity:.78}
.ma160-temp-unavailable .ma-property-photo{filter:saturate(.72)}
.ma160-temp-unavailable .ma-primary.disabled{background:#c5d5ca!important;color:#fff!important}

/* De bungalowzoeker krijgt door het extra veld Kinderen t/m 4 jr. een korter datumveld. */
.ma150-date-row{grid-template-columns:minmax(190px,1.35fr) minmax(90px,.55fr) minmax(120px,.72fr) minmax(95px,.58fr)!important;gap:10px}
.ma150-date-row label{min-width:0}

@media(max-width:1050px){
  .ma160-search-fields{grid-template-columns:1.35fr .65fr .55fr!important}
  .ma160-search-fields label:nth-child(4),.ma160-search-fields label:nth-child(5){grid-column:auto}
  .ma150-date-row{grid-template-columns:1.35fr .65fr .75fr!important}
  .ma150-date-row label:last-child{grid-column:auto}
}
@media(max-width:760px){
  .ma160-search-panel{padding:14px}
  .ma160-search-fields{grid-template-columns:1fr 1fr!important}
  .ma160-search-date{grid-column:1/-1}
  .ma160-stay-pills{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
  .ma160-stay-pills button{min-width:0;width:100%}
  .ma150-date-row{grid-template-columns:1fr 1fr!important}
  .ma-property-date-field{grid-column:1/-1!important}
}
@media(max-width:460px){
  .ma160-search-fields{grid-template-columns:1fr!important}
  .ma160-search-fields label,.ma160-search-date{grid-column:1!important}
  .ma160-stay-pills{grid-template-columns:1fr 1fr}
  .ma150-date-row{grid-template-columns:1fr!important}
  .ma150-date-row label,.ma-property-date-field{grid-column:1!important}
  .ma160-from-price,.ma160-temp-label{font-size:10px}
}


/* 1.6.1 – leesbaarheid en toegankelijkheid */
.ma-availability,
.ma-booking{
  font-size:17px;
  line-height:1.55;
}
.ma-availability .ma150-home-heading h2,
.ma-availability .ma150-title h2,
.ma-booking .ma150-title h2{
  font-size:clamp(30px,2.5vw,40px)!important;
  line-height:1.15!important;
}
.ma-availability .ma150-home-heading p,
.ma-availability .ma150-title p,
.ma-booking .ma150-title p,
.ma-home-status{
  font-size:17px!important;
  line-height:1.55!important;
}
.ma-availability label>span,
.ma-booking label>span,
.ma150-label,
.ma-card-availability small,
.ma-kicker{
  font-size:14px!important;
  line-height:1.35!important;
}
.ma-search-stay button b,
.ma-stay-tabs button b,
.ma150-stay-cards button b{
  font-size:17px!important;
  line-height:1.2!important;
}
.ma-search-stay button small,
.ma-stay-tabs button small,
.ma150-stay-cards button small{
  font-size:13px!important;
  line-height:1.35!important;
}
.ma-search-fields select,
.ma-search-fields input,
.ma-search-fields button,
.ma150-date-row select,
.ma150-date-row input,
.ma150-date-row button,
.ma-booking input,
.ma-booking select,
.ma-booking textarea{
  font-size:16px!important;
  line-height:1.35!important;
}
.ma-date-display{
  font-size:16px!important;
  font-weight:700!important;
}
.ma-property-card h3,
.ma150-result-title h3{
  font-size:clamp(24px,1.9vw,30px)!important;
  line-height:1.15!important;
}
.ma150-result-title p,
.ma-property-card .ma-meta,
.ma-result-period,
.ma-card-availability strong{
  font-size:15px!important;
  line-height:1.45!important;
}
.ma160-from-price,
.ma160-temp-label{
  font-size:13px!important;
  line-height:1.1!important;
}
.ma-card-actions a,
.ma-card-actions button,
.ma-primary,
.ma-secondary{
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:800!important;
}
.ma160-auto-help,
.ma-search-calendar-help,
.ma-forward,
.ma-small,
.ma-quote-line small{
  font-size:13px!important;
  line-height:1.5!important;
}
.ma150-window-head strong,
.ma-window-status,
.ma150-month-block .ma150-window-day strong{
  font-size:16px!important;
}
.ma150-month-block .ma150-window-day small{
  font-size:11px!important;
}
.ma150-legend,
.ma150-legend span{
  font-size:13px!important;
}
.ma150-summary-card,
.ma150-summary-card p,
.ma150-summary-card span,
.ma150-summary-card b{
  font-size:15px;
  line-height:1.45;
}
.ma150-summary-card h3{
  font-size:28px!important;
  line-height:1.15!important;
}
.ma-message{
  font-size:15px!important;
  line-height:1.5!important;
}
@media(max-width:900px){
  .ma-availability,.ma-booking{font-size:16.5px}
  .ma-property-card h3,.ma150-result-title h3{font-size:25px!important}
}
@media(max-width:600px){
  .ma-availability,.ma-booking{font-size:16px}
  .ma-availability .ma150-home-heading h2,.ma-availability .ma150-title h2,.ma-booking .ma150-title h2{font-size:30px!important}
  .ma-search-stay button b,.ma-stay-tabs button b,.ma150-stay-cards button b{font-size:16px!important}
  .ma-search-fields select,.ma-search-fields input,.ma-search-fields button,.ma150-date-row select,.ma150-date-row input,.ma150-date-row button,.ma-booking input,.ma-booking select,.ma-booking textarea{font-size:16px!important}
  .ma160-from-price,.ma160-temp-label{font-size:12px!important}
}

/* 1.6.3 - generieke last-minute melding in Zoek & Boek */
.ma163-card-promo{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 7px;padding:7px 10px;border:1px solid #efb8b2;background:#fff1ef;border-radius:11px;color:#8f201a;font-size:13px;line-height:1.25}
.ma163-card-promo[hidden]{display:none!important}
.ma163-card-promo b{font-family:"Segoe Print","Bradley Hand",cursive;font-size:15px;letter-spacing:.01em;color:#b32720}
.ma163-card-promo span{font-weight:750;color:#8f201a}
@media(max-width:760px){.ma163-card-promo{font-size:12.5px}.ma163-card-promo b{font-size:14px}}


/* 1.6.11 - duidelijke prijzen en compact reserveren op tablet en mobiel */
@media(max-width:900px){
  .ma160-from-price,
  .ma-card__price,
  .mahp-property-card__price,
  .single-bungalow .ma-price-summary__value{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .ma150-request-grid{gap:14px!important;padding:14px!important}
  .ma150-request-summary{order:-1;position:static!important}
  .ma150-request-summary .ma150-property-image{display:none!important}
  .ma150-request-summary .ma150-summary-body{padding:16px!important}
  .ma150-request-summary dl{margin:8px 0!important}
}
@media(max-width:600px){
  .ma-booking.ma150-booking-shell{margin:10px 0!important}
  .ma150-request-grid{padding:9px!important;gap:9px!important;border-radius:0 0 16px 16px!important}
  .ma150-request-main{gap:9px!important}
  .ma150-request-card{padding:13px!important;border-radius:14px!important}
  .ma150-title{padding:16px 14px!important}
  .ma150-title h2{font-size:26px!important}
  .ma154-wizard-steps{padding:9px 7px!important}
  .ma154-wizard-steps span{font-size:9px!important}
  .ma154-wizard-steps b{width:25px!important;height:25px!important;flex-basis:25px!important}
  .ma150-card-head{margin-bottom:8px!important}
  .ma150-stay-overview{gap:2px!important;padding-top:4px!important}
  .ma150-stay-overview>div{padding:6px 0!important}
  .ma-booking input,.ma-booking select,.ma-booking textarea{padding:9px 10px!important}
  .ma154-wizard-actions{gap:8px!important;margin-top:10px!important}
  .ma154-wizard-actions .ma-primary,.ma154-wizard-actions .ma-secondary{width:100%!important;min-height:44px!important}
  .ma150-request-summary .ma150-summary-body{padding:13px!important}
  .ma150-request-summary .ma150-meta-grid{display:none!important}
  .ma150-request-summary .ma-mini-lines{margin-top:8px!important}
  .ma150-request-summary .ma-price{margin-top:9px!important;padding-top:9px!important}
  .ma-booking-info{margin:0!important}
  .ma-booking-info summary{font-size:15px!important}
  .ma-booking-info p{font-size:13px!important;line-height:1.45!important}
  .ma160-from-price{display:inline-flex!important;font-size:13px!important}
  body.home .ma-card__price,body.home .mahp-property-card__price{min-height:0!important;margin:2px 0 12px!important}
}


/* Jan Dorus achteraan in woningpresentaties */
.ma-grid--featured .mahp-property-card:has(a[href*="/jan-dorus/"]),
.ma-grid--featured .mahp-property-card:has(a[href*="/jan-dorus"]) { order: 99; }


/* 1.6.14 - leesbare prijsopgave en grotere reserveringstekst */
.ma150-request-summary .ma150-summary-body {
  font-size: 15px;
  line-height: 1.55;
}
.ma150-request-summary .ma150-summary-body dl,
.ma150-request-summary .ma-mini-lines {
  font-size: 14px;
}
.ma150-request-summary .ma-mini-lines small,
.ma150-request-summary .ma-small {
  font-size: 13px;
  line-height: 1.5;
}
.ma150-request-summary .ma-price {
  display: block !important;
  width: 100%;
}
.ma150-request-summary .ma-price > span {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  font-size: 14px;
  line-height: 1.35;
  margin-bottom: 5px;
}
.ma150-request-summary .ma-price > strong {
  display: block;
  width: 100%;
  font-size: 18px;
  line-height: 1.35;
  white-space: normal;
}
.ma150-request-card,
.ma150-request-card label,
.ma150-request-card input,
.ma150-request-card select,
.ma150-request-card textarea {
  font-size: 16px;
}
.ma150-request-card small {
  font-size: 13px;
  line-height: 1.45;
}
