/* VLR Theme — woocommerce.css
   Additional WooCommerce overrides
*/

/* ─── NOTICES ──────────────────────────────────────────────── */
.woocommerce-notices-wrapper { margin-bottom: 16px; }
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
  background: var(--vlr-grey) !important;
  border: 1px solid var(--vlr-border2) !important;
  border-top: none !important;
  border-left: 3px solid var(--vlr-pink) !important;
  border-radius: var(--vlr-r8) !important;
  color: var(--vlr-snow) !important;
  padding: 14px 18px !important;
  margin-bottom: 16px !important;
  font-size: 13px !important;
  font-family: var(--vlr-body) !important;
  list-style: none !important;
}
.woocommerce .woocommerce-info { border-left-color: var(--vlr-green) !important; }
.woocommerce .woocommerce-error { border-left-color: #ef4444 !important; }
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before { display: none !important; }
.woocommerce-additional-fields { display: none !important; }
.woocommerce .woocommerce-message a.button,
.woocommerce .woocommerce-info a.button {
  background: var(--vlr-pink) !important; color: white !important;
  border-radius: var(--vlr-r4) !important; border: none !important;
  padding: 8px 16px !important; font-family: var(--vlr-mono) !important;
  font-size: 11px !important; float: right !important; letter-spacing: 0.5px !important;
}

/* ─── BUTTONS GLOBAL ───────────────────────────────────────── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--vlr-pink) !important;
  color: white !important;
  border-radius: var(--vlr-r8) !important;
  border: none !important;
  font-family: var(--vlr-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.4px !important;
  padding: 12px 24px !important;
  transition: background 0.18s !important;
  cursor: pointer !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: var(--vlr-pink2) !important; }

.woocommerce a.button.alt { background: var(--vlr-grey) !important; color: var(--vlr-snow) !important; border: 1px solid var(--vlr-border2) !important; }
.woocommerce a.button.alt:hover { border-color: var(--vlr-pglow) !important; }

/* ─── FORM FIELDS GLOBAL ───────────────────────────────────── */
.woocommerce-page input[type="text"],
.woocommerce-page input[type="email"],
.woocommerce-page input[type="tel"],
.woocommerce-page input[type="password"],
.woocommerce-page input[type="number"],
.woocommerce-page select,
.woocommerce-page textarea {
  background: var(--vlr-grey) !important;
  border: 1px solid var(--vlr-border2) !important;
  border-radius: var(--vlr-r8) !important;
  color: var(--vlr-snow) !important;
  padding: 14px 16px !important;
  font-family: var(--vlr-body) !important;
  font-size: 13.5px !important;
  outline: none !important;
  box-shadow: none !important;
  transition: all 0.2s ease !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.woocommerce-page input:focus,
.woocommerce-page select:focus,
.woocommerce-page textarea:focus { 
  border-color: var(--vlr-pink) !important; 
  box-shadow: 0 0 10px rgba(255, 31, 143, 0.18) !important;
}
.woocommerce-page input::placeholder,
.woocommerce-page textarea::placeholder { 
  color: var(--vlr-fog) !important; 
  opacity: 0.75 !important;
}
.woocommerce-page select option { 
  background: var(--vlr-grey2); 
  color: var(--vlr-snow); 
}

/* Fix WooCommerce default labels and floating placeholders */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}

.woocommerce-checkout .form-row {
  grid-column: span 2 !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  box-sizing: border-box !important;
}

@media (min-width: 768px) {
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last {
    grid-column: span 1 !important;
  }
}

.woocommerce-checkout .form-row label {
  font-family: var(--vlr-mono) !important;
  font-size: 9.5px !important;
  color: var(--vlr-mist) !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
  display: inline-block !important;
  line-height: 1.2 !important;
}

.woocommerce-checkout .form-row label .required {
  color: var(--vlr-pink) !important;
  text-decoration: none !important;
}

/* Custom premium checkboxes and radios */
.woocommerce-checkout input[type="checkbox"],
.woocommerce-checkout input[type="radio"],
.woocommerce-form__input-checkbox {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: var(--vlr-grey) !important;
  border: 1px solid var(--vlr-border2) !important;
  border-radius: var(--vlr-r4) !important;
  width: 16px !important;
  height: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  cursor: pointer !important;
  position: relative !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}
.woocommerce-checkout input[type="radio"] {
  border-radius: 50% !important;
}
.woocommerce-checkout input[type="checkbox"]:checked,
.woocommerce-checkout input[type="radio"]:checked,
.woocommerce-form__input-checkbox:checked {
  background: var(--vlr-pink) !important;
  border-color: var(--vlr-pink) !important;
  box-shadow: 0 0 8px rgba(255, 31, 143, 0.4) !important;
}
.woocommerce-checkout input[type="checkbox"]:checked::after,
.woocommerce-form__input-checkbox:checked::after {
  content: "✓" !important;
  color: white !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}
.woocommerce-checkout input[type="radio"]:checked::after {
  content: "" !important;
  width: 6px !important;
  height: 6px !important;
  background: white !important;
  border-radius: 50% !important;
}

/* Checkout Page Grid Layout */
@media (min-width: 992px) {
  form.checkout {
    display: grid !important;
    grid-template-columns: 1.25fr 1fr !important;
    gap: 48px !important;
    align-items: start !important;
  }
  .col2-set {
    grid-column: 1 !important;
    margin-bottom: 0 !important;
  }
  #order_review_heading {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin-top: 0 !important;
  }
  #order_review {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }
}

.woocommerce-checkout h3 {
  font-family: var(--vlr-disp) !important;
  font-size: 24px !important;
  letter-spacing: 1.5px !important;
  margin: 0 0 24px 0 !important;
  text-transform: uppercase !important;
  color: var(--vlr-snow) !important;
  border-bottom: 1px solid var(--vlr-border) !important;
  padding-bottom: 8px !important;
}

/* ─── CHECKOUT: SHIPPING METHOD RADIO BUTTONS ──────────────── */

/* Full-width shipping block in order summary (replaces 2-col flex row) */
.vlr-os-shipping {
  display: block !important;
  width: 100% !important;
  padding: 14px 0 !important;
  border-top: 1px solid var(--vlr-border, rgba(255,255,255,0.08)) !important;
  border-bottom: 1px solid var(--vlr-border, rgba(255,255,255,0.08)) !important;
  margin: 6px 0 !important;
}
.vlr-os-shipping-label {
  font-family: var(--vlr-mono) !important;
  font-size: 10px !important;
  letter-spacing: 1.5px !important;
  color: var(--vlr-green) !important;
  margin-bottom: 10px !important;
}
.vlr-ship-note {
  font-family: var(--vlr-mono) !important;
  font-size: 11px !important;
  color: var(--vlr-mist, #999) !important;
  margin: 0 !important;
}

#shipping_method {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
#shipping_method li {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 11px 14px !important;
  margin-bottom: 6px !important;
  border: 1px solid rgba(166,255,0,0.12) !important;
  border-radius: 6px !important;
  background: rgba(166,255,0,0.03) !important;
  cursor: pointer !important;
  transition: border-color 0.2s, background 0.2s !important;
}
#shipping_method li:hover {
  border-color: rgba(166,255,0,0.3) !important;
  background: rgba(166,255,0,0.06) !important;
}
#shipping_method li:last-child { margin-bottom: 0 !important; }
#shipping_method input[type="radio"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  accent-color: var(--vlr-green) !important;
  width: 15px !important;
  height: 15px !important;
  min-width: 15px !important;
  border: 1.5px solid rgba(166,255,0,0.4) !important;
  border-radius: 50% !important;
  background: transparent !important;
  cursor: pointer !important;
  position: relative !important;
  transition: border-color 0.2s, background 0.2s !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}
#shipping_method input[type="radio"]:checked {
  border-color: var(--vlr-green) !important;
  background: var(--vlr-green) !important;
  box-shadow: 0 0 0 2px #0a0a0a, 0 0 0 4px var(--vlr-green) !important;
}
#shipping_method label {
  font-family: var(--vlr-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.8px !important;
  color: var(--vlr-text) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  flex: 1 !important;
  justify-content: space-between !important;
  margin: 0 !important;
  gap: 8px !important;
}
#shipping_method label .woocommerce-Price-amount {
  color: var(--vlr-green) !important;
  font-weight: 600 !important;
}
/* Highlight selected row */
#shipping_method li:has(input:checked) {
  border-color: rgba(166,255,0,0.4) !important;
  background: rgba(166,255,0,0.06) !important;
}

