/* PlanMeter WordPress Plugin – v1.2 – thema-bestendig */

/* Reset binnen de wrapper */
#pm-app, #pm-app * { box-sizing: border-box !important; }
#pm-app p, #pm-app h1, #pm-app h2, #pm-app h3, #pm-app ul, #pm-app li { margin: 0; padding: 0; }

#pm-app {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  color: #1e293b !important;
  line-height: 1.5 !important;
  max-width: 100% !important;
}

/* ── HERO ── */
#pm-app .pm-hero {
  background: linear-gradient(135deg, #1e3a8a 0%, #0891b2 100%) !important;
  color: #fff !important;
  border-radius: 16px !important;
  padding: 3rem 2rem 3.5rem !important;
  text-align: center !important;
  margin-bottom: 1.5rem !important;
}
#pm-app .pm-hero h1 {
  font-size: clamp(1.6rem, 4vw, 2.6rem) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  margin-bottom: 1rem !important;
  color: #fff !important;
  background: none !important;
}
#pm-app .pm-hero h1 span {
  color: #7dd3fc !important;
  display: block !important;
}
#pm-app .pm-hero p {
  font-size: 1rem !important;
  opacity: .85 !important;
  max-width: 520px !important;
  margin: 0 auto 2rem !important;
  line-height: 1.65 !important;
  color: #fff !important;
}
#pm-app .pm-hero-stats {
  display: flex !important;
  justify-content: center !important;
  gap: 2rem !important;
  flex-wrap: wrap !important;
}
#pm-app .pm-hero-stats > div { text-align: center !important; }
#pm-app .pm-stat-num { font-size: 1.5rem !important; font-weight: 800 !important; color: #7dd3fc !important; display: block !important; }
#pm-app .pm-stat-lbl { font-size: .72rem !important; opacity: .7 !important; text-transform: uppercase !important; letter-spacing: .06em !important; display: block !important; }

/* ── STAPPEN ── */
#pm-app .pm-steps {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1rem !important;
  margin-bottom: 1.5rem !important;
}
@media (max-width: 600px) { #pm-app .pm-steps { grid-template-columns: 1fr !important; } }
#pm-app .pm-step {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 1.3rem !important;
  display: flex !important;
  gap: .9rem !important;
  align-items: flex-start !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
}
#pm-app .pm-step-num {
  width: 34px !important; height: 34px !important;
  background: linear-gradient(135deg, #2563eb, #0891b2) !important;
  color: #fff !important;
  border-radius: 50% !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-weight: 700 !important; font-size: .85rem !important;
  flex-shrink: 0 !important;
  min-width: 34px !important;
}
#pm-app .pm-step h3 { font-size: .92rem !important; font-weight: 700 !important; margin-bottom: .25rem !important; color: #1e293b !important; }
#pm-app .pm-step p  { font-size: .8rem !important; color: #64748b !important; line-height: 1.55 !important; }

/* ── UPLOAD CARD ── */
#pm-app .pm-upload-card {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 1.8rem !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  margin-bottom: 1.5rem !important;
}
#pm-app .pm-card-title {
  font-size: 1.1rem !important; font-weight: 700 !important;
  margin-bottom: 1.2rem !important;
  display: flex !important; align-items: center !important; gap: .5rem !important;
  color: #1e293b !important;
}

/* ── DROP ZONE ── */
#pm-app .pm-drop-zone {
  border: 2px dashed #cbd5e1 !important;
  border-radius: 12px !important;
  padding: 2.5rem 1.5rem !important;
  text-align: center !important;
  cursor: pointer !important;
  background: #f8fafc !important;
  position: relative !important;
  transition: all .2s !important;
}
#pm-app .pm-drop-zone:hover,
#pm-app .pm-drop-zone.pm-drag-over { border-color: #2563eb !important; background: #eff6ff !important; }
#pm-app .pm-drop-zone input[type="file"] { position: absolute !important; inset: 0 !important; opacity: 0 !important; cursor: pointer !important; width: 100% !important; height: 100% !important; }
#pm-app .pm-drop-icon {
  width: 52px !important; height: 52px !important;
  background: linear-gradient(135deg, #dbeafe, #cffafe) !important;
  border-radius: 12px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  margin: 0 auto .8rem !important; color: #2563eb !important;
}
#pm-app .pm-drop-zone h3 { font-size: .95rem !important; font-weight: 600 !important; margin-bottom: .3rem !important; color: #1e293b !important; }
#pm-app .pm-drop-zone > p { font-size: .82rem !important; color: #64748b !important; margin-bottom: .7rem !important; }
#pm-app .pm-formats { display: flex !important; gap: .4rem !important; justify-content: center !important; flex-wrap: wrap !important; }
#pm-app .pm-formats span {
  background: #e0e7ff !important; color: #3730a3 !important;
  padding: .18rem .55rem !important; border-radius: 999px !important; font-size: .7rem !important; font-weight: 700 !important;
  display: inline-block !important;
}
#pm-app .pm-height-note { margin-top: .65rem !important; font-size: .74rem !important; color: #64748b !important; text-align: center !important; }
#pm-app .pm-tips-link { margin-top: .4rem !important; font-size: .74rem !important; text-align: center !important; }
#pm-app .pm-tips-link a { color: #2563eb !important; text-decoration: underline !important; font-weight: 500 !important; }

