/* exhibitor-form.css — auto-loaded by includes/header.php for exhibitor-form.php */

.exh-form-wrap { padding: 70px 0 90px; background: #0b0f19; color: #e8ecf5; }
.exh-form-title { font-size: clamp(1.9rem, 4vw, 2.8rem); font-weight: 800; color: #fff; margin-bottom: .5rem; }
.exh-form-sub { color: #9fb0c9; max-width: 44rem; margin: 0 auto 2.6rem; line-height: 1.65; }

.exh-form { background: #121a2b; border: 1px solid #1e2a42; border-radius: 14px; padding: 2rem; }

.exh-fieldset { border: 0; padding: 0; margin: 0 0 2.2rem; }
.exh-fieldset legend {
  font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: #FFD700; padding: 0 0 .9rem; margin: 0; width: 100%; border-bottom: 1px solid #1e2a42;
}
.exh-fieldset legend .hint { color: #7d8ca6; font-weight: 400; letter-spacing: 0; text-transform: none; }

.exh-note { color: #8b9bb4; font-size: .87rem; margin: 1rem 0 .4rem; }

.exh-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.15rem 1.4rem; margin-top: 1.3rem; }
.exh-col-2 { grid-column: 1 / -1; }
@media (max-width: 640px) { .exh-grid { grid-template-columns: 1fr; } }

.exh-field label { display: block; font-size: .9rem; font-weight: 600; color: #cfd9e8; margin-bottom: .45rem; }
.exh-field .req  { color: #ff6b6b; }
.hint { font-size: .8rem; color: #7d8ca6; font-weight: 400; }
.exh-field .hint { display: inline; }

.exh-field input[type=text],
.exh-field input[type=email],
.exh-field input[type=tel],
.exh-field input[type=url],
.exh-field input[type=search],
.exh-field select,
.exh-field textarea {
  width: 100%; background: #0b1120; border: 1px solid #24334d; border-radius: 8px;
  color: #eef2f8; padding: .72rem .85rem; font-size: .95rem; font-family: inherit;
  transition: border-color .15s, box-shadow .15s;
}
.exh-field textarea { resize: vertical; line-height: 1.6; }
.exh-field input:focus, .exh-field select:focus, .exh-field textarea:focus {
  outline: 0; border-color: #FFD700; box-shadow: 0 0 0 3px rgba(255, 215, 0, .13);
}
.exh-field input::placeholder, .exh-field textarea::placeholder { color: #5a6b85; }
.exh-field input[type=file] { width: 100%; color: #9fb0c9; font-size: .88rem; padding: .5rem 0; }
.exh-field input[type=file]::file-selector-button {
  background: #1e2a42; border: 0; color: #dfe7f3; padding: .5rem .95rem;
  border-radius: 6px; margin-right: .8rem; cursor: pointer; font-family: inherit;
}

.exh-checks { display: flex; flex-wrap: wrap; gap: .55rem .8rem; margin-top: .3rem; }
.exh-check { display: flex; align-items: flex-start; gap: .5rem; font-weight: 400 !important; cursor: pointer; }
.exh-check input { accent-color: #FFD700; margin-top: .18rem; flex: none; }
.exh-checks .exh-check {
  background: #0b1120; border: 1px solid #24334d; border-radius: 999px;
  padding: .42rem .9rem; font-size: .87rem; margin-bottom: 0;
}
.exh-checks .exh-check:has(input:checked) { border-color: #FFD700; background: rgba(255, 215, 0, .08); }

.exh-product { border: 1px solid #1c2740; border-radius: 10px; padding: 1.1rem 1.3rem 1.4rem; margin-top: 1.1rem; position: relative; }
.exh-product-no {
  position: absolute; top: -.72rem; left: 1.2rem; background: #FFD700; color: #0b0f19;
  width: 1.5rem; height: 1.5rem; border-radius: 50%; display: grid; place-items: center;
  font-size: .78rem; font-weight: 800;
}
.exh-product .exh-grid { margin-top: .6rem; }

/* Remove button on each product row. */
.exh-product-remove {
  position: absolute; top: -.72rem; right: 1rem;
  width: 1.5rem; height: 1.5rem; border-radius: 50%;
  background: #1e2a42; border: 1px solid #2c3a56; color: #9fb0c9;
  font-size: 1rem; line-height: 1; cursor: pointer; padding: 0;
  display: grid; place-items: center; transition: background .15s, color .15s, border-color .15s;
}
.exh-product-remove:hover { background: #3a1f26; border-color: #7a3542; color: #ff9b9b; }

/* Add-another-product button. */
.exh-add-product {
  display: inline-flex; align-items: center; gap: .55rem;
  margin-top: 1.2rem; padding: .6rem 1.3rem .6rem .9rem;
  background: transparent; border: 1px dashed #2c3a56; border-radius: 999px;
  color: #cfd9e8; font-family: inherit; font-size: .9rem; font-weight: 600;
  cursor: pointer; transition: border-color .15s, color .15s, background .15s;
}
.exh-add-product:hover { border-color: #FFD700; color: #FFD700; background: rgba(255, 215, 0, .06); }
.exh-add-product[hidden] { display: none; }
.exh-plus {
  display: grid; place-items: center;
  width: 1.35rem; height: 1.35rem; border-radius: 50%;
  background: #FFD700; color: #0b0f19; font-size: 1rem; font-weight: 800; line-height: 1;
}
.exh-add-product:hover .exh-plus { background: #FFD700; }

/* Recommended-size hints under the file inputs. */
.exh-size { margin-top: .45rem; line-height: 1.5; }
.exh-size strong { color: #FFD700; font-weight: 700; }

.exh-submit-row { border-top: 1px solid #1e2a42; padding-top: 1.6rem; }
.exh-consent { font-size: .88rem; color: #b6c4d8; line-height: 1.55; margin-bottom: 1.3rem; }
.exh-live-note { margin-top: .8rem; }

.exh-btn {
  display: inline-block; background: #FFD700; color: #0b0f19; border: 0; border-radius: 999px;
  padding: .85rem 2.3rem; font-weight: 700; font-size: .98rem; cursor: pointer;
  text-decoration: none; transition: transform .12s, box-shadow .15s;
}
.exh-btn:hover { transform: translateY(-1px); box-shadow: 0 8px 22px rgba(255, 215, 0, .22); color: #0b0f19; }
.exh-btn:disabled { opacity: .55; cursor: default; transform: none; box-shadow: none; }
.exh-btn-sm { padding: .6rem 1.5rem; font-size: .88rem; }
.exh-btn-ghost { background: transparent; border: 1px solid #FFD700; color: #FFD700; }
.exh-btn-ghost:hover { background: rgba(255, 215, 0, .1); color: #FFD700; }

.exh-alert { border-radius: 10px; padding: 1rem 1.25rem; margin-bottom: 1.6rem; font-size: .92rem; line-height: 1.6; }
.exh-alert ul { margin: .5rem 0 0; padding-left: 1.15rem; }
.exh-alert-error { background: rgba(255, 92, 92, .1); border: 1px solid rgba(255, 92, 92, .4); color: #ffc9c9; }
.exh-alert-ok    { background: rgba(64, 200, 120, .1); border: 1px solid rgba(64, 200, 120, .4); color: #b9f0cf; }

/* Honeypot — off-screen rather than display:none, which some bots detect. */
.exh-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }