/* Quick View 7 — Warm Care Studio pet shop · STUDIO REVEAL */

.bsp-quick-view--7 {
  --bsp-qv-dialog-closed: perspective(1000px) translateY(64px) rotateX(4deg) scale(0.9);
  --bsp-qv-dialog-open: perspective(1000px) translateY(0) rotateX(0) scale(1);
  --bsp-qv-dialog-opacity-closed: 0;
  --bsp-qv-dialog-opacity-open: 1;
  --bsp-qv-dialog-duration: 0.62s;
  --bsp-qv-dialog-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --bsp-h7-overlay-font: "Nunito Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  align-items: center;
  justify-content: center;
  padding: 20px;
  font-family: var(--bsp-h7-overlay-font);
}

.bsp-quick-view--7 .bsp-quick-view__overlay {
  background: var(--bsp-qv-overlay, rgba(41, 35, 49, 0.52));
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: opacity 0.4s ease, backdrop-filter 0.4s ease;
}

.bsp-quick-view--7.is-open .bsp-quick-view__overlay {
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.bsp-quick-view--7 .bsp-quick-view__dialog {
  max-width: 100%;
  width: min(100%, 980px);
  max-height: min(88vh, 720px);
  margin: 0 auto;
  border-radius: 28px;
  border: 1px solid #e8dfec;
  background: var(--bsp-qv-bg, #ffffff);
  box-shadow: 0 24px 64px rgba(78, 42, 97, 0.2);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transform-origin: center bottom;
}

.bsp-quick-view--7 .bsp-quick-view__container {
  width: 100%;
  max-width: none;
  padding: 0 22px;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.bsp-quick-view--7 .bsp-quick-view__title {
  font-family: var(--bsp-h7-overlay-font);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--bsp-qv-title, #292331);
}

.bsp-quick-view--7 .bsp-quick-view__price {
  color: #f04f78;
  font-weight: 700;
}

.bsp-quick-view--7 .bsp-quick-view__text,
.bsp-quick-view--7 .bsp-quick-view__excerpt {
  color: var(--bsp-qv-text, #746c7c);
}

.bsp-quick-view--7 .bsp-quick-view__progress,
.bsp-quick-view--7 .bsp-quick-view__gallery-progress {
  height: 3px;
  border-radius: 16px;
  background: #e8dfec;
  overflow: hidden;
}

.bsp-quick-view--7 .bsp-quick-view__progress-bar,
.bsp-quick-view--7 .bsp-quick-view__gallery-progress-bar {
  background: #ff7a45;
  border-radius: 16px;
}

.bsp-quick-view--7 .bsp-quick-view__thumb,
.bsp-quick-view--7 .bsp-quick-view__image,
.bsp-quick-view--7 .bsp-quick-view__gallery img {
  border-radius: 16px;
  background: #fff8ee;
}

.bsp-quick-view--7 .bsp-quick-view__btn,
.bsp-quick-view--7 .single_add_to_cart_button,
.bsp-quick-view--7 .bsp-quick-view__add-to-cart {
  border-radius: 16px;
  letter-spacing: 0.02em;
  font-family: var(--bsp-h7-overlay-font);
  font-weight: 700;
  text-transform: none;
  background: var(--bsp-qv-accent, #6f3c8f);
  color: var(--bsp-qv-btn-text, #ffffff);
  border-color: var(--bsp-qv-accent, #6f3c8f);
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.bsp-quick-view--7 .bsp-quick-view__btn:hover,
.bsp-quick-view--7 .single_add_to_cart_button:hover,
.bsp-quick-view--7 .bsp-quick-view__add-to-cart:hover {
  background: #ff7a45;
  border-color: #ff7a45;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(255, 122, 69, 0.3);
}

.bsp-quick-view--7 .bsp-quick-view__close {
  color: var(--bsp-qv-close, #292331);
  border-radius: 16px;
  transition: background 0.2s ease, color 0.2s ease, transform 0.25s ease;
}

.bsp-quick-view--7 .bsp-quick-view__close:hover {
  background: #fff8ee;
  color: #6f3c8f;
  transform: rotate(90deg);
}

.bsp-quick-view--7 .bsp-quick-view__qty,
.bsp-quick-view--7 .quantity .qty {
  border-radius: 16px;
  border-color: #e8dfec;
}

.bsp-quick-view--7 .bsp-quick-view__secure {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 12px 0 16px;
  border-top: 1px solid #e8dfec;
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--bsp-qv-secure-text, #746c7c);
  flex-shrink: 0;
}

.bsp-quick-view--7.is-entering .bsp-quick-view__body {
  animation: bspQv7Lift 0.62s cubic-bezier(0.34, 1.25, 0.64, 1) both 0.08s;
}

.bsp-quick-view--7.is-entering .bsp-quick-view__secure {
  animation: bspQv7Lift 0.4s ease both 0.22s;
}

.bsp-quick-view--7.is-entering .bsp-quick-view__close {
  animation: bspQv7Close 0.45s cubic-bezier(0.34, 1.4, 0.64, 1) both 0.18s;
}

@keyframes bspQv7Lift {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes bspQv7Close {
  from { opacity: 0; transform: scale(0.7) rotate(-45deg); }
  to { opacity: 1; transform: scale(1) rotate(0); }
}

@media (max-width: 767px) {
  .bsp-quick-view--7 {
    align-items: flex-end;
    padding: 0;
    --bsp-qv-dialog-closed: translateY(100%) scale(1);
    --bsp-qv-dialog-open: perspective(1000px) translateY(0) rotateX(0) scale(1);
    --bsp-qv-dialog-opacity-closed: 1;
    --bsp-qv-dialog-ease: cubic-bezier(0.34, 1.2, 0.64, 1);
  }

  .bsp-quick-view--7 .bsp-quick-view__dialog {
    width: 100%;
    max-width: none;
    max-height: min(92vh, 760px);
    border-radius: 16px 16px 0 0;
    border-bottom: 0;
    transform-origin: center bottom;
  }
}


/* Homepage 7 studio-reveal finishing layer */
.bsp-quick-view--7 .bsp-quick-view__dialog {
  background:
    radial-gradient(circle at 4% 4%, rgba(111,60,143,.08), transparent 26%),
    #ffffff;
  box-shadow: 0 36px 100px rgba(78,42,97,.3);
  transform-style: preserve-3d;
}
.bsp-quick-view--7 .bsp-quick-view__title {
  font-family: "Fraunces", Georgia, serif;
}
.bsp-quick-view--7 .bsp-quick-view__btn,
.bsp-quick-view--7 .single_add_to_cart_button,
.bsp-quick-view--7 .bsp-quick-view__add-to-cart { border-radius: 999px; }
.bsp-quick-view--7.is-entering .bsp-quick-view__body,
.bsp-quick-view--7.is-entering .bsp-quick-view__secure { animation-name: bspQv7Studio; }
@keyframes bspQv7Studio {
  from { opacity: 0; transform: translateY(34px) scale(.96); filter: blur(5px); }
  to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}


@media (prefers-reduced-motion: reduce) {
  .is-entering * { animation-duration: 0.01ms !important; animation-delay: 0ms !important; }
}
