/*
  Owner registration on the homepage system. home.css supplies the shell (nav, type, CTA,
  steps, panel, FAQ, footer, Dink motion); this file only adds the form card and fields.
  The card takes the hero product-card slot: Dink peeks over it exactly as on the homepage.
*/
.reg-stage { position: relative; width: min(760px, calc(100% - 24px)); margin: 56px auto 0; padding-top: 204px; }
.reg-dink { position: absolute; left: 50%; top: 8px; width: 280px; height: 280px; transform: translateX(-62%); z-index: 1; overflow: visible; }
.reg-hands { position: absolute; top: 196px; left: 50%; width: 180px; height: 34px; transform: translateX(-38%); z-index: 3; pointer-events: none; }
.reg-dink .dink-peek { animation: peek 0.9s var(--ease) 0.15s both; }

.form-card {
  position: relative; z-index: 2; text-align: left; background: var(--card); border: 1px solid var(--line);
  border-radius: var(--r-xl); box-shadow: var(--shadow-float); padding: 32px 32px 28px; scroll-margin-top: 110px;
}
.form-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.form-head h2 { font-size: 28px; line-height: 34px; }
.form-head p { margin: 8px 0 0; color: var(--body); font-size: 16px; line-height: 24px; }
.form-time { flex: none; display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: var(--r-pill); background: var(--lime-tint); color: var(--forest-700); font-size: 13px; font-weight: 600; }

#ownerRegistrationForm { font-size: 15px; line-height: 22px; }
#ownerRegistrationForm fieldset { margin: 0; padding: 24px 0; border: 0; border-bottom: 1px solid var(--line); min-width: 0; }
#ownerRegistrationForm legend { display: flex; align-items: center; gap: 10px; padding: 0; margin-bottom: 16px; font-size: 18px; line-height: 24px; font-weight: 600; color: var(--ink); }
#ownerRegistrationForm legend::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--lime-2); box-shadow: 0 0 0 4px var(--lime-tint); }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 14px; }
.field-grid .full { grid-column: 1 / -1; }
#ownerRegistrationForm label { display: grid; gap: 7px; font-size: 14px; line-height: 20px; font-weight: 500; color: var(--ink-2); min-width: 0; }
#ownerRegistrationForm input:not([type="checkbox"]):not([type="hidden"]),
#ownerRegistrationForm select,
#ownerRegistrationForm textarea {
  width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid var(--line-2); border-radius: var(--r); background: #fff;
  color: var(--ink); font: inherit; font-size: 15px; font-weight: 400; transition: border-color 0.15s, box-shadow 0.15s;
}
#ownerRegistrationForm textarea { min-height: 112px; padding: 12px 14px; resize: vertical; line-height: 22px; }
#ownerRegistrationForm select {
  appearance: none; padding-right: 40px; cursor: pointer;
  background: #fff url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 1.5L6 6L10.5 1.5' stroke='%23075f42' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center;
}
#ownerRegistrationForm ::placeholder { color: var(--faint); }
#ownerRegistrationForm input:focus, #ownerRegistrationForm select:focus, #ownerRegistrationForm textarea:focus { outline: 0; border-color: var(--forest-700); box-shadow: 0 0 0 3px rgba(7, 95, 66, 0.12); }

/* Sports and consent: pill toggles, like the homepage chips */
.check-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
#ownerRegistrationForm label.check { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 14px; border: 1px solid var(--line-2); border-radius: var(--r); background: #fff; color: var(--ink); cursor: pointer; transition: background-color 0.15s, border-color 0.15s; }
#ownerRegistrationForm label.check:hover { background: var(--panel); }
#ownerRegistrationForm label.check:has(input:checked) { background: var(--lime-tint); border-color: rgba(7, 95, 66, 0.3); }
#ownerRegistrationForm label.check.full { min-height: 0; padding: 14px; align-items: flex-start; line-height: 22px; }
#ownerRegistrationForm input[type="checkbox"] { width: 18px; height: 18px; margin: 2px 0 0; flex: none; accent-color: var(--forest-700); }

.account-note { grid-column: 1 / -1; display: flex; gap: 14px; align-items: flex-start; padding: 16px; border-radius: var(--r); background: var(--panel); }
.account-note b { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: var(--r); background: var(--forest-950); color: var(--lime); font-size: 13px; }
.account-note strong { display: block; color: var(--ink); font-size: 15px; }
.account-note span { display: block; margin-top: 2px; color: var(--body); font-size: 14px; line-height: 21px; }

#ownerRegistrationForm .actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-top: 24px; }
#ownerRegistrationForm .button { display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 0 32px; border: 0; border-radius: var(--r-pill); font: inherit; font-size: 17px; font-weight: 600; cursor: pointer; text-decoration: none; }
#ownerRegistrationForm .button:not(.secondary) { background: linear-gradient(90deg, #9fe04a 0%, #c6ee5c 55%, var(--lime) 100%); color: var(--forest-950); box-shadow: 0 10px 28px var(--lime-glow), 0 2px 0 rgba(255, 255, 255, 0.6) inset, 0 -2px 0 rgba(6, 31, 22, 0.08) inset; transition: transform 0.2s var(--ease); }
#ownerRegistrationForm .button:not(.secondary):hover { transform: translateY(-1px); }
#ownerRegistrationForm .button.secondary { min-height: 48px; padding: 0 20px; background: #fff; border: 2px solid var(--forest-700); color: var(--ink); font-size: 16px; }
#ownerRegistrationForm .button.secondary:hover { background: var(--forest-700); color: #fff; }
#ownerRegistrationForm .button:disabled { opacity: 0.6; cursor: progress; transform: none; }
#ownerRegistrationForm .status { margin: 16px 0 0; font-size: 14px; line-height: 21px; color: var(--muted); }
#ownerRegistrationForm .status[data-kind="error"] { color: #b42318; }
#ownerRegistrationForm .status[data-kind="success"] { color: var(--good); font-weight: 600; }
#claimBanner { border-radius: var(--r) !important; }
#venuePinMap { border-radius: var(--r) !important; border-color: var(--line-2) !important; }

