/* BV Verhuur Frontend CSS — door MDesign v3 */
.bv-module{
  --bv-ac:#1a5fa8;--bv-ac-dk:#124080;--bv-ac-lt:#e8f0fb;
  --bv-grn:#1a6b38;--bv-grn-lt:#d6f0e0;--bv-grn-bd:#2d9e57;
  --bv-red:#b03030;--bv-red-lt:#fde8e8;--bv-red-bd:#e07070;
  --bv-amb-lt:#fff8e5;--bv-amb:#7a5000;
  --bv-bdr:#e2e2e2;--bv-r:10px;--bv-rs:6px;
  max-width:820px;margin:0 auto;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  color:#1a1a1a;line-height:1.55;
}
.bv-module *{box-sizing:border-box}

/* Header */
.bv-mod-hdr{margin-bottom:1.5rem}
.bv-titel{font-size:26px;font-weight:700;margin:0 0 .3rem;color:#111}
.bv-sub{font-size:15px;color:#555;margin:0}

/* Steps */
.bv-step{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--bv-bdr)}
.bv-step:last-of-type{border-bottom:none}
.bv-step-hdr{display:flex;align-items:center;gap:10px;margin-bottom:1.1rem}
.bv-step-num{width:30px;height:30px;background:var(--bv-ac);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}
.bv-step-lbl{font-size:17px;font-weight:600;color:#111}

/* Notice */
.bv-notice{padding:10px 14px;border-radius:var(--bv-rs);font-size:14px;margin-bottom:1rem}
.bv-notice.err{background:var(--bv-red-lt);color:var(--bv-red);border:1px solid var(--bv-red-bd)}
.bv-notice.info{background:var(--bv-ac-lt);color:var(--bv-ac-dk);border:1px solid #85B7EB}
.bv-loading{color:#666;font-size:14px;padding:8px 0}
.bv-loading-cal{color:#666;font-size:14px;padding:6px 0;margin-bottom:6px}

/* Datumvelden */
.bv-date-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
@media(max-width:480px){.bv-date-row{grid-template-columns:1fr}}
.bv-df label{display:block;font-size:13px;font-weight:600;color:#555;margin-bottom:5px}
.bv-df-inner{position:relative}
.bv-df-inner i{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:16px;color:#999;pointer-events:none}
.bv-df input[type=date]{width:100%;padding:10px 12px 10px 34px;border:1.5px solid var(--bv-bdr);border-radius:var(--bv-rs);font-size:15px;color:#111;background:#fff;transition:border-color .15s}
.bv-df input[type=date]:focus{outline:none;border-color:var(--bv-ac);box-shadow:0 0 0 3px rgba(26,95,168,.12)}
.bv-df input.err{border-color:var(--bv-red)}
.bv-df-hint{font-size:12px;margin-top:4px;min-height:16px}
.bv-df-hint.ok{color:var(--bv-grn)}
.bv-df-hint.er{color:var(--bv-red)}

/* Kalender legenda */
.bv-cal-legenda{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px;font-size:12px;color:#666}
.bv-leg{display:flex;align-items:center;gap:5px}
.bv-leg-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}
.bv-leg-grn{background:var(--bv-grn-lt);border:1px solid var(--bv-grn-bd)}
.bv-leg-red{background:var(--bv-red-lt);border:1px solid var(--bv-red-bd)}
.bv-leg-sel{background:var(--bv-ac);border:1px solid var(--bv-ac-dk)}
.bv-leg-rng{background:var(--bv-ac-lt);border:1px solid #85B7EB}

/* Twee kalenders naast elkaar */
.bv-cal-wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:4px}
@media(max-width:540px){.bv-cal-wrap{grid-template-columns:1fr}}
.bv-cal{background:#fff;border:1.5px solid var(--bv-bdr);border-radius:var(--bv-r);overflow:hidden}
.bv-cal-hdr{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--bv-bdr)}
.bv-cal-maand{font-size:13px;font-weight:600;color:#111}
.bv-cal-nav{display:flex;gap:3px}
.bv-cal-nav button{width:25px;height:25px;border:1px solid var(--bv-bdr);border-radius:var(--bv-rs);background:#fff;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;font-size:13px;transition:background .1s}
.bv-cal-nav button:hover{background:#f0f0f0}
.bv-cal-nav button:disabled{opacity:.3;cursor:default}
.bv-cal-inner{padding:7px 8px 10px}
.bv-cal-dow{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:2px}
.bv-cal-dow span{text-align:center;font-size:10px;font-weight:600;color:#999;padding:3px 0}
.bv-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.bv-day{height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--bv-rs);font-size:12px;border:1px solid transparent;transition:background .1s;user-select:none}
.bv-day.leeg,.bv-day.verleden{pointer-events:none}
.bv-day.verleden{color:#ccc}
.bv-day.vrij{background:var(--bv-grn-lt);color:var(--bv-grn);border-color:var(--bv-grn-bd);cursor:pointer}
.bv-day.vrij:hover{background:#bce8cf}
.bv-day.bezet{background:var(--bv-red-lt);color:var(--bv-red);border-color:var(--bv-red-bd);cursor:not-allowed}
.bv-day.sel-start{background:var(--bv-ac)!important;color:#fff!important;border-color:var(--bv-ac-dk)!important;border-radius:var(--bv-rs) 0 0 var(--bv-rs)}
.bv-day.sel-end{background:var(--bv-ac)!important;color:#fff!important;border-color:var(--bv-ac-dk)!important;border-radius:0 var(--bv-rs) var(--bv-rs) 0}
.bv-day.sel-start.sel-end{border-radius:var(--bv-rs)!important}
.bv-day.in-range{background:var(--bv-ac-lt)!important;color:#0C447C!important;border-color:transparent!important;border-radius:0}

/* Unit cards */
.bv-units-list{display:flex;flex-direction:column;gap:12px}
.bv-ucard{background:#fff;border:1.5px solid var(--bv-bdr);border-radius:var(--bv-r);overflow:hidden;transition:border-color .15s}
.bv-ucard.sel{border-color:var(--bv-ac);box-shadow:0 0 0 3px rgba(26,95,168,.1)}
.bv-ucard.unavail{opacity:.5;pointer-events:none}
.bv-ucard-main{display:flex;align-items:flex-start;gap:12px;padding:14px}
.bv-ucard-ph{width:70px;height:64px;border-radius:var(--bv-rs);background:#f5f5f5;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;overflow:hidden}
.bv-ucard-ph img{width:100%;height:100%;object-fit:cover}
.bv-ucard-info{flex:1;min-width:0}
.bv-ucard-naam{font-size:15px;font-weight:700;color:#111;margin-bottom:2px}
.bv-ucard-omschr{font-size:12px;color:#666;margin-bottom:6px}
.bv-prijs-groot{font-size:16px;font-weight:700;color:var(--bv-ac)}
.bv-prijs-aanvraag{font-size:13px;color:#888;font-style:italic}
.bv-staffel-wrap{display:flex;flex-wrap:wrap;gap:3px;margin-top:5px}
.bv-strap{font-size:10px;background:#f0f0f0;color:#666;padding:2px 8px;border-radius:100px}
.bv-strap.act{background:var(--bv-ac-lt);color:#0C447C;font-weight:600}
.bv-plaatsing-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;background:var(--bv-amb-lt);color:var(--bv-amb);padding:2px 8px;border-radius:100px;margin-top:5px}
.bv-ucard-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}
.bv-avail{font-size:11px;font-weight:600;padding:3px 9px;border-radius:100px;white-space:nowrap}
.bv-av-ok{background:var(--bv-grn-lt);color:#27500A}
.bv-av-bep{background:var(--bv-amb-lt);color:var(--bv-amb)}
.bv-av-vol{background:var(--bv-red-lt);color:#791F1F}
.bv-qty-wrap{display:flex;align-items:center;gap:8px}
.bv-qbtn{width:30px;height:30px;border:1.5px solid var(--bv-bdr);border-radius:var(--bv-rs);background:#fff;cursor:pointer;font-size:18px;color:#111;display:flex;align-items:center;justify-content:center;padding:0;transition:background .1s}
.bv-qbtn:hover{background:#f0f0f0}
.bv-qbtn:disabled{opacity:.35;cursor:not-allowed}
.bv-qval{font-size:16px;font-weight:700;min-width:20px;text-align:center}

/* Opties */
.bv-opties-wrap{border-top:1px solid var(--bv-bdr);background:#f9f9f9;padding:12px 14px;display:none}
.bv-opties-wrap.show{display:block}
.bv-opties-titel{font-size:11px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.bv-optie{display:flex;align-items:flex-start;gap:10px;padding:7px 0;border-bottom:1px solid #eee}
.bv-optie:last-child{border-bottom:none}
.bv-optie input[type=checkbox]{margin-top:2px;width:15px;height:15px;accent-color:var(--bv-ac);cursor:pointer;flex-shrink:0}
.bv-optie-lbl{flex:1;font-size:13px;color:#111}
.bv-optie-sub{font-size:11px;color:#888;margin-top:1px}
.bv-optie-prijs{font-size:13px;font-weight:600;white-space:nowrap;color:#111}
.bv-optie-gratis{color:var(--bv-grn)}

/* Overzicht */
.bv-ov-box{background:#f9f9f9;border:1.5px solid var(--bv-bdr);border-radius:var(--bv-r);overflow:hidden}
.bv-ov-sectie{padding:7px 14px;font-size:10px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #eee;background:#fff}
.bv-ov-row{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;font-size:13px;color:#666;border-bottom:1px solid #eee}
.bv-ov-val{font-weight:600;color:#111}
.bv-ov-subtot{display:flex;justify-content:space-between;padding:8px 14px;font-size:13px;color:#666;border-bottom:1px solid #eee}
.bv-ov-total{display:flex;justify-content:space-between;padding:13px 14px;font-size:16px;font-weight:700;color:#111;background:#fff}

/* Betaalinfo */
.bv-betaal-info{display:flex;align-items:center;gap:12px;padding:13px 16px;background:#f9f9f9;border:1.5px solid var(--bv-bdr);border-radius:var(--bv-r);margin-top:1.25rem;font-size:14px;color:#444}
.bv-betaal-info i{font-size:22px;color:#888;flex-shrink:0}
.bv-betaal-info strong{color:#111}

/* Formulier */
.bv-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
@media(max-width:520px){.bv-form-grid{grid-template-columns:1fr}}
.bv-field{display:flex;flex-direction:column;gap:5px}
.bv-full{grid-column:1/-1}
.bv-field label{font-size:13px;font-weight:600;color:#555}
.bv-field abbr{text-decoration:none;color:var(--bv-red)}
.bv-field input,.bv-field textarea{padding:10px 12px;border:1.5px solid var(--bv-bdr);border-radius:var(--bv-rs);font-size:15px;color:#111;background:#fff;transition:border-color .15s;font-family:inherit;width:100%}
.bv-field input:focus,.bv-field textarea:focus{outline:none;border-color:var(--bv-ac);box-shadow:0 0 0 3px rgba(26,95,168,.12)}
.bv-field.err input,.bv-field.err textarea{border-color:var(--bv-red)}
.bv-field textarea{resize:vertical;min-height:90px}

/* Submit */
.bv-submit-btn{width:100%;margin-top:1.25rem;padding:14px;background:var(--bv-ac);color:#fff;border:none;border-radius:var(--bv-rs);font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}
.bv-submit-btn:hover{background:var(--bv-ac-dk)}
.bv-submit-btn:disabled{background:#aaa;cursor:not-allowed}

/* Succes */
.bv-succes{text-align:center;padding:3rem 1.5rem}
.bv-suc-icon i{font-size:54px;color:var(--bv-grn)}
.bv-succes h3{font-size:24px;font-weight:700;margin:.75rem 0 .4rem}
.bv-succes p{font-size:15px;color:#666}
.bv-suc-ref{margin-top:1rem;font-size:14px;background:var(--bv-ac-lt);color:var(--bv-ac-dk);padding:8px 16px;border-radius:var(--bv-rs);display:inline-block}


/* ── Stap 3+4 twee-koloms layout ── */
.bv-stap34-grid {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 28px;
    align-items: start;
}

@media (max-width: 720px) {
    .bv-stap34-grid {
        grid-template-columns: 1fr;
    }
    .bv-stap34-rechts {
        order: -1; /* overzicht boven gegevens op mobiel */
    }
}

.bv-stap34-links {
    min-width: 0;
}

.bv-stap34-rechts {
    position: sticky;
    top: 24px;
}

/* Overzicht in sticky kolom wat compacter */
.bv-ov-sticky .bv-ov-sectie { padding: 6px 12px; }
.bv-ov-sticky .bv-ov-row    { padding: 7px 12px; }
.bv-ov-sticky .bv-ov-subtot { padding: 7px 12px; }
.bv-ov-sticky .bv-ov-total  { padding: 11px 12px; }
/* ============================================================
   Stap 3+4 — gegevens links / overzicht rechts
   ============================================================ */

.bv-module .bv-stap-34 { border-bottom: none; padding-bottom: 0; }

.bv-module .bv-stap34-grid {
    display: grid !important;
    grid-template-columns: 1fr 320px !important;
    gap: 32px;
    align-items: start;
}

.bv-module .bv-stap34-links  { min-width: 0; }
.bv-module .bv-stap34-rechts { position: sticky; top: 20px; }

/* Op smal scherm onder elkaar, overzicht bovenaan */
@media (max-width: 740px) {
    .bv-module .bv-stap34-grid {
        grid-template-columns: 1fr !important;
    }
    .bv-module .bv-stap34-rechts { position: static; order: -1; }
}

/* Compact overzicht in zijkolom */
.bv-module .bv-ov-sticky .bv-ov-sectie { padding: 5px 12px; font-size: 10px; }
.bv-module .bv-ov-sticky .bv-ov-row    { padding: 7px 12px; font-size: 13px; }
.bv-module .bv-ov-sticky .bv-ov-subtot { padding: 7px 12px; font-size: 13px; }
.bv-module .bv-ov-sticky .bv-ov-total  { padding: 11px 12px; font-size: 15px; }

/* ============================================================
   Korte & lange beschrijving
   ============================================================ */
.bv-module .bv-ucard-omschr {
    font-size: 13px; color: #555; margin-bottom: 5px; line-height: 1.5;
}
.bv-module .bv-ucard-lang { margin-top: 4px; margin-bottom: 6px; }
.bv-module .bv-ucard-lang-inner {
    font-size: 12px; color: #666; line-height: 1.6;
    padding: 8px 10px; background: #f9f9f9;
    border-left: 3px solid var(--bv-ac-lt);
    border-radius: 0 var(--bv-rs) var(--bv-rs) 0;
    white-space: pre-line;
}
.bv-module .bv-meer-btn {
    background: none; border: none; padding: 3px 0;
    font-size: 12px; color: var(--bv-ac); cursor: pointer;
    font-family: inherit; margin-bottom: 5px;
    display: inline-flex; align-items: center; gap: 3px;
}
.bv-module .bv-meer-btn:hover { text-decoration: underline; }

/* ============================================================
   Km-hint
   ============================================================ */
.bv-module .bv-km-hint {
    font-size: 13px; line-height: 1.5;
    padding: 9px 12px; border-radius: var(--bv-rs);
    border: 1px solid #eed090;
    background: var(--bv-amb-lt); color: var(--bv-amb);
}
.bv-module .bv-km-hint.groen {
    background: var(--bv-grn-lt); border-color: var(--bv-grn-bd); color: var(--bv-grn);
}
.bv-module .bv-km-hint.rood {
    background: var(--bv-red-lt); border-color: var(--bv-red-bd); color: var(--bv-red);
}

/* ── Google Places autocomplete dropdown ── */
.pac-container {
    border-radius: var(--bv-rs);
    border: 1.5px solid var(--bv-bdr);
    box-shadow: 0 4px 16px rgba(0,0,0,.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
    margin-top: 2px;
    z-index: 99999 !important;
}
.pac-item {
    padding: 8px 12px;
    font-size: 13px;
    cursor: pointer;
    border-top: 1px solid #f0f0f0;
    color: #333;
}
.pac-item:first-child { border-top: none; }
.pac-item:hover, .pac-item-selected { background: var(--bv-ac-lt); }
.pac-item-query { font-size: 14px; font-weight: 500; color: #111; }
.pac-matched { color: var(--bv-ac); font-weight: 600; }
.pac-icon { display: none; } /* Google pin icon weghalen */

/* ── Adresveld — voorkom browser password/autofill iconen ── */
.bv-module #bv-adres {
    background-image: none !important;
}
.bv-module #bv-adres::-webkit-credentials-auto-fill-button,
.bv-module #bv-adres::-webkit-contacts-auto-fill-button,
.bv-module #bv-adres::-ms-reveal,
.bv-module #bv-adres::-ms-clear {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
/* Google PAC dropdown boven Oxygen elementen */
.pac-container {
    z-index: 999999 !important;
    pointer-events: all !important;
}

/* Verberg Google Maps auth-fout dialoog (treedt op bij key-restrictie issues) */
.gm-err-container,
.gm-err-message,
.gm-style .gm-style-cc > div[style*="background-color"] {
    display: none !important;
}
