/*
 * Hallmark · macrostructure: Neon Signal storefront · tone: neon utility
 * anchor hue: electric green · paper #FFFFFF · void #050505 · Arial + Cabin
 * Taste direction: hard rules, corner brackets and one controlled neon accent.
 */
:root {
  --mitwet-void: #050505;
  --mitwet-ink: #111111;
  --mitwet-paper: #ffffff;
  --mitwet-paper-soft: #f6f6f6;
  --mitwet-muted: #777777;
  --mitwet-neon: #00ff00;
  --mitwet-neon-ink: #061106;
  --mitwet-line: rgba(17, 17, 17, .2);
  --mitwet-line-strong: rgba(17, 17, 17, .72);
  --mitwet-line-neon: rgba(0, 255, 0, .9);
  --mitwet-glow: 0 0 16px rgba(0, 255, 0, .38);
  --mitwet-radius: 0;
}

/* The hero is the one full-bleed colour field. Product media is untouched. */
.vd-hero--solid {
  --vd-hero-bg: var(--mitwet-void) !important;
  --vd-hero-ink: var(--mitwet-neon) !important;
  background: var(--mitwet-void) !important;
  color: var(--mitwet-neon) !important;
}
/* This variant is intentionally static. The legacy hero pseudo-elements inherit
   a background fade/zoom animation, so remove them instead of restyling them. */