/* ── PREVIEW GRID ── */
#pm-preview-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
  gap: .8rem !important; margin-top: 1rem !important;
}
#pm-app .pm-preview-card { border: 1px solid #e2e8f0 !important; border-radius: 10px !important; overflow: hidden !important; background: #f8fafc !important; }
#pm-app .pm-preview-card img { width: 100% !important; height: 110px !important; object-fit: cover !important; display: block !important; }
#pm-app .pm-pdf-thumb {
  height: 110px !important; display: flex !important; flex-direction: column !important;
  align-items: center !important; justify-content: center !important;
  gap: .4rem !important; background: #fef2f2 !important; color: #dc2626 !important; font-size: .75rem !important; font-weight: 700 !important;
}
#pm-app .pm-preview-info { padding: .45rem .65rem !important; display: flex !important; align-items: center !important; justify-content: space-between !important; }
#pm-app .pm-preview-name { font-size: .72rem !important; font-weight: 500 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; max-width: 100px !important; color: #1e293b !important; }
#pm-app .pm-remove-btn { background: none !important; border: none !important; cursor: pointer !important; color: #94a3b8 !important; font-size: 13px !important; line-height: 1 !important; padding: 2px !important; }

/* ── PRICE BAR ── */
#pm-price-bar {
  background: linear-gradient(135deg, #eff6ff, #ecfdf5) !important;
  border: 1px solid #bfdbfe !important; border-radius: 10px !important;
  padding: .9rem 1.2rem !important;
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  flex-wrap: wrap !important; gap: .8rem !important; margin-top: 1rem !important;
}
#pm-app .pm-price-left { display: flex !important; align-items: center !important; gap: .6rem !important; font-size: .9rem !important; color: #1e293b !important; }
#pm-app .pm-price-total { font-size: 1.5rem !important; font-weight: 800 !important; color: #2563eb !important; }

/* ── KNOPPEN ── */
#pm-app .pm-btn-primary {
  display: flex !important; align-items: center !important; justify-content: center !important; gap: .5rem !important;
  width: 100% !important; margin-top: 1rem !important; padding: .95rem !important;
  background: linear-gradient(135deg, #2563eb, #0891b2) !important;
  color: #fff !important; border: none !important; border-radius: 10px !important;
  font-size: 1rem !important; font-weight: 700 !important; cursor: pointer !important;
  text-decoration: none !important;
}
#pm-app .pm-btn-secondary {
  padding: .45rem 1rem !important; background: none !important;
  border: 1.5px solid #e2e8f0 !important; border-radius: 7px !important;
  font-size: .83rem !important; font-weight: 600 !important; cursor: pointer !important; color: #64748b !important;
}

/* ── TESTMODUS ── */
#pm-app .pm-testmode-bar {
  background: #fefce8 !important; border: 1px solid #fde047 !important;
  border-radius: 8px !important; padding: .65rem 1rem !important;
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  margin-top: 1rem !important; font-size: .83rem !important; font-weight: 600 !important; color: #854d0e !important;
}
#pm-btn-testmode {
  background: #854d0e !important; color: #fff !important; border: none !important;
  padding: .35rem .85rem !important; border-radius: 6px !important;
  font-size: .78rem !important; font-weight: 600 !important; cursor: pointer !important;
}