/* ─── SINGLE PRODUCT BUNDLE / KIT SELECTION ────────────────── */
.vlr-bundle-selection {
  margin: 24px 0 20px 0;
  display: block;
}
.vlr-bundle-title {
  display: block;
  font-family: var(--vlr-mono);
  font-size: 10px;
  color: var(--vlr-mist);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.vlr-bundle-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
@media (max-width: 576px) {
  .vlr-bundle-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.vlr-bundle-card {
  background: var(--vlr-grey);
  border: 1px solid var(--vlr-border2);
  border-radius: var(--vlr-r12);
  padding: 16px;
  cursor: pointer;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: all 0.22s ease;
  box-sizing: border-box;
}
.vlr-bundle-card:hover {
  border-color: rgba(255, 31, 143, 0.4);
  transform: translateY(-2px);
}
.vlr-bundle-card.active {
  border-color: var(--vlr-green) !important;
  background: rgba(166, 255, 0, 0.03) !important;
  box-shadow: 0 0 16px rgba(166, 255, 0, 0.15) !important;
}

/* Badges for bundle cards */
.vlr-bundle-badge {
  position: absolute;
  top: -9px;
  font-family: var(--vlr-mono);
  font-size: 8px;
  font-weight: 700;
  color: white;
  padding: 2px 8px;
  border-radius: 4px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.vlr-bundle-badge.badge-popular {
  background: var(--vlr-green);
  color: var(--vlr-black);
}
.vlr-bundle-badge.badge-value {
  background: #fb923c; /* Orange */
}

/* Vial graphics inside card */
.vlr-bundle-vials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  margin-bottom: 8px;
  height: 32px;
}
.vlr-vial-svg {
  color: var(--vlr-mist);
  transition: color 0.2s ease;
}
.vlr-bundle-card.active .vlr-vial-svg {
  color: var(--vlr-green);
  filter: drop-shadow(0 0 6px var(--vlr-green));
}
.vlr-bundle-card:hover .vlr-vial-svg {
  color: var(--vlr-pink);
}

/* Info section inside card */
.vlr-bundle-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.vlr-bundle-name {
  font-family: var(--vlr-disp);
  font-size: 16px;
  letter-spacing: 0.5px;
  color: var(--vlr-snow);
}
.vlr-bundle-price-desc {
  font-family: var(--vlr-mono);
  font-size: 9px;
  color: var(--vlr-fog);
  letter-spacing: 0.2px;
}
.vlr-bundle-card.active .vlr-bundle-price-desc {
  color: var(--vlr-green);
}

/* Price savings tag */
.vlr-price-savings {
  font-family: var(--vlr-mono);
  font-size: 11px;
  color: var(--vlr-green);
  background: rgba(166, 255, 0, 0.1);
  border: 1px solid var(--vlr-gglow);
  border-radius: 4px;
  padding: 2px 6px;
  margin-left: 8px;
  letter-spacing: 0.5px;
  vertical-align: middle;
}

/* ─── SINGLE PRODUCT TRUST BADGES ──────────────────────────── */
.vlr-sp-trust {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 24px;
  border-top: 1px solid var(--vlr-border);
  padding-top: 18px;
}
.vlr-sp-trust-item {
  background: var(--vlr-grey);
  border: 1px solid var(--vlr-border2);
  border-radius: var(--vlr-r8);
  padding: 12px 6px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
}
.vlr-sp-trust-item:hover {
  border-color: rgba(255, 31, 143, 0.25);
  background: var(--vlr-grey2);
}
.vlr-sp-trust-item svg {
  color: var(--vlr-pink);
  filter: drop-shadow(0 0 4px rgba(255, 31, 143, 0.2));
}
.vlr-sp-trust-item small {
  font-family: var(--vlr-mono);
  font-size: 8px;
  color: var(--vlr-mist);
  letter-spacing: 0.5px;
  line-height: 1.1;
  text-transform: uppercase;
}


/* ─── VIP PRICING BANNER ───────────────────────────────────── */
.vlr-vip-banner {
  max-width: 1280px; margin: 20px auto 0; padding: 12px 20px;
  background: linear-gradient(90deg, rgba(166,255,0,0.08), rgba(255,31,143,0.08));
  border: 1px solid rgba(166,255,0,0.3); border-radius: 10px;
  font-family: var(--vlr-mono); font-size: 12px; letter-spacing: 1px;
  color: var(--vlr-green); text-align: center; text-transform: uppercase;
}

/* ─── MY ACCOUNT ───────────────────────────────────────────────── */
.woocommerce-account .woocommerce {
  max-width: 1180px; margin: 0 auto; padding: 56px 24px 90px;
  display: grid; grid-template-columns: 270px 1fr; gap: 32px; align-items: start;
}

/* Sidebar navigation as a card */
.woocommerce-MyAccount-navigation {
  background: var(--vlr-grey); border: 1px solid #2a2a2a; border-radius: 16px;
  padding: 14px; position: sticky; top: 100px;
}
.woocommerce-MyAccount-navigation ul { list-style: none; display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation ul li a {
  display: flex; align-items: center; gap: 10px; padding: 13px 16px;
  font-family: var(--vlr-mono); font-size: 12px; letter-spacing: 0.6px;
  color: var(--vlr-mist); border-radius: 10px; text-decoration: none;
  border: 1px solid transparent; transition: all 0.15s;
}
.woocommerce-MyAccount-navigation ul li a::before {
  content: ''; width: 6px; height: 6px; border-radius: 50%;
  background: #333; flex-shrink: 0; transition: background 0.15s;
}
.woocommerce-MyAccount-navigation ul li a:hover {
  color: #fff; background: rgba(255,255,255,0.03); border-color: #333;
}
.woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--vlr-pink); background: rgba(255,31,143,0.07); border-color: rgba(255,31,143,0.3);
}
.woocommerce-MyAccount-navigation ul li.is-active a::before { background: var(--vlr-pink); }

/* Content card */
.woocommerce-MyAccount-content {
  background: var(--vlr-grey); border: 1px solid #2a2a2a; border-radius: 16px;
  padding: 32px !important; min-width: 0;
}
.woocommerce-MyAccount-content > p { color: var(--vlr-mist); font-size: 14px; line-height: 1.7; }
.woocommerce-MyAccount-content a:not(.button) { color: var(--vlr-pink); }
.woocommerce-MyAccount-content mark { background: rgba(166,255,0,0.15); color: var(--vlr-green); padding: 1px 6px; border-radius: 4px; }

/* Dashboard headings */
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 {
  font-family: var(--vlr-display, 'Bebas Neue', sans-serif); color: #fff;
  letter-spacing: 1px; margin: 0 0 16px; font-size: 24px;
}

/* Forms inside account (edit details, addresses, login, register) */
.woocommerce-account .woocommerce form .form-row { margin-bottom: 16px; }
.woocommerce-account label { display:block; font-family: var(--vlr-mono); font-size: 11px; letter-spacing: 0.5px; color: var(--vlr-mist); margin-bottom: 6px; }
.woocommerce-account .woocommerce input.input-text,
.woocommerce-account .woocommerce input[type=text],
.woocommerce-account .woocommerce input[type=email],
.woocommerce-account .woocommerce input[type=password],
.woocommerce-account .woocommerce input[type=tel],
.woocommerce-account .woocommerce select,
.woocommerce-account .select2-container .select2-selection {
  width: 100%; background: var(--vlr-black) !important; border: 1px solid #2a2a2a !important;
  border-radius: 8px !important; padding: 13px 14px !important; color: #fff !important;
  font-size: 14px !important; box-sizing: border-box;
}
.woocommerce-account .woocommerce input:focus,
.woocommerce-account .woocommerce select:focus { border-color: var(--vlr-pink) !important; outline: none; }
.woocommerce-account .woocommerce .button,
.woocommerce-account .woocommerce button[type=submit],
.woocommerce-account .woocommerce input[type=submit] {
  background: var(--vlr-pink) !important; color: #fff !important; border: none !important;
  border-radius: 8px !important; padding: 14px 28px !important; font-family: var(--vlr-mono) !important;
  font-size: 12px !important; letter-spacing: 1.5px !important; cursor: pointer !important;
  transition: opacity 0.15s !important;
}
.woocommerce-account .woocommerce .button:hover,
.woocommerce-account .woocommerce button[type=submit]:hover { opacity: 0.88 !important; }

/* Password fieldset & strength meter */
.woocommerce-account form fieldset {
  background: transparent;
  border: none;
  border-top: 1px solid #2a2a2a;
  padding: 20px 0 0;
  margin: 24px 0 0;
}
.woocommerce-account form fieldset legend {
  font-family: var(--vlr-mono);
  font-size: 11px;
  color: #fff;
  letter-spacing: 1px;
  padding: 0 8px;
}
.woocommerce-password-strength {
  background: var(--vlr-grey) !important;
  color: var(--vlr-text) !important;
  border: 1px solid #2a2a2a !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: 12px !important;
}
.woocommerce-password-strength.strong { border-color: var(--vlr-green) !important; color: var(--vlr-green) !important; }
.woocommerce-password-strength.good { border-color: #a6ff00 !important; color: #a6ff00 !important; }
.woocommerce-password-strength.short,
.woocommerce-password-strength.bad { border-color: #ff4444 !important; color: #ff4444 !important; }
.woocommerce-password-hint {
  color: var(--vlr-mist) !important;
  font-size: 12px !important;
  margin-top: 6px !important;
}

/* Login / Register two-column entry */
.woocommerce-account:not(.logged-in) .woocommerce {
  display: block; max-width: 980px; margin: 0 auto; padding: 56px 24px 90px;
}
#customer_login.u-columns, .woocommerce-account .col2-set {
  display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: start;
}
#customer_login .u-column1, #customer_login .u-column2 { width: 100%; max-width: none; float: none; margin: 0; }
.woocommerce form.login, .woocommerce form.register {
  background: linear-gradient(160deg, rgba(255,31,143,.05), rgba(0,0,0,0) 45%), var(--vlr-grey);
  border: 1px solid #2a2a2a; border-radius: 16px; padding: 36px 34px; margin: 0;
  transition: border-color .25s;
}
.woocommerce form.login:focus-within, .woocommerce form.register:focus-within { border-color: rgba(255,31,143,.35); }
#customer_login .u-column1 > h2, #customer_login .u-column2 > h2,
.woocommerce form.login h2, .woocommerce form.register h2 {
  font-family: var(--vlr-display, 'Bebas Neue', sans-serif); color: #fff; font-size: 26px; letter-spacing: 1.5px; margin: 0 0 4px;
}
#customer_login h2::after {
  content: ''; display: block; width: 34px; height: 3px; margin: 10px 0 20px;
  background: linear-gradient(90deg, var(--vlr-pink), transparent); border-radius: 2px;
}
/* First + Last name side by side */
.vlr-reg-name-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.vlr-reg-name-row .form-row { margin-bottom: 16px; }
/* Custom checkbox — visible on the dark theme (Remember me + register consents) */
.woocommerce-form__label-for-checkbox { display: inline-flex !important; align-items: center; gap: 10px; cursor: pointer; }
.woocommerce-form-login__rememberme { font-size: 12px; color: var(--vlr-text); margin: 2px 0 18px; letter-spacing: .3px; user-select: none; }
.woocommerce-form-login__rememberme span { margin-top: 1px; }
.woocommerce-form-login__rememberme input[type=checkbox],
.woocommerce form.register input[type=checkbox],
.woocommerce form.login input[type=checkbox] {
  -webkit-appearance: none; appearance: none;
  width: 18px !important; height: 18px; min-width: 18px; margin: 0; padding: 0 !important;
  border: 1.5px solid #4a4a4a; border-radius: 4px; background: rgba(0,0,0,.45) !important;
  cursor: pointer; position: relative; transition: border-color .15s, background .15s; vertical-align: middle;
}
.woocommerce-form-login__rememberme input[type=checkbox]:hover,
.woocommerce form.login input[type=checkbox]:hover { border-color: var(--vlr-pink); }
.woocommerce-form-login__rememberme input[type=checkbox]:checked,
.woocommerce form.register input[type=checkbox]:checked,
.woocommerce form.login input[type=checkbox]:checked { background: var(--vlr-pink) !important; border-color: var(--vlr-pink); }
.woocommerce-form-login__rememberme input[type=checkbox]:checked::after,
.woocommerce form.register input[type=checkbox]:checked::after,
.woocommerce form.login input[type=checkbox]:checked::after {
  content: ''; position: absolute; left: 5px; top: 1px; width: 4px; height: 9px;
  border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
/* Buttons: full-width, confident */
.woocommerce form.login button[type=submit], .woocommerce form.register button[type=submit] {
  width: 100%; padding: 14px 20px !important; font-size: 13px; letter-spacing: 1.5px;
  border-radius: 8px !important; transition: transform .15s, box-shadow .15s, opacity .15s;
}
.woocommerce form.login button[type=submit]:hover, .woocommerce form.register button[type=submit]:hover {
  transform: translateY(-1px); box-shadow: 0 6px 22px rgba(255,31,143,.28);
}
.woocommerce form.register .woocommerce-privacy-policy-text p { margin-top: 14px; font-size: 11.5px; color: var(--vlr-mist); line-height: 1.6; }
.woocommerce form.register .woocommerce-privacy-policy-text a { color: var(--vlr-pink); }
.woocommerce form.register .woocommerce-form-register__submit { margin-top: 16px; }
.woocommerce-LostPassword { text-align: center; margin: 14px 0 0; }
.woocommerce-LostPassword a { color: var(--vlr-mist); font-size: 12px; text-decoration: underline; text-underline-offset: 3px; transition: color .15s; }
.woocommerce-LostPassword a:hover { color: var(--vlr-pink); }
@media (max-width: 560px) {
  .vlr-reg-name-row { grid-template-columns: 1fr; gap: 0; }
  .woocommerce form.login, .woocommerce form.register { padding: 26px 20px; }
}

/* Addresses grid */
.woocommerce-account .addresses .col-1, .woocommerce-account .addresses .col-2 { width: 100%; }
.woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.woocommerce-Address { background: var(--vlr-black); border: 1px solid #2a2a2a; border-radius: 12px; padding: 20px; }
.woocommerce-Address address { color: var(--vlr-text); font-style: normal; line-height: 1.7; font-size: 13px; }

/* Responsive */
@media (max-width: 880px) {
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; gap: 18px; padding: 28px 14px 60px; }
  .woocommerce-MyAccount-navigation { position: static; top: auto; padding: 12px; }
  .woocommerce-MyAccount-navigation ul { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .woocommerce-MyAccount-navigation ul li a { justify-content: center; padding: 12px 10px; font-size: 11px; }
  .woocommerce-MyAccount-content { padding: 22px 18px !important; }
  #customer_login.u-columns, .woocommerce-account .col2-set { grid-template-columns: 1fr; }
  .woocommerce-account:not(.logged-in) .woocommerce { padding: 28px 14px 60px; }
  .woocommerce-Addresses { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  .woocommerce-MyAccount-navigation ul { grid-template-columns: 1fr; }
}

/* ─── ORDER TABLE ──────────────────────────────────────────── */
.woocommerce table.shop_table {
  width: 100%; border-collapse: collapse;
  border: 1px solid var(--vlr-border) !important;
  border-radius: var(--vlr-r8); overflow: hidden;
}
.woocommerce table.shop_table th {
  background: var(--vlr-grey) !important;
  font-family: var(--vlr-mono) !important; font-size: 9.5px !important;
  color: var(--vlr-fog) !important; letter-spacing: 1.2px !important;
  padding: 12px 16px !important; text-align: left !important;
  border: none !important; border-bottom: 1px solid var(--vlr-border) !important;
}
.woocommerce table.shop_table td {
  padding: 14px 16px !important; font-size: 13px !important;
  color: var(--vlr-snow) !important; border: none !important;
  border-bottom: 1px solid var(--vlr-border) !important;
  background: var(--vlr-black) !important;
}
.woocommerce table.shop_table tfoot td {
  background: var(--vlr-grey) !important;
  font-family: var(--vlr-mono) !important; font-size: 11px !important;
  color: var(--vlr-fog) !important;
}
.woocommerce table.shop_table tfoot tr.order-total td { color: var(--vlr-snow) !important; font-size: 15px !important; font-weight: 700 !important; }
.woocommerce table.shop_table .amount { font-family: var(--vlr-mono) !important; }

/* ─── CHECKOUT PAYMENT ─────────────────────────────────────── */
#payment { background: transparent !important; }
#payment .payment_methods { list-style: none !important; margin: 0 0 20px 0 !important; padding: 0 !important; }
#payment .payment_methods li { padding: 14px 0 !important; border-bottom: 1px solid var(--vlr-border) !important; }
#payment .payment_methods li label {
  font-family: var(--vlr-body) !important; font-size: 13.5px !important;
  color: var(--vlr-snow) !important; cursor: pointer !important;
  display: inline-flex !important; align-items: center !important; gap: 10px !important;
}
#payment .payment_methods li img { max-height: 20px; margin-left: 8px; vertical-align: middle; }
#payment .payment_box {
  background: var(--vlr-grey) !important; border: 1px solid var(--vlr-border) !important;
  border-radius: var(--vlr-r8) !important; padding: 16px !important; margin: 12px 0 0 0 !important;
  font-size: 12.5px !important;
}
#payment .payment_box p { color: var(--vlr-mist) !important; font-size: 12.5px !important; line-height: 1.6 !important; }
#payment #place_order {
  width: 100% !important; background: var(--vlr-pink) !important; color: white !important;
  border: none !important; border-radius: var(--vlr-r8) !important;
  padding: 16px !important; font-family: var(--vlr-mono) !important;
  font-size: 14px !important; font-weight: 700 !important; letter-spacing: 1.5px !important;
  cursor: pointer !important; transition: all 0.2s ease !important; margin-top: 16px !important;
  display: block !important;
  box-shadow: 0 4px 15px rgba(255, 31, 143, 0.2) !important;
}
#payment #place_order:hover { 
  background: var(--vlr-pink2) !important; 
  box-shadow: 0 4px 20px rgba(255, 31, 143, 0.4) !important;
  transform: translateY(-1px) !important;
}

