/* Quick View 3 — clean soft · RIGHT SLIDE DRAWER */

.bsp-quick-view--3 {
  --bsp-qv-dialog-closed: translateX(105%);
  --bsp-qv-dialog-open: translateX(0);
  --bsp-qv-dialog-opacity-closed: 1;
  --bsp-qv-dialog-opacity-open: 1;
  --bsp-qv-dialog-duration: 0.44s;
  --bsp-qv-dialog-ease: cubic-bezier(0.22, 1, 0.36, 1);
  align-items: stretch;
  justify-content: flex-end;
  padding: 0;
}

.bsp-quick-view--3 .bsp-quick-view__dialog {
  width: min(100%, var(--bsp-qv-panel-width, 520px));
  max-width: var(--bsp-qv-panel-width, 520px);
  max-height: 100%;
  height: 100%;
  border-radius: var(--bsp-qv-panel-radius, 24px) 0 0 var(--bsp-qv-panel-radius, 24px);
  box-shadow: -18px 0 48px rgba(28, 28, 28, 0.18);
  overflow: visible;
}

.bsp-quick-view--3 .bsp-quick-view__float-label {
  position: absolute;
  top: 24px;
  left: -12px;
  z-index: 6;
  padding: 6px 12px;
  background: var(--bsp-qv-float-bg, #1c1c1c);
  color: var(--bsp-qv-float-text, #fff);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-radius: 999px;
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity 0.35s ease 0.18s, transform 0.35s ease 0.18s;
  pointer-events: none;
}

.bsp-quick-view--3.is-open .bsp-quick-view__float-label {
  opacity: 1;
  transform: translateX(0);
}

.bsp-quick-view--3 .bsp-quick-view__container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 20px;
}

.bsp-quick-view--3 .bsp-quick-view__close {
  top: 18px;
  right: 18px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.bsp-quick-view--3 .bsp-quick-view__layout {
  flex-direction: column;
  min-height: 0;
  max-height: none;
}

.bsp-quick-view--3 .bsp-quick-view__gallery,
.bsp-quick-view--3 .bsp-quick-view__details {
  flex: none;
  width: 100%;
  padding: 20px 0;
}

.bsp-quick-view--3.is-entering .bsp-quick-view__body {
  animation: bspQv3Soft 0.45s ease both 0.1s;
}

@keyframes bspQv3Soft {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 576px) {
  .bsp-quick-view--3 .bsp-quick-view__dialog {
    width: 100%;
    max-width: none;
    border-radius: 0;
  }

  .bsp-quick-view--3 .bsp-quick-view__float-label {
    left: 16px;
    top: 16px;
  }
}
