.quick-view-open { overflow: hidden; }

.product-quick-view-overlay {
  position: fixed;
  z-index: 30;
  inset: 0;
  padding: 24px;
  display: grid;
  place-items: center;
  background: #020104b5;
  backdrop-filter: blur(6px);
}

.product-quick-view-overlay[hidden] { display: none; }

.product-quick-view {
  width: min(980px, 100%);
  max-height: min(860px, calc(100dvh - 48px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #584d66;
  border-radius: 24px;
  background: radial-gradient(circle at 87% 0, #4b2ba03d, transparent 33%), linear-gradient(145deg, #150f1c, #08060c 58%);
  box-shadow: 0 26px 90px #000c;
  animation: product-quick-view-in .2s ease-out;
}

@keyframes product-quick-view-in {
  from { opacity: 0; transform: translateY(14px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.product-quick-view-topline {
  flex: 0 0 auto;
  z-index: 2;
  min-height: 46px;
  padding: 18px 24px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid #393141;
  background: linear-gradient(145deg, #160f1e, #0e0914);
  box-shadow: 0 9px 21px #05030b8a;
}

.product-quick-view-scroll {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 20px 24px 24px;
}

.product-quick-view-topline > p,
.product-quick-view-copy > p:first-child,
.product-quick-view-breakdown > p:first-child {
  margin: 0;
  color: var(--purple-bright);
  font: 700 9px "Space Mono", monospace;
  letter-spacing: .15em;
}

.product-quick-view-close {
  width: 39px;
  height: 39px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border: 1px solid #584e62;
  border-radius: 50%;
  background: #17101f;
  color: #f5f0f8;
  cursor: pointer;
  font-size: 25px;
  line-height: 1;
}

.product-quick-view-close:hover { border-color: var(--purple-bright); background: #271842; }
.product-quick-view-close:focus-visible,
.product-quick-view-actions button:focus-visible { outline: 2px solid var(--purple-bright); outline-offset: 3px; }

.product-quick-view-main {
  display: grid;
  grid-template-columns: minmax(250px, .88fr) minmax(0, 1.12fr);
  align-items: stretch;
  gap: 24px;
}

.product-quick-view-art {
  min-height: 330px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid #4d4357;
  border-radius: 18px;
  background: radial-gradient(circle at 50% 42%, #4020a855, transparent 43%), linear-gradient(150deg, #151024, #07050b 64%);
}

.product-quick-view-art::before {
  display: none;
}

.product-quick-view-art::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .23;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode: screen;
}

.product-quick-view-art > :not(.product-quick-view-image) { position: relative; z-index: 1; }
.product-quick-view-image { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .58; filter: saturate(.8) contrast(1.05); }
.product-quick-view-art.has-image { background: linear-gradient(150deg, #151024aa, #07050bcc 64%); }
.product-quick-view-art small { position: absolute; top: 18px; color: #c7bfff; font: 700 8px "Space Mono", monospace; letter-spacing: .13em; }
.product-quick-view-art strong { color: #d6ceff; font-size: clamp(45px, 6vw, 73px); font-weight: 900; letter-spacing: -.1em; line-height: .88; text-align: center; text-shadow: 0 0 24px #6644efb8; }
.product-quick-view-art span { max-width: 80%; margin-top: 10px; color: var(--purple-bright); font-size: 10px; font-weight: 900; letter-spacing: .09em; text-align: center; text-transform: uppercase; }

.product-quick-view-copy { min-width: 0; padding: 7px 0 2px; }

.product-quick-view-copy h2 {
  margin: 12px 0 0;
  font-size: clamp(31px, 4.4vw, 53px);
  font-weight: 900;
  letter-spacing: -.078em;
  line-height: .92;
  text-transform: uppercase;
}

.product-quick-view-pricing { margin-top: 18px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 9px; }
.product-quick-view-pricing b { color: var(--purple-bright); font-size: 30px; font-weight: 900; letter-spacing: -.065em; }
.product-quick-view-pricing s { color: #7b7381; font-size: 15px; font-weight: 800; }
.product-quick-view-delivery-note { margin: 17px 0 0; color: #c7bbf2; font: 800 8px "Space Mono", monospace; letter-spacing: .09em; line-height: 1.5; }
.product-quick-view-collection-spacer { height: 25px; margin-top: 16px; }

.product-quick-view-actions { margin-top: 22px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.product-quick-view-actions button { min-height: 45px; padding: 0 15px; border: 1px solid #7058d1; border-radius: 999px; background: #4324bd; box-shadow: 0 0 22px #4e2bc35c; color: #fff; cursor: pointer; font: 900 8px Inter, Arial, sans-serif; letter-spacing: .11em; }
.product-quick-view-actions button:hover:not(:disabled) { background: var(--purple-bright); }
.product-quick-view-actions .product-quick-view-add { border-color: #6553a3; background: transparent; box-shadow: none; color: #d7ceff; }
.product-quick-view-actions .product-quick-view-add:hover:not(:disabled) { border-color: #8a71ec; background: #211738; }
.product-quick-view-actions button:disabled { border-color: #443d4c; background: #2b2530; box-shadow: none; color: #9d96a2; cursor: not-allowed; }
.product-quick-view-action-note { margin: 10px 0 0; color: #958c9e; font-size: 10px; line-height: 1.45; visibility: hidden; }

.product-quick-view-breakdown { margin-top: 28px; padding-top: 25px; border-top: 1px solid #38313f; }
.product-quick-view-breakdown h3 { margin: 11px 0 18px; font-size: clamp(26px, 3.4vw, 38px); font-weight: 900; letter-spacing: -.075em; text-transform: uppercase; }
.product-quick-view-breakdown h3 span { color: var(--purple-bright); text-shadow: 0 0 21px var(--purple-glow); }
.product-quick-view-details { display: grid; gap: 10px; }
.product-quick-view-detail { overflow: hidden; border: 1px solid #413a49; border-radius: 14px; background: #0d0912; }
.product-quick-view-detail[open] { border-color: #6652b5; background: linear-gradient(145deg, #160f21, #0d0912); }
.product-quick-view-detail summary { min-height: 65px; padding: 0 19px; display: flex; align-items: center; justify-content: space-between; gap: 14px; cursor: pointer; list-style: none; color: var(--text); font-size: 12px; font-weight: 900; letter-spacing: .075em; }
.product-quick-view-detail summary::-webkit-details-marker { display: none; }
.product-quick-view-detail summary b { width: 25px; height: 25px; display: grid; flex: 0 0 auto; place-items: center; border: 1px solid #5a4e66; border-radius: 50%; color: var(--purple-bright); font-size: 18px; font-weight: 500; line-height: 1; transition: transform .18s ease; }
.product-quick-view-detail[open] summary b { transform: rotate(45deg); }
.product-quick-view-detail > div { padding: 0 19px 19px; color: var(--muted); font-size: 12px; line-height: 1.62; }
.product-quick-view-detail > div p { margin: 0; }
.product-quick-view-detail > div p + p { margin-top: 10px; }
.product-quick-view-detail summary:focus-visible { outline: 2px solid var(--purple-bright); outline-offset: -3px; }

.product-quick-view-bundles { margin-top: 13px; }
.product-quick-view-bundles .frequently-bought-together { margin: 0; overflow: hidden; border: 1px solid #4b4160; border-radius: 14px; background: radial-gradient(circle at 94% 0, #4b2ba02e, transparent 43%), #100c16; }
.product-quick-view-bundles .frequently-bought-together summary { min-height: 64px; padding: 0 18px; color: #f0ebf5; font: 800 9px "Space Mono", monospace; letter-spacing: .11em; }
.product-quick-view-bundles .frequently-bought-together summary b { width: 24px; height: 24px; border-color: #6958a0; font-size: 18px; }
.product-quick-view-bundles .frequently-bought-together summary:focus-visible { outline: 2px solid var(--purple-bright); outline-offset: -3px; }
.product-quick-view-bundles .frequently-bought-together > p { margin: 0 !important; padding: 0 18px 12px; color: #aaa1b6; font-size: 11px !important; line-height: 1.5; }
.product-quick-view-bundles .fbt-options { padding: 0 13px 13px; gap: 8px; }
.product-quick-view-bundles .fbt-option { min-height: 43px; grid-template-columns: 16px minmax(0, 1fr) auto; gap: 9px; padding: 9px 10px; border-color: #463d51; border-radius: 10px; background: #0b0810; font-size: 10px; }
.product-quick-view-bundles .fbt-option:hover { border-color: #7058c3; background: #151020; }
.product-quick-view-bundles .fbt-option input { width: 14px; height: 14px; }
.product-quick-view-bundles .fbt-option small { font-size: 10px; }
.product-quick-view-bundles .fbt-add { width: calc(100% - 26px); min-height: 40px; margin: 0 13px 13px; border: 1px solid #6954bf; border-radius: 10px; background: #2d1d65; color: #eeeaff; cursor: pointer; font: 900 8px Inter, Arial, sans-serif; letter-spacing: .12em; }
.product-quick-view-bundles .fbt-add:hover { background: #3a2683; }
.product-quick-view-bundles .fbt-add:focus-visible { outline: 2px solid var(--purple-bright); outline-offset: 3px; }

@media (max-width: 760px) {
  .product-quick-view-overlay { padding: 13px; }
  .product-quick-view { max-height: calc(100dvh - 26px); border-radius: 19px; }
  .product-quick-view-topline { min-height: 42px; padding: 14px 19px 12px; }
  .product-quick-view-scroll { padding: 16px 19px 19px; }
  .product-quick-view-main { grid-template-columns: 1fr; gap: 19px; }
  .product-quick-view-art { min-height: 225px; }
  .product-quick-view-art strong { font-size: 48px; }
}

@media (max-width: 560px) {
  .product-quick-view-copy h2 { font-size: 34px; }
  .product-quick-view-pricing b { font-size: 27px; }
  .product-quick-view-detail summary { min-height: 59px; padding: 0 15px; font-size: 10px; }
  .product-quick-view-detail > div { padding: 0 15px 17px; font-size: 12px; }
  .product-quick-view-breakdown { margin-top: 22px; padding-top: 21px; }
  .product-quick-view-breakdown h3 { font-size: 29px; }
  .product-quick-view-actions { grid-template-columns: 1fr; }
  .product-quick-view-actions button { width: 100%; }
  .product-quick-view-bundles .frequently-bought-together summary { min-height: 58px; padding: 0 15px; font-size: 8px; }
  .product-quick-view-bundles .frequently-bought-together > p { padding: 0 15px 11px; font-size: 11px !important; }
  .product-quick-view-bundles .fbt-options { padding: 0 11px 11px; }
  .product-quick-view-bundles .fbt-add { width: calc(100% - 22px); margin: 0 11px 11px; }
}
