/* ===== Goulburn CCS Calculator – Base Styles ===== */
.gccs-card {
  --gccs-border:#e5e7eb; --gccs-muted:#6b7280; --gccs-primary:#2563eb;
  --gccs-bg:#fff; --gccs-bg-soft:#f9fafb; --gccs-text:#111827;
  max-width: 760px; margin: 1rem 0; padding: 1.25rem;
  border: 1px solid var(--gccs-border); border-radius: 12px; background: var(--gccs-bg);
  color: var(--gccs-text); font: 400 16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,"Helvetica Neue",Arial;
}
.gccs-title { margin: 0 0 1rem; font-size: 1.25rem; font-weight: 700; }
.gccs-form { margin: 0; }
.gccs-grid { display: grid; gap: .9rem; grid-template-columns: repeat(2, minmax(0,1fr)); }
.gccs-grid label { display: flex; flex-direction: column; gap: .35rem; font-size: .95rem; }
.gccs-grid span { color: #374151; }
.gccs-inp {
  padding: .55rem .65rem; border: 1px solid #d1d5db; border-radius: 8px; background:#fff;
  outline: none; transition: box-shadow .15s, border-color .15s;
}
.gccs-inp:focus { border-color: var(--gccs-primary); box-shadow: 0 0 0 3px rgba(37,99,235,.15); }
.gccs-btn {
  margin-top: 1rem; padding: .65rem 1.1rem; border: 0; border-radius: 8px;
  background: var(--gccs-primary); color: #fff; cursor: pointer; font-weight: 600;
}
.gccs-btn:hover { filter: brightness(.95); }
.gccs-hr { border: none; border-top: 1px solid var(--gccs-border); margin: 1rem 0; }
.gccs-result p { margin: .35rem 0; }
.gccs-note { font-size: .9rem; color: var(--gccs-muted); margin-top: .5rem; }

/* Compact labels on small screens */
@media (max-width: 680px) {
  .gccs-grid { grid-template-columns: 1fr; }
}

/* Theme guardrails (prevent theme forms from overriding) */
.gccs-card input.gccs-inp, .gccs-card select.gccs-inp { width: 100%; appearance: none; }
.gccs-card select.gccs-inp { background-image: linear-gradient(45deg, transparent 50%, #9ca3af 50%),
  linear-gradient(135deg, #9ca3af 50%, transparent 50%); background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; }
