/* File: a1_portal/assets/css/login.css | Generated: Mon Dec 22 10:43:52 PST 2025 */
:root {
  --cream-50: #fffdf7;
  --cream-100: #f9f6ef;
  --cream-200: #efe6d0;
  --gold-100: #fff3cf;
  --gold-200: #ead89e;
  --accent-primary: #c9a84c;
  --accent-ink: #162847;
  --accent-start: #f6e7b5;
  --accent-mid: #d8b85a;
  --accent-end: #b58b2b;
  --accent-hover-start: #fff1bd;
  --accent-hover-mid: #e3c45f;
  --accent-hover-end: #c39a35;
  --accent-hover: #d8b85a;
  --text-900: #162847;
  --text-700: #43516a;
  --border: rgba(201, 168, 76, 0.34);
  --card-bg: rgba(255, 253, 247, 0.92);
  --shadow-soft: 0 16px 50px rgba(15, 31, 61, 0.12);
  --shadow-strong: 0 30px 80px rgba(15, 31, 61, 0.18);
  --gold-border: rgba(201, 168, 76, 0.58);
  --gold-shadow: rgba(181, 139, 43, 0.22);
  --gold-shadow-strong: rgba(15, 31, 61, 0.2);
  --shell-max-width: 1100px; /* shared max width for page shell + inner content */
}

body {
  font-family: var(--a1-ui-font);
  font-size: 17px;
  color: var(--text-900);
  background: radial-gradient(circle at 20% 20%, rgba(201, 168, 76, 0.14), rgba(249, 246, 239, 0.96)),
    linear-gradient(135deg, #f9f6ef 0%, #fffdf7 45%, #ffffff 100%);
  position: relative;
  min-height: 100vh;
}

body::before,
body::after {
  content: '';
  position: fixed;
  filter: blur(50px);
  opacity: 0.7;
  z-index: -2;
}

body::before {
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(201, 168, 76, 0.2), rgba(249, 246, 239, 0));
  top: 10%;
  left: -10%;
}

body::after {
  width: 520px;
  height: 520px;
  background: radial-gradient(circle, rgba(22, 40, 71, 0.12), rgba(249, 246, 239, 0));
  bottom: -12%;
  right: -8%;
}

.authentication-wrapper,
.customers-login-wrapper,
.auth-wrapper,
body .login-wrapper,
body .authentication {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 42px 20px;
  position: relative;
  overflow: hidden;
}

.authentication-wrapper::before,
.customers-login-wrapper::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 10% 10%, rgba(255, 255, 255, 0.65), transparent 35%),
    radial-gradient(circle at 90% 0%, rgba(255, 255, 255, 0.35), transparent 30%),
    linear-gradient(140deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0) 45%);
  z-index: 0;
}

.authentication-wrapper > *,
.customers-login-wrapper > *,
.auth-wrapper > * {
  position: relative;
  z-index: 1;
}

.card,
.auth-card {
  border: 1px solid var(--border);
  background: var(--card-bg);
  box-shadow: var(--shadow-soft);
  border-radius: 24px;
  overflow: hidden;
}

.card:hover,
.auth-card:hover {
  box-shadow: var(--shadow-strong);
  transition: box-shadow 0.35s ease, transform 0.35s ease;
  transform: translateY(-3px);
}

.card-body,
.auth-card .card-body {
  padding: 24px;
}

.a1-page-shell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  max-width: var(--shell-max-width);
  margin: 0 auto;
  width: 100%;
  opacity: 0;
  transition: opacity 0.25s ease;
}


.a1-admin-hero {
  width: 100%;
  max-width: var(--shell-max-width);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0 6px;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.a1-admin-logo {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 800;
  font-size: clamp(32px, 6vw, 54px);
  letter-spacing: 0.08em;
  color: var(--accent-ink);
  background: transparent;
  text-decoration: none;
}

.a1-admin-logo img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  background: transparent;
}

/* Remove default logo background treatments from auth templates */
.a1-admin-hero,
.a1-admin-logo,
.a1-admin-logo img,
.authentication-form-wrapper .text-center,
.authentication-form-wrapper .tw-text-center,
.authentication-form-wrapper .text-center a,
.authentication-form-wrapper .tw-text-center a,
.authentication-form-wrapper .text-center img,
.authentication-form-wrapper .tw-text-center img,
.login-logo,
.login-logo a,
.login-logo img,
.logo,
.logo a,
.logo img,
.brand,
.brand a,
.brand img {
  background: transparent !important;
  box-shadow: none !important;
}

