/* vk-pdp-base
   Split out of the monolithic product-page stylesheet so this section
   owns exactly one file. Do not merge these back together. */

:root {

    --vpk-lime: #AAFF00;

    --vpk-lime-10: rgba(170, 255, 0, 0.1);

    --vpk-lime-20: rgba(170, 255, 0, 0.2);

    --vpk-bg: #000;

    --vpk-surface: #0d0d0d;

    --vpk-border: #1a1a1a;

    --vpk-text: #fff;

    --vpk-muted: #888;

    --vpk-pad: clamp(20px, 4vw, 56px);

    --vpk-radius: 6px;

  }

.vpk-hero-section {

    background: var(--vpk-bg);

    color: var(--vpk-text);

    font-family: 'Inter', sans-serif;

    -webkit-font-smoothing: antialiased;

    -moz-osx-font-smoothing: grayscale;

  }

.vpk-hero-section *,
.vpk-hero-section *::before,
.vpk-hero-section *::after {

    box-sizing: border-box;

    margin: 0;

    padding: 0;

  }

.vpk-hero-section a {

    color: inherit;

    text-decoration: none;

  }

.vpk-hero-section img {

    display: block;

    max-width: 100%;

    height: auto;

  }

.vpk-hero {

    display: grid;

    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);

    gap: 0;

    max-width: 1440px;

    margin: 0 auto;

    align-items: start;

  }

.vpk-info {

    padding: var(--vpk-pad);

    display: flex;

    flex-direction: column;

    gap: 16px;

    border-left: 1px solid var(--vpk-border);

    min-width: 0;

    overflow: hidden;

  }

.vpk-divider {

    height: 1px;

    background: var(--vpk-border);

    border: none;

  }

@keyframes vpk-spin {

    to { transform: rotate(360deg); }

  }

@media (max-width: 767px) {
  .vpk-hero {

      display: flex !important;

      flex-direction: column !important;

    }
  .vpk-info {

      width: 100% !important;

      border-left: none;

      border-top: 1px solid var(--vpk-border);

    }
}

@media (max-width: 767px) {
  .vpk-info {
      padding-bottom: 80px;
    }
}

[data-vpk-scroll-to-buy] {
    cursor: pointer;
  }

.vk-product-page,
.vk-product-page.product {

    overflow: visible;

  }

.vk-shipping-info {
    background: #0a0a0a !important;
    border: 1px solid rgba(170, 255, 0, 0.18) !important;
    border-radius: 8px !important;
    padding: 16px !important;
    margin: 16px 0 !important;
    color: rgba(255, 255, 255, 0.88) !important;
  }

.vk-shipping-info h3,
.vk-shipping-info h2,
.vk-shipping-info h4 {
    color: #ffffff !important;
    margin-top: 0;
  }

.vk-shipping-info p,
.vk-shipping-info li,
.vk-shipping-info ul,
.vk-shipping-info ol,
.vk-shipping-info em,
.vk-shipping-info strong {
    color: rgba(255, 255, 255, 0.88) !important;
  }

.vk-shipping-info a {
    color: #aaff00 !important;
  }

.vk-shipping-info p[style*="color"] {
    color: rgba(255, 255, 255, 0.65) !important;
  }

.vk-shipping-info > p:last-child {
    color: rgba(255, 255, 255, 0.65) !important;
  }

.vk-post-faq__item {
    background: #141414 !important;
    border: 1px solid rgba(170, 255, 0, 0.15) !important;
    border-radius: 8px !important;
    padding: 14px 18px !important;
    color: #ffffff !important;
  }

.vk-post-faq__item summary,
.vk-post-faq__item summary * {
    color: #ffffff !important;
    cursor: pointer;
    font-weight: 700;
  }

.vk-post-faq__item p,
.vk-post-faq__item li {
    color: rgba(255, 255, 255, 0.85) !important;
  }

h2#vk-product-faq,
#vk-product-faq {
    color: #ffffff !important;
  }

@keyframes vpkSlideIn {
 to { opacity: 1; transform: translateY(0); }
 }

.vpk-body {
 font-size: 13.5px;
 line-height: 1.8;
 color: #888;
 margin: 0 0 18px;
 }

@keyframes vpkBorderSpin {
 to { background: conic-gradient(from 360deg, transparent 0%, rgba(170,255,0,0.15) 10%, transparent 20%); }
 }

.vpk-timeline {
 position: relative;
 padding-left: 60px;
 margin-bottom: 44px;
 }

.vpk-timeline::before {
 content: '';
 position: absolute;
 left: 19px;
 top: 10px;
 bottom: 10px;
 width: 2px;
 background: linear-gradient(180deg, #AAFF00 0%, rgba(170,255,0,0.08) 100%);
 border-radius: 2px;
 }

.vpk-timeline__step {
 position: relative;
 padding: 0 0 36px;
 }

.vpk-timeline__step:last-child { padding-bottom: 0; }

.vpk-timeline__dot {
 position: absolute;
 left: -46px;
 top: 2px;
 width: 18px;
 height: 18px;
 border-radius: 50%;
 background: #000;
 border: 2px solid #AAFF00;
 box-shadow: 0 0 10px rgba(170,255,0,0.2);
 transition: all 0.3s ease;
 }

.vpk-timeline__step:first-child.vpk-timeline__dot {
 background: #AAFF00;
 box-shadow: 0 0 16px rgba(170,255,0,0.4), 0 0 30px rgba(170,255,0,0.15);
 }

.vpk-timeline__step:first-child.vpk-timeline__dot::after {
 content: '';
 position: absolute;
 inset: -5px;
 border-radius: 50%;
 border: 1px solid rgba(170,255,0,0.2);
 animation: vpkDotPulse 2.5s ease-in-out infinite;
 }

@keyframes vpkDotPulse {
 0%, 100% { opacity: 0; transform: scale(1); }
 50% { opacity: 1; transform: scale(1.3); }
 }

.vpk-timeline__label {
 font-family: 'Bebas Neue', sans-serif;
 font-size: 16px;
 letter-spacing: 0.05em;
 color: #fff;
 text-transform: uppercase;
 margin-bottom: 5px;
 }

.vpk-timeline__desc {
 font-size: 13px;
 color: #666;
 line-height: 1.6;
 }

.vpk-compliance {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: 14px;
 }

@media (max-width: 768px) {
  .vpk-compliance { grid-template-columns: 1fr; gap: 12px; }
  .vpk-timeline { padding-left: 48px; }
}

@media (max-width: 480px) {
  .vpk-timeline { padding-left: 40px; }
  .vpk-timeline__dot { left: -36px; width: 14px; height: 14px; }
}