/* ── BETAALSTAP ── */
#pm-betaalstap { display: flex !important; justify-content: center !important; padding: .5rem 0 1.5rem !important; }
#pm-app .pm-betaal-card {
  background: #fff !important; border: 1px solid #e2e8f0 !important; border-radius: 16px !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.08) !important;
  padding: 2.5rem 2rem !important; max-width: 420px !important; width: 100% !important; text-align: center !important;
}
#pm-app .pm-betaal-icon {
  width: 60px !important; height: 60px !important;
  background: linear-gradient(135deg, #dbeafe, #cffafe) !important;
  border-radius: 50% !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  margin: 0 auto 1.2rem !important; color: #2563eb !important;
}
#pm-app .pm-betaal-card h2 { font-size: 1.25rem !important; font-weight: 700 !important; margin-bottom: .6rem !important; color: #1e293b !important; }
#pm-app .pm-betaal-card > p { font-size: .88rem !important; color: #64748b !important; line-height: 1.6 !important; margin-bottom: 1.3rem !important; }
#pm-app .pm-betaal-bedrag {
  display: flex !important; justify-content: space-between !important; align-items: center !important;
  background: #f8fafc !important; border: 1px solid #e2e8f0 !important; border-radius: 10px !important;
  padding: .9rem 1.2rem !important; margin-bottom: 1.2rem !important;
}
#pm-app .pm-betaal-bedrag span { color: #64748b !important; font-size: .92rem !important; }
#pm-app .pm-betaal-bedrag strong { font-size: 1.4rem !important; font-weight: 800 !important; color: #2563eb !important; }
#pm-btn-ideal {
  display: flex !important; align-items: center !important; justify-content: center !important; gap: .5rem !important;
  width: 100% !important; padding: 1rem !important;
  background: linear-gradient(135deg, #2563eb, #0891b2) !important;
  color: #fff !important; border: none !important; border-radius: 10px !important;
  font-size: 1rem !important; font-weight: 700 !important; cursor: pointer !important; margin-bottom: .7rem !important;
}
#pm-btn-terug {
  width: 100% !important; padding: .7rem !important;
  background: none !important; border: 1.5px solid #e2e8f0 !important; border-radius: 10px !important;
  font-size: .85rem !important; color: #64748b !important; cursor: pointer !important; margin-bottom: 1rem !important;
  display: block !important;
}
#pm-app .pm-betaal-veilig { display: flex !important; align-items: center !important; justify-content: center !important; gap: .35rem !important; font-size: .73rem !important; color: #94a3b8 !important; }

/* ── LOADING ── */
#pm-loading { text-align: center !important; padding: 2.5rem 1rem !important; }
#pm-app .pm-spinner {
  width: 48px !important; height: 48px !important;
  border: 4px solid #e2e8f0 !important; border-top-color: #2563eb !important;
  border-radius: 50% !important; animation: pm-spin .8s linear infinite !important;
  margin: 0 auto .8rem !important;
}
@keyframes pm-spin { to { transform: rotate(360deg); } }
#pm-loading p { color: #64748b !important; font-size: .9rem !important; }