.a1-page-shell #content {
  width: 100%;
  max-width: var(--shell-max-width);
  margin: 0 auto;
}

.a1-page-shell #content > .container {
  width: 100%;
  max-width: var(--shell-max-width);
  margin: 0 auto;
}


/* Affiliate layout wrappers and spacing */
.a1-affiliate-page .a1-affiliate-shell {
  max-width: var(--shell-max-width);
  width: 100%;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  float: none;
}

/* Constrain the content wrapper to match shell width */
.a1-affiliate-page #content {
  width: 100%;
  max-width: var(--shell-max-width);
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

/* Strip native container/row gutter padding inside the affiliate shell */
.a1-affiliate-page .a1-affiliate-shell .container {
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.a1-affiliate-page .a1-affiliate-shell .row {
  margin-left: 0;
  margin-right: 0;
}

.a1-affiliate-page .a1-affiliate-shell .row > [class*='col-'] {
  padding-left: 0;
  padding-right: 0;
}

/* Center inner page sections within the shell */
.a1-affiliate-page .a1-page-shell,
.a1-affiliate-page .a1-form-shell,
.a1-affiliate-page #content {
  margin-left: auto;
  margin-right: auto;
}

/* Affiliate hero/jumbotron card sizing and styling */
.a1-affiliate-page .a1-affiliate-shell .jumbotron {
  width: 100%;
  max-width: var(--shell-max-width);
  margin: 0 auto;
  padding: 26px 26px 24px;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.52), 0 10px 25px rgba(15, 31, 61, 0.12);
}

