/* ==========================================================
   Dripped Vault Custom v0.1.2
   Namespaced reusable components.
   Prefix: dvc-
   ========================================================== */

:root {
  --dvc-bg: #05030a;
  --dvc-card: rgba(18, 12, 31, 0.92);
  --dvc-card-2: rgba(24, 14, 45, 0.92);
  --dvc-purple: #8b3dff;
  --dvc-purple-2: #caa7ff;
  --dvc-border: rgba(202, 167, 255, 0.22);
  --dvc-text: #ffffff;
  --dvc-muted: rgba(255, 255, 255, 0.72);
  --dvc-muted-2: rgba(255, 255, 255, 0.58);
  --dvc-shadow: 0 18px 48px rgba(0, 0, 0, 0.38);
}

/* Product summary */

.dvc-product-summary {
  width: 100% !important;
  margin: 18px 0 20px !important;
}

.dvc-badge-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 0 18px !important;
}

.dvc-badge {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 10px 12px !important;
  border: 1px solid var(--dvc-border) !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, rgba(139, 61, 255, 0.18), rgba(255, 255, 255, 0.04)) !important;
  color: var(--dvc-text) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.20) !important;
}

.dvc-main-description {
  color: var(--dvc-muted) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin: 0 0 16px !important;
}

.dvc-value-box {
  border: 1px solid rgba(139, 61, 255, 0.42) !important;
  border-radius: 18px !important;
  padding: 16px 18px !important;
  background:
    radial-gradient(circle at top left, rgba(139, 61, 255, 0.28), transparent 42%),
    linear-gradient(135deg, rgba(18, 12, 31, 0.98), rgba(10, 6, 18, 0.98)) !important;
  box-shadow: var(--dvc-shadow) !important;
}

.dvc-value-box span {
  display: block !important;
  color: var(--dvc-muted-2) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 5px !important;
}

.dvc-value-box strong {
  display: block !important;
  color: #ffffff !important;
  font-size: clamp(22px, 3vw, 34px) !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
  text-shadow: none !important;
}

/* Checkout notice */

.dvc-checkout-notice {
  width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(202, 167, 255, 0.20) !important;
  border-radius: 14px !important;
  background: rgba(139, 61, 255, 0.10) !important;
  color: var(--dvc-muted) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
  text-align: center !important;
}

/* Gift card bar */

.dvc-gift-card-section {
  max-width: 1240px !important;
  margin: 28px auto 26px !important;
  padding: 0 20px !important;
}

.dvc-gift-card-inner {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(202, 167, 255, 0.22) !important;
  border-radius: 24px !important;
  padding: 24px !important;
  background:
    radial-gradient(circle at top left, rgba(139, 61, 255, 0.26), transparent 34%),
    radial-gradient(circle at bottom right, rgba(202, 167, 255, 0.14), transparent 34%),
    linear-gradient(135deg, rgba(14, 8, 26, 0.98), rgba(6, 4, 12, 0.98)) !important;
  box-shadow: var(--dvc-shadow) !important;
}

.dvc-gift-card-heading {
  margin-bottom: 18px !important;
}

.dvc-gift-card-heading span {
  display: inline-flex !important;
  margin-bottom: 6px !important;
  color: var(--dvc-purple-2) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
}

.dvc-gift-card-heading h3 {
  color: var(--dvc-text) !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  margin: 0 0 8px !important;
  text-transform: uppercase !important;
}

.dvc-gift-card-heading p {
  color: var(--dvc-muted) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

.dvc-gift-card-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.dvc-gift-card-item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 92px !important;
  padding: 16px !important;
  border: 1px solid rgba(202, 167, 255, 0.18) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.045) !important;
}

.dvc-gift-card-icon {
  width: 54px !important;
  height: 54px !important;
  flex: 0 0 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, rgba(139, 61, 255, 0.26), rgba(255, 255, 255, 0.08)) !important;
  border: 1px solid rgba(202, 167, 255, 0.22) !important;
  color: var(--dvc-text) !important;
  font-size: 26px !important;
  font-weight: 950 !important;
}

.dvc-gift-card-icon i {
  line-height: 1 !important;
}

.dvc-icon-fallback {
  display: none;
}

.dvc-gift-card-item strong {
  display: block !important;
  color: var(--dvc-text) !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  margin-bottom: 4px !important;
}

