/* ------------------------------------------------------------------
   GeoJoy — contact and submit-your-event forms
   Page-specific only; the shared theme comes from the account sheet.
   ------------------------------------------------------------------ */

.formhead { background: linear-gradient(160deg, #0C2A50 0%, #17427A 55%, #0E7C74 100%); padding: 130px 0 70px; color: #fff; text-align: center; }
.formhead .eyebrow { color: #8ff0e4; }
.formhead h1 { font-size: clamp(2rem, 4.2vw, 3rem); margin: .6rem 0 .8rem; color: #fff; }
.formhead p { max-width: 620px; margin: 0 auto; color: rgba(255,255,255,.82); line-height: 1.7; }

.formsec { background: #F6FAFE; padding: 56px 0 84px; }
.formgrid { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 30px; align-items: start; }
@media (max-width: 900px) { .formgrid { grid-template-columns: 1fr; } }

.formcard { background: #fff; border-radius: 20px; padding: 30px; box-shadow: 0 12px 34px -18px rgba(12,42,80,.28); }
.formcard h2 { font-size: 1.25rem; color: #0C2A50; margin: 0 0 .35rem; }
.formcard .hint { color: #5A6880; font-size: .93rem; line-height: 1.6; margin: 0 0 1.5rem; }

.fgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.1rem; }
@media (max-width: 640px) { .fgrid { grid-template-columns: 1fr; } }
.fgrid .full { grid-column: 1 / -1; }

.fld { display: block; }
.fld > span { display: block; font-size: .86rem; font-weight: 600; color: #3E4C66; margin-bottom: .35rem; }
.fld > span small { font-weight: 400; color: #8A96A8; }
.fld input, .fld select, .fld textarea {
  width: 100%; border: 1.5px solid #E3EAF3; border-radius: 12px;
  padding: .75rem .9rem; font: inherit; font-size: .95rem; color: #16233F;
  background: #fff; transition: border-color .15s;
}
.fld input:focus, .fld select:focus, .fld textarea:focus { outline: none; border-color: #1EBCA3; }
.fld textarea { min-height: 150px; resize: vertical; }
.fld.err input, .fld.err select, .fld.err textarea { border-color: #F76C4F; }
.fld .msg { display: block; margin-top: .35rem; font-size: .82rem; color: #C6402A; }

.fcheck { display: flex; align-items: flex-start; gap: .6rem; font-size: .93rem; color: #3E4C66; }
.fcheck input { width: 18px; height: 18px; margin-top: .1rem; flex: 0 0 auto; }

.formcard .btn { margin-top: 1.5rem; }

.formnote { background: #fff; border-radius: 20px; padding: 26px; box-shadow: 0 12px 34px -18px rgba(12,42,80,.28); }
.formnote h3 { font-size: 1.05rem; color: #0C2A50; margin: 0 0 .7rem; }
.formnote ul { list-style: none; padding: 0; margin: 0; }
.formnote li { display: flex; gap: .65rem; padding: .6rem 0; font-size: .92rem; color: #3E4C66; line-height: 1.55; border-bottom: 1px solid #EFF4FA; }
.formnote li:last-child { border-bottom: 0; }
.formnote svg { width: 18px; height: 18px; flex: 0 0 auto; color: #1EBCA3; margin-top: .15rem; }
.formnote a { color: #406BB8; }

.flash-ok { background: #E6FBF6; color: #0E7C74; border-radius: 14px; padding: 1rem 1.2rem; font-weight: 600; line-height: 1.55; margin-bottom: 1.4rem; }
.flash-err { background: #FFF1ED; color: #C6402A; border-radius: 14px; padding: 1rem 1.2rem; font-weight: 600; margin-bottom: 1.4rem; }
