/* Glensara Events — forms (partner, vendor, contact) */

.ge-form{ max-width:780px; margin-inline:auto; }
.ge-form__row{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--ge-gap); }
.ge-field{ margin-bottom:var(--ge-gap); }

.ge-field__label{
  display:block; font-size:14px; font-weight:700; letter-spacing:.04em;
  text-transform:uppercase; color:var(--ge-gold); margin-bottom:8px;
}
.ge-field__req{ color:var(--ge-orange); }

.ge-field input[type=text],
.ge-field input[type=email],
.ge-field input[type=tel],
.ge-field select,
.ge-field textarea{
  width:100%; font-family:var(--ge-font-body); font-size:1rem; color:var(--ge-text);
  background:var(--ge-bg-card); padding:14px 16px; border:1px solid var(--ge-border);
  border-radius:var(--ge-radius); transition:border-color var(--ge-transition), box-shadow var(--ge-transition);
}
.ge-field textarea{ min-height:150px; resize:vertical; }
.ge-field input::placeholder,.ge-field textarea::placeholder{ color:var(--ge-text-muted); }

.ge-field select{
  appearance:none; -webkit-appearance:none; padding-right:44px;
  background-image:linear-gradient(45deg,transparent 50%,var(--ge-gold) 50%),
                   linear-gradient(135deg,var(--ge-gold) 50%,transparent 50%);
  background-position:calc(100% - 20px) center, calc(100% - 14px) center;
  background-size:6px 6px, 6px 6px; background-repeat:no-repeat;
}
.ge-field select option{ background:var(--ge-bg-card); color:var(--ge-text); }

.ge-field input:focus,.ge-field select:focus,.ge-field textarea:focus{
  outline:none; border-color:var(--ge-gold); box-shadow:0 0 0 3px var(--ge-gold-08);
}

.ge-checkgroup{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px var(--ge-gap); margin-top:4px; }
.ge-checkgroup--single{ grid-template-columns:1fr; }
.ge-check{ display:flex; align-items:flex-start; gap:10px; font-size:.9375rem; color:var(--ge-text); cursor:pointer; }
.ge-check input{ margin-top:4px; accent-color:var(--ge-orange); }

.ge-field.has-error input,.ge-field.has-error select,.ge-field.has-error textarea{ border-color:var(--ge-orange); }
.ge-field__error{ display:none; margin-top:6px; font-size:14px; color:var(--ge-orange); }
.ge-field.has-error .ge-field__error{ display:block; }

.ge-form__submit{ margin-top:var(--ge-gap); }
.ge-form__submit .ge-btn[disabled]{ opacity:.6; cursor:not-allowed; transform:none; }

.ge-form__status{ display:none; margin-top:var(--ge-gap); padding:16px 20px;
  border:1px solid transparent; border-radius:var(--ge-radius); font-weight:600; }
.ge-form__status.is-visible{ display:block; }
.ge-form__status.is-success{ background:var(--ge-bg-card); border-color:var(--ge-green); color:var(--ge-green-light); }
.ge-form__status.is-error{ background:var(--ge-bg-card); border-color:var(--ge-orange); color:var(--ge-orange-light); }

.ge-hp{ position:absolute; left:-9999px; opacity:0; pointer-events:none; }

@media (max-width:767px){
  .ge-form__row{ grid-template-columns:1fr; gap:0; }
  .ge-checkgroup{ grid-template-columns:1fr; }
  .ge-form__submit .ge-btn{ width:100%; }
}