.dvc-gift-card-item span {
  display: block !important;
  color: var(--dvc-muted) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}

/* Info cards */

.dvc-info-section {
  max-width: 1240px !important;
  margin: 26px auto !important;
  padding: 0 20px !important;
}

.dvc-info-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.dvc-info-card {
  border: 1px solid rgba(202, 167, 255, 0.18) !important;
  border-radius: 20px !important;
  padding: 20px !important;
  background:
    radial-gradient(circle at top left, rgba(139, 61, 255, 0.16), transparent 42%),
    rgba(255, 255, 255, 0.045) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22) !important;
}

.dvc-info-icon {
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  background: rgba(139, 61, 255, 0.16) !important;
  border: 1px solid rgba(202, 167, 255, 0.18) !important;
  font-size: 22px !important;
  margin-bottom: 14px !important;
}

.dvc-info-card h3 {
  color: var(--dvc-text) !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  margin: 0 0 9px !important;
}

.dvc-info-card p {
  color: var(--dvc-muted) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* FAQ */

.dvc-faq-section {
  max-width: 1240px !important;
  margin: 34px auto !important;
  padding: 0 20px !important;
  background: transparent !important;
  border-top: 0 !important;
  overflow: visible !important;
}

.dvc-faq-inner {
  border: 1px solid rgba(202, 167, 255, 0.18) !important;
  border-radius: 24px !important;
  padding: 24px !important;
  background: linear-gradient(135deg, rgba(18, 12, 31, 0.86), rgba(6, 4, 12, 0.92)) !important;
  box-shadow: var(--dvc-shadow) !important;
}

.dvc-faq-inner h2 {
  color: var(--dvc-text) !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  line-height: 1.1 !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  margin: 0 0 18px !important;
}

.dvc-faq-list {
  display: grid !important;
  gap: 10px !important;
}

.dvc-faq-item {
  border: 1px solid rgba(202, 167, 255, 0.14) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.045) !important;
  overflow: hidden !important;
  padding: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

.dvc-faq-item summary {
  cursor: pointer !important;
  list-style: none !important;
  color: var(--dvc-text) !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  line-height: 1.35 !important;
  padding: 16px 18px !important;
}

.dvc-faq-item summary::-webkit-details-marker {
  display: none !important;
}

.dvc-faq-item summary::after {
  content: '+' !important;
  float: right !important;
  color: var(--dvc-purple-2) !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  margin-left: 12px !important;
}

.dvc-faq-item[open] summary::after {
  content: '–' !important;
}

.dvc-faq-item p {
  color: var(--dvc-muted) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  padding: 0 18px 18px !important;
}

/* Related heading */

.dvc-related-heading {
  max-width: 1240px !important;
  margin: 34px auto 18px !important;
  padding: 0 20px !important;
}

.dvc-related-heading h2 {
  color: var(--dvc-text) !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  line-height: 1.1 !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

.dvc-related-heading h2 span {
  background: linear-gradient(135deg, #ffffff 0%, #caa7ff 45%, #8b3dff 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* Mobile */

@media (max-width: 991px) {
  .dvc-gift-card-grid,
  .dvc-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .dvc-gift-card-section,
  .dvc-info-section,
  .dvc-faq-section,
  .dvc-related-heading {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

@media (max-width: 640px) {
  .dvc-badge-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .dvc-badge {
    min-height: 40px !important;
    padding: 9px 8px !important;
    font-size: 12px !important;
    border-radius: 12px !important;
  }

  .dvc-main-description {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .dvc-value-box {
    padding: 14px !important;
    border-radius: 16px !important;
  }

  .dvc-checkout-notice {
    font-size: 12.5px !important;
    padding: 11px 12px !important;
  }

  .dvc-gift-card-inner,
  .dvc-faq-inner {
    padding: 18px !important;
    border-radius: 20px !important;
  }

  .dvc-gift-card-grid,
  .dvc-info-grid {
    grid-template-columns: 1fr !important;
  }

  .dvc-gift-card-item {
    min-height: 82px !important;
    padding: 14px !important;
  }

  .dvc-gift-card-icon {
    width: 48px !important;
    height: 48px !important;
    flex-basis: 48px !important;
    font-size: 23px !important;
  }

  .dvc-info-card {
    padding: 18px !important;
  }
}