.home .vd-hero--solid::before,
.home .vd-hero--solid::after {
  content: none !important;
  display: none !important;
  animation: none !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.vd-hero--solid .vd-eyebrow,
.vd-hero--solid h1,
.vd-hero--solid .vd-hero__line { color: var(--mitwet-neon) !important; }
.vd-hero--solid .vd-hero__line { background: var(--mitwet-neon) !important; }
.vd-hero--solid .vd-button { border-color: var(--mitwet-neon) !important; color: var(--mitwet-neon) !important; }
.vd-hero--solid .vd-button:hover,
.vd-hero--solid .vd-button:focus-visible { background: var(--mitwet-neon) !important; color: var(--mitwet-neon-ink) !important; box-shadow: var(--mitwet-glow); }

.villain-demo-site { color: var(--mitwet-ink); background: var(--mitwet-paper); }
.villain-demo-site :focus-visible { outline: 2px solid var(--mitwet-neon) !important; outline-offset: 3px; }
.villain-demo-site a { text-decoration-color: var(--mitwet-line); }

/* Header is a permanent void utility bar; catalogue paper starts beneath it. */
.vd-announcement { background: var(--mitwet-void) !important; color: var(--mitwet-neon) !important; }
.vd-header,
.vd-header.is-scrolled {
  background: rgba(5, 5, 5, .96) !important;
  color: var(--mitwet-neon) !important;
  border-bottom: 1px solid rgba(0, 255, 0, .48) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(120%) !important;
}
.vd-header .vd-logo,
.vd-header .vd-icon,
.vd-header .vd-icon svg,
.vd-header .mitwet-lc-switcher__current { color: var(--mitwet-neon) !important; }
.vd-header .vd-logo img { filter: brightness(0) saturate(100%) invert(74%) sepia(98%) saturate(2015%) hue-rotate(74deg) brightness(108%) contrast(125%) !important; }
.vd-header .vd-icon:hover,
.vd-header .vd-icon:focus-visible,
.vd-header .mitwet-lc-switcher__current:hover,
.vd-header .mitwet-lc-switcher__current:focus-visible { color: var(--mitwet-paper) !important; }
.vd-header .vd-icon--menu,
.vd-header .vd-icon--menu svg {
  color: var(--mitwet-neon) !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}
.vd-header .vd-icon--menu:hover,
.vd-header .vd-icon--menu:focus-visible,
.vd-header .vd-icon--menu:hover svg,
.vd-header .vd-icon--menu:focus-visible svg { color: var(--mitwet-neon) !important; }
.vd-header .vd-icon--menu,
.vd-header .vd-icon--menu {
  color: var(--mitwet-neon) !important;
  opacity: 1 !important;
  filter: none !important;
}
.vd-header .vd-icon--menu .vd-menu-glyph,
.vd-header .vd-icon--menu .vd-menu-glyph * {
  fill: var(--mitwet-neon) !important;
  stroke: var(--mitwet-neon) !important;
  opacity: 1 !important;
}
.vd-header .vd-icon--menu .vd-menu-glyph--mobile {
  width: 22px !important;
  height: 18px !important;
}
.vd-header .vd-icon--menu:hover .vd-menu-glyph,
.vd-header .vd-icon--menu:hover .vd-menu-glyph *,
.vd-header .vd-icon--menu:focus-visible .vd-menu-glyph,
.vd-header .vd-icon--menu:focus-visible .vd-menu-glyph * {
  fill: var(--mitwet-neon) !important;
  stroke: var(--mitwet-neon) !important;
}
.vd-icon--bag span,
.vd-icon--wishlist .vd-wishlist-count { background: var(--mitwet-neon) !important; color: var(--mitwet-neon-ink) !important; }

/* Menus use the deck's void + line treatment. Active tabs are never black. */
.vd-mega,
.vd-drawer,
.vd-drawer--cart,
.vd-drawer--search,
.vd-drawer--menu { background: var(--mitwet-void) !important; color: var(--mitwet-paper) !important; border-color: var(--mitwet-neon) !important; }
.vd-mega__main,
.vd-mega__categories,
.vd-drawer__head,
.vd-cart-drawer__head,
.vd-search-field { border-color: var(--mitwet-line-neon) !important; }
.vd-mega__main > a,
.vd-mega__main > button,
.vd-mega__categories a,
.vd-drawer__nav a,
.vd-drawer__utility a,
.vd-cart-drawer__title strong { color: var(--mitwet-paper) !important; }

/* The drawer switcher ships with an ink-colour override for the old white
   drawer. Restore its signal colour now that the drawer is void black. */
.vd-drawer--menu .mitwet-lc-switcher__current,
.vd-drawer--menu .mitwet-lc-switcher__current span {
  color: var(--mitwet-neon) !important;
}
.vd-drawer--menu .mitwet-lc-switcher__current {
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid rgba(0, 255, 0, .72) !important;
}
.vd-drawer--menu .mitwet-lc-switcher__current:hover,
.vd-drawer--menu .mitwet-lc-switcher__current:focus-visible {
  color: var(--mitwet-paper) !important;
  border-color: var(--mitwet-paper) !important;
  outline: 2px solid var(--mitwet-neon) !important;
  outline-offset: 2px;
}

/* Mobile and desktop navigation drawers are signal surfaces, not white-text
   overlays. Keep every actionable menu label in the one approved neon. */
.vd-drawer--menu .vd-drawer__head strong,
.vd-drawer--menu .vd-drawer__head .vd-icon,
.vd-drawer--menu .vd-drawer__nav a,
.vd-drawer--menu .vd-drawer__utility a,
.vd-drawer--menu .vd-drawer__utility span {
  color: var(--mitwet-neon) !important;
}
.vd-mega__main > a,
.vd-mega__main > button,
.vd-mega__categories a { background: var(--mitwet-void) !important; }
.vd-mega__main .is-active,
.vd-mega__main > *:hover,
.vd-mega__main > *:focus-visible,
.vd-shop-open .vd-mega__main button,
.vd-shop-hover [data-vd-shop-toggle],
.vd-mega:has([data-vd-shop-toggle]:hover) [data-vd-shop-toggle],
.vd-mega:has([data-vd-shop-toggle]:focus-visible) [data-vd-shop-toggle],
.vd-mega:has(.vd-mega__categories:hover) [data-vd-shop-toggle],
.vd-mega:has(.vd-mega__categories:focus-within) [data-vd-shop-toggle],
.vd-mega__categories a:hover,
.vd-mega__categories a:focus-visible { background: var(--mitwet-neon) !important; color: var(--mitwet-neon-ink) !important; outline: 1px solid var(--mitwet-neon) !important; outline-offset: -1px; }
.vd-mega__main > a,
.vd-mega__main > button,
.vd-mega__categories a { border-color: var(--mitwet-line-neon) !important; }
.vd-drawer__nav a:hover,
.vd-drawer__nav a:focus-visible { color: var(--mitwet-neon) !important; }
.vd-scrim { background: rgba(0,0,0,.76) !important; }

/* The compact empty-cart popup intentionally does not fill the viewport.
   Its backdrop must, otherwise the product image reads through the exposed
   area around the popup and makes the cart look transparent. */
.vd-cart-open .vd-scrim {
  background: var(--mitwet-void) !important;
  opacity: 1 !important;
}

/* Catalog: neutral hairlines, neon only for selected/hover states. */
.vds-shop,
.vds-shop .vds-product-card,
.vds-shop .vds-card-media,
.vds-shop .vds-card-media__link { background: var(--mitwet-paper) !important; color: var(--mitwet-ink) !important; }
.vds-filter-trigger,
.vds-sortbox__trigger { border-color: var(--mitwet-neon) !important; color: var(--mitwet-neon) !important; background: var(--mitwet-void) !important; }
.vds-filter-trigger:hover,
.vds-filter-trigger:focus-visible,
.vds-sortbox__trigger:hover,
.vds-sortbox__trigger:focus-visible { border-color: var(--mitwet-neon) !important; background: var(--mitwet-neon) !important; color: var(--mitwet-neon-ink) !important; }
.vds-filter-trigger__icon,
.vds-filter-trigger__icon::before,
.vds-filter-trigger__icon::after { border-color: currentColor !important; background: currentColor !important; }
.vds-products-grid > li.product,
.vds-products-grid > li.vds-product-cell { border-color: var(--mitwet-line-strong) !important; }
.vds-product-cell:hover,
.vds-product-cell:focus-within { border-color: var(--mitwet-neon) !important; }
.vds-card-wish,
.vds-quickadd-trigger,
.vds-gallery-controls button { border-color: var(--mitwet-line) !important; background: var(--mitwet-paper) !important; color: var(--mitwet-ink) !important; }
.vds-card-wish:hover,
.vds-card-wish:focus-visible,
.vds-card-wish.is-active,
.vds-quickadd-trigger:hover,
.vds-quickadd-trigger:focus-visible,
.vds-gallery-controls button:hover { border-color: var(--mitwet-neon) !important; background: var(--mitwet-neon) !important; color: var(--mitwet-neon-ink) !important; box-shadow: var(--mitwet-glow); }
.vds-quickadd,
.vds-quickadd__close,
.vds-quickadd table.variations select { border-color: var(--mitwet-line-strong) !important; }
.vds-quickadd__submit,
.vds-quickadd .single_add_to_cart_button { background: var(--mitwet-neon) !important; border-color: var(--mitwet-neon) !important; color: var(--mitwet-neon-ink) !important; }
.vds-sortbox__menu { border-color: var(--mitwet-neon) !important; background: var(--mitwet-void) !important; }
.vds-sortbox__option { border-color: rgba(0,255,0,.42) !important; background: var(--mitwet-void) !important; color: var(--mitwet-neon) !important; }
.vds-sortbox__option:hover,
.vds-sortbox__option:focus,
.vds-sortbox__option.is-active { background: var(--mitwet-neon) !important; color: var(--mitwet-neon-ink) !important; }
.vds-filter-layer { color: var(--mitwet-neon) !important; }
.vds-filter-backdrop { background: rgba(5,5,5,.9) !important; }
.vds-filters,
.vds-filters__head { background: var(--mitwet-void) !important; color: var(--mitwet-neon) !important; }
.vds-filter-section,
.vds-filters__head,
.vds-price-inputs label { border-color: rgba(0,255,0,.42) !important; }
.vds-filters__close::before,
.vds-filters__close::after { background: var(--mitwet-neon) !important; }
.vds-filter-section__toggle,
.vds-filter-section__toggle small,
.vds-price-note,
.vds-checklist label,
.vds-checklist small,
.vds-price-inputs label,
.vds-price-inputs input { color: var(--mitwet-neon) !important; }
.vds-price-inputs label,
.vds-price-inputs input { background: var(--mitwet-void) !important; }
.vds-filter-section__toggle:hover,
.vds-filter-section__toggle:focus-visible { background: rgba(0,255,0,.1) !important; color: var(--mitwet-neon) !important; outline: 2px solid var(--mitwet-neon) !important; outline-offset: -2px; }
.vds-price-range::before,
.vds-price-range span { background: var(--mitwet-neon) !important; }
.vds-price-range input[type=range]::-webkit-slider-thumb,
.vds-price-range input[type=range]::-moz-range-thumb { border-color: var(--mitwet-neon) !important; background: var(--mitwet-void) !important; }
.vds-filter-actions button { border: 1px solid var(--mitwet-neon) !important; background: var(--mitwet-neon) !important; color: var(--mitwet-neon-ink) !important; }
.vds-filter-actions a { border: 1px solid var(--mitwet-neon) !important; background: var(--mitwet-void) !important; color: var(--mitwet-neon) !important; }
.vds-filter-actions button:focus-visible,
.vds-filter-actions a:focus-visible { outline: 2px solid var(--mitwet-paper) !important; outline-offset: 2px; }

/* Mobile filter and sort form one neon utility surface over the white catalog. */
@media (max-width: 1024px) {
  .vds-mobilebar { border-color: var(--mitwet-neon) !important; background: var(--mitwet-void) !important; }
  .vds-mobilebar button,
  .vds-mobilebar button + button { border-color: var(--mitwet-neon) !important; background: var(--mitwet-void) !important; color: var(--mitwet-neon) !important; }
  .vds-mobilebar button:hover,
  .vds-mobilebar button:focus-visible { background: var(--mitwet-neon) !important; color: var(--mitwet-neon-ink) !important; outline: 0 !important; }
  .vds-mobile-sort-backdrop { background: rgba(5,5,5,.9) !important; }
  .vds-mobile-sort-sheet,
  .vds-mobile-sort-head { border-color: rgba(0,255,0,.42) !important; background: var(--mitwet-void) !important; color: var(--mitwet-neon) !important; }
  .vds-mobile-sort-head button { color: var(--mitwet-neon) !important; }
  .vds-mobile-sort-select { border-color: var(--mitwet-neon) !important; background: var(--mitwet-void) !important; color: var(--mitwet-neon) !important; }
}

/* Shared purchase controls. */
.vd-button,
.vd-native-purchase .single_add_to_cart_button,
.vd-native-wishlist,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .wc-proceed-to-checkout a.checkout-button { border-color: var(--mitwet-ink) !important; background: var(--mitwet-paper) !important; color: var(--mitwet-ink) !important; border-radius: var(--mitwet-radius) !important; }
.vd-button:hover,
.vd-button:focus-visible,
.vd-native-purchase .single_add_to_cart_button:not(.disabled),
.vd-native-wishlist:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover { border-color: var(--mitwet-neon) !important; background: var(--mitwet-neon) !important; color: var(--mitwet-neon-ink) !important; box-shadow: var(--mitwet-glow); }

/* Product detail uses paper media and neon purchase states. */
.vdp-product { --vdp-text: var(--mitwet-ink) !important; --vdp-muted: var(--mitwet-muted) !important; --vdp-border: var(--mitwet-line) !important; color: var(--mitwet-ink) !important; }
.vdp-sizegrid,
.vdp-accordions,
.vdp-accordions details,
.vdp-related__grid,
.vdp-related__card { border-color: var(--mitwet-line) !important; }
.vdp-sizegrid button,
.vdp-product select,
.vdp-product .vdp-select,
.vdp-product .variations select { border-color: var(--mitwet-line-strong) !important; background: var(--mitwet-paper) !important; color: var(--mitwet-ink) !important; }
.vdp-sizegrid button:hover,
.vdp-sizegrid button.is-active,
.vdp-sizegrid button[aria-pressed="true"],
.vdp-product .vdp-select:focus,
.vdp-product .variations select:focus { border-color: var(--mitwet-neon) !important; background: var(--mitwet-neon) !important; color: var(--mitwet-neon-ink) !important; }
.vdp-product .single_add_to_cart_button,
.vdp-native-purchase .single_add_to_cart_button:not(.disabled) { background: var(--mitwet-neon) !important; border-color: var(--mitwet-neon) !important; color: var(--mitwet-neon-ink) !important; }
.vdp-wishlist:hover,
.vdp-wishlist.is-active { color: var(--mitwet-neon-ink) !important; background: var(--mitwet-neon) !important; }
.vdp-gallery__arrow,
.vdp-gallery__dot { border-color: var(--mitwet-line) !important; color: var(--mitwet-ink) !important; }
.vdp-gallery__dot.is-active { background: var(--mitwet-neon) !important; border-color: var(--mitwet-neon) !important; }

/* Woo surfaces: black is typography only, never an interactive fill. */
.woocommerce-cart .shop_table,
.woocommerce-cart .shop_table th,
.woocommerce-cart .shop_table td,
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart_totals table,
.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td,
.woocommerce-checkout form.checkout,
.woocommerce-checkout #order_review { border-color: var(--mitwet-line) !important; }
.woocommerce-cart .coupon button,
.woocommerce-cart .actions button,
.woocommerce-cart .cart_totals a.checkout-button,
.woocommerce-checkout #place_order { background: var(--mitwet-neon) !important; border-color: var(--mitwet-neon) !important; color: var(--mitwet-neon-ink) !important; }
.woocommerce-cart .coupon button:hover,
.woocommerce-cart .actions button:hover,
.woocommerce-cart .cart_totals a.checkout-button:hover,
.woocommerce-checkout #place_order:hover { box-shadow: var(--mitwet-glow); }

/* WooCommerce notices are a compact signal system, not generic coloured bars.
   One void surface, one electric-green status cue, and Woo's native actions. */
.woocommerce .woocommerce-notices-wrapper,
.woocommerce-notices-wrapper,
.woocommerce .woocommerce-NoticeGroup { margin: 0 0 22px; }
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce ul.woocommerce-error,
.woocommerce .woocommerce-Message,
.woocommerce .woocommerce-password-strength,
.woocommerce .wc-block-components-notice-banner {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 66px;
  margin: 0 0 14px !important;
  padding: 15px 18px 15px 52px !important;
  border: 1px solid var(--mitwet-neon) !important;
  border-radius: var(--mitwet-radius) !important;
  background: var(--mitwet-void) !important;
  color: var(--mitwet-paper) !important;
  box-shadow: 7px 7px 0 rgba(0, 255, 0, .14) !important;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  list-style: none !important;
}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before,
.woocommerce ul.woocommerce-error::before,
.woocommerce .woocommerce-Message::before,
.woocommerce .woocommerce-password-strength::before {
  top: 50% !important;
  left: 18px !important;
  width: 18px;
  height: 18px;
  margin: 0 !important;
  transform: translateY(-50%);
  color: var(--mitwet-neon) !important;
  font-size: 18px !important;
  line-height: 18px !important;
}
.woocommerce .woocommerce-error,
.woocommerce ul.woocommerce-error { align-items: flex-start; }
.woocommerce .woocommerce-error::before,
.woocommerce ul.woocommerce-error::before { top: 22px !important; transform: none; }
.woocommerce .woocommerce-error li,
.woocommerce ul.woocommerce-error li { margin: 0; color: inherit; }
.woocommerce .woocommerce-message a:not(.button),
.woocommerce .woocommerce-info a:not(.button),
.woocommerce .woocommerce-error a:not(.button),
.woocommerce .woocommerce-Message a:not(.button),
.woocommerce .woocommerce-password-strength a:not(.button) {
  color: var(--mitwet-neon) !important;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: currentColor !important;
  text-underline-offset: 3px;
}
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-error .button,
.woocommerce .woocommerce-Message .button,
.woocommerce .wc-block-components-notice-banner .wc-block-components-button {
  order: 2;
  flex: 0 0 auto;
  min-height: 40px;
  margin: 0 0 0 auto !important;
  padding: 0 14px !important;
  border: 1px solid var(--mitwet-neon) !important;
  border-radius: var(--mitwet-radius) !important;
  background: var(--mitwet-neon) !important;
  color: var(--mitwet-neon-ink) !important;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 38px;
  text-shadow: none !important;
  text-transform: uppercase;
}
.woocommerce .woocommerce-message .button:hover,
.woocommerce .woocommerce-message .button:focus-visible,
.woocommerce .woocommerce-info .button:hover,
.woocommerce .woocommerce-info .button:focus-visible,
.woocommerce .woocommerce-error .button:hover,
.woocommerce .woocommerce-error .button:focus-visible,
.woocommerce .woocommerce-Message .button:hover,
.woocommerce .woocommerce-Message .button:focus-visible,
.woocommerce .wc-block-components-notice-banner .wc-block-components-button:hover,
.woocommerce .wc-block-components-notice-banner .wc-block-components-button:focus-visible {
  background: var(--mitwet-paper) !important;
  border-color: var(--mitwet-paper) !important;
  box-shadow: none !important;
  color: var(--mitwet-ink) !important;
}
.woocommerce .woocommerce-message .restore-item { order: 0; margin-left: 0; }
.woocommerce .wc-block-components-notice-banner {
  padding-left: 18px !important;
  border-left-color: var(--mitwet-neon) !important;
}
.woocommerce .wc-block-components-notice-banner__content { color: inherit !important; }
.woocommerce .wc-block-components-notice-banner svg { fill: var(--mitwet-neon) !important; }
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select,
.woocommerce form .form-row.woocommerce-invalid textarea {
  border-color: var(--mitwet-neon) !important;
  box-shadow: 0 0 0 1px var(--mitwet-neon) !important;
}
@media (max-width: 600px) {
  .woocommerce .woocommerce-message,
  .woocommerce .woocommerce-info,
  .woocommerce .woocommerce-error,
  .woocommerce ul.woocommerce-error,
  .woocommerce .woocommerce-Message,
  .woocommerce .woocommerce-password-strength,
  .woocommerce .wc-block-components-notice-banner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    min-height: 0;
    padding: 15px 16px 15px 46px !important;
  }
  .woocommerce .woocommerce-message::before,
  .woocommerce .woocommerce-info::before,
  .woocommerce .woocommerce-error::before,
  .woocommerce ul.woocommerce-error::before,
  .woocommerce .woocommerce-Message::before,
  .woocommerce .woocommerce-password-strength::before { left: 16px !important; top: 19px !important; transform: none; }
  .woocommerce .woocommerce-message .button,
  .woocommerce .woocommerce-info .button,
  .woocommerce .woocommerce-error .button,
  .woocommerce .woocommerce-Message .button,
  .woocommerce .wc-block-components-notice-banner .wc-block-components-button {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 !important;
    justify-self: stretch;
    text-align: center;
  }
}