/* ── RESULTATEN ── */
#pm-app .pm-results-header {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  margin-bottom: 1rem !important; flex-wrap: wrap !important; gap: .8rem !important;
}
#pm-app .pm-results-header h3 { font-size: 1.1rem !important; font-weight: 700 !important; color: #1e293b !important; }
#pm-app .pm-betaald-badge {
  display: flex !important; align-items: center !important; gap: .5rem !important;
  background: #f0fdf4 !important; border: 1px solid #bbf7d0 !important; border-radius: 8px !important;
  padding: .65rem 1rem !important; font-size: .83rem !important; font-weight: 600 !important; color: #166534 !important;
  margin-bottom: 1rem !important;
}
#pm-result-cards {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)) !important;
  gap: 1rem !important; margin-bottom: 1.5rem !important;
}
@media (max-width: 480px) {
  #pm-result-cards { grid-template-columns: 1fr !important; }
}
#pm-app .pm-result-card { border: 1px solid #e2e8f0 !important; border-radius: 14px !important; overflow: hidden !important; background: #fff !important; box-shadow: 0 2px 12px rgba(0,0,0,.06) !important; }
#pm-app .pm-result-head {
  background: linear-gradient(135deg, #1e3a8a, #0891b2) !important;
  color: #fff !important; padding: .8rem 1.1rem !important;
  display: flex !important; align-items: center !important; justify-content: space-between !important;
}
#pm-app .pm-result-head .pm-filename { font-size: .85rem !important; font-weight: 600 !important; color: #fff !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; max-width: 200px !important; }
#pm-app .pm-sheet-badge { background: rgba(255,255,255,.2) !important; border-radius: 999px !important; padding: .18rem .65rem !important; font-size: .72rem !important; font-weight: 700 !important; color: #fff !important; white-space: nowrap !important; }
#pm-app .pm-result-body { padding: 1.1rem !important; }
#pm-app .pm-result-img { width: 100% !important; height: 130px !important; object-fit: cover !important; border-radius: 7px !important; margin-bottom: .9rem !important; border: 1px solid #e2e8f0 !important; display: block !important; }
#pm-app .pm-metric-grid { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: .5rem !important; margin-bottom: .8rem !important; }
@media (max-width: 500px) { #pm-app .pm-metric-grid { grid-template-columns: 1fr 1fr !important; } }
#pm-app .pm-rooms-wrap { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; margin-bottom: .7rem !important; }
#pm-app .pm-rooms-table { width: 100% !important; min-width: 360px !important; border-collapse: collapse !important; font-size: .8rem !important; margin-top: .4rem !important; }
#pm-app .pm-rooms-table th { background: #f1f5f9 !important; color: #64748b !important; font-size: .68rem !important; text-transform: uppercase !important; letter-spacing: .04em !important; padding: .45rem .6rem !important; text-align: left !important; font-weight: 700 !important; }
#pm-app .pm-rooms-table td { padding: .45rem .6rem !important; border-bottom: 1px solid #f1f5f9 !important; color: #1e293b !important; }
#pm-app .pm-rooms-table tr:last-child td { border-bottom: none !important; }
#pm-app .pm-rooms-table td:first-child { font-weight: 500 !important; }
#pm-app .pm-metric { background: #f8fafc !important; border: 1px solid #e2e8f0 !important; border-radius: 7px !important; padding: .6rem .8rem !important; }
#pm-app .pm-metric.pm-hl { background: #eff6ff !important; border-color: #bfdbfe !important; }
#pm-app .pm-metric .pm-lbl { font-size: .68rem !important; color: #64748b !important; text-transform: uppercase !important; letter-spacing: .05em !important; margin-bottom: .12rem !important; display: block !important; }
#pm-app .pm-metric .pm-val { font-size: 1.05rem !important; font-weight: 700 !important; color: #1e293b !important; display: block !important; }
#pm-app .pm-metric.pm-hl .pm-val { color: #2563eb !important; }
#pm-app .pm-rooms { margin-bottom: .7rem !important; }
#pm-app .pm-rooms-title { font-size: .72rem !important; font-weight: 700 !important; color: #64748b !important; text-transform: uppercase !important; letter-spacing: .05em !important; margin-bottom: .4rem !important; display: block !important; }
#pm-app .pm-room-row { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: .35rem 0 !important; border-bottom: 1px solid #f1f5f9 !important; font-size: .85rem !important; }
#pm-app .pm-room-row:last-child { border-bottom: none !important; }
#pm-app .pm-room-row strong { font-weight: 500 !important; color: #1e293b !important; }
#pm-app .pm-room-row span { color: #64748b !important; font-size: .82rem !important; }
#pm-app .pm-notes { background: #f0fdf4 !important; border: 1px solid #bbf7d0 !important; border-radius: 7px !important; padding: .6rem .8rem !important; font-size: .8rem !important; color: #166534 !important; line-height: 1.5 !important; }

/* ── UITLEG ── */
#pm-app .pm-uitleg { margin-top: 2.5rem !important; }
#pm-app .pm-uitleg > h2 { font-size: 1.3rem !important; font-weight: 800 !important; margin-bottom: .5rem !important; color: #1e293b !important; }
#pm-app .pm-uitleg-intro { font-size: .9rem !important; color: #64748b !important; margin-bottom: 1.3rem !important; display: block !important; }
#pm-app .pm-uitleg-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 1rem !important; }
@media (max-width: 640px) { #pm-app .pm-uitleg-grid { grid-template-columns: 1fr !important; } }
#pm-app .pm-uitleg-card { background: #fff !important; border: 1px solid #e2e8f0 !important; border-radius: 14px !important; padding: 1.4rem !important; box-shadow: 0 2px 12px rgba(0,0,0,.06) !important; }
#pm-app .pm-uitleg-icon {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  background: linear-gradient(135deg, #dbeafe, #cffafe) !important;
  color: #2563eb !important; font-size: 1rem !important; font-weight: 800 !important;
  width: 46px !important; height: 46px !important; border-radius: 12px !important; margin-bottom: .9rem !important;
}
#pm-app .pm-uitleg-card h3 { font-size: .95rem !important; font-weight: 700 !important; margin-bottom: .55rem !important; color: #1e293b !important; }
#pm-app .pm-uitleg-card p  { font-size: .84rem !important; color: #64748b !important; line-height: 1.6 !important; margin-bottom: .7rem !important; }
#pm-app .pm-voorbeeld { background: #f8fafc !important; border: 1px solid #e2e8f0 !important; border-radius: 8px !important; padding: .65rem .85rem !important; font-size: .82rem !important; line-height: 1.7 !important; margin-bottom: .7rem !important; color: #1e293b !important; }
#pm-app .pm-uitleg-list { padding-left: 1.1rem !important; margin: .4rem 0 .7rem !important; font-size: .84rem !important; color: #64748b !important; line-height: 1.8 !important; }

/* ── MijnVakmanPro balk ──────────────────────────────────────────────────── */
#pm-app .pm-mvp-bar {
  text-align: center !important; padding: 1.2rem !important;
  font-size: .78rem !important; color: #64748b !important;
  border-top: 1px solid #e2e8f0 !important; margin-top: .5rem !important;
}
#pm-app .pm-mvp-bar a { text-decoration: none !important; color: #475569 !important; font-weight: 600 !important; }
#pm-app .pm-mvp-bar a:hover .pm-mvp-logo { background: #1e293b !important; color: #fff !important; }
#pm-app .pm-mvp-logo {
  display: inline-flex !important; align-items: center !important; gap: .15rem !important;
  background: #f1f5f9 !important; border-radius: 6px !important;
  padding: .2rem .5rem !important; font-size: .75rem !important;
  font-weight: 800 !important; letter-spacing: -.3px !important;
  color: #1e293b !important; margin-left: .3rem !important;
  transition: background .15s !important;
}
#pm-app .pm-mvp-accent { color: #f59e0b !important; }