.a1-affiliate-page .a1-affiliate-shell .jumbotron > * {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* Affiliate form shell spacing */
.a1-affiliate-page .a1-form-shell {
  padding: 26px clamp(18px, 3vw, 26px) 24px;
  margin-left: auto;
  margin-right: auto;
}

/* Hide native headers/navbars on guest/login screens to avoid double headers */
html.a1-portal-guest nav.header,
html.a1-portal-guest nav.navbar,
html.a1-portal-guest nav.navbar-default,
html.a1-portal-guest nav.navbar-fixed-top,
body.a1-login-theme nav.header,
body.a1-login-theme nav.navbar,
body.a1-login-theme nav.navbar-default,
body.a1-login-theme nav.navbar-fixed-top,
body[class*='login'] nav.header,
body[class*='login'] nav.navbar,
body[class*='login'] nav.navbar-default,
body[class*='register'] nav.header,
body[class*='register'] nav.navbar,
body[class*='register'] nav.navbar-default,
body.login_admin nav.header,
body.login_admin nav.navbar,
body.login_admin nav.navbar-default,
body.customers_login nav.header,
body.customers_login nav.navbar,
body.customers_login nav.navbar-default,
body.client nav.header,
body.client nav.navbar,
body.client nav.navbar-default,
body.customer nav.header,
body.customer nav.navbar,
body.customer nav.navbar-default,
body.tenant nav.header,
body.tenant nav.navbar,
body.tenant nav.navbar-default,
.a1-native-nav-hidden {
  display: none !important;
}

/* Keep portal navigation visible on verification page */
body.verification nav.header,
body.verification nav.navbar,
body.verification nav.navbar-default,
body[class*='verification'] nav.header,
body[class*='verification'] nav.navbar,
body[class*='verification'] nav.navbar-default {
  display: block !important;
}

.a1-login-grid {
  display: grid;
  grid-template-columns: minmax(280px, 400px) minmax(360px, 480px);
  gap: 24px;
  align-items: stretch;
}

@media (max-width: 720px) {
  .a1-login-grid {
    grid-template-columns: 1fr;
  }
}



.a1-login-card {
  max-width: 1100px;
}

.a1-form-shell {
  background: rgba(255, 255, 255, 0.92);
  border-radius: 18px;
  padding: 26px 26px 24px;
  border: 1px solid var(--border);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
  width: 100%;
  max-width: var(--shell-max-width);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.a1-form-shell h3,
.a1-form-shell h4 {
  margin: 0 0 10px;
  color: var(--text-900);
  font-weight: 800;
  letter-spacing: -0.02em;
  font-size: 22px;
}

.a1-form-shell .eyebrow {
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.08em;
  color: var(--accent-ink);
  font-weight: 700;
  margin-bottom: 8px;
}

.a1-form-shell .subtext {
  color: var(--text-700);
  margin-bottom: 18px;
}

.a1-form-shell form {
  margin-top: 10px;
}

.a1-form-shell .form-group,
.a1-form-shell .mbot15,
.a1-form-shell .form-group input,
.a1-form-shell .input-group {
  width: 100%;
}

.a1-form-shell .form-control {
  border-radius: 12px;
  border: 1px solid rgba(201, 168, 76, 0.34);
  background: rgba(255, 255, 255, 0.8);
  padding: 14px 16px;
  font-size: 17px;
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.a1-form-shell select.form-control:not(.bs-select-hidden),
.a1-form-shell .bootstrap-select .btn,
.a1-form-shell .bootstrap-select .btn:focus {
  height: 46px;
  line-height: 46px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid rgba(201, 168, 76, 0.34);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 6px 16px rgba(15, 31, 61, 0.1);
}

.a1-form-shell .bootstrap-select .dropdown-menu {
  border-radius: 12px;
}

.a1-form-shell .form-control:focus {
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.18);
  outline: none;
}

.a1-password-preview-wrap {
  position: relative;
  width: 100%;
}

.a1-password-preview-wrap .a1-password-preview-input {
  padding-right: 86px !important;
}

.a1-password-preview-toggle {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  min-width: 62px;
  height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(201, 168, 76, 0.42);
  background: rgba(255, 243, 207, 0.86);
  color: var(--accent-ink);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  box-shadow: none;
}

.a1-password-preview-toggle:hover,
.a1-password-preview-toggle:focus {
  background: rgba(246, 231, 181, 0.96);
  outline: none;
}

.a1-form-shell label {
  font-weight: 700;
  color: var(--text-900);
  margin-bottom: 6px;
  font-size: 17px;
}

.a1-form-shell .input-group-text {
  border-radius: 12px 0 0 12px;
  border: 1px solid rgba(201, 168, 76, 0.34);
  background: rgba(201, 168, 76, 0.1);
  color: var(--accent-ink);
}

.a1-form-shell .btn {
  border-radius: 12px;
  padding: 13px 18px;
  font-size: 17px;
  font-weight: 700;
  border: 2px solid transparent;
  transition: transform 0.15s ease, box-shadow 0.25s ease, filter 0.25s ease;
  box-shadow: 0 10px 25px var(--gold-shadow);
}

.a1-form-shell .btn-primary,
.a1-form-shell .btn-info {
  background: linear-gradient(135deg, var(--accent-start) 0%, var(--accent-mid) 60%, var(--accent-end) 100%);
  color: #162847;
  border-color: var(--gold-border);
}

.a1-form-shell .btn-primary:hover,
.a1-form-shell .btn-info:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 36px var(--gold-shadow-strong);
  background: linear-gradient(135deg, var(--accent-hover-start) 0%, var(--accent-hover-mid) 60%, var(--accent-hover-end) 100%);
  filter: none;
}

.a1-form-shell .btn-primary:focus-visible,
.a1-form-shell .btn-info:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.9);
  outline-offset: 2px;
}

.a1-form-shell .btn-default {
  background: rgba(255, 253, 247, 0.74);
  color: var(--text-900);
  border: 2px solid var(--gold-border);
  transition: transform 0.15s ease, box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease;
}

.a1-form-shell .btn-default:hover {
  box-shadow: 0 16px 32px var(--gold-shadow-strong);
  background: rgba(255, 243, 207, 0.8);
  transform: translateY(-1px);
}

.a1-form-shell .btn-default:focus-visible {
  outline: 2px solid rgba(201, 168, 76, 0.4);
  outline-offset: 2px;
}

.a1-form-shell .panel_s,
.a1-form-shell .panel-body,
.a1-form-shell form {
  width: 100%;
}

.a1-form-shell > * {
  width: 100%;
}
/* End of File: a1_portal/assets/css/login.css | Generated: Mon Dec 22 09:39:57 PST 2025 */