/* ─── PRODUCT PRICE ────────────────────────────────────────── */
.woocommerce .price .woocommerce-Price-amount,
.woocommerce .price { font-family: var(--vlr-mono); color: var(--vlr-snow); }
.woocommerce .price ins { text-decoration: none; }
.woocommerce .price del { opacity: 0.5; }
.woocommerce .price del .woocommerce-Price-amount { font-size: 0.8em; }

/* ─── STAR RATINGS ─────────────────────────────────────────── */
.woocommerce .star-rating { color: var(--vlr-pink) !important; }
.woocommerce .star-rating::before { color: var(--vlr-fog) !important; }

/* ─── ORDER RECEIVED / THANK YOU ───────────────────────────── */
.woocommerce-order { padding: 48px 0; }
.woocommerce-order .woocommerce-thankyou-order-received {
  font-family: var(--vlr-disp); font-size: 32px; color: var(--vlr-green);
  letter-spacing: 1px; margin-bottom: 20px;
}
.woocommerce-order-overview {
  display: flex; gap: 24px; list-style: none; flex-wrap: wrap;
  background: var(--vlr-grey); border: 1px solid var(--vlr-border);
  border-radius: var(--vlr-r12); padding: 20px 24px; margin-bottom: 28px;
}
.woocommerce-order-overview li { font-family: var(--vlr-mono); font-size: 11px; color: var(--vlr-fog); letter-spacing: 0.5px; }
.woocommerce-order-overview li strong { display: block; font-size: 15px; color: var(--vlr-snow); margin-top: 4px; }

