/* Frontend styles for Budget Configurator forms */

.bc-form { max-width: 760px; margin: 0 auto; display: grid; grid-template-columns: auto 1fr; }
.bc-form .bc-field { padding: 0.75rem; display: grid; grid-template-columns: subgrid; grid-column: span 2; gap: 1.5rem; }
.bc-form .bc-field h3 { grid-column: span 2; margin: 0; padding-bottom: 1rem; border-bottom: 1px solid #aaa; }
.bc-form label { display: inline-block; text-align: right; align-content: center; }
.bc-form input[type="text"], .bc-form input[type="number"], .bc-form input[type="email"], .bc-form select, .bc-form textarea { width: 100%; box-sizing: border-box; padding: 0.5rem; border: 1px solid #ccc; border-radius: 3px; font-family: inherit; font-size: 1rem; transition: none; }
.bc-form .bc-field .bc-static { background: #fafafa; padding: 1.5rem; border: 1px solid #f0f0f0; border-radius: 3px }
.bc-form .bc-error { color:#b00020; margin:0.5rem 0 }
.bc-form .bc-success { color:#007a2f; margin:0.5rem 0 }
.bc-form .bc-footer { grid-column: span 2; text-align: right; display: grid; grid-template-columns: auto 1fr; gap: 0 1.5rem; margin-top: 3rem; padding-top: 3rem; border-top: 1px solid #aaa; }
.bc-form .button { grid-column: span 2; }
.bc-form button { background: #0073aa; color: #fff; border: none; margin-top: 2rem; padding: 0.5rem 1.5rem; border-radius: 3px; cursor: pointer; font-family: inherit; font-size: 1rem; }
.bc-form button:hover { background:#00608f }

@media (max-width:600px){
  .bc-form, .bc-form .bc-field, .bc-form .bc-footer { display: block; }
  .bc-form label { margin-bottom: 0.5rem; }
  .bc-form .bc-field h3 { margin: 1rem 0 3rem; }
  .bc-form .checkbox { display: inline-block; margin-left: 1rem; }
}
