/* Bingo Tutors site additions: forms, alerts and legal pages. Loaded after main.css. */
.bt-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.bt-form .form-group-wrap { flex-wrap: wrap; margin: -6px; }
.bt-form .form-group { flex-direction: column; align-items: stretch; padding: 6px; margin: 0; }
.bt-form .form-group-half { width: 50%; }
@media (max-width: 575px) { .bt-form .form-group-half { width: 100%; } }
.bt-form .tu-label { display: block; margin: 0 0 6px; font-weight: 500; color: #1C1C1C; }
.bt-form .form-control { width: 100%; }
.bt-form textarea.form-control { min-height: 130px; height: auto; padding-top: 12px; resize: vertical; }
.bt-form .tu-select { width: 100%; }
.bt-form select.form-control { appearance: auto; -webkit-appearance: menulist; background-image: none; }
.bt-req { color: #EF4444; font-style: normal; }
.bt-help { display: block; margin-top: 6px; color: #676767; font-size: 14px; line-height: 1.5; }
.bt-checkbox { display: flex; align-items: flex-start; gap: 10px; }
.bt-checkbox input[type="checkbox"] { display: inline-block !important; width: 20px; height: 20px; margin-top: 3px; flex: none; accent-color: #22C55E; }
.bt-checkbox label { margin: 0; line-height: 1.5; cursor: pointer; }
.bt-checkbox label::before { content: none !important; }
.bt-form button.tu-primbtn-lg { border: 0; cursor: pointer; }
.bt-formtitle { margin-bottom: 20px; }
.tu-box { width: 100%; }
.bt-alert { border-radius: 10px; padding: 20px 24px; margin-bottom: 20px; border: 1px solid; width: 100%; }
.bt-alert h3 { margin-bottom: 8px; }
.bt-alert ul { margin: 10px 0 0 20px; list-style: disc; }
.bt-alert-success { background: #F0FDF4; border-color: #86EFAC; color: #14532D; }
.bt-alert-error { background: #FEF2F2; border-color: #FCA5A5; color: #7F1D1D; }
.bt-alert-info { background: #EFF6FF; border-color: #93C5FD; color: #1E3A8A; }
.bt-result > p { margin: 10px 0 20px; }
.bt-list { list-style: disc; padding-left: 22px; margin: 10px 0 20px; }
.bt-list li { margin-bottom: 6px; }
.bt-steps { padding-left: 22px; margin: 10px 0 20px; }
.bt-steps li { margin-bottom: 6px; }
.bt-404links li { margin-bottom: 8px; }
.bt-legal h1 { margin-bottom: 6px; }
.bt-legal h2 { font-size: 22px; margin: 28px 0 10px; }
.bt-legal p, .bt-legal li { line-height: 1.7; }
.bt-legal ul { list-style: disc; padding-left: 22px; margin-bottom: 14px; }
.bt-legal-updated { color: #676767; font-size: 14px; }
.bt-portal-soon .form-group { margin-bottom: 12px; }
.bt-portal-soon .tu-primbtn-lg, .bt-portal-soon .tu-secbtn { width: 100%; justify-content: center; }
.bt-newsletter { display: flex; }
.bt-newsletter button { border: 0; cursor: pointer; }
.bt-faq-noresults { margin-top: 12px; }
.bt-cta-box { background: #F7F3F8; border: 1px solid #E5D9E8; border-radius: 10px; padding: 20px 24px; margin-bottom: 24px; }
.bt-cta-box .tu-primbtn-lg { margin: 6px 0 4px; }
.bt-ctas { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 10px; }
.bt-ctas-center .bt-ctas { justify-content: center; }
.bt-wabtn { gap: 8px; }
.bt-wabtn i.fab { font-size: 18px; margin: 0; }
.tu-headerbtn .bt-wabtn { white-space: nowrap; }
.tu-socialmedia .tu-instagramv3 a { background: #E1306C; color: #fff; }
.tu-socialmedia .tu-facebookv3 a { background: #1877F2; color: #fff; }
.tu-socialmedia .tu-whatsappv3 a { background: #25D366; color: #fff; }
.tu-footerdark .bt-ctas { margin-top: 16px; }
/* Hero "Want to teach with us?" row: main.css positions the shield icon absolutely (top:0) inside a
   padding-left:30px / padding-top:20px box, so it sits above the text. Put it back in the flex row. */
.tu-banner_explore { display: flex; align-items: center; padding-left: 0; }
.tu-banner_explore i { position: static; line-height: 1; margin-right: 10px; }

/* 2026-10-13: Student Login link (shared header) + portal button on online_classes. Solid theme purple, white text. */
.bt-navlogin .nav-link { display: inline-flex; align-items: center; gap: 6px; color: #6A307D !important; font-weight: 600; }
.bt-navlogin .nav-link:hover, .bt-navlogin .nav-link:focus { color: #4E2160 !important; }
.bt-navlogin .nav-link i { font-size: 16px; line-height: 1; }
@media (min-width: 1200px) {
    .bt-navlogin { margin-left: 8px; padding-left: 14px; border-left: 1px solid #e3e3e3; }
}
.bt-mlogin, .bt-portalbtn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #6A307D; color: #fff !important; border: 0; border-radius: 4px; font-family: Outfit, 'Open Sans', sans-serif; font-weight: 600; text-decoration: none; text-align: center; transition: background-color .2s ease; }
.bt-mlogin:hover, .bt-mlogin:focus, .bt-portalbtn:hover, .bt-portalbtn:focus { background: #4E2160; color: #fff !important; }
.bt-mlogin:focus-visible, .bt-portalbtn:focus-visible { outline: 3px solid rgba(106,48,125,.35); outline-offset: 2px; }
.bt-mlogin { display: none; }
@media (max-width: 1199.98px) {
    .bt-mlogin { display: inline-flex; margin-left: auto; margin-right: 12px; padding: 8px 14px; font-size: 14px; line-height: 1; white-space: nowrap; }
    .bt-mlogin i { font-size: 16px; }
    .bt-navlogin { display: none; } /* the header button covers phones/tablets */
}
@media (max-width: 359px) { .bt-mlogin span { display: none; } }
.bt-portal-cta { margin-top: 24px; display: flex; justify-content: center; }
.bt-portalbtn { min-height: 48px; padding: 12px 26px; font-size: 16px; line-height: 1.3; }
.bt-portalbtn i { font-size: 18px; flex: none; }
@media (max-width: 575.98px) { .bt-portalbtn { width: 100%; padding: 12px 16px; font-size: 15px; } }
