html,
body{
       padding-top:25px;
    margin:0;
    background:linear-gradient();
    
}
html{
    scroll-behavior:smooth;
}
.card{
    border:none;
    border-radius:15px;
    box-shadow:0 5px 18px rgba(0,0,0,.08);
}
    .navbar-brand img {
      height: 30px;
      margin-right: 8px;
    }
   .nav-link.active#ubica-tab {
  background: linear-gradient(135deg, #198754, #0d6efd);
  color: #fff !important;
  border-radius: 8px;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(129, 52, 175, 0.4);
  transition: all 0.3s ease;
  letter-spacing: 0.3px;
}


.btn-modern {
  color: #fff;                       /* Texto blanco */
  background-color: #111;            /* Fondo oscuro elegante */
  border: 1px solid rgba(255,255,255,0.3); /* Borde sutil */
  border-radius: 8px;                /* Bordes redondeados modernos */
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.5px;
  padding: 10px 22px;
  transition: all 0.3s ease;
  box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

/* Efecto hover */
.btn-modern:hover {
  /* Rojo tipo Netflix */
  border-color: #e50914;
  color: #fff;
  box-shadow: 0 4px 16px rgba(229,9,20,0.5);
  transform: translateY(-2px);
}

/* Responsivo */
@media (max-width: 420px) {
  .btn-modern {
    font-size: 14px;
    padding: 8px 18px;
  }
}
  /* Overlay */
  .loader-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
    transition: opacity 240ms ease, visibility 240ms;
    visibility: visible;
    opacity: 1;
  }
  .loader-overlay.hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  .loader-box {
    background: rgba(255,255,255,0.95);
    padding: 22px 30px;
    border-radius: 12px;
    box-shadow: 0 6px 24px rgba(0,0,0,0.25);
    display: flex;
    gap: 18px;
    align-items: center;
    min-width: 220px;
  }

  .spinner {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 4px solid rgba(0,0,0,0.08);
    border-top-color: #e83e8c; /* color del spinner */
    animation: spin 1s linear infinite;
  }
  @keyframes spin { to { transform: rotate(360deg); } }

  .loader-text {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
    font-size: 16px;
    color: #222;
    letter-spacing: 0.2px;
  }

  /* Responsive */
  @media (max-width:480px){
    .loader-box { padding: 16px; gap:12px; min-width: 170px; }
    .spinner { width:32px; height:32px; border-width:3px; }
  }
     /* Estructura para que el footer se quede abajo */

    footer {
          background: linear-gradient(135deg, #198754, #0d6efd);

      color: white;
      box-shadow: 0 -2px 8px rgba(0,0,0,0.3);
    }
    footer a.btn {
      border-radius: 25px;
     
      padding: 6px 15px;
      transition: 0.3s;
    }
    footer a.btn:hover {
      background: white;
      color: #0d6efd;
    }
.subnavbar{
    position:sticky;
    top:56px;
    z-index:1020;
    background:linear-gradient(90deg,#198754,#0d6efd);
    box-shadow:0 4px 12px rgba(0,0,0,.15);
}

.subnavbar .nav{
    justify-content:center;
    gap:10px;
    padding:8px 0;
}

.subnavbar .nav-link{
    color:#fff;
    font-weight:600;
    border-radius:25px;
    padding:10px 18px;
    transition:.3s;
}

.subnavbar .nav-link:hover{
    background:rgba(255,255,255,.2);
    transform:translateY(-2px);
}
.carousel{
    border-radius:15px;
    overflow:hidden;
}

.carousel-item img{
    width:100%;
    height:60vh;
    object-fit:cover;
}

@media (max-width:768px){
    .carousel-item img{
        height:300px;
    }
}
section{
    scroll-margin-top:120px;
}