/* Native WooCommerce BACS success details. The QR is merchant-owned media;
   order status and account data remain the gateway's original output. */
.woocommerce-order-received .mitwet-bacs-qr { max-width: 420px; margin: 28px 0; padding: 22px; border: 1px solid var(--mitwet-void); background: var(--mitwet-void); color: var(--mitwet-paper); }
.woocommerce-order-received .mitwet-bacs-qr h2 { margin: 0 0 10px; color: var(--mitwet-neon); font-size: 18px; letter-spacing: -.02em; }
.woocommerce-order-received .mitwet-bacs-qr p { margin: 0 0 16px; color: var(--mitwet-paper); font-size: 13px; line-height: 1.55; }
.woocommerce-order-received .mitwet-bacs-qr img { display: block; width: min(100%, 300px); height: auto; background: var(--mitwet-paper); border: 6px solid var(--mitwet-paper); }

/* MITWET's future PayPal gateway keeps WooCommerce's native checkout flow.
   The actual PayPal approval surface is never recoloured, per PayPal branding. */
.woocommerce-checkout #payment .payment_method_mitwet_paypal_usd { border-top: 1px solid var(--mitwet-neon); background: var(--mitwet-void); color: var(--mitwet-paper); }
.woocommerce-checkout #payment .payment_method_mitwet_paypal_usd > label { color: var(--mitwet-neon); font-weight: 700; }
.woocommerce-checkout #payment .payment_method_mitwet_paypal_usd .payment_box { border-left: 2px solid var(--mitwet-neon); background: var(--mitwet-void); color: var(--mitwet-paper); }
.woocommerce-checkout #payment .payment_method_mitwet_paypal_usd .payment_box::before { border-bottom-color: var(--mitwet-void); }
.woocommerce input[type="radio"],
.woocommerce input[type="checkbox"] { accent-color: var(--mitwet-neon); }