/* Owner tools: six features in the grey panel */
.tools-panel { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 28px; }
.tools-panel .feature p { margin-bottom: 0; }

/* Two equal columns of plain guidance lists */
.split-even { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 56px; }
.split-even h2 { font-size: 32px; line-height: 40px; }
.split-even p { font-size: 17px; line-height: 26px; }
.split-points svg { color: var(--forest-700); }

@media (max-width: 1024px) { .split-even { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .reg-stage { margin-top: 36px; padding-top: 156px; }
  .reg-dink { width: 210px; height: 210px; top: 6px; }
  .reg-hands { top: 150px; width: 136px; height: 26px; }
  .form-card { padding: 22px 18px 20px; border-radius: var(--r-lg); }
  .form-head { flex-direction: column; gap: 10px; }
  .form-head h2 { font-size: 24px; line-height: 30px; }
  .field-grid { grid-template-columns: minmax(0, 1fr); }
  .check-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #ownerRegistrationForm .actions .button { width: 100%; }
  #ownerRegistrationForm input:not([type="checkbox"]), #ownerRegistrationForm select, #ownerRegistrationForm textarea { font-size: 16px; }
  .tools-panel { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .reg-dink .dink-peek { animation: none; } }
.hero h1 { text-wrap: balance; }

/* ---------- /business/register (same card, a shorter form) ---------- */
.inline-link { color: var(--forest-700); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; width: min(760px, 100%); margin: 40px auto 0; text-align: left; }
.path-card { display: flex; align-items: center; gap: 14px; padding: 18px; border: 1px solid var(--line); border-radius: var(--r-lg); background: #fff; box-shadow: var(--shadow-card); transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease); }
.path-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-float); }
.path-card strong { display: block; font-size: 17px; line-height: 24px; color: var(--ink); }
.path-card small { display: block; margin-top: 2px; font-size: 14px; line-height: 20px; color: var(--body); }
.path-card em { margin-left: auto; color: var(--forest-700); flex: none; }
.path-card em svg { width: 20px; height: 20px; }
.path-ic { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: var(--r); background: var(--lime-tint); color: var(--forest-700); }
.path-ic svg { width: 18px; height: 18px; }
.paths + .reg-stage { margin-top: 40px; }

#businessIntakeForm { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 14px; padding-top: 22px; font-size: 15px; }
#businessIntakeForm .wide { grid-column: 1 / -1; }
#businessIntakeForm label { display: grid; gap: 7px; font-size: 14px; line-height: 20px; font-weight: 500; color: var(--ink-2); min-width: 0; }
#businessIntakeForm input, #businessIntakeForm select, #businessIntakeForm textarea {
  width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid var(--line-2); border-radius: var(--r); background: #fff;
  color: var(--ink); font: inherit; font-size: 15px; font-weight: 400; transition: border-color 0.15s, box-shadow 0.15s;
}
#businessIntakeForm textarea { min-height: 112px; padding: 12px 14px; resize: vertical; line-height: 22px; }
#businessIntakeForm select {
  appearance: none; padding-right: 40px; cursor: pointer;
  background: #fff url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 1.5L6 6L10.5 1.5' stroke='%23075f42' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center;
}
#businessIntakeForm ::placeholder { color: var(--faint); }
#businessIntakeForm input:focus, #businessIntakeForm select:focus, #businessIntakeForm textarea:focus { outline: 0; border-color: var(--forest-700); box-shadow: 0 0 0 3px rgba(7, 95, 66, 0.12); }
.form-card .form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-top: 24px; }
.form-card .form-actions .button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 20px; border-radius: var(--r-pill); font: inherit; font-size: 16px; font-weight: 600; cursor: pointer; text-decoration: none; background: #fff; border: 2px solid var(--forest-700); color: var(--ink); }
.form-card .form-actions .button:hover { background: var(--forest-700); color: #fff; }
.form-card .form-actions .button.primary { min-height: 56px; padding: 0 32px; border: 0; font-size: 17px; background: linear-gradient(90deg, #9fe04a 0%, #c6ee5c 55%, var(--lime) 100%); color: var(--forest-950); box-shadow: 0 10px 28px var(--lime-glow), 0 2px 0 rgba(255, 255, 255, 0.6) inset, 0 -2px 0 rgba(6, 31, 22, 0.08) inset; transition: transform 0.2s var(--ease); }
.form-card .form-actions .button.primary:hover { transform: translateY(-1px); background: linear-gradient(90deg, #9fe04a 0%, #c6ee5c 55%, var(--lime) 100%); color: var(--forest-950); }
.form-card > .status { margin: 16px 0 0; font-size: 14px; line-height: 21px; color: var(--muted); }
.form-card > .status.show { color: var(--forest-700); font-weight: 600; }
@media (max-width: 760px) {
  .paths { grid-template-columns: 1fr; }
  #businessIntakeForm { grid-template-columns: minmax(0, 1fr); }
  #businessIntakeForm input, #businessIntakeForm select, #businessIntakeForm textarea { font-size: 16px; }
  .form-card .form-actions .button { width: 100%; }
}
