/**
 * ViceMC Shop V9 — high-impact redesign
 * Loaded last, high specificity
 */
:root {
  --v9-violet: var(--color-accent, #f43f5e);
  --v9-violet-2: var(--color-accent-2, #b02d44);
  --v9-violet-3: var(--color-accent-3, #862334);
  --v9-glow: var(--color-accent-50, rgba(244,63,94,.45));
  --v9-surface: var(--white, #222424);
  --v9-bg: var(--bg, #1b1c1c);
  --v9-text: var(--black, #fafefe);
  --v9-muted: var(--grey, #8b949e);
  --v9-border: var(--color-accent-25, rgba(244,63,94,.22));
}

/* ===== HOMEPAGE HERO ===== */
.v9-hero {
  position: relative;
  margin: 0 auto 28px;
  max-width: 1132px;
  padding: 0 16px;
}
.v9-hero__card {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  padding: clamp(28px, 5vw, 52px) clamp(20px, 4vw, 48px);
  background:
    radial-gradient(ellipse 80% 80% at 15% 20%, var(--color-accent-25), transparent 55%),
    radial-gradient(ellipse 60% 70% at 90% 80%, rgba(59, 130, 246, 0.18), transparent 50%),
    linear-gradient(145deg, #141018 0%, #1a1014 45%, #0f1419 100%);
  border: 1px solid var(--color-accent-25);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.06);
  color: #fff;
}
body.light-theme .v9-hero__card {
  background:
    radial-gradient(ellipse 80% 80% at 15% 20%, var(--color-accent-15), transparent 55%),
    linear-gradient(145deg, #fff1f3 0%, #ffe4e9 50%, #f8fafc 100%);
  color: #1a1028;
  border-color: var(--color-accent-25);
  box-shadow: 0 16px 40px var(--color-accent-15);
}
.v9-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: var(--color-accent-15);
  border: 1px solid var(--color-accent-50);
  color: #fecdd3;
  margin-bottom: 16px;
}
body.light-theme .v9-hero__badge { color: var(--color-accent-2); background: var(--color-accent-15); }
.v9-hero__title {
  font-size: clamp(32px, 6vw, 52px) !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em;
  line-height: 1.05 !important;
  margin: 0 0 12px !important;
  color: inherit !important;
}
.v9-hero__title span {
  background: linear-gradient(90deg, var(--color-accent-lite), var(--color-accent), #FFFFFF);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.v9-hero__desc {
  font-size: clamp(15px, 2vw, 18px);
  opacity: 0.78;
  max-width: 520px;
  margin: 0 0 24px;
  line-height: 1.5;
}
.v9-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
.v9-ip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.1);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  color: #fff;
  transition: border-color 0.15s, background 0.15s;
}
body.light-theme .v9-ip {
  background: #fff;
  color: #1a1028;
  border-color: var(--color-accent-25);
}
.v9-ip:hover { border-color: var(--v9-violet); }
.v9-ip small { opacity: 0.55; font-weight: 500; font-size: 11px; text-transform: uppercase; }
.v9-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 22px;
  border-radius: 14px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none !important;
  border: none;
  cursor: pointer;
  font-family: inherit;
  transition: transform 0.15s, box-shadow 0.15s, filter 0.15s;
}
.v9-btn--primary {
  background: linear-gradient(135deg, var(--color-accent-lite), var(--color-accent) 55%, var(--color-accent-3));
  color: #fff !important;
  box-shadow: 0 12px 32px var(--v9-glow);
}
.v9-btn--primary:hover { transform: translateY(-2px); filter: brightness(1.08); color: #fff !important; }
.v9-btn--ghost {
  background: rgba(255, 255, 255, 0.06);
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.14);
}
body.light-theme .v9-btn--ghost {
  background: #fff;
  color: #1a1028 !important;
  border-color: var(--color-accent-25);
}

/* ===== SHOP ===== */
.v9-shop {
  max-width: 1132px;
  margin: 0 auto;
  padding: 0 16px 48px;
}
.v9-shop__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}
.v9-shop__head h2 {
  margin: 0 !important;
  font-size: clamp(22px, 3vw, 30px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em;
  color: var(--v9-text) !important;
}
.v9-shop__head p {
  margin: 4px 0 0 !important;
  color: var(--v9-muted) !important;
  font-size: 14px !important;
}

/* filters as neon pills */
.v9-shop .pmdonate-filters {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-bottom: 22px !important;
  overflow: visible !important;
  position: static !important;
  width: 100% !important;
  flex: none !important;
}
.v9-shop .pmdonate-layout {
  display: block !important;
}
.v9-shop .pmdonate-filter-btn {
  border-radius: 999px !important;
  padding: 12px 18px !important;
  border: 1px solid var(--v9-border) !important;
  background: var(--v9-surface) !important;
  font-weight: 650 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}
.v9-shop .pmdonate-filter-btn.active {
  background: linear-gradient(135deg, var(--color-accent), var(--color-accent-3)) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 8px 28px var(--v9-glow) !important;
}
.v9-shop .pmdonate-filter-btn.active .pmdonate-filter-count {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
}
.v9-shop .pmdonate-filter-btn svg { display: none !important; }

/* product cards — totally new look */
.v9-shop .pmdonate-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
  gap: 16px !important;
}
.v9-shop .pmdonate-card,
.v9-shop a.pmdonate-card {
  border-radius: 22px !important;
  padding: 0 !important;
  border: 1px solid var(--v9-border) !important;
  background: var(--v9-surface) !important;
  overflow: hidden !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.2) !important;
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s !important;
}
.v9-shop .pmdonate-card:hover {
  transform: translateY(-6px) scale(1.01) !important;
  border-color: var(--color-accent-50) !important;
  box-shadow: 0 20px 50px rgba(244, 63, 94, 0.28) !important;
}
.v9-shop .pmdonate-card__image {
  height: 180px !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 50% 30%, var(--color-accent-25), transparent 55%),
    linear-gradient(180deg, #1a1028 0%, #0c0d10 100%) !important;
  border-bottom: 1px solid var(--v9-border) !important;
}
body.light-theme .v9-shop .pmdonate-card__image {
  background:
    radial-gradient(circle at 50% 30%, var(--color-accent-15), transparent 55%),
    linear-gradient(180deg, #ede9fe 0%, #e2e8f0 100%) !important;
}
.v9-shop .pmdonate-card__image img {
  padding: 18px !important;
  filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.4));
  transition: transform 0.25s ease !important;
}
.v9-shop .pmdonate-card:hover .pmdonate-card__image img {
  transform: scale(1.1) !important;
}
.v9-shop .pmdonate-card__body {
  padding: 14px 14px 16px !important;
  min-height: 72px !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 8px !important;
}
.v9-shop .pmdonate-card__info {
  width: 100%;
}
.v9-shop .pmdonate-card__title {
  font-size: 15px !important;
  font-weight: 750 !important;
  white-space: nowrap !important;
}
.v9-shop .pmdonate-card__price,
.v9-shop .pmdonate-price-new {
  font-size: 20px !important;
  font-weight: 900 !important;
  color: var(--v9-violet) !important;
  letter-spacing: -0.02em;
}
.v9-shop .pmdonate-card__cta {
  width: 100% !important;
  justify-content: center !important;
  opacity: 1 !important;
  transform: none !important;
  margin-top: 4px !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, var(--color-accent), var(--color-accent-3)) !important;
  box-shadow: 0 6px 18px var(--color-accent-25) !important;
}

/* purchases strip */
.v9-purchases {
  max-width: 1132px;
  margin: 40px auto 20px;
  padding: 0 16px;
}
.v9-purchases__title {
  font-size: 24px !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em;
  color: var(--v9-text) !important;
  margin: 0 0 16px !important;
  text-align: center;
}
.v9-purchases .pmd-purchase-card {
  width: 160px !important;
  min-width: 160px !important;
  border-radius: 18px !important;
  border: 1px solid var(--v9-border) !important;
  background: var(--v9-surface) !important;
  padding: 14px 12px 12px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  transition: transform 0.15s, border-color 0.15s;
}
.v9-purchases .pmd-purchase-card:hover {
  transform: translateY(-3px);
  border-color: var(--color-accent-50) !important;
}
.v9-purchases .pmd-purchase-card img {
  height: 90px !important;
  border-radius: 12px !important;
  background: radial-gradient(circle, var(--color-accent-15), #121018);
  object-fit: contain;
}

/* ===== PRODUCT PAGE ===== */
.v9-product .pmd-back-link {
  border: 1px solid var(--v9-border) !important;
  background: var(--v9-surface);
  padding: 10px 16px 10px 12px !important;
  margin-bottom: 20px !important;
}
.v9-product .pmd-product-hero {
  border-radius: 24px !important;
  padding: 28px !important;
  border: 1px solid var(--color-accent-25) !important;
  background:
    radial-gradient(ellipse 70% 80% at 10% 30%, var(--color-accent-25), transparent 55%),
    linear-gradient(145deg, #16101f, #121018 60%) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
  margin-bottom: 28px !important;
}
body.light-theme .v9-product .pmd-product-hero {
  background:
    radial-gradient(ellipse 70% 80% at 10% 30%, var(--color-accent-15), transparent 55%),
    linear-gradient(145deg, #f5f0ff, #fff) !important;
}
.v9-product .pmd-single-image {
  width: min(260px, 48vw) !important;
  border-radius: 20px !important;
  border: 1px solid var(--color-accent-50) !important;
  box-shadow: 0 0 0 1px var(--color-accent-15), 0 24px 48px var(--color-accent-25) !important;
  background:
    radial-gradient(circle at 50% 40%, var(--color-accent-50), transparent 55%),
    #0a0b0e !important;
}
.v9-product .pmd-product-title {
  font-size: clamp(30px, 5vw, 44px) !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
  background: linear-gradient(90deg, #fff, #c4b5fd);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
}
body.light-theme .v9-product .pmd-product-title {
  background: linear-gradient(90deg, #1a1014, var(--color-accent-2));
  -webkit-background-clip: text;
  background-clip: text;
}

/* buy card — glass purple */
.v9-product .pmd-buy-card {
  border-radius: 24px !important;
  border: 1px solid var(--color-accent-50) !important;
  background: linear-gradient(165deg, rgba(26, 16, 40, 0.98), rgba(15, 20, 25, 0.98)) !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45), 0 0 0 1px var(--color-accent-15) !important;
  overflow: hidden;
}
body.light-theme .v9-product .pmd-buy-card {
  background: #fff !important;
  box-shadow: 0 20px 50px rgba(244, 63, 94, 0.15) !important;
}
.v9-product .pmd-buy-card__head {
  padding: 24px 24px 18px !important;
  background: linear-gradient(160deg, var(--color-accent-25), transparent 75%) !important;
  border-bottom: 1px solid var(--color-accent-15) !important;
}
.v9-product .pmd-buy-price {
  font-size: 48px !important;
  font-weight: 900 !important;
  color: #fecdd3 !important;
  text-shadow: 0 0 40px rgba(244, 63, 94, 0.5);
}
body.light-theme .v9-product .pmd-buy-price { color: var(--color-accent-2) !important; text-shadow: none; }
.v9-product .pmd-buy-sub { color: rgba(255, 255, 255, 0.55) !important; }
body.light-theme .v9-product .pmd-buy-sub { color: var(--v9-muted) !important; }
.v9-product .pmd-buy-form { padding: 20px 24px 24px !important; }
.v9-product .pmd-field label { color: rgba(255, 255, 255, 0.55) !important; font-size: 12px !important; text-transform: uppercase; letter-spacing: 0.04em; }
body.light-theme .v9-product .pmd-field label { color: var(--v9-muted) !important; }
.v9-product .pmd-field input,
.v9-product .pmd-field select {
  background: rgba(0, 0, 0, 0.35) !important;
  border: 1px solid rgba(244, 63, 94, 0.3) !important;
  color: #fff !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  font-size: 16px !important;
}
body.light-theme .v9-product .pmd-field input,
body.light-theme .v9-product .pmd-field select {
  background: #f8fafc !important;
  color: #1a1028 !important;
}
.v9-product .pmd-field input:focus,
.v9-product .pmd-field select:focus {
  border-color: var(--color-accent) !important;
  box-shadow: 0 0 0 4px var(--color-accent-15) !important;
}
.v9-product .pmd-buy-total { border-top-color: var(--color-accent-15) !important; }
.v9-product .pmd-buy-total span { color: rgba(255, 255, 255, 0.5) !important; }
.v9-product .pmd-buy-total strong { color: #fff !important; font-size: 24px !important; }
body.light-theme .v9-product .pmd-buy-total span { color: var(--v9-muted) !important; }
body.light-theme .v9-product .pmd-buy-total strong { color: #1a1028 !important; }
.v9-product .pmd-buy-btn {
  width: 100% !important;
  padding: 18px 20px !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  border-radius: 16px !important;
  border: none !important;
  background: linear-gradient(135deg, var(--color-accent-lite), var(--color-accent) 40%, var(--color-accent-3)) !important;
  color: #fff !important;
  box-shadow: 0 14px 40px var(--color-accent-50) !important;
  letter-spacing: 0.02em;
  animation: v9Pulse 2.4s ease-in-out infinite;
}
.v9-product .pmd-buy-btn:hover {
  filter: brightness(1.1);
  transform: translateY(-2px);
  color: #fff !important;
}
@keyframes v9Pulse {
  0%, 100% { box-shadow: 0 14px 40px var(--color-accent-50); }
  50% { box-shadow: 0 14px 48px rgba(244, 63, 94, 0.7); }
}
.v9-product .pmd-buy-trust li { color: rgba(255, 255, 255, 0.5) !important; }
body.light-theme .v9-product .pmd-buy-trust li { color: var(--v9-muted) !important; }
.v9-product .pmd-pay-method {
  background: rgba(0, 0, 0, 0.3) !important;
  border: 1px solid rgba(244, 63, 94, 0.25) !important;
  border-radius: 16px !important;
  color: #fff !important;
}
body.light-theme .v9-product .pmd-pay-method {
  background: #f8fafc !important;
  color: #1a1028 !important;
}
.v9-product .pmd-pay-method:hover {
  border-color: var(--color-accent) !important;
  background: var(--color-accent-15) !important;
  transform: translateY(-2px);
}
.v9-product .pmd-pay-panel__head { color: #fff !important; }
body.light-theme .v9-product .pmd-pay-panel__head { color: #1a1028 !important; }
.v9-product .pmd-pay-back {
  background: var(--color-accent-15) !important;
  color: #fecdd3 !important;
}
body.light-theme .v9-product .pmd-pay-back { color: var(--color-accent-2) !important; }

/* kit section glow */
.v9-product .pmd-kit-section {
  border: 1px solid rgba(244, 63, 94, 0.3) !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 30px var(--color-accent-15);
}

@media (max-width: 768px) {
  .v9-shop .pmdonate-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .v9-shop .pmdonate-card__image { height: 130px !important; }
  .v9-product .pmd-buy-price { font-size: 36px !important; }
  .v9-hero__card { border-radius: 20px; }
}