/* Mini-cart and footer inherit the same void/paper split. */
.vd-drawer--cart .vd-cart-drawer__head,
.vd-mini-cart__footer { border-color: var(--mitwet-line-neon) !important; }
.vd-mini-cart__quantity-badge { background: var(--mitwet-neon) !important; color: var(--mitwet-neon-ink) !important; }
.vd-drawer--cart .woocommerce-mini-cart__buttons a { background: var(--mitwet-neon) !important; color: var(--mitwet-neon-ink) !important; }
.vd-drawer--cart .woocommerce-mini-cart__buttons a:hover { box-shadow: var(--mitwet-glow); }
.vd-footer { --mf-text: var(--mitwet-ink); --mf-soft: var(--mitwet-muted); --mf-faint: var(--mitwet-muted); --mf-line: var(--mitwet-line); --mf-line-strong: var(--mitwet-line-strong); --mf-link-line: var(--mitwet-line-neon); --mf-input-line: var(--mitwet-line-strong); border-top-color: var(--mitwet-line-strong) !important; }
.vd-newsletter { border-bottom-color: var(--mitwet-neon) !important; }

@media (max-width: 767px) {
  .vds-products-grid > li.product,
  .vds-products-grid > li.vds-product-cell { border-color: var(--mitwet-line-strong) !important; }
  .vds-product-cell:active { border-color: var(--mitwet-neon) !important; }
  .vd-header,
  .vd-header.is-scrolled { box-shadow: 0 4px 0 rgba(0,0,0,.035) !important; }
}

