/* Excel Saathi form additions: selects, consent, alerts and validation states */
.es-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.contact-form-wrap .form-grp select,
.comment-form select,
.es-select {
  width: 100%;
  height: 50px;
  border: 1px solid #DAE0E7;
  border-radius: 3px;
  background-color: #fff;
  color: var(--tg-body-color);
  font-size: 15px;
  padding: 0 16px;
  appearance: auto;
}
.contact-form-wrap .form-grp select:focus, .es-select:focus { border-color: var(--tg-theme-primary); outline: none; }
.es-consent { margin: 4px 0 20px; }
.es-notice { font-size: 14px; line-height: 1.5; margin: 0 0 8px; color: var(--tg-body-color); }
.es-notice a { color: var(--tg-theme-primary); text-decoration: underline; }
.es-check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.5; cursor: pointer; }
.es-check input[type=checkbox] { width: 18px !important; height: 18px !important; min-width: 18px; margin-top: 2px; padding: 0 !important; accent-color: var(--tg-theme-primary); }
.es-alert { border-radius: 6px; padding: 12px 16px; margin-bottom: 18px; font-size: 15px; line-height: 1.5; }
.es-alert-ok { background: #e7f4ec; color: #1f5a3b; }
.es-alert-err { background: #fdecec; color: #8a1f1f; }
.es-invalid, .es-invalid input, input.es-invalid, textarea.es-invalid, select.es-invalid { border-color: #c0392b !important; }
.es-check.es-invalid span { color: #c0392b; }
.es-note { font-size: 14px; color: var(--tg-body-color); margin-top: 12px; }
.es-empty { padding: 40px 0; text-align: center; font-size: 17px; }
.grecaptcha-badge { visibility: hidden !important; }
.es-rc-note { font-size: 12.5px; line-height: 1.5; color: var(--tg-body-color); opacity: .85; margin: 10px 0 0; }
.es-rc-note a { color: inherit; text-decoration: underline; }
button[aria-busy=true] { opacity: .7; cursor: progress; }
:focus-visible { outline: 2px solid var(--tg-theme-primary); outline-offset: 2px; }
@media (max-width: 767px) {
  .contact-form-wrap .form-grp input, .contact-form-wrap .form-grp textarea, .es-select { font-size: 16px; }
}
.es-lesson { padding-bottom: 110px !important; }
@media (max-width: 767px) { .es-lesson { padding-bottom: 70px !important; } }
