/*
    DEMO STYLE
*/

@font-face {
    font-family: 'Utendo-bold';
    src: url('/assets/fonts/Utendo-Bold.woff') format('truetype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Utendo-regular';
    src: url('/assets/fonts/Utendo-Regular.woff') format('truetype');
    font-weight: normal;
    font-style: normal;
}


body {
    font-family: "Utendo-regular", sans-serif;
    background: #f0f1f7;
    overflow-x: hidden;
    margin-top: 12em;
}

.fila-en-revision {
    background-color: #fff3cd !important; /* Color amarillo claro tipo alerta */
}

.timeline {
    list-style: none;
    padding: 0;
    position: relative;
}

.timeline:before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: 4px;
    height: 100%;
    background-color: #ccc;
    transform: translateX(-50%);
}

.timeline-item {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
    position: relative;
}

.timeline-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #fff;
    border: 4px solid #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin-right: 20px;
}

.completed .timeline-icon {
    border-color: #28a745;
}

.pending .timeline-icon {
    border-color: #ffc107;
}

.timeline-content {
    flex-grow: 1;
    background-color: #f8f9fa;
    padding: 15px;
    border-radius: 8px;
}


.btn-label {
	position: relative;
	left: -12px;
	display: inline-block;
	padding: 6px 12px;
	background: rgba(0, 0, 0, 0.15);
	border-radius: 3px 0 0 3px;
}
 
.btn-labeled {
	padding-top: 0;
	padding-bottom: 0;
}
 
.btn {
    margin-bottom: 10px;
}

.icon-red {
    color: red !important;
}
h1, h2, h3, h4 {
    font-family: "Utendo-bold", sans-serif;
}
h5, h6 {
    font-family: "Utendo-regular", sans-serif;
}
p {
    font-family: "Utendo-regular", sans-serif;
    font-size: 1.1em;
    font-weight: 300;
    line-height: 1.7em;
    color: #999;
}
.capy1 {
    color: #F18932;
}
.redondiv {
    width: 100px;
    height: 100px;
    background-color: #fff;
    border-radius: 50%;
}
.agranda {
    font-size: 1.4em !important;
}
.hrb {
    border-top: 1px solid #fff;
}
.tfoot {
    font-size: 0.8em;
    font-weight: 600;
    margin-bottom: 0 !important;
}
.logobajada {
    width: 4em;
}
.topi {
    background: #111c43 url('../images/fd_2025.png') no-repeat center center;
    background-size: cover; /* Para que la imagen cubra todo el fondo */
    margin: -25px -25px 25px -25px;
}

.raia {
    background-color: white;
    opacity: 0.5;
}
.swal2-popup {
    border-radius: 1.3125em;
}
.modal-content {
    border-radius: 1.3125em !important;
}
.raian {
    margin-left: -15px;
    height: 2em;
}
.tits-sidebar {
    color: var(--menu-prime-color);
    font-size: .6rem;
    font-weight: 600;
    letter-spacing: .065rem;
    opacity: .5;
    padding: 0.75rem 1.65rem;
    position: relative;
    text-transform: uppercase;
    white-space: nowrap;
}
.cajita {
    background-color: white;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 0.125rem #0a0a0a0a;
    margin-block-end: 1.5rem;
    position: relative;
    width: 100%;
}
.cajita2 {
    background-color: #fffee9;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 0.125rem #0a0a0a0a;
    margin-block-end: 1.5rem;
    position: relative;
    width: 100%;
}
.marge {
    margin-left: 1em;
}
.caja {
    -webkit-box-shadow:inset 0 0 5px 0 #000000;
    box-shadow:inset 0 0 5px 0 #000000;
}
.vold {
    font-weight: 600;
}

.jura {
    font-family: "Utendo-bold", sans-serif;
}
.txt-bco {
    color: #fff !important;
}
.txt-materia {
    text-transform: uppercase;
}
.text-primary {
    color: #0a48af !important;
}
.text-titt {
    color: #062b69 !important;
}
.text-success {
    color: #12803e !important;
}
a,
a:hover,
a:focus {
    color: inherit;
    text-decoration: none;
    transition: all 0.3s;
}
.logo {
    padding: 15px;
      display: block;
  margin-left: auto;
  margin-right: auto;
      width: 70% !important;
}