/* Homepage header sits over the void hero, so its menu glyph must be bright. */
.home .vd-header:not(.is-scrolled) .vd-icon--menu,
.home .vd-header:not(.is-scrolled) .vd-icon--menu svg,
.home .vd-header:not(.is-scrolled) .vd-icon--menu .vd-menu-glyph,
.home .vd-header:not(.is-scrolled) .vd-icon--menu .vd-menu-glyph * {
  color: var(--mitwet-neon) !important;
  fill: var(--mitwet-neon) !important;
  stroke: var(--mitwet-neon) !important;
  opacity: 1 !important;
}
.home .vd-header:not(.is-scrolled) .vd-icon--menu:hover,
.home .vd-header:not(.is-scrolled) .vd-icon--menu:focus-visible,
.home .vd-header:not(.is-scrolled) .vd-icon--menu:hover .vd-menu-glyph,
.home .vd-header:not(.is-scrolled) .vd-icon--menu:focus-visible .vd-menu-glyph,
.home .vd-header:not(.is-scrolled) .vd-icon--menu:hover .vd-menu-glyph *,
.home .vd-header:not(.is-scrolled) .vd-icon--menu:focus-visible .vd-menu-glyph * {
  color: var(--mitwet-paper) !important;
  fill: var(--mitwet-paper) !important;
  stroke: var(--mitwet-paper) !important;
}

