/* Small additions for the static rebuild (everything else is the original compiled stylesheet). */
html { scroll-behavior: smooth; }
section[id], [id="landowners"], [id="members"] { scroll-margin-top: 6rem; }
[hidden] { display: none !important; }

/* Native dropdowns styled like the original shadcn select */
.ognc-select {
  appearance: none; -webkit-appearance: none; cursor: pointer;
  padding-right: 2rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23958e82' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .6rem center; background-size: 1rem;
  text-overflow: ellipsis;
}
.ognc-select:invalid, .ognc-select.is-empty { color: var(--muted-foreground); }
.ognc-select option { color: var(--foreground); background: var(--background); }

/* Native checkboxes styled like the original */
.ognc-check { width: 1rem; height: 1rem; flex-shrink: 0; accent-color: var(--primary); cursor: pointer; }

/* Highlight a field the user still needs to fill in */
.ognc-invalid { border-color: var(--destructive) !important; box-shadow: 0 0 0 3px color-mix(in oklab, var(--destructive) 20%, transparent); }

/* Spam honeypot – never visible */
.ognc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

/* Club document modals */
.doc-panel { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: min(42rem, calc(100% - 2rem)); max-height: 90vh; animation: ognc-zoom .2s ease-out; }
.doc-scroll { max-height: 70vh; overflow-y: auto; }
.doc-modal > .fixed.inset-0 { animation: ognc-fade .2s ease-out; }
@keyframes ognc-zoom { from { opacity: 0; transform: translate(-50%, -50%) scale(.95); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
@keyframes ognc-fade { from { opacity: 0; } to { opacity: 1; } }
body.ognc-lock { overflow: hidden; }

/* Keep the 4-step form inside narrow phone screens */
#landowner-form .grid > * { min-width: 0; }
@media (max-width: 480px) {
  #landowner-form { padding: 1.25rem; }
  #landowner-form [data-line] { width: 1.25rem; margin-left: .35rem; margin-right: .35rem; }
  #landowner-form .grid.grid-cols-2.gap-3 { grid-template-columns: 1fr; }
}