.selection {
    width: 100% !important;
}
.bg-info {
    background-color: #111c43 !important;
}
.navbar {
    padding: 5px 5px;
    background: #fff;
    border: none;
    border-radius: 0;
    margin: -20px -20px 40px -20px;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
    z-index: 990;
}

.navbar-btn {
    box-shadow: none;
    outline: none !important;
    border: none;
}

.line {
    width: 100%;
    height: 1px;
    border-bottom: 1px dashed #ddd;
    margin: 40px 0;
}
/* ---------------------------------------------------
    SIDEBAR STYLE
----------------------------------------------------- */

#sidebar {
    width: 250px;
    position: fixed;
    top: 0;
    left: -250px;
    height: 100vh;
    z-index: 999;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#453e8c+0,45b8a9+100 */
    background: #111c43; /* Old browsers */
    color: #fff;
    transition: all 0.3s;
    overflow-y: scroll;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
}

#sidebar.active {
    left: 0;
}
#btnMainAsignadosFuncionario {
    color: #fff;
    font-size: 1.1em;
}
.btn_circle {
    width: 30px;
    height: 30px;
    text-align: center;
    padding: 6px 8px;
    line-height: 1.428571429;
    border-radius: 5px;
}
.btn {
    margin-top: 1em;
}

#dismiss {
    width: 35px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    background: #7386D5;
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-border-radius: 50px 50px 50px 50px;
    border-radius: 50px 50px 50px 50px;
}
.btn-info {
    color: #fff;
    background-color: #7386D5 !important;
}
#dismiss:hover {
    background: #fff;
    color: #7386D5;
}

.overlay {
    display: none;
    position: fixed;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.7);
    z-index: 998;
    opacity: 0;
    transition: all 0.5s ease-in-out;
    margin-top: -116px;
}
.btn-success {
    color: #fff;
    background-color: #CC751C !important;
    border-radius: 5px;
}
.btn-success {
    color: #fff;
    background-color: #CC751C !important;
    border-radius: 5px;
}
.btn-success2 {
    color: #fff;
    background-color: #4CAF50 !important;
    border-radius: 5px;
}
.btn-warning {
    border-radius: 5px;
}
.btn-secondary {
    border-radius: 5px;
}
.btn-default {
    border-radius: 5px;
}
.btn-primary {
    border-radius: 5px;
}
.btn-danger {
    border-radius: 5px;
}
.overlay.active {
    display: block;
    opacity: 0;
}

#sidebar .sidebar-header {
    padding: 20px;
    background: #6d7fcc;
}

#sidebar ul.components {
    padding: 20px 0;
    border-bottom: 1px solid #47748b;
}

#sidebar ul p {
    color: #fff;
    padding: 10px;
}

#sidebar ul li a {
    padding: 10px;
    font-size: 0.95em;
    display: block;
}

#sidebar ul li a:hover {
    color: #7386D5;
    background: #fff;
}

#sidebar ul li.active>a,
a[aria-expanded="true"] {
    color: #fff;
    background: #6d7fcc;
}

a[data-toggle="collapse"] {
    position: relative;
}

.dropdown-bs-toggle::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}

ul ul a {
    font-size: 0.78em !important;
    padding-left: 30px !important;
    background: #6d7fcc;
}

ul.CTAs {
    padding: 20px;
}

ul.CTAs a {
    text-align: center;
    font-size: 0.9em !important;
    display: block;
    border-radius: 5px;
    margin-bottom: 5px;
}

a.download {
    background: #fff;
    color: #7386D5;
}

a.article,
a.article:hover {
    background: #6d7fcc !important;
    color: #fff !important;
}


/* ---------------------------------------------------
    CONTENT STYLE
----------------------------------------------------- */

#content {
    width: 100%;
    /*padding: 20px;*/
    padding-top: 20px;
    min-height: 100vh;
    transition: all 0.3s;
    position: absolute;
    top: 0;
    right: 0;
}
.nintra {
    background: #26080c !important;
    height: 40px;
}
.bcolap {
    padding-left: 80px;
}