@media (prefers-reduced-motion: reduce) {
  .vd-button:hover,
  .vds-card-wish:hover,
  .vds-quickadd-trigger:hover { box-shadow: none; }
}

/* Compact hero/slider: keep the stage inside the first viewport. */
.home .vd-hero,
.home .vd-hero--solid {
  height: calc(100dvh - 100px) !important;
  min-height: 440px !important;
  max-height: 760px !important;
  aspect-ratio: auto !important;
}
.home .vd-hero__slides,
.home .vd-hero__slides span,
.home .vd-hero__overlay { height: 100% !important; }

/* The compact hero must end exactly where the void footer begins. The base
   theme's global 100vh minimum on .vd-shell otherwise creates a white band. */
.home.villain-demo-site,
.home .vd-shell,
.home .elementor-12,
.home .elementor-element-53f81ff8 {
  background: var(--mitwet-void) !important;
}
.home .vd-shell { min-height: 0 !important; }

/* Full-bleed sale stage. Match the supplied PNG's exact green at its edges. */
.home .vd-hero.vd-hero--has-promo {
  --vd-promo-green: #24ff0f;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 24px;
  height: auto !important;
  min-height: 100svh !important;
  max-height: none !important;
  padding: 92px 0 24px;
  background: var(--vd-promo-green) !important;
}
.home .vd-hero--has-promo .vd-hero__promo {
  position: relative;
  z-index: 5;
  inset: auto;
  display: flex;
  justify-content: center;
  width: 100%;
  flex: 0 0 auto;
  pointer-events: none;
}
.home .vd-hero--has-promo .vd-hero__promo-image {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: none;
  height: min(1000px, calc(100svh - 220px));
  aspect-ratio: 3 / 4;
  object-fit: contain;
}
.home .vd-hero--has-promo .vd-hero__content {
  position: relative;
  z-index: 6;
  inset: auto;
  width: 100%;
  padding: 0 16px;
  transform: none;
}
.home .vd-hero--has-promo .vd-button {
  background: var(--mitwet-void) !important;
  border-color: var(--mitwet-void) !important;
  color: var(--vd-promo-green) !important;
}
.home .vd-hero--has-promo .vd-button:hover,
.home .vd-hero--has-promo .vd-button:focus-visible {
  background: var(--mitwet-paper) !important;
  color: var(--mitwet-void) !important;
  box-shadow: none;
}

