body {
    background: #ffffff !important;
    background-color: #ffffff !important;
}
body, p, a, h1, h2, h3, h4, h5, h6 {
    font-family: "Montserrat", sans-serif;
}
.viewer-canvas {
  width: 100%;
  height: 700px;
  background: #f0f2f5;
  border-radius: .5rem;
  position: relative;
}
.loading-overlay {
  position: absolute;
  inset: 0;               /* top/right/bottom/left: 0 */
  z-index: 20;
  background: rgba(255,255,255,0.75);
  border-radius: .5rem;
}
.tapiz-thumb.active {
  border-color: #dddddd;
}
.tapiz-thumb {
    width: 28px;
    height: 45px;
    border: none;
    border-radius: .25rem;
    cursor: pointer;
    background-size: cover;
    background-position: center;
    transition: transform .08s ease, border-color .2s ease;
    border-radius: 15px;
}
.tapiz-thumb:hover { transform: scale(1.03); }
.tapiz-thumb.active { border-color: #dddddd; box-shadow: 0 0 0 2px rgba(13,110,253,.25); }

/* mini “flash” del badge */
.pulse { animation: pulse .35s ease; }
@keyframes pulse {
  0% { transform: scale(.98); opacity: .8; }
  100% { transform: scale(1); opacity: 1; }
}
.nav-pills {
    border-bottom: 1px solid #eaeaea;
}
.nav-item {
    border-radius: 10px 10px 0px 0px;
    background: #eaeaea;
    color: #222222;
    font-size: 13px;
    
}
.nav-link {
    color: #222222 !important;
}
.nav-link.active {
    border-radius: 10px 10px 0px 0px;
    background: #000000 !important;
    background-color: #000000 !important;
    color: #ffffff !important;
    
    
}
.tab-content {
    border: 1px solid #eaeaea;
    border-radius: 0px 0px 15px 15px;
    padding: 15px;
    background: #f8f8f8;
    margin-top: -9px;
}
.tapiz-thumb.loading { opacity: .6; pointer-events: none; }