/* 30 ene 2021 - Nuevos cambios para interfaz 2.0 */
.modal-dialog .modal-content .modal-header {
    border-top-left-radius: .125rem;
    border-top-right-radius: .125rem;
}
.text-info {
    color: #205596 !important;
}
.footer2 {
background: #fff; /* Old browsers */
  bottom: 0;
  width: 100%;
  -webkit-box-shadow: 1px 1px 7px 3px #BDBDBD;
    box-shadow: 1px 1px 7px 3px #BDBDBD;
}
.futer {
    color: #646464;
    padding-top: 10px;
    font-size: 0.9em;
}
.card-body {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-height: 1px;
    padding: 10px 10px 20px 10px;
}
.card-footer {
    padding: 10px 10px 80px 10px;
    background-color: rgba(0,0,0,.03);
    border-top: 1px solid rgba(0,0,0,.125);
}

.preloader {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: 9999;
   background-image: url('https://gestion.transparenciaquillota.cl/img/loader.gif');
   background-repeat: no-repeat; 
   background-color: #FFF;
   background-position: center;
}

.unique-color, .bg-primary {
        /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#453e8c+0,45b8a9+100 */
background: #111c43 !important; /* Old browsers */
}
.unique-colors {
        /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#453e8c+0,45b8a9+100 */
background: #111c43 !important; /* Old browsers */
}
.bg-primary {
    background-color: #111c43 !important;
}
.bg-primarydm {
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#e567c5+0,4e4cc9+100 */
background: #e567c5; /* Old browsers */
background: -moz-linear-gradient(top,  #e567c5 0%, #4e4cc9 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #e567c5 0%,#4e4cc9 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #e567c5 0%,#4e4cc9 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e567c5', endColorstr='#4e4cc9',GradientType=0 ); /* IE6-9 */
}
.simgh3 {
    color: #6e6a81;
    font-weight: 800;
}
.simgh4 {
    color: #6e6a81;
    font-weight: 500;
    line-height: 1em;
    font-size:0.9em;
}
.simgh5 {
    color: #6e6a81;
    font-weight: 500;
    line-height: 1em;
}
.simgh2 {
    color: #1b104d;
    font-weight: 700;
}
.simgh2b {
    color: #fff;
    font-weight: 700;
}
.loader{
  position: fixed;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background: url('https://gestion.transparenciaquillota.cl/img/loader.gif') 
              50% 50% no-repeat rgb(249,249,249);
}
.f-perfil {
    width: 50%;
    border-radius: 50%;
}
.bg-light {
        background-image: url("../../img/trama-escudo.png");
  background-position: center;
  background-size: cover;
  background-repeat:no-repeat ;
}
.waith {
    color: #fff !important;
    font-size: 1rem !important;}
.waith2 {
    color: #F18832 !important;
    font-size: 0.9rem !important;}
.blac {
    color: #000 !important;
    font-size: 0.9rem !important;}
.topito9 {
    background: #45b8a9; /* Old browsers */
background: -moz-linear-gradient(left,  #45b8a9 0%, #453e8c 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left,  #45b8a9 0%,#453e8c 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right,  #45b8a9 0%,#453e8c 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#45b8a9', endColorstr='#453e8c',GradientType=1 ); /* IE6-9 */
}
.bg-dark {
    background-color: transparent !important;
}

.css-button-shadow-border-sliding--green {
  min-width: 130px;
  height: 40px;
  color: #fff;
  padding: 5px 10px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
  outline: none;
  border-radius: 5px;
  border: none;
  box-shadow:inset 2px 2px 2px 0px rgba(255,255,255,.5), 7px 7px 20px 0px rgba(0,0,0,.1), 4px 4px 5px 0px rgba(0,0,0,.1);
  background: #57cc99;
 z-index: 1;
}
.css-button-shadow-border-sliding--green:hover:after {
  width: 100%;
  left: 0;
}
.css-button-shadow-border-sliding--green:after {
  border-radius: 5px;
  position: absolute;
  content: "";
  width: 0;
  height: 100%;
  top: 0;
  z-index: -1;
  box-shadow:inset 2px 2px 2px 0px rgba(255,255,255,.5), 7px 7px 20px 0px rgba(0,0,0,.1), 4px 4px 5px 0px rgba(0,0,0,.1);
  transition: all 0.3s ease;
  background-color: #80ed99;
  right: 0;
}
.css-button-shadow-border-sliding--green:active {
  top: 2px;
}
.button {
    border-radius:5px;
}
.select2-selection {
  border: 1px solid #0d6efd !important; /* Bootstrap primary color */
  border-radius: 0.375rem; /* Ajuste opcional para bordes redondeados */
}
input.form-control:focus {
  border-color: #ff9800; /* Anaranjado */
  box-shadow: 0 0 0 0.2rem rgba(255, 152, 0, 0.25); /* Sombra anaranjada */
}
.btn-primary:hover {
  background-color: #ff9800; /* Anaranjado */
  border-color: #ff9800;
  color: #fff;
}
.table-darck {
    background-color: #151b44 !important;
}
ul.compacto {
  padding-left: 1.2em;   /* Reduce el espacio del bullet */
  margin-left: 0;
  list-style-position: inside; /* Hace que el punto quede junto al texto */
}

ul.compacto li {
  margin: 0;
  padding: 0;
}
  @keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
  }

  .blinking {
    animation: blink 1s infinite;
  }

  @keyframes fadeInUp {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
  }

  .custom-tooltip.show {
    animation: fadeInUp 0.5s ease-in-out;
  }

  #screenOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 1040;
    display: none;
  }
  @keyframes parpadeo {
  0% { opacity: 1; }
  50% { opacity: 0.4; }
  100% { opacity: 1; }
}