@media (max-width: 767px) {
  .home .vd-hero.vd-hero--has-promo {
    padding-top: 90px;
  }
  .home .vd-hero--has-promo .vd-hero__promo-image {
    width: 100%;
    height: auto;
  }
}

/* Footer follows the reference deck: void surface, neon type and rules. */
.vd-footer {
  background: var(--mitwet-void) !important;
  color: var(--mitwet-neon) !important;
  border-top-color: var(--mitwet-neon) !important;
}
.vd-footer h2,
.vd-footer a,
.vd-footer p,
.vd-footer__brand,
.vd-footer__copyright,
.vd-footer input,
.vd-footer button { color: var(--mitwet-neon) !important; }
.vd-footer a:hover,
.vd-footer a:focus-visible,
.vd-footer button:hover,
.vd-footer button:focus-visible { color: var(--mitwet-paper) !important; }
.vd-newsletter { border-bottom-color: var(--mitwet-neon) !important; }
.vd-newsletter input::placeholder { color: rgba(0,255,0,.68) !important; }

/* Footer contrast: the supplied logo asset is dark, so invert it on void. */
.vd-footer .mael-footer-logo img,
.vd-footer__logo img { filter: brightness(0) invert(1) !important; }
.vd-footer .mael-footer-form input[type="email"],
.vd-footer .mael-footer-cf7 input[type="email"] {
  color: var(--mitwet-paper) !important;
  border-bottom-color: var(--mitwet-line-neon) !important;
  caret-color: var(--mitwet-neon) !important;
}
.vd-footer .mael-footer-form input[type="email"]::placeholder,
.vd-footer .mael-footer-cf7 input[type="email"]::placeholder {
  color: rgba(255,255,255,.76) !important;
  opacity: 1 !important;
}
.vd-footer .mael-newsletter-submit { color: var(--mitwet-neon) !important; }
.vd-footer .mael-footer-copy,
.vd-footer .mael-footer-credit,
.vd-footer .mael-footer-bottom__inner span { color: var(--mitwet-neon) !important; }

/* Restore the neon hover signal across all text links and controls. */
.villain-demo-site a:hover,
.villain-demo-site a:focus-visible,
.villain-demo-site button:hover,
.villain-demo-site button:focus-visible { text-decoration-color: var(--mitwet-neon) !important; }
.vd-header .vd-icon:hover,
.vd-header .vd-icon:focus-visible,
.vd-header .vd-icon:hover svg,
.vd-header .vd-icon:focus-visible svg { color: var(--mitwet-neon) !important; stroke: var(--mitwet-neon) !important; }

@media (max-width: 767px) {
  .home .vd-hero,
  .home .vd-hero--solid {
    height: calc(100svh - 107px) !important;
    min-height: 440px !important;
    max-height: 680px !important;
  }
}
