/* ================================================================
   Content Vault Pro — Overlay v15
   ================================================================ */
:root {
  --cvp-purple:    #6c3fe4;
  --cvp-purple-dk: #5530c0;
  --cvp-purple-lt: #ede9ff;
  --cvp-gold:      #f59e0b;
  --cvp-red:       #e53e3e;
  --cvp-green:     #16a34a;
  --cvp-text:      #111827;
  --cvp-muted:     #6b7280;
  --cvp-border:    #e5e7eb;
  --cvp-card-bg:   #f8f7ff;
  --cvp-white:     #ffffff;
  --cvp-ease:      cubic-bezier(0.22,1,0.36,1);
  --cvp-cols:      2;   /* overridden inline per instance */
}

/* ── Page blur ─────────────────────────────────────────────── */
body.cvp-locked > *:not(#cvp-overlay-wrap) {
  filter: blur(var(--cvp-blur, 6px));
  pointer-events: none;
  user-select: none;
}

/* ── Backdrop ─────────────────────────────────────────────── */
#cvp-overlay-wrap {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
  background: rgba(10,5,30,.65) !important;
  box-sizing: border-box !important;
  filter: none !important;
}

/* ── Main popup ───────────────────────────────────────────── */
.cvp-popup {
  background: var(--cvp-white);
  border-radius: 20px;
  box-shadow: 0 24px 80px rgba(10,5,30,.3);
  width: 100%;
  max-width: 880px;
  max-height: calc(100svh - 32px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: cvpPopIn .38s var(--cvp-ease) both;
}
@keyframes cvpPopIn {
  from { opacity:0; transform:scale(.94) translateY(18px); }
  to   { opacity:1; transform:none; }
}

/* ── Header ───────────────────────────────────────────────── */
.cvp-popup-hd {
  background: linear-gradient(135deg,#6c3fe4 0%,#9b5de5 100%);
  padding: 16px 20px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.cvp-popup-icon {
  width:36px; height:36px; background:rgba(255,255,255,.2);
  border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.cvp-popup-icon svg { width:16px; height:16px; stroke:#fff; }
.cvp-popup-hd-text  { flex:1; min-width:0; }
.cvp-popup-headline { font-size:.95rem; font-weight:800; color:#fff; margin:0 0 2px; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.cvp-popup-subtext  { font-size:.72rem; color:rgba(255,255,255,.82); margin:0; font-family:-apple-system,sans-serif; }
.cvp-popup-login    { font-size:.72rem; color:rgba(255,255,255,.85); white-space:nowrap; flex-shrink:0; margin:0; font-family:-apple-system,sans-serif; }
.cvp-popup-login a  { color:#fff; font-weight:700; text-decoration:underline; }

.cvp-popup-user       { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.cvp-popup-user-avatar{ width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.25); color:#fff; font-size:.78rem; font-weight:800; display:flex; align-items:center; justify-content:center; border:1.5px solid rgba(255,255,255,.4); font-family:-apple-system,sans-serif; }
.cvp-popup-user-info  { display:flex; flex-direction:column; align-items:flex-end; }
.cvp-popup-user-name  { font-size:.72rem; font-weight:700; color:#fff; white-space:nowrap; max-width:110px; overflow:hidden; text-overflow:ellipsis; font-family:-apple-system,sans-serif; }
.cvp-popup-my-acc     { font-size:.64rem; color:rgba(255,255,255,.75); text-decoration:underline; font-family:-apple-system,sans-serif; }

/* ── Body ─────────────────────────────────────────────────── */
.cvp-popup-body {
  padding: 18px;
  overflow-y: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 14px;
  scrollbar-width: thin;
  scrollbar-color: #e0dcf5 transparent;
}
.cvp-popup-body::-webkit-scrollbar { width:4px; }
.cvp-popup-body::-webkit-scrollbar-thumb { background:#d1d5db; border-radius:2px; }

/* ── Cards row — horizontal scroll, side by side, never wraps ── */
.cvp-cards-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 4px;
}
.cvp-cards-row::-webkit-scrollbar { height: 5px; }
.cvp-cards-row::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 3px; }
.cvp-cards-row .cvp-card {
  scroll-snap-align: start;
  flex: 0 0 calc((100% - (var(--cvp-cols, 2) - 1) * 14px) / var(--cvp-cols, 2));
  min-width: 220px;
}

/* ── Single card ──────────────────────────────────────────── */
.cvp-card {
  background: var(--cvp-card-bg);
  border: 1.5px solid #ddd8ff;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  transition: border-color .2s, box-shadow .18s, transform .15s;
}
.cvp-card:hover { border-color:var(--cvp-purple); box-shadow:0 6px 24px rgba(108,63,228,.16); transform:translateY(-2px); }

.cvp-card-top {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 14px 10px;
}

/* 3:4 thumbnail */
.cvp-card-img-wrap {
  position: relative;
  width: 60px;
  height: 80px;
  border-radius: 9px;
  overflow: hidden;
  flex-shrink: 0;
  background: #ddd8ff;
}
.cvp-card-img-wrap img { width:100%; height:100%; object-fit:cover; display:block; }
.cvp-card-img-ph { background: linear-gradient(135deg,#ede9ff,#ddd8ff); }

.cvp-card-info  { flex:1; min-width:0; }
.cvp-card-name  {
  font-size:.83rem; font-weight:700; color:var(--cvp-text); margin:0 0 8px;
  line-height:1.3; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

/* ── Shared price row ─────────────────────────────────────── */
.cvp-prices { display:flex; align-items:baseline; gap:5px; flex-wrap:wrap; }
.cvp-mrp    { font-size:.7rem; color:#9ca3af; font-weight:400; font-family:-apple-system,sans-serif; }
.cvp-sale   { font-size:.9rem; font-weight:800; color:var(--cvp-red); font-family:-apple-system,sans-serif; }

/* ── Discount badge ───────────────────────────────────────── */
.cvp-badge {
  display: inline-block;
  background: var(--cvp-gold);
  color: #fff;
  font-size: .58rem;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 100px;
  line-height: 1.5;
  font-family: -apple-system,sans-serif;
  white-space: nowrap;
}
/* absolute badge on image */
.cvp-badge-abs {
  position: absolute;
  top: 6px; left: 6px;
}
/* relative badge inside card-img-wrap */
.cvp-card-img-wrap .cvp-badge {
  position: absolute;
  top: 5px; left: 5px;
}

/* ── Card actions ─────────────────────────────────────────── */
.cvp-card-actions {
  padding: 0 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: auto;
}

/* ── Primary buy button ───────────────────────────────────── */
.cvp-btn-primary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 11px 16px;
  background: var(--cvp-purple);
  color: #fff !important;
  font-size: .83rem;
  font-weight: 700;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(108,63,228,.3);
  transition: background .16s, transform .12s;
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  text-decoration: none !important;
  width: 100%;
  box-sizing: border-box;
}
.cvp-btn-primary:hover { background:var(--cvp-purple-dk); transform:translateY(-1px); color:#fff !important; }
.cvp-btn-primary svg   { width:12px; height:12px; stroke:#fff; fill:none; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.cvp-btn-sm { padding:8px 12px; font-size:.73rem; box-shadow:none; }

/* ── Info button ──────────────────────────────────────────── */
.cvp-btn-info {
  display: flex; align-items: center; justify-content: center; gap: 5px;
  padding: 7px 14px;
  background: var(--cvp-purple-lt);
  color: var(--cvp-purple);
  border: 1px solid #c4b5fd;
  border-radius: 100px;
  cursor: pointer;
  font-size: .72rem; font-weight: 600; width: 100%;
  font-family: -apple-system,sans-serif;
  transition: background .15s;
}
.cvp-btn-info:hover { background:#ddd8ff; }
.cvp-btn-info svg { width:13px; height:13px; stroke:var(--cvp-purple); fill:none; stroke-width:2; flex-shrink:0; }

/* ── Subscription-style pricing card ──────────────────────── */
#cvp-overlay-wrap .cvp-sub-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 18px 16px 16px !important;
  align-items: stretch !important;
  text-align: left !important;
  overflow: visible !important;
}
#cvp-overlay-wrap .cvp-sub-card-hl {
  border-color: var(--cvp-purple) !important;
  box-shadow: 0 6px 20px rgba(108,63,228,.18) !important;
}
#cvp-overlay-wrap .cvp-sub-ribbon {
  position: absolute !important;
  top: 10px !important; right: 10px !important;
  background: linear-gradient(135deg,#f43f5e,#e11d48) !important;
  color: #fff !important;
  font-size: .62rem !important;
  font-weight: 800 !important;
  padding: 4px 12px !important;
  border-radius: 100px !important;
  box-shadow: 0 3px 10px rgba(225,29,72,.35) !important;
  font-family: -apple-system,sans-serif !important;
  white-space: nowrap !important;
  z-index: 2 !important;
}
#cvp-overlay-wrap .cvp-sub-card-hl .cvp-sub-card-top { margin-top: 26px !important; }
#cvp-overlay-wrap .cvp-sub-card-top {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 14px !important;
}
#cvp-overlay-wrap .cvp-sub-name {
  font-size: 1rem !important; font-weight: 800 !important; color: var(--cvp-text) !important; margin: 0 !important;
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
#cvp-overlay-wrap .cvp-sub-prices { display: flex !important; justify-content: flex-start !important; margin-bottom: 4px !important; }
#cvp-overlay-wrap .cvp-sub-sale { font-size: 1.35rem !important; }
#cvp-overlay-wrap .cvp-sub-monthly { font-size: .76rem !important; color: #6b7280 !important; margin: 0 0 8px !important; font-family: -apple-system,sans-serif !important; }
#cvp-overlay-wrap .cvp-sub-validity-badge {
  display: inline-block !important;
  background: #ede9ff !important;
  color: var(--cvp-purple) !important;
  font-weight: 700 !important;
  font-size: .68rem !important;
  padding: 4px 10px !important;
  border-radius: 100px !important;
  margin-bottom: 14px !important;
  font-family: -apple-system,sans-serif !important;
}

/* ── Buy button — outline default, solid when highlighted ── */
#cvp-overlay-wrap .cvp-sub-cta {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 100% !important; box-sizing: border-box !important;
  padding: 12px 16px !important;
  border-radius: 100px !important;
  font-size: .85rem !important; font-weight: 700 !important;
  text-decoration: none !important;
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  margin-bottom: 16px !important;
  transition: transform .12s, box-shadow .15s;
}
#cvp-overlay-wrap .cvp-sub-cta-outline {
  background: transparent !important;
  border: 1.5px solid #e11d48 !important;
  color: #e11d48 !important;
}
#cvp-overlay-wrap .cvp-sub-cta-outline:hover { background: #fef2f2 !important; transform: translateY(-1px); }
#cvp-overlay-wrap .cvp-sub-cta-solid {
  background: linear-gradient(135deg,#f43f5e,#e11d48) !important;
  border: 1.5px solid #e11d48 !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(225,29,72,.3) !important;
}
#cvp-overlay-wrap .cvp-sub-cta-solid:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(225,29,72,.4) !important; }

/* ── Feature checklist — checks and crosses ── */
#cvp-overlay-wrap .cvp-sub-feats {
  list-style: none !important;
  margin: 0 !important;
  padding: 14px 0 0 !important;
  border-top: 1px solid #eee !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  text-align: left !important;
  width: 100% !important;
}
#cvp-overlay-wrap .cvp-sub-feats li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  font-size: .82rem !important;
  font-family: -apple-system,sans-serif !important;
  line-height: 1.35 !important;
  list-style: none !important;
}
#cvp-overlay-wrap .cvp-sub-feats li.cvp-feat-yes { color: var(--cvp-text) !important; }
#cvp-overlay-wrap .cvp-sub-feats li.cvp-feat-no  { color: #b0b3ba !important; }
#cvp-overlay-wrap .cvp-sub-feat-icon { font-weight: 800 !important; flex-shrink: 0 !important; margin-top: 1px !important; }
#cvp-overlay-wrap .cvp-feat-yes .cvp-sub-feat-icon { color: #16a34a !important; }
#cvp-overlay-wrap .cvp-feat-no  .cvp-sub-feat-icon { color: #ef4444 !important; }
#cvp-overlay-wrap .cvp-sub-feats li.cvp-feat-extra { display: none !important; }
#cvp-overlay-wrap .cvp-sub-feats.cvp-feats-expanded li.cvp-feat-extra { display: flex !important; }
#cvp-overlay-wrap .cvp-sub-more-toggle {
  background: none !important;
  border: none !important;
  color: var(--cvp-text) !important;
  font-weight: 800 !important;
  font-size: .78rem !important;
  cursor: pointer !important;
  padding: 10px 0 0 !important;
  text-align: left !important;
  font-family: -apple-system,sans-serif !important;
}
#cvp-overlay-wrap .cvp-sub-more-toggle:hover { color: var(--cvp-purple) !important; }

/* ── View All row ─────────────────────────────────────────── */
.cvp-view-all-row { display:flex; justify-content:center; }
.cvp-btn-view-all {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 9px 24px;
  background: var(--cvp-purple-lt); color: var(--cvp-purple);
  border: 1.5px solid #c4b5fd; border-radius: 100px;
  font-size: .8rem; font-weight: 700; cursor: pointer;
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  transition: background .15s, transform .12s;
}
.cvp-btn-view-all:hover { background:#ddd8ff; transform:translateY(-1px); }
.cvp-btn-view-all svg { width:14px; height:14px; stroke:var(--cvp-purple); fill:none; stroke-width:2.5; flex-shrink:0; }

/* ── Empty ────────────────────────────────────────────────── */
.cvp-empty { padding:28px; text-align:center; }
.cvp-empty p { font-size:.9rem; color:var(--cvp-muted); margin:0 0 14px; font-family:-apple-system,sans-serif; }

/* ── Footer ───────────────────────────────────────────────── */
.cvp-popup-ft {
  flex-shrink:0; padding:10px 18px 14px;
  border-top:1px solid #f0f0f7;
  display:flex; justify-content:center;
}
.cvp-btn-home {
  display:inline-flex; align-items:center; gap:7px;
  font-size:.78rem; font-weight:600; color:var(--cvp-muted);
  text-decoration:none; padding:7px 18px; border-radius:100px;
  border:1px solid var(--cvp-border); background:#fafafe;
  transition:background .15s,color .15s; font-family:-apple-system,sans-serif;
}
.cvp-btn-home:hover { background:var(--cvp-purple-lt); color:var(--cvp-purple); border-color:#c4b5fd; }
.cvp-btn-home svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* ══════════════════════════════════════════════════════════
   Modal shared base
   ══════════════════════════════════════════════════════════ */
.cvp-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2;
  background: rgba(10,5,30,.55);
  display: none;         /* JS sets to flex when open */
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
  animation: cvpFadeIn .22s ease both;
}
@keyframes cvpFadeIn { from{opacity:0} to{opacity:1} }

.cvp-modal-box {
  background: var(--cvp-white);
  border-radius: 20px;
  box-shadow: 0 24px 64px rgba(10,5,30,.3);
  width: 100%;
  max-height: calc(100svh - 32px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: cvpSlideUp .3s var(--cvp-ease) both;
}
@keyframes cvpSlideUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:none} }

.cvp-modal-hd {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 18px;
  background: linear-gradient(135deg,#6c3fe4 0%,#9b5de5 100%);
  flex-shrink: 0;
}
.cvp-modal-hd-title { font-size:.88rem; font-weight:800; color:#fff; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.cvp-modal-close {
  width:32px; height:32px; border-radius:50%;
  background:rgba(255,255,255,.2); border:1px solid rgba(255,255,255,.35);
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  flex-shrink:0; transition:background .15s;
}
.cvp-modal-close:hover { background:rgba(255,255,255,.35); }
.cvp-modal-close svg { width:14px; height:14px; stroke:#fff; fill:none; stroke-width:2.5; stroke-linecap:round; }

.cvp-modal-scroll {
  overflow-y: auto; flex:1;
  scrollbar-width:thin; scrollbar-color:#e0dcf5 transparent;
}
.cvp-modal-scroll::-webkit-scrollbar { width:4px; }
.cvp-modal-scroll::-webkit-scrollbar-thumb { background:#d1d5db; border-radius:2px; }

/* ── View All modal ───────────────────────────────────────── */
.cvp-all-box { max-width:720px; }

.cvp-all-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 14px;
  padding: 18px;
}

.cvp-all-card {
  background: var(--cvp-card-bg);
  border: 1.5px solid #ddd8ff; border-radius: 14px;
  overflow: hidden; display: flex; flex-direction: column;
  transition: border-color .2s, box-shadow .18s, transform .15s;
}
.cvp-all-card:hover { border-color:var(--cvp-purple); box-shadow:0 5px 18px rgba(108,63,228,.16); transform:translateY(-2px); }

/* 3:4 image */
.cvp-all-card-img {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 4;
  background: #ede9ff;
  overflow: hidden; flex-shrink: 0;
}
.cvp-all-card-img img { width:100%; height:100%; object-fit:cover; display:block; }
.cvp-all-card-img-ph  {
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  font-size:2rem;
  background: linear-gradient(135deg,#ede9ff,#ddd8ff);
}

.cvp-all-card-body {
  padding: 10px 12px 12px;
  display: flex; flex-direction: column; gap: 6px; flex: 1;
}
.cvp-all-card-name {
  font-size:.73rem; font-weight:700; color:var(--cvp-text); line-height:1.3;
  font-family:-apple-system,sans-serif; margin:0 0 2px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

/* ── Detail modal ─────────────────────────────────────────── */
.cvp-det-box { max-width:440px; }

.cvp-det-img-wrap {
  width:100%; background:#f8f7ff;
  display:flex; align-items:center; justify-content:center;
  padding:20px; box-sizing:border-box;
}
.cvp-det-img { max-width:100%; max-height:260px; object-fit:contain; border-radius:10px; display:block; }
.cvp-det-body { padding:20px 22px 24px; }
.cvp-det-plan-lbl {
  font-size:.68rem; font-weight:700; color:var(--cvp-purple);
  text-transform:uppercase; letter-spacing:.06em; margin:0 0 4px;
  font-family:-apple-system,sans-serif;
}
.cvp-det-prod-name {
  font-size:1.1rem; font-weight:800; color:var(--cvp-text);
  margin:0 0 12px; line-height:1.25;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.cvp-det-desc {
  font-size:.82rem; color:var(--cvp-muted); line-height:1.65;
  margin:0 0 12px; white-space:pre-line; font-family:-apple-system,sans-serif;
}
.cvp-det-feats {
  list-style:none; margin:0 0 18px; padding:0;
  display:flex; flex-direction:column; gap:7px;
}
.cvp-det-feats li {
  display:flex; align-items:flex-start; gap:8px;
  font-size:.82rem; color:var(--cvp-text); line-height:1.4;
  font-family:-apple-system,sans-serif;
}
.cvp-det-feats li::before { content:"✓"; color:var(--cvp-green); font-weight:800; flex-shrink:0; }

/* ══════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════ */

/* Mobile — show exactly 1 card, rest in View All */
@media (max-width:600px) {
  #cvp-overlay-wrap { padding:0 !important; align-items:flex-end !important; }
  .cvp-popup { border-radius:20px 20px 0 0 !important; max-height:68svh !important; max-width:100% !important; }
  .cvp-popup-hd  { padding:10px 12px 9px; gap:8px; }
  .cvp-popup-headline { font-size:.78rem; }
  .cvp-popup-subtext { font-size:.66rem; }
  .cvp-popup-body { padding:10px 10px 12px; gap:8px; }

  /* Side by side scroll on mobile — 2 full cards visible, swipe for more */
  .cvp-cards-row { gap: 8px !important; }
  .cvp-cards-row .cvp-card {
    flex: 0 0 calc(50% - 4px) !important;
    min-width: 0 !important;
  }

  .cvp-card-img-wrap { width:52px; height:69px; }
  .cvp-card-name { font-size:.78rem; }
  .cvp-btn-primary { font-size:.77rem; padding:9px 12px; }
  .cvp-btn-home { font-size:.72rem; padding:6px 14px; }

  #cvp-overlay-wrap .cvp-sub-card { padding:12px 10px 10px !important; }
  #cvp-overlay-wrap .cvp-sub-ribbon { top:6px !important; right:6px !important; font-size:.5rem !important; padding:3px 8px !important; }
  #cvp-overlay-wrap .cvp-sub-card-hl .cvp-sub-card-top { margin-top: 20px !important; }
  #cvp-overlay-wrap .cvp-sub-card-top { margin-bottom: 8px !important; }
  #cvp-overlay-wrap .cvp-sub-name { font-size:.76rem !important; }
  #cvp-overlay-wrap .cvp-sub-sale { font-size:.98rem !important; }
  #cvp-overlay-wrap .cvp-mrp { font-size:.62rem !important; }
  #cvp-overlay-wrap .cvp-sub-monthly { font-size:.6rem !important; margin-bottom:6px !important; }
  #cvp-overlay-wrap .cvp-sub-validity-badge { font-size:.6rem !important; padding:3px 8px !important; margin-bottom:8px !important; }
  #cvp-overlay-wrap .cvp-sub-cta { padding:8px 6px !important; font-size:.68rem !important; margin-bottom:8px !important; }
  #cvp-overlay-wrap .cvp-sub-feats { gap:6px !important; padding-top:8px !important; }
  #cvp-overlay-wrap .cvp-sub-feats li { font-size:.64rem !important; gap:5px !important; }
  #cvp-overlay-wrap .cvp-sub-more-toggle { font-size:.62rem !important; }

  .cvp-modal-backdrop { padding:0; align-items:flex-end; }
  .cvp-modal-box  { border-radius:20px 20px 0 0; max-height:92svh; }
  .cvp-all-grid   { grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:10px; padding:12px; }
  .cvp-det-body   { padding:16px 16px 20px; }
  .cvp-det-img    { max-height:200px; }
}

@media (max-width:768px) and (min-width:601px) {
  .cvp-popup { max-width:100%; }
  #cvp-overlay-wrap { padding:12px !important; }
  /* Tablet: max 2 visible even if admin set more columns — rest via scroll */
  .cvp-cards-row .cvp-card { flex: 0 0 calc(50% - 7px) !important; }
}

@media (prefers-reduced-motion:reduce) {
  .cvp-popup,.cvp-modal-box,.cvp-modal-backdrop { animation:none; }
}

/* ── SVG size enforcement — prevent theme overrides ──────── */
#cvp-overlay-wrap svg,
.cvp-modal-backdrop svg {
  max-width: none !important;
  max-height: none !important;
}
/* Button arrow SVGs locked to 12×12 */
.cvp-btn-primary svg,
.cvp-btn-view-all svg,
.cvp-btn-home svg,
.cvp-btn-info svg,
.cvp-modal-close svg {
  width: 12px !important;
  height: 12px !important;
  min-width: 12px !important;
  min-height: 12px !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
  vertical-align: middle !important;
}
.cvp-btn-home svg,
.cvp-btn-view-all svg { width:14px !important; height:14px !important; min-width:14px !important; }
.cvp-modal-close svg  { width:14px !important; height:14px !important; min-width:14px !important; }
.cvp-btn-info svg     { width:13px !important; height:13px !important; min-width:13px !important; }
.cvp-popup-icon svg   { width:16px !important; height:16px !important; min-width:16px !important; }

/* Lock icon in header */
.cvp-popup-icon svg   { width:16px !important; height:16px !important; }

/* Ensure buy buttons never grow taller than needed */
.cvp-btn-primary {
  min-height: 0 !important;
  height: auto !important;
  line-height: 1.2 !important;
}
