/* OVERLAY */
.drawer-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(3px);

  opacity: 0;
  visibility: hidden;

  transition: opacity 0.3s ease, visibility 0.3s ease;

  z-index: 1040;
}

.drawer-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* PANEL */
.drawer {
  position: fixed;
  top: 0;
  right: 0;

  width: 420px;
  max-width: 100vw;
  height: 100dvh;

  background: #16161c;
  box-sizing: border-box;
  outline: 1px solid rgba(212, 175, 55, 0.3);
  
  box-shadow: -4px 0 18px rgba(0,0,0,.35);
  /*transform: translateX(100%);*/
  transform: translate3d(105%, 0, 0);
  transition: transform 0.35s ease;

  z-index: 1050;

  display: flex;
  flex-direction: column;

  will-change: transform;
  backface-visibility: hidden;
}

/* PANEL ACTIVO */
.drawer.active {
  transform: translate3d(0, 0, 0);
}

/* MOBILE */
@media (max-width: 768px) {
  .drawer {
    width: 100vw;
  }
}

/* HEADER fijo */
.drawer-header {
  flex-shrink: 0;
}

/* BODY con scroll */
.drawer-body {
  flex: 1;
  overflow-y: auto;
  scrollbar-width: thin;
}

/* Chrome */
.drawer-body::-webkit-scrollbar {
  width: 6px;
}

.drawer-body::-webkit-scrollbar-thumb {
  background: rgba(212, 175, 55, 0.5);
  border-radius: 10px;
}
