/* Login do Shalom Tickets. Medidas e cores do Figma: Inter, laranja #ff5300, campos em pílula. */
@font-face {
  font-family: 'Inter';
  src: url('inter.woff2') format('woff2');
  font-weight: 100 900;
  font-display: swap;
}

html, body.login-pf-page, body { background: #fff !important; }
body { margin: 0; font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif !important; color: #20263c; -webkit-font-smoothing: antialiased; }
*:not(.fa):not([class*='pficon']):not(i) { font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif !important; }

.sk-tela { display: grid; grid-template-columns: minmax(0, 1fr); min-height: 100vh; min-height: 100dvh; }
@media (min-width: 900px) { .sk-tela { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }

.sk-painel { display: none; margin: 16px 16px 16px 0; border-radius: 28px; background: #ff5300; }
@media (min-width: 900px) { .sk-painel { display: block; } }

.sk-coluna { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 28px; padding: 40px 16px; }
.sk-logo { display: block; width: 234px; height: auto; }

.login-pf-page .card-pf, .card-pf { width: 100%; max-width: 470px; margin: 0; padding: 0; background: transparent !important; border: 0 !important; box-shadow: none !important; }
#kc-header, #kc-locale { display: none; }
.login-pf-page { width: 100%; max-width: 470px; margin: 0 auto; padding: 0; }
.login-pf-page .login-pf-header, .card-pf header { padding: 0; margin: 0 0 24px; border: 0; }
#kc-page-title { margin: 0; font-size: 36px; font-weight: 600; line-height: 1.2; letter-spacing: -0.02em; color: #20263c; text-align: center; }
.sk-subtitulo { margin: 12px 0 0; font-size: 15px; line-height: 1.5; color: #65708c; text-align: center; }

#kc-content, #kc-content-wrapper, #kc-form, #kc-form-wrapper { width: 100%; padding: 0; margin: 0; }
.form-group, .pf-c-form__group { margin-bottom: 18px !important; }
label, .pf-c-form__label, .pf-c-form__label-text { display: block; margin-bottom: 8px; font-size: 14px !important; font-weight: 600 !important; color: #20263c !important; }

input[type='text'], input[type='password'], input[type='email'], .pf-c-form-control, .form-control {
  box-sizing: border-box; width: 100% !important; height: 44px !important; padding: 0 16px !important;
  border: 1px solid #cbd3e2 !important; border-radius: 999px !important; background: #f8fafc !important; color: #20263c !important;
  font-size: 16px !important; box-shadow: none !important;
}
input:focus, .pf-c-form-control:focus { outline: none !important; border-color: #ff5300 !important; }
input[aria-invalid='true'] { border-color: #c9102f !important; }

.pf-c-input-group { position: relative; display: block; }
.pf-c-input-group .pf-c-button.pf-m-control {
  position: absolute; top: 2px; right: 6px; width: 40px; height: 40px; padding: 0; border: 0 !important; background: transparent !important; color: #20263c; box-shadow: none !important;
}
.pf-c-input-group .pf-c-button.pf-m-control::after { border: 0 !important; }

#kc-form-options, .kc-form-options { display: block; }
.login-pf-settings, #kc-form-login .form-group.login-pf-settings { display: flex; justify-content: flex-end; margin: -6px 0 22px !important; }
a, a:link, a:visited { color: #ff5300 !important; text-decoration: none !important; }
a:hover { color: #e04a00 !important; }
.login-pf-settings a, #kc-form-options a { font-size: 14px; font-weight: 500; }

.pf-c-button.pf-m-primary, input[type='submit'], #kc-login {
  display: block; box-sizing: border-box; width: 100% !important; height: 44px !important; padding: 0 16px !important; border: 0 !important; border-radius: 999px !important;
  background: #ff5300 !important; color: #fff !important; font-size: 15px !important; font-weight: 500 !important; cursor: pointer; box-shadow: none !important;
}
.pf-c-button.pf-m-primary:hover, input[type='submit']:hover { background: #e04a00 !important; }
.pf-c-button.pf-m-primary::after { border: 0 !important; }

#kc-info, #kc-info-wrapper { padding: 0 !important; margin: 0 !important; background: transparent !important; border: 0 !important; }
#kc-registration-container, #kc-registration, #kc-registration span { color: #20263c !important; }
#kc-registration-container { margin-top: 28px; text-align: center; font-size: 16px; }
#kc-registration span { display: inline; }
#kc-registration a { font-weight: 600; }

.sk-termos { max-width: 340px; margin: 0; font-size: 12.5px; line-height: 1.5; color: #65708c; text-align: center; }
.sk-nota { margin: 14px 0 0; font-size: 13px; line-height: 1.5; color: #65708c; text-align: center; }

.alert-error, .alert-success, .alert-warning, .alert-info, .pf-c-alert {
  display: flex; align-items: flex-start; gap: 10px; margin: 0 0 18px; padding: 12px 14px; border-radius: 16px; font-size: 13.5px; box-shadow: none !important; border: 1px solid transparent !important;
}
.alert-error { background: #fff2f2 !important; border-color: #ffc9c9 !important; color: #c9102f; }
.alert-success { background: #e8fff3 !important; border-color: #8effc4 !important; color: #00864a; }
.alert-warning, .alert-info { background: #fefcea !important; border-color: #fcf4c4 !important; color: #8a5a00; }
.pf-c-alert__title, .kc-feedback-text { margin: 0 !important; color: inherit !important; font-weight: 500 !important; font-size: 13.5px !important; }
.pf-c-alert__icon { display: none; }
.pf-c-form__helper-text, .kc-feedback-text, #input-error, #input-error-username { display: block; margin-top: 8px; font-size: 13px; color: #c9102f; }

#kc-form-options a[href*='login-actions/authenticate'], .kc-form-buttons { width: 100%; }
#kc-reset-password-form #kc-form-options { text-align: center; order: 2; margin-top: 14px; font-size: 14px; }
#kc-reset-password-form .form-group:last-child, #kc-reset-password-form .login-pf-settings { display: flex; flex-direction: column; margin: 0 !important; }
#kc-reset-password-form #kc-form-buttons { order: 1; width: 100%; }
.sk-nota { order: 3; }

input::placeholder { color: #95a0b9 !important; opacity: 1; }

#input-error, #input-error-username, span[id^='input-error'] { color: #c9102f !important; font-size: 13px !important; }
#kc-reset-password-form #kc-form-buttons, #kc-reset-password-form #kc-form-options { width: 100%; max-width: none; padding: 0; float: none; flex: none; }
