/* IHEC Registration — scoped front-end styles */
.ihec-reg {
  --ih-ink: #0a0e1a;
  --ih-gold: #c8a84b;
  --ih-gold-dim: #9b7e34;
  --ih-rule: #e0ddd6;
  --ih-off: #f5f4f0;
  --ih-grey: #5a5650;
  --ih-err: #b3261e;
  --ih-mono: 'Space Mono', ui-monospace, Menlo, Consolas, monospace;
  --ih-sans: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color: var(--ih-ink);
  font-family: var(--ih-sans);
  max-width: 1000px;
}
.ihec-reg * { box-sizing: border-box; }
.ihec-reg .ihec-h {
  font-family: var(--ih-mono); font-size: 13px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ih-gold-dim); margin: 0 0 18px; padding-bottom: 12px; border-bottom: 1px solid var(--ih-ink);
}
.ihec-note { font-size: 15px; color: var(--ih-grey); }

.ihec-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ihec-card { border: 1px solid var(--ih-rule); padding: 24px; display: flex; flex-direction: column; }
.ihec-card-name { font-size: 22px; font-weight: 600; margin-bottom: 8px; }
.ihec-card-desc { font-size: 14px; color: var(--ih-grey); line-height: 1.6; margin-bottom: 20px; }
.ihec-stepper { margin-top: auto; display: inline-flex; align-items: center; border: 1px solid var(--ih-rule); width: max-content; }
.ihec-stepper button { width: 42px; height: 42px; border: none; background: var(--ih-off); font-family: var(--ih-mono); font-size: 18px; cursor: pointer; color: var(--ih-ink); }
.ihec-stepper button:hover:not(:disabled) { background: var(--ih-ink); color: var(--ih-gold); }
.ihec-stepper button:disabled { opacity: .35; cursor: not-allowed; }
.ihec-stepper .count { width: 48px; text-align: center; font-family: var(--ih-mono); font-weight: 700; }

.ihec-summary { margin-top: 26px; border: 1px solid var(--ih-ink); padding: 22px 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.ihec-sum-list { font-size: 14px; color: var(--ih-grey); margin-bottom: 6px; }
.ihec-sum-total { font-family: var(--ih-mono); font-size: 13px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.ihec-cap { display: none; color: var(--ih-err); font-size: 13px; margin-top: 6px; }

.ihec-btn { font-family: var(--ih-mono); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ih-ink); background: var(--ih-gold); border: 2px solid var(--ih-gold); padding: 14px 30px; cursor: pointer; }
.ihec-btn:hover { background: transparent; }
.ihec-btn:disabled { opacity: .4; cursor: not-allowed; }

.ihec-attendees { margin-top: 40px; }
.ihec-stale { display: none; color: var(--ih-err); font-size: 13px; margin-bottom: 16px; }
.ihec-attendees.stale .ihec-stale { display: block; }

.ihec-att { border: 1px solid var(--ih-rule); margin-bottom: 22px; }
.ihec-att-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 22px; background: var(--ih-ink); }
.ihec-att-no { font-family: var(--ih-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--ih-gold); }
.ihec-att-fee { font-family: var(--ih-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.7); border: 1px solid rgba(200,168,75,.4); padding: 5px 10px; }
.ihec-att-body { padding: 24px 22px; }
.ihec-fgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 26px; }
.ihec-f--full { grid-column: 1 / -1; }
.ihec-pres { grid-column: 1 / -1; border-top: 1px solid var(--ih-rule); margin-top: 6px; padding-top: 20px; }
.ihec-pres-l { font-family: var(--ih-mono); font-size: 10px; letter-spacing: .15em; text-transform: uppercase; color: var(--ih-gold-dim); margin-bottom: 16px; }

.ihec-f { margin-bottom: 18px; }
.ihec-f > label { display: block; font-family: var(--ih-mono); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var(--ih-gold-dim); margin-bottom: 8px; }
.ihec-f .req { color: var(--ih-err); }
.ihec-f input[type=text], .ihec-f input[type=email], .ihec-f input[type=tel], .ihec-f select {
  width: 100%; font-family: var(--ih-sans); font-size: 15px; color: var(--ih-ink); background: #fff; border: 1px solid var(--ih-rule); padding: 11px 13px;
}
.ihec-f input:focus, .ihec-f select:focus { outline: none; border-color: var(--ih-gold); }
.ihec-fmsg { font-size: 12px; color: var(--ih-err); margin-top: 6px; display: none; }
.ihec-f.invalid input, .ihec-f.invalid select { border-color: var(--ih-err); background: #fdf3f2; }
.ihec-f.invalid .ihec-fmsg { display: block; }

.ihec-seg { display: inline-flex; border: 1px solid var(--ih-rule); margin-bottom: 10px; }
.ihec-seg label { font-family: var(--ih-mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; padding: 9px 16px; cursor: pointer; color: var(--ih-grey); }
.ihec-seg label.on { background: var(--ih-ink); color: var(--ih-gold); }
.ihec-seg input { display: none; }

label.ihec-check { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; color: var(--ih-grey); line-height: 1.6; }
label.ihec-check input { margin-top: 3px; width: 18px; height: 18px; flex-shrink: 0; }
.ihec-consent-bad { color: var(--ih-err); }

.ihec-review { border: 1px solid var(--ih-rule); background: var(--ih-off); padding: 26px; }
.ihec-actions { margin-top: 20px; display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.ihec-msg { display: none; color: var(--ih-err); font-size: 14px; }
.ihec-done { display: none; margin-top: 22px; border: 1px solid var(--ih-gold-dim); background: rgba(200,168,75,.08); padding: 22px 26px; font-size: 15px; line-height: 1.7; }

@media (max-width: 782px) {
  .ihec-grid { grid-template-columns: 1fr; }
  .ihec-fgrid { grid-template-columns: 1fr; }
  .ihec-summary { flex-direction: column; align-items: flex-start; }
}

/* Self-view */
.ihec-myrow { border: 1px solid var(--ih-rule); margin-bottom: 18px; }
.ihec-myrow-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 20px; background: var(--ih-ink); }
.ihec-ref { font-family: var(--ih-mono); font-size: 13px; letter-spacing: .1em; color: var(--ih-gold); }
.ihec-status { font-family: var(--ih-mono); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; padding: 5px 10px; border: 1px solid rgba(255,255,255,.3); color: #fff; }
.ihec-status.is-paid { color: var(--ih-gold); border-color: var(--ih-gold); }
.ihec-mygrid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--ih-rule); border-left: 1px solid var(--ih-rule); }
.ihec-cell { padding: 16px 20px; border-right: 1px solid var(--ih-rule); border-bottom: 1px solid var(--ih-rule); }
.ihec-cell-l { display: block; font-family: var(--ih-mono); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var(--ih-gold-dim); margin-bottom: 6px; }
.ihec-cell-v { font-size: 15px; font-weight: 600; }
@media (max-width: 782px) { .ihec-mygrid { grid-template-columns: 1fr; } }
