/* Waardebepaling widget — scoped under .dbwb / #dbwb-* */
:root{
	--dbwb-accent:#EC1165;
	--dbwb-dark:#242436;
	--dbwb-taupe:#939388;
	--dbwb-bg:#FCF8F7;
	--dbwb-radius:14px;
	--dbwb-shadow:0 12px 40px rgba(36,36,54,.18);
	--dbwb-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

/* ---------- Launcher bubble ---------- */
.dbwb-launcher{
	position:fixed; right:22px; bottom:22px; z-index:99998;
	display:flex; align-items:center; gap:12px;
	background:var(--dbwb-accent); color:#fff;
	padding:12px 18px 12px 14px; border-radius:50px;
	box-shadow:var(--dbwb-shadow); cursor:pointer;
	font-family:var(--dbwb-font); max-width:280px;
	transition:transform .15s ease, opacity .2s ease;
}
.dbwb-launcher:hover{ transform:translateY(-2px); }
.dbwb-launcher.dbwb-hidden{ opacity:0; pointer-events:none; transform:scale(.9); }
.dbwb-launcher-icon{
	flex:0 0 auto; width:38px; height:38px; border-radius:50%;
	background:rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center;
}
.dbwb-launcher-label{ display:flex; flex-direction:column; line-height:1.2; }
.dbwb-launcher-label strong{ font-size:14px; font-weight:700; }
.dbwb-launcher-label small{ font-size:11.5px; opacity:.9; }

/* ---------- Pop-up panel ---------- */
.dbwb-popup{
	position:fixed; right:24px; bottom:24px; z-index:99999;
	width:560px; max-width:calc(100vw - 36px);
	max-height:min(880px, calc(100vh - 20px)); height:auto;
	opacity:0; transform:translateY(16px) scale(.98); pointer-events:none;
	transition:opacity .2s ease, transform .2s ease;
}
.dbwb-popup.dbwb-open{ opacity:1; transform:none; pointer-events:auto; }

/* ---------- Card (shared by inline + popup) ---------- */
.dbwb{ font-family:var(--dbwb-font); color:#2E2E2E; box-sizing:border-box; }
.dbwb *,.dbwb *::before,.dbwb *::after{ box-sizing:border-box; }
.dbwb-card{
	background:#fff; border-radius:var(--dbwb-radius); overflow:hidden;
	box-shadow:var(--dbwb-shadow); display:flex; flex-direction:column;
	max-height:inherit;
}
.dbwb-inline .dbwb-card{ box-shadow:0 4px 20px rgba(36,36,54,.08); border:1px solid #eee; }

.dbwb-head{
	background:linear-gradient(160deg, var(--dbwb-dark) 0%, #2e2e2e 100%);
	padding:14px 20px; display:flex; align-items:center; justify-content:space-between;
	flex:0 0 auto; border-bottom:3px solid var(--dbwb-accent);
}
.dbwb-logo{ max-height:64px; max-width:250px; }
.dbwb-close{
	background:none; border:none; color:#fff; font-size:26px; line-height:1;
	cursor:pointer; opacity:.8; padding:0 4px;
}
.dbwb-close:hover{ opacity:1; }

.dbwb-body{ padding:26px 30px; overflow-y:auto; background:linear-gradient(180deg, var(--dbwb-bg) 0%, #fff 110px); }

/* ---------- Steps ---------- */
.dbwb-step{ display:flex; flex-direction:column; gap:15px; }
.dbwb-h{ margin:0; font-size:21px; font-weight:800; color:var(--dbwb-dark); line-height:1.2; letter-spacing:-.01em; }
.dbwb-intro{ margin:0; font-size:14px; line-height:1.55; color:#5a5a5a; }
.dbwb-chips{ display:flex; flex-wrap:wrap; gap:7px; }
.dbwb-chip{ display:inline-flex; align-items:center; gap:5px; background:#fff; border:1px solid #ece9e9; color:var(--dbwb-dark); font-size:11.5px; font-weight:600; padding:5px 11px; border-radius:50px; }
.dbwb-chip svg{ color:var(--dbwb-accent); flex:0 0 auto; }
.dbwb-ac-icon{ position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--dbwb-taupe); line-height:0; pointer-events:none; }
.dbwb-input.dbwb-input-icon{ padding-left:42px; }
.dbwb-row{ display:flex; gap:8px; }
.dbwb-input{
	width:100%; padding:13px 14px; font-size:15px; font-family:inherit;
	border:1.5px solid #e2e0e0; border-radius:10px; background:#fff; color:#2E2E2E;
	transition:border-color .15s ease;
}
.dbwb-input:focus{ outline:none; border-color:var(--dbwb-accent); }
.dbwb-input.dbwb-sm{ max-width:90px; }
.dbwb-input.dbwb-xs{ max-width:74px; }
.dbwb-input.dbwb-full{ width:100%; }

.dbwb-hp{ display:none!important; }

/* Adres-autocomplete */
.dbwb-ac{ position:relative; }
.dbwb-suggest{
	display:none; position:absolute; top:calc(100% + 4px); left:0; right:0; z-index:5;
	background:#fff; border:1.5px solid #e2e0e0; border-radius:10px; overflow:hidden;
	box-shadow:0 8px 24px rgba(36,36,54,.12); max-height:230px; overflow-y:auto;
}
.dbwb-suggest.dbwb-open{ display:block; }
.dbwb-suggest-item{
	padding:11px 14px; font-size:14px; cursor:pointer; color:#2E2E2E;
	border-bottom:1px solid #f2f0f0;
}
.dbwb-suggest-item:last-child{ border-bottom:none; }
.dbwb-suggest-item:hover{ background:var(--dbwb-bg); color:var(--dbwb-accent); }

.dbwb-btn{
	width:100%; padding:14px 18px; font-size:15px; font-weight:700; font-family:inherit;
	color:#fff; background:var(--dbwb-accent); border:none; border-radius:10px; cursor:pointer;
	transition:filter .15s ease;
}
.dbwb-btn:hover:not(:disabled){ filter:brightness(.93); }
.dbwb-btn:disabled{ opacity:.6; cursor:default; }
.dbwb-link{
	background:none; border:none; color:var(--dbwb-taupe); font-size:13px;
	cursor:pointer; text-decoration:underline; font-family:inherit; padding:2px;
}

.dbwb-msg{ font-size:13.5px; min-height:0; }
.dbwb-msg.dbwb-err{ color:#c0143c; background:#fdeef1; padding:9px 12px; border-radius:8px; }

/* ---------- Result ---------- */
.dbwb-result{
	background:var(--dbwb-bg); border-radius:14px; padding:22px 24px;
	text-align:center; display:flex; flex-direction:column; gap:3px;
	border-bottom:3px solid var(--dbwb-accent);
}
.dbwb-result-label{ font-size:12px; text-transform:uppercase; letter-spacing:.6px; color:var(--dbwb-taupe); }
.dbwb-result-price{ font-size:42px; font-weight:800; color:var(--dbwb-dark); line-height:1.05; }
.dbwb-result-range{ font-size:15px; color:var(--dbwb-taupe); }
.dbwb-result-addr{ font-size:15px; color:#2E2E2E; margin-top:5px; font-weight:600; }
.dbwb-facts{ margin:0; font-size:13px; color:var(--dbwb-taupe); text-align:center; }
.dbwb-cta-text{ margin:4px 0 0; font-size:14px; line-height:1.5; color:#444; }

/* Gevelfoto bovenin het resultaat (groot op desktop) */
.dbwb-result-photo{ width:100%; height:240px; object-fit:cover; border-radius:14px; display:block; }

/* Specificaties in 2 kolommen */
.dbwb-specs{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:11px 16px; }
.dbwb-specs li{ flex:1 1 calc(50% - 8px); display:flex; align-items:center; gap:9px; font-size:14.5px; color:var(--dbwb-dark); }
.dbwb-specs li svg{ color:var(--dbwb-accent); flex:0 0 auto; }
.dbwb-specs .dbwb-spec-v{ font-weight:700; color:var(--dbwb-dark); }

/* ---------- Contact ---------- */
.dbwb-optin{ display:flex; gap:9px; align-items:flex-start; font-size:13px; color:#444; line-height:1.4; cursor:pointer; }
.dbwb-optin input{ margin-top:2px; flex:0 0 auto; }
.dbwb-privacy{ margin:0; font-size:11.5px; color:var(--dbwb-taupe); line-height:1.4; }
.dbwb-privacy a{ color:var(--dbwb-taupe); }

/* ---------- Done ---------- */
.dbwb-done{ text-align:center; align-items:center; padding:14px 4px; }
.dbwb-check{
	width:58px; height:58px; border-radius:50%; background:var(--dbwb-accent); color:#fff;
	font-size:30px; display:flex; align-items:center; justify-content:center; margin-bottom:6px;
}
.dbwb-done-title{ margin:0; font-size:20px; font-weight:800; color:var(--dbwb-dark); }
.dbwb-done-text{ margin:0; font-size:14px; color:#444; line-height:1.5; }

/* ---------- Hardening tegen thema-overrides (Elementor/Hello e.d.) ---------- */
.dbwb .dbwb-btn{
	font-size:15px!important; line-height:1.3!important; font-weight:700!important;
	letter-spacing:normal!important; text-transform:none!important;
	white-space:normal!important; min-height:0!important; height:auto!important;
	margin:0!important; text-align:center!important; text-decoration:none!important;
	background:var(--dbwb-accent)!important; color:#fff!important; border:none!important;
	border-radius:12px!important; padding:15px 18px!important;
	box-shadow:0 8px 20px rgba(236,17,101,.30)!important; transition:transform .12s ease, box-shadow .12s ease, filter .12s ease;
}
.dbwb .dbwb-btn:hover:not(:disabled){ filter:brightness(.95)!important; transform:translateY(-1px); box-shadow:0 10px 24px rgba(236,17,101,.36)!important; }
.dbwb .dbwb-btn:disabled{ background:var(--dbwb-accent)!important; opacity:.4!important; box-shadow:none!important; cursor:default; }
.dbwb .dbwb-input{
	font-size:15px!important; line-height:1.3!important; height:auto!important;
	letter-spacing:normal!important; margin:0!important; min-height:0!important;
}
.dbwb .dbwb-link{
	font-size:13px!important; font-weight:400!important; line-height:1.3!important;
	background:none!important; color:var(--dbwb-taupe)!important; border:none!important;
	text-transform:none!important; letter-spacing:normal!important; min-height:0!important;
	height:auto!important; padding:2px!important; width:auto!important; margin:0 auto!important;
}
.dbwb .dbwb-close{
	font-size:26px!important; background:none!important; min-height:0!important;
	height:auto!important; padding:0 4px!important; line-height:1!important; width:auto!important;
}
.dbwb .dbwb-launcher-label strong{ font-size:14px!important; line-height:1.2!important; }
.dbwb .dbwb-result-price{ line-height:1.1!important; letter-spacing:normal!important; }
/* Voorkom dat een thema hoogtes forceert (witruimte) — kaart hugt de inhoud. */
.dbwb-card, .dbwb .dbwb-body, .dbwb .dbwb-step{ min-height:0!important; height:auto!important; }
.dbwb .dbwb-step{ justify-content:flex-start!important; }
.dbwb .dbwb-specs li{ min-height:0!important; }

/* ---------- Mobile: bottom sheet ---------- */
@media (max-width:480px){
	.dbwb-popup{
		right:0; left:0; bottom:0; width:100%; max-width:100%;
		max-height:90vh; border-radius:var(--dbwb-radius) var(--dbwb-radius) 0 0;
	}
	.dbwb-popup .dbwb-card{ border-radius:var(--dbwb-radius) var(--dbwb-radius) 0 0; }
	.dbwb-launcher{ right:16px; bottom:16px; }
	.dbwb-launcher-label small{ display:none; }
	/* Compact op mobiel: alles past zonder scroll */
	.dbwb-body{ padding:18px; }
	.dbwb-step{ gap:11px; }
	.dbwb-result{ padding:14px 16px; }
	.dbwb-result-price{ font-size:30px; }
	.dbwb-result-photo{ height:150px; }
	.dbwb-specs{ gap:8px 12px; }
	.dbwb-specs li{ font-size:13.5px; }
}