/* ─── STRIPE ELEMENTS ──────────────────────────────────────── */
.StripeElement {
  background: var(--vlr-grey) !important;
  border: 1px solid var(--vlr-border2) !important;
  border-radius: var(--vlr-r8) !important;
  padding: 14px 16px !important;
}
.StripeElement--focus { border-color: var(--vlr-pink) !important; }
.StripeElement--invalid { border-color: #ef4444 !important; }

/* ─── SELECT2 OVERRIDES ────────────────────────────────────── */
.select2-container .select2-selection--single {
  background: var(--vlr-grey) !important;
  border: 1px solid var(--vlr-border2) !important;
  border-radius: var(--vlr-r8) !important;
  height: 48px !important; 
  padding: 11px 16px !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
}
.select2-container .select2-selection--single .select2-selection__rendered {
  color: var(--vlr-snow) !important; 
  font-family: var(--vlr-body) !important; 
  font-size: 13.5px !important; 
  padding: 0 !important;
  line-height: 1.2 !important;
}
.select2-container .select2-selection--single .select2-selection__arrow { 
  top: 50% !important; 
  transform: translateY(-50%) !important;
  right: 14px !important; 
}
.select2-dropdown { 
  background: var(--vlr-grey2) !important; 
  border: 1px solid var(--vlr-border2) !important; 
  border-radius: var(--vlr-r8) !important; 
}
.select2-results__option { 
  font-family: var(--vlr-body) !important; 
  font-size: 13px !important; 
  color: var(--vlr-mist) !important; 
  padding: 10px 16px !important; 
}
.select2-results__option--highlighted { 
  background: var(--vlr-pink) !important; 
  color: white !important; 
}
.select2-search--dropdown {
  padding: 8px 12px !important;
}
.select2-search--dropdown input { 
  background: var(--vlr-grey) !important; 
  border: 1px solid var(--vlr-border2) !important; 
  border-radius: var(--vlr-r4) !important;
  color: var(--vlr-snow) !important; 
  padding: 8px 12px !important;
}

/* ─── WOOCOMMERCE BLOCKS CHECKOUT & CART OVERRIDES ─────────── */
.wc-block-checkout,
.wc-block-cart {
  color: var(--vlr-snow) !important;
  font-family: var(--vlr-body) !important;
}

/* Static Label Layout for WooCommerce Blocks Form Fields to prevent cramped overlaps */
.wc-block-components-text-input,
.wc-blocks-components-text-input,
.wc-block-components-combobox,
.wc-blocks-components-combobox,
.wc-block-components-textarea,
.wc-blocks-components-textarea,
.wc-block-components-select,
.wc-blocks-components-select {
  display: flex !important;
  flex-direction: column-reverse !important;
  position: relative !important;
  margin-bottom: 22px !important;
}

.wc-block-components-text-input input,
.wc-blocks-components-text-input input,
.wc-block-components-text-input__input,
.wc-blocks-components-text-input__input,
.wc-block-components-combobox input,
.wc-blocks-components-combobox input,
.wc-block-components-textarea textarea,
.wc-blocks-components-textarea textarea,
.wc-block-components-select select,
.wc-blocks-components-select select,
.wc-block-components-select__select,
.wc-blocks-components-select__select,
.wc-block-components-totals-coupon__input input,
.wc-blocks-components-totals-coupon__input input {
  background: var(--vlr-grey) !important;
  border: 1px solid var(--vlr-border2) !important;
  border-radius: var(--vlr-r8) !important;
  color: var(--vlr-snow) !important;
  padding: 12px 16px !important;
  font-family: var(--vlr-body) !important;
  font-size: 14px !important;
  height: 48px !important;
  outline: none !important;
  box-shadow: none !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.wc-block-components-text-input label,
.wc-blocks-components-text-input label,
.wc-block-components-combobox label,
.wc-blocks-components-combobox label,
.wc-block-components-textarea label,
.wc-blocks-components-textarea label,
.wc-block-components-select label,
.wc-blocks-components-select label,
.wc-block-components-combobox-controls label,
.wc-blocks-components-combobox-controls label,
.wc-block-components-select-controls label,
.wc-blocks-components-select-controls label,
.wc-block-components-combobox .wc-block-components-combobox-controls label,
.wc-blocks-components-combobox .wc-blocks-components-combobox-controls label,
.wc-block-components-select .wc-block-components-select-controls label,
.wc-blocks-components-select .wc-blocks-components-select-controls label,
.wc-block-components-text-input.is-active label,
.wc-blocks-components-text-input.is-active label,
.wc-block-components-combobox.is-active label,
.wc-blocks-components-combobox.is-active label,
.wc-block-components-textarea.is-active label,
.wc-blocks-components-textarea.is-active label,
.wc-block-components-select.is-active label,
.wc-blocks-components-select.is-active label,
.wc-block-components-combobox.is-active .wc-block-components-combobox-controls label,
.wc-blocks-components-combobox.is-active .wc-blocks-components-combobox-controls label,
.wc-block-components-select.is-active .wc-block-components-select-controls label,
.wc-blocks-components-select.is-active .wc-blocks-components-select-controls label,
.wc-blocks-components-select__label,
.wc-blocks-components-select__label.is-active {
  position: static !important;
  display: block !important;
  font-family: var(--vlr-mono) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: var(--vlr-mist) !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin-bottom: 8px !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  height: auto !important;
  width: auto !important;
}

/* Active and focus states for inputs and labels */
.wc-block-components-text-input input:focus,
.wc-blocks-components-text-input input:focus,
.wc-block-components-combobox input:focus,
.wc-blocks-components-combobox input:focus,
.wc-block-components-textarea textarea:focus,
.wc-blocks-components-textarea textarea:focus,
.wc-block-components-select select:focus,
.wc-blocks-components-select select:focus,
.wc-block-components-totals-coupon__input input:focus,
.wc-blocks-components-totals-coupon__input input:focus {
  border-color: var(--vlr-pink) !important;
  box-shadow: 0 0 10px rgba(255, 31, 143, 0.18) !important;
}

.wc-block-components-text-input:focus-within label,
.wc-blocks-components-text-input:focus-within label,
.wc-block-components-combobox:focus-within label,
.wc-blocks-components-combobox:focus-within label,
.wc-block-components-textarea:focus-within label,
.wc-blocks-components-textarea:focus-within label,
.wc-block-components-select:focus-within label,
.wc-blocks-components-select:focus-within label,
.wc-block-components-combobox-controls:focus-within label,
.wc-blocks-components-combobox-controls:focus-within label,
.wc-block-components-select-controls:focus-within label,
.wc-blocks-components-select-controls:focus-within label {
  color: var(--vlr-pink) !important;
}

/* Fix combobox/dropdown height alignment and layout */
.wc-block-components-combobox .wc-block-components-combobox-controls,
.wc-blocks-components-combobox .wc-blocks-components-combobox-controls,
.wc-block-components-select .wc-block-components-select-controls,
.wc-blocks-components-select .wc-blocks-components-select-controls,
.wc-block-components-combobox-controls,
.wc-blocks-components-combobox-controls,
.wc-block-components-select-controls,
.wc-blocks-components-select-controls {
  display: flex !important;
  flex-direction: column-reverse !important;
  position: relative !important;
  height: auto !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.wc-block-components-combobox .wc-block-components-combobox-controls input,
.wc-blocks-components-combobox .wc-blocks-components-combobox-controls input,
.wc-block-components-combobox-controls input,
.wc-blocks-components-combobox-controls input,
.wc-block-components-select-controls select,
.wc-blocks-components-select-controls select,
.wc-block-components-select-controls__select,
.wc-blocks-components-select-controls__select {
  background: var(--vlr-grey) !important;
  border: 1px solid var(--vlr-border2) !important;
  border-radius: var(--vlr-r8) !important;
  color: var(--vlr-snow) !important;
  padding: 12px 16px !important;
  height: 48px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Position dropdown chevron/arrow to bottom relative to input height */
.wc-block-components-combobox-controls > button,
.wc-blocks-components-combobox-controls > button,
.wc-block-components-combobox-controls__button,
.wc-blocks-components-combobox-controls__button,
.wc-block-components-select-controls::after,
.wc-blocks-components-select-controls::after,
.wc-block-components-select-controls .wc-block-components-select__arrow,
.wc-blocks-components-select-controls .wc-blocks-components-select__arrow,
.wc-block-components-select-controls .wc-block-components-select-controls__arrow,
.wc-blocks-components-select-controls .wc-blocks-components-select-controls__arrow {
  position: absolute !important;
  right: 14px !important;
  bottom: 14px !important;
  top: auto !important;
  transform: none !important;
  height: auto !important;
}

.wc-block-components-combobox .wc-block-components-combobox-controls input,
.wc-block-components-combobox-controls input,
.wc-block-components-select-controls select {
  background: var(--vlr-grey) !important;
  border: 1px solid var(--vlr-border2) !important;
  border-radius: var(--vlr-r8) !important;
  color: var(--vlr-snow) !important;
  padding: 12px 16px !important;
  height: 48px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Position dropdown chevron/arrow to bottom relative to input height */
.wc-block-components-combobox-controls > button,
.wc-block-components-combobox-controls__button,
.wc-block-components-select-controls::after,
.wc-block-components-select-controls .wc-block-components-select__arrow {
  position: absolute !important;
  right: 14px !important;
  bottom: 14px !important;
  top: auto !important;
  transform: none !important;
  height: auto !important;
}

/* Checkbox container gaps and label layouts */
.wc-block-components-checkbox {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 12px !important;
}
.wc-block-components-checkbox input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: var(--vlr-grey) !important;
  border: 1px solid var(--vlr-border2) !important;
  border-radius: var(--vlr-r4) !important;
  width: 18px !important;
  height: 18px !important;
  margin-right: 12px !important;
  cursor: pointer !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.wc-block-components-checkbox input[type="checkbox"]:checked {
  background: var(--vlr-pink) !important;
  border-color: var(--vlr-pink) !important;
}
.wc-block-components-checkbox input[type="checkbox"]:checked::after {
  content: "✓" !important;
  color: white !important;
  font-size: 11px !important;
  font-weight: bold !important;
}
.wc-block-components-checkbox label {
  font-family: var(--vlr-body) !important;
  font-size: 13.5px !important;
  color: var(--vlr-snow) !important;
  cursor: pointer !important;
  margin: 0 !important;
}

/* Coupon block (WC Blocks - BEM naming with __) */
.wc-block-components-totals-coupon__form {
  display: flex !important;
  gap: 8px !important;
  margin-top: 12px !important;
  width: 100% !important;
  align-items: flex-end !important;
}
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input {
  flex: 1 !important;
  margin-bottom: 0 !important;
}
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
  height: 48px !important;
  min-height: 48px !important;
  margin-bottom: 0 !important;
}

/* Premium Buttons Styling for WooCommerce Blocks */
.wc-block-cart__submit-button,
.wc-block-checkout__action-button,
.wc-block-components-checkout-step__submit-button,
.wc-block-components-totals-coupon__button,
.wc-block-components-button {
  background: var(--vlr-pink) !important;
  color: white !important;
  border-radius: var(--vlr-r8) !important;
  font-family: var(--vlr-body) !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  padding: 12px 24px !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  box-shadow: 0 4px 15px rgba(255, 31, 143, 0.2) !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-checkout__action-button:hover,
.wc-block-components-checkout-step__submit-button:hover,
.wc-block-components-totals-coupon__button:hover,
.wc-block-components-button:hover {
  background: var(--vlr-pink2) !important;
  box-shadow: 0 4px 20px rgba(255, 31, 143, 0.4) !important;
  transform: translateY(-1px) !important;
}

.wc-block-cart__submit-button:disabled,
.wc-block-checkout__action-button:disabled,
.wc-block-components-checkout-step__submit-button:disabled,
.wc-block-components-totals-coupon__button:disabled,
.wc-block-components-button:disabled {
  background: var(--vlr-grey2) !important;
  color: var(--vlr-fog) !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: not-allowed !important;
  opacity: 0.6 !important;
}

/* Payment Methods and Express Checkout Container */
.wc-block-checkout__payment-method,
.wc-block-components-express-payment {
  background: var(--vlr-grey) !important;
  border: 1px solid var(--vlr-border2) !important;
  border-radius: var(--vlr-r8) !important;
  padding: 16px !important;
  margin-bottom: 12px !important;
  color: var(--vlr-snow) !important;
}

/* Order Summary & Sidebar styling */
.wc-block-checkout__sidebar,
.wc-block-cart__sidebar,
.wc-block-components-sidebar {
  background: var(--vlr-grey) !important;
  border: 1px solid var(--vlr-border) !important;
  border-radius: var(--vlr-r12) !important;
  padding: 24px !important;
  color: var(--vlr-snow) !important;
}

/* Totals lines */
.wc-block-components-totals-item,
.wc-block-components-totals-shipping,
.wc-block-components-totals-discount,
.wc-block-components-totals-coupon,
.wc-block-components-totals-taxes,
.wc-block-components-totals-footer {
  border-color: var(--vlr-border) !important;
  color: var(--vlr-snow) !important;
  padding: 8px 0 !important;
}
.wc-block-components-totals-item__label,
.wc-block-components-totals-shipping__label,
.wc-block-components-totals-discount__label,
.wc-block-components-totals-taxes__label {
  font-family: var(--vlr-mono) !important;
  font-size: 11px !important;
  color: var(--vlr-mist) !important;
}
.wc-block-components-totals-item__value,
.wc-block-components-totals-shipping__value,
.wc-block-components-totals-discount__value,
.wc-block-components-totals-taxes__value {
  font-family: var(--vlr-mono) !important;
  font-size: 12px !important;
  color: var(--vlr-snow) !important;
}
.wc-block-components-totals-footer {
  border-top: 1px solid var(--vlr-border) !important;
  padding-top: 12px !important;
  margin-top: 12px !important;
}
.wc-block-components-totals-footer__label {
  font-family: var(--vlr-mono) !important;
  font-size: 13px !important;
  color: var(--vlr-snow) !important;
}
.wc-block-components-totals-footer__value {
  font-family: var(--vlr-mono) !important;
  font-size: 18px !important;
  color: var(--vlr-pink2) !important;
  font-weight: 700 !important;
}

/* Order Summary Items */
.wc-block-components-order-summary-item {
  border-color: var(--vlr-border) !important;
  padding: 12px 0 !important;
}
.wc-block-components-order-summary-item__title {
  font-family: var(--vlr-disp) !important;
  font-size: 16px !important;
  color: var(--vlr-snow) !important;
}
.wc-block-components-order-summary-item__description {
  font-family: var(--vlr-body) !important;
  font-size: 12px !important;
  color: var(--vlr-mist) !important;
}

/* Fix order summary quantity badge visibility */
.wc-block-components-order-summary-item__quantity {
  background: var(--vlr-pink) !important;
  border-radius: 50% !important;
  width: 20px !important;
  height: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--vlr-black) !important;
}
.wc-block-components-order-summary-item__quantity,
.wc-block-components-order-summary-item__quantity * {
  color: white !important;
  font-family: var(--vlr-mono) !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
}

/* Cart Page Block Items & Table Styling */
.wc-block-cart-items,
.wc-block-cart-items__header,
.wc-block-cart-item {
  border-color: var(--vlr-border) !important;
  background: transparent !important;
}
.wc-block-cart-items__header th,
.wc-block-cart-items__header span {
  font-family: var(--vlr-mono) !important;
  font-size: 9.5px !important;
  color: var(--vlr-fog) !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid var(--vlr-border) !important;
  padding-bottom: 12px !important;
}
.wc-block-cart-item__wrap {
  padding: 20px 0 !important;
  border-bottom: 1px solid var(--vlr-border) !important;
}
.wc-block-cart-item__image img {
  border-radius: var(--vlr-r8) !important;
  border: 1px solid var(--vlr-border2) !important;
}
.wc-block-cart-item__title {
  font-family: var(--vlr-disp) !important;
  font-size: 18px !important;
  letter-spacing: 0.3px !important;
  color: var(--vlr-snow) !important;
}
.wc-block-cart-item__title:hover {
  color: var(--vlr-pink2) !important;
}
.wc-block-cart-item__price {
  font-family: var(--vlr-mono) !important;
  font-size: 15px !important;
  color: var(--vlr-snow) !important;
}
.wc-block-cart-item__total {
  font-family: var(--vlr-mono) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--vlr-pink2) !important;
}
.wc-block-cart-item__remove-link {
  color: var(--vlr-fog) !important;
  font-size: 12px !important;
  font-family: var(--vlr-mono) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.wc-block-cart-item__remove-link:hover {
  color: var(--vlr-pink) !important;
  text-shadow: 0 0 8px var(--vlr-pglow) !important;
}

/* Cart Block Quantity Selector overrides to match theme */
.wc-block-components-quantity-selector {
  background: var(--vlr-grey) !important;
  border: 1px solid var(--vlr-border) !important;
  border-radius: var(--vlr-r8) !important;
  padding: 3px !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 40px !important;
  box-sizing: border-box !important;
}
.wc-block-components-quantity-selector__button {
  background: none !important;
  border: none !important;
  color: var(--vlr-snow) !important;
  font-size: 16px !important;
  width: 30px !important;
  height: 30px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: color 0.15s !important;
}
.wc-block-components-quantity-selector__button:hover {
  color: var(--vlr-pink2) !important;
}
.wc-block-components-quantity-selector__input {
  background: none !important;
  border: none !important;
  font-family: var(--vlr-mono) !important;
  font-size: 14px !important;
  color: var(--vlr-snow) !important;
  text-align: center !important;
  width: 36px !important;
  padding: 0 !important;
  outline: none !important;
}

/* Notice Banner */
.wc-block-components-notice-banner {
  background: var(--vlr-grey) !important;
  border: 1px solid var(--vlr-border2) !important;
  border-left: 3px solid var(--vlr-pink) !important;
  border-radius: var(--vlr-r8) !important;
  color: var(--vlr-snow) !important;
}

/* Responsive Checkout Form Fields and Layout fixes */
@media (max-width: 768px) {
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-checkout .form-row {
    grid-column: span 1 !important;
  }
  .vlr-field-row {
    grid-template-columns: 1fr !important;
  }
}

/* Checkout Form Layout Grid Overrides */
form.checkout.vlr-checkout-form {
  display: block !important;
}

/* Fields inside .vlr-field-row must span 1 col, not 2 */
.vlr-field-row .form-row,
.vlr-field-row p.form-row {
  grid-column: span 1 !important;
  margin: 0 !important;
}

/* Ensure checkout container has breathing room below site header */
.vlr-checkout-wrap {
  padding-top: 32px;
  padding-bottom: 80px;
}

/* Hide secondary logo inside checkout head — main header already shows it */
.vlr-checkout-head .vlr-logo {
  display: none;
}
.vlr-checkout-head {
  justify-content: flex-end;
  padding-top: 0;
  margin-bottom: 32px;
}

/* Cart page hero matches shop hero */
.woocommerce-cart .vlr-shop-hero {
  padding: 40px 0 !important;
}


/* ── WOOCOMMERCE AJAX LOADER OVERRIDE ── */
.blockUI.blockOverlay { background: var(--vlr-black) !important; opacity: 0.85 !important; backdrop-filter: blur(4px) !important; z-index: 9999 !important; }
.blockUI.blockOverlay::before { content: ''; position: absolute; top: 50%; left: 50%; width: 40px; height: 40px; margin: -20px 0 0 -20px; border: 3px solid rgba(255, 31, 143, 0.1); border-top-color: var(--vlr-pink); border-radius: 50%; animation: vlrSpin 0.8s linear infinite; z-index: 10000; box-shadow: 0 0 15px rgba(255, 31, 143, 0.3); }
@keyframes vlrSpin { to { transform: rotate(360deg); } }
.woocommerce .blockUI.blockOverlay::after { display: none !important; background-image: none !important; }

/* ── CHECKOUT PAGE: NEWSLETTER FORM RESET ── */
/* WooCommerce checkout adds global button styles that bleed into the footer form.
   Pin input + button to the SAME fixed height so the button never grows taller. */
.woocommerce-checkout .vlr-footer-form,
body.woocommerce-checkout .vlr-footer-form {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
}
.woocommerce-checkout .vlr-footer-form input[type="email"],
body.woocommerce-checkout .vlr-footer-form input[type="email"] {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  box-sizing: border-box !important;
  flex: 1 1 auto !important;
}
.woocommerce-checkout .vlr-footer-form button,
body.woocommerce-checkout .vlr-footer-form button,
.woocommerce-checkout #vlrNewsletterBtn,
body.woocommerce-checkout #vlrNewsletterBtn {
  background: var(--vlr-pink) !important;
  color: white !important;
  border: none !important;
  border-radius: var(--vlr-r4) !important;
  padding: 0 16px !important;
  font-size: 16px !important;
  font-family: inherit !important;
  font-weight: normal !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 48px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: background 0.15s !important;
  box-shadow: none !important;
  outline: none !important;
}

/* ── CHECKOUT: JOIN THE VAULT (Telegram) CARD ── */
.vlr-checkout-community {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  flex-wrap: wrap;
  margin: 0 0 26px; padding: 20px 24px;
  background: linear-gradient(135deg, rgba(166,255,0,0.04) 0%, rgba(255,31,143,0.04) 100%);
  border: 1px solid rgba(166,255,0,0.18); border-radius: 10px;
  position: relative; overflow: hidden;
}
.vlr-checkout-community::before {
  content: ''; position: absolute; top: 0; left: 0; bottom: 0; width: 3px;
  background: linear-gradient(180deg, var(--vlr-green), var(--vlr-pink));
}
.vlr-checkout-community-content { flex: 1 1 280px; }
.vlr-checkout-community-content h3 {
  font-family: var(--vlr-body) !important; font-size: 16px !important; font-weight: 700 !important;
  color: var(--vlr-snow) !important; margin: 0 0 6px !important; letter-spacing: 0.3px !important;
  text-transform: none !important; border: none !important; padding: 0 !important;
}
.vlr-checkout-community-content p {
  font-family: var(--vlr-mono); font-size: 11px; letter-spacing: 0.5px;
  color: var(--vlr-mist); margin: 0 0 8px;
}
.vlr-checkout-community-content ul {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 6px 16px;
}
.vlr-checkout-community-content li {
  position: relative; font-family: var(--vlr-mono); font-size: 11px; letter-spacing: 0.3px;
  color: var(--vlr-text); padding-left: 16px;
}
.vlr-checkout-community-content li::before {
  content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 5px; height: 5px; border-radius: 50%; background: var(--vlr-green);
}
.vlr-checkout-community-cta { flex: 0 0 auto; }
@media (max-width: 600px) {
  .vlr-checkout-community { flex-direction: column; align-items: flex-start; gap: 12px; padding: 16px; }
  .vlr-checkout-community-content { flex: 1 1 auto; }
  .vlr-checkout-community-cta { width: 100%; }
  .vlr-checkout-community-cta .vlr-btn-green { width: 100%; padding: 12px 20px !important; }
}

/* ─── PAYMENT TABS ─────────────────────────────────────────────── */
#vlrPaymentTabs { margin-top: 8px; }

/* Hide the WC radio inputs — they still work for form submit */
.vlr-pay-radio { position: absolute; opacity: 0; pointer-events: none; width: 0; height: 0; }

/* Tab nav — vertical stacked list */
.vlr-pay-tab-nav {
  display: flex; flex-direction: column; gap: 6px;
  margin-bottom: 14px;
}
.vlr-pay-tab-btn {
  display: flex; align-items: center; gap: 12px;
  width: 100%; padding: 13px 16px;
  background: #111; border: 1px solid #222;
  border-radius: 10px; cursor: pointer;
  transition: border-color .18s, background .18s, box-shadow .18s;
  text-align: left;
}
.vlr-pay-tab-btn:hover { border-color: #3a3a3a; background: #161616; }
.vlr-pay-tab-btn.active {
  border-color: var(--vlr-pink);
  background: rgba(255,31,143,0.06);
  box-shadow: 0 0 0 1px rgba(255,31,143,0.15);
}
.vlr-pay-tab-icon {
  font-size: 20px; line-height: 1; flex-shrink: 0;
  width: 36px; height: 36px;
  background: #1a1a1a; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
}
.vlr-pay-tab-btn.active .vlr-pay-tab-icon { background: rgba(255,31,143,0.1); }
.vlr-pay-tab-body { flex: 1; min-width: 0; }
.vlr-pay-tab-label {
  font-family: var(--vlr-mono); font-size: 12px; letter-spacing: 0.5px;
  color: #888; text-transform: uppercase;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  display: block; transition: color .18s;
}
.vlr-pay-tab-btn.active .vlr-pay-tab-label { color: var(--vlr-pink); }
.vlr-pay-tab-btn:hover .vlr-pay-tab-label { color: #bbb; }
.vlr-pay-tab-sub {
  font-size: 11px; color: #555; margin-top: 2px;
  font-family: var(--vlr-mono); display: block; transition: color .18s;
}
.vlr-pay-tab-btn.active .vlr-pay-tab-sub { color: rgba(255,31,143,0.6); }
.vlr-pay-tab-btn:hover .vlr-pay-tab-sub { color: #777; }
.vlr-pay-tab-check {
  width: 18px; height: 18px; flex-shrink: 0; margin-left: auto;
  border-radius: 50%; border: 2px solid #333;
  background: transparent; display: flex; align-items: center; justify-content: center;
  transition: border-color .18s, background .18s;
}
.vlr-pay-tab-btn.active .vlr-pay-tab-check {
  border-color: var(--vlr-pink); background: var(--vlr-pink);
}
.vlr-pay-tab-check svg { display: none; }
.vlr-pay-tab-btn.active .vlr-pay-tab-check svg { display: block; }

/* Tab panels */
.vlr-pay-panel { display: none; }
.vlr-pay-panel.active {
  display: block;
  animation: vlrFadeIn .2s ease;
}
@keyframes vlrFadeIn { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }

/* Manual payment info (Cash App / Venmo / Zelle) */
.vlr-pay-manual-info {
  background: #0f0f0f; border: 1px solid #222; border-radius: 10px;
  padding: 18px; margin-bottom: 4px;
}
.vlr-pay-manual-row {
  display: flex; justify-content: space-between; align-items: flex-start;
  padding: 10px 0; border-bottom: 1px solid #1a1a1a; gap: 12px;
}
.vlr-pay-manual-row:last-of-type { border-bottom: none; padding-bottom: 0; }
.vlr-pay-manual-label {
  font-family: var(--vlr-mono); font-size: 10px; letter-spacing: 1px;
  color: var(--vlr-mist); text-transform: uppercase; flex-shrink: 0;
}
.vlr-pay-manual-value {
  font-family: var(--vlr-mono); font-size: 13px; font-weight: 600;
  color: white; text-align: right; word-break: break-all;
}
.vlr-pay-manual-steps {
  margin-top: 12px; padding-top: 12px; border-top: 1px solid #1a1a1a;
}
.vlr-pay-manual-steps p {
  font-size: 12px; color: var(--vlr-mist); margin: 0 0 7px; line-height: 1.65;
}
.vlr-pay-manual-steps p:last-child { margin-bottom: 0; }

/* Standard WC gateway fields */
.vlr-pay-wc-fields {
  background: #0f0f0f; border: 1px solid #222; border-radius: 10px;
  padding: 16px; margin-bottom: 4px;
}
.vlr-pay-wc-fields p { font-size: 12px; color: var(--vlr-mist); margin: 0; }

/* Standard WC gateway description */
.vlr-pay-gw-desc {
  background: #0f0f0f; border: 1px solid #222; border-radius: 10px;
  padding: 16px 18px; margin-bottom: 4px;
}
.vlr-pay-gw-desc-text { font-size: 12px; color: var(--vlr-mist); line-height: 1.7; margin: 0; }
.vlr-pay-gw-desc-text p { margin: 0 0 6px; }
.vlr-pay-gw-desc-text p:last-child { margin: 0; }
.vlr-pay-gw-simple { font-size: 12px; color: var(--vlr-mist); padding: 12px 0; margin: 0; }

/* Terms and Place Order */
.vlr-terms-wrap {
  margin: 14px 0; padding: 14px 16px;
  background: rgba(255,255,255,0.02); border: 1px solid #2a2a2a; border-radius: 8px;
}
.vlr-terms-wrap label { font-size: 12px; color: var(--vlr-mist); }
.vlr-terms-wrap a { color: var(--vlr-pink); }
.vlr-place-order {
  width: 100% !important; padding: 16px 24px !important;
  font-family: var(--vlr-mono) !important; font-size: 13px !important;
  letter-spacing: 2px !important; display: inline-flex !important;
  align-items: center !important; justify-content: center !important;
  gap: 8px !important; margin-top: 12px !important;
}

/* ─── ROUTE PROTECTION CARD ─────────────────────────────────────── */
.vlr-route-row {
  background: rgba(166,255,0,0.04);
  border: 1px solid rgba(166,255,0,0.2);
  border-radius: 10px;
  padding: 14px 16px;
  margin: 12px 0 4px;
  display: flex; align-items: center; gap: 12px;
}
.vlr-route-label {
  display: flex; align-items: center; gap: 12px;
  cursor: pointer; user-select: none; flex: 1; min-width: 0;
}
.vlr-route-shield {
  width: 38px; height: 38px; flex-shrink: 0;
  background: rgba(166,255,0,0.12); border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: var(--vlr-green);
}
.vlr-route-info { min-width: 0; flex: 1; }
.vlr-route-text {
  font-family: var(--vlr-mono); font-size: 11px; letter-spacing: 0.8px;
  color: var(--vlr-green); text-transform: uppercase; display: block; line-height: 1.4;
}
.vlr-route-sub { font-size: 10px; color: var(--vlr-mist); margin-top: 3px; display: block; line-height: 1.4; }
.vlr-route-fee {
  font-family: var(--vlr-mono); font-size: 11px; color: var(--vlr-green);
  flex-shrink: 0; background: rgba(166,255,0,0.1);
  padding: 3px 7px; border-radius: 4px; border: 1px solid rgba(166,255,0,0.2);
}

/* Custom toggle switch */
.vlr-route-toggle { flex-shrink: 0; cursor: pointer; }
.vlr-route-checkbox { position: absolute; opacity: 0; width: 0; height: 0; }
.vlr-route-toggle-track {
  position: relative;          /* anchor for ::after */
  display: block;
  width: 44px; height: 26px;
  background: #222; border: 1.5px solid #383838;
  border-radius: 13px; cursor: pointer;
  transition: background .22s, border-color .22s;
}
.vlr-route-checkbox:checked + .vlr-route-toggle-track {
  background: var(--vlr-green); border-color: var(--vlr-green);
}
.vlr-route-toggle-track::after {
  content: '';
  position: absolute;
  top: 3px; left: 3px;
  width: 18px; height: 18px;
  background: #555; border-radius: 50%;
  transition: transform .22s cubic-bezier(.4,0,.2,1), background .22s;
}
.vlr-route-checkbox:checked + .vlr-route-toggle-track::after {
  transform: translateX(18px);
  background: #0a0a0a;
}

/* Disclaimer shown when Route is declined */
.vlr-route-disclaimer {
  margin: 8px 0 4px;
  padding: 10px 12px;
  background: rgba(255,31,143,0.05);
  border: 1px solid rgba(255,31,143,0.25);
  border-radius: 8px;
  font-size: 11px;
  line-height: 1.6;
  color: var(--vlr-mist);
}

/* ─── RUO ACKNOWLEDGEMENT CHECKBOX ─────────────────────────────── */
.vlr-ruo-wrap {
  background: rgba(255,31,143,0.04); border: 1px solid rgba(255,31,143,0.2);
  border-radius: 8px; padding: 14px 16px; margin-bottom: 16px;
}
.vlr-ruo-label {
  display: flex; align-items: flex-start; gap: 12px; cursor: pointer;
}
.vlr-ruo-input { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; accent-color: var(--vlr-pink); cursor: pointer; }
.vlr-ruo-text { font-size: 12px; color: var(--vlr-mist); line-height: 1.6; }
.vlr-ruo-text strong { color: white; }

/* ─── DOCUMENTATION STATUS CARD (single product) ───────────────── */
.vlr-doc-status-card {
  background: var(--vlr-grey); border: 1px solid #2a2a2a; border-radius: 10px;
  padding: 16px 20px; margin: 20px 0; display: flex; align-items: center;
  justify-content: space-between; gap: 16px; text-decoration: none;
  transition: border-color .2s;
}
.vlr-doc-status-card:hover { border-color: var(--vlr-green); }
.vlr-doc-status-card-left { display: flex; align-items: center; gap: 12px; }
.vlr-doc-status-card-icon { font-size: 22px; flex-shrink: 0; }
.vlr-doc-status-card-title { font-family: var(--vlr-mono); font-size: 11px; letter-spacing: 1px; color: white; margin-bottom: 4px; }
.vlr-doc-status-card-sub { font-size: 12px; color: var(--vlr-mist); }
.vlr-doc-status-card-arrow { color: var(--vlr-green); font-family: var(--vlr-mono); font-size: 12px; flex-shrink: 0; }

@media (max-width: 600px) {
  .vlr-pay-tab-btn { min-width: 65px; padding: 8px 10px; }
  .vlr-pay-tab-label { font-size: 9px; }
}

/* ─── STORE CREDIT (checkout) ─────────────────────────────────── */
.vlr-credit-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; margin:12px 0; background:rgba(166,255,0,.04); border:1px solid rgba(166,255,0,.2); border-radius:10px; }
.vlr-credit-label { display:flex; align-items:center; gap:10px; cursor:pointer; font-family:var(--vlr-mono); font-size:12px; color:var(--vlr-text); letter-spacing:.5px; }
.vlr-credit-label input { width:16px; height:16px; accent-color:var(--vlr-green); cursor:pointer; }
.vlr-credit-bal { font-family:var(--vlr-mono); font-size:12px; color:var(--vlr-green); }

/* ─── REWARDS & REFERRALS (My Account) ────────────────────────── */
.vlr-rewards-balance { display:flex; flex-direction:column; gap:6px; padding:24px; margin-bottom:28px; background:linear-gradient(135deg, rgba(255,31,143,.08), rgba(166,255,0,.06)); border:1px solid rgba(255,31,143,.25); border-radius:14px; }
.vlr-rewards-balance-label { font-family:var(--vlr-mono); font-size:11px; letter-spacing:1.5px; color:var(--vlr-mist); }
.vlr-rewards-balance-amt { font-family:var(--vlr-display,'Bebas Neue',sans-serif); font-size:42px; line-height:1; color:var(--vlr-green); }
.vlr-rewards h3 { font-family:var(--vlr-mono); font-size:13px; letter-spacing:1px; color:white; margin:0 0 8px; }
.vlr-rewards p { color:var(--vlr-mist); font-size:13px; line-height:1.7; margin:0 0 14px; }
.vlr-rewards-code { display:flex; align-items:center; gap:10px; margin-bottom:20px; }
.vlr-rewards-code code { flex:1; font-family:var(--vlr-mono); font-size:18px; letter-spacing:2px; color:var(--vlr-pink); background:var(--vlr-grey); border:1px dashed var(--vlr-pink); border-radius:8px; padding:12px 16px; text-align:center; }
.vlr-rewards-copy { background:var(--vlr-pink); color:#fff; border:none; border-radius:8px; padding:12px 16px; font-family:var(--vlr-mono); font-size:11px; letter-spacing:1px; cursor:pointer; white-space:nowrap; transition:opacity .15s; }
.vlr-rewards-copy:hover { opacity:.85; }
.vlr-rewards-link label { display:block; font-family:var(--vlr-mono); font-size:10px; letter-spacing:1px; color:var(--vlr-mist); margin-bottom:6px; text-transform:uppercase; }
.vlr-rewards-link-row { display:flex; gap:10px; }
.vlr-rewards-link-row input { flex:1; background:var(--vlr-grey); border:1px solid #2a2a2a; border-radius:8px; padding:12px 14px; color:white; font-size:12px; }
.vlr-rewards-note { margin-top:18px !important; font-size:12px !important; color:#888 !important; }
@media (max-width:600px){ .vlr-rewards-code, .vlr-rewards-link-row { flex-direction:column; } }

/* ─── PRODUCT REVIEWS (single product tab) ────────────────────── */
.vlr-reviews-wrap { color:var(--vlr-text); }
.vlr-reviews-wrap .commentlist, .vlr-reviews-wrap ol.commentlist { list-style:none; margin:0 0 24px; padding:0; }
.vlr-reviews-wrap .commentlist li { margin:0 0 14px; padding:16px; background:var(--vlr-grey); border:1px solid #2a2a2a; border-radius:10px; }
.vlr-reviews-wrap .comment-text { margin:0; }
.vlr-reviews-wrap .meta { font-family:var(--vlr-mono); font-size:11px; color:var(--vlr-mist); margin-bottom:6px; }
.vlr-reviews-wrap .meta strong { color:#fff; }
.vlr-reviews-wrap .woocommerce-review__verified { color:var(--vlr-green); font-size:10px; margin-left:6px; }
.vlr-reviews-wrap .description p { color:var(--vlr-text); font-size:14px; line-height:1.7; margin:6px 0 0; }
.vlr-reviews-wrap .star-rating { color:var(--vlr-pink) !important; margin-bottom:6px; }

.vlr-reviews-wrap #review_form_wrapper { margin-top:20px; padding-top:20px; border-top:1px solid #222; }
.vlr-reviews-wrap #reply-title, .vlr-reviews-wrap .comment-reply-title { font-family:var(--vlr-mono); font-size:13px; letter-spacing:1px; color:#fff; display:block; margin-bottom:12px; }
.vlr-reviews-wrap .comment-form-rating label { display:block; font-family:var(--vlr-mono); font-size:11px; color:var(--vlr-mist); margin-bottom:6px; }
/* Interactive star selector — rebuilt with Unicode (WC icon font was removed) */
.vlr-reviews-wrap p.stars { display:inline-flex; gap:2px; margin:4px 0 0; }
.vlr-reviews-wrap p.stars a {
  position:relative; width:32px; height:32px; text-indent:-9999px;
  display:inline-block; text-decoration:none; cursor:pointer; overflow:hidden;
}
.vlr-reviews-wrap p.stars a::before {
  content:'\2605'; position:absolute; top:0; left:0; width:32px; height:32px;
  text-indent:0; font-size:30px; line-height:32px; text-align:center;
  color:#3a3a3a; transition:color .12s ease;
}
/* hover: fill all, then empty the ones after the hovered star */
.vlr-reviews-wrap p.stars:hover a::before { color:var(--vlr-pink); }
.vlr-reviews-wrap p.stars a:hover ~ a::before { color:#3a3a3a; }
/* selected state (WC JS adds .selected to p.stars and .active to chosen a) */
.vlr-reviews-wrap p.stars.selected a.active::before { color:var(--vlr-pink); }
.vlr-reviews-wrap p.stars.selected a.active ~ a::before { color:#3a3a3a; }
.vlr-reviews-wrap p.stars.selected a:not(.active)::before { color:var(--vlr-pink); }
.vlr-reviews-wrap .comment-form textarea,
.vlr-reviews-wrap .comment-form input[type=text],
.vlr-reviews-wrap .comment-form input[type=email] {
  width:100%; background:var(--vlr-black); border:1px solid #2a2a2a; border-radius:8px;
  padding:12px 14px; color:#fff; font-size:14px; margin-top:4px;
}
.vlr-reviews-wrap .comment-form label { font-family:var(--vlr-mono); font-size:11px; color:var(--vlr-mist); letter-spacing:.5px; }
.vlr-reviews-wrap .comment-form-comment, .vlr-reviews-wrap .comment-form-author, .vlr-reviews-wrap .comment-form-email { margin-bottom:14px; }
.vlr-reviews-wrap .form-submit .submit, .vlr-reviews-wrap #submit {
  background:var(--vlr-pink) !important; color:#fff !important; border:none !important;
  border-radius:8px !important; padding:13px 26px !important; font-family:var(--vlr-mono) !important;
  font-size:12px !important; letter-spacing:1.5px !important; cursor:pointer !important;
}
.vlr-reviews-wrap .woocommerce-verification-required, .vlr-reviews-wrap .woocommerce-info {
  background:rgba(255,31,143,.05); border:1px solid rgba(255,31,143,.2); border-radius:8px;
  padding:14px 16px; color:var(--vlr-mist); font-size:13px;
}

/* ═══ ORDER TRACKING TIMELINE ═══════════════════════════════════ */
.vlr-track {
  background: linear-gradient(160deg, rgba(255,31,143,.05), rgba(166,255,0,.03)), var(--vlr-grey);
  border: 1px solid #2a2a2a; border-radius: 16px; padding: 28px; margin-bottom: 32px;
}
.vlr-track-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:34px; }
.vlr-track-eyebrow { font-family:var(--vlr-mono); font-size:10px; letter-spacing:1.5px; color:var(--vlr-mist); display:block; margin-bottom:4px; }
.vlr-track-head h2 { font-family:var(--vlr-display,'Bebas Neue',sans-serif); font-size:26px; letter-spacing:1px; color:#fff; margin:0; }
.vlr-track-badge { font-family:var(--vlr-mono); font-size:10px; letter-spacing:1px; padding:6px 12px; border-radius:20px; white-space:nowrap; text-transform:uppercase; }
.vlr-track-badge-pending,.vlr-track-badge-on-hold { background:rgba(255,180,0,.12); color:#ffb400; border:1px solid rgba(255,180,0,.3); }
.vlr-track-badge-processing { background:rgba(64,160,255,.12); color:#5ab0ff; border:1px solid rgba(64,160,255,.3); }
.vlr-track-badge-shipped { background:rgba(255,31,143,.12); color:var(--vlr-pink); border:1px solid rgba(255,31,143,.3); }
.vlr-track-badge-completed { background:rgba(166,255,0,.12); color:var(--vlr-green); border:1px solid rgba(166,255,0,.3); }
.vlr-track-badge-cancelled,.vlr-track-badge-refunded,.vlr-track-badge-failed { background:rgba(239,68,68,.12); color:#ef4444; border:1px solid rgba(239,68,68,.3); }

.vlr-track-steps { position:relative; display:flex; justify-content:space-between; gap:8px; }
.vlr-track-line { position:absolute; top:24px; left:8%; right:8%; height:3px; background:#2a2a2a; border-radius:3px; overflow:hidden; }
.vlr-track-line-fill { display:block; height:100%; width:var(--vlr-progress,0%); border-radius:3px;
  background:linear-gradient(90deg, var(--vlr-green), var(--vlr-pink)); background-size:200% 100%;
  transition:width .6s cubic-bezier(.4,0,.2,1); animation:vlrShimmer 2.2s linear infinite; }
@keyframes vlrShimmer { 0%{background-position:0% 0} 100%{background-position:200% 0} }

.vlr-track-step { position:relative; z-index:1; flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; min-width:0; }
.vlr-track-dot { position:relative; width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--vlr-black); border:2px solid #2a2a2a; color:#444; transition:all .3s; }
.vlr-track-dot svg { width:22px; height:22px; }
.vlr-track-step.is-done .vlr-track-dot { border-color:var(--vlr-green); color:var(--vlr-green); background:rgba(166,255,0,.08); }
.vlr-track-step.is-active .vlr-track-dot { border-color:var(--vlr-pink); color:var(--vlr-pink); background:rgba(255,31,143,.1);
  box-shadow:0 0 0 0 rgba(255,31,143,.5); animation:vlrPulse 1.8s infinite; }
@keyframes vlrPulse { 0%{box-shadow:0 0 0 0 rgba(255,31,143,.45)} 70%{box-shadow:0 0 0 12px rgba(255,31,143,0)} 100%{box-shadow:0 0 0 0 rgba(255,31,143,0)} }
.vlr-track-check { position:absolute; bottom:-3px; right:-3px; width:20px; height:20px; border-radius:50%; background:var(--vlr-green); color:#000; display:flex; align-items:center; justify-content:center; border:2px solid var(--vlr-grey); }
.vlr-track-check svg { width:11px; height:11px; }
.vlr-track-label { font-family:var(--vlr-mono); font-size:11px; letter-spacing:.5px; color:#888; margin-top:12px; }
.vlr-track-step.is-done .vlr-track-label, .vlr-track-step.is-active .vlr-track-label { color:#fff; }
.vlr-track-date { font-size:11px; color:var(--vlr-mist); margin-top:3px; }
.vlr-track-step.is-active .vlr-track-date { color:var(--vlr-pink); }

.vlr-track-shipment { display:flex; align-items:center; gap:14px; margin-top:28px; padding:16px 18px; background:var(--vlr-black); border:1px solid rgba(255,31,143,.25); border-radius:12px; }
.vlr-track-shipment-icon { width:42px; height:42px; flex-shrink:0; border-radius:10px; background:rgba(255,31,143,.1); color:var(--vlr-pink); display:flex; align-items:center; justify-content:center; }
.vlr-track-shipment-info { flex:1; min-width:0; }
.vlr-track-shipment-label { display:block; font-family:var(--vlr-mono); font-size:10px; letter-spacing:1px; color:var(--vlr-mist); }
.vlr-track-shipment-val { display:block; color:#fff; font-size:14px; margin-top:2px; }
.vlr-track-num { font-family:var(--vlr-mono); color:var(--vlr-pink); margin-left:8px; }
.vlr-track-shipment-btn { flex-shrink:0; background:var(--vlr-pink); color:#fff !important; text-decoration:none; padding:11px 20px; border-radius:8px; font-family:var(--vlr-mono); font-size:11px; letter-spacing:1px; white-space:nowrap; }
.vlr-track-shipment-btn:hover { opacity:.88; }

.vlr-track-cancelled { display:flex; align-items:center; gap:10px; padding:16px 18px; background:rgba(239,68,68,.06); border:1px solid rgba(239,68,68,.25); border-radius:12px; color:#ef9a9a; font-size:13px; }
.vlr-track-cancelled svg { color:#ef4444; flex-shrink:0; }
.vlr-order-notes-h { font-family:var(--vlr-display,'Bebas Neue',sans-serif); font-size:20px; color:#fff; letter-spacing:1px; margin:24px 0 12px; }

@media (max-width:640px){
  .vlr-track-steps { flex-direction:column; gap:0; }
  .vlr-track-line { left:23px; right:auto; top:24px; bottom:24px; width:3px; height:auto; }
  .vlr-track-line-fill { width:100% !important; height:var(--vlr-progress,0%); background:linear-gradient(180deg,var(--vlr-green),var(--vlr-pink)); }
  .vlr-track-step { flex-direction:row; align-items:center; gap:14px; text-align:left; padding:10px 0; }
  .vlr-track-label { margin-top:0; }
  .vlr-track-date { margin-top:0; margin-left:auto; }
  .vlr-track-shipment { flex-wrap:wrap; }
}

/* ═══ PREMIUM MY-ACCOUNT DASHBOARD & ORDERS ════════════════════ */
.vlr-dash-hello { background:linear-gradient(135deg, rgba(255,31,143,.1), rgba(166,255,0,.06)); border:1px solid rgba(255,31,143,.2); border-radius:14px; padding:24px; margin-bottom:24px; }
.vlr-dash-hello h2 { margin:0 0 6px; font-family:var(--vlr-display,'Bebas Neue',sans-serif); font-size:26px; color:#fff; letter-spacing:1px; }
.vlr-dash-hello p { margin:0; color:var(--vlr-mist); font-size:13px; }
.vlr-dash-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; }
.vlr-dash-card { display:flex; flex-direction:column; gap:8px; padding:18px; background:var(--vlr-black); border:1px solid #2a2a2a; border-radius:12px; text-decoration:none; transition:border-color .2s, transform .15s; }
.vlr-dash-card:hover { border-color:var(--vlr-pink); transform:translateY(-2px); }
.vlr-dash-card-ico { width:38px; height:38px; border-radius:10px; background:rgba(255,31,143,.1); color:var(--vlr-pink); display:flex; align-items:center; justify-content:center; }
.vlr-dash-card-ico svg { width:18px; height:18px; }
.vlr-dash-card-title { font-family:var(--vlr-mono); font-size:12px; color:#fff; letter-spacing:.5px; }
.vlr-dash-card-sub { font-size:11px; color:var(--vlr-mist); }

.woocommerce-orders-table, .woocommerce-orders-table--orders { border:none !important; }
.woocommerce-orders-table thead { display:none; }
.woocommerce-orders-table tbody tr { display:grid; grid-template-columns: 1fr 1fr 1fr 1.2fr auto; align-items:center; gap:12px;
  background:var(--vlr-black) !important; border:1px solid #2a2a2a !important; border-radius:12px !important; padding:14px 18px !important; margin-bottom:12px; }
.woocommerce-orders-table tbody td { background:transparent !important; border:none !important; padding:0 !important; font-size:13px !important; color:var(--vlr-text) !important; }
.woocommerce-orders-table tbody td::before { content:attr(data-title); display:block; font-family:var(--vlr-mono); font-size:9px; letter-spacing:1px; color:var(--vlr-mist); text-transform:uppercase; margin-bottom:5px; }
.woocommerce-orders-table td.woocommerce-orders-table__cell-order-number a { color:var(--vlr-pink) !important; font-family:var(--vlr-mono); }
.woocommerce-orders-table td.woocommerce-orders-table__cell-order-status { font-family:var(--vlr-mono); font-size:11px !important; color:#fff !important; }
.woocommerce-orders-table .woocommerce-button { padding:9px 16px !important; font-size:10px !important; }
@media (max-width:760px){
  .woocommerce-orders-table tbody tr { grid-template-columns:1fr 1fr; }
  .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions { grid-column:1 / -1; }
}

/* ═══ ORDERS CARDS (My Account → Orders) ═══════════════════════ */
.vlr-orders { display:flex; flex-direction:column; gap:14px; }
.vlr-order-card { background:var(--vlr-black); border:1px solid #2a2a2a; border-radius:14px; padding:18px 20px; transition:border-color .2s; }
.vlr-order-card:hover { border-color:#3a3a3a; }
.vlr-order-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; padding-bottom:14px; border-bottom:1px solid #222; }
.vlr-order-id { font-family:var(--vlr-mono); font-size:17px; color:var(--vlr-pink) !important; font-weight:600; letter-spacing:.5px; }
.vlr-order-card-meta { display:flex; gap:32px; flex-wrap:wrap; margin-bottom:18px; }
.vlr-order-card-meta > div { display:flex; flex-direction:column; gap:4px; }
.vlr-order-k { font-family:var(--vlr-mono); font-size:9px; letter-spacing:1px; color:var(--vlr-mist); text-transform:uppercase; }
.vlr-order-v { font-size:14px; color:#fff; }
.vlr-order-card-actions { display:flex; gap:10px; flex-wrap:wrap; }
.vlr-order-view { display:inline-flex; align-items:center; gap:6px; background:var(--vlr-pink); color:#fff !important; text-decoration:none; padding:11px 22px; border-radius:8px; font-family:var(--vlr-mono); font-size:11px; letter-spacing:1px; transition:opacity .15s; }
.vlr-order-view:hover { opacity:.88; }
.vlr-order-pay { display:inline-flex; align-items:center; gap:6px; background:transparent; color:var(--vlr-green) !important; text-decoration:none; padding:11px 22px; border:1px solid rgba(166,255,0,.4); border-radius:8px; font-family:var(--vlr-mono); font-size:11px; letter-spacing:1px; }
.vlr-order-pay:hover { background:rgba(166,255,0,.08); }
.vlr-orders-pagination { display:flex; gap:12px; margin-top:18px; }
.vlr-orders-pagination a { font-family:var(--vlr-mono); font-size:11px; letter-spacing:.5px; color:#fff !important; text-decoration:none; padding:10px 18px; background:var(--vlr-grey); border:1px solid #2a2a2a; border-radius:8px; }
.vlr-orders-pagination a:hover { border-color:var(--vlr-pink); color:var(--vlr-pink) !important; }
.vlr-orders-empty { text-align:center; padding:48px 20px; }
.vlr-orders-empty p { color:var(--vlr-mist); margin-bottom:18px; }
@media (max-width:600px){
  .vlr-order-card-meta { gap:20px; }
  .vlr-order-card-actions { flex-direction:column; }
  .vlr-order-view, .vlr-order-pay { justify-content:center; }
}

/* ─── CUSTOM ORDER DETAILS CUSTOMER ADDRESSES ───────────────── */
.vlr-customer-details-wrap {
  margin-top: 32px;
}
.vlr-addresses-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .vlr-addresses-grid.has-shipping {
    grid-template-columns: 1fr 1fr;
  }
}
.vlr-address-card {
  background: #0d0d0d;
  border: 1px solid var(--vlr-border2);
  border-radius: var(--vlr-r12);
  padding: 24px;
  position: relative;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  transition: border-color 0.25s, box-shadow 0.25s;
}
.vlr-address-card:hover {
  border-color: rgba(255, 31, 143, 0.2);
  box-shadow: 0 4px 24px rgba(255, 31, 143, 0.05);
}
.vlr-address-title {
  font-family: var(--vlr-mono) !important;
  font-size: 11px !important;
  letter-spacing: 1px;
  color: var(--vlr-green) !important;
  text-transform: uppercase;
  margin: 0 0 16px 0 !important;
  display: flex;
  align-items: center;
  gap: 8px;
  border: none !important;
  padding: 0 !important;
}
.vlr-address-text {
  font-family: var(--vlr-mono) !important;
  font-size: 13px;
  line-height: 1.8;
  color: var(--vlr-text);
  font-style: normal;
  margin-bottom: 14px;
}
.vlr-address-text br {
  display: block;
  content: "";
  margin-bottom: 2px;
}
.vlr-address-meta-item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  font-family: var(--vlr-mono) !important;
  font-size: 12px;
  color: var(--vlr-mist);
}
.vlr-address-meta-item .meta-icon {
  font-size: 14px;
  opacity: 0.8;
}
.vlr-address-meta-item .meta-val {
  color: #ffffff;
}



/* ─── PURCHASE TYPE SELECTOR (Single / Half Kit / Kit) ────────── */
.vlr-ptypes { margin: 0 0 20px; }
.vlr-ptype-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:10px; }
.vlr-ptype { position:relative; display:flex; flex-direction:column; align-items:center; gap:3px; padding:16px 10px;
  background:var(--vlr-grey); border:1.5px solid #2a2a2a; border-radius:12px; cursor:pointer; transition:all .15s; text-align:center; }
.vlr-ptype:hover { border-color:#444; }
.vlr-ptype.disabled { opacity: 0.25; cursor: not-allowed !important; pointer-events: none; background: rgba(255,255,255,0.01) !important; border-color: rgba(255,255,255,0.04) !important; }
.vlr-ptype.disabled .vlr-ptype-badge { display: none !important; }
.vlr-ptype.active { border-color:var(--vlr-pink); background:rgba(255,31,143,.06); box-shadow:0 0 0 1px rgba(255,31,143,.2); }
.vlr-ptype-name { font-family:var(--vlr-mono); font-size:12px; letter-spacing:.5px; color:#fff; text-transform:uppercase; }
.vlr-ptype-sub { font-size:10px; color:var(--vlr-mist); font-family:var(--vlr-mono); }
.vlr-ptype-price { font-family:var(--vlr-display,'Bebas Neue',sans-serif); font-size:20px; color:var(--vlr-pink); margin-top:4px; }
.vlr-ptype.active .vlr-ptype-price { color:var(--vlr-pink); }
.vlr-ptype-badge { position:absolute; top:-8px; right:8px; font-family:var(--vlr-mono); font-size:8px; letter-spacing:.5px;
  background:var(--vlr-green); color:#000; padding:2px 6px; border-radius:4px; font-weight:600; }
.vlr-ptype-badge.badge-best { background:var(--vlr-pink); color:#fff; }
@media (max-width:480px){ .vlr-ptype-grid { grid-template-columns:1fr; } .vlr-ptype { flex-direction:row; justify-content:space-between; } .vlr-ptype-price{ margin-top:0; } }

/* ─── ROUTE WIDGET (dark-theme skin) ──────────────────────────── */
#route-checkout-radio, #route-cart-radio {
  display:flex !important; align-items:center; gap:12px; flex-wrap:wrap;
  background:var(--vlr-grey); border:1px solid #2a2a2a;
  border-radius:10px; padding:14px 16px; margin:0 0 16px;
}
#route-checkout-radio #RouteWidget, #route-cart-radio #RouteWidget {
  flex:1; display:flex !important; align-items:center; gap:10px; width:100%;
}
/* readable text on dark */
#route-checkout-radio, #route-checkout-radio *,
#route-cart-radio, #route-cart-radio * {
  color:#fff !important; font-family:var(--vlr-body) !important; line-height:1.4;
}
#route-checkout-radio a, #route-cart-radio a { color:var(--vlr-pink) !important; text-decoration:none; }
/* price → green mono, pushed right */
#route-checkout-radio .routeapp-price, #route-cart-radio .routeapp-price,
#route-checkout-radio [class*="price"], #route-cart-radio [class*="price"],
#route-checkout-radio [class*="Price"], #route-cart-radio [class*="Price"] {
  color:var(--vlr-green) !important; font-family:var(--vlr-mono) !important; font-weight:600; margin-left:auto;
}
/* Route renders its OWN toggle visual. The theme's global checkbox skin was
   also skinning Route's raw <input> into a second (pink) box. Hide the raw
   input + its pseudo so only Route's single control shows. It stays clickable
   (the label toggles it), so functionality is unaffected. */
#route-checkout-radio input[type=checkbox], #route-cart-radio input[type=checkbox], #RouteWidget input[type=checkbox] {
  -webkit-appearance:none !important; appearance:none !important;
  position:absolute !important; opacity:0 !important; width:1px !important; height:1px !important;
  min-width:0 !important; margin:0 !important; padding:0 !important;
  border:0 !important; background:none !important; box-shadow:none !important;
}
#route-checkout-radio input[type=checkbox]::after, #route-checkout-radio input[type=checkbox]::before,
#route-cart-radio input[type=checkbox]::after, #route-cart-radio input[type=checkbox]::before,
#RouteWidget input[type=checkbox]::after, #RouteWidget input[type=checkbox]::before { content:none !important; display:none !important; }
#route-checkout-radio svg, #route-cart-radio svg { opacity:1; vertical-align:middle; }

/* ─── TOTAL moved above Place Order ───────────────────────────── */
.woocommerce-checkout-review-order-table .vlr-os-total { display:none !important; }
.vlr-final-total {
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 0 4px; margin:6px 0 14px; border-top:1px solid #2a2a2a;
}
.vlr-final-total-label { font-family:var(--vlr-mono); font-size:14px; letter-spacing:1.5px; color:#fff; }
.vlr-final-total-amt { font-family:var(--vlr-display,'Bebas Neue',sans-serif); font-size:26px; color:var(--vlr-pink); }
.vlr-final-total-amt .amount, .vlr-final-total-amt bdi { color:var(--vlr-pink) !important; }

/* ─── ROUTE INFO MODAL — dark text on its light background ─────── */
.route-modal, .route-modal *,
.route-modal__container, .route-modal__content, .route-modal__content *,
.route-modal__row-1, .route-modal__row-2, .route-modal__row-3, .route-modal__row-4,
.route-modal h1, .route-modal h2, .route-modal h3, .route-modal h4,
.route-modal p, .route-modal span, .route-modal li, .route-modal div {
  color:#1a1a1a !important; opacity:1 !important;
}
.route-modal h1, .route-modal h2, .route-modal h3, .route-modal h4,
.route-modal b, .route-modal strong, .route-modal__row-4 b { color:#000 !important; font-weight:700 !important; }
.route-modal a { color:#FF1F8F !important; text-decoration:underline; }

/* ─── ROUTE WIDGET — final polish ─────────────────────────────── */
#route-checkout-radio, #route-cart-radio { gap:10px; padding:16px 18px; }
#route-checkout-radio #RouteWidget, #route-cart-radio #RouteWidget { gap:8px; flex-wrap:wrap; }
#route-checkout-radio #RouteWidget > *, #route-cart-radio #RouteWidget > * { line-height:1.4; }

/* ─── PREMIUM MY-ACCOUNT EDIT-ACCOUNT & VIEW-ORDER LAYOUT POLISH ─── */

/* 1. Edit Account Page: Password Change fieldset & input gaps */
.woocommerce-EditAccountForm fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 32px 0 0 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.woocommerce-EditAccountForm fieldset legend {
  font-family: var(--vlr-mono) !important;
  font-size: 11px !important;
  color: var(--vlr-pink) !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  display: block !important;
  width: 100% !important;
  padding: 0 0 10px 0 !important;
  margin-bottom: 24px !important;
  border-bottom: 1px solid var(--vlr-border2) !important;
}
/* Ensure form row inputs on Edit Account page have consistent bottom margins */
.woocommerce-EditAccountForm .form-row {
  margin-bottom: 20px !important;
  padding: 0 !important;
  display: block !important;
  width: 100% !important;
}
/* Remove any default list-style or bullets that might be rendered on .form-row */
.woocommerce-EditAccountForm .form-row::before,
.woocommerce-EditAccountForm .form-row::after {
  content: none !important;
  display: none !important;
}

/* 2. Order Details Page spacing and layout fixes */
.woocommerce-order-details.vlr-order-summary-inner {
  padding: 0 24px !important;
}
/* Add margin around title */
.woocommerce-order-details .woocommerce-order-details__title.vlr-os-title {
  margin-bottom: 24px !important;
  margin-top: 10px !important;
}
/* Add padding inside items container */
.woocommerce-order-details .vlr-os-items .vlr-os-item {
  padding: 14px 20px !important;
}
/* Add padding inside totals container */
.woocommerce-order-details .vlr-os-totals {
  padding: 20px 24px !important;
}
/* Address cards: make sure padding is strictly applied and text does not touch borders */
.vlr-customer-details-wrap {
  padding: 0 24px !important;
}
.vlr-address-card {
  padding: 24px 28px !important;
  background: #0d0d0d !important;
}
.vlr-address-title {
  margin-bottom: 16px !important;
  padding: 0 !important;
}
.vlr-address-text, .vlr-address-meta-item {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* ── Wholesale-kit purchase-mode selector (Single Kit vs Wholesale) ── */
.vlr-kit-mode { margin: 4px 0 18px; }
.vlr-kit-mode-title { display:block; font-family:var(--vlr-mono); font-size:11px; letter-spacing:1px; color:var(--vlr-mist); text-transform:uppercase; margin-bottom:10px; }
.vlr-kit-mode-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.vlr-kit-mode-btn { display:flex; flex-direction:column; gap:4px; text-align:left; padding:14px 16px; cursor:pointer;
  background:var(--vlr-black); border:1px solid #2a2a2a; border-radius:12px; transition:border-color .15s, box-shadow .15s; }
.vlr-kit-mode-btn:hover { border-color:#444; }
.vlr-kit-mode-btn.active { border-color:var(--vlr-pink); box-shadow:0 0 0 1px var(--vlr-pink), 0 0 18px rgba(255,31,143,.18); }
.vlr-kit-mode-name { font-family:var(--vlr-mono); font-size:13px; font-weight:700; color:#fff; letter-spacing:.5px; }
.vlr-kit-mode-sub { font-size:10px; color:var(--vlr-mist); letter-spacing:.3px; }
.vlr-kit-mode-price { font-size:16px; font-weight:800; color:var(--vlr-pink); margin-top:2px; }
.vlr-kit-mode-btn.active .vlr-kit-mode-price { color:var(--vlr-green); }
.vlr-kit-mode-disclaimer { margin:10px 0 0; padding:10px 14px; font-size:12px; line-height:1.5; color:var(--vlr-text,#ccc); background:rgba(166,255,0,.04); border:1px solid rgba(166,255,0,.18); border-radius:8px; }

/* ── Per-variation COA link on the product page ── */
.vlr-sp-coa { margin: 14px 0; display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; }
.vlr-sp-coa-link { display:inline-flex; align-items:center; gap:8px; font-family:var(--vlr-mono); font-size:12px; letter-spacing:.5px;
  color:var(--vlr-green); text-decoration:none; border:1px solid rgba(166,255,0,.35); border-radius:8px; padding:9px 14px; transition:background .15s; }
.vlr-sp-coa-link:hover { background:rgba(166,255,0,.08); }
.vlr-sp-coa-meta { font-family:var(--vlr-mono); font-size:11px; color:var(--vlr-mist); letter-spacing:.3px; }
@media(max-width:600px){ .vlr-kit-mode-grid { grid-template-columns:1fr; } }

/* ── STORE CREDIT — checkout widget + customer dashboard ── */
.vlr-sc-widget{border:1px solid rgba(255,31,143,.35);border-radius:12px;padding:16px 18px;margin:0 0 18px;background:linear-gradient(135deg,rgba(255,31,143,.06),rgba(0,0,0,.2))}
.vlr-sc-w-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.vlr-sc-w-title{font-family:var(--vlr-mono,monospace);font-size:12px;letter-spacing:.12em;color:var(--vlr-pink,#ff1f8f)}
.vlr-sc-w-bal{font-size:13px;color:#cbd5e1}
.vlr-sc-w-input{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}
#vlrScWidget .vlr-sc-w-field{flex:1 1 100%;display:flex;align-items:center;gap:4px;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:0 12px;min-height:44px}
#vlrScWidget .vlr-sc-w-cur{flex:0 0 auto;color:#94a3b8;font-size:15px}
#vlrScWidget .vlr-sc-w-field input{flex:1 1 auto;width:100%;min-width:0;height:auto!important;margin:0!important;padding:11px 2px!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#fff!important;font-size:16px;line-height:1.2;outline:none;-moz-appearance:textfield}
#vlrScWidget .vlr-sc-w-field input:focus{background:transparent!important;border:0!important;box-shadow:none!important}
.vlr-sc-w-input input::-webkit-outer-spin-button,.vlr-sc-w-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.vlr-sc-w-all,.vlr-sc-w-apply{flex:1 1 calc(50% - 4px);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:none;border-radius:10px;padding:0 12px;min-height:44px;font-family:var(--vlr-mono,monospace);font-size:12px;font-weight:600;letter-spacing:.08em;cursor:pointer;transition:filter .15s}
.vlr-sc-w-all:hover,.vlr-sc-w-apply:hover{filter:brightness(1.12)}
.vlr-sc-w-all{background:rgba(255,255,255,.08);color:#e2e8f0}
.vlr-sc-w-apply{background:var(--vlr-pink,#ff1f8f);color:#fff}
.vlr-sc-w-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:12px;color:#94a3b8}
.vlr-sc-w-meta strong{color:#e2e8f0}
.vlr-sc-w-remove{margin-top:10px;background:none;border:none;color:#f87171;font-size:12px;cursor:pointer;text-decoration:underline;padding:0}
.vlr-sc-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:24px}
.vlr-sc-card{border:1px solid var(--vlr-border,rgba(255,255,255,.08));border-radius:12px;padding:16px 18px;background:rgba(255,255,255,.02)}
.vlr-sc-card-hero{background:linear-gradient(135deg,rgba(255,31,143,.12),rgba(0,0,0,.25));border-color:rgba(255,31,143,.35)}
.vlr-sc-card-lbl{display:block;font-family:var(--vlr-mono,monospace);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#94a3b8}
.vlr-sc-card-val{display:block;font-size:26px;font-weight:800;margin-top:6px;color:var(--vlr-green,#39ff14)}
.vlr-sc-card:not(.vlr-sc-card-hero) .vlr-sc-card-val{color:#fff}
.vlr-sc-card-sub{display:block;font-size:11px;color:#94a3b8;margin-top:3px}
.vlr-sc-h3{font-family:var(--vlr-mono,monospace);font-size:13px;letter-spacing:.08em;margin:8px 0 12px}
.vlr-sc-table-wrap{overflow-x:auto}
.vlr-sc-table{width:100%;border-collapse:collapse;font-size:13px}
.vlr-sc-table th{text-align:left;font-family:var(--vlr-mono,monospace);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;padding:8px 10px;border-bottom:1px solid var(--vlr-border,rgba(255,255,255,.08))}
.vlr-sc-table td{padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.05)}
.vlr-sc-pos{color:var(--vlr-green,#39ff14);font-weight:600}
.vlr-sc-neg{color:#f87171;font-weight:600}
.vlr-sc-empty{color:#94a3b8;font-size:13px}
