.fmp-calc{
	--fmp-accent:#C8902F; --fmp-bg:#1C1C1E; --fmp-card:#161618; --fmp-text:#F2F2F4;
	display:flex; flex-wrap:wrap; gap:30px; align-items:center;
	background:var(--fmp-bg); color:var(--fmp-text);
	border-radius:18px; padding:32px;
	font-family:'Inter',system-ui,-apple-system,sans-serif;
	box-shadow:0 24px 60px rgba(0,0,0,.30);
	box-sizing:border-box;
}
.fmp-calc *{ box-sizing:border-box; }

.fmp-intro{ flex:1 1 210px; min-width:200px; }
.fmp-intro h2{
	font-family:'Playfair Display',Georgia,serif; font-weight:700;
	font-size:1.95rem; line-height:1.12; margin:0 0 12px; color:var(--fmp-text);
}
.fmp-intro p{ margin:0; font-size:.9rem; line-height:1.6; opacity:.7; }

.fmp-mid{ flex:1.6 1 340px; display:flex; flex-direction:column; gap:14px; }
.fmp-inputs{ display:flex; gap:12px; flex-wrap:wrap; }
.fmp-inputs label{ flex:1 1 140px; display:flex; flex-direction:column; gap:6px;
	font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; opacity:.7; }
.fmp-field{ display:flex; align-items:center; gap:4px;
	background:var(--fmp-card); border:1px solid rgba(255,255,255,.12);
	border-radius:10px; padding:0 12px; transition:border-color .2s; }
.fmp-field:focus-within{ border-color:var(--fmp-accent); }
.fmp-field input{ background:transparent; border:0; outline:none; width:100%;
	color:var(--fmp-text); font-family:inherit; font-size:1rem; padding:12px 2px; }
.fmp-field input::-webkit-outer-spin-button,
.fmp-field input::-webkit-inner-spin-button{ opacity:.4; }
.fmp-cur{ opacity:.6; font-size:.95rem; }
.fmp-field select{ background:transparent; border:0; outline:none; width:100%;
	color:var(--fmp-text); font-family:inherit; font-size:1rem; padding:12px 2px;
	appearance:none; -webkit-appearance:none; cursor:pointer; }
.fmp-field select option{ color:#000; }

.fmp-result{ display:flex; flex-direction:column; align-items:flex-start; gap:6px;
	background:var(--fmp-card); border-radius:14px; padding:18px 22px; }
.fmp-result-label{ display:block; font-size:.68rem; text-transform:uppercase;
	letter-spacing:.06em; opacity:.7; }
.fmp-total{ font-family:'Playfair Display',Georgia,serif; font-weight:700;
	font-size:2.4rem; line-height:1; color:var(--fmp-accent); }

.fmp-breakdown{ flex:1 1 220px; display:flex; flex-direction:column; gap:12px; }
.fmp-part{ background:var(--fmp-card); border:1px solid rgba(255,255,255,.08);
	border-radius:14px; padding:18px 20px;
	display:flex; flex-direction:column; gap:8px; }
.fmp-part .lbl{ display:block; font-size:.66rem; text-transform:uppercase;
	letter-spacing:.07em; opacity:.7; }
.fmp-part .val{ display:block; font-family:'Playfair Display',serif; font-weight:700;
	font-size:1.5rem; line-height:1; color:var(--fmp-text); }

/* De disclaimer hoort in dezelfde kaart als het getal waar hij over gaat. */
.fmp-disclaimer{ margin:10px 0 0; max-width:46ch;
	font-size:.64rem; line-height:1.6; opacity:.55; }
.fmp-breakdown .fmp-disclaimer{ margin-top:0; }

@media (max-width:1080px){
	.fmp-calc{ flex-direction:column; align-items:stretch; }
	.fmp-breakdown{ flex-direction:row; }
	.fmp-part{ flex:1; }
}

@media (max-width:560px){
	.fmp-breakdown{ flex-direction:column; }
}