/* ── E-MAILVELD ── */
#pm-app .pm-email-wrap { margin-bottom: 1rem !important; text-align: left !important; }
#pm-app .pm-email-label { display: block !important; font-size: .8rem !important; font-weight: 600 !important; color: #475569 !important; margin-bottom: .4rem !important; }
#pm-app .pm-email-input {
  width: 100% !important; padding: .65rem .9rem !important;
  border: 1.5px solid #cbd5e1 !important; border-radius: 8px !important;
  font-size: .95rem !important; color: #1e293b !important; background: #f8fafc !important;
  box-sizing: border-box !important; outline: none !important;
  transition: border-color .2s !important;
}
#pm-app .pm-email-input:focus { border-color: #2563eb !important; background: #fff !important; }
#pm-app .pm-email-error { font-size: .78rem !important; color: #dc2626 !important; margin: .3rem 0 0 !important; }

/* ── BTW TABEL ── */
#pm-app .pm-betaal-btw-tabel {
  background: #f8fafc !important; border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important; padding: .8rem 1rem !important; margin-bottom: 1.2rem !important;
}
#pm-app .pm-btw-row {
  display: flex !important; justify-content: space-between !important;
  font-size: .88rem !important; color: #64748b !important; padding: .25rem 0 !important;
}
#pm-app .pm-btw-row.pm-btw-total {
  border-top: 1px solid #e2e8f0 !important; margin-top: .4rem !important;
  padding-top: .6rem !important; font-size: 1rem !important; color: #1e293b !important;
}
#pm-app .pm-btw-total strong { font-size: 1.2rem !important; font-weight: 800 !important; color: #2563eb !important; }

