/* JP Insurance & Tax Calculator - Styles */
.jpitc-container { 
  max-width: 980px; margin: 24px auto; padding: 20px;
  background: #ffffff; border-radius: 16px; border: 1px solid #e9ecef;
  box-shadow: 0 10px 30px rgba(0,0,0,.06); font-family: system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
}
.jpitc-header { text-align:center; margin-bottom: 16px; }
.jpitc-header h2 { margin: 0 0 4px; font-size: 28px; }
.jpitc-header p { color:#5f6b7b; margin: 0; }

.jpitc-form { margin-top: 16px; }
.jpitc-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:16px; }
@media (max-width: 880px){ .jpitc-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .jpitc-grid{ grid-template-columns: 1fr; } }

.jpitc-field label { display:block; font-weight:600; margin-bottom:6px; color:#394556; }
.jpitc-field input, .jpitc-field select {
  width: 100%; padding: 11px 12px; border:1px solid #d6dde6; border-radius:10px; font-size:15px; outline:none;
}
.jpitc-field input:focus, .jpitc-field select:focus { border-color:#6b8afd; box-shadow: 0 0 0 3px rgba(107,138,253,.15); }

.jpitc-actions { display:flex; gap:12px; justify-content:center; margin: 14px 0 6px; }
.jpitc-btn {
  padding: 12px 18px; border-radius: 999px; background: linear-gradient(135deg,#6b8afd,#5ad1f7);
  color:white; border:none; font-weight:700; letter-spacing:.2px; cursor:pointer; transition: transform .06s ease;
}
.jpitc-btn:hover { transform: translateY(-1px); }
.jpitc-btn.ghost { background: transparent; border:1px solid #b4c1ed; color:#3a4a7a; }

.jpitc-results { margin-top: 22px; }
.jpitc-cards { display:grid; grid-template-columns: repeat(3,1fr); gap:16px; }
@media (max-width: 880px){ .jpitc-cards{ grid-template-columns: 1fr; } }
.jpitc-card {
  border:1px solid #ebeff5; border-radius:12px; padding:16px; background:#fafcff;
}
.jpitc-card h3 { margin: 2px 0 10px; font-size: 18px; }
.jpitc-row { display:flex; align-items:center; justify-content:space-between; padding:8px 0; border-bottom:1px dashed #e3e9f5; }
.jpitc-row:last-child { border-bottom:none; }
.jpitc-row.total strong { font-size: 18px; }

.jpitc-explanation { margin-top: 18px; padding:16px; background:#f7fbff; border:1px solid #e2efff; border-radius:12px; }
.jpitc-explanation h3 { margin-top: 0; }
.jpitc-explainer-body { white-space: pre-wrap; line-height:1.5; }
.jpitc-note { color:#6b7280; font-size: 14px; margin-top: 10px; }