.a1-form-shell .checkbox,
.a1-form-shell .remember-me {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  color: var(--text-700);
  font-size: 17px;
  margin: 4px 0 12px;
}

.a1-form-shell .checkbox input {
  width: 18px;
  height: 18px;
  accent-color: var(--accent-primary);
}

.a1-form-shell .forgotten-password,
.a1-form-shell .pull-right a,
.a1-form-shell a {
  color: var(--accent-ink);
  font-weight: 700;
  text-decoration: none;
}

.a1-form-shell .forgotten-password:hover,
.a1-form-shell a:hover {
  text-decoration: underline;
}

.a1-alerts .alert,
.a1-form-shell .alert {
  border-radius: 12px;
  border: 1px solid rgba(201, 168, 76, 0.35);
  background: rgba(255, 255, 255, 0.8);
  color: var(--accent-ink);
  box-shadow: 0 10px 30px rgba(15, 31, 61, 0.12);
}

.a1-form-shell .login-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.a1-footer-links {
  margin-top: 12px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--text-700);
}

.a1-footer-links .lang {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.a1-footer-links select,
.a1-footer-links .dropdown-menu {
  border-radius: 12px;
}

@media (max-width: 640px) {
  .card-body,
  .auth-card .card-body {
    padding: 18px;
  }

  .a1-form-shell {
    padding: 18px;
  }

  .a1-hero-title {
    font-size: 24px;
  }

  .a1-affiliate-page .a1-affiliate-shell .jumbotron {
    padding: 18px;
  }
}
/* Knowledge base tweaks */
#kb-search-form .kb-search-jumbotron,
#kb-search-form .kb-search,
.kb-search-jumbotron,
.kb-search {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#kb-search-form,
form[action*="knowledge-base/search"] {
  width: 100%;
  max-width: 100%;
  display: block;
  box-sizing: border-box;
  margin: 0;
}

#kb-search-form .form-control,
form[action*="knowledge-base/search"] .form-control {
  background: linear-gradient(135deg, var(--accent-end) 0%, var(--accent-mid) 60%, var(--accent-start) 100%);
  padding: 14px 16px;
  font-size: 18px;
  color: #fff;
  flex: 1 1 0;
  width: 0;
  min-width: 0;
  order: 1;
  height: 58px;
  line-height: 1.4;
  border: 2px solid var(--gold-border);
  border-right: 0;
  box-shadow: 0 10px 25px rgba(15, 31, 61, 0.14);
  border-radius: 12px 0 0 12px;
  caret-color: #fff;
}

#kb-search-form .kb-search-input,
form[action*="knowledge-base/search"] .kb-search-input {
  order: 1;
  flex: 1 1 0;
  width: 0;
  min-width: 0;
}

#kb-search-form .form-control::placeholder,
form[action*="knowledge-base/search"] .form-control::placeholder {
  color: rgba(255, 255, 255, 0.85);
}

#kb-search-form .input-group-btn,
form[action*="knowledge-base/search"] .input-group-btn {
  display: none !important;
}

#kb-search-form .kb-search-button,
form[action*="knowledge-base/search"] .kb-search-button {
  order: 2;
  flex: 0 0 auto;
  margin-left: 0;
  min-width: 110px;
  height: 58px;
  font-size: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0 12px 12px 0;
  border: 2px solid var(--gold-border);
  border-left: 0;
  white-space: nowrap;
  background: linear-gradient(135deg, var(--accent-start) 0%, var(--accent-mid) 60%, var(--accent-end) 100%);
  color: var(--text-900);
  box-shadow: 0 10px 22px var(--gold-shadow);
  transition: transform 0.15s ease, box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease;
}

#kb-search-form .input-group-btn button,
form[action*="knowledge-base/search"] .input-group-btn button {
  border-radius: 0 12px 12px 0;
  padding: 0 20px;
  margin-left: 0;
  background: linear-gradient(135deg, var(--accent-start) 0%, var(--accent-mid) 60%, var(--accent-end) 100%);
  color: var(--text-900);
  border: 2px solid var(--gold-border);
  border-left: 0;
  font-weight: 700;
  cursor: pointer;
  height: 58px;
  min-width: 110px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 22px var(--gold-shadow);
  transition: transform 0.15s ease, box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease;
}

#kb-search-form .input-group-btn button:hover,
#kb-search-form .input-group-btn button:active,
form[action*="knowledge-base/search"] .input-group-btn button:hover,
form[action*="knowledge-base/search"] .input-group-btn button:active,
#kb-search-form .kb-search-button:hover,
#kb-search-form .kb-search-button:active,
form[action*="knowledge-base/search"] .kb-search-button:hover,
form[action*="knowledge-base/search"] .kb-search-button:active {
  transform: translateY(-1px);
  box-shadow: 0 16px 32px var(--gold-shadow-strong);
  background: linear-gradient(135deg, var(--accent-hover-start) 0%, var(--accent-hover-mid) 60%, var(--accent-hover-end) 100%);
}

#kb-search-form .input-group,
form[action*="knowledge-base/search"] .input-group {
  display: flex;
  align-items: stretch;
  gap: 0;
  width: 100%;
  max-width: 100%;
  flex-wrap: nowrap;
  flex-direction: row;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 12px;
}

#kb-search-form .input-group .input-group-addon,
#kb-search-form .input-group .input-group-text,
form[action*="knowledge-base/search"] .input-group .input-group-addon,
form[action*="knowledge-base/search"] .input-group .input-group-text {
  display: none !important;
  padding: 0;
  min-width: 0;
  height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
}

#kb-search-form .kb-search-icon,
#kb-search-form .form-control-feedback,
form[action*="knowledge-base/search"] .kb-search-icon,
form[action*="knowledge-base/search"] .form-control-feedback {
  display: none !important;
}

/* Verification page styling */
.section-heading-verification-required {
  font-weight: 800;
  color: var(--text-900);
  letter-spacing: -0.01em;
}

.verification-required-alert.alert {
  border-radius: 16px;
  border: 1px solid rgba(201, 168, 76, 0.45);
  background: linear-gradient(135deg, rgba(255, 253, 247, 0.94) 0%, rgba(249, 246, 239, 0.86) 100%);
  color: var(--text-700);
  box-shadow: 0 16px 40px rgba(15, 31, 61, 0.13);
  padding: 18px 20px;
}

.verification-required-heading {
  font-weight: 800;
  color: var(--text-900);
  margin-bottom: 8px;
}

.verification-required-message {
  color: var(--text-700);
  font-weight: 600;
  line-height: 1.6;
}

.verification-required-message a {
  color: var(--accent-ink);
  font-weight: 800;
  text-decoration: none;
  border-bottom: 2px solid rgba(201, 168, 76, 0.34);
  padding-bottom: 1px;
}

.verification-required-message a:hover {
  text-decoration: none;
  border-bottom-color: rgba(201, 168, 76, 0.7);
}

.verification-required-message .a1-verify-resend {
  color: #1d4ed8;
  font-weight: 800;
  text-decoration: underline;
}

.verification-required-message a:hover .a1-verify-resend {
  color: #1e40af;
}

.verification-required-message .a1-verify-profile {
  color: var(--accent-ink);
  font-weight: 800;
  text-decoration: underline;
}

.verification-required-message .a1-verify-profile:hover {
  color: var(--accent-primary);
}

.verification-required-alert input,
.verification-required-alert .form-control {
  display: none !important;
}

.panel_s .panel-body .verification-required-alert {
  margin-bottom: 0;
}

html.a1-portal-guest,
html.a1-portal-guest body,
body.a1-login-theme,
body.customers_login,
body.login_admin,
body.customers,
body.register {
  background:
    radial-gradient(circle at 18% 12%, rgba(201, 168, 76, 0.12), transparent 30rem),
    radial-gradient(circle at 82% 10%, rgba(15, 31, 61, 0.08), transparent 32rem),
    linear-gradient(135deg, #f9f6ef 0%, #fffdf7 54%, #ffffff 100%) !important;
  color: var(--text-900) !important;
}

html.a1-portal-guest :is(#wrapper, #content, .jumbotron, .kb-search-jumbotron, .kb-search),
body.a1-login-theme :is(#wrapper, #content, .jumbotron, .kb-search-jumbotron, .kb-search) {
  background: transparent !important;
}

html.a1-portal-guest :is(.panel_s, .panel, .card, .a1-form-shell, .a1-affiliate-shell .jumbotron),
body.a1-login-theme :is(.panel_s, .panel, .card, .a1-form-shell, .a1-affiliate-shell .jumbotron) {
  border-color: rgba(201, 168, 76, 0.3) !important;
  background: rgba(255, 253, 247, 0.9) !important;
  box-shadow: 0 24px 70px rgba(15, 31, 61, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.58) !important;
}

html.a1-portal-guest :is(.form-control, .bootstrap-select .btn, input, textarea),
html.a1-portal-guest select:not(.bs-select-hidden),
body.a1-login-theme :is(.form-control, .bootstrap-select .btn, input, textarea),
body.a1-login-theme select:not(.bs-select-hidden) {
  border-color: rgba(201, 168, 76, 0.34) !important;
  background: rgba(255, 255, 255, 0.88) !important;
  color: var(--text-900) !important;
  box-shadow: none !important;
  font-size: 17px !important;
  min-height: 48px !important;
}

html.a1-portal-guest :is(.form-control:focus, input:focus, select:focus, textarea:focus),
body.a1-login-theme :is(.form-control:focus, input:focus, select:focus, textarea:focus) {
  border-color: var(--accent-primary) !important;
  box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.18) !important;
  outline: none !important;
}

html.a1-portal-guest .bootstrap-select > select.bs-select-hidden,
body.a1-login-theme .bootstrap-select > select.bs-select-hidden,
html.a1-portal-guest .bootstrap-select > select.selectpicker,
body.a1-login-theme .bootstrap-select > select.selectpicker {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

html.a1-portal-guest :is(.btn-primary, .btn-info, button[type="submit"]),
body.a1-login-theme :is(.btn-primary, .btn-info, button[type="submit"]) {
  border-color: var(--gold-border) !important;
  background: linear-gradient(135deg, var(--accent-start) 0%, var(--accent-mid) 58%, var(--accent-end) 100%) !important;
  color: #162847 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.7),
    inset 0 -5px 0 rgba(115, 82, 12, 0.12),
    0 14px 0 rgba(15, 31, 61, 0.08),
    0 20px 36px rgba(15, 31, 61, 0.14) !important;
  font-size: 17px !important;
  min-height: 50px !important;
}

html.a1-portal-guest :is(.btn-primary:hover, .btn-primary:focus, .btn-info:hover, .btn-info:focus, button[type="submit"]:hover, button[type="submit"]:focus),
body.a1-login-theme :is(.btn-primary:hover, .btn-primary:focus, .btn-info:hover, .btn-info:focus, button[type="submit"]:hover, button[type="submit"]:focus) {
  border-color: rgba(181, 139, 43, 0.76) !important;
  background: linear-gradient(135deg, var(--accent-hover-start) 0%, var(--accent-hover-mid) 58%, var(--accent-hover-end) 100%) !important;
  color: #162847 !important;
}

html.a1-portal-guest :is(.btn-default, .btn-outline, .btn-ghost),
body.a1-login-theme :is(.btn-default, .btn-outline, .btn-ghost) {
  border-color: var(--gold-border) !important;
  background: linear-gradient(135deg, rgba(255, 253, 247, 0.92), rgba(255, 243, 207, 0.72)) !important;
  color: #162847 !important;
  box-shadow: 0 12px 24px rgba(15, 31, 61, 0.1) !important;
  font-size: 17px !important;
}

html.a1-portal-guest :is(a, .text-muted, .forgotten-password),
body.a1-login-theme :is(a, .text-muted, .forgotten-password) {
  color: #162847 !important;
  font-size: 17px !important;
}

html.a1-portal-guest #kb-search-form .form-control,
html.a1-portal-guest form[action*="knowledge-base/search"] .form-control {
  background: rgba(255, 253, 247, 0.92) !important;
  color: #162847 !important;
  border-color: var(--gold-border) !important;
  box-shadow: 0 14px 30px rgba(15, 31, 61, 0.12) !important;
  font-size: 18px !important;
}

html.a1-portal-guest #kb-search-form .form-control::placeholder,
html.a1-portal-guest form[action*="knowledge-base/search"] .form-control::placeholder {
  color: rgba(67, 81, 106, 0.72) !important;
}