/* ── RESULTATEN GRID (website weergave) ── */
.pm-wrap .pm-betaald-badge {
  background:#dcfce7 !important; border:1px solid #86efac !important;
  border-radius:10px !important; padding:.8rem 1.2rem !important;
  color:#15803d !important; font-weight:600 !important; margin-bottom:1.2rem !important;
}
.pm-wrap .pm-totals-grid {
  display:grid !important; grid-template-columns:repeat(4,1fr) !important;
  gap:.8rem !important; margin-bottom:1.2rem !important;
}
@media(max-width:600px){
  .pm-wrap .pm-totals-grid { grid-template-columns:repeat(2,1fr) !important; }
}
.pm-wrap .pm-total-box {
  background:#eff6ff !important; border-radius:10px !important;
  padding:.9rem .8rem !important; text-align:center !important;
}
.pm-wrap .pm-total-val {
  font-size:1.3rem !important; font-weight:800 !important;
  color:#1e3a8a !important; display:block !important;
}
.pm-wrap .pm-total-lbl {
  font-size:.72rem !important; color:#64748b !important;
  text-transform:uppercase !important; letter-spacing:.04em !important;
  margin-top:.2rem !important; display:block !important;
}
.pm-wrap .pm-rooms-wrap { margin-top:.8rem !important; }
.pm-wrap .pm-rooms-label {
  font-size:.78rem !important; font-weight:700 !important;
  text-transform:uppercase !important; color:#64748b !important;
  letter-spacing:.06em !important; margin-bottom:.5rem !important;
}
.pm-wrap .pm-rooms-table {
  width:100% !important; border-collapse:collapse !important; font-size:.82rem !important;
}
.pm-wrap .pm-rooms-table th {
  background:#f1f5f9 !important; padding:6px 8px !important; text-align:left !important;
  border-bottom:2px solid #e2e8f0 !important; color:#64748b !important;
  font-size:.72rem !important; text-transform:uppercase !important;
}
.pm-wrap .pm-rooms-table td {
  padding:6px 8px !important; border-bottom:1px solid #f1f5f9 !important; color:#374151 !important;
}
.pm-wrap .pm-notes {
  font-size:.75rem !important; color:#64748b !important; background:#f8fafc !important;
  border-radius:8px !important; padding:.7rem .9rem !important; margin-top:.8rem !important;
}
.pm-wrap .pm-results-page { max-width:860px !important; margin:0 auto !important; padding:1rem !important; }

/* ── OFFERTECALCULATOR ── */
#pm-app .pm-offerte-calc,.pm-wrap .pm-offerte-calc {
  background:#fff !important; border:2px solid #bfdbfe !important;
  border-radius:16px !important; padding:1.6rem !important;
  margin-top:1.5rem !important; box-shadow:0 2px 16px rgba(37,99,235,.08) !important;
}
#pm-app .pm-calc-header,.pm-wrap .pm-calc-header {
  display:flex !important; align-items:center !important; gap:.9rem !important; margin-bottom:1.2rem !important;
}
#pm-app .pm-calc-icon,.pm-wrap .pm-calc-icon {
  width:46px !important; height:46px !important; flex-shrink:0 !important;
  background:linear-gradient(135deg,#dbeafe,#cffafe) !important;
  border-radius:12px !important; display:flex !important;
  align-items:center !important; justify-content:center !important; color:#2563eb !important;
}
#pm-app .pm-calc-header h3,.pm-wrap .pm-calc-header h3 {
  font-size:1rem !important; font-weight:700 !important; color:#1e293b !important; margin-bottom:.15rem !important;
}
#pm-app .pm-calc-header p,.pm-wrap .pm-calc-header p {
  font-size:.8rem !important; color:#64748b !important; margin:0 !important;
}
#pm-app .pm-calc-table,.pm-wrap .pm-calc-table { margin-bottom:1rem !important; }
#pm-app .pm-calc-head,.pm-wrap .pm-calc-head {
  display:grid !important; grid-template-columns:2fr 1fr 1.4fr 1.2fr !important;
  gap:.5rem !important; font-size:.7rem !important; font-weight:700 !important;
  color:#64748b !important; text-transform:uppercase !important; letter-spacing:.05em !important;
  padding:.4rem .5rem !important; border-bottom:2px solid #e2e8f0 !important; margin-bottom:.3rem !important;
}
#pm-app .pm-calc-row,.pm-wrap .pm-calc-row {
  display:grid !important; grid-template-columns:2fr 1fr 1.4fr 1.2fr !important;
  gap:.5rem !important; align-items:center !important;
  padding:.5rem .5rem !important; border-bottom:1px solid #f1f5f9 !important;
}
#pm-app .pm-calc-row:last-child,.pm-wrap .pm-calc-row:last-child { border-bottom:none !important; }
#pm-app .pm-calc-label,.pm-wrap .pm-calc-label { font-size:.88rem !important; font-weight:500 !important; color:#1e293b !important; }
#pm-app .pm-calc-m2,.pm-wrap .pm-calc-m2 { font-size:.85rem !important; color:#2563eb !important; font-weight:600 !important; }
#pm-app .pm-calc-input-wrap,.pm-wrap .pm-calc-input-wrap {
  display:flex !important; align-items:center !important; gap:.3rem !important;
  background:#f8fafc !important; border:1.5px solid #cbd5e1 !important;
  border-radius:8px !important; padding:.3rem .5rem !important;
}
#pm-app .pm-calc-euro,.pm-wrap .pm-calc-euro { font-size:.85rem !important; color:#64748b !important; }
#pm-app .pm-calc-input,.pm-wrap .pm-calc-input {
  width:100% !important; border:none !important; background:transparent !important;
  font-size:.88rem !important; font-weight:600 !important; color:#1e293b !important;
  outline:none !important; min-width:0 !important;
}
#pm-app .pm-calc-result,.pm-wrap .pm-calc-result {
  font-size:.88rem !important; font-weight:700 !important; color:#2563eb !important; text-align:right !important;
}
/* BTW keuze */
#pm-app .pm-btw-keuze,.pm-wrap .pm-btw-keuze {
  display:flex !important; align-items:center !important; gap:.8rem !important;
  flex-wrap:wrap !important; margin-bottom:.8rem !important;
  padding:.6rem .5rem !important; background:#f8fafc !important;
  border-radius:8px !important; border:1px solid #e2e8f0 !important;
}
#pm-app .pm-btw-label,.pm-wrap .pm-btw-label {
  font-size:.78rem !important; font-weight:700 !important; color:#64748b !important;
  text-transform:uppercase !important; letter-spacing:.04em !important;
}
#pm-app .pm-btw-opt,.pm-wrap .pm-btw-opt {
  display:flex !important; align-items:center !important; gap:.3rem !important;
  font-size:.85rem !important; font-weight:500 !important; color:#1e293b !important;
  cursor:pointer !important;
}
#pm-app .pm-btw-hint,.pm-wrap .pm-btw-hint {
  font-size:.75rem !important; color:#64748b !important; font-weight:400 !important;
}