#btnPerfil i {
  animation: parpadeo 1.2s ease-in-out 6;
}
.card-img-top {
  height: 220px; /* Puedes ajustar este valor */
  object-fit: cover;
}
        .copiar-btn {
            padding: 10px 15px;
            background-color: #4CAF50;
            color: white;
            border: none;
            cursor: pointer;
            font-size: 16px;
        }
        .copiar-btn:hover {
            background-color: #45a049;
        }
        .texto {
            margin-bottom: 10px;
            font-size: 16px;
        }
        
        /* Estilo del toast (notificación flotante) */
.toast {
    visibility: hidden;
    min-width: 250px;
    margin-left: -125px;
    background-color: #4CAF50;
    color: white;
    text-align: center;
    border-radius: 2px;
    padding: 8px;
    position: fixed;
    z-index: 1;
    right: 30px; /* Mueve el toast hacia la derecha */
    top: 30px; /* Mueve el toast hacia la parte superior */
    font-size: 16px;
}

        .toast.show {
            visibility: visible;
            animation: fadein 0.5s, fadeout 0.5s 2.5s;
        }

        @keyframes fadein {
            from {bottom: 0; opacity: 0;}
            to {bottom: 30px; opacity: 1;}
        }

        @keyframes fadeout {
            from {opacity: 1;}
            to {opacity: 0;}
        }
        
.caja-celeste {
  background: #E6F4FF;      /* celeste */
  color: #0A2E5C;           /* azul oscuro */
  border-radius: 10px 10px 0 0; /* TL, TR, BR, BL */
  border: 2px solid #0A2E5C;    /* borde azul oscuro */
  /* opcional: */
  padding: .75rem 1rem;
}

/* Proporciones reales */
.columna-izquierda {
  flex: 0 0 65%;
  background: #E6F4FF;       /* celeste */
  color: #0A2E5C;            /* azul oscuro */
  border-radius: 15px 0 0 15px;
}

.columna-derecha {
  flex: 0 0 35%;
  background: #0A2E5C;       /* azul oscuro */
  color: #E6F4FF;            /* celeste */
  border-radius: 0 15px 15px 0;
}

/* Separaci��n entre columnas */
.separador {
  flex: 0 0 5%;
  background: transparent;
}

/* Responsive: columnas apiladas */
@media (max-width: 992px) {
  .col-lg-10.d-flex {
    flex-direction: column;
  }

  .columna-izquierda,
  .columna-derecha {
    flex: 0 0 100%;
    border-radius: 15px;
    margin-bottom: 1rem;
  }

  .separador {
    display: none;
  }
}

.formulario {
  text-align: center;
}

