html.npcf-collector-panel-open,
body.npcf-collector-panel-open { overflow: hidden !important; }
.npcf-collector-panel[hidden] { display: none !important; }
.npcf-collector-panel { position: fixed; inset: 0; z-index: 999999; isolation: isolate; }
.npcf-collector-panel__backdrop {
  position: absolute; inset: 0; width: 100%; height: 100%; padding: 0 !important; border: 0 !important;
  border-radius: 0 !important; background: rgba(6, 19, 16, .48) !important; box-shadow: none !important;
  opacity: 0; transition: opacity .28s ease; cursor: default; appearance: none;
  -webkit-backdrop-filter: blur(1.5px); backdrop-filter: blur(1.5px);
}
.npcf-collector-panel__drawer {
  position: absolute; top: 0; right: 0; width: min(820px, 94vw); height: 100%; overflow-x: hidden; overflow-y: auto;
  overscroll-behavior: contain; background: #fff; box-shadow: -22px 0 70px rgba(0,0,0,.28);
  transform: translate3d(102%,0,0); transition: transform .3s cubic-bezier(.2,.8,.2,1); outline: 0;
  scrollbar-gutter: stable;
}
.npcf-collector-panel.is-open .npcf-collector-panel__backdrop { opacity: 1; }
.npcf-collector-panel.is-open .npcf-collector-panel__drawer { transform: translate3d(0,0,0); }
.npcf-collector-panel__topbar {
  position: sticky; top: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 20px;
  min-height: 76px; padding: 16px 24px; color: #fff; background: #0B3D2E; box-shadow: 0 4px 16px rgba(0,0,0,.12);
}
.npcf-collector-panel__topbar strong { display: block; margin: 0; color: #fff; font-size: 17px; line-height: 1.25; }
.npcf-collector-panel__eyebrow { display: block; margin-bottom: 3px; color: #F3DD85; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.npcf-collector-panel__close {
  position: relative; display: block !important; width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important;
  padding: 0 !important; flex: 0 0 44px; border: 1px solid rgba(255,255,255,.5) !important; border-radius: 50% !important;
  color: #fff !important; background: rgba(255,255,255,.04) !important; background-image: none !important; box-shadow: none !important;
  cursor: pointer; appearance: none; transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.npcf-collector-panel__close-icon::before,
.npcf-collector-panel__close-icon::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 19px; height: 2px; border-radius: 2px; background: currentColor;
  transform-origin: center;
}
.npcf-collector-panel__close-icon::before { transform: translate(-50%,-50%) rotate(45deg); }
.npcf-collector-panel__close-icon::after { transform: translate(-50%,-50%) rotate(-45deg); }
.npcf-collector-panel__close:hover,
.npcf-collector-panel__close:focus-visible { color: #0B3D2E !important; background: #F3DD85 !important; border-color: #F3DD85 !important; transform: scale(1.04); outline: 2px solid rgba(255,255,255,.9); outline-offset: 2px; }
.npcf-collector-panel__loading,.npcf-collector-panel__error { padding: 64px 28px; color: #263832; text-align: center; }
.npcf-collector-panel__content { padding-bottom: 34px; }
.npcf-collector-panel__gallery { padding: 26px 26px 0; background: #FAFAFA; }
.npcf-collector-panel__main-image { display: flex; align-items: center; justify-content: center; min-height: 330px; border: 1px solid #ead9b7; border-radius: 16px; background: #fff; overflow: hidden; }
.npcf-collector-panel__main-image img { display: block; width: 100%; height: auto; max-height: 500px; object-fit: contain; }
.npcf-collector-panel__thumbs { display: flex; justify-content: center; gap: 9px; padding: 14px 0; overflow-x: auto; scrollbar-width: thin; }
.npcf-collector-panel__thumb { width: 68px !important; height: 68px !important; min-width: 68px !important; padding: 3px !important; flex: 0 0 68px; border: 1px solid #d9d9d9 !important; border-radius: 9px !important; background: #fff !important; box-shadow: none !important; cursor: pointer; }
.npcf-collector-panel__thumb:hover,.npcf-collector-panel__thumb:focus-visible { border-color: #8B6914 !important; }
.npcf-collector-panel__thumb.is-active { border-color: #8B6914 !important; box-shadow: 0 0 0 2px rgba(139,105,20,.22) !important; }
.npcf-collector-panel__thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 5px; }
.npcf-collector-panel__body { padding: 28px 28px 30px; }
.npcf-collector-panel__title { margin: 0 0 12px; color: #14221d; font-size: clamp(26px, 3vw, 38px); line-height: 1.16; }
.npcf-collector-panel__price { margin-bottom: 8px; color: #7c231d; font-size: 26px; font-weight: 800; }
.npcf-collector-panel__stock { margin-bottom: 20px; font-weight: 700; }
.npcf-collector-panel__excerpt { color: #37443f; font-size: 16px; line-height: 1.72; }
.npcf-collector-panel__excerpt > :first-child { margin-top: 0; }
.npcf-collector-panel__specs dl { margin: 24px 0; border: 1px solid #ead9b7; border-radius: 13px; overflow: hidden; }
.npcf-collector-panel__specs dl div { display: grid; grid-template-columns: minmax(125px,.72fr) 1.28fr; gap: 16px; padding: 12px 15px; border-bottom: 1px solid #eee5d5; }
.npcf-collector-panel__specs dl div:last-child { border-bottom: 0; }
.npcf-collector-panel__specs dt { font-weight: 800; color: #0B3D2E; }
.npcf-collector-panel__specs dd { margin: 0; color: #263832; }
.npcf-collector-panel__actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 24px 0; }
.npcf-collector-panel__button,
.npcf-collector-panel__actions a.npcf-collector-panel__button {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 50px !important;
  padding: 12px 18px !important; border: 1px solid #0B3D2E !important; border-radius: 9px !important; font-size: 16px !important;
  font-weight: 800 !important; line-height: 1.25 !important; text-align: center !important; text-decoration: none !important;
  opacity: 1 !important; visibility: visible !important; text-indent: 0 !important; box-shadow: none !important;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.npcf-collector-panel__actions .npcf-collector-panel__button--primary,
.npcf-collector-panel__actions .npcf-collector-panel__button--primary:link,
.npcf-collector-panel__actions .npcf-collector-panel__button--primary:visited { color:#fff !important; background:#0B3D2E !important; border-color:#0B3D2E !important; }
.npcf-collector-panel__actions .npcf-collector-panel__button--primary:hover,
.npcf-collector-panel__actions .npcf-collector-panel__button--primary:focus-visible,
.npcf-collector-panel__actions .npcf-collector-panel__button--primary:active { color:#0B3D2E !important; background:#F3DD85 !important; border-color:#8B6914 !important; transform: translateY(-1px); }
.npcf-collector-panel__actions .npcf-collector-panel__button--secondary,
.npcf-collector-panel__actions .npcf-collector-panel__button--secondary:link,
.npcf-collector-panel__actions .npcf-collector-panel__button--secondary:visited { color:#0B3D2E !important; background:#fff !important; border-color:#0B3D2E !important; }
.npcf-collector-panel__actions .npcf-collector-panel__button--secondary:hover,
.npcf-collector-panel__actions .npcf-collector-panel__button--secondary:focus-visible,
.npcf-collector-panel__actions .npcf-collector-panel__button--secondary:active { color:#fff !important; background:#0B3D2E !important; border-color:#0B3D2E !important; transform: translateY(-1px); }
.npcf-collector-panel__context { margin: 26px 0 0; padding: 13px 15px; border-left: 3px solid #8B6914; color: #53605b; background: #faf7ef; font-size: 13px; line-height: 1.5; }
@media (max-width: 767px) {
  .npcf-collector-panel__backdrop { background: rgba(6,19,16,.55) !important; -webkit-backdrop-filter: blur(1px); backdrop-filter: blur(1px); }
  .npcf-collector-panel__drawer { top: auto; right: 0; bottom: 0; width: 100%; max-width: none; height: min(92dvh, 820px); border-radius: 20px 20px 0 0; transform: translate3d(0,102%,0); }
  .npcf-collector-panel.is-open .npcf-collector-panel__drawer { transform: translate3d(0,0,0); }
  .npcf-collector-panel__topbar { min-height: 68px; padding: 13px 16px 13px 19px; border-radius: 20px 20px 0 0; }
  .npcf-collector-panel__topbar strong { font-size: 15px; }
  .npcf-collector-panel__close { width: 42px !important; height: 42px !important; min-width: 42px !important; min-height: 42px !important; flex-basis: 42px; }
  .npcf-collector-panel__gallery { padding: 14px 14px 0; }
  .npcf-collector-panel__body { padding: 20px 18px 24px; }
  .npcf-collector-panel__main-image { min-height: 220px; border-radius: 12px; }
  .npcf-collector-panel__main-image img { max-height: 330px; }
  .npcf-collector-panel__thumbs { justify-content: flex-start; padding: 11px 0; }
  .npcf-collector-panel__thumb { width: 58px !important; height: 58px !important; min-width: 58px !important; flex-basis: 58px; }
  .npcf-collector-panel__title { font-size: clamp(23px,7vw,30px); }
  .npcf-collector-panel__price { font-size: 23px; }
  .npcf-collector-panel__specs dl div { grid-template-columns: 1fr; gap: 4px; padding: 11px 13px; }
  .npcf-collector-panel__actions { grid-template-columns: 1fr; gap: 10px; }
  .npcf-collector-panel__button,.npcf-collector-panel__actions a.npcf-collector-panel__button { width: 100% !important; min-height: 48px !important; }
}
@media (max-width: 390px) {
  .npcf-collector-panel__drawer { height: 94dvh; }
  .npcf-collector-panel__eyebrow { font-size: 10px; }
  .npcf-collector-panel__topbar strong { font-size: 14px; }
  .npcf-collector-panel__main-image { min-height: 190px; }
}
@media (prefers-reduced-motion: reduce) {
  .npcf-collector-panel__backdrop,.npcf-collector-panel__drawer,.npcf-collector-panel__button,.npcf-collector-panel__close { transition: none !important; }
}

/* v5.5.3 — Compact mobile Quick View modal.
 * Keeps the close control reachable and leaves a visible margin around the
 * preview instead of occupying the full viewport. */
@media (max-width: 767px) {
  .npcf-collector-panel__drawer {
    top:50% !important;
    left:50% !important;
    right:auto !important;
    bottom:auto !important;
    width:82vw !important;
    max-width:520px !important;
    height:82dvh !important;
    max-height:82dvh !important;
    border-radius:18px !important;
    transform:translate3d(-50%,58%,0) scale(.97) !important;
    opacity:0;
    box-shadow:0 22px 70px rgba(0,0,0,.34) !important;
  }
  .npcf-collector-panel.is-open .npcf-collector-panel__drawer {
    transform:translate3d(-50%,-50%,0) scale(1) !important;
    opacity:1;
  }
  .npcf-collector-panel__topbar {
    min-height:60px !important;
    padding:10px 12px 10px 15px !important;
    border-radius:18px 18px 0 0 !important;
  }
  .npcf-collector-panel__close {
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    flex-basis:40px !important;
  }
  .npcf-collector-panel__gallery { padding:12px 12px 0 !important; }
  .npcf-collector-panel__main-image { min-height:170px !important; }
  .npcf-collector-panel__main-image img { max-height:260px !important; }
  .npcf-collector-panel__body { padding:16px 15px 20px !important; }
}
@media (max-width: 390px) {
  .npcf-collector-panel__drawer { width:86vw !important; height:84dvh !important; max-height:84dvh !important; }
}

/* v5.5.3 — Mobile side-cart style Quick View.
 * Anchored to the right and bottom, occupying about 70% of the viewport while
 * preserving visible space above and to the left. */
@media (max-width: 767px) {
  .npcf-collector-panel__drawer {
    top:auto !important;
    left:auto !important;
    right:0 !important;
    bottom:0 !important;
    width:70vw !important;
    max-width:430px !important;
    min-width:280px !important;
    height:70dvh !important;
    max-height:70dvh !important;
    border-radius:18px 0 0 0 !important;
    transform:translate3d(102%,0,0) !important;
    opacity:1 !important;
    box-shadow:-18px -10px 55px rgba(0,0,0,.30) !important;
  }
  .npcf-collector-panel.is-open .npcf-collector-panel__drawer {
    transform:translate3d(0,0,0) !important;
    opacity:1 !important;
  }
  .npcf-collector-panel__topbar {
    border-radius:18px 0 0 0 !important;
  }
  .npcf-collector-panel__main-image { min-height:150px !important; }
  .npcf-collector-panel__main-image img { max-height:230px !important; }
  .npcf-collector-panel__title { font-size:clamp(18px,5.2vw,24px) !important; }
}
@media (max-width: 400px) {
  .npcf-collector-panel__drawer {
    width:76vw !important;
    min-width:270px !important;
    height:72dvh !important;
    max-height:72dvh !important;
  }
}
