/*
 * Paquete aislado del login.
 * Basado en las reglas visuales del login de LIVP_LSISTEMAS,
 * cargado solo por index.php y registro.php.
 */
body {
  font-family: "Lato", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.8;
  font-weight: normal;
  background: #f8f9fd;
  color: gray;
}

a { transition: .3s all ease; color: #0e2d63; }
a:hover, a:focus, a:active { color: #0e2d63; text-decoration: none !important; outline: none !important; box-shadow: none; }
h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5 { line-height: 1.5; font-weight: 400; font-family: "Lato", Arial, sans-serif; color: #000; }
.ftco-section { padding: 7em 0; min-height: 100vh; }
.heading-section { font-size: 28px; color: #000; }
.wrap { width: 100%; overflow: hidden; background: #fff; border-radius: 5px; box-shadow: 0px 10px 34px -15px rgba(0, 0, 0, 0.24); }
.login-wrap { position: relative; }
.form-group { position: relative; z-index: 0; margin-bottom: 20px !important; }
.form-control { height: 48px; background: #fff; color: #000; font-size: 16px; border-radius: 5px; box-shadow: none; border: 1px solid rgba(0, 0, 0, 0.1); }
.form-control:focus, .form-control:active { outline: none !important; box-shadow: none; border: 1px solid #0e2d63; }
.form-control::placeholder { color: rgba(0, 0, 0, 0.2) !important; }
.form-label-fixed { display: flex; align-items: center; gap: .4rem; font-weight: 600; margin-bottom: .4rem; color: #343a40; }
.info-icon { cursor: help; font-size: .95rem; line-height: 1; color: #6c757d; }
.info-icon:hover, .info-icon:focus { color: #495057; }
.field-icon { position: absolute; top: 50%; right: 15px; transform: translateY(-50%); z-index: 2; cursor: pointer; user-select: none; color: rgba(0, 0, 0, 0.3); }
#password-field, #password-repeat-field { padding-right: 2.25rem; }
.social-media { position: relative; width: 100%; }
.social-media .social-icon { display: flex; width: 40px; height: 40px; background: transparent; border: 1px solid rgba(0, 0, 0, 0.05); font-size: 16px; margin-left: .35rem; border-radius: 50%; padding: 0; color: #999; }
.social-media .social-icon:hover, .social-media .social-icon:focus { background: #0e2d63; color: #fff; }
.btn { cursor: pointer; box-shadow: none !important; font-size: 15px; padding: 10px 20px; }
.btn.btn-primary { background: #0e2d63 !important; border: 1px solid #0e2d63 !important; color: #fff !important; }
.btn.btn-primary:hover { background: #0e2d63; border-color: #0e2d63; color: #fff; }
.login-cover-carousel .carousel-item { height: 220px; }
.login-cover-carousel .carousel-item img { width: 100%; height: 220px; object-fit: cover; cursor: grab; -webkit-user-drag: none; user-select: none; }
.login-cover-carousel .carousel-inner { cursor: grab; }
.login-cover-carousel.is-dragging .carousel-inner, .login-cover-carousel.is-dragging .carousel-item img { cursor: grabbing; }
.login-caption { color: #777; font-size: .88rem; line-height: 1.35; padding-right: 1rem; }
.login-default-logo { display: block; max-width: 150px; max-height: 48px; object-fit: contain; object-position: left center; margin: 0 0 .55rem; }
.demo-access-list { display: grid; grid-template-columns: 1fr; gap: .65rem; }
.demo-access-option { width: 100%; border: 1px solid rgba(14,45,99,.13); border-radius: .35rem; background: #fff; text-align: left; padding: .75rem .85rem; line-height: 1.3; transition: .2s ease; }
.demo-access-option:hover, .demo-access-option:focus { border-color: #0e2d63; background: #f5f8fd; outline: none; }
.demo-access-option strong, .demo-access-option span, .demo-access-option small { display: block; }
.demo-access-option strong { color: #0e2d63; font-size: .97rem; }
.demo-access-option span { color: #343a40; font-size: .88rem; }
.demo-access-option small { color: #6c757d; font-size: .78rem; margin-top: .15rem; }
@media (max-width: 767.98px) {
  .ftco-section { padding: 2.4rem 0; }
  .heading-section { font-size: 22px; }
}