/* --- Estilo moderno para los radio buttons --- */
.form-check-modern {
  position: relative;
}

.form-check-modern input[type="radio"] {
  appearance: none;
  width: 22px;
  height: 22px;
  border: 2px solid #0A2E5C;
  border-radius: 50%;
  outline: none;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  vertical-align: middle;
  margin-right: 8px;
}

.form-check-modern input[type="radio"]:checked {
  background-color: #0072CE;
  border-color: #0072CE;
  box-shadow: 0 0 0 4px rgba(0,114,206,0.2);
}

.form-check-modern label {
  font-weight: 500;
  color: #0A2E5C;
  cursor: pointer;
}

/* Centrado y ancho completo del botón */
#btnEnviarFormulario {
  display: block;
  width: 100%;
  font-size: 1.1rem;
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.1);
  transition: transform 0.1s ease-in-out;
}

#btnEnviarFormulario:hover {
  transform: scale(1.02);
}

/* Ajustes visuales para móviles */
@media (max-width: 768px) {
  .form-check-modern {
    display: block;
    margin: 5px 0;
  }
}

.encabezado-azul {
  background-color: #0A2E5C;      /* azul institucional */
  margin: 0 auto;
  border-radius: 10px 10px 0 0;   /* bordes redondeados superiores */
  max-width: 100%;
}


/* Contenedor general */
.banner-marquesina {
    background: #0a1a3c;
    color: #ffffff;
    font-size: 18px;  /* 🔥 Tamaño ligeramente más grande */
    overflow: hidden;
    position: relative;
    padding-left: 45px !important; /* Para dejar espacio al ícono */
}

/* Ícono tipo favicon animado */
.icon-marquesina {
    position: absolute;
    left: 12px;
    top: 50%;              /* ← más preciso */
    transform: translateY(-50%);
    font-size: 26px;       /* ← un poquito más grande */
    color: #FFD43B;
    opacity: 0.95;
    animation-duration: 1.8s;
}

/* Marquesina */
.marquee {
    white-space: nowrap;
    overflow: hidden;
}

.marquee span {
    display: inline-block;
    padding-left: 100%;
    animation: marqueeAnim 18s linear infinite;
    font-weight: 500;
}

@keyframes marqueeAnim {
    0% { transform: translateX(0%); }
    100% { transform: translateX(-100%); }
}

/* Línea luminosa GOVTech */
.glow-line {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    width: 100%;
    background: linear-gradient(90deg, #00c6ff, #0072ff, #00c6ff);
    filter: drop-shadow(0 0 6px #4dabff);
    animation: glowMove 6s linear infinite;
}

@keyframes glowMove {
    0% { background-position: 0% }
    100% { background-position: 200% }
}


/* 🎉 Cumpleaños / mensajes */
.saludo-dia {
    background: #eef7ff;
    border-left: 4px solid #0d6efd;
    min-height: 75px;
}

.mensaje-optimista {
    font-size: 14px;
}

.marquesina-cumple {
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
    position: relative;
    background: transparent;
}

.marquesina-cumple span {
    display: inline-block;
    padding-left: 100%;
    animation: cumpleScroll 12s linear infinite;
    font-weight: 600;
    font-size: 16px;
}

@keyframes cumpleScroll {
    0% { transform: translateX(0%); }
    100% { transform: translateX(-100%); }
}
.form-control-sm:focus {
    box-shadow: 0 0 0 0.15rem rgba(13,110,253,.25);
}

/* =====================================================
   FORMULARIO · VISACIONES (PASO 1)
===================================================== */

.formulario {
  --f-brand: #0A2E5C;     /* Azul institucional */
  --f-accent: #0072CE;   /* Acento moderno */
  --f-soft: #F8FAFC;     /* Fondo suave */
  --f-border: #E2E8F0;   /* Bordes */
  --f-text: #0F172A;
  --f-muted: #64748B;
}

/* PASO 2 · Neutralizar fondos verdes heredados */
.formulario div[style*="#adebad"] {
  background-color: var(--f-soft) !important;
  border: 1px solid var(--f-border);
  border-radius: 12px;
}

/* PASO 3 · Inputs y selects elegantes */
.formulario .form-control,
.formulario select,
.formulario .select2-selection {
  border-radius: 10px;
  border: 1px solid var(--f-border) !important;
  font-size: .95rem;
  padding: .7rem .9rem;
  text-align: center;
}

/* Focus accesible y sobrio */
.formulario .form-control:focus,
.formulario .select2-selection:focus {
  border-color: var(--f-brand);
  box-shadow: 0 0 0 3px rgba(10,46,92,.15);
}

/* PASO 4 · Jerarquía tipográfica del formulario */
.formulario h4 {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--f-brand);
  margin-bottom: .5rem;
}

.formulario label {
  font-size: .8rem;
  font-weight: 600;
  color: var(--f-muted);
}

/* PASO 5 · Botón final protagonista */
.formulario #btnEnviarFormulario {
  background: linear-gradient(
    135deg,
    var(--f-brand),
    var(--f-accent)
  ) !important;
  border: none;
  border-radius: 14px;
  font-size: 1.1rem;
  padding: 1rem;
}