#pm-app .pm-calc-totals,.pm-wrap .pm-calc-totals {
  background:#f8fafc !important; border:1px solid #e2e8f0 !important;
  border-radius:10px !important; padding:.7rem 1rem !important; margin-bottom:1rem !important;
}
#pm-app .pm-calc-tot-row,.pm-wrap .pm-calc-tot-row {
  display:flex !important; justify-content:space-between !important;
  font-size:.88rem !important; color:#64748b !important; padding:.2rem 0 !important;
}
#pm-app .pm-calc-grand,.pm-wrap .pm-calc-grand {
  border-top:1px solid #e2e8f0 !important; margin-top:.4rem !important;
  padding-top:.5rem !important; font-size:1rem !important; color:#1e293b !important; font-weight:600 !important;
}
#pm-app .pm-calc-grand strong,.pm-wrap .pm-calc-grand strong {
  font-size:1.2rem !important; font-weight:800 !important; color:#1e3a8a !important;
}
#pm-app .pm-btn-print,.pm-wrap .pm-btn-print {
  width:100% !important; padding:.75rem !important;
  background:linear-gradient(135deg,#1e3a8a,#2563eb) !important;
  color:#fff !important; border:none !important; border-radius:10px !important;
  font-size:.9rem !important; font-weight:700 !important; cursor:pointer !important;
}
.pm-wrap .pm-calc-nieuw { margin-top:1.2rem !important; text-align:center !important; }
@media(max-width:600px){
  #pm-app .pm-calc-head,.pm-wrap .pm-calc-head,
  #pm-app .pm-calc-row,.pm-wrap .pm-calc-row {
    grid-template-columns:1fr 1fr !important;
  }
}
@media print {
  #pm-app .pm-hero,#pm-app .pm-steps,#pm-app .pm-upload-card,
  #pm-app .pm-betaalstap,#pm-app .pm-loading,#pm-app .pm-uitleg,
  #pm-app .pm-mvp-bar,.pm-btn-print,.pm-calc-nieuw { display:none !important; }
}

/* ── MARGE DISCLAIMER ── */
#pm-app .pm-betaal-marge {
  font-size:.76rem !important; color:#92400e !important;
  background:#fffbeb !important; border:1px solid #fcd34d !important;
  border-radius:8px !important; padding:.5rem .8rem !important;
  margin-bottom:.6rem !important; text-align:center !important;
}