.formulario #btnEnviarFormulario:hover {
  filter: brightness(1.05);
}

/* PASO 6 · Aire y respiración visual */
.formulario .row {
  margin-bottom: 1rem;
}

.formulario .msgAdjunto,
.formulario .msgOficioConductor {
  font-size: .85rem;
  color: var(--f-muted);
}

/* HEROS PERSONALIZADOS VISACIONES */
.bg-primaryv {
    background-color: #49337b !important;
}

/* Banner cápsula institucional */
.banner-visaciones {
  background: linear-gradient(
    180deg,
    #121b3d 0%,
    #0a1330 100%
  );
  border-radius: 999px; /* magia pill */
  box-shadow: 0 8px 18px rgba(0,0,0,.25);
  text-align: left;
}

/* Texto superior */
.banner-subtitle {
  font-family: "Utendo-regular", sans-serif;
  font-size: .9rem;
  opacity: .85;
  line-height: 1.1;
}

/* Texto principal */
.banner-title {
  font-family: "Utendo-bold", sans-serif;
  font-size: 1.9rem;
  line-height: 1.1;
}

.banner-visaciones {
  transform: scale(0.8);
  transform-origin: left center;
}

.banner-header {
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}

/* ==============================
   Timbre Visado Digital
============================== */

.timbre-visado {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1.2rem 2rem;
  background-color: #9b0010; /* rojo institucional */
  color: #ffffff;
  border-radius: 28px;
  font-family: "Utendo-bold", sans-serif;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

/* Ícono */
.timbre-icono {
  width: 64px;
  height: 64px;
  background: #ffffff;
  color: #9b0010;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
}

/* Texto */
.timbre-texto {
  line-height: 1.1;
  text-align: left;
}

.timbre-linea-1 {
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.timbre-linea-2 {
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.timbre-linea-3 {
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

/* Responsive */
@media (max-width: 576px) {
  .timbre-visado {
    transform: scale(0.9);
  }
}


.timbre-visado {
  transform: scale(0.6);
  transform-origin: center; 
}

.loader-circle {
    width: 160px;
    height: 160px;
    background: #ffffff;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.loader-circle img {
    max-width: 80px;
    max-height: 80px;
}

.loader-text {
    margin-top: 6px;
    font-weight: 700;
    color: #000000;
    font-size: 0.9rem;
    letter-spacing: 1px;
}

/* ===============================
   CONTADOR OFICIAL DE PLAZOS
================================ */

.modulo-contador h3 {
    font-family: "Utendo-bold", sans-serif;
    color: #111c43;
}

.modulo-contador .card {
    border-radius: 18px;
    border: 1px solid #e5e5e5;
}

.modulo-contador .btn-primary {
    background-color: #9b0010;
    border-color: #9b0010;
}

.modulo-contador .btn-primary:hover {
    background-color: #7a000c;
    border-color: #7a000c;
}

.modulo-contador .btn-danger {
    background-color: #9b0010;
    border-color: #9b0010;
}

.modulo-contador .alert-secondary {
    background-color: #f4f6f9;
    border-color: #dcdcdc;
    color: #111c43;
}

.modulo-contador label {
    font-weight: 600;
    color: #111c43;
